V) LA NORME MIDI
Merci à L.Favre pour sa participation à la rédaction de ce cours
5.1 Définitions et principes
Créée
en 1982 par des constructeurs d'instruments de musique électronique,
la norme MIDI (Musical Instrument Digital
Interface), rend possible l'interconnexion et la communication
entre synthétiseurs, sampleurs (échantillonneurs),
ordinateurs, séquenceurs, boites à rythmes, machine à
effets, magnétos, etc.
Cette norme
utilise un langage spécifique (le langage MIDI) offrant la
possibilité d'envoyer des informations d'un instrument vers un
autre. L’interface MIDI est sérielle, bidirectionnelle
(envoie et réception de messages) et asynchrone. Elle n’est
pas synchrone car il aurait fallut à l’émission et à
la réception deux horloges parfaitement synchronisées.
Or l’émission est souvent réalisée par un
humain.
Grâce au
MIDI, on peut coder et enregistrer le jeu d'un musicien en temps
réel : les paramètres que l’utilisateur contrôle
sont transcrits en langage MIDI compréhensible par un système
(MIDI) extérieur. Il faut bien comprendre que ce langage ne
fait pas transiter du son mais est un codage des gestes de commande,
comme l’enfoncement d’une touche, le mouvement d’une pédale.
Depuis sa
création, cette interface standard est devenue un atout
indispensable pour les utilisateurs disposant de plusieurs systèmes.
Le
MIDI est simple à mettre en œuvre et assez souple pour
permettre des interconnexions qui n'ont pour limite que la gestion
logicielle des appareils impliqués. Dès lors qu'un
micro-ordinateur correctement paramétré est
judicieusement introduit dans cette chaîne, on génère
une nouvelle forme d'expression aux possibilités illimitées.
Il
est en fait possible d'interfacer n'importe quel interrupteur,
potentiomètre, capteur sensitif, etc… et d'en transmettre
les informations d'état via un canal MIDI, en vue d'un stockage et d'une interprétation directe ou
différée. Le transfert de paramètres de
réglages, d'échantillons ou tout autre information
spécifique à un fabricant est tout aussi facile. La
télécommande d'un appareil, la transmission d'un code
temporel, la synchronisation « temps réel »
ou la gestion d'une liste d'événements peut s'effectuer
à distance et de façon automatisée.
Le
clavier maître :
pour transcrire les nuances d'une interprétation, les touches
sont munies de capteurs de pressions. D'autres éléments
de commande prennent place sous la forme de boutons d'incrémentation,
potentiomètres, molettes, joysticks, pédales, etc…
Le
générateur de sons
: les outils mathématiques permettent de programmer des
algorithmes afin de produire de nombreux sons et de les filtrer :
synthèse additive, synthèse par modulation, etc…
Selon la puissance des appareils, un nombre limité de sons
peut être restitué au même instant.
L'expander
: des banques de sons
rassemblées dans un même boîtier restituent des
notes par le biais de codes MIDI. Les divers sons peuvent être
affectés indépendamment à plusieurs canaux MIDI.
L'échantillonneur
: après avoir
choisi les paramètres d'échantillonnage, il est
possible d’enregistrer, stocker et restituer des sons d'une petite
durée. Des éditions plus ou moins poussées
autorisent la modification de la restitution du son initial.
Le
séquenceur
: enregistre des
morceaux de musique sur plusieurs pistes, sans rapport avec les
canaux MIDI.
La
boîte à rythmes
: intègre un
expandeur dédié uniquement aux percussions et un
séquenceur simplifié. Elle peut être synchronisée
en tant que maître ou esclave dans une chaîne MIDI.
Les
instruments interfacés par des capteurs :
pad sensitif de percussion, contrôleur de souffle pour
instruments à vent, interfaces pour violon ou guitare…
L'ordinateur
: équipé
d'une carte MIDI, il gère plusieurs sorties de 16 canaux et,
parallèlement, il réalise des tâches souvent
complexes telles que la gestion d’une interface graphique
conviviale. L'ordinateur est aussi un puissant outil de sauvegarde.
Les
logiciels d'édition
: éditer des
partitions de musiques et des arrangements avec des logiciels
adéquats. Il est possible d'intervenir sur n'importe quelle
couche des données MIDI.
La
MIDI thru box
: c'est un boîtier
qui « recopie son entrée vers plusieurs sortie »
sans modifier les informations transmises. Avec plusieurs prises thru
virtuelles, on distribue le signal MIDI sans que le cumul des temps
de transfert s'ajoute pour chaque nouvel appareil introduit dans une
chaîne MIDI.
Le
merger :
pour mélanger des signaux midi il est indispensable de gérer
la réception des deux lignes à mélanger, traiter
les priorités dans les messages, élaborer une trame
commune et l'envoyer vers la sortie ; la tâche est
complexe et nécessite des ressources importantes.
La
matrice :
dirige les informations présentées sur ses entrées
vers ses sorties. Un tel routage configuré par l'ordinateur
peut rappeler des configurations déjà mémorisées.
Le
répétiteur
: est obligatoire
pour franchir les 15m prescrits ; il traite et transforme le
signal MIDI afin de préserver l'intégralité et
l’intégrité des données à transmettre.
La
console de mixage
: une console de
mixage peut piloter des machines équipées MIDI ou être
pilotée à distance et de façon automatisée
par un micro-ordinateur.
Le
multi-effet :
ici, il est aussi question de paramétrage et de transfert de
mémoire (dump).
Le
VCA :
ou Voltage Control Amplitude pour faire varier une tension de
commande de la même façon qu'un « fader »
d'une console son.
Le
convertisseur Time Code / MIDI
: Module qui lit un
code temporel et le convertit en messages MIDI.
Le
pupitre d'éclairage
: si le protocole
MIDI est géré par un pupitre, il devient très
facile de gérer des interactions avec d'autres machines
prévues ou non à cet effet.
Le
relais MIDI :
un signal MIDI peut aussi assurer la commande d'un ou plusieurs
relais qui autorisent alors toutes sortes de commandes comme des
mouvements de décors motorisés.
5.2 Caractéristiques
Le protocole MIDI
permet de décrire une musique complète en binaire.
Cette transmission effectuée, l'UART bascule en mode d'attente
du prochain bit de start, et ainsi de suite. A chaque message
décrivant une action du musicien, correspond un code binaire.
Lorsqu'un musicien joue une note sur son clavier, il transmet un
message MIDI. Chaque message qui transite par les câbles MIDI
est formé de plusieurs mots de 10 bits. A la réception
d'un bit de start dans la prise MIDI-In, l'interface série
s'attend à réceptionner 8 bits les uns derrière
les autres, pour les stocker un à un dans sa mémoire
interne. Le bit de stop lui confirmant la bonne transmission d'un
octet, elle est alors prête à envoyer d'un seul tenant
les 8 bits au microprocesseur (sur 8 fils différents,
regroupés sous l'appellation de bus de données). (cf.
figure 28)
-
|
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.
5.3 Les canaux MIDI
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.
5.4 Les principaux messages MIDI
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.
5.5 Les Contrôleurs MIDI
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)
5.6 Les Connecteurs
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%
5.7 Les configurations typiques
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.
5.7.1 MIDI-IN et MIDI-OUT : les liaisons
élémentaires
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.
5.7.2 La prise MIDI-Thru
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.
5.7.3 La prise To Host
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.
5.8 Les boîtiers de raccordement
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.
5.8.1 MIDI Thru box
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).
5.8.2 MIDI
Merger
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.
5.8.3 MIDI Patch
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.
5.9 L’évolution de la norme MIDI
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.
5.9.1 Le format 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.
5.9.2 Le General MIDI (GM), le GS et le XG
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.
5.10 Conclusion
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
|