An einem kleinen Beispiel möchteich hier den grundsätzlichen Aufbau
eines Midi - Files erklären. Es werden 8 Noten gespielt ( A H C# D E F# G# A )
Die Mididatei hat folgendes Aussehen
Hexadezimal | Als ASCII - Zeichen |
4D54 6864 0000 0006 0001 0002 00C0 4D54 726B 0000 0079 00FF 0108 5465 7374 6669 6C65 00FF 010F 4279 2057 6572 6E65 7220 4A61 6B6F 6200 FF02 1957 6572 6E65 7220 4A61 6B6F 620D 5765 726E 6572 204A 616B 6F62 00FF 0120 4465 6D6F 6E73 7472 6174 696F 6E20 6569 6E65 7320 4D69 6469 6669 6C65 7320 2020 00FF 5103 07A1 2000 FF58 0404 0218 0800 FF59 0203 0000 FF2F 004D 5472 6B00 0000 7A00 FF21 0100 00FF 0105 6F72 6761 6E00 FF03 056F 7267 616E 00FF 0405 6F72 6761 6E00 C010 00B0 077F 00B0 0A40 00C0 1000 9045 6E81 2090 4500 2090 476E 8120 9047 0020 9049 6E81 2090 4900 2090 4A6E 8120 904A 0020 904C 6E81 2090 4C00 2090 4E6E 8120 904E 0020 9050 6E81 2090 5000 2090 516E 8120 9051 0000 FF2F | MThd..........MT rk...y....Testfi le....By Werner Jakob....Werner Jakob.Werner Jak ob... Demonstrat ion eines Midifi les.....Q......X .......Y...../.M Trk...z..!...... organ....organ.. ..organ......... .@.....En. .E. . Gn. .G. .In. .I. .Jn. .J. .Ln. . L. .Nn. .N. .Pn. .P. .Qn. .Q.../. |
Beginnen wir nun mir der Analyse:
4D54 6864 0000 0006 = der Beginn jeder Midi - Datei 4D54 6864 = MThd: zeigt an, diese Datei ist im Amiga Format. 0000 0006 = Länge der nachfolgenden Bytes im MThd Track 0001 0002 00C0 = Datenbytes des MThd Tracks |
4D54 726B 0000 0079 = 1. MTrk Track mit Längenangabe 4D54 726B = MTrk. Hier beginnt der Track 0000 0079 = Es folgen noch 121 Bytes in diesem Track 00FF 0108 5465 7374 6669 6C65 erste Midimessage 00FF 010F 4279 2057 6572 6E65 7220 4A61 6B6F 6200 FF02 1957 6572 6E65 7220 4A61 FF 0120 4465 6D6F 6E73 7472 6174 FF 5103 07A1 2000 = Tempowechsel (siehe Tabelle 6:) FF58 0404 0218 0800 = Time Signature (siehe Tabelle6:) FF59 0203 0000 = Key Signature (siehe Tabelle 6:) FF2F 00 = End of Track 4D 5472 6B00 0000 7A00 2. MTrk Track mit 122 Bytes FF21 0100 = Midi Kanal 0 ausgewählt (siehe Tabelle 6:) FF 0105 6F72 6761 6E00 = Textmessage ("Organ") FF03 056F 7267 616E 00 = Trackname ( "Organ") FF 0405 6F72 6761 6E00 = Instrumentenname ("Organ") C010 00 = Programm Change (GM - Instrumentenauswahl) B0 077F 00 =Setze Lautstärke auf 127 (siehe Tabelle 3:) B0 0A40 00 = Stereopanorama 40=Mitte 00=links 7F=rechts C010 00 = Programmchange (siehe oben) 9045 6E81 20 Spiele Note A in der 5 Oktave 90 4500 20 = Schalte Note 45 aus 90476E 8120 = Note H ein FF2F 00 = Track Ende |