Historique: MIDI
Aperçu de cette version: 102
voir le fil du forum ddi
Introduction :
Le MIDI (Musical Instrument Digital Interface) est un protocole numrique 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, synthtiseur...)
MATRIELS MIDI
Surfaces de contrle
TUTO : Tuto tester son clavier MIDI-USB
L'INFRASTRUCTURE MIDI
ALSA-MIDI
JACK-MIDI
a2jmidid
TEST : Alsa-Midi-Latency-Test
TUTORIELS
Ecouter des fichiers midi et audio depuis son navigateur
Visuels_MIDI
Surfaces de contrle
TUTO : Tuto tester son clavier MIDI-USB
L'INFRASTRUCTURE MIDI
ALSA-MIDI
JACK-MIDI
a2jmidid
TEST : Alsa-Midi-Latency-Test
TUTORIELS
Ecouter des fichiers midi et audio depuis son navigateur
Visuels_MIDI
1. Historique
Dans les annes 70, certains constructeurs avaient imagin pour leurs gammes de synthtiseurs diffrents moyens pour les faire jouer entre eux, c'tait trs exprimental, peu fiable et souvent monophonique car commands par des tensions (bien que le standard CV eut un succs d'estime pour certains instruments plus ou moins compatibles). Il fallait en fait rester dans la mme marque pour esprer 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 dcouverte d'un monde de la synthse incroyable avec essais et exprimentations 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 vritable miroir ayant fait rver de trs nombreux musiciens amateurs.Fin des annes 1970, de multiples essais eurent lieu, cette fois ci avec des puces lectroniques (assemblages de plusieurs composants sur le mme 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'avances...
C'est donc dbut des annes 80 que les constructeurs d'instruments de musique dcidrent de crer un protocole de communication permettant tout d'abord de relier entre eux les synthtiseurs (grce l'mergence de puces un peu plus puissantes pouvant grer des flux numriques). Certains constructeurs avaient dj pos les fondations de ce protocole de communication (Dcb, Usi). Heureusement, en 1982, le nouveau standard MIDI naissait grce une collaboration intelligente de ces constructeurs trs impliqus dans la constructions de synthtiseurs tourns vers l'analogique commande digitale puis totalement numrique (Sequential circuit, Roland, Oberheim, Korg, Yamaha, E-mu, Kawa entre autre).
Les premiers synthtiseurs MIDI furent le Prophet 600 (Sequential Circuits), le jupiter 6, le Jx3p (Roland) et le DX7 (Yamaha). Ce fut une vritable rvolution !, par la suite d'autres instruments de musique furent quips de cette interface tels des boite rythmes, chantillonneurs, expandeurs, accordons... 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 synthtiseurs abordables apparurent ( Casio Cz10, Kawa K1, Roland D5 / D10 / D20, Yamaha Dx9 / D11, Korg Poly 61...) dmocratisant totalement l'utilisation de cette norme.
Le monde MIDI n'est pas rserv qu'aux clavier puisqu'il existe d'autres interfaces pouvant tre relis avec des capteurs / convertisseurs: Basse, Batterie, Guitare, Instrument vent... harpe rayon laser 😁 (vridique). Les possibilits sont infinies. Bien sur avec l'avnement de la MAO, d'autres botiers "magiques" apparurent sur le march tel des surfaces de contrle, des tables de mixages; mme le monde de l'audiovisuel fut touch avec la gestion de la lumire...
2. Connectique
Les prises Midi se prsentent 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 utiliss et un cble MIDI ne doit pas excder une quinzaine de mtre (le courant vhicul tant trs faible, de l'ordre de 5 milliampre).Il existe donc 3 prises MIDI:
- La Prise MIDI Out qui permet d'envoyer des donnes
- La Prise MIDI In qui permet de recevoir des donnes
- 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).
Voici pour les bidouilleurs (dont je fais partie 😊
Tous ces composants sont trs courants et disponibles chez tous les revendeurs de composants lectronique tel : http://www.selectronic.fr/ par exemple.
Faites chauffer les fers 😎
4. Technique
L'interface MIDI est de type liaison srie (les donnes sont transmises les une aprs les autres) et asynchrone (facile mettre en uvre et bien adapte pour le jeu des musicien).Son dbit est de 31250 bauds (bits par seconde), l'interface transmet donc plus de 3000 octets par seconde.
Ce dbit 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 (dpart) avec une valeur 0 et un bit de stop avec un valeur de 1 (ceci afin que le ou les rcepteurs puissent dtecter la prsence d' informations).
Ce qui donne ceci :
1 (bit de stop) (donnes sur 1 octet (exemple 01101100)]) 0 (bit de start)
Pour une information (notes, contrle), on peut avoir besoin de plusieurs donnes, nous verrons plus loin le dtail de certaines...
Dans le cas d'envoi de donnes en system exclusive (propre chaque appareil), les informations peuvent tre trs longues (et parfois bloquer certains appareils).
Un appareil quip d'une interface MIDI met, sur 16 canaux diffrents et indpendants, ce qui permet de piloter 16 instruments diffrents ou 16 sons diffrents via le mme instrument.
Des donnes binaires correspondant aux diffrentes actions effectues par l'instrumentiste en jouant sont envoyes tel : l'enfoncement / relchement de notes, la vlocit, le changement de programme, coup de molette ou de pitch bend, modulation, monte et descente du sige de l'instrumentiste 😊....
Toutes ces donnes sont immdiatement interprtes par n'importe quel autre appareil MIDI, en temps rel, sans devoir traduire ou modifier quoi que ce soit condition que l'instrument rcepteur puissent accepter certaines donnes (certains instruments en dbut de gamme ou anciens ne pouvant interprter toutes les donnes).
5. Le langage MIDI
Ce langage permet de traduire donc le jeu du musicien en vnements informatique comprhensible par la machine (cas d'un ordinateur) ou d'un instrument.Nous avons donc le schma suivant :
Musicien (ou musicienne 😊 > capteurs (clavier, convertisseur) > logiciel de mise en forme (type matriel ou logiciel) > interface MIDI mettrice > interface MIDI rceptrice > logiciel de remise en forme ! ( type matriel ou logiciel) > instrument (matriel ou logiciel) > systme d'coute.
Les informations MIDI sont diviss en 2 sortes :
Les statuts (status) et les donnes (data)
- Les statuts dfinissent la commande ralis par le musicien (enfoncement d'une touche, relchement, commande de modulation...)
- Les donnes dfinissent la valeur (hauteur de la note, vlocit...)
L'vnement le plus utilis (pour un musicien bien sur 😊 est l'envoi de notes.
> Lorsqu'une note est mise, le premier octet (statut) reprsente l'action de dpart de la note ainsi que le numro du canal (1 16) ce qui donne : Note On + numro de canal
> Le deuxime octet reprsente la hauteur de la note (128 hauteurs diffrentes pouvant tre adresses).
> Le troisime octet reprsente la vlocit (toujours sur 128 valeurs)
Ce qui nous donne:
- Note ON / canal - Hauteur de la note - vlocit
- Note OFF / canal - Hauteur de la note - vlocit (gnralement zro)
➡️ Quand une note se bloque, c'est qu'il n'a pas reu d'information de note OFF !, c'est pour cela que le bouton panic existe et prend toute son importance (sur ZynAddSubFx par exemple 🙀). Il faut donc rejouer la mme note pour renvoyer l'information manquante.
Les contrleurs sont trs utiliss et il y a thoriquement 128 contrleurs.
Voici les principaux...
> Le contrleur de volume (valeur 07) est donc charg de rgler le niveau de sortie global du signal avec une valeur comprise entre 0 et 127 ( ne pas confondre avec la vlocit d'une note qui n'agit que sur un seul vnement).
> Le contrleur de balance (valeur 08) permet d'affecter une part gale au signaux Gauche ou Droite en sortie (valeur globale), sa valeur centrale est fixe 64 (0=tout gauche, 127=tout droite). Ce contrleur est donc utilis en valeur finale de sortie.
> Le contrleur de Panoramique (valeur 10) permet d'affecter une part gale au signaux Gauche ou Droite sur chaque canal, sa valeur centrale est fixe 64 (0=tout gauche, 127=tout droite)
Ce dernier contrleur est d'ailleurs plus souvent utilis (comme d'autres) avec les squenceurs.
> Le contrleur de maintien (sustain / damper pedal) (valeur 64) est utilis pour reproduire la commande d'une pdale comme sur un piano.
Pour conclure sur ce sujet, le message MIDI pour chaque action est form d'un Statut + donnes (le nombre de donnes tant variable en fonction du type de message).
5.3. System exclusive
voir QXGedit, pour l'dition de messages MIDI "System Exclusive" pour les priphriques XG (comme le Yamaha DB50XG).
6.1. Clavier pilotant un autre clavier
- Linstrument 1 est nomm Clavier matre, il pilote linstrument 2 nomm esclave.
Cette configuration permet donc de jouer plusieurs sons en mme temps partir dun seul clavier, en fait linstrument 2 joue le rle de boite sons ; son clavier ntant pas utilis. Il joue le rle dexpandeur (instrument sans commande autonome). Il existe dailleurs plusieurs modles spcifiquement conus pour tre pilots (voir plus loin).
Le langage MIDI prend toute son importance grce un cble reliant les deux appareils. La sortie Out de linstrument 1 est relie lentre In de linstrument 2.
La norme MIDI permettant de dfinir plusieurs paramtres tel le numro de canal, les changements de sons, de volume...., on peut envoyer diffrents rglages (les possibilits dpendant des instruments connects).
- C'tait une configuration trs utiliss avant l'utilisation des ordinateurs
Cette configuration est adapte la scne, elle peut tre employe 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 mme schma que ci-dessus la diffrence que l'expandeur n'ayant pas de clavier (c'est en quelque sorte une boite sons 😊
Remarquez l'utilit de la prise thru ( travers), permettant de relier en srie plusieurs expandeurs (dans la limite de 3 / 4 cause de la dgradation du signal). Il existe d'ailleurs des boitiers permettant de brancher plusieurs modules / synthtiseurs (sorte de multiprise MIDI 😊, 20 expandeurs ou + en rack pilot par le mme clavier est donc possible !
La portabilit est donc meilleure, ce systme est idal sur scne (un expandeur est quasiment indestructible sauf cas extrmes (chute, humidit, coup de chaud, surtension, liquide mousse, vieillissement des composants 🙄).
6.3. Clavier pilotant un ordinateur
Cas trs frquent aujourd'hui, le clavier pilote est souvent "muet", les sons sont issues de l'ordinateur par synthse virtuelle ou tables d'ondes.
Il faut bien comprendre que la norme MIDI est toujours prsente MAIS que les prises peuvent changer ! On trouve donc plusieurs solutions de branchements:
- Clavier matre (pilote) disposant d'une sortie MIDI OUT format DIN
> Connecteur MIDI IN dans MIDI OUT (sortie clavier) > Connecteur USB dans unit centrale (actuel bien que sujet dcrochages, blocages suivant marques ❗.
noter qu'il n'y a pas (gnralement) de prise MIDI IN dans le clavier matre sauf dans le cas ou ce dernier disposerait d'un gnrateur sonore ou de possibilits d'change de donnes.
- Clavier matre (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 dcrochages divers suivant le modle).
➡️ 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 cble spcialis ! ( vrifier), on ne peut donc plus piloter un autre clavier / expandeur directement ! alors que de simples claviers matres de type M-Audio le permettent (parfois le progrs n'a pas que du bon).
6.4. Basse ou Guitare pilotant un expandeur
Un capteur (micro) est insr sous les cordes (au niveau du chevalet) pour analyser la frquence et la transformer en vnements MIDI, toute la difficult consiste bien rgler ce capteur pour que la "prise de son" soit la plus prcise possible. Le jeu du musicien est aussi dterminant ! (idal pour le dbutant afin de jouer trs prcis 😊.A la sortie du botier / 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 onreux 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'bnisterie.
6.5. Batterie et expandeur
On peut trouver des capteurs MIDI associ un dclencheur MIDI (trigger) qui pourront envoyer une hauteur bien prcise sur le canal 10 (dfinie dans la norme MIDI). La ralisation est beaucoup plus simple puisqu'il s'agit d'un capteur de pression prenant en compte une seule hauteur. Il existe des batteries compltes MIDI permettant de s'entraner au casque, d'une fiabilit et prcision redoutable (mme si cela ne remplacera jamais une vrai batterie acoustique au niveau du toucher et de la sensation).L'idal est donc bien sur de transformer sa batterie avec quelques capteurs.
Voici quelques modles : ALESIS D4; DDRUM 3;YAMAHA DTS-70, Roland TD-5
Curieusement, les premiers instruments contrls par le souffle sont ns quasiment avec les premiers synthtiseurs 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 vnements.
Certains constructeurs (Casio par exemple) ont conus des instruments a vent envoyant des donnes MIDI sans transformation ou adaptation permettant de piloter directement des expandeurs (son fameux sax midi ressemblant un jouet a t jou sur scne ❗.
Voir quelques infos sur http://www.patchmanmusic.com/dh100sales.html 😎
Actuellement il existe le prodipe, capteur MIDI monophonique relativement performant qui peut mme 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.
C'est grce l'essor de machines enregistreuses de donnes MIDI que l'on a put dcouvrir le formidable potentiel de ce langage. On peut considrer plusieurs dates importante.
Les premiers squenceurs MIDI de type matriel apparurent rapidement mais avec une capacit de stockage assez faible tant donn le prix prohibitif de la mmoire.
Le schma montre un synthtiseur pilotant un squenceur, ce dernier pouvant aussi piloter le synthtiseur.
Voir en page Squenceurs MIDI, trackers pour tout ce qui concerne les squenceurs (entre autre)
6.8. Exemple de configuration en 1998
Voici une de mes configuration type de l'poque ! (eh oui, cela va trop vite 😊
Aujourd'hui, la configuration type serait plutt un clavier pilote + une unit centrale remplaant expandeurs, boites rythme... ... dommage un p'tit peu 🙄
➡️ part le MT32 et le MV30, le reste est plus ou moins en panne (bote rythme R5, expandeur WS), us (G800) ou tout simplement faisant dsormais 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 dbut du MIDI, les synthtiseurs bien que polyphoniques (pouvant jouer plusieurs notes la fois), n'taient pas multitimbraux (possibilits de jouer plusieurs instruments / sons diffrents la fois). Il fallait donc empiler plusieurs synthtiseurs (les premiers expandeurs sont apparus aprs) pour pouvoir entendre plusieurs sons diffrents en mme temps, ce n'tait pas trs pratique ni trs conomique ! (par contre au niveau visuel, cela jetait un max 😊.Il fallut attendre 1985 / 1986 pour voir apparatre les premiers modules de sons / synthtiseurs multitimbraux. Le MT32 de la marque Roland (je me souviens 😉, fit l'effet d'une bombe (j'en ai encore un ❗.
J'avais assist une dmonstration de Francis Rimbert ou il empilait 4 MT32 pilot par un D50 et d'autres squenceurs, synthtiseurs (Roland bien sur) absolument incroyable !.
Sous un format rduit, on pouvait piloter via un squenceur MIDI plusieurs canaux (cela tombe bien, c'tait dj prvu dans la norme qui tait vraiment en avance du coup ❗.
Bienvenue au dbut de l're du squenceur logiciel avec... ..l'Atari ST (entre autre), tous les lments 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'aprs Atari ST 😉Cette machine tait rvolutionnaire en 1986, processeur Motorola 68000 (32 bits) cadenc 4.77Mhz, systme TOS, interface graphique Gem ( la Macintosh ❗, 1 4M de mmoire et surtout les fameuses prises MIDI incorpores (unique dans l'histoire de la micro informatique dite "familiale").
C'est peine quelques mois aprs sa sortie que deux logiciels squenceurs 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 possibilits impressionnantes et une stabilit la Linux ! (Ah si, un de mes Atari s'est arrt un jour.... ....panne de courant 😊.
En logiciel MIDI tout ou presque a t cr sur cet ordinateur (squenceur, 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 pres de Cubase et Logic travaillaient ensemble et ont sorti leur tout premier squenceur (Pro 12) sur Commodore 64 (64K de mmoire) en 1984 !. Il existait mme un logiciel permettant de lire les MidiFile adapt pour les non-voyants !
Petit inconvnient toutefois, les logiciels libres n'taient pas encore la fte donc l'investissement n'tait pas ngligeable. (Mon deuxime Atari Mega St avec 1M, imprimante 24 aiguilles Epson et Notator m'a cot la bagatelle d'environ 12000 Fr de l'poque ❗. Par contre, les mises jour tait moins frquentes (et sur disquettes), le produit durait plus longtemps avec un usage intensif, le dmarrage tait rapide et on pouvait teindre directement.
Il a eu aussi le MacIntosh (fiable et novateur) mais plutt rserv une certaine catgorie (moins dmocratique pour le musicien souvent fauch 😊.
Curieusement, L'Amiga (autre machine 32 bits) sortis quasiment en mme temps que l'Atari St, n'a pas eu beaucoup de succs parmi les musiciens (mis part les trackers) malgr sa puissance plus importante (manque de prises MIDI incorpores, distribution frileuse au dpart, conception moins homogne...).
J'ai tard le plus possible avant de passer sur PC et m'arracher les cheveux pour faire de la Mao avec Win 98 mme si c'tait un peu mieux sur Xp; aujourd'hui je bascule sur Linux, c'est une renaissance 😁
9. Linux et MIDI
Si alsa et jack / qjackctl sont bien installs, il ne devrait pas y avoir de problmes 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 dcroche (et pas que sur Linux ❗.
Pour les rglages divers, voir sur le site les pages :
ALSA_Premiers_Pas, ALSA_autres ou presentationMIDI par exemple.
Le MIDI est donc un langage fantastique car universel, se prtant de multiples combinaisons, exprimentations et se bonifiant avec le temps (23 ans d'ge comme le trs bon whisky ❗.
Enfin, il ne faut pas oublier que Linux reconnat trs bien le langage MIDI, les applications sont de plus en plus nombreuses allant du squenceur aux instruments virtuels, en passant par l'dition de partitions jusqu'aux arrangeurs, boites rythmes... eh oui, le Midi se faufile partout 😉
➡️ Sources d'informations (avec les exprimentations diverses, les infos du web et autres...):
> Livres d'or sur la norme MIDI, tomes 1 & 2 des ditions Sybex (+ de 1300 pages ))