| A5) La Norme MIDI |
| Écrit par Mastaroth | |||||||||||||||||||||||||||||||
| 03-02-2008 | |||||||||||||||||||||||||||||||
V) LA NORME MIDI
|
|||||||||||||||||||||||||||||||
|
Bit de Start |
Type de message |
Bit de Donnée |
Bit de Donnée |
Bit de Donnée |
Bit de Donnée |
Bit de Donnée |
Bit de Donnée |
Bit de Donnée |
Bit de Stop |
Figure 2 : Représentation d’une trame MIDI
Le code binaire est décomposable en deux catégories :
- L’octet de statut : Il permet au récepteur d’interpréter quel type de message lui envoie l’émetteur. Le 1er bit a pour fonction de définir le type d’octet (à 1, dans ce cas). On dispose donc de 3 bits pour définir la fonction assignée à la touche puis de 4 bits pour définir quel canal midi est utilisé(16 canaux). (cf. figure 29)
|
Type de message = 1 |
Bit de statut |
Bit de statut |
Bit de statut |
Bit de canal |
Bit de canal |
Bit de canal |
Bit de canal |
Figure 3 : Représentation d’un octet de statut
- L’octet de données : Il vient compléter le message précédent et agir sur le même canal.. Le 1er bit a la même fonction que pour l’octet de statut (il est à 0). Ainsi le système peut faire la distinction entre l'octet de statut et l'octet de données. La représentation des données ne se fait que sur 7 bits ce qui donne 128 possibilités différentes (2): de 0000000 à 1111111, soit de 0 à 127.
|
Type de message = 0 |
Bit de données |
Bit de données |
Bit de données |
Bit de données |
Bit de données |
Bit de données |
Bit de données |
Figure 4 : Représentation d’un octet de données
Exemple : Prenons l'exemple d'un appui sur une note de clavier d'un appareil Midi. Ce geste déclenchera l'envoi d'un message "Note on" (message de note enfoncée). En recevant ce message, un générateur de son jouera le numéro de note correspondant.
Cette action débute de la manière suivante:
L'octet de Statut
Sur l'octet de statut (indiqué par le 1er bit) , la fonction est désignée par la valeur "0 0 1" ; « cccc » représente le numéro du canal.
Pour cccc = 0000 en binaire, on a 0 * 2 3 + 0 * 2 2 + 0 * 2 1 + 0* 2 0 = 0 en base décimale
Pour cccc = 1111 en binaire, on
a 1 * 2 3 + 1 * 2 2 + 1 *
2 1 + 1* 2 0 = 15 en base décimale
Soit 16 valeurs différentes
correspondant aux 16 canaux Midi.
Les octets de Données
Sur le 1er octet de donnée (indiqué par le 1er bit) , la valeur des 7 bits de données caractérise la note, il y a ainsi 128 notes disponibles (27 = 128).
En deuxième octet de données, on ajoute les informations de "Vélocité".
La vélocité : Sur un piano, toutes les manières de toucher le clavier ne se traduisent que par une force de frappe de la corde elle-même définie par la force de frappe du marteau. Il s'en suit une modification du timbre et de l'intensité.
La vélocité, elle aussi codée sur 7 bits, dispose de 128 valeurs différentes.
Ainsi :
Après l'appui provoquant la note « on », le relâchement déclenche le message "note off" pour stopper la génération du son.
La norme MIDI permet d'envoyer et de recevoir des messages MIDI sur 16 canaux différents. L'existence de ces canaux est venue de la nécessité de pouvoir piloter plusieurs générateurs de sons (expanders) ou synthétiseurs à partir d'un clavier unique. Il est donc possible de diriger en même temps sur un même câble des messages différents vers des instruments distincts (chaque instrument ayant un canal MIDI propre). Chaque message sera reçu par tous les appareils MIDI mais ce message ne sera reconnu que par les appareils qui auront été affectés au même numéro de canal.
Remarque : Si vous réglez deux expanders sur le même canal de réception vous obtenez un layer (son en couche) c’est à dire que les expanders jouent à l'unisson.
En configurant un clavier de telle sorte que tout ce qui soit joué au dessous du Do central (note C3) soit émis par exemple sur le canal 1 et au dessus sur le canal 2, vous obtenez un clavier "splitté" (partagé) avec un son sur une partie du clavier et un autre son sur l'autre partie.
Note ON
Le message "Note On" correspond à l’envoi d’une note. L’octet de statut est dans ce cas suivi de deux octets de données: l’un décrivant la hauteur de la note, c'est à dire la touche pressée, l’autre la vélocité avec laquelle elle s’est enfoncée (et donc la force avec laquelle le musicien a appuyé), afin de transmettre la nuance. La tessiture du MIDI s’étend sur 128 notes. La valeur 60 correspond au Do central d'un piano 88 touches.
Note OFF
Le message "Note Off" sert fort logiquement à couper une note. Il est lui aussi composé de deux octets de données (hauteur de la note à couper, et rapidité de coupure). On utilise également assez souvent un message "Note On" avec une vélocité de 0 pour couper une note. Ce code est l'inverse de la note on.
Chanel pressure
Les messages de
pression "Channel Pressure" et "Polyphonic Key
Pressure" sont émis lorsque le musicien, après
avoir enfoncé une touche, applique une pression supplémentaire
sur cette dernière. C'est pourquoi on parle plus souvent
d'AFTERTOUCH. Les messages "Channel Pressure" influent de
façon identique sur toutes les notes d'un canal MIDI, car un
seul capteur de pression est utilisé pour l'ensemble du
clavier. Certains claviers transmettent des "Polyphonic Key
Pressure", qui agissent séparément sur chaque
note, au lieu des "Channel Pressure" qui affectent toutes
les notes d'un canal MIDI de la même façon. La valeur de
ce paramètre va de 0 à 127.
Pitch Bend
Le message "Pitch Bend" sert à modifier la fréquence des notes jouées. Il agit comme la molette du même nom, située à la gauche des synthétiseurs. Sa résolution (ou précision), ainsi que l'amplitude maximale des variations qu'il occasionne, varient selon les machines.
Program Change
Le changement de programme correspond à la sélection d'un instrument sur un synthétiseur. Il est ainsi possible de passer d'une trompette à une guitare en cours de morceau. Les valeurs théoriques sont de 16 384 soit 128 banques de 128 sons.
Control Change
Le message "Control Change" permet de modifier, en temps réel et de façon continue, différents paramètres d'une machine. L'octet de statut est suivi de deux octets de données, le premier correspondant au contrôleur que l'on souhaite modifier, le second à sa nouvelle valeur. Les 128 contrôleurs possibles sont répertoriés dans une table (certains restent encore indéfinis). Selon la machine, ils seront ou ne seront pas reconnus. Parmi les messages de contrôle continu, plusieurs méritent que l’on s’attarde un peu. Les grands classiques tout d’abord, comme la modulation (contrôleur numéro 1) qui correspond à la molette du même nom, mais aussi comme le volume (numéro 7), la balance (numéro 8) ou encore le panoramique (positionnement d’une source sonore dans l’espace stéréophonique, numéro 10). Ce sont ces paramètres auxquels vous avez parfois accès lors de la restitution d'un fichier MIDIFILE par un programme de relecture.
Le contrôleur numéro 0 : avec l’augmentation des mémoires et des instruments dans les générateurs sonores (cartes sons…), une nouvelle technique a été retenue par la MMA pour choisir un instrument parmi plus de 128; celle-ci consiste à choisir une banque de 128 instruments via un message "Control Change" de numéro 0, puis à envoyer un "Program Change" conventionnel qui choisira un instrument dans la banque sélectionnée. Au total ce sont donc 128*128=16384 instruments qui sont potentiellement disponibles.
Enfin, les 7 derniers numéros de contrôleurs sont assez spéciaux et sont réservés aux messages de modes. Avec eux, on coupe instantanément le son ("All sound off"), les notes MIDI actives ("All notes off"), et on remet à zéro les contrôleurs ("Reset all controllers"). Il est également possible, à l’aide du message de mode "Local On/Off", d'activer ou de désactiver la liaison clavier/générateur de son d’un synthétiseur, afin par exemple de s’en servir comme simple clavier maître. Les modes "omni on/off" et "poly/mono" règlent pour leur part le comportement multitimbral et polyphonique de l'instrument.
Système exclusif (SysEx)
Il s’agit d’un code propre à chaque constructeur permettant la programmation en profondeur de chaque synthétiseur.
Le MIDI Clock
C'est une horloge
de synchronisation entre 2 séquenceurs MIDI.
Le MIDI Time Code (MTC)
C’est un code SMPTE rendant possible la synchronisation d'un multipistes ou d'un magnétoscope à un séquenceur ou un ordinateur.
Les contrôleurs MIDI sont un ensemble de 128 messages, numérotés de 0 à 127 qui sont prévus pour contrôler divers paramètres MIDI. Certains contrôleurs sont réservés à des fonctions simples : réglage du volume (contrôleur n°7), du panoramique (contrôleur n°10) etc. D'autres contrôleurs sont réservés à des fonctions moins courantes (exemple le contrôleur n°73 : attaque du signal).
Beaucoup de contrôleurs n'ont pas été officiellement définis ; les constructeurs peuvent donc implémenter de nouvelles fonctions de contrôle spécifiques sur leurs propres appareils. Quand on envoie des messages de contrôleurs MIDI dans un séquenceur, il est important de les rentrer dans le bon ordre en laissant quelques instants entre chaque évènement pour que les appareils auxquels ils sont destinés réagissent. (cf. annexes : Tableau des contrôleurs MIDI p89)
Physiquement, la norme MIDI impose l'utilisation de connecteurs DIN 5 broches à 180 degrés. Le standard DIN étant peu répandu chez les musiciens, il facilite la différenciation entre les connections MIDI et les connections audio. Le connecteur DIN 5 broches se décline en trois ports différents, multipliant les possibilités de branchements : IN, OUT, et THRU (cf. figure 27).
Figure 5 : Représentation de la connectique MIDI
Il y a quelques
années, les constructeurs ont fait évoluer ce standard
matériel, en proposant le port "TO HOST".
Contrairement aux ports DIN classiques monodirectionnels, ce dernier
est bidirectionnel (IN et OUT) sur un port mini DIN 9 broches. Ce
port est parfaitement adapté à la connexion au PC. En
règle générale, les instruments MIDI proposent
les ports MIDI classiques (IN, OUT et THRU). En revanche, le port "TO
HOST" n'est pas systématique, mais lorsque c'est le cas,
il vient toujours en addition des ports MIDI habituels, en laissant
ainsi le choix de la connexion.
L'isolation optoélectrique
De manière à éviter les parasites électriques, et notamment les boucles de masse, chaque connecteur MIDI-IN est équipé d'une isolation optoélectrique. Le principe consiste à alimenter la LED (diode électroluminescente) par la boucle de courant. Suivant son état de tension, la LED éclaire ou n'éclaire pas un transistor photoélectrique, qui à son tour laisse ou ne laisse pas passer le courant. De par cette isolation, les risques d'interférences entre les informations MIDI et les circuits de l'instrument sont éliminés.
Figure 6 : Représentation d’une isolation optoélectrique
NOTES :
L'opto-isolateur
préconisé par la norme est le Sharp PC-900
(HP
6N138 ou autre moyennant adaptation du circuit.)
Les portes "A" sont des CI ou des transistors.
Les résistances ont une tolérance de 5%
Nous avons vu que la liaison MIDI est bidirectionnelle, c'est à dire que les informations peuvent circuler dans les deux sens : de l'instrument A vers le B, et réciproquement.
Au minimum, chaque appareil MIDI possède deux prises: une prise de sortie (MIDI-OUT), et une prise d'entrée (MIDI-IN). La liaison la plus simple entre deux unités MIDI A et B (cf. figure 32) prend la forme d'une liaison omnidirectionnelle de A vers B ou de B vers A. C'est la liaison one-way (à sens unique). En raccordant la prise MIDI-OUT d'un synthétiseur A à la prise MIDI-IN d'un synthétiseur B, ce dernier répond automatiquement aux notes enfoncées sur le clavier A. Ici, un seul câble suffit.
Figure 7 : Représentation d’une liaison One-Way
Dans une liaison One-Way, la prise MIDI-OUT d'un instrument A transmet des données à l'instrument B par la prise MIDI-IN de ce dernier.
En connectant les deux appareils de A vers B et de B vers A (MIDI-OUT de A vers MIDI-IN de B et réciproquement), on obtient une liaison bidirectionnelle à deux câbles : la liaison handshake (cf. figure 33). Outre la possibilité de commander simultanément le synthétiseur B du synthétiseur A et le synthétiseur A depuis le B, nous sommes en mesure de procéder à des échanges de type dialogue (message MIDI système exclusif, etc).
Figure 8 : Représentation d’une liaison handshake
La liaison Handshake est représentée par deux liaisons One-Way entre deux instruments (MIDI-OUT de A vers MIDI-IN de B, et réciproquement). Ainsi, les messages MIDI peuvent circuler dans les deux sens, simultanément ou non.
Par extension, pourquoi ne pas connecter trois appareils MIDI A, B et C à l'aide de deux liaisons one-way (cf. figure 34)? En raccordant la prise MIDI-OUT A à la prise MIDI-IN B, et la prise MIDI-OUT C à la prise MIDI-IN A, on pilote A de C, et B de A. En ajoutant à l'ensemble un câble reliant la prise MIDI-OUT B à la prise MIDI-IN C, on contrôle C de B.
Figure 9 : Représentation de 2 liaisons One-Way
Dans cette configuration, A pilote B, B pilote C, mais A ne pilote pas C.
Les limitations du système précédent sont les suivantes : il est impossible de contrôler deux appareils (deux prises MIDI-IN) d'une troisième (une prise MIDI-OUT). C'est pourquoi la majorité des appareils MIDI possèdent un troisième type de prise, nommée MIDI-THRU (à travers). Cette prise est destinée à ré-émettre les messages MIDI reçus par la prise MIDI-IN. C'est en quelque sorte une multiprise.
De ce fait, en connectant la prise MIDI-OUT A à la prise MIDI-IN B, et la prise MIDI-THRU B à la prise MIDI-IN C, on pilote B et C depiuis A, les informations reçues par B étant dupliquées par la prise "Thru" et acheminées vers C. C'est la liaison Daisy-chain (ou liaison en cascade). Le nombre d'appareils succeptibles d'être théoriquement raccordés n'est pas limité, puisque rien n'empêche de connecter la prise MIDI-THRU C à la prise MIDI-IN D, et ainsi de suite. Contrairement aux bruits qui courent, une longue liaison en cascade n'induit quasiment aucun délai (en moyenne 2 microsecondes par instrument en fonction du temps de réponse des opto-isolateurs). Par contre, les fronts ascendants et descendants du signal ont une forte tendance à se dégrader et à se décaler progressivement, donnant lieu à des interprétations erronées des messages MIDI. C'est pourquoi il est conseillé de ne pas dépasser trois instruments dans une configuration "daisy-chain" (cf. figure 35).
Figure 10 : Représentation d’une liaison Daisy-Chain
Les données reçues par l'instrument B depuis
l'instrument A sont dupliquées pour aller vers l'instrument C,
qui transmet à son tour à l'instrument D, et ainsi de
suite. C'est la liaison Daisy-Chain.
Par cette prise, tous les messages MIDI transitent sur le câble et dans les deux sens (émission et réception). Le câble «to host » est composé à une extrémité d’une prise mini-din rectangulaire à neuf points mâles et à l’autre, d’une prise série classique rectangulaire à neuf points mâles aussi. Afin de pouvoir utiliser ce câble il faut posséder un synthétiseur ou expander intégrant cette fameuse prise mini-din version femelle. C’est le cas de la plupart des synthétiseurs récents, elle se trouve à l’arrière de l’instrument MIDI, indiquée par la mention «to host » ou bien «serial » ou encore «pc ». Ce branchement présente l’avantage de ne pas avoir à utiliser l’interface MIDI de la carte son (souvent douteuse) et de fonctionner sur tous les types de PC, y compris les portables et les ordinateurs dépourvus de carte son.
Pour accroître les performances d'un réseau MIDI, il existe une multitude de boîtiers destinés à mélanger, à séparer ou à "router" les signaux. Voici un rapide aperçu de leurs possibilités.
Alternative au réseau Daisy-Chain, il est constitué d'une prise MIDI-IN et de plusieurs prises MIDI-THRU. Les signaux entrants sont dupliqués en autant d'exemplaire que de prises MIDI-THRU. Il évite ainsi la dégradation des signaux, simplifie les connections et libère les prises MIDI-THRU des instruments connectés pour l’ajout d'éventuels réseaux Daisy-Chain. Cette configuration porte le nom de Star-Network (réseau en étoile)(cf. figure 36).
Figure 11 : Représentation d’un réseau en étoile (Star-Network)
Le MIDI Thru Box duplique les messages reçus sur sa prise MIDI-IN en autant de versions qu'il possède de sorties (prises MIDI-THRU). Il permet d'obtenir un réseau en étoile (Star-Network), alternative aux connections en cascade (Daisy-Chain).
Imaginons que l'on désire piloter un instrument C à partir de deux instruments A et B. Pour ce faire, il convient de mélanger (merger) les signaux en provenance des prises MIDI-OUT A et B, dans le but de les acheminer à la prise MINI-IN C. Le mélange des messages MIDI n'a rien à voir avec le mélange de signaux audio, tels que ceux issus des consoles de mixage (analogique). De par ses caractéristiques, l'interface MIDI transmet les messages les uns après les autres (en série). Si deux messages en provenance de A et B arrivent au même instant à l'entrée du merger, il devra accorder une priorité à l'un d'entre eux, tout en faisant patienter l'autre le temps de sa transmission. De rares mergers acceptent de mélanger plus de deux signaux MIDI (cf. figure 37).
Figure 12 : Représentation d’une configuration avec l’utilisation du MIDI Merger
Le MIDI Merger mélange les messages provenant de deux instruments branchés sur ses prises IN et renvoie le résultat du mélange sur la prise OUT. En branchant la sortie du Merger à un autre instrument on peut jouer le résultat du mélange des messages.
Le patch MIDI (cf. figure 38) est une matrice de raccordement constituée d'un certain nombre de prises MIDI-IN et MIDI-OUT : patch 8x8 (8 entrées/8 sorties), 16x16 (16 entrées/16 sorties), etc. Après avoir connecté les prises MIDI-OUT et MIDI-IN des instruments aux prises MIDI-IN et MIDI-OUT du patch, il suffit de programmer chaque prise MIDI-IN du patch, de manière à en diriger les signaux vers une ou plusieurs prises MIDI-OUT à déterminer. Chaque prise MIDI-OUT n'accepte des signaux qu'en provenance d'une seule prise MIDI-IN, à moins que le patch ait la fonction Merger intégrée. Par contre, les signaux en provenance d'une prise MIDI-IN peuvent être acheminés vers plusieurs prises MIDI-OUT (fonction MIDI-THRU). La plupart des patchs MIDI autorisent la mémorisation de plusieurs schémas d'assignation. Il est ainsi possible de modifier la configuration d'un réseau MIDI par simple rappel de la mémoire correspondante.
Figure 13 : Représentation du MIDI Patch
Tel qu'est programmé le patch, les instruments A et B pilotent les instruments D, E et F (les entrées A et B sont "mergées"), tandis que l'instrument C pilote les instruments G, H, I et J.
La norme MIDI est suffisamment ouverte pour favoriser l’ajout régulier de nouveaux messages. De plus, il s’agit avant tout d’un protocole de communication, qui peut donc s’appliquer à de nombreux types d’appareils. C’est le rôle de la MMA (MIDI Manufacturers Association) et du JMSC (Japanese MIDI Standard Commitee) que d’entériner de nouveaux messages et des addendum à la norme originelle, proposés par les constructeurs et les utilisateurs avertis. C’est ainsi que sont nés le MIDI Sample Dump permettant de transférer des échantillons, le MIDI Show Control et le MIDI Machine Control à même de piloter les machines les plus diverses, ou encore le standard GM (General MIDI) et le format de fichier 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, ce qui en fait une passerelle incontournable entre des logiciels et des plates-formes 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 suite d’informations. Un chunk dispose toujours d'un en-tê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 en-têtes, il devient particulièrement facile pour un logiciel de "sauter" un chunk qu'il ne connaît pas.
Un fichier MIDIFILE est composé d'un chunk "Header" (en-tê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 :
Format 0 : Il regroupe toutes les pistes sur un seul canal MIDI, autrement dit, il rassemble toutes les données du fichier (MIDIFILE) sur une seule piste. Par exemple, lors de l'édition, dans un logiciel tel que Cubase, d'un morceau de musique au format MIDI numéro 0, comprenant une piste de piano, une piste de guitare, 3 pistes différentes de violons, on les retrouve toutes regroupées en une seule attribuée à un canal unique.
- Format 1 : Il contient une ou plusieurs pistes, jouées simultanément, chacune étant assignée à un canal différent, autrement dit, il laisse chaque partition sur sa propre piste. Par exemple, si l’on reprend la structure du morceau de musique précédemment cité, on retrouve la piste de piano sur le canal 1, la piste de guitare sur le canal 2 et les 3 pistes de violons sont respectivement assignées à 3 canaux différents.
- Format 2 : À ce jour, son utilisation est très rare. Il possède les mêmes caractéristiques que le format 1. La seule différence réside dans le fait qu’il puisse envoyer des commandes à des sources extérieures (expander) pendant la lecture du morceau par la carte son.
Le chunk "Header" contient l'en-tête du fichier MIDIFILE. Celle-ci a une longueur fixe. Elle spécifie l'organisation générale du fichier, à savoir le type de MIDIFILE, le nombre de pistes qu'il contient, ainsi que sa résolution temporelle (définie par les tics du séquenceur en code SMPTE ou 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, qui 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étas événements accueillent des données textuelles (Copyright, nom de la séquence, d'une piste ou d'un instrument, 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étas é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 plate-forme à l'autre, sans pour autant perdre ses données ou les voir altérer par une quelconque conversion hasardeuse leur laisse encore un bel avenir.
De nombreux logiciels, cartes sons et autres 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 a été 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 une machine Y. Une connaissance du MIDI, ainsi qu'une patience sans limite étaient donc requises afin de faire les réglages nécessaires pour écouter son morceau favori.
La MMA 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 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...). 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 continus les plus courants doivent être reconnus.
Certains ont trouvé que ce standard 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 travaille 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... Bien que les messages exclusifs ne soient pas standardisés dans le GS, ils sont identiques pour toutes les machines s'y référant.
Plus récemment, un géant nippon, Yamaha, a proposé sa propre version, allant encore plus loin. Il s'agit du XG, pour 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 non-initiés ont souvent tendance à ne pas faire la différence entre le MIDI et l’audionumérique (cf. figure 40).
En apparence, ces deux
systèmes remplissent le même rôle : enregistrer de
la musique en multi canal par l'intermédiaire d'équipements
numériques.
L'enregistrement numérique repose
sur l'échantillonnage d'une forme d'onde. Un enregistreur
audionumérique stocke cette séquence de données
et la relit en passant par un convertisseur N/A qui reconstruit la
forme d'onde d'origine. Un enregistreur multipistes dispose d'un
certain nombre de canaux indépendants, ce qui permet de
procéder à l'enregistrement par couches successives.
Par opposition, le MIDI gère les informations numériques
qui contrôlent la génération du son. Les données
MIDI ne représentent pas la forme d'onde elle-même.
Lorsqu'un enregistrement
multipistes est effectué
dans un enregistreur MIDI, il est ensuite relu en transmettant les
données à un certain nombre
d'instruments de musique contrôlés par MIDI et ce sont
ces instruments qui produisent le son.
Figure
14 : Différences entre enregistrement audionumérique
et MIDI
L'audionumérique
peut être stocké et relu sans matériel
additionnel et trouve son emploi dans l'enregistrement de sons
acoustiques comme des voix. Un enregistreur MIDI est quasiment
inexploitable sans générateur de sons.
Avantages du MIDI
Comparé aux formats de numérisation (AIFF...), le format MIDI est très « léger » (quelques k-octets pour plusieurs minutes de musique - pour les adeptes de la MAO, on pourrait faire l'analogie avec les images bitmap/numérisation et vectorielles/MIDI), c'est idéal pour l'Internet. Le fichier est récupéré en quelques secondes, pour plusieurs minutes de musique.
Autre avantage, un fichier MIDI est réutilisable et modifiable : chaque note étant clairement identifiée, elle peut être modifiée facilement. Alors que pour des fichiers numérisés type AIFF, une fois que la batterie est mélangée à la basse, on ne peut plus séparer. Un fichier MIDI donc est éditable, et de nombreux sharewares sont disponibles pour cela.
Dernier point : puisque le fichier MIDI ne contient pas le son lui-même, mais uniquement l'ordre de jouer les notes, il ne subit aucune dégradation, aucun souffle n'apparaît, puisque c'est le synthétiseur (l'ordinateur) qui réinterprète le morceau.
Inconvénients du MIDI
Puisque
le morceau est réinterprété, il faut disposer
d'un synthé de la meilleure qualité possible. Nos
ordinateurs récents devraient être d'excellents synthés
(ils en ont les capacités), pourtant les développeurs
ne se sont pas fatigués : les sons sonnent comme des
cloches, il n'y a pas de réverbération (les sons sont
très «secs» et très pauvres en
harmoniques). En fait, la qualité dépend de la machine
sur laquelle vous allez faire jouer la séquence midi : si
votre synthétiseur ou votre carte son ne comporte que des sons
de piètre qualité, le résultat n'aura que de
très loin l'aspect du morceau original. (il faut quand même
un vrai petit studio d'enregistrement pour lire correctement un
midifile.) De plus, la qualité dépend énormément
de la façon dont a été programmé le
midifile.
| Commentaires |
|