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