Hvad er MID-filformatet?
.mid-filer er tæt beslægtet med .midi-formatet - begge er Standard MIDI File (SMF) sekvenser.
.mid-filer gemmer musikalske fremføringshændelser organiseret med præcis timing. Disse hændelser kan beskrive:
- nodens tonehøjde, anslagsstyrke (velocity) og varighed,
- lydstyrke, ekspression og andre controller-værdier,
- instrumentskift (program changes) på tværs af op til 16 kanaler.
Det skal bemærkes, at .mid-filer ikke indeholder lyddata, kun de instruktioner, der er nødvendige for korrekt afspilning af en synthesizer eller soundfont-motor. Da der ikke gemmes nogen lyd-samples, kan den samme .mid-fil lyde mærkbart forskelligt på tværs af enheder.
Filer med filtypenavnet .mid kan bruges af musikredigeringssoftware såvel som MIDI-hardwareenheder og synthesizere. .mid-filer fungerer som en universel måde at dele musikalske kompositioner mellem programmer - digitale lyd-workstations (DAW), notations-editorer og sequencere understøtter alle formatet. På hardwareenheder kan .mid-filer bruges til at trigge instrumenter, ændre lydparametre som tonehøjde eller varighed og drive automatiserede fremføringer.
Internt bruger en .mid-fil en chunk-baseret binær struktur: en MThd-header-chunk fastlægger formattypen (0, 1 eller 2), antal spor og timing-opløsning, efterfulgt af en eller flere MTrk-spor-chunks, der gemmer delta-tidsstemplede hændelser. .rmi-varianten pakker det samme indhold ind i en RIFF-container, mens .kar-formatet udvider .mid med indlejrede karaoke-tekster.
Sikkerhed og tryghed
RISIKO: LOWEn Standard MIDI Fil er passive hændelsesdata uden indlejret kode eller makroer, så selve formatet er lavrisiko. Historisk bekymring: I 2012 tillod en fejl i Windows' MIDI-parsing (CVE-2012-0003) eksekvering af kode via en manipuleret MIDI i Windows Media Player - dette er for længst rettet, så hold dit operativsystem/afspillere opdateret. Ellers er den største «risiko» skuffelse: en MIDI kan lyde tynd eller forkert, fordi afspilningen afhænger af enhedens soundfont, ikke filen.
Formatdetaljer
kort fortalt- Karaoke MIDI (.kar) - Samme Standard MIDI File-struktur med tekst-meta-hændelser indlejret til karaoke; gemmes ofte også med en .mid-filtype.
- RMID (RIFF MIDI) - En MIDI-sekvens pakket ind i en RIFF-container, nogle gange med en indlejret DLS-lydbank; bruger .rmi, men lejlighedsvis .mid.
Programmer der åbner MID-filer
Tekniske detaljer
dyb specifikation| Filkodning | Binær, big-endian byte-rækkefølge |
| Filsignatur (magic bytes) | `4D 54 68 64` - ASCII `MThd` ved byte-offset 0, efterfulgt af en 4-byte chunk-længde (`00 00 00 06`) |
| Container-struktur | Chunk-baseret: `MThd`-header-chunk efterfulgt af en eller flere `MTrk`-spor-chunks |
| Formattyper | Format 0 - enkelt multikanals-spor; Format 1 - flere synkrone spor; Format 2 - uafhængige mønstersekvenser |
| MIDI-kanalkapacitet | Op til 16 samtidige kanaler pr. fil, der hver kan tildeles et forskelligt instrument eller stemme |
| Timing-opløsning | Indstillet af feltet `division` i `MThd`; udtrykt som ticks pr. fjerdedelsnode (f.eks. 480 PPQ) eller SMPTE-tidskoderammer |
| Hændelses-delta-tidskodning | Variable-length quantity (VLQ) - koder tidsintervaller mellem hændelser ved hjælp af 7 bits pr. byte med et MSB-fortsættelsesflag |
| MIME-type | `audio/midi`; genkendes også som `audio/x-midi` og `audio/sp-midi` |
| Typisk filstørrelse | 1 KB - 100 KB; et par minutters musik er normalt et godt stykke under 50 KB, fordi der ikke gemmes lyd-samples |
| Komprimering | Ingen; hændelser er i sagens natur kompakte via binære opkoder og VLQ-delta-tidskodning |
| Meta-hændelser | Ikke-lyd metadata indlejret i spor: tempo (mikrosekunder pr. slag), taktartsangivelse, toneartsangivelse, spornavn, tekst, ophavsret og slut-på-spor-markører |
| Udvikler / vedligeholder | MIDI Manufacturers Association (MMA) og AMEI (Association of Musical Electronics Industry) |
| MIDI 2.0-kompatibilitet | `.mid` koder MIDI 1.0-beskeder; MIDI 2.0-protokollen (2020) bruger andre containerformater - `.mid`-filer er fortsat i udbredt aktiv brug |
| 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 .midi2/clips, not .mid |
| Åben standard | Ja · royaltyfri |
| Specifikation | midi.org |
MID-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om MID-filer.