Wat is het SMF-bestandsformaat?
Bestanden met de extensie .smf bevatten MIDI - Musical Instrument Digital Interface - sequentiegegevens. SMF-bestanden slaan volledige MIDI-afspeelinstructies op voor hardware-synthesizers, software-sequencers en MIDI-compatibele toepassingen. In tegenstelling tot audioformaten zoals .wav of .mp3, bevatten SMF-bestanden geen gesamplede audiogegevens. Om deze reden is een SMF-bestand aanzienlijk kleiner dan vergelijkbare audiobestanden en veel gemakkelijker noot-voor-noot te bewerken in een DAW of sequencer. De SMF-standaardspecificatie werd voor het eerst gepubliceerd in 1988 door de MIDI Manufacturers Association (MMA), en het formaat is sindsdien stabiel gebleven.
Inhoud van SMF - Standard MIDI File
Een SMF-bestand, vaker opgeslagen met de .mid extensie, kan instructies bevatten voor audioapparaten om geluid te genereren, waaronder:
- MIDI-noten (toonhoogte en aanslaggevoeligheid),
- volume- en pan-regeling,
- instrumenttoewijzingen per spoor,
- extra effecten zoals galm of pitch bend.
Het formaat maakt het ook mogelijk om extra informatie op te slaan, zoals tempo-aanduidingen, maatsoorten, songteksten en auteursrecht-metadata. Elk SMF-bestand is verdeeld in een header (MThd) gevolgd door een of meer track-chunks (MTrk).
SMF-bestanden gebruiken om gegevens te delen
De MIDI-standaard is ontworpen voor de overdraagbaarheid van audiogegevens tussen programma's en apparaten. Formaat 0 ondersteunt slechts één samengevoegd spoor, terwijl Formaat 1 meerdere synchrone sporen opslaat en het meest gebruikte type is. Formaat 2 slaat onafhankelijke asynchrone patronen op en is in de praktijk zeldzaam. SMF-bestanden worden ondersteund door sequencers en DAWs zoals MuseScore, Cubase, Logic Pro en Digital Performer, evenals mediaspelers waaronder VLC.
Beveiliging & veiligheid
RISICO: LOWStandard MIDI Files bevatten passieve gebeurtenisgegevens zonder uitvoerbare code. Historisch gezien maakte CVE-2012-0003 code-uitvoering mogelijk via een misvormd MIDI-bestand in Windows Media Player - dit is lang geleden gepatcht, maar houd spelers up-to-date. Verder is een .smf veilig.
Formaatdetails
in een notendop- Simple Machine Forum backup - Sommige bulletinboard-software gebruikt .smf voor forumdatabase-exportbestanden - platte tekst/SQL, volledig ongerelateerd aan MIDI.
Programma's die SMF-bestanden openen
Technische details
diepe specificaties| Magic bytes | `MThd` (hex 4D 54 68 64) op offset 0 - MIDI header chunk-identificatie |
| Header chunk-structuur | `MThd` + 4-byte lengte `00 00 00 06` + formaattype (2 bytes) + aantal sporen (2 bytes) + timing-verdeling (2 bytes) |
| Track chunk magic | `MTrk` (hex 4D 54 72 6B) begint elke track-chunk |
| Byte-volgorde | Big-endian voor alle multi-byte integers |
| Formaattypes | 0 (enkel samengevoegd spoor), 1 (multi-track synchroon - meest voorkomend), 2 (multi-track asynchroon - zeldzaam) |
| Timing-resolutie | Ingesteld door het divisieveld in de header (bijv. 480 ticks/kwartnoot); tempo gespecificeerd door `FF 51` meta-event in microseconden/beat |
| Typische bestandsgrootte | 1 KB - 100 KB; een compleet multi-track nummer is meestal kleiner dan 50 KB |
| Compressie | Geen; delta-tijd gebruikt variable-length quantity (VLQ) codering voor compactheid, geen datacompressie |
| Audio-inhoud | Slaat MIDI-gebeurtenisinstructies op (noot aan/uit, velocity, programmawijziging, controller), geen gesamplede golfvormen |
| MIDI-kanalen | Tot 16 gelijktijdige kanalen per bestand; kanaal 10 is gereserveerd voor percussie volgens de General MIDI-conventie |
| Meta-events | Tempo (`FF 51`), maatsoort (`FF 58`), tracknaam (`FF 03`), songtekst (`FF 05`), auteursrecht, einde-van-spoor (`FF 2F`) |
| MIME-type | `audio/midi`; ook herkend als `audio/x-midi` en `audio/sp-midi` |
| Uitgebracht | 1988 (SMF 1.0 specification) |
| Laatste versie | SMF 1.0 (stable since 1988; unchanged format) |
| Open standaard | Ja · royaltyvrij |
| Specificatie | midi.org |
SMF conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over SMF-bestanden.