Hvad er MIDI-filformatet?
En .midi-fil er en Standard MIDI-fil (SMF) - en binær sekvens af musikalske begivenheder produceret af synthesizere, keyboards og digitale lydarbejdsstationer (DAW). Formatet gemmer nodehøjder, anslagsstyrke (velocity), timing, controller-ændringer og instrumenttildelinger, men indeholder ingen samplet lyd. Afspilningskvaliteten afhænger helt af den synthesizer eller soundfont, der bruges til rendering.
.midi er byte-for-byte identisk med .mid. Forskellen er udelukkende filendelsens længde: DOS's 8.3-filnavnegrænse tvang den kortere .mid-form frem, mens moderne operativsystemer accepterer den fulde .midi-stavning. Nogle programmer, især Ableton Live, kræver omdøbning af .midi til .mid før import.
Filen begynder med markøren på fire bytes MThd (MIDI-header-chunk), efterfulgt af en 6-byte header, der erklærer formattype, antal spor og timing-opløsning. Et eller flere MTrk-spor-chunks følger efter. Der findes tre formattyper: Format 0 gemmer alle kanaler i et enkelt spor; Format 1 bruger flere synkrone spor; Format 2 gemmer uafhængige mønstersekvenser.
Standard MIDI File 1.0-specifikationen blev udgivet i 1988 af MIDI Manufacturers Association og er forblevet stabil siden da. MIDI 2.0 (2020) udvider den underliggende protokol, men bruger andre clip-formater; .midi-sekvenser forbliver i udbredt aktiv brug på tværs af DAWs, notationssoftware og hardware-synthesizere.
Sikkerhed og tryghed
RISIKO: LOWStandard MIDI-fil er passive hændelsesdata uden indlejret kode eller makroer, så selve formatet er harmløst. Historisk note: CVE-2012-0003 tillod eksekvering af kode via en manipuleret MIDI i ældre Windows Media Player - dette er for længst rettet. Hold OS og afspillere opdateret. Den største risiko er skuffelse: Afspilningskvaliteten afhænger af synthesizeren/soundfonten, ikke selve filen.
Formatdetaljer
kort fortaltProgrammer der åbner MIDI-filer
Tekniske detaljer
dyb specifikation| Magic bytes | `4D 54 68 64` (`MThd`) ved byte-offset 0, efterfulgt af `00 00 00 06` (længde på header-chunk) |
| Byte-orden | Big-endian |
| Chunk-struktur | `MThd` header-chunk + et eller flere `MTrk` spor-chunks; hver chunk har et præfiks med et 4-byte type-ID og 32-bit længde |
| Formattyper | Format 0 - enkelt spor, alle kanaler; Format 1 - flere synkrone spor; Format 2 - uafhængige mønstre |
| Timing-opløsning | Indstillet i `MThd` divisionsfeltet: ticks per fjerdedelsnode (f.eks. 480 TPQN) eller SMPTE-tidskoderammer |
| Tempo-kodning | Meta-event `FF 51 03` gemmer mikrosekunder per fjerdedelsnode; standard er 500 000 µs (120 BPM) |
| Delta-time kodning | Variable-length quantity (VLQ) går forud for hver hændelse; kompakt kodning, ingen fast størrelse på udfyldning |
| Hændelsestyper | Note-on/off, anslagsstyrke, controller-ændring, program-ændring, pitch bend, aftertouch, SysEx, meta-events (tempo, taktartsangivelse, lyrik) |
| Kanalkapacitet | 16 MIDI-kanaler per spor; kanal 10 er konventionelt reserveret til slagtøj |
| Forhold til .mid | Byte-for-byte identisk med `.mid`; `.midi` er den lange filendelse, der accepteres på moderne OS'er, men afvises af DOS 8.3-navngivning |
| Typisk filstørrelse | 1 KB - 100 KB; et par minutters musik er typisk under 50 KB |
| Karaoke-variant | `.kar`-filer indlejrer lyrik-meta-events i et andet spor; ellers identisk med SMF Format 1 |
| Forhold til MIDI 2.0 | MIDI 2.0 (2020) udvider protokollen, men bruger andre clip-formater; `.midi`/`.mid` SMF er ikke erstattet |
| Udgivet | Standard MIDI File 1.0 published 1988 (MIDI protocol 1983) |
| Seneste version | SMF 1.0 (stable since 1988); MIDI 2.0 protocol (2020) uses different clip formats |
| Åben standard | Ja · royaltyfri |
| Specifikation | midi.org |
MIDI-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om MIDI-filer.