Les formats MIDIFILE
A l'image du MIDI - une normalisation exemplaire de la communication entre
instruments électroniques - le format MIDIFILE est devenu le standard
universel de stockage des séquences. Aucun séquenceur digne de ce nom, aussi
complexe soit-il, ne saurait en ignorer l'importation ou l'exportation.
Si chaque logiciel propose bien évidemment son propre format, le MIDIFILE
s'est imposé comme un véritable standard de fait, une passerelle
incontournable entre des logiciels et des plateformes différentes. Le fichier,
ayant pour extension .mid ou .smf, est organisé sous forme d'une succession de
"chunks". Un chunk est une sorte de paragraphe, à l'intérieur duquel on
développe une idée. Un chunk dispose toujours d'une entête, indiquant son nom
et la taille des données qu'il contient. La principale particularité de ce
type de format de fichier est de pouvoir subir des modifications et des ajouts
en restant compatible. En effet, grâce aux entêtes, il devient
particulièrement facile pour un logiciel de "sauter" un chunk qu'il ne connaît
pas.
Un MIDIFILE est composé d'un chunk "Header" (entête) suivi d'un ou plusieurs
chunks "Track" (piste). Si le fichier peut avoir trois formats, seuls les deux
premiers sont réellement exploités. Un fichier au format 0 contient une seule
piste correspondant à l'ensemble des informations relatives aux canaux MIDI.
C'est généralement le format privilégié des programmes de relecture (les
"players") qui n'offrent pas de possibilités d'édition évoluées. Un MIDIFILE
de format 1, au contraire, contient une ou plusieurs pistes (à jouer
simultanément), chacune renfermant des informations propres à un canal. Les
MIDIFILES de format 2, quant à eux, n'ont pas une structure linéaire: ils
contiennent différentes pistes représentant des patterns indépendants.
Le chunk "Header" contient l'entête du fichier MIDIFILE. Celle-ci a une
longueur fixe. Elle spécifie l'organisation générale du fichier, à savoir le
type du MIDIFILE, le nombre de pistes qu'il contient, ainsi que sa résolution
temporelle (par rapport au ticks du séquenceur, ou en code SMPTE ou MIDI Time
Code).
Viennent ensuite un ou plusieurs chunks "Track", c'est à dire une ou
plusieurs pistes. Une piste est une succession d'événements, chacun précédé
par un "delta-time". Un "delta-time" est une référence temporelle relative,
c'est à dire qu'il marque le temps écoulé depuis le delta-time précédent. Au
nombre des événements, on trouve des messages MIDI conventionnels (Note On,
changement de patch, contrôleur continu etc...), des messages exclusifs, et
des méta-évènements. Certains de ces méta-événements accueillent des données
textuelles (Copyright, nom de la séquence, d'une piste ou d'un instruments,
paroles d'une chanson ou commentaires etc...). D'autres plus indispensables,
règlent le tempo, la signature ou la clef d'une composition (les valeurs par
défaut sont le 4/4 à120 BPM). Enfin, à l'image des messages exclusifs, un code
spécial, est réservé à des méta-événements spécifiques au séquenceur utilisé.
Les MIDIFILES sont relativement économes en stockage, complets, et assez
évolutifs pour ne pas se démoder trop rapidement, ce qui est d'ailleurs
maintenant prouvé puisqu'ils existent depuis 1987 et sont encore l'une des
denrées les plus convoitées sur Internet. L'assurance de pouvoir migrer d'un
logiciel à l'autre, voire d'une plateforme à l'autre, sans pour autant perdre
ses données ou les voir altérer par une quelconque conversion hasardeuse leur
assure encore un bel avenir.
Chapitre suivant, Chapitre Précédent
Table des matières de ce chapitre, Table des matières générale