Se connecter
Se connecter

ou
Créer un compte

ou
Pédago
10 réactions

Les différents types de messages MIDI

La synthèse sonore - 12e partie

Après avoir découvert la norme MIDI dans le précédent article, explorons-en ici les possibilités plus en détail.

Accéder à un autre article de la série...

Et avant tout, exami­nons rapi­de­ment les diffé­rents modes que les dispo­si­tifs MIDI peuvent adop­ter pour commu­niquer entre eux.

Les modes MIDI

En mode « Mono », une machine MIDI reçoit et retrans­met les infor­ma­tions sur tous les canaux. La retrans­mis­sion ne se fait toute­fois qu’en mode mono­dique. 

En mode « Omni », une machine MIDI reçoit sur tous les canaux, mais n’émet que sur un seul canal. En mode « Poly », une machine reçoit sur un seul canal et émet sur plusieurs.

Le mode « Multi » est adapté aux machines multi­tim­brales, car elles peuvent répondre sur plusieurs canaux diffé­rents.

Enfin, le mode Gene­ral MIDI, apparu dans les années 90 avec le déve­lop­pe­ment des cartes sons et des jeux vidéos sur ordi­na­teurs utili­sant des bandes-son MIDI, est une norma­li­sa­tion de l’ordre des sono­ri­tés sur les systèmes multi­tim­braux, afin d’as­su­rer une simi­la­rité de repro­duc­tion des fichiers MIDI d’une machine à l’autre. Certains fabri­cants, tels que Roland ou Yamaha ont déve­loppé leurs propres modes (GS, XG, etc.) à partir de la norme GM. 

Le MIDI en synthèse sonore

Les prin­ci­paux messages MIDI

Comme nous l’avons vu dans le précé­dent article, la norme MIDI sert à trans­mettre — entre deux dispo­si­tifs compa­tibles — des commandes dont nous allons détailler les prin­ci­pales ici.

Le MIDI en synthèse sonore

Pour illus­trer notre propos, nous allons consi­dé­rer un synthé­ti­seur dont le clavier et les diffé­rents contrôles ne pilo­te­ront pas les sono­ri­tés internes, mais celles d’un module externe. Entre les deux, nous aurons connecté, via une inter­face MIDI, un ordi­na­teur faisant tour­ner un séquen­ceur logi­ciel afin d’en­re­gis­trer et de consi­gner les ordres trans­mis. À noter que dans notre exemple, nous aurions pu rempla­cer le synthé­ti­seur « pilo­tant » par un simple clavier maître dépourvu de fonc­tions de produc­tion sonore. La suite de commandes MIDI émises par le clavier de contrôle sera la suivante :

« Active l’en­re­gis­tre­ment de la séquence MIDI sur l’or­di­na­teur. À partir du clavier de mon synthé­ti­seur comman­dant le module externe, joue le mi de la quatrième octave modé­ré­ment fort en utili­sant le son du préset 245 de la banque 3 du module externe. Tout en main­te­nant la touche enfon­cée, augmente la fréquence de coupure du filtre selon la pres­sion exer­cée sur ladite touche, et modi­fie la réso­nance du filtre grâce à la rota­tion du poten­tio­mètre concerné. Toujours en main­te­nant la touche enfon­cée, fais évoluer la hauteur de la note grâce à la molette de pitch bend. Arrête la note. »

Voici de quoi il s’agit…

« Active l’en­re­gis­tre­ment de la séquence MIDI sur l’or­di­na­teur. » : Horloge MIDI et commandes de trans­port

Le message d’hor­loge MIDI permet de synchro­ni­ser plusieurs dispo­si­tifs MIDI entre eux. Les messages dits de trans­port permettent de comman­der le démar­rage, l’ar­rêt et la reprise de la lecture d’une séquence ou d’un fichier MIDI. La commande d’en­re­gis­tre­ment n’a été « midi­fiée » sur les séquen­ceurs qu’à partir de 1992 et l’ap­pa­ri­tion du stan­dard MMC (Midi Machine Control) permet­tant l’ex­ten­sion de la midi­fi­ca­tion des commandes de trans­port de base.

« À partir du clavier de mon synthé­ti­seur comman­dant le module exter­ne… » : Contrôle clavier local ou déporté (Mode Local On ou Off)

Ce type de commande permet de défi­nir si le clavier (ou tout autre péri­phé­rique de jeu, tels des pads par exemple) de l’ins­tru­ment va pilo­ter les sono­ri­tés internes de celui-ci ou celles d’un autre appa­reil bran­ché à la prise MIDI OUT. Dans notre exemple, c’est la deuxième option qui est choi­sie. 

« … joue… » : Note On

Le message de Note-On indique au système qu’une note a été acti­vée.

« … le mi de la quatrième octa­ve… » : Numéro de note

Chaque note, en MIDI, est iden­ti­fiée par un numéro. Ici, il s’agit du numéro 52. 

« … modé­ré­ment fort… » : Vélo­cité

Cela peut sembler étrange d’as­so­cier le volume du son produit avec la vélo­cité, mais nous allons voir que c’est en fait très logique. En effet, le système mesure la vitesse avec laquelle une touche passe de la posi­tion de repos à celle d’en­fon­ce­ment. Plus on joue « fort », plus cette vitesse est élevée. Un jeu « modé­ré­ment fort » se tradui­rait par des valeurs MIDI de vélo­cité situées entre 60 et 70.

« … en utili­sant le son du préset 245… » : Chan­ge­ment de programme (Program Change) 

Les messages de chan­ge­ment de programme intiment l’ordre au dispo­si­tif récep­teur de modi­fier le préset courant afin de chan­ger de sono­rité — ou d’ef­fet dans le cas d’un proces­seur d’ef­fets.

« … de la banque 3 du module externe. » : Sélec­tion de banque (Bank Select)

Ce message sert à la sélec­tion de banques quand le dispo­si­tif concerné possède plus de 128 présets, nombre maxi­mal pouvant être contenu dans une banque. 

« Tout en main­te­nant la touche enfon­cée, augmente la fréquence de coupure du filtre selon la pres­sion exer­cée sur ladite touche, … » : Pres­sion de touche par canal ou pres­sion de touche poly­pho­nique (Chan­nel after­touch ou Poly­pho­nic after­touch)

Cette fonc­tion permet de modu­ler un para­mètre – ici la fréquence de coupure du filtre — en fonc­tion de la pres­sion (ne pas confondre avec la vélo­cité !) exer­cée sur les touches du clavier après l’en­fon­ce­ment de ces dernières. La plupart du temps, la pres­sion sur une seule touche provoque l’en­voi d’une même valeur pour l’en­semble du clavier. On parle alors de « pres­sion de touche par canal ». Toute­fois, certains appa­reils MIDI permettent de diffé­ren­cier les valeurs de pres­sion en fonc­tion de chaque touche. On parle alors de « pres­sion de touche poly­pho­nique ». 

« … et modi­fie la réso­nance du filtre grâce à la rota­tion du poten­tio­mètre concerné. » : Chan­ge­ment de contrôle (Control change — CC) 

Le message de chan­ge­ment de contrôle indique qu’un contrô­leur continu (poten­tio­mètre, fader, molette) est en cours d’uti­li­sa­tion. Ce type de messages peut consom­mer une grande partie des capa­ci­tés de trans­mis­sion du canal MIDI concerné. C’est pourquoi, comme déjà précisé dans le précé­dent article, ce genre de contrôles béné­fi­cie très souvent de son propre port MIDI de 16 canaux sur des contrô­leurs MIDI propo­sant clavier et contrôle de para­mètres, afin de ne pas créer de conflit avec les flux de données MIDI concer­nant la gestion de notes.

« Toujours en main­te­nant la touche enfon­cée, fais évoluer la hauteur de la note grâce à la molette de pitch­bend. » : Pitch Bend

Le MIDI en synthèse sonore

Ce message commande la modi­fi­ca­tion de hauteur de la note grâce – géné­ra­le­ment – à la molette du même nom. Ce type de messages est un peu parti­cu­lier puisque contrai­re­ment aux autres, il est codé sur 14 bits et permet donc d’étendre à 16 384 le nombre de degrés de modi­fi­ca­tion, au lieu des 128 degrés habi­tuels du MIDI. La molette de modu­la­tion souvent située à côté de celle de pitch bend envoie quant à elle des messages CC tradi­tion­nels sur 128 degrés.

« Arrête la note. » : Note-off

Lors du relâ­che­ment de la touche sur le clavier, un message de Note Off est envoyé afin de comman­der au système de couper le son précé­dem­ment activé. Certains dispo­si­tifs possèdent égale­ment un bouton « Panic » ou « All-notes-off » qui permet de couper d’au­to­rité des notes qui seraient restées « coin­cées » après le relâ­che­ment de la touche, ce qui peut arri­ver de temps en temps.

Certains dispo­si­tifs recon­naissent égale­ment une vélo­cité de relâ­che­ment, ce qui permet de modi­fier la manière dont un son va se termi­ner en fonc­tion de la vitesse à laquelle la touche va être relâ­chée. 

Pour aller plus loin 

En plus des messages stan­dards détaillés plus haut, la norme MIDI propose diffé­rents moyens de dépas­ser ses propres contraintes.

Le premier est l’uti­li­sa­tion de messages dits « système exclu­sif » (SysEx). Les messages de ce type ont été prévus pour trans­mettre toutes les données propres au fonc­tion­ne­ment d’une machine en parti­cu­lier. L’un des usages les plus courants est la récu­pé­ra­tion au sein d’un séquen­ceur des listes de présets d’une machine. Mais ils peuvent servir égale­ment à dépas­ser les contraintes du MIDI en termes de musique non tempé­rée (utili­sa­tion de micro­tons, etc.).

L’autre moyen passe par les « numé­ros de para­mètres enre­gis­trés »  ou NPE (Regis­te­red Para­me­ter Numbers ou RPN en anglais) et « non-enre­gis­trés » ou NPNE (Non-Regis­te­red Para­me­ter Numbers ou NRPN en anglais). Les NPE sont pour l’ins­tant au nombre de 5 : sensi­bi­lité du pitch bend, accor­dage « gros­sier » par demi-tons ou « fin » par centièmes de tons, profon­deur de la modu­la­tion (cf prochain article) et remise à zéro des NPE et NPNE. Tout comme le para­mètre de pitch bend, ils sont codés sur 16 384 degrés. Les NPNE se diffé­ren­cient des NPE en ce qu’ils sont libre­ment assi­gnables à n’im­porte quel para­mètre. Toute­fois, tous les dispo­si­tifs MIDI ne sont pas en mesure de trai­ter ce genre de données.  

← Article précédent dans la série :
Présentation de la norme MIDI
Article suivant dans la série :
Pitch bend, unisson, portamento et vibrato →

Vous souhaitez réagir à cet article ?

Se connecter
Devenir membre