En SMF indeholder ikke kun almindelige MIDI-performancedata – kanaliserede noter, længder, pitch bend-data osv. – den bør også have data (almindeligvis kaldet en “header”), der indeholder yderligere opsætningsdata (tempo, instrumentvalg pr. kanal, controllerindstillinger osv.).) samt sangoplysninger (ophavsretlige meddelelser, komponist osv.).
Hvor godt, eller tro mod sin oprindeligt oprettede tilstand en SMF vil lyde, kan afhænge meget af header-informationerne. Headerne kan udøve kontrol over mix, effekter og endda lydredigeringsparametre for at minimere iboende forskelle mellem et soundset og et andet. Der er ikke noget standardsæt af data, som du skal sætte i en header (sådanne data kan faktisk også placeres i en ekstra “opsætningsbjælke” i selve filens krop), men generelt gælder det, at jo flere oplysninger du giver den modtagende lydenhed, jo mere defineret – og dermed formodentlig også jo mere efter din smag – vil resultatet blive.
Afhængigt af det program, du bruger til at oprette filen i første omgang, kan header-informationer automatisk gemmes fra inden for parametre, der er indstillet i programmet, eller skal måske placeres manuelt i en “opsætningsbjælke”, før musikdataene begynder.
Informationer, der bør overvejes (pr. MIDI-kanal), omfatter:
- Bank Select (0=GM) / Program Change #
- Reset All Controllers (ikke alle enheder genkender muligvis denne kommando, så du foretrækker måske at nulstille eller nulstille individuelle controllere)
- Initial Volume (CC7) (standardniveau = 100)
- Expression (CC11) (initialniveau sat til 127)
- Hold pedal (0 = off)
- Pan (Center = 64)
- Modulation (0)
- Pitch bend-område
- Reverb (0 = off)
- Chorus-niveau (0 = off)
Alle filer skal også begynde med en GM/GS/XG Reset-meddelelse (hvis det er relevant) og eventuelle andre System Exclusive-data, som kan være nødvendige for at indstille målsyntesizeren. Hvis der anvendes RPN’er eller mere detaljerede controller-meddelelser i filen, bør disse også nulstilles eller normaliseres i headeren.
Hvis du selv indtaster header-data, er det tilrådeligt ikke at klumpe alle sådanne oplysninger sammen, men snarere at placere dem i intervaller på 5-10 ticks. Hvis en fil er designet til at blive loopet, vil for mange data, der afspilles samtidigt, få de fleste afspilningsenheder til at “kvæle” og ødelægge din timing.