Mididatei - Befehl 2C

OP #2755714
Lesenswert?

Hallo

Ich schreibe gerade ein Programm, das Mididateien in ein eigenes Format 
konvertiert. Viele Midi-Dateien werden schon erfolgreich analysiert, bei 
manchen stößt es auf Werte, die eigentlich nicht erlaubt sind. Ich 
berufe mich bei den Befehlen auf diese Seite: 
http://www.sonicspot.com/guide/midifiles.html
Kleines Beispiel aus einer Mididatei, die ich nicht verstehe:
1
FF 03 0A 42 61 63 6B 67 72 6F 75 6E 64 //Trackname: "Background"
Trackname: FF 03
Länge: 0A
Rest: ASCII-Text
1
00 //Deltatime 0
1
C0 2B //Program Change
1
00 //Deltatime 0
1
B0 07 78 //Controller Main Volume
1
00 //Deltatime 0
1
90 2B 64 //Note On
1
1E //Deltatime 1E

Was soll das für ein Befehl sein (2C)?
1
2C 64 1E 30 64 1E 31 64 1E 37 64 1E 2C 00

Das MSB ist nicht gesetzt also ist es eigentlich kein Befehl. Aber in 
der Mididatei dürfen doch auch nicht einfach Daten sein. An dieser 
Stelle bleibt mein Programm hängen. Stimmt meine Analyse nicht?
Persönliche Seite #2755726
Lesenswert?

Ich weiß es nicht genau, aber könnte es sein das sich die 2C auf die 90 
beziehen ?
Es gibt in der MIDI-Spezifikation ja noch die möglichkeit das wenn Daten 
ohne Befehl kommen diese sich auf den vorangegangenen Befehl beziehen.
So würde z.b. aus 90 2b 40 2c 30 ein 90 2b 40 90 2c 30 gemacht.
Ich bin da auch schon drüber gestolopert weil mein Master-Keyboard mir 
schonmal sowas geschickt hat und meine MIDI-Statemachine damit nix 
anfangen konnte und dann geguckt hat wie nen kaputtes Auto :-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren