Ich hatte folgendes Problem, vor einem Auftritt hatte sich plötzlich die Backup-Batterie meines Masterkeyboards verabschiedet. Folge, alle Presetes waren gelöscht. Natürlich hatte ich die gesichert auf Cubase als SYSEX. Nun hat man das aber nicht mit auf der Bühne. Folgender Gedankengang..Die Sysex- Daten auf einen SD Karte und mit einem Projekt mittels eines AVR mit Midi im Notfall in die Keyboards spielen. Gibr es so ein Gerät oder ein vorhandenes Projekt in dieser Richtung was man weiter bearbeiten kann bzw. drauf aufbauen kann ?. Die Daten in den AVR schreiben und augeben fällt aus da die Datenlänge 131 Kb beträgt. Mit meinem Kawai K4 hat das mal super funktionier. Da war die Datenlänge jedoch bei weiten geringer. Eine SD-Karte wäre wohl die optimale lösung denke ich. Gruß aus Berlin Ingo
Habe das Projekt mal mit dem SD-Karten Code von Ulrich Radig angegangen. Scheint eigentlich zu funktionieren... aber nur eigentlich. Wenn ich die Daten sende erscheint auf dem MIDI-Monitor nicht das was erscheinen soll. Ich habe einen Quarz vom 8 MHz eingesetzt. Sende ich die Daten auf einen Terminal-Monitor (andere Baudrate natürlich) werden die Daten korrekt angezeigt.
Hier ist die SYSEX die ich sende. Wie gesagt, auf dem Terminal wird sie korrekt angezeigt.
:
Bearbeitet durch User
Ingo Laabs schrieb: > Wenn ich die Daten sende erscheint auf dem MIDI-Monitor nicht das was > erscheinen soll. Lade Dir mal MIDIOX herunter und schaue, was dabei ´rauskommt. Wenn Du die Datei binär und mit 31250Baud sendest, müsste Dein Keyboard damit etwas anfangen können. Ingo Laabs schrieb: > Folgender Gedankengang..Die Sysex- Daten auf einen SD Karte und mit > einem Projekt mittels eines AVR mit Midi im Notfall in die Keyboards > spielen. Ein DataFlash reicht doch. Bau Dir einen aktiven MIDI-Plug mit Akku und entsprechender AVR-DataFlash-Kombi mit Record- und Play-Taste :-)
na ich habe doch schon auf dem MIDI-Monitor (siehe Bild oben) die Daten betrachtet. Statt SYSEX sind da lauter NOTE OFF.
Ingo Laabs schrieb: > Statt SYSEX sind da lauter NOTE OFF. In der Binär-Datei die Du gepostet hast, sind eindeutig 0xF0 am Anfang (SYSEX-START) und 0xF7 am Ende (SYSEX-END) enthalten. MIDI-OX kann mit SYSEX-Daten umgehen und sogar versenden, kann Dein Editor das auch?
:
Bearbeitet durch User
Hallo Knut, die Binärdatei ist die die ich aus dem Kawai K4 mit dem Datenrecorder (Quasimidi StyleDrive) ausgelesen habe und senden möchte. Das Ergebnis siehst du auf dem GIF. Der K4 erkennt zwar ein senden aber nicht als SYSEX. Das was gesendet wir (anscheinend) siehst du auf dem GIF. Die MidiBox bringt dasselbe Ergebnis.
:
Bearbeitet durch User
Sehr merkwürdig. Wie sendest Du das die Daten jetzt genau? Ist Dein UART vieleicht verstellt? Zeigt Dein Terminalprogramm bei 31250Baud Fehler an?
auf dem Terminalprogramm sende ich mit Standard Baud-Raten weil dort die 31250 nicht zur Verfügung stehen. Bie dem MIDI -Monitor natürlich mit 31250 Baud.
:
Bearbeitet durch User
Problem gelöst. In der mmc.h war noch ein Textstring (in dem war ein $80 Note off) der vor ab gesendet wurde und damit natürlich die SYSEX-Daten gehörich durcheinander gewürfelt hat. Zwar nimmt das Keyboard die Daten noch nicht korrekt an, denke aber mal weil ich die Dump-Dateien direkt vom Quasimidi-Style- Drive verwende, wird da wahrscheinlich noch das ein oder andere Byte zwischen sein was da wohl nicht hingehört. Zwar fangen die Dateien mit $F0 an und enden mit $F7, ob sich aber dazwischen jetzt nur SYS-EX befindet muß ich noch prüfen.
ich habe hier noch ein kleines Problemchen. In der Schleife muß ich auf ein fesendetes $F7 (EOF) ein Abbruch erfolgen weiß aber nicht so recht wie ! //Lade Cluster für das index.htm File in den Speicher Clustervar = 0;//suche im Root Verzeichnis if (fat_search_file((unsigned char *)"K4_ALL.DMP",&Clustervar,&Size,&Dir_Attrib,Buffer) == 1) { // * usart_write("\nFile Found!!\r\n"); //Lese File und gibt es auf der seriellen Schnittstelle aus for (int b = 0;b<31;b++) { fat_read_file (Clustervar,Buffer,b); for (int a = 0;a<512;a++) { usart_write("%c",Buffer[a]); // hier muß der Break nach gesendetem $F7 erfolgen GOTO ist ja nicht so die Lösung in C++ } } }
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.