Klawischnigg: MIDI-Dateien - Verständnis der Struktur

Beitrag lesen

Hi there,

Ich bin zwar nicht der OP aber mich würde sehr interessieren wie du daraus diese Angaben ermittelst. Ich habe mir die von dir verlinkte Seite dazu angeschaut aber mir erschließt sich absolut nicht wie du bei der Ermittlung der Daten vorgegangen bist.

Du hättest Dir diese von mir verlinkte Seite betrachten sollen, da wird der Header erklärt. Hier werden vor allem die einzelnen Midi-Events beschrieben.

Könntest du das bitte erklären?

Nicht nocheinmal - Prinzipiell aber: der Midifile ist in Chunks, in Datenblöcke aufgeteilt. Zuerst die allgemeinene Einstellungen, dann die einzelnen Tracks. Der Header-Chunk beginnt immer mit 'MThd' und einer 4 Bytefolge, die den Wert 6 enthält. Die 6 steht für die 3 Words 'format type', 'number of tracks' und 'time-division'. Wenn das zweite Word den Wert '00 02' hat, dann enthält der Midifile 2 Tracks, von denen jeder mit der Bytefolge 'Mtrk' oder eben '4D 54 72 6B' beginnt. Das ist auch der Beginn der Track-Chunks, dessen wichtigste Information im "Trackheader" seine eigene Größe ist (Chunk-Size, 4 Bytes). Wenn die Chunk-Size also '00 00 00 0B' lautet bedeutet das, das noch genau 11 Midievents folgen und danach, sofern vorhanden, der nächste Track-Chunk folgt, der wieder mit '4D 54 72 6B' und der Chunk-Size beginnt...

Was bedeuted Mtrk?

Könnte das Midi-Track bedeuten? (Stell DIr jetzt einmal ein unschuldig dreinblickedes Gesicht vor)

Wie, wo und warum trennst du hier ab bestimmten Zeichen? Ich verstehe hier nur "Bahnhof" :/

Das funktioniert eben nicht mit bestimmten trennenden Zeichen sondern über Datenblöcke. Das ist bei vielen Dateiformaten der Fall, zB bei Truetypfonts, also bei .TTF-Dateien etc. Wie schon geschrieben eignet sich ein solches Format besonders gut für die Bearbeitung mit Programmiersprachen, die Zeiger kennen.