MIDI: Unterschied zwischen den Versionen

Aus File Format
Wechseln zu: Navigation, Suche
Zeile 80: Zeile 80:
 
  |
 
  |
 
  | Länge des Tracks in Bytes <br />(abzüglich der 8 Bytes für den Header und der Längeninformation)
 
  | Länge des Tracks in Bytes <br />(abzüglich der 8 Bytes für den Header und der Längeninformation)
 +
|-
 +
|0x0008
 +
|n Bytes
 +
|
 +
|
 +
| Die Trackdaten. Aufeinanderfolgend jeweils eine Kombination<br /> aus folgenden, bis Dateiende (siehe Länge des Tracks)
 +
{| class="wikitable"
 +
|+ MIDI-Daten
 +
!Inhalt<br />HEX
 +
!Inhalt<br />BIN
 +
!Länge
 +
!Beschreibung
 +
|-
 +
|0x8x nn vv
 +
|1000xxxx 0nnnnnnn 0vvvvvvv
 +
|3 Bytes
 +
|Note/Taste loslassen<br /> n = Note  v = Geschwindigkeit
 +
|-
 +
|0x9x nn vv
 +
|1001xxxx 0nnnnnnn 0vvvvvvv
 +
|3 Bytes
 +
|Tastendruck<br /> n = Note  v = Geschwindigkeit
 +
|-
 +
|0xAx nn vv
 +
|1010xxxx 0nnnnnnn 0vvvvvvv
 +
|3 Bytes
 +
|Tasten-Nachdruck<br /> n = Note  v = Geschwindigkeit
 +
|-
 +
|0xBx nn vv
 +
|1011xxxx 0ccccccc 0vvvvvvv
 +
|3 Bytes
 +
|Controller ändern<br /> c = Controller  v = Wert
 +
|-
 +
|0xCx pp
 +
|1100xxxx 0ppppppp
 +
|2 Bytes
 +
|Programm ändern<br /> p = Prorammnummer
 +
|-
 +
|0xDx cc
 +
|1101xxxx 0ccccccc
 +
|3 Bytes
 +
|Kanal Nachdruck<br /> c = Kanal
 +
|-
 +
|0xEx nn vv
 +
|1110xxxx 0bbbbbbb 0ttttttt
 +
|3 Bytes
 +
|Tonlage (2000Hz ist Standard)<br /> b = untere 7 Bits  t = obere 7 Bits
 
  |-
 
  |-
 
|}
 
|}

Version vom 9. Februar 2015, 22:47 Uhr

Musical Instrument Digital Interface


MIDI-Header
Offset Länge Inhalt
HEX
Inhalt
BIN
Beschreibung
0x0000 1 Word (4 Bytes) 4D 54 68 64 (unwichtig) MThd Chunk-Kennung (MIDI Track Header)
0x0004 1 Word (4 Bytes) 00 00 00 06 (unwichtig) Länge des MIDI-Header Chunks. Dieser ist im Normalfall
immer 6 Bytes lang. Zur Länge zählen MThd und Längen-Wörter nicht.
0x0008 2 Bytes <NN NN> Das MIDI-File-Format. Es existieren 3 Formate.
MIDI-File-Format
Inhalt
HEX
Inhalt
BIN
Beschreibung
00 01 0001 MIDI-Datei enthält einen einzelnen Track (Spur)
00 02 0010 Mehrere Tracks, synchronisiert
00 03 0011 Mehrere Tracks, nicht synchronisiert
0x000A 2 Bytes <NN NN> Anzahl MIDI-Spuren (Tracks)
0x000C 2 Bytes <NN NN> Taktrate einer Viertelnote (Ticks pro Viertelnote)

Es folgen daraufhin die sogenannten Tracks (Spuren). Diese sind ebenfalls Chunk-basierend:

Track
Offset Länge Inhalt
HEX
Inhalt
BIN
Beschreibung
0x0000 4 Bytes 4D 54 72 6B MTrk MIDI Track Chunk
0x0004 4 Bytes Länge des Tracks in Bytes
(abzüglich der 8 Bytes für den Header und der Längeninformation)
0x0008 n Bytes Die Trackdaten. Aufeinanderfolgend jeweils eine Kombination
aus folgenden, bis Dateiende (siehe Länge des Tracks)
MIDI-Daten
Inhalt
HEX
Inhalt
BIN
Länge Beschreibung
0x8x nn vv 1000xxxx 0nnnnnnn 0vvvvvvv 3 Bytes Note/Taste loslassen
n = Note v = Geschwindigkeit
0x9x nn vv 1001xxxx 0nnnnnnn 0vvvvvvv 3 Bytes Tastendruck
n = Note v = Geschwindigkeit
0xAx nn vv 1010xxxx 0nnnnnnn 0vvvvvvv 3 Bytes Tasten-Nachdruck
n = Note v = Geschwindigkeit
0xBx nn vv 1011xxxx 0ccccccc 0vvvvvvv 3 Bytes Controller ändern
c = Controller v = Wert
0xCx pp 1100xxxx 0ppppppp 2 Bytes Programm ändern
p = Prorammnummer
0xDx cc 1101xxxx 0ccccccc 3 Bytes Kanal Nachdruck
c = Kanal
0xEx nn vv 1110xxxx 0bbbbbbb 0ttttttt 3 Bytes Tonlage (2000Hz ist Standard)
b = untere 7 Bits t = obere 7 Bits