Toutes les infos ici présentes proviennent de ce site http://ogloton.free.fr/midi/format_donnees.html
Physiquement, une interface MIDI est un module intégré à un appareil et communiquant avec l’extérieur par l’intermédiaire de trois connecteurs DIN à cinq broches :
Connecteur DIN | Signal | Description | Broche 2 | Broche 4 | Broche 5 |
---|---|---|---|---|---|
MIDI IN | réception des informations | NC | Réception | Retour | |
MIDI OUT | émission des informations | Masse | Emission | Retour | |
MIDI THRU | recopie de l’entrée | Masse | Emission | Retour |
Caractéristiques d’une liaison MIDI :
liaison 2 fils + blindage : deux conducteurs sans liaison avec la masse électrique et un blindage relié seulement du côté de l’appareil émetteur.
longueur maximale 15 m : de par le choix technique adopté, les signaux restent valides pour des courtes distances mais suffisante pour usage commun; une interface est nécessaire pour les longueurs plus importantes.
transmission unidirectionnelle : Les signaux vont de l’émetteur vers le récepteur. Une deuxième liaison permet le retour d’informations.
boucle de courant : pour un état bas un courant de 5mA circule entre les deux conducteurs actifs et devient nul pour un état haut
isolation galvanique par entrées opto-isolées : permet de fiabiliser les transmissions en restant totalement insensible aux différences de potentiels qui peuvent apparaître entre les masses des différents appareils sollicités.
Remarque :
Le signal d’entrée est présent sur la prise thrue après un délais de propagation causé par sa remise en forme, traversée de l’opto-coupleur et du double inverseur. Le dernier appareil aura le cumul de la totalité des délais de transmission avant de pouvoir traiter à son tour l’information. Une arborescence en étoile à l’aide d’une MIDI TRUE BOX évite des chaînes trop importantes et permet d’élaborer un réseau complexe.
Les messages MIDI sont transcrites sous la forme de chaînes d’octets de longueur variables et sont transmises sur un bus série asynchrone.
10 bits pour acheminer un octet : 1 bit de start, 8 bits de données, 1 bit de stop.
Les deux bits start/stop sont utilisés lors de la transmission pour synchronisation des transmissions mais n’interviennent pas sur le contenu des informations.
vitesse 31250 bauds maxi : +/- 1%, 1 bit a une durée de 32us et 1 octet de 320us.
Un octet de statut est caractérisé par son premier bit qui doit être positionné à 1, contrairement au premier bit d’un octet de donnée qui sera à 0. Il reste 7 bits significatif par octet pour coder une valeur qui dans ce cas pourra avoir 27 = 127 valeurs. L’association de deux octets de données sera utilisée pour le codage d’un nombre allant jusque à 214 = 16 129.
De nombreux messages MIDI sont composés d’un octet de statut chargé de définir le type de message et un numéro de canal, suivi de deux octets de données. Nous verrons plus loin que d’autres expressions sont utilisées pour le codage de messages contenant des informations élaborées.
Le message de statut utilise 3 bits pour le codage des différents types de messages, soi huit catégorie de messages et 4 bits pour l’affectation des 16 canaux.
Le premier octet d’un message est celui de statut, il se présente sous la forme : 1sss nnnn (avec sss type de message et nnnn n° de canal). Il est suivi de deux octets de données ayants 7 bits significatifs : 0xxx xxx. Un message sera de la forme : (octet statut) + (octet données 1) + (octet données 2) …
Lorsque l’octet de statut est commun à plusieurs notes successives, on ne transmet que le statut de la première, note suivi des données des notes suivantes. Ce procédé visant à réduire le flot d’informations reconnaît une note avec une vélocité 0 pour remplacer un message note off. Aussi les messages temps réels présentés plus loin sont compatibles avec ce processus contrairement aux messages de système exclusifs et système commun.
Les messages voix
nnnn pour n° de canal
0xxx xxxx = donnée sur 7 bits soit 127 valeurs possibles
Message | Signaux | Description |
---|---|---|
Note off | (1000 nnnn) + Hauteur note (0xxx xxxx) + Vélocité (0xxx xxxx) | Fin d’une note avec dynamique pour sa disparition (40H par défaut si pas de capteur pour la vélocité) |
Note on | (1001 nnnn) + Hauteur note (0xxx xxxx) + Vélocité (0xxx xxxx) | Début d’une note avec force d’appui ou vitesse d’enclenchement (40H par défaut si pas de capteur pour la vélocité) |
polyphonic after touch | (1010 nnnn) + Hauteur note (0xxx xxxx) + Valeur pression (0xxx xxxx) | Variation de pression sur une touche, (le flux d’informations peut augmenter considérablement) |
After touch | (1101 nnnn) + Valeur (0xxx xxxx) | Variation de pression sur l’ensemble du clavier, affecte tout le canal |
Pitch bend | (1110 nnnn) + Code (0000 0000) + Vitesse (0xxx xxxx) | En 00 40 H position centrale |
Program change | (1100 nnnn) + Numéro (0xxx xxx) | Affectation d’un instrument à un canal, selon banque chargée en contrôle change |
Control change | (1011 nnnn) + Numéro (0xxx xxxx) + Valeur (0xxx xxxx) |
Les messages control change
N°
|
Affectation
|
Description
|
0 | Sélection de banque MSB |
214 combinaisons |
32 |
Sélection de banque LSB |
— |
1 |
Roue de modulation |
Effet ou paramètre, 0=stop |
33 |
Roue de modulation |
— |
2 |
Contrôleur de souffle |
Pour instruments à vent 0=mini |
34 |
Contrôleur de souffle |
— |
4 |
Pédale de pied continue |
Effet ou paramètre |
36 |
Pédale de pied continue |
— |
5 |
Temps de portamento |
Vitesse de glissement entre deux hauteur de notes 0=mini |
37 |
Temps de portamento |
— |
65 |
Portamento on/off |
— |
84 |
Commande de portamento |
Au prochain note-on, glissera de cette note à celle appuyée |
6 |
Curseur d’entrée de données |
Valeur d’un paramètre |
38 |
Curseur d’entrée de données |
— |
96 |
Bouton d’incrémentation de données |
Selon paramètre en cours |
97 |
Bouton de décrémentation de données |
— |
98 |
Paramètre non référencé LSB |
N° de paramètre propre à chaque fabricant |
99 |
Paramètre non référencé MSB |
— |
100 |
Paramètre référencé LSB |
N° de paramètre standard |
101 |
Paramètre référencé MSB |
— |
7 |
Volume | Affecté à un canal |
39 |
Volume | — |
8 |
Balance | Réglage d’un son stéréo |
40 |
Balance | 0=gauche 8192=centre 16383=droite |
10 |
Panoramique | Spacialisation d’un son mono |
42 |
Panoramique | 0=gauche 8192=centre 16383=droite |
11 |
Contrôleur d’expression |
Proportion du volume canal en tps réel 0=coupé |
43 |
Expression | Facultatif |
12 |
Contrôle d’effet 1 |
Valeur affectée à un effet |
44 |
Contrôle d’effet 1 |
— |
13 |
Contrôle d’effet 2 |
Idem |
45 |
Contrôle d’effet 2 |
— |
16 à 19 |
Réglage continu général 1 à 4 |
128 valeurs réglables |
64 |
Pédale de maintient on/off |
64à127=enclenché, maintien notes en cours |
69 |
Pédale de maintient 2 on/off |
64à127=enclenché, prolonge notes en cours |
66 |
Pédale de soutient on/off |
64à127=enclenché, maintien notes appuyées |
67 |
Pédale d’étouffement |
64à127=enclenché, étouffe les notes |
68 |
Pédale de légato on/off |
Supprime l’attaque des notes |
70 |
Contrôle de son 1 |
Valeur affectée à un paramètre |
71 |
Contrôle de son 2 (timbre) |
0=mini contrôle VCF / variation |
72 |
Contrôle de son 3 (temps de relâchement) |
0=mini contrôle VCA fin enveloppe |
73 |
Contrôle de son 4 (temps d’attaque) |
0=mini contrôle VCA début enveloppe |
74 |
Contrôle de son 5 (brillance) |
0=mini contrôle fréquence VCF |
75 à 79 |
Contrôle de son 6 à 10 |
Valeur affectée à un paramètre |
80 à 83 |
Interrupteur générale 1 à 4 |
64à127=enclenché |
91 |
Niveau d’effet |
128 valeurs |
92 |
Niveau de trémolo |
— |
93 |
Niveau de chorus |
— |
94 |
Niveau de vibrato |
— |
95 |
Niveau de phaser |
— |
120 |
Extinction des sons |
Arrêt immédiat, données non significatives |
121 |
Arrêt des contrôleurs |
Initialisation sur canal concerné |
122 |
Sélection du mode local |
64à127=enclenché, dissocie clavier de son générateur de sons |
123 |
Extinction des notes |
Coupe messages midi entrants, données non significatives |
124 |
Mode omni off |
Inhibe le mode omni |
125 |
Mode omni on |
Récepteur affecté à tous les canaux |
126 |
Mode monophonique |
Un seule note à la fois, priorité aux aiguës |
127 |
Mode polyphonique |
Possibilité de jouer plusieurs notes simultanément |
3 |
Non défini |
|
9 |
— | |
14-15 |
— | |
20 à 31 |
— | |
85 à 90 |
— | |
102 à 119 |
— |
Sorry, the comment form is closed at this time.