Norme MIDI

Je vous rapporte ici l'histoire du MIDI, et vous donne quelques explications de la norme. Vous pourrez trouver des compléments d'informations techniques, tant logicielles que matérielles sous forme "électronique" ou "papier". Je donne quelques références à la fin de cette page.
Vous trouverez deux chapitres, et des références et adresses:

Ces textes sont en grande partie extrait du manuel de référence MIDI de Christian BRAUT: "Le livre d'or de la norme MIDI" - Edition SYBEX.
Voici le sommaire de cette page: Le livre d'or de la norme MIDI - SYBEX

  1. Historique
  2. Spécifications
    1. Définition de la liaison
      1. Généralités sur les interfaces
      2. Le MIDI: une liaison sérielle et asynchrone
      3. Les connecteurs
      4. L'isolation opto-électrique
    2. Les connections IN, OUT et THRU
      1. MIDI-IN et MIDI-OUT: les liaisons élémentaires
      2. La prise MIDI-Thru
    3. Les boîtiers de raccordement
      1. MIDI Thru Box
      2. MIDI Merger
      3. MIDI Patch
    4. La charte d'implémentation MIDI
      1. Basic channel
      2. Mode
      3. Note number
      4. Velocity
      5. Aftertouch
      6. Pitch bender
      7. Control change
      8. Program change
      9. System exclusive
      10. System common
      11. System real time
      12. Aux messages
      13. Notes
    5. Le standard General MIDI
      1. General MIDI - Level 1
      2. General MIDI - Level 2
    6. Le mLAN Yamaha, est-ce l'avenir ?
    7. Célébration des 20 ans du MIDI en 2003
  3. Références et adresses
DIN 5 book DIN 5


led
 Pour revenir en haut de cette page, double-cliquez n'importe où dans celle-ci.
led



Historique

En matière de musique, les premières interfaces véhiculaient des signaux de commande sous forme de tensions électriques. Ces signaux de commande étaient principalement destinés à traduire des informations de hauteur(CV), de durée (gate) et de synchronisation (clock). A l'époque, quelques rares tentatives de normalisation se soldèrent par des échecs, chaque constructeur tentant vainement d'imposer son procédé sans la moindre coordination avec ses concurrents. Par conséquent, le musicien se retrouvait dans l'obligation de souscrire aveuglément à une seule et unique marque pour l'ensemble de son matériel, sauf à investir dans des boîtiers d'adaptation entre les nombreux standars en vigueur.

L'introduction de processeurs dans les instruments de musique électroniques permit de développer des interfaces numériques, c'est-à-dire transportant des informations "chiffrées", toujours sous forme de tensions électriques. Des sociétés comme Digital Keyboards, Rhodes ou Oberheim furent parmi les premières à réaliser de telles interfaces. Mais au lieu de collaborer pour établir une réglementation universelle, les constructeurs travaillèrent isolément. Dave Smith, fondateur de Sequential Circuits en 1974, fut l'un des premiers à developper une interface numérique entre un clavier (Prophet 10) et un séquenceur. On jugera de l'importance de cette firme américaine si l'on sait qu'elle est à l'origine du premier synthétiseur polyphonique programmable (le Prophet 5 en 1978) et du premier synthétiseur multitimbral (le Six-Trak en 1984). Pour en revenir à l'interface, cette dernière fonctionnait selon le principe suivant: à chaque cycle d'horloge du séquenceur, l'état des touches du clavier était analysé, puis mémorisé pour une reproduction ultérieure. L'inconvénient majeur de ce procédé résidait dans sa gourmandise en espace mémoire.

C'est pourquoi, avec l'aide de Chet Wood (Sequential Circuits), de Tom Oberheim (Oberheim) et d'Ikutaroo Kakehashi (Roland), Dave Smith étudia une solution plus rationnelle consistant à ne transmettre une information qu'à détection d'un événement (note enfoncée, relâchée, etc.). Ce projet fut présenté pour la première fois lors d'un congrès de l'AES (Audio Engineering Society), en novembre 1981 à New York. Portant le nom d'USI (pour Universal Synthesizer Interface), cette interface série travaillait à une vitesse de 19 200 bauds et utilisait comme connecteurs des jack 6.35. Elle véhiculait des signaux électriques de tyle TTL (0/5 volts).

A la suite de cette présentation, un questionnaire fut adressé à divers constructeurs afin de recueillir avis et suggestions, mais surtout de développer un véritable standard. Deux mois plus tard, au NAMM (National Association of Music Merchants) de janvier 1982 à Anaheim, une confrontation eut lieu entre les constructeurs suivants: Sequential Circuits, Roland, Yamaha, Korg, Kawai, E-mu, Oberheim, Rhodes, Octave Plateau, Passport Design et Syntauri. Il y fut notamment question d'augmenter la vitesse à 31 250 bauds, d'utiliser des opto-isolateurs, et surtout de ne pas se cantonner à la simple transmission d'événements de notes. C'est ainsi que Dave Smith et Chet Wood proposèrent une interface revue et corrigée sous le nom d'interface MIDI (pour Musical Instrument Digital Interface). Hormis Sequential Circuits, Roland, Yamaha, Korg et Kawai, qui adhérèrent immédiatement au principe, les autres firmes pratiquèrent la politique du "wait and see". C'est donc courant 1982 que le premier document MIDI fut élaboré entre les états-Unis (Sequential) et le Japon (avec Roland comme interlocuteur). A tout seigneur tout honneur, le premier synthétiseur MIDI commercialisé fut le Prophet 600 de Sequential Circuits, suivi de près par le JX-3P Roland et par le DX7 Yamaha en 1983.

Afin d'institutionnaliser la norme MIDI, une association coordinatrice fut créée durant l'été 1983: l'IMA (pour International MIDI Association, auparavant nommée IMUG pour International MIDI User's Group). Grâce à elle, le premier document MIDI officiel vit le jour le 5 août 1983 sous le nom de MIDI Detailed Specifications version 1.0. Il faut savoir qu'au tout début, avant la création de cette association, les spécifications de la norme MIDI étaient distribuées par Sequential Circuits sous le nom de "The Complete SCI MIDI".

Depuis, des extensions à la norme ont vu le jour: le Standard MIDI file (SMF), le MIDI Control Show (MCS), le MIDI Machine Control (MMC), le General MIDI 1 et 2 (GM), ainsi que ses homologues Roland et Yamaha, respectivement le format GS et XG.

Conçue à l'origine dans l'unique but de normaliser les échanges d'informations entre claviers et générateurs de son, mettant un terme à l'anarchie et à l'instabilité des différents standards analogiques en vigueur, l'interface MIDI fut progressivement sollicitée pour prendre en charge bien d'autres tâches. Citons à titre d'exemple le sample dump standard (transfert d'échantillons), les MIDI Files (transfert de séquences), le MIDI time code (synchronisation), etc. Qui aurait pu imaginer au départ que la norme MIDI finirait par drainer une telle somme d'informations ? Ses facultés d'ouverture logicielle représentent un énorme avantage, puisque c'est grâce à cela qu'elle n'a jamais cessé de s'adapter aux besoins des utilisateurs et à l'évolution technologique. Ainsi, régulièrement, de nouveaux messages, de nouvelles applications et de nouveaux produits voient le jour.



Spécifications


DIN 5 Définition de la liaison

Généralités sur les interfaces

L'interface, au sens informatique du terme, se définit de la manière suivante: "dispositif matériel et logiciel grâce auquel s'effectuent les échanges d'information entre deux systèmes". Le rôle de l'interface MIDI est de véhiculer des informations à teneur musicale entre plusieurs systèmes (claviers, générateur de son, etc.).


Le MIDI: une liaison sérielle et asynchrone

L'interface MIDI est bidirectionnelle (un câble par direction), série, asynchrone, et d'un débit de 31 250 bauds (bits/seconde), avec une tolérance de +/- 1%. Les informations véhiculées sont regroupées par octeds (groupes de huit bits, numérotés D0 à D7), chaque octet étant encadré d'un bit de start (O logique) et d'un bit de stop (1 logique). Ces bits de start et de stop permettent à l'unité réceptrice d'identifier le début et la fin d'un octet. Il faudra donc transmettre un ensemble de 10 bits (encore appelé "byte" MIDI, bien que le terme prête à confusion, puisqu'il s'applique généralement à un ensemble de 8 bits) pour obtenir 8 bits d'informations utiles. Ces bytes MIDI sont regroupés par paquets (dont le nombre de bytes varie de 1 à l'infini), selon une syntaxe bien précise, pour former ce que l'on appelle un "message MIDI".


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 permet de différencier aisément les connections MIDI des connections audio.



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 consite à 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.

NOTES:
  1. L'opto-isolateur préconisé par la norme est le Sharp PC-900
    (HP 6N138 ou autre opto-isolateur peut être utilisé moyennant adaptation du circuit.)
  2. Les porte "A" sont des CI ou des transistors.
  3. Les résistances ont une tolérance de 5%



DIN 5 Les connections IN, OUT et THRU

Généralités

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.

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 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.



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. 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).



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 ? 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.



Dans cette configuration, A pilote B, B pilote C, mais A ne pilote pas C.



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 multi-prise.

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 depuis 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 formte 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".



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.


DIN 5 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 posibilités.

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ères les prises MIDI-THRU des instruments connectés pour ajout d'éventuel Daisy-Chain. Cette configuration porte le nom de Star-Network (réseau en étoile).



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).



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.



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).



MIDI Patch

Le patch MIDI 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 au 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 d'intégré la fonction de merger. 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.



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.


DIN 5 La charte d'implémentation MIDI

La charte d'implémentation MIDI est un document officiel conçu par la MMA et le JMSC. C'est en quelque sorte la carte d'identité MIDI de l'instrument. Il incombe aux constructeurs de la publier avec chaque produit commercialisé.

Description

De format standard (A4), la charte d'implémentation se présente sous la forme d'un tableau de 4 colonnes sur 13 rangées.

La première colonne indique la catégorie du message de chaque rangée (message de note, d'aftertouch, de pitch bend, etc.). Ces catégories sont au nombre de douze, auxquelles s'ajoute en bas de page une catégorie réservée à d'éventuelles notes (Remarks).

Les colonnes 2 et 3 correspondent respectivement aux fonctions de transmission et de réception (transmitted, recognized). Ainsi, un cercle à l'intersection de l'une de ces deux colonnes et des douze rangées signifie que la catégorie MIDI correspondante est respectivement transmise ou reçue (on dit alors qu'elle est implémentée). A l'inverse, une croix indique qu'elle n'est pas prise en charge par l'instrument. Si des précisions s'avèrent nécessaires, elles prendront place dans la quatrième colonne intitulée "Remarks".

La marque, le modèle, la version logicielle du système d'exploitation ainsi que la date de commercialisation figurent en en-tête. En pied de page, la charte d'implémentation mentionne, pour rappel, la signification des quatre modes MIDI sous la forme suivante:

Mode 1omni on, poly
Mode 2omni off, poly
Mode 3omni on, mono
Mode 4omni off, mono

En définissant les critères MIDI les plus importants, la charte d'implémentation présente un panorama des possibilités d'un instrument. Par exemple, si l'on désire piloter un expandeur par l'intermédiaire d'une guitare MIDI, il convient de s'assurer en premier lieu de l'implémentation du mode 4 sur l'expandeur. C'est le genre d'information que ce document est en mesure de fournir du premier coup d'oeil. De plus, de par son format standard, il facilite la comparaison des sections émission et réception de deux instruments MIDI, permettant ainsi de s'assurer de leur compatibilité ainsi que de leur degré de communication.

------------------------------------------------------------------------
                                                         Date:          
        MODEL            MIDI Implementation Chart       Version:       
+----------------------------------------------------------------------+
!      Function...  !  Transmitted   !   Recognized   !    Remarks     !
!-------------------+----------------+----------------+----------------!
!Basic    Default   !                !                !                !
!Channel  Changed   !                !                !                !
!-------------------+----------------+----------------+----------------!
!         Default   !                !                !                !
!Mode     Messages  !                !                !                !
!         Altered   !                !                !                !
!-------------------+----------------+----------------+----------------!
!Note               !                !                !                !
!Number : True Voice!                !                !                !
!-------------------+----------------+----------------+----------------!
!Velocity Note ON   !                !                !                !
!         Note OFF  !                !                !                !
!-------------------+----------------+----------------+----------------!
!After    Key's     !                !                !                !
!Touch    Ch's      !                !                !                !
!-------------------+----------------+----------------+----------------!
!Pitch Bender       !                !                !                !
!-------------------+----------------+----------------+----------------!
!                   !                !                !                !
!                   !                !                !                !
! Control           !                !                !                !
!                   !                !                !                !
! Change            !                !                !                !
!                   !                !                !                !
!                   !                !                !                !
!-------------------+----------------+----------------+----------------!
!Prog               !                !                !                !
!Change   True #    !                !                !                !
!-------------------+----------------+----------------+----------------!
!System Exclusive   !                !                !                !
!-------------------+----------------+----------------+----------------!
!System : Song Pos  !                !                !                !
!       : Song Sel  !                !                !                !
!Common : Tune      !                !                !                !
!-------------------+----------------+----------------+----------------!
!System    :Clock   !                !                !                !
!Real Time :Commands!                !                !                !
!-------------------+----------------+----------------+----------------!
!Aux  :Local ON/OFF !                !                !                !
!     :All Notes OFF!                !                !                !
!Mes- :Active Sense !                !                !                !
!sages:Reset        !                !                !                !
!-------------------+----------------+----------------+----------------!
! Notes             !                                                  !
!                   !                                                  !
!                   !                                                  !
!                   !                                                  !
!-------------------+----------------+----------------+----------------!
Mode 1 : OMNI ON,  POLY    Mode 2 : OMNI ON,  MONO             O : Yes  
Mode 3 : OMNI OFF, POLY    Mode 4 : OMNI OFF, MONO             X : No   
------------------------------------------------------------------------

Le but de la charte d'implémentation n'est pas d'entrer dans les détails, mais plutôt de fournir les bases nécessaires à une étude plus approfondie d'un instrument. Elle oriente l'utilisateur dans son travail de recherche à travers le mode d'emploi.

Basic channel

Cette section est divisée en deux lignes. La première, "default", précise théoriquement la valeur d'initialisation des canaux d'émission et de réception de l'instrument lors de sa mise sous tension. Cependant, son interprétation est liée à la colonne "remarks", qui, si elle n'est pas vide, contient une indication de mémorisation ("memorized"). Concrètement, cette faculté de mémorisation signifie que les canaux MIDI réglés en émission et réception restent en mémoire après la mise hors tension de l'instrument, évitant à l'utilisateur de les reprogrammer à chaque mise sous tension. Dans ce cas précis, la ligne "default" n'affiche plus les valeurs d'initialisation (généralement sur le canal 1), mais l'ensemble des canaux disponibles sur cet instrument (une information a priori identique à celle de la ligne suivante). La seconde ligne, "channel", nous renseigne sur la possibilité d'altérer ces valeurs d'initialisation, en spécifiant la plage de modification. Cette plage couvre le pls souvent l'ensemble des 16 canaux, bien que certains instruments conçus au tout début du MIDI fassent exception à la règle (c'est, par exemple, le cas des premiers DX7, qui n'émettaient que sur le canal 1).

Mode

Cette section est divisée en trois lignes. La première, "default", précise les valeurs d'initialisation des modes à la mise sous tension de l'appareil (qui, là aussi, peuvent être mémorisés). La deuxième, "messages", indique les message de mode reconnus ou transmis via MIDI. signalons que certains instruments, bien qu'ils implémentent différents modes, n'acceptent pas de recevoir les messages correspondants. Il faudra par conséquent programmer manuellement ces modes depuis le panneau de commande de l'instrument. La troisième ligne, "altered", décrit le comportement de l'instrument en cas de réception de message de mode non implémentés. Ainsi, une indication du type "mode 2 -> mode 1" dans la colonne de réception signifie qu'un message "omni on, poly" (mode 1) forcera l'instrument à commuter "omni on, mono" (mode 2). De même, un instrument refusant de se comporter en tant qu'instrument monophonique pourra fort bien basculer en mode 1 avec M différent de 1, et en mode 3 avec M = 1. Cela se traduira dans la charte par une information de type "mono (M<>1) -> mode 1, (M=1) -> mode 3", ou encore "mono (M<>1) -> mode 1, 3".

Note number

Par rapport à la tessiture du MIDI (128 notes, numérotées de 0 à 127), la colonne de transmission nous informe quant à la plage de notes qu'un instrument est capable d'émettre. Toutefois, un clavier disposant de fonctions de transposition transmettra un nombre de numéros de notes supérieur au nombre de touches qu'il possède. En réception, on distingue le nombre de notes reçues et le nombre de notes différentes susceptibles d'être jouées (true voices). En effet, admettons que la tessiture d'un générateur de son couvre sept octaves, dans une fourchette de notes comprises entre C0 (24) et C7 (108). En recevant des messages de notes inférieurs à 24 ou supérieur à 108, certains générateurs de son les ignoreront purement et simplement, tandis que d'autres les joueront à l'octave le plus proche, à l'intérieurs de leur tessiture. Dans ce cas précis, la charte d'implémentation spécifiera le nombre de notes reçues, ainsi que le nombre de notes différentes réellement jouées. Dans cet exemple, nous obtiendrons respectivement 0 - 127 et 24 - 108.

Vélocité

Ces deux lignes indiquent si l'instrument est sensible à la vélocité de note enfoncée et de note relâchée, en émission et réception. Parfois, des informations précisent laquelle des deux méthodes de transmission des notes relâchées est utilisée (note-off, note-on vélocité zéro). Rappelons qu'un instrument non dynamique en émission transmettra systématiquement une vélocité égale à 64 (40H).

Aftertouch

Ces deux lignes correspondent respectivement à la réception et à la transmission de l'aftertouch polyphonique (key's) et à l'aftertouch par canal (ch's).

Pitch bender

La colonne "Remarks" indique éventuellement la plage de variation minimum/maximum du pitch bend (par exemple, +/-12 demi-tons), sa résolution (entre 7 et 14 bits), ainsi que la possibilité d'en modifier la sensibilité par l'intermédiaire du "registred parameter n°0".

Control change

De l'indication la plus élémentaire (oui/non) à la liste détaillée des contrôleurs continus, l'interprétation de ces quelques lignes nécessite souvent de se reporter au manuel utilisateur pour un complément d'information. En effet, certain contrôleur sont employés de manière conventionnelle (modulation, volume, etc.), d'autres sont affectables à tel ou tel paramètre (synthèse, automation de console, etc.), d'autres encore utilisent des numéros indéfinis dans des buts bien spécifiques. Les renseignements figurant sur la charte d'implémentation ne donnent en principe qu'une vague idée de la richesse de mise en oeuvre des contrôleurs continues.

Program change

En plus de déterminer si les "program change" sont transmis et/ou reconnus, la ligne "true #" indique le nombre de programmes que contient l'instrument (un concept analogue aux "true voices" des numéros de notes). Ainsi, bien que sa mémoire interne ne renferme que 32 sons, le DX7 est capable de répondre aux "program change" 32 à 127. Pur ce faire, il les divise par 32 et ajoute 1 au reste pour commuter sur le son correspondant. De rares instruments utilisent certains numéros de changement de programme à des fins bien spécifiques (sélection de banques, d'un type de mémoire: interne, cartouche, etc.). Dans la mesure du possible, ces informations devront être spécifiées dans la colonne "Remarks".

System exclusive

L'unique rôle de cette rangée consiste à indiquer si l'instrument utilise ou non des messages exclusifs. Si oui, la description de leur syntaxe fera généralement l'objet d'un chapitre complet du mode d'emploi, plus ou moins explicite.

System Common

Dans cette rangée sont regroupés les messages SPP (song position pointer), "song select" et "tune request". Pour qui attache une grande importance à la synchronisation, le SPP constitue un élément déterminant puisqu'il évite aux différentes machines synchronisées de repartir de zéro (en début de morceau) à chaque nouvelle lecture.

System real time

Les messages en temps réel sont regroupés sur deux lignes. La première concerne l'horloge MIDI (timing clock), et la seconde les commandes "start", "stop" et "continue". Les noms de celles qui sont implémentées figurent parfois en clair dans les colonnes de réception ou d'émission. La conception de la charte d'implémentation étant antérieur au MIDI Time Code, ce protocole fait souvent l'objet d'une note à part, dans la colonne "Remarks".

Aux. message

Les messages auxiliaires sont regroupés sur quatre lignes, respectivement dédiées à "local on/off", "all notes off", "active sensing" et "reset". Le message "all notes off" étant implicitement intégré à quatre des messages de mode (omni on, omni off, poly, mono), les numéros de "control change" de ces derniers sont parfois énumérés entre parenthèses. Sur certains instrument, le mode local est accessible via MIDI, bien qu'il soit impossible de le régler manuellement depuis le panneau de commandes de l'appareil (c'est, par exemple, le cas de l'échantillonneur Casio FZ1). Cette restriction constitue un sérieux handicap que la charte d'implémentation ne permet pas de déceler, puisqu'elle se borne à décrire les messages MIDI, sans préciser si l'instrument comporte une commande physique équivalente.

Notes

Cette case regroupe l'ensemble des remarques n'ayant aucun rapport avec les douze rangées précédentes.



Le standard General MIDI

Développé à l'initiative de deux membres de la MMA, Stanley Jungleib (entre autres éditeur du journal de cette association) et Dave Kusek (président de Passport Designs), le standard GM a pour rôle de normaliser le comportement des générateurs de son, simpmifiant ainsi leur mise en oeuvre.
Multitimbral et polyphonique 24 voix avec allocation dynamique, un générateur de son GM se doit d'inclure un minimum de 16 familles de timbres (pianos, orgues, basses...), chaque famille regroupant 8 sons (piano à queue, piano électrique, piano honky-tonk... pour la famille piano, etc.). Quel que soit l'instrument, et c'est là que réside tout l'intérêt du système, chacun de ces 128 sons est caractérisé par un même numéro de program change (programme n°1 pour le piano à queue, programme n°33 pour la basse acoustique...). Le mapping des divers éléments d'un kit de batterie, la réponse aux contrôleurs..., sont normalisés. De ce fait, une séquence écrite pour le standard GM pilote correctement n'importe quel générateur de son compatible sans qu'aucun réglage préalable ne soit nécessaire.


DIN 5 General MIDI - spécifications 1 (08/1983)

Voici les spécifications minimales réclamées par la norme:

Type de synthèse

Au choix du constructeur.

Voix

Au moins 24 voix allouées dynamiquement, à la fois pour les sonorités mélodiques et pour le kit de batterie/percussion, ou 16 voix allouées dynamiquement pour les sonorités mélodiques plus 8 autres pour le kit de batterie/percussion.

Canaux

Les 16 canaux sont supportés.
Chaque canal est polyphonique et peut produire un nombre variable de voies.
Chaque canal peut produire un son différent.
Le kit de batterie/percussion répond aux message transmis sur le canal 10.

Instruments

Une multitimbralité d'au moins 16 "timbre" (16 sons différents simultanés).
Un minimum de 128 sons (numéros de programmes MIDI).

Caractéristiques additionnelles

Potentiomètre de volume général.
Prise MIDI-IN (les connecteurs MIDI-OUT et MIDI-THRU sont optionnels).
Prises de sortie audio (gauche et droite).
Prise casque.

Les familles de sons

ProgrammesFamille
1 - 8 (00H - 07H)Piano
9 - 16 (08H - 0FH)Chromatic Percussion
17 - 24 (10H - 17H)Organ
25 - 32 (18H - 1FH)guitar
33 - 40 (20H - 27H)Bass
41 - 48 (28H - 2FH)strings
49 - 56 (30H - 37H)Ensemble
57 - 64 (38H - 3FH)Brass
65 - 72 (40H - 47H)Reed
73 - 80 (48H - 4FH)Pipe
81 - 88 (50H - 57H)Synth Lead
89 - 96 (58H - 5FH)Synth Pad
97 - 104 (60H - 67H)Synth Effects
105 - 112 (68H - 6FH)Ethnic
113 - 120 (70H - 77H)Percussive
121 - 128 (78H - 7FH)Sound Effects

L'implémentation MIDI minimum

Note-on/note-off

Le Do du milieu du clavier est égal au numéro de note 60(3CH).
Toutes les voix, y compris celles du kit de batterie/percussion, sont sensible à la vélocité.
L'allocation des voix est dynamique (lorsqu'une note est produite, une seconde note de même numéro peut s'y superposer en utilisant une voix libre).

Contrôleurs

1 (01H)modulation
7 (07H)volume général
10 (0AH)panoramique
11 (0BH)expression
64 (40H)sustain
121 (79H)reset all controllers
123 (7BH)all notes off

Paramètres immatriculés (registred parameters)

0 (00H)sensibilité du pitch bend
1 (01H)accord fin
2 (02H)accord grossier

Autres messages canaux

Aftertouch par canal.
Pitch bend (plage par défaut: +/- 2 demi-tons).
Valeur par défaut à la mise sous tension de l'instrument générateur de son: bend = 0, volume = 100, contrôleur en position normale.



DIN 5 General MIDI - spécifications 2 (11/1999)

Sous la poussée des utilisateurs, les fabricants ont ajoutés de nouvelles fonctionnalités à la norme General MIDI. Les spécifications du General MIDI 2 (GM2) n'est qu'un prolongement du GM1. Ainsi, le nombre de voies a augmenté, et des controleurs ont été ajoutés afin d'augmenter l'expressivité musicale.
Pour soutenir ces nouvelles dispositions GM2, la MMA et l'AMEI ont prolongé les spécifications du MIDI avec de nombreux nouveaux messages. :

Voix

Au moins 32 voix allouées dynamiquement, à la fois pour les sonorités mélodiques et pour le kit de batterie/percussion, avec simultanément 16 voix allouées dynamiquement pour les sonorités mélodiques, plus 2 autres pour le kit de batterie/percussion.

Les messages "Control Change"

Bank Select(cc#0/32)
Modulation Depth (cc#1)
Portamento Time (cc#5)
Channel Volume (cc#7)
Pan (cc#10)
Expression (cc#11)
Hold1 (Damper) (cc#64)
Portamento ON/OFF (cc#65)
Sostenuto (cc#66)
Soft (cc#67)
Filter Resonance (Timbre/Harmonic Intensity) (cc#71)
Release Time (cc#72)
Attack time (cc#73)
Brightness (cc#74)
Decay Time (cc#75)
Vibrato Rate (cc#76)
Vibrato Depth (cc#77)
Vibrato Delay (cc#78)
Reverb Send Level (cc#91)
Chorus Send Level (cc#93)
Data Entry (cc#6/38)
RPN LSB/MSB (cc#100/101)


Paramètres immatriculés (registred parameters)

Sensibilité du Pitch bend (Pitch Bend Sensitivity)
Accord fin par canal (Channel Fine Tune)
Accord grossier par canal (Channel Coarse Tune)
Profondeur de modulation (Vibrato Depth Range)
RPN null (RPN NULL)

Message "system exclusive" universel

Volume général (Master Volume)
Accord fin général (Master Fine Tuning)
Accord grossier général (Channel Coarse Tune)
Type de Reverb (Reverb type)
Temps de Reverb (Reverb time)
Type de Chorus (Chorus type)
Ratio de modulation de Chorus (Chorus mod rate)
profondeur de modulation de Chorus (Chorus Mod Depth)
Réinjection de Chorus (Chorus Feedback)
Envoi de Chorus dans la Reverb (Chorus Send to Reverb)
Configuration d'assignation des contrôleurs (Controller Destination Setting)
L'ajustement de l'échelle d'octave (Scale/Octave Tuning Adjust)
Contrôleurs d'instrument (Key-Based Instrument Controllers)
Commutation "system exclusive" (GM2 System On)



Le mLAN Yamaha, est-ce l'avenir ?

Le réseau (parce qu'il s'agit bien là d'un réseau) mLAN conçu par Yamaha est bati sur le protocole IEEE1394 (Firewire™(*1) ou i.Link™(*2)). En théorie, il permet de faire transiter dans le même cable 100 canaux audio (numérique 24 bits ?) et 256 ports MIDI. Imaginez un home studio où la console est reliée à un synthétiseur, un échantillonneur, un enregistreur audio (ou vidéo) et un ordinateur via un seul câble !
Voir le communiqué de presse de Yamaha pdf (32 Ko).



Par extension, ce réseau n'est pas uniquement local malgré sa dénomination LAN (Local Area Network). Il peut être mondialisé par le réseau des réseaux: Internet.


Voir les spécifications MIDI pour l'adaptation au protocole IEEE1394 V1.0 édité par la M.M.A.pdf (116 Ko)
Fin 2000, KORG présente le TRITONRACK. Cet expandeur est proposé avec l'interface mLAN (EXB-mLAN) en option.
Debut 2001, le bruit court que Apple intégrerait ce protocole dans la version de MacOS X...

(*1) Firewire est un nom de marque de Apple Computer Inc.®
(*2) i.LINK est un nom de marque de Sony corporation®.

Célébration des 20 ans du MIDI en 2003 !

Il y a 20 ans, en janvier 1983, les principaux fabricants de synthétiseurs ont lancé la révolution du MIDI et ont changé la façon de créer, enregistrer, et exécuter le musique. L'objectif premier était très simple: pouvoir piloter un clavier électronique à partir d'un autre. La plupart des manufacturiers installent le MIDI dans tous les synthétiseurs, dans des appareils liés à la création musicale (multi-effets, et autres contrôleurs, etc.) dans les ordinateurs, et aujourd'hui dans les mobiles (téléphones portables).

Le rôle de la M.M.A (MIDI Manufacturers Association) est de fournir les normes techniques qui sont la base du succès de MIDI, mais aussi de développer de nouvelles technologies afin d'étendre les possibilités du MIDI. C'est ainsi que sont nées les normes General MIDI 1 et 2. Aujourd'hui, une norme à été créée pour les mobiles :" Scalable Polyphony MIDI" (SP-MIDI). Celle-ci permet d'exploiter "intelligemment" la polyphonie des différents téléphones mobiles (3 ème génération). Par exemple, une composition qui est écrite pour GM2 (32 notes de polyphonie), pourrait également être faite pour jouer sur GM1 (16 notes de polyphonie), et les dispositifs de GM Lite, en éliminant certain instrument ou partie, choisi par le compositeur. Ainsi, un téléphone "premier prix", avec seulement 8 voies de polyphonie, pourra jouer, sans dénaturer, ce qui aura été conçu pour un appareil haut de gamme disposant de 32 voies de polyphonie. Pour en savoir plus, allez lire la page Scalable Polyphony MIDI Specification (SP-MIDI). Vous avez aussi l'intégration du MIDI dans le XML...

Fin 2003, un grand projet a été lancé: le MIDI à haut débit basé sur le protocole Ethernet: IEEE P1639™. Le principe est d'avoir de disponible les informations MIDI (DMIDI comme «Distribued MIDI») sur un réseau local (LAN) et en IEEE 802.11™ (Wifi ou Airport). Le débit en sera ainsi augmenté et passera de 31250 bauds à 10 gigabits par seconde (vous avez bien lu Giga !). Le nombre de canaux, initialement de 16, passe à 16 millions. Pour les musiciens qui se rappellent les avantages de l'introduction du MIDI avec l'interopérabilité entre différents instruments, le protocole vise le même niveau d'intégration avec les plateformes Windows, Mac OS X et Linux, les séquenceurs, les éditeurs et tous autres logiciels et matériels.
Pour en savoir plus, allez lire la page IEEE P1639, DMIDI.
Est-ce la mort du mLAN Yamaha en IEEE 1394 (Firewire) ?…


Références et adresses

Références "papier"

Références "électronique"

Adresses physiques

Adresses électroniques



jack multi-color