Wat is het MIDI-bestandsformaat?
Een .midi-bestand is een Standard MIDI File (SMF) - een binaire sequentie van muzikale uitvoeringsevenementen geproduceerd door synthesizers, keyboards en digitale audiowerkstations. Het formaat slaat toonhoogtes, aanslaggevoeligheid (velocity), timing, controller-wijzigingen en instrumenttoewijzingen op, maar bevat geen gesamplede audio. De afspeelkwaliteit hangt volledig af van de synthesizer of soundfont die wordt gebruikt voor de weergave.
.midi is byte-voor-byte identiek aan .mid. Het verschil is puur de lengte van de extensie: de 8.3-bestandsnaamslimiet van DOS dwong de kortere .mid-vorm af, terwijl moderne besturingssystemen de volledige spelling .midi accepteren. Sommige applicaties, met name Ableton Live, vereisen dat .midi wordt hernoemd naar .mid vóór het importeren.
Het bestand begint met de vier-byte markering MThd (de MIDI-headerchunk), gevolgd door een 6-byte header die het formaattype, het aantal tracks en de timingresolutie declareert. Een of meer MTrk-trackchunks volgen. Er bestaan drie formaattypen: Formaat 0 slaat alle kanalen op in een enkele track; Formaat 1 gebruikt meerdere synchrone tracks; Formaat 2 slaat onafhankelijke patroonsequenties op.
De Standard MIDI File 1.0-specificatie werd in 1988 gepubliceerd door de MIDI Manufacturers Association en is sindsdien stabiel gebleven. MIDI 2.0 (2020) breidt het onderliggende protocol uit, maar gebruikt andere clipformaten; .midi-sequenties blijven op grote schaal in actief gebruik in DAWs, notatiesoftware en hardware-synthesizers.
Beveiliging & veiligheid
RISICO: LOWStandard MIDI File bevat passieve event-gegevens zonder ingebedde code of macro's, dus het formaat zelf is onschadelijk. Historische opmerking: CVE-2012-0003 maakte code-uitvoering mogelijk via een gemanipuleerde MIDI in oudere Windows Media Player - dit is allang gepatcht. Houd OS en spelers up-to-date. Het grootste risico is teleurstelling: de afspeelkwaliteit hangt af van de synthesizer/soundfont, niet van het bestand zelf.
Formaatdetails
in een notendopProgramma's die MIDI-bestanden openen
Technische details
diepe specificaties| Magic bytes | `4D 54 68 64` (`MThd`) op byte-offset 0, gevolgd door `00 00 00 06` (lengte headerchunk) |
| Byte-volgorde | Big-endian |
| Chunk-structuur | `MThd` headerchunk + een of meer `MTrk` trackchunks; elke chunk voorafgegaan door een 4-byte type-ID en 32-bits lengte |
| Formaattypen | Formaat 0 - enkele track, alle kanalen; Formaat 1 - meerdere synchrone tracks; Formaat 2 - onafhankelijke patronen |
| Timingresolutie | Ingesteld in `MThd` divisieveld: ticks per kwartnoot (bijv. 480 TPQN) of SMPTE-tijdcodeframes |
| Tempo-codering | Meta-event `FF 51 03` slaat microseconden per kwartnoot op; standaard 500 000 µs (120 BPM) |
| Delta-time codering | Variable-length quantity (VLQ) gaat vooraf aan elk event; compacte codering, geen opvulling met vaste grootte |
| Event-typen | Note-on/off, velocity, controller change, program change, pitch bend, aftertouch, SysEx, meta-events (tempo, maatsoort, songtekst) |
| Kanaalcapaciteit | 16 MIDI-kanalen per track; kanaal 10 is conventioneel gereserveerd voor percussie |
| Relatie tot .mid | Byte-voor-byte identiek aan `.mid`; `.midi` is de lange extensie, geaccepteerd op moderne OSen maar geweigerd door DOS 8.3-naamgeving |
| Typische bestandsgrootte | 1 KB - 100 KB; een paar minuten muziek is doorgaans minder dan 50 KB |
| Karaoke-variant | `.kar`-bestanden bevatten lyric-meta-events in een tweede track; verder identiek aan SMF Formaat 1 |
| Relatie tot MIDI 2.0 | MIDI 2.0 (2020) breidt het protocol uit maar gebruikt andere clipformaten; `.midi`/`.mid` SMF is niet vervangen |
| Uitgebracht | Standard MIDI File 1.0 published 1988 (MIDI protocol 1983) |
| Laatste versie | SMF 1.0 (stable since 1988); MIDI 2.0 protocol (2020) uses different clip formats |
| Open standaard | Ja · royaltyvrij |
| Specificatie | midi.org |
MIDI conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over MIDI-bestanden.