Wat is het MID-bestandsformaat?
.mid-bestanden zijn nauw verwant aan het .midi-formaat - beide zijn Standard MIDI File (SMF) sequenties.
.mid-bestanden slaan muzikale uitvoeringsevenementen op, georganiseerd met nauwkeurige timing. Deze gebeurtenissen kunnen het volgende beschrijven:
- toonhoogte, aanslaggevoeligheid (velocity) en afspeelduur van noten,
- volume, expressie en andere controller-waarden,
- instrumentwijzigingen (program changes) over maximaal 16 kanalen.
Er moet worden opgemerkt dat .mid-bestanden geen audiogegevens bevatten, alleen de instructies die nodig zijn voor een correcte weergave door een synthesizer of soundfont-engine. Omdat er geen audiosamples worden opgeslagen, kan hetzelfde .mid-bestand op verschillende apparaten merkbaar anders klinken.
Bestanden met de extensie .mid kunnen worden gebruikt door muziekbewerkingssoftware, evenals door MIDI-hardwareapparaten en synthesizers. .mid-bestanden dienen als een universele manier om muzikale composities te delen tussen programma's - digital audio workstations, notatie-editors en sequencers ondersteunen het formaat allemaal. Op hardwareapparaten kunnen .mid-bestanden worden gebruikt om instrumenten aan te sturen, audio-uitvoerparameters zoals toonhoogte of duur te wijzigen en geautomatiseerde uitvoeringen aan te sturen.
Intern gebruikt een .mid-bestand een op segmenten (chunks) gebaseerde binaire structuur: een MThd-headerchunk bepaalt het formaattype (0, 1 of 2), het aantal sporen en de timingresolutie, gevolgd door een of meer MTrk-spoorchunks die gebeurtenissen met een delta-tijdstempel opslaan. De .rmi-variant verpakt dezelfde inhoud in een RIFF-container, terwijl het .kar-formaat .mid uitbreidt met ingebedde karaoke-songteksten.
Beveiliging & veiligheid
RISICO: LOWEen Standard MIDI File bevat passieve gebeurtenisgegevens zonder ingebedde code of macro's, dus het formaat zelf is risicoarm. Historisch punt van aandacht: in 2012 maakte een fout in de Windows MIDI-parsing (CVE-2012-0003) code-uitvoering mogelijk via een gemanipuleerde MIDI in Windows Media Player - dit is allang gepatcht, dus houd uw OS/spelers up-to-date. Verder is het grootste „risico” een teleurstelling: een MIDI kan dun of verkeerd klinken omdat de weergave afhangt van het soundfont van het apparaat, niet van het bestand.
Formaatdetails
in een notendop- Karaoke MIDI (.kar) - Zelfde Standard MIDI File-structuur met ingebedde songtekst-meta-events voor karaoke; vaak ook opgeslagen met een .mid-extensie.
- RMID (RIFF MIDI) - Een MIDI-sequentie verpakt in een RIFF-container, soms met een ingebedde DLS-soundbank; gebruikt .rmi maar incidenteel .mid.
Programma's die MID-bestanden openen
Technische details
diepe specificaties| Bestandscodering | Binair, big-endian byte-volgorde |
| Bestandssignatuur (magic bytes) | `4D 54 68 64` - ASCII `MThd` op byte-offset 0, gevolgd door een 4-byte chunk-lengte (`00 00 00 06`) |
| Containerstructuur | Op segmenten gebaseerd: `MThd`-headerchunk gevolgd door een of meer `MTrk`-spoorchunks |
| Formaattypes | Formaat 0 - enkel spoor met meerdere kanalen; Formaat 1 - meerdere synchrone sporen; Formaat 2 - onafhankelijke patroonsequenties |
| MIDI-kanaalcapaciteit | Tot 16 gelijktijdige kanalen per bestand, elk toewijsbaar aan een ander instrument of stem |
| Timingresolutie | Ingesteld door het `division`-veld in `MThd`; uitgedrukt als ticks per kwartnoot (bijv. 480 PPQ) of SMPTE-tijdcodeframes |
| Event delta-tijd codering | Variable-length quantity (VLQ) - codeert tijdsverschillen tussen gebeurtenissen met 7 bits per byte met een MSB-voortzettingsvlag |
| MIME-type | `audio/midi`; ook herkend als `audio/x-midi` en `audio/sp-midi` |
| Typische bestandsgrootte | 1 KB - 100 KB; een paar minuten muziek is meestal ruim onder de 50 KB omdat er geen audiosamples worden opgeslagen |
| Compressie | Geen; gebeurtenissen zijn inherent compact door binaire opcodes en VLQ delta-tijd codering |
| Meta-events | Niet-geluidsgerelateerde metadata ingebed in sporen: tempo (microseconden per tel), maatsoort, toonsoort, spoornaam, songtekst, auteursrecht en einde-spoor-markeringen |
| Ontwikkelaar / onderhouder | MIDI Manufacturers Association (MMA) en AMEI (Association of Musical Electronics Industry) |
| MIDI 2.0 compatibiliteit | `.mid` codeert MIDI 1.0-berichten; het MIDI 2.0-protocol (2020) gebruikt andere containerformaten - `.mid`-bestanden blijven op grote schaal in actief gebruik |
| 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 .midi2/clips, not .mid |
| Open standaard | Ja · royaltyvrij |
| Specificatie | midi.org |
MID conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over MID-bestanden.