
De
nombreux logiciels, cartes sons et synthétiseurs affichent désormais
une compatibilité avec l'une des trois normes GM, GS, ou XG. Si l'utilité
du General MIDI n'est plus à prouver, la cohabitation de plusieurs standards
mérite quelques éclaircissements.
Pour l'utilisateur souhaitant simplement écouter une musique, ou pour le
concepteur multimédia désireux d'ajouter un fond sonore à
son application, le format Midifile fut une aubaine. Il assurait en effet que,
quelle que soit sa configuration matérielle et logicielle, on pourrait
aisément rejouer une séquence composée par un autre. Mais
seules les notes et la gestuelle du musicien étaient codées, ne
garantissant en rien une similitude sonore entre deux environnements. En effet,
les sons de chaque carte, de chaque synthétiseur, étaient différents,
à la fois par leur timbre mais aussi par leur organisation. Le patch numéro
15 pouvait être un piano sur un synthétiseur X, et une trompette
sur un synthétiseur Y. Une connaissance du MIDI, ainsi qu'une patience
sans limite étaient donc requises afin de faire les réglages nécessaires
pour écouter le morceau d'un musicien travaillant sur une autre plateforme.
La MMA (Midi Manufacturers Association) remédia à ce problème
en créant en 1991 le standard GM (General MIDI), dont le but est justement
d'unifier le comportement des générateurs de sons face à
une séquence Midifile. Pour prétendre afficher le logo tant convoité,
un instrument doit être multitimbral et polyphonique sur au moins 24 voies,
et inclure un minimum de 16 familles de timbres (pianos, guitares, cordes...),
regroupant chacune 8 variations (par exemple, pour les cordes : violon, violoncelle,
contrebasse, etc... Pour plus d'informations, voyez la seconde partie de ce dossier
"Référence GM").
Le principal avantage de cette unification est qu'à chaque numéro
de patch correspond désormais un instrument du même type quelle que
soit la machine. Ainsi l'instrument n°71 sera toujours un basson et le n°12
un vibraphone. Le générateur doit également contenir un kit
de batterie, dont le mapping (emplacement des percussions sur le clavier) est
lui aussi normalisé. Enfin, les
contrôleurs
MIDI continus les plus courants doivent être reconnus.
Remarques
Certains ont trouvé que le standard GM n'était pas très précis
: décrire une sonorité uniquement par un nom d'instrument demeure
assez évasif... C'est pourquoi la MMA planche actuellement sur deux autres
niveaux de standardisation.
D'autres ont remarqué que le GM était trop sommaire, comme le constructeur
Roland, qui présenta à peu près en même temps un système
similaire : le GS ou General Standard. Bien que compatible avec le GM, il n'est
pas normalisé et ne concerne que les instruments de la marque Roland. Par
contre, il va beaucoup plus loin, proposant d'accueillir jusqu'à 16384
sonorités (128 banques de 128 sons), les instruments absents étant
automatiquement remplacés par leur plus proche voisin (du point de vue
sonore). Plusieurs kits de batterie sont également disponibles et il est
possible, par l'intermédiaire des messages NRPN, de régler les paramètres
des sons : résonance d'un filtre, vitesse d'un LFO etc... Le GS fut mis
à contribution dans les premières machines Roland qui suivèrent
la création de la norme, tel le Sound Canvas. Bien que les messages exclusifs
ne soient pas standardisés dans le GS, il sont les mêmes pour toutes
les machines s'y référant.
Plus récemment, un autre géant nippon, Yamaha, proposa sa propre
version, allant encore plus loin dans la précision des possibilités
décrites par la norme. Il s'agit du XG, pour, vous l'aurez compris, eXtended
General MIDI. Celui-ci, également compatible avec le GM, autorise en
particulier une édition plus poussée des paramètres du
son et une normalisation des messages exclusifs. Les premiers synthétiseurs
utilisant la norme XG étaient les QS300 et CS-1x, ainsi que les MU50,
MU80 et autres cartes DB50XG.
Les fichiers 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 de fichiers
MIDIfile.
Si chaque séquenceur 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 Midifile 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 encore en 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 avec les MP3. 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.
Un grand merci au forum des arts pour leur aimable autorisation de publication
du présent article.
Cet article est tiré de celui initalement publié à l'adresse
suivante : http://perso.wanadoo.fr/cidetec/midi.html.