Vad är filformatet MIDI?
En .midi-fil är en Standard MIDI File (SMF) - en binär sekvens av musikaliska händelser skapade av syntar, keyboards och digitala ljudarbetsstationer (DAW). Formatet lagrar tonhöjd, anslagskänslighet (velocity), timing, kontrolländringar och instrumenttilldelningar, men innehåller inget samplat ljud. Uppspelningskvaliteten beror helt på den synt eller soundfont som används för rendering.
.midi är bit-för-bit identisk med .mid. Skillnaden är enbart filtilläggets längd: DOS begränsning till 8.3-filnamn tvingade fram den kortare .mid-formen, medan moderna operativsystem accepterar den fullständiga stavningen .midi. Vissa program, i synnerhet Ableton Live, kräver att man byter namn på .midi till .mid före import.
Filen börjar med en fyra byte lång markör MThd (MIDI-huvudblocket), följt av ett 6-byte huvud som deklarerar formattyp, antal spår och timing-upplösning. Ett eller flera MTrk-spårblock följer. Tre formattyper existerar: Format 0 lagrar alla kanaler i ett enda spår; Format 1 använder flera synkrona spår; Format 2 lagrar oberoende mönstersekvenser.
Specifikationen för Standard MIDI File 1.0 publicerades 1988 av MIDI Manufacturers Association och har förblivit stabil sedan dess. MIDI 2.0 (2020) utökar det underliggande protokollet men använder andra klippformat; .midi-sekvenser förblir i utbredd aktiv användning i DAWs, notskrivningsprogram och hårdvarusyntar.
Säkerhet & trygghet
RISK: LOWStandard MIDI File är passiv händelsedata utan inbäddad kod eller makron, så själva formatet är ofarligt. Historisk not: CVE-2012-0003 tillät körning av kod via en manipulerad MIDI i äldre Windows Media Player - detta är åtgärdat sedan länge. Håll OS och spelare uppdaterade. Den största risken är besvikelse: uppspelningskvaliteten beror på synten/soundfonten, inte på själva filen.
Formatdetaljer
i ett nötskalProgram som öppnar MIDI-filer
Tekniska detaljer
djup specifikation| Magic bytes | `4D 54 68 64` (`MThd`) vid byte-offset 0, följt av `00 00 00 06` (längd på huvudblocket) |
| Byte-ordning | Big-endian |
| Blockstruktur | `MThd`-huvudblock + ett eller flera `MTrk`-spårblock; varje block har ett prefix med ett 4-byte typ-ID och 32-bitars längd |
| Formattyper | Format 0 - ett spår, alla kanaler; Format 1 - flera synkrona spår; Format 2 - oberoende mönster |
| Timing-upplösning | Anges i `MThd`-divisionsfältet: ticks per fjärdedelsnot (t.ex. 480 TPQN) eller SMPTE-tidskodsramar |
| Tempo-kodning | Meta-händelsen `FF 51 03` lagrar mikrosekunder per fjärdedelsnot; standard är 500 000 µs (120 BPM) |
| Delta-time-kodning | Variable-length quantity (VLQ) föregår varje händelse; kompakt kodning utan fast storlek på utfyllnad |
| Händelsetyper | Note-on/off, velocity, kontrolländring, programbyte, pitch bend, aftertouch, SysEx, meta-händelser (tempo, taktstart, lyrik) |
| Kanalkapacitet | 16 MIDI-kanaler per spår; kanal 10 är konventionellt reserverad för slagverk |
| Relation till .mid | Bit-för-bit identisk med `.mid`; `.midi` är den långa formen av filtillägget, accepterad på moderna OS men avvisad av DOS 8.3-namngivning |
| Typisk filstorlek | 1 KB - 100 KB; några minuter musik är vanligtvis under 50 KB |
| Karaoke-variant | `.kar`-filer bäddar in lyrik-metahändelser i ett andra spår; i övrigt identiska med SMF Format 1 |
| Relation till MIDI 2.0 | MIDI 2.0 (2020) utökar protokollet men använder andra klippformat; `.midi`/`.mid` SMF är inte ersatt |
| Släppt | Standard MIDI File 1.0 published 1988 (MIDI protocol 1983) |
| Senaste version | SMF 1.0 (stable since 1988); MIDI 2.0 protocol (2020) uses different clip formats |
| Öppen standard | Ja · royaltyfri |
| Specifikation | midi.org |
MIDI-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om MIDI-filer.