Hva er MIDI-filformatet?
En .midi-fil er en Standard MIDI File (SMF) - en binær sekvens av musikalske hendelser produsert av synthesizere, keyboard og digitale lydarbeidsstasjoner (DAW). Formatet lagrer notehøyder, anslagsfølsomhet (velocity), timing, kontrollerendringer og instrumentoppgaver, men inneholder ingen samplet lyd. Avspillingskvaliteten avhenger helt av synthesizeren eller «soundfont»-en som brukes til gjengivelse.
.midi er bit-for-bit identisk med .mid. Forskjellen er kun lengden på filendelsen: DOS sin 8.3-begrensning for filnavn tvang frem den kortere .mid-formen, mens moderne operativsystemer godtar den fulle skrivemåten .midi. Enkelte programmer, spesielt Ableton Live, krever at man endrer navn fra .midi til .mid før import.
Filen begynner med en fire-byte markør MThd (MIDI-header-blokken), etterfulgt av en 6-byte header som deklarerer formattype, antall spor og timing-oppløsning. En eller flere MTrk-sporblokker følger etter. Det finnes tre formattyper: Format 0 lagrer alle kanaler i ett enkelt spor; Format 1 bruker flere synkrone spor; Format 2 lagrer uavhengige mønstersekvenser.
Spesifikasjonen for Standard MIDI File 1.0 ble publisert i 1988 av MIDI Manufacturers Association og har holdt seg stabil siden da. MIDI 2.0 (2020) utvider den underliggende protokollen, men bruker andre klippformater; .midi-sekvenser er fortsatt i utstrakt bruk i DAWer, notasjonsverktøy og maskinvare-synthesizere.
Sikkerhet og trygghet
RISIKO: LOWStandard MIDI File er passive hendelsesdata uten innebygd kode eller makroer, så selve formatet er ufarlig. Historisk merknad: CVE-2012-0003 tillot kjøring av kode via en spesiallaget MIDI i eldre Windows Media Player - dette er for lengst rettet. Hold OS og spillere oppdatert. Hovedrisikoen er skuffelse: avspillingskvaliteten avhenger av synthesizeren/soundfont-en, ikke selve filen.
Formatdetaljer
i et nøtteskallProgrammer som åpner MIDI-filer
Tekniske detaljer
dyp spesifikasjon| Magiske bytes | `4D 54 68 64` (`MThd`) ved byte-offset 0, etterfulgt av `00 00 00 06` (lengde på header-blokk) |
| Byterekkefølge | Big-endian |
| Blokkstruktur | `MThd` header-blokk + en eller flere `MTrk` spor-blokker; hver blokk har en prefiks med en 4-byte type-ID og 32-bit lengde |
| Formattyper | Format 0 - enkeltspor, alle kanaler; Format 1 - flere synkrone spor; Format 2 - uavhengige mønstre |
| Timing-oppløsning | Satt i `MThd` divisjonsfelt: tikk per fjerdedelsnote (f.eks. 480 TPQN) eller SMPTE-tidskode-frames |
| Tempo-koding | Meta-hendelse `FF 51 03` lagrer mikrosekunder per fjerdedelsnote; standard er 500 000 µs (120 BPM) |
| Delta-tid-koding | Variabel lengde-kvantitet (VLQ) går foran hver hendelse; kompakt koding, ingen utfylling med fast størrelse |
| Hendelsestyper | Note-på/av, anslag (velocity), kontrollerendring, programendring, pitch bend, aftertouch, SysEx, meta-hendelser (tempo, taktartsangivelse, tekst) |
| Kanalkapasitet | 16 MIDI-kanaler per spor; kanal 10 er konvensjonelt reservert for perkusjon |
| Forhold til .mid | Bit-for-bit identisk med `.mid`; `.midi` er den lange filendelsen, godtatt på moderne OS, men avvist av DOS 8.3-navngivning |
| Typisk filstørrelse | 1 KB - 100 KB; noen minutter med musikk er vanligvis under 50 KB |
| Karaoke-variant | `.kar`-filer bygger inn tekst-metahendelser i et spor nummer to; ellers identisk med SMF Format 1 |
| Forhold til MIDI 2.0 | MIDI 2.0 (2020) utvider protokollen, men bruker andre klippformater; `.midi`/`.mid` SMF er ikke erstattet |
| Utgitt | Standard MIDI File 1.0 published 1988 (MIDI protocol 1983) |
| Siste versjon | SMF 1.0 (stable since 1988); MIDI 2.0 protocol (2020) uses different clip formats |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | midi.org |
MIDI-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om MIDI-filer.