Chargement...
 
[Voir/Cacher menus de gauche]
[Voir/Cacher menus de droite]

Rappels sur le protocole MIDI
Imprimer


Documentation à améliorer  
voir le fil du forum dédié


Introduction :
Le MIDI (Musical Instrument Digital Interface) est un protocole numérique de communication "universel" créé pour les applications musicales, dont le lancement officiel remonte a 1983.

La norme MIDI est un protocole de communication (code MIDI) permettant de faire communiquer entre eux des instruments de musique électronique avec des ordinateurs ou d'autres machines (boite a rythme, expandeur, synthétiseur...)


1. Historique

Dans les années 70, certains constructeurs avaient imaginé pour leurs gammes de synthétiseurs différents moyens pour les faire jouer entre eux, c'était très expérimental, peu fiable et souvent monophonique car commandés par des tensions (bien que le standard CV eut un succès d'estime pour certains instruments plus ou moins compatibles). Il fallait en fait rester dans la même marque pour espérer faire communiquer certains instruments entre eux. C'était vraiment l'anarchie totale et quand on pense au prix de ces instruments à l'époque... mais c'était aussi la découverte d'un monde de la synthèse incroyable avec essais et expérimentations par des groupes mythiques Pop Rock tel Pink Floyd, Genesis, Kraftwerk, Emerson Lake & Palmer ou des artistes comme Wendy carlos, Klauss Shultz, Jean-michel Jarre... bref un véritable miroir ayant fait rêver de très nombreux musiciens amateurs.

Fin des années 1970, de multiples essais eurent lieu, cette fois ci avec des puces électroniques (assemblages de plusieurs composants sur le même substrat), c'était le balbutiement comme dans la micro informatique (naissance d'Apple et tant d'autres marques aujourd'hui disparues), sans pionniers il ne peut y avoir d'avancées...

C'est donc début des années 80 que les constructeurs d'instruments de musique décidèrent de créer un protocole de communication permettant tout d'abord de relier entre eux les synthétiseurs (grâce à l'émergence de puces un peu plus puissantes pouvant gérer des flux numériques). Certains constructeurs avaient déjà posé les fondations de ce protocole de communication (Dcb, Usi). Heureusement, en 1982, le nouveau standard MIDI naissait grâce à une collaboration « intelligente » de ces constructeurs très impliqués dans la constructions de synthétiseurs tournés vers l'analogique à commande « digitale » puis totalement numérique (Sequential circuit, Roland, Oberheim, Korg, Yamaha, E-mu, Kawaï entre autre).

Les premiers synthétiseurs MIDI furent le Prophet 600 (Sequential Circuits), le jupiter 6, le Jx3p (Roland) et le DX7 (Yamaha). Ce fut une véritable révolution !, par la suite d'autres instruments de musique furent équipés de cette interface tels des boite à rythmes, échantillonneurs, expandeurs, accordéons... C'est vraiment unique dans l'histoire de l'informatique musicale, car ce standard fut adopté par une multitude de marques et surtout codifié par la MMA (MIDI Manufacturers Association) voir : http://www.midi.org/

Rapidement, de nombreux synthétiseurs abordables apparurent ( Casio Cz10, Kawaï K1, Roland D5 / D10 / D20, Yamaha Dx9 / D11, Korg Poly 61...) démocratisant totalement l'utilisation de cette norme.

Le monde MIDI n'est pas réservé qu'aux clavier puisqu'il existe d'autres interfaces pouvant être reliés avec des capteurs / convertisseurs: Basse, Batterie, Guitare, Instrument à vent... harpe à rayon laser mrgreen (véridique). Les possibilités sont infinies. Bien sur avec l'avènement de la MAO, d'autres boîtiers "magiques" apparurent sur le marché tel des surfaces de contrôle, des tables de mixages; même le monde de l'audiovisuel fut touché avec la gestion de la lumière...


2. Connectique

Les prises Midi se présentent sous la forme de connecteurs DIN 5 broches à 180°. Ce type de prise n'étant quasiment plus utilisé en audio, il devenait facile de brancher et de connecter plusieurs appareils ensemble sans se tromper (enfin presque (!). Seules les broches 4 et 5 sont utilisés et un câble MIDI ne doit pas excéder une quinzaine de mètre (le courant véhiculé étant très faible, de l'ordre de 5 milliampère).

Il existe donc 3 prises MIDI:
Image
  • La Prise MIDI Out qui permet d'envoyer des données
  • La Prise MIDI In qui permet de recevoir des données
  • La Prise MIDI Thru (à travers (!) qui sert en fait de relais et n'est pas forcement implanté dans l'instrument (n'étant pas indispensable mais bien pratique parfois).


3. Schéma interface MIDI / port manette

Voici pour les « bidouilleurs » (dont je fais partie :-)

Image

Tous ces composants sont très courants et disponibles chez tous les revendeurs de composants électronique tel : http://www.selectronic.fr/ par exemple.
Faites chauffer les fers cool


4. Technique

L'interface MIDI est de type liaison série (les données sont transmises les une après les autres) et asynchrone (facile à mettre en œuvre et bien adaptée pour le jeu des musicien).
Son débit est de 31250 bauds (bits par seconde), l'interface transmet donc plus de 3000 octets par seconde.
Ce débit semble élevé mais il est pourtant possible de le saturer si l'on envoie trop d'informations.
Lors de la transmission, chaque octet (8 bits) est encadré d'un bit de start (départ) avec une valeur 0 et un bit de stop avec un valeur de 1 (ceci afin que le ou les récepteurs puissent détecter la présence d' informations).
Ce qui donne ceci :
1 (bit de stop) (données sur 1 octet (exemple 01101100)]) 0 (bit de start)
Pour une information (notes, contrôle), on peut avoir besoin de plusieurs données, nous verrons plus loin le détail de certaines...

Dans le cas d'envoi de données en system exclusive (propre à chaque appareil), les informations peuvent être très longues (et parfois bloquer certains appareils).

Un appareil équipé d'une interface MIDI émet, sur 16 canaux différents et indépendants, ce qui permet de piloter 16 instruments différents ou 16 sons différents via le même instrument.

Des données binaires correspondant aux différentes actions effectuées par l'instrumentiste en jouant sont envoyées tel : l'enfoncement / relâchement de notes, la vélocité, le changement de programme, coup de molette ou de pitch bend, modulation, montée et descente du siège de l'instrumentiste :-)....

Toutes ces données sont immédiatement interprétées par n'importe quel autre appareil MIDI, en temps réel, sans devoir traduire ou modifier quoi que ce soit à condition que l'instrument récepteur puissent accepter certaines données (certains instruments en début de gamme ou anciens ne pouvant interpréter toutes les données).


5. Le langage MIDI

Ce langage permet de traduire donc le jeu du musicien en événements informatique compréhensible par la machine (cas d'un ordinateur) ou d'un instrument.
Nous avons donc le schéma suivant :
Musicien (ou musicienne :-) > capteurs (clavier, convertisseur) > logiciel de mise en forme (type matériel ou logiciel) > interface MIDI émettrice > interface MIDI réceptrice > logiciel de remise en forme ! ( type matériel ou logiciel) > instrument (matériel ou logiciel) > système d'écoute.

5.1. Statuts et données

Les informations MIDI sont divisés en 2 sortes :
Les statuts (status) et les données (data)
  • Les statuts définissent la commande réalisé par le musicien (enfoncement d'une touche, relâchement, commande de modulation...)
  • Les données définissent la valeur (hauteur de la note, vélocité...)
Un message MIDI est donc constitué de plusieurs octets.

L'évènement le plus utilisé (pour un musicien bien sur :-) est l'envoi de notes.
> Lorsqu'une note est émise, le premier octet (statut) représente l'action de départ de la note ainsi que le numéro du canal (1 à 16) ce qui donne : Note On + numéro de canal
> Le deuxième octet représente la hauteur de la note (128 hauteurs différentes pouvant être adressées).
> Le troisième octet représente la vélocité (toujours sur 128 valeurs)
Ce qui nous donne:
  • Note ON / canal - Hauteur de la note - vélocité
Dés que la note est relâchée, un message de ce type est envoyé:
  • Note OFF / canal - Hauteur de la note - vélocité (généralement à zéro)

arrow Quand une note se bloque, c'est qu'il n'a pas reçu d'information de note OFF !, c'est pour cela que le bouton panic existe et prend toute son importance (sur ZynAddSubFx par exemple twisted). Il faut donc rejouer la même note pour renvoyer l'information manquante.

5.2. contrôleurs

Les contrôleurs sont très utilisés et il y a théoriquement 128 contrôleurs.

Voici les principaux...

> Le contrôleur de volume (valeur 07) est donc chargé de régler le niveau de sortie global du signal avec une valeur comprise entre 0 et 127 (à ne pas confondre avec la vélocité d'une note qui n'agit que sur un seul événement).

> Le contrôleur de balance (valeur 08) permet d'affecter une part égale au signaux Gauche ou Droite en sortie (valeur globale), sa valeur centrale est fixée à 64 (0=tout à gauche, 127=tout à droite). Ce contrôleur est donc utilisé en valeur finale de sortie.

> Le contrôleur de Panoramique (valeur 10) permet d'affecter une part égale au signaux Gauche ou Droite sur chaque canal, sa valeur centrale est fixée à 64 (0=tout à gauche, 127=tout à droite)

Ce dernier contrôleur est d'ailleurs plus souvent utilisé (comme d'autres) avec les séquenceurs.

> Le contrôleur de maintien (sustain / damper pedal) (valeur 64) est utilisé pour reproduire la commande d'une pédale comme sur un piano.


Pour conclure sur ce sujet, le message MIDI pour chaque action est formé d'un Statut + données (le nombre de données étant variable en fonction du type de message).

5.3. System exclusive


voir QXGedit, pour l'édition de messages MIDI "System Exclusive" pour les périphériques XG (comme le Yamaha DB50XG).

6. Schémas de connections


6.1. Clavier pilotant un autre clavier

  • L’instrument 1 est nommé Clavier maître, il pilote l’instrument 2 nommé esclave.
Image

Cette configuration permet donc de jouer plusieurs sons en même temps à partir d’un seul clavier, en fait l’instrument 2 joue le rôle de boite à sons ; son clavier n’étant pas utilisé. Il joue le rôle d’expandeur (instrument sans commande autonome). Il existe d’ailleurs plusieurs modèles spécifiquement conçus pour être pilotés (voir plus loin).

Le langage MIDI prend toute son importance grâce à un câble reliant les deux appareils. La sortie Out de l’instrument 1 est reliée à l’entrée In de l’instrument 2.

La norme MIDI permettant de définir plusieurs paramètres tel le numéro de canal, les changements de sons, de volume...., on peut envoyer différents réglages (les possibilités dépendant des instruments connectés).

  • C'était une configuration très utilisés avant l'utilisation des ordinateurs
L'installation est relativement rapide avec peu de câblages et la puissance accrue mais l'harmonisation entre les deux appareils peut être délicate. De plus, emmener 2 ou 3 claviers pour ne jouer que sur un seul, ce n'est pas très efficace à moins de se la jouer JMJ !
Cette configuration est adaptée à la scène, elle peut être employée en Home Studio (Studio à la maison). La solution de l'expandeur est vraiment plus efficace.


6.2. Clavier pilotant un ou plusieurs expandeurs

C'est le même schéma que ci-dessus à la différence que l'expandeur n'ayant pas de clavier (c'est en quelque sorte une « boite à sons » :-)

Image

Remarquez l'utilité de la prise thru (à travers), permettant de relier en série plusieurs expandeurs (dans la limite de 3 / 4 à cause de la dégradation du signal). Il existe d'ailleurs des boitiers permettant de brancher plusieurs modules / synthétiseurs (sorte de multiprise MIDI :-), 20 expandeurs ou + en rack piloté par le même clavier est donc possible !

La portabilité est donc meilleure, ce système est idéal sur scène (un expandeur est quasiment indestructible sauf cas extrêmes (chute, humidité, coup de chaud, surtension, liquide à mousse, vieillissement des composants rolleyes).


6.3. Clavier pilotant un ordinateur

Cas très fréquent aujourd'hui, le clavier pilote est souvent "muet", les sons sont issues de l'ordinateur par synthèse virtuelle ou tables d'ondes.

Image

Il faut bien comprendre que la norme MIDI est toujours présente MAIS que les prises peuvent changer ! On trouve donc plusieurs solutions de branchements:

  • Clavier maître (pilote) disposant d'une sortie MIDI OUT format DIN
> Connecteur MIDI IN dans MIDI OUT (sortie clavier) > Connecteur MIDI / Manette de jeu de la carte son (de moins en moins utilisés, hélas, cette connectique était pourtant plus fiable que l'Usb).
> Connecteur MIDI IN dans MIDI OUT (sortie clavier) > Connecteur USB dans unité centrale (actuel bien que sujet à décrochages, blocages suivant marques (!).

à noter qu'il n'y a pas (généralement) de prise MIDI IN dans le clavier maître sauf dans le cas ou ce dernier disposerait d'un générateur sonore ou de possibilités d'échange de données.

  • Clavier maître (pilote) disposant d'une sortie USB et branché directement en USB sur l'unité centrale (pratique, branchement à "chaud" mais attention une fois de plus aux décrochages divers suivant le modèle).

arrow Attention à certains claviers portables Yamaha (tel le K1), il n'y a plus de prises MIDI mais une prise USB donc de forte chance d'acheter un câble spécialisé ! (à vérifier), on ne peut donc plus piloter un autre clavier / expandeur directement ! alors que de simples claviers maîtres de type M-Audio le permettent (parfois le progrès n'a pas que du bon).


6.4. Basse ou Guitare pilotant un expandeur

Un capteur (micro) est inséré sous les cordes (au niveau du chevalet) pour analyser la fréquence et la transformer en événements MIDI, toute la difficulté consiste à bien régler ce capteur pour que la "prise de son" soit la plus précise possible. Le jeu du musicien est aussi déterminant ! (idéal pour le débutant afin de jouer très précis :-).

A la sortie du boîtier / capteur / convertisseur, le signal MIDI est conventionnel et peut donc piloter expandeurs divers (c'est rigolo de jouer de l'orgue avec une guitare, non :-). Par contre, avec une contrebasse ou une basse fretless c'est franchement moins évident, il faut jouer juste pour que la note MIDI le soit aussi !

La marque Roland propose des capteurs relativement performants (et relativement onéreux aussi (!).
voir http://www.rolandce.com/productinfo/productinfolist-F.asp?SubID=29

Il existe des guitares MIDI d'origine; à voir pour la qualité du manche et de l'ébénisterie.


6.5. Batterie et expandeur

On peut trouver des capteurs MIDI associé à un déclencheur MIDI (trigger) qui pourront envoyer une hauteur bien précise sur le canal 10 (définie dans la norme MIDI). La réalisation est beaucoup plus simple puisqu'il s'agit d'un capteur de pression prenant en compte une seule hauteur. Il existe des batteries complètes MIDI permettant de s'entraîner au casque, d'une fiabilité et précision redoutable (même si cela ne remplacera jamais une vrai batterie acoustique au niveau du toucher et de la sensation).

L'idéal est donc bien sur de transformer sa batterie avec quelques capteurs.
Voici quelques modèles : ALESIS D4; DDRUM 3;YAMAHA DTS-70, Roland TD-5


6.6. Instrument à vent et MIDI

Curieusement, les premiers instruments contrôlés par le souffle sont nés quasiment avec les premiers synthétiseurs MIDI (Breath control Yamaha). La commande de souffle MIDI était d'ailleurs implanté dans le tout premier document diffusé sur la norme MIDI en 1983. Le principe est toujours d'associer des capteurs transformant la pression en évènements.

Certains constructeurs (Casio par exemple) ont conçus des instruments a vent envoyant des données MIDI sans transformation ou adaptation permettant de piloter directement des expandeurs (son fameux sax midi ressemblant à un jouet a été joué sur scène (!).
Used in MIDI

Voir quelques infos sur http://www.patchmanmusic.com/dh100sales.html cool

Actuellement il existe le prodipe, capteur MIDI monophonique relativement performant qui peut même fonctionner avec la voix à condition de chanter juste ! Voir http://www.stgd.ch/home.htm?Prodipe/solo/Prodipe_SOLO. On peut trouver d'occasion par exemple le sax midi WX5 et l'expandeur associé avec breath control Yamaha VL 70-m.


6.7. Clavier et séquenceur MIDI

C'est grâce à l'essor de machines enregistreuses de données MIDI que l'on a put découvrir le formidable potentiel de ce langage. On peut considérer plusieurs dates importante.

Les premiers séquenceurs MIDI de type matériel apparurent rapidement mais avec une capacité de stockage assez faible étant donné le prix prohibitif de la mémoire.

Le schéma montre un synthétiseur pilotant un séquenceur, ce dernier pouvant aussi piloter le synthétiseur.

Used in MIDI

Voir en page Séquenceurs MIDI, trackers pour tout ce qui concerne les séquenceurs (entre autre)


6.8. Exemple de configuration en 1998

Voici une de mes configuration type de l'époque ! (eh oui, cela va trop vite :-)
Used in MIDI

Aujourd'hui, la configuration type serait plutôt un clavier pilote + une unité centrale remplaçant expandeurs, boites à rythme... ... dommage un p'tit peu rolleyes

arrow à part le MT32 et le MV30, le reste est plus ou moins en panne (boîte à rythme R5, expandeur WS), usé (G800) ou tout simplement faisant désormais partie de l'histoire de l'informatique musicale (Atari ST, Falcon). Quand au PC, j'ai dû changer la configuration une bonne dizaine de fois ! (sinon plus).


7. Instruments multitimbraux

Au tout début du MIDI, les synthétiseurs bien que polyphoniques (pouvant jouer plusieurs notes à la fois), n'étaient pas multitimbraux (possibilités de jouer plusieurs instruments / sons différents à la fois). Il fallait donc empiler plusieurs synthétiseurs (les premiers expandeurs sont apparus après) pour pouvoir entendre plusieurs sons différents en même temps, ce n'était pas très pratique ni très économique ! (par contre au niveau visuel, cela jetait un max :-).

Il fallut attendre 1985 / 1986 pour voir apparaître les premiers modules de sons / synthétiseurs multitimbraux. Le MT32 de la marque Roland (je me souviens ;-), fit l'effet d'une bombe (j'en ai encore un (!).

Used in MIDI

J'avais assisté à une démonstration de Francis Rimbert ou il empilait 4 MT32 piloté par un D50 et d'autres séquenceurs, synthétiseurs (Roland bien sur) absolument incroyable !.

Sous un format réduit, on pouvait piloter via un séquenceur MIDI plusieurs canaux (cela tombe bien, c'était déjà prévu dans la norme qui était vraiment en avance du coup (!).

Bienvenue au début de l'ère du séquenceur logiciel avec... ..l'Atari ST (entre autre), tous les éléments était donc favorable à l'éclosion de la Mao en informatique (instruments, logiciels, langage....).


8. L'Atari ST

Qu'on se le dise, pour l'essor de la MAO, il y eut l'avant et l'après Atari ST wink

Cette machine était révolutionnaire en 1986, processeur Motorola 68000 (32 bits) cadencé à 4.77Mhz, système TOS, interface graphique Gem (à la Macintosh (!), 1 à 4M° de mémoire et surtout les fameuses prises MIDI incorporées (unique dans l'histoire de la micro informatique dite "familiale").
Used in MIDI

C'est à peine quelques mois après sa sortie que deux logiciels séquenceurs Pro 24 (Steinberg) et Creator (Emagic) firent leurs apparitions puis vinrent Notator (88), Cubase(89) et... Logic ! (j'utilise toujours ce dernier d'ailleurs mais sur PC). La puissance était incroyable pour l'époque avec des possibilités impressionnantes et une stabilité à la Linux ! (Ah si, un de mes Atari s'est arrêté un jour.... ....panne de courant :-).

En logiciel MIDI tout ou presque a été créé sur cet ordinateur (séquenceur, éditeur de partitions, arrangeurs, éditeur de sons, éducatifs...). j'ai encore l'éditeur de son pour mon Korg Ws qui n'existe pas sur PC et qui n'a jamais été égalé en fonctionnalité. Une grande partie des logiciels phares MAO d'aujourd'hui"hui sont issus du monde de l'Atari ! (n'oublions pas que les pères de Cubase et Logic travaillaient ensemble et ont sorti leur tout premier séquenceur (Pro 12) sur Commodore 64 (64K° de mémoire) en 1984 !. Il existait même un logiciel permettant de lire les MidiFile adapté pour les non-voyants !

Petit inconvénient toutefois, les logiciels libres n'étaient pas encore à la fête donc l'investissement n'était pas négligeable. (Mon deuxième Atari Mega St avec 1M°, imprimante à 24 aiguilles Epson et Notator m'a coûté la bagatelle d'environ 12000 Fr de l'époque (!). Par contre, les mises à jour était moins fréquentes (et sur disquettes), le produit durait plus longtemps avec un usage intensif, le démarrage était rapide et on pouvait éteindre directement.

Il a eu aussi le MacIntosh (fiable et novateur) mais plutôt réservé à une certaine catégorie (moins démocratique pour le musicien souvent fauché :-).

Curieusement, L'Amiga (autre machine 32 bits) sortis quasiment en même temps que l'Atari St, n'a pas eu beaucoup de succès parmi les musiciens (mis à part les trackers) malgré sa puissance plus importante (manque de prises MIDI incorporées, distribution frileuse au départ, conception moins homogène...).

J'ai tardé le plus possible avant de passer sur PC et m'arracher les cheveux pour faire de la Mao avec Win 98 même si c'était un peu mieux sur Xp; aujourd'hui je bascule sur Linux, c'est une renaissance mrgreen


9. Linux et MIDI

Si alsa et jack / qjackctl sont bien installés, il ne devrait pas y avoir de problèmes pour la reconnaissance de la plupart des interfaces, un p'it tour sur : http://www.alsa-project.org/ permet de savoir si tout est bien reconnu.
Les interfaces MIDI Midimate et Roland USM1 sont bien reconnues par exemple.
Le clavier MIDIStart-2 décroche (et pas que sur Linux (!).

Pour les réglages divers, voir sur le site les pages :
Alsa - vérifications avant de commencer, Alsa - quelques commandes utiles ou MIDI - Les logiciels par exemple.

Le MIDI est donc un langage fantastique car universel, se prêtant à de multiples combinaisons, expérimentations et se bonifiant avec le temps (23 ans d'âge comme le très bon whisky (!).

Enfin, il ne faut pas oublier que Linux reconnaît très bien le langage MIDI, les applications sont de plus en plus nombreuses allant du séquenceur aux instruments virtuels, en passant par l'édition de partitions jusqu'aux arrangeurs, boites à rythmes... eh oui, le Midi se faufile partout wink

arrow Sources d'informations (avec les expérimentations diverses, les infos du web et autres...):
> Livres d'or sur la norme MIDI, tomes 1 & 2 des éditions Sybex (+ de 1300 pages ))

Liens


Documentation [Afficher / Cacher]

Connexion
[Afficher / Cacher]



Mégaphone [Afficher / Cacher]

olinuxx, 16:42, sam. 15 Dec 2018: Bonjour et bienvenue à shanjian wink
sub26nico, 16:56, jeu. 13 Dec 2018: Salut et bienvenue à Bambou :-)
olinuxx, 14:48, jeu. 13 Dec 2018: Bonjour et bienvenue à Svens cool
programLyrique, 10:59, jeu. 13 Dec 2018: La joute 14 commence : [Lien]
olinuxx, 14:34, mer. 12 Dec 2018: Bonjour et bienvenue à kadiobale wink
r1, 20:25, mar. 11 Dec 2018: Les joutes sont sur le point de reprendre ! viendez jouer avec nous !!! :-)
olinuxx, 23:10, lun. 10 Dec 2018: Bonjour et bienvenue à titidu77 cool
olinuxx, 19:15, lun. 10 Dec 2018: Bonjour et bienvenue à GranDide :-)
sub26nico, 13:26, lun. 10 Dec 2018: Salut et bienvenue à Floyd84 :-)
sub26nico, 09:09, ven. 07 Dec 2018: Salut et bienvenue à alansnow73 :-)
allany, 18:40, jeu. 06 Dec 2018: Avec un ch'tit retard, voici l'édito de décembre ! [Lien]
jipeL, 17:46, mer. 05 Dec 2018: Sweet Vibes "Approuvé" pour distribution via RouteNote, et ce, du premier coup !! et sans modif à faire !!! super !!! ( voir mon post dans le forum "le Nimp"