Midi Rekorder mit MMC/SD-Karte

Aus Uc-wiki

Wechseln zu: Navigation, Suche

von Benutzer:Dersimon

Bild:Foto.jpg

Inhaltsverzeichnis

Features

  • Aufnahme, Wiedergabe, Vor- und Rückspulen
  • LCD, Zeit- und Sektoranzeige
  • Speichert bis zu 65536 "Files" auf MMC/SD-Karte (optimale Kartengröße 16 MB)
  • Maximale unterstützte Kapazität der Karte 8GB (!)
  • Beliebige MMC/SD-Karten verwendbar, allerdings muss sie mit Windows formatiert werden und dann muss ein leeres File mit etwa der Kapazität der Karte (unter Eigenschaften im Windows-Explorer wird der freie Speicher in Bytes angegeben) drauf kopiert werden. (Das kann irgendeine Datei sein, die halt gerade noch draufpasst.) Erst dann sollte man sie in Mr.MIDI stecken :-) Sollte die Karte größer als 16 MB sein, kann man die Dateigröße so berechnen: 512 * 256 * Anzahl "Files", dann allerdings nicht in Mr.MIDI zu große Filenummern verwenden! Sonst geht es auf der Karte so durcheinander, dass Windows sie neu formatieren muss...
  • PC-Tool zum Umwandeln von/in PC-MIDI-Dateien (nur FORMAT 0)

Hardware

  • ATmega8 mit internem RC-Takt 1 MHz
  • MIDI Interface mit Optokoppler 6N138
  • LCD Display 24*2 (Standardcontroller)
  • 7 Tasten und 1 Anschalter
  • Spannungsregler 5V und 3,3V
  • MMC/SD-Slot

Kompilieren

  • In AVR Studio 4 Projekt laden, alle *.asm Dateien hinzufügen
  • Build (F7) drücken
  • Hex-Code in Controller laden
  • Fertig!

Bekannte Probleme

  • Medion-SD-Karten gehen nicht.
  • PC-Tool hat eine Macke beim Parsen von Mididateien (Wurde behoben, neue Version hier im Artikel zum Download)

Foto

Auf dem Foto sieht man mein Endgerät im hübschen Acrylgehäuse. Rechts sind die 2 MIDI-Kabel zum Keyboard.

Schaltplan

Schaltplan des MIDI-Rekorders
vergrößern
Schaltplan des MIDI-Rekorders


Download des Projekts (inkl. Code, Schaltplan)

Zip.zip

Neuer Konverter (Bugfix): MrMIDIConverter.zip


Mr.MIDI 2 ist da !

Endlich ist es soweit: Der neue Mr.Midi arbeitet mit dem echten Mididatei-Format (Format 0). Aufnahme und Wiedergabe sind so einfach wie bei einem MP3-Player. Und dennoch bleibt die Hardware gleich! Das heißt, alle Nachbauer brauchen nur den neuen Code flashen und haben den neuen Mr.Midi 2! Bild:Foto_MrMidi2.jpg

Features

  • Echte Mididateien auf SD-Karte (Format 0) können abgespielt werden
  • Bis zu 255 Dateien werden unterstützt
  • Aufzeichnung erfolgt ebenfalls im Midi-Format 0 (jedoch ohne FAT-Eintrag)
  • Löschen von Dateien ist möglich (auch ohne FAT-Aktualisierung)
  • Großer Empfangspuffer und 8MHz-Takt für hohe Performance
  • Lyrics werden im Display angezeigt (Coole Sache!)
  • Tempo in +/-9 Schritten einstellbar (vorbereitet auf stufenlose Analogknopf-Einstellung, Hardwareänderung erforderlich)
  • (Bootloader über MIDI (seriell<->Midi-Wandler erforderlich) von Peter Dannegger) :: Platz langt nimmer :-(
  • Transponierfunktion
  • Muting ausgewählter Midi-Channels
  • Continuous Play (Wiedergabe aller Dateien hintereinander)
  • Menü für Einstellung Schlagzeugkanal, Lyrikanzeige und Such-Startsektor SD-Karte
  • Nichtflüchtige Parameter werden im EEPROM gespeichert

Download Mr.MIDI 2

MrMidi2.zip

Änderungen seit Initialrevision

  • Parameter im EEPROM
  • Menü
  • Transponierfunktion
  • Schnelleres MMC Interface (2MHz)
  • MMC_init angepasst, um noch mehr Karten zu unterstützen
  • Lyric-Anzeige
  • Bootloader über MIDI
  • Card-Scan ist jetzt intelligenter (FAT16/FAT32-Karten werden unterstützt)
  • verschiedene Bugfixes

Schaltplan

Schaltplan des MIDI-Rekorders 2
vergrößern
Schaltplan des MIDI-Rekorders 2


Kurzanleitung

  • SD-Karte formatieren (FAT16)
  • eventuell Mididateien in Format 0 konvertieren und auf die Karte kopieren
  • Karte einsetzen
  • MrMidi2 anschalten (Scannt die Karte und zeigt Filenummern an)
  • Wiedergabe
    • Datei mit UP/DOWN auswählen
    • PLAY zum Abspielen und Pause machen
    • STOP zum Beenden
    • <</>> um Tempo zu ändern
    • UP/DOWN zum Transponieren
  • Aufnahme
    • Aufnahmen werden immer hinter bereits vorhandene Dateien geschrieben (allerdings ohne FAT-Eintrag->nicht im Windows-Explorer sichtbar :-(
    • REC drücken (Aufnahmebereit)
    • Spielen (Aufnahme beginnt automatisch)
    • erneuter Druck auf REC verwirft die Aufnahme
    • STOP speichert die Aufnahme
  • Letzte Datei löschen
    • << und >> gleichzeitig drücken (nur im STOP-Mode)
  • Menü
    • UP und DOWN gleichzeitig drücken (nur im STOP-Mode; geht auch, wenn keine SD-Karte eingelegt ist)
    • UP/DOWN zur Auswahl eines Parameters
    • <</>> zum Ändern
    • Menüpunkte:
      • 1. Schlagzeugkanal: Default 10 (Das Schlagzeug wird nicht transponiert)
      • 2. Lyrics anzeigen: Default 1 (1 = Lyrics werden angezeigt)
      • 3. Startsektor der MMC-Karte: Default 0x0210 (Falls du nur FAT32 auf MMC-Karten hernimmst, kannst du diesen Wert erhöhen)
      • 4. Mute: Mit ">>" Channel auswählen (Großes Zeichen), mit "<<" Mute toggeln
  • Aufnahmen am PC bearbeiten
    • SD-Karte mit HexEditor laden :-)
    • Ab Sektor Startsektor und aufwärts nach "MThd" suchen lassen
    • Kopiere den ersten Sektor mit "MThd" (10 Bytes) "MTrk" (4 weitere Bytes = Länge Big Endian) und die folgenden Länge/512 Sektoren in eine Datei (mit Endung .mid), löscht die letzten Bytes nach (Länge + 18) Bytes. Diese Datei sollte nun abspielbar und editierbar sein
  • Firmware-Update (nur in der vorigen Version noch machbar)
    • PC mit Mr. Midi 2 verbinden (seriell<->Midi-Konverter)
    • An Mr. Midi 2 beliebige Taste (aber nicht << oder >>) gedrückt halten und einschalten (Bootloader)
    • flash.bat aufrufen
    • Mr. Midi aus- und wieder einschalten

Build

Projekt kompilieren mit WinAVR 20060421 + AVR Studio 4.12

Ausblick

Vielleicht kommt ja noch irgendwann eine echte FAT16 oder 32 rein (mit ATmega168, da pin-kompatibel).

Hinweise

Es handelt sich hier um ein vollständiges privates Bastelprojekt. Es werden keinerlei Funktionsgarantien oder Haftung für Fehler und deren Folgen übernommen. Nachbau und Benutzung erfolgen auf eigene Gefahr.

Links

Forum