MIDI-lyd (.mid)
MIDI StandardMusical Instrument Digital Interface (MIDI) er en symbolsk musikalsk notationsstandard, der optager hændelser i forbindelse med instrumentopførelser i stedet for akustiske lydbølgeformer.
Undersøgelse og metadata
Operativsystemer og filanalysatorer identificerer MID-filer ved at inspicere den indledende binære bytesekvens:
Byte-niveau Header-signatur (Magic Bytes)
Operativsystemer og filanalysatorer identificerer MID-filer ved at inspicere den indledende binære bytesekvens:
HEX-SIGNATUR (OFFSET 0):
4D 54 68 64ASCII-REPRÆSENTATION: MThd
Standardisering: MIDI Manufacturers Association (MMA) / AMEI
Tekniske specifikationer
| Containerarkitektur | Standard MIDI-fil (SMF) med chunkhierarki (MThd-header + MTrk-spor-chunks) |
| Komprimering | Ukomprimerede, symbolske musikbegivenheder (Note On, Note Off, Velocity, Pitch Bend) |
| Byte-rækkefølge | Big-Endian-bit- og byterækkefølge |
| Farverum | Ikke relevant (symbolsk strøm af noder og instruktioner) |
| Kanaler og struktur | 16 logiske MIDI-kanaler pr. spor |
| Maks. dimensioner | Variabel opløsning af delta-tid (ticks pr. fjerdedelsnode, op til 65.535) |
| Gennemsigtighed | Ren matematisk hændelsesfølge; der gemmes ingen bølgeformlyd |
| Streaming og progressiv | Sekventiel hændelsesstrøm, der kan fortolkes og sendes videre node for node |
Teknisk sammenligningsmatrix: MID sammenlignet med konkurrenterne
| Teknisk attribut | MID (Aktuel) | WAV | MP3 | MOD |
|---|---|---|---|---|
| Gemt indhold | Hændelsesinstruktioner (tone, tonehøjde, anslagsstyrke) | Ukomprimeret PCM-bølgeform | Komprimeret tabsgivende bølgeform | Sporinstruktioner + indlejrede lydinstrumentsamples |
| Gennemsnitlig filstørrelse | 10 KB - 100 KB | 30 MB - 50 MB | 3 MB - 5 MB | 500 KB - 2 MB |
| Lydkonsistens | Varierer meget afhængigt af brugerens synthesizer eller lydfont | MIDI-hændelsesdata kan overføres; lyden ved afspilning afhænger af synthesizeren eller lydsættet. | MIDI-hændelsesdata kan overføres; lyden ved afspilning afhænger af synthesizeren eller lydsættet. | |
| Redigering af arrangement | Enkelt; redigering af noder enkeltvis | Meget vanskelig at ændre tonehøjde på lyd | Meget vanskelig at ændre tonehøjde på lyd | Mønsterbaseret sampleredigering |
Almindelige korruptionstilstande og hex-gendannelsesvejledning
Synthesizertoner klinger uendeligt ('stuck notes'), eller tempoet bliver ekstremt højt.
Grundlæggende årsag: Manglende 'Note Off'-hændelser eller korrupte delta-tidsværdier med variabel længde i en MTrk-blok.
Gendannelse: Åbn filen i en MIDI-sequencer, eller brug File2File.app MIDI-værktøjet til at rense kørende status og indsætte manglende Note Off-kommandoer.
Sikkerhedsanalyse og parser-angrebsvektorer
MIDI-parserne afkoder komplekse delta-tidsværdier med variabel længde (VLQ) og System Exclusive (SysEx)-meddelelser, der kan udløse bufferoverløb i hardware- og softwaresyntetisatorer.
Kendte angrebsvektorer
- Ukontrolleret udvidelse af VLQ-værdier, der forårsager 32-bit heltalsoverløb.
- Overdimensioneret nyttelast i en SysEx-meddelelse, der forårsager heap-overløb i syntetisatorfirmware eller softwareplugins.
- Ondsindet udformede løkkemarkører, der forårsager uendelige CPU-løkker i lydgengivelsestråde.
Defensive bedste praksisser: Håndhæv maksimale grænser for delta-time-værdier og rens SysEx-blokke med producentdata, før de sendes til synthesizere.
Historisk oprindelse og milepæle
Vigtige fordele og styrker
- Mikroskopisk filstørrelse: fulde symfoniske arrangementer forbruger titusinder af kilobyte i stedet for titusinder af megabyte.
- Fuld frihed til at redigere: enkelte toner, tempo, tonearter og instrumentindstillinger kan ændres uden kvalitetstab.
- MIDI understøttes af mange synthesizere, digitale klaverer, sequencere og DAW'er, men funktionerne varierer.
Tekniske begrænsninger og ulemper
- Indeholder nul faktiske lydoptagelser; afspilning afhænger udelukkende af lytteenhedens syntetisator og lydbank.
- Kan ikke gengive optagede menneskelige sangstemmer eller realistiske akustiske ikke-instrumentale lyde.
- Afspilning lyder fuldstændig forskelligt på tværs af forskellige computere afhængigt af installerede General MIDI-lydfonte.
Interessante tekniske fakta
- Den magiske header 'MThd' står for 'MIDI Track Header', efterfulgt af 'MTrk' for hver enkelt sporblok.
- Klassiske pc-videospil som Doom, Warcraft og Monkey Island brugte MIDI til at levere rig musik på 1,44 MB disketter.
- Dave Smith modtog en Technical Grammy Award i 2013 for sin grundlæggende rolle i opfindelsen af MIDI.
Ofte stillede tekniske spørgsmål
Hvorfor lyder instrumenterne i en MIDI-fil så billige på min computer?
En MIDI-fil indeholder udelukkende nodeinstruktioner (hvilken tone der skal trykkes på, og hvor hårdt). Den lyd, du hører, genereres af dit operativsystems indbyggede General MIDI-synthesizer. Indlæsning af et professionelt SoundFont (.sf2) forbedrer realismen drastisk.
Hvordan kan jeg konvertere en MIDI-fil til en MP3- eller WAV-fil?
Da MIDI ikke indeholder lyd, kræver konvertering, at den 'renderes' gennem en softwaresynthesizer med lydenheder. File2File.app Audio Converter renderer automatisk MIDI ved hjælp af akustiske lydbanker i høj kvalitet direkte i din browser.
Hvad er forskellen på MIDI Format 0 og Format 1?
Format 0 fletter alle musikalske kanaler ind i en enkelt sporblok. Format 1 adskiller hvert instrument (klaver, bas, trommer) i sit eget uafhængige spor til flersporsredigering.