Format du message MIDI

L'interface Midi véhicule des informations destinées à traduire le jeu du musicien en évènements.

Le langage Midi dans son mode le plus basic:

Envoi de données:

  • Jouer et arrêter une note spécifique.
  • Spécifier sa hauteur (A3) et sa valeur dans le temps, une ronde sur un joli 4/4 à 120 bpm, ou bien une note de 4 secondes sur un 2/4 à 60 bpm.
  • y inclure le volume puis la modulation.
  • y intégrer des changements de son (ou timbre).
  • mettre le tout dans un repère métrique qui constitura le morceau.
  • puis sauvegarder, ne pas oublier les informations crées par le(s) périphérique(s).

L'interface Midi divise ces informations en deux catégories :

  • Les statuts (status).
  • Les données (data).

Statut :
Le rôle du statut est de traduire une action effectuée par le musicien (l'enfoncement ou le relâchement d'une note, d'une pédale...).

Données :
Cependant ce jeu demandera des précisions (numéro de la note, dynamique du jeu, expression...).
Ce sont les octets de données qui complèteront le message Midi.

 

Le premier bit des octets (8 bits) de statut est toujours 1, pour les différencier des octets de données qui débutent tous par un bit 0.

(numéro de canal <16?)

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.

Ce message se décompose de la manière suivante:


Octect de Statut :
Note on

Format : 1 0 0 1 c c c c

Octet de Données :
le numéro de la note

Format : 0 n n n n n n n


L'octet de Statut

Sur l'octet de statut, au format "1 0 0 1" qui le définit nous avons, codé sur 4 bits, le numéro du canal, "c c c c", qui répondra à l'information.

4 bits : 1 * 2 3 + 1 * 2 2 + 1 * 2 1 + 1* 2 0 = 15

Soit 16 valeurs différentes correspondants au 16 canaux Midi.

Ainsi pour pouvoir s'adresser individuellement à des instruments connectés en réseau, la norme Midi inclut une notion de destination de message : le canal Midi. Il convient donc de régler l'appareil émetteur sur le même canal que l'appareil récepteur choisi.

L'octet de Données

Le premier octet de données est le numéro de la note (do 3 =60). Codé sur 7 bits, il existe donc une possibilité de 128 numéros de notes disponibles.

1 * 2 6 + 1 * 2 5 + 1 * 2 4 + 1 * 2 3 + 1 * 2 2 + 1 * 2 1 + 1 * 2 0 = 127

En deuxième octect de données, on ajoute les informations de "Vélocité" d'enfoncement.

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éfinit 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, répondra aux choix de 128 valeurs de dynamiques disponibles.

Ainsi :


Octect de statut :

Note on


Format : 1001cccc

Octet de Données :

le numéro de la note


Format : 0 n n n n n n n

Octet de données :

La vélocité d'enfoncement

Format : 0 v v v v v v v


Soit une locomotive, le statut, puis 2 wagons d'octet de données.

Format du message MIDI, deuxième partie