Standard Midifiles

Zie ook:

5-polige DIN MIDI plug

SMF type 0 en SMF type 1

De Standard Midifile is een universeel uitwisselingsformaat voor sequencer bestanden. Het is een uitvinding van Opcode Systems Inc.
Wat ASCII is voor tekstverwerkers is de Standard Midifile voor sequencers. Standard Midifile wordt vaak afgekort tot SMF (maar als we precies zijn, staat die afkorting voor: Standard Midifile Format).

Elk programma slaat bestanden op in een eigen formaat. Onder Windows is dat bestandsformaat herkenbaar aan de extensie. Bij Notator SL is dat .SON, bij Logic Atari is dat .LOG, bij Logic PC is dat .LSO en bij Musicator is dat .MCT. Een bestand met de extensie .LOG kan niet zomaar in Musicator worden geladen.

Als je bestanden van de ene sequencer in de andere sequencer wilt zetten, kun je dat doen via een Standard Midifile. Alle sequencers die wij kennen, kunnen midifiles maken (exporteren) en laden (importeren).

Op PC is een Standard Midifile herkenbaar aan de extensie .MID.

Hoewel er vaste afspraken zijn gemaakt binnen het midi-protocol over midifiles kunnen er toch verschillen bestaan tussen een SMF uit het ene programma en het andere. Dat heeft er meestal mee te maken dat niet elke programmeur alle mogelijkheden van de midifile ondersteunt. Een bekend voorbeeld is tempowisselingen. Het is mogelijk om in een SMF tempowisselingen op te slaan. Alleen doen niet alle sequencers dat. Iets anders is bijvoorbeeld lyrics (songteksten). Er zijn maar weinig programma's die de lyrics meebewaren in een midifile (Logic en Cubase doen het in ieder geval wel).

De naam midifile moet je letterlijk nemen. Het is een file voor midi-data. Dat betekent dat alle midi-data uit een programma doorgaans goed worden overgenomen in een midifile.
Grafische symbolen en layout functies uit het score-gedeelte van een sequence/notatie-programma worden niet in een midifile gezet. Simpelweg omdat er in het SMF protocol geen afspraken zijn voor dit soort functies.

MIDIFILE 0 en 1

Er zijn twee types, of formaten, midifile. Je hebt midifile type 0 en midifile type 1.
In SMF0 staan alle mididata bij elkaar op 1 track. Dat betekent niet dat alle partijen met hetzelfde geluid worden gespeeld, want elke partij heeft zijn eigen midikanaalnummer. In dit geval staan dus meerdere midikanalen op 1 spoor. Als je een SMF0 laadt in je sequencer is het niet eenvoudig om het verschil tussen de partijen te zien. Alle data staan in een klont bij elkaar. Daarom heb je in sommige sequencers de mogelijkheid om die data weer uit elkaar te trekken over verschillende sporen. Midi-data met hetzelfde midikanaalnummer komen dan allemaal op een eigen spoor terecht. Sommige programma's zetten een SMF0 meteen al op verschillende sporen (Musicator bijvoorbeeld).

In SMF1 staan de mididata op verschillende tracks. Elk instrument op een eigen spoor. Een SMF1 lijkt meer dan een SMF0 op de song zoals je die in de sequencer opneemt. Ook hier is het weer zo dat niet elke sequencer een SMF1, na laden, op dezelfde manier laat zien. De juiste manier is dat de volgorde van de sporen met de juiste midi-kanaalnummers in een SMF1 wordt gezet en overgenomen. Bij een aantal sequencers werkt dat goed. Andere sequencers zetten de verschillende sporen niet in de oorspronkelijke volgorde maar zetten alle data met hetzelfde midikanaal op dezelfde sporen. Als er verschillende tracks waren met hetzelfde midikanaal worden die allemaal samengevoegd. De nummering van de sporen wordt dan gebaseerd op de volgorde van midikanalen. Spoor 1 bevat dan alle midi-data met midikanaal 1, spoor 2 met midikanaal 2 enzovoort. Dat is op zich prima, maar het is met Standard Midifile 1 ook mogelijk om de oorspronkelijke trackvolgorde te handhaven. Spoor 1 bevat data met midikanaal 4 en dan bijvoorbeeld nog drie verschillende sporen met midikanaal 10. (voorbeeld: Notator SL doet het op de eerste manier, Logic doet het op de tweede manier).

Een aantal sequencers biedt keuzemogelijkheden bij het maken van midifiles. Musicator Win 2.1 bijvoorbeeld. Als je een SMF type 1 maakt, kun je kiezen dat alle tracks zoals ze in het Overview window staan als afzonderlijke sporen in de SMF terecht moeten komen, maar je kunt ook kiezen dat in de midifile aparte tracks moeten komen voor elk spoor dat een ander midikanaalnummer en andere poortinstelling bevat. Als je voor dat laatste kiest, zullen verschillende sporen die op hetzelfde kanaal uitsturen worden samengevoegd.

Veel sequencers kunnen beide formaten laden en aanmaken. Er zijn een paar sequencers die alleen maar formaat 0 of juist alleen formaat 1 kunnen herkennen en aanmaken. In dat geval is het belangrijk om dus het juiste formaat te kiezen.
Als je een bestand als midifile aan iemand moet geven, is het slim om dat zowel als SMF0 als SMF1 op te slaan. Je weet dan vrij zeker dat er tenminste 1 formaat bij zit dat die ander kan gebruiken.

Er bestaat ook nog een Midifile type 2. Dat wordt voor zover wij weten door geen enkel programma ondersteund. Een SMF2 gaat verder dan het 1-formaat omdat een SMF2 een song ook nog onderverdeeld in verschillende patterns. Er zijn tegenwoordig niet meer zoveel sequencers pattern-georienteerd en daarom is het type 2 midifile ook niet zo relevant meer.

* Met dank aan MOPRO.nl

Donatie

Dit is een gratis site, die al sinds 2003 voortdurend wordt uitgebreid en geactualiseerd. Als jij ook wilt dat dat zo blijft, doe dan een donatie aan Popschool Maastricht >>

QR code http://www.popschoolmaastricht.nl/college_midi_midifile01.php

Bijgewerkt op: 9 Januari, 2017