Midi Rekorder mit MMC/SD-Karte
Aus Uc-wiki
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
Download des Projekts (inkl. Code, Schaltplan)
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!
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
Ä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
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.