Musical Instrument Digital Interface (.mid)
MIDI StandaardMusical Instrument Digital Interface (MIDI) is een standaard voor symbolische muzieknotatie die gebeurtenissen van instrumentale uitvoeringen vastlegt in plaats van akoestische audiogolfvormen.
Inspecteren en metadata
Besturingssystemen en bestandsanalysators herkennen MID-bestanden aan de hand van de eerste binaire bytesequentie:
Bestandshandtekening op byteniveau (magic bytes)
Besturingssystemen en bestandsanalysators herkennen MID-bestanden aan de hand van de eerste binaire bytesequentie:
HEX-HANDTEKENING (OFFSET 0):
4D 54 68 64ASCII-WEERGAVE: MThd
Standaardisatie: MIDI Manufacturers Association (MMA) / AMEI
Technische specificaties
| Containerarchitectuur | Standard MIDI File (SMF)-chunkhiërarchie (MThd-header + MTrk-trackchunks) |
| Compressie | Ongecomprimeerde symbolische uitvoeringsgebeurtenissen (Note On, Note Off, Velocity, Pitch Bend) |
| Bytevolgorde (endianness) | Big-Endian bit- en bytevolgorde |
| Kleurruimten | N.v.t. (Symbolische noteninstructiestroom) |
| Kanalen en structuur | 16 logische MIDI-kanalen per track |
| Maximale afmetingen | Variabele deltatijdresolutie (ticks per kwartnoot, tot 65.535) |
| Transparantie | Zuivere wiskundige gebeurtenissenreeks; er is geen golfvormaudio opgeslagen |
| Streaming en progressief | Sequentiële gebeurtenissenstroom; kan noot voor noot worden geparseerd en verzonden |
Technische vergelijkingsmatrix: MID versus concurrenten
| Technisch kenmerk | MID (Huidig) | WAV | MP3 | MOD |
|---|---|---|---|---|
| Opgeslagen inhoud | Gebeurtenisinstructies (noot, toonhoogte, aanslagsterkte) | Niet-gecomprimeerde PCM-golfvorm | Gecomprimeerde golfvorm met verlies (lossy) | Trackinstructies + ingesloten instrumentsamples |
| Gemiddelde bestandsgrootte | 10 KB - 100 KB | 30 MB - 50 MB | 3 MB - 5 MB | 500 KB - 2 MB |
| Geluidsconsistentie | Verschilt sterk op basis van de synthesizer of soundfont van de gebruiker | MIDI-gebeurtenisgegevens zijn draagbaar; afspeelgeluid hangt af van de synthesizer of geluidsbank van het apparaat | MIDI-gebeurtenisgegevens zijn draagbaar; afspeelgeluid hangt af van de synthesizer of geluidsbank van het apparaat | Consistent dankzij ingesloten samples |
| Arrangementen bewerken | Eenvoudig; de partituur noot voor noot bewerken | Audio opnieuw stemmen is uiterst lastig | Audio opnieuw stemmen is uiterst lastig | Patroongebaseerde samplebewerking |
Veelvoorkomende beschadigingen en gids voor hex-herstel
Synthesizernoten klinken oneindig door ('vastgelopen noten') of het tempo wordt astronomisch hoog.
Oorzaak: Ontbrekende 'Note Off'-gebeurtenissen of beschadigde deltatijdwaarden met variabele lengte in een MTrk-chunk.
Herstel: Open het bestand in een MIDI-sequencer of gebruik de MIDI-tool van File2File.app om de running status op te schonen en ontbrekende Note Off-opdrachten toe te voegen.
Beveiligingsanalyse en aanvalsvectoren voor parsers
MIDI-parsers decoderen complexe deltatijdwaarden met variabele lengte (VLQ) en System Exclusive-berichten (SysEx), die bufferoverflows kunnen veroorzaken in hardware- en softwaresynths.
Bekende aanvalsvectoren
- Ongecontroleerde uitbreiding van waarden met variabele lengte, waardoor een overloop van een 32-bits geheel getal ontstaat.
- Te grote SysEx-berichtpayload die een heap-overloop veroorzaakt in synthesizerfirmware of softwareplugins.
- Op kwaadaardige wijze gemaakte lusmarkeringen die oneindige CPU-lussen veroorzaken in audiorenderthreads.
Aanbevolen beveiligingspraktijken: Stel maximumwaarden in voor deltatijdwaarden en schoon SysEx-blokken met fabrikantgegevens op voordat u ze naar synthesizers verzendt.
Historische oorsprong en mijlpalen
Belangrijkste voordelen
- Microscopische bestandsgrootte: volledige symfonische arrangementen nemen tientallen kilobytes in beslag in plaats van tientallen megabytes.
- Volledige bewerkingsflexibiliteit: individuele noten, tempo's, toonsoorten en instrumentpatches kunnen worden gewijzigd zonder kwaliteitsverlies.
- MIDI wordt ondersteund door vele synthesizers, digitale piano's, sequencers en DAW's, hoewel de mogelijkheden variëren.
Technische beperkingen
- Bevat geen enkele werkelijke geluidsopname; het afspelen hangt volledig af van de synthesizer en soundbank van het afspelende apparaat.
- Kan opgenomen menselijke zangstemmen of realistische akoestische non-instrumentale geluiden niet reproduceren.
- Het afspelen klinkt totaal anders op verschillende computers, afhankelijk van de geïnstalleerde General MIDI-soundfonts.
Interessante technische weetjes
- De magische header 'MThd' staat voor 'MIDI Track Header', gevolgd door 'MTrk' voor elke trackchunk.
- Klassieke pc-videogames zoals Doom, Warcraft en Monkey Island gebruikten MIDI om rijke muziek te leveren op diskettes van 1,44 MB.
- Dave Smith ontving in 2013 een Technical Grammy Award voor zijn fundamentele rol bij de uitvinding van MIDI.
Veelgestelde technische vragen
Waarom klinkt een MIDI-bestand als goedkope instrumenten op uw computer?
Een MIDI-bestand bevat alleen bladmuziekinstructies (welke noot u moet indrukken en hoe hard). Het geluid dat u hoort, wordt gegenereerd door de ingebouwde General MIDI-synthesizer van uw besturingssysteem. Het laden van een professionele SoundFont (.sf2) verbetert het realisme aanzienlijk.
Hoe kunt u een MIDI-bestand converteren naar een MP3- of WAV-bestand?
Omdat MIDI geen audio bevat, moet het via een softwaresynthesizer met geluidsinstrumenten worden gerenderd. De Audio Converter van File2File.app rendert MIDI automatisch met hoogwaardige akoestische geluidsbanken, rechtstreeks in uw browser.
Wat is het verschil tussen MIDI-formaat 0 en formaat 1?
Formaat 0 voegt alle muzikale kanalen samen in één trackchunk. Formaat 1 scheidt elk instrument (piano, bas, drums) in een eigen, onafhankelijke trackchunk voor bewerking van meerdere tracks.