Des geekeries, de la MAO, de tout et de rien…
Je suis
Charlie

MAO - parlons du MIDI

Icône auteur nah, Icône canondrier 25 mai 2014, Icône commentaire
Mots clés Icône catégorie MAO, MIDI, classé dans Icône catégorie MIDI, Musique/MAO

Comment parler de MAO sans parler du MIDI.

Édition du 25 mai 2014, 11h à 12h30 : correction de fautes de frappes, d'erreurs, et ajout de quelques éléments oubliés (sysex, photos).

Édition du 27 avril 2015 : ajout de deux musiques de jeux vidéo provenant d'un vrai MT-32.

Mentions légales
Toutes les photos présentes sur cette page ne sont présentes qu'à des fins d'illustration et non à des fins publicitaires. Tous les noms et marques cités appartiennent à leurs propriétaires respectifs.
/Mentions légales.

Qu'est-ce que le MIDI


  • Le midi, c'est le sud de la France.
  • Le midi, c'est le synonyme de 12h (12 PM pour les anglophones), et donc l'opposé de minuit (0h, ou 12 AM)
  • Le midi, c'est aussi un intervalle de temps où on mange (généralement, entre 12 et 14 heures).
  • Le midi, c'est le truc que l'on cherche à 14 heure.
  • Le midi, c'est également plein d'autres choses…
  • Le midi, c'est enfin l'acronyme de Musical Instrument Digital Interface, littéralement : Interface Numérique pour les Instruments de Musique (ou Interface pour les Instruments de Musique Numérique ?).

Le MIDI, en détail


Ce que l'on désigne par MIDI, cela peut être plusieurs choses :

  • Une connectique normalisée, au format DIN à 5 broches (prises, câbles).
  • Un protocole de communication normalisé.
  • Une harmonisation de la numérotation des instruments de musique (General MIDI).
  • Des contrôleurs MIDI.
  • Un format de fichier (les fameux .mid, format décrié à raison sous Windows).
  • Un truc permettant de faire du réseau sur Atari ST (midinet).

Une connectique normalisée


La connectique est simple : Une prise en entrée, une prise en sortie, souvent une prise supplémentaire qui recopie l'entrée (appelée Pass Thru ou simplement Thru). Un câble ne permet la communication que dans un seul sens. Si on veut une communication bidirectionnelle (dans les deux sens), il faut alors deux câbles.


Un appareil MIDI avec ses prises IN, OUT et THRU

Vue des prises MIDI et d'un câble MIDI.

Les câbles se trouvent facilement dans n'importe quel magasin de musique, et permettent une longueur maximale de 15 mètres.

Le format de la prise peut paraître étrange de nos jours (on n'utilise quasiment plus le format DIN dans le domaine grand public, mis à part quelques prises pour clavier/souris, au format PS/2, les magnétophones n'étant plus utilisés, et les caméscopes n'ont plus de prise S-Vidéo), mais quand la norme fut élaborée, cela permettait de réutiliser ses câbles de magnéto.

Le branchement se fait de manière simple. On raccorde la sortie d'un appareil (ou le Thru) sur l'entrée d'un autre. On peut les brancher en cascade, mais au delà de 3 ou 4, il vaut mieux utiliser un genre de Hub MIDI, pour limiter les pertes de signal et réduire la latence.


Schéma représentant le branchement d'un clavier sur deux expandeurs

Exemple de raccordement en cascade, avec la prise THRU.


Ce connecteur est toujours présent et utilisé, même si on trouve de plus en plus d'appareils MIDI (contrôleurs, expandeurs, synthétiseurs) ayant une prise USB, et permettant de se raccorder facilement à un ordinateur, sans passer par un adaptateur USB-MIDI, ou par une carte son ayant encore un connecteur Joystick (la grosse prise DB 15 jaune) utilisant la norme MPU-401, aujourd'hui obsolète.

Vue arrière d'un clavier maître M-Audio KeyStation 88 es

La connectique d'un clavier maître récent.

Un protocole de communication normalisé


Avant l'arrivée du MIDI, chaque fabricant avait son propre système de communication.

Par exemple, un système à base de CV/Gate (une tension électrique indiquait la hauteur de la note, et le Gate (ou Trigger) servant à contrôler l'enveloppe). Ce système existe depuis les années 60, mais pas toujours avec les mêmes plages de tension. Un LA 2 sur un instrument pouvait donner un LA 6 sur un autre.
Ou alors, via un protocole de communication plus évolué, comme le DCB (Digital Control Bus), de Roland, présent notamment sur le Juno 60 et le Jupiter 8.
Le DCB a été remplacé par le midi, et on trouve des adaptateurs MIDI - DCB.

Connectique sur un Roland SH-09

Prises CV et GATE sur un synthétiseur Roland SH-09.

À noter, le CV/Gate est encore utilisé de nos jours, notamment sur les synthétiseurs modulaires, avec soit un contrôle en tension (1V par octave), soit le contrôle en fréquence (le LA 4 est alors à 440 Hz).

À noter également : un signal d'horloge pouvait provenir d'un autre connecteur, pour piloter par exemple, un arpégiateur, ou synchroniser plusieurs boîtes à rythme ou à percussion (genre, TR-808).

Vue des connecteurs sur un Juno-6

Connecteurs d'un Juno 6

Bref, pas vraiment de trucs compatibles les uns les autres, ou nécessitant de passer par des adaptateurs intermédiaires, quand ces appareils existaient.

La norme MIDI provient du fondateur de Sequential Circuits et du designer du Prophet-5, Dave Smith. À l'origine (en 1981), il s'agissait d'une proposition pour une interface universelle pour les synthétiseur (USI, Universal Synthesizer Interface), suite à ses rencontres avec Tom Oberheim (Oberheim) et Ikutaro Kakehashi (Roland).

Ce protocole de communication proposait un système commun basé sur le système de "Note ON" et "Note OFF" (jouer une note, arrêter la note), et ce, pour différents fabricants.

Par la suite, ce protocole évolua, et donna lieu au MIDI, tel qu'on le connait aujourd'hui.

La première démonstration fonctionnelle de ce protocole eu lieu au NAMM d'hiver, en 1983, où un Prophet 600 (Sequential Circuits), fut relié à un Jupiter 6 (Roland).

Photo prise lors du NAMM en 1983, montrant les deux synthés branchés l'un avec l'autre. Source : midi.org

NAMM en 1983. Source : midi.org

En plus de définir comment jouer une note, à quelle hauteur, et d'autres paramètres, un élément important a été ajouté, ce sont les SysEx, pour System Exclusive.

Ces instructions, placées entre F0 et F7, peuvent servir pour piloter des enregistreurs (lecture, avancer, reculer, enregistrer…), pour synchroniser des appareils (horloge), ou encore, pour contrôler certaines fonctionnalités spécifiques à un périphérique midi, comme la fréquence d'un LFO, afficher un message à l'écran d'un expandeur, etc.

Finalement, le MIDI, au point de vue matériel, n'est qu'un port série, uni-directionnel, fonctionnant à 31 200 bits/s.

Une harmonisation de la numérotation des instruments de musique


Avant l'arrivée de la norme General MIDI (ou GM1) en 1991, chaque fabricant pouvait disposer ses instruments comme il le souhaitait, la norme MIDI ne s'occupant pas de cet aspect. Sauf que, pour faire communiquer deux instruments de fabricants différents (voire même d'un même fabricant), les instruments n'étaient pas placés au même endroit.

Par exemple (tiré de la documentation du Sound Canvas SC-55 de Roland, le MT-32 étant aussi de Roland)

N° d'Instrument Instrument GM1/GS Instrument MT32
1 Piano Piano
11 Boîte à musique Orgue électrique, 3e variation
25 Guitare à corde nylon Ensemble d'instruments à vent synthétique, 1e variation
48 Timpani Onde carrée
89 Fantasia (nappe de synthé) Trompette

Avouons-le, vouloir jouer un son de guitare, et obtenir un ensemble à vent, ce n'est pas bon du tout.

La norme GM1 définit un certain nombre de prérequis :

  • Une polyphonie de 24 voies (la polyphonie étant le nombre de notes minimales que l'appareil doit pouvoir jouer).
  • La gestion de la vélocité (Le musicien a appuyé plus ou moins fort sur la touche du piano, cela doit pouvoir être reproduit par un instrument).
  • L'instrument doit avoir 16 canaux midi, chacun pouvant être affecté à un instrument différent à un moment donné.
  • Le canal 10 doit être réservé pour les percussions.
  • Une classification des 127 instruments, par groupe de 8. De 1 à 8, les pianos, de 9 à 15, les percussions chromatiques comme le vibraphone, le marimba, le xylophone, de 17 à 24, les orgues (style Hammond, orgue d'église), etc.
  • D'autres éléments, comme la gestion de la molette de Pitch Bend, de modulation, etc.

Cependant, des fabricants ont étendu cette norme, afin d'avoir accès à plus d'instruments (les variations), d'accéder à des effets (flanger, phaser, simulateur d'ampli de guitare), ou gérer des altérations, comme changer l'enveloppe, jouer sur la résonance ou le cut-off.

Il est vrai que la norme GM1 ne permet d'associer que jusqu'à 8 instruments par groupe, ce qui peut sembler bien peu.

En comparaison, le SC-55 (à la norme GS, General Standard, de Roland), propose 317 instruments. Le MU-80 de Yamaha (à la norme XG, eXtended General MIDI, de Yamaha, étendant la norme GM1), en propose 729, le MU 2000 (GM1, GM2, GS et XG) en propose 1 396…

À noter : en théorie, la norme GS permettrait de gérer jusqu'à 16 384 instruments différents (128 instruments, multiplié par 128 variations possibles par instrument).

Suite à ces standards, une évolution de la norme General Midi a été conçue en 1999, le GM2. Elle permet, entres autres, la gestion des variations (ou instruments alternatifs, comme le permettait le GS et le XG, 8 et 5 ans plus tôt). Les appareils MIDI compatibles GM2 sont bien entendu compatibles GM1. L'inverse n'est pas forcément vrai.

Des contrôleurs MIDI


Un contrôleur MIDI est simplement un appareil transformant les instructions du musicien en signal de contrôle MIDI.

L'exemple le plus évident est le clavier maître, qui ressemble à un clavier de piano, ou parfois, un espèce de clavier de piano monté sur un truc ressemblant à une guitare, les fameux keytars.

Clavier maître

Un clavier maître.

Keytar

Une keytar.

On trouve aussi des batteries électroniques, qui ont seulement des capteurs piézo-électrique, et qui convertissent le jeu du batteur au format MIDI, et permettant de jouer de la batterie de jour comme de nuit (enfin, on entend des "poc-poc-poc", les éléments étant en plastique ou en caoutchouc), le son de batterie étant généré par un ordinateur ou un expandeur (le « module »).

Une batterie électronique

Une batterie électronique.

Il existe aussi des petits contrôleurs, appelés "Pads", dotés de boutons, de curseurs, et pouvant être programmables, pous jouer une mélodie, par exemple.

Pads

Un pad.

Un instant, j'ai parlé à plusieurs reprise d'expandeur, mais c'est quoi ?

Un expandeur est un appareil autonome, convertissant des instructions MIDI en sons. On branche un clavier maître (ou n'importe quel contrôleur) en entrée, et un casque ou un ampli en sortie.

Un Expandeur Yamaha MU 2000

Un expandeur MIDI.

Un format de fichier


Les instructions MIDI peuvent être stockés dans un fichier. Ce format, SMF, pour Standard Midi File, a été défini en 1988 et est normalisé. Plusieurs extensions existent (.mid, .kar, .rmi, …), mais globalement, il y en a de quatre sortes :

  • SMF 0, toutes les données sont stockées sur un seul canal.
  • SMF 1, le fichier est multi-canal, avec pour chaque canal, ses données. Il s'agit du format le plus répandu.
  • SMF 2, le fichier contient plusieurs pistes (plusieurs musiques). Ce format est très peu répandu.
  • Spécifique à Microsoft Windows, le RMI, qui est encapsulé dans un conteneur RIFF (comme les fichiers .wav sont en fait un codec PCM encapsulé dans un fichier RIFF). Ce fichier RMI peut être accompagné d'un fichier DLS, DownLoadable Sound, qui contient l'ensemble des samples à jouer avec ce fichier midi.

Si vous avez eu une connexion internet fin des années 90-début 2000, notamment avant l'offre AOL à 99 francs, vous avez forcément visité au moins une page jouant de la musique, avec une sonorité catastrophique, via le Lecteur Windows Media (l'ancêtre de Windows Media Player), ou Quicktime. Si vous avez lancé au moins une fois le flipper de Windows (Space Cadet), ou un 3D pinball de Sierra, vous avez certainement retenu la musique électronique, avec des instruments rappelant de loin une guitare basse et des sons de synthétiseur. Ce sont en fait, des fichiers midi qui sont joués.

Le MIDI dans les jeux

On sort du cadre de la MAO, mais comment parler de MIDI sans parler des jeux ayant utilisé le MIDI comme source de musique.

En plus des cartes sons (AdLib, Creative Sound Blaster, Gravis UltraSound), de qualité inégale (la plupart sonnant pouet pouet), il y a eu deux principaux appareils, utilisés entre la fin des années 80 et le milieu des années 90, le Roland MT-32, et le Roland SC-55.

Le MT-32 est un synthétiseur, programmable via le MIDI, et datant de 1987. Basé sur la synthèse L.A (comme le D-50), sa sonorité était largement supérieure, aussi bien aux cartes sons existant à l'époque que les cartes sons ultérieures. Doté de 9 canaux MIDI, de 128 instruments et de 33 percussions, il n'est pas compatible GM1, même s'il existe un gros patch sysex qui permet de supporter partiellement le GM1.

Photo d'un Roland MT-32

Juste à titre indicatif, ce lien présente une liste de jeux pouvant tirer parti du MT-32.

http://fr.wikipedia.org/wiki/Liste_de_jeux_vid%C3%A9o_compatibles_avec_le_Roland_MT-32

Le SC-55 est un expandeur MIDI, sorti en 1991, quelques semaines avant la publication de la norme GM1. Il s'agit en fait du premier appareil répondant à la norme GS (de Roland), et les premiers modèles (ceux en version 1.10 notamment) ne sont pas 100% compatible GM1. Les suivants, eux, le sont.

Roland SC-55

Un SC-55. Notez la présence du logo General MIDI à côté du logo GS.

Le SC-55 fera référence dans les jeux, notamment pour Doom, Duke Nukem 3D (les bandes sons étant composées avec).

À noter, le SC-55 utilise des samples PCM et une version réduite de la synthèse LA. Il peut se comporter comme un MT-32, mais ne permet pas d'être programmé comme son prédécesseur.

Le SC-55 permet aussi de faire des trucs amusants, comme ceci :


Télécharger la vidéo au format webm.

Le fichier MIDI lu est StarGame. L'animation est jouée en temps réel, en même temps que la musique. Les données sont transmises via le MIDI, par des codes SysEx.
Le truc bleu posé dessus est une interface MIDI-USB. Notez aussi l'absence du logo General MIDI.


À noter, les expandeur Yamaha supportant le GS sont aussi capables d'afficher cette animation s'ils sont pourvus d'un écran.

De manière anecdotique, un seul jeu supporte le XG de Yamaha, il s'agit de Final Fantasy 7. Final Fantasy 8 se reposera sur le format DLS pour les musiques, les samples étant stockés dans ce format, et géré correctement sous Windows, la puissance des machines de l'époque aidant. Si vous avez un peu de temps à perdre, regardez le contenu de FF8.DLS, il y a quelques perles dedans :)


La plupart des exemples ci-dessous ont été capturés via un Zoom H2n, et enregistré sous GNU/Linux via audacity (et jack), pour la bonne et simple raison qu'il n'y a pas d'entrée ligne sur mon pc portable.
Cette méthode est discutable, mais cela me permettait de gagner du temps pour le contrôle et le découpage. Pas besoin d'enlever/remettre la carte SD, pas besoin de basculer en mode lecteur USB.

N'ayant pas de MT-32 sous la main, j'ai utilisé un Roland SC-55 en mode MT-32 (l'éteindre, garder appuyé la touche Instrument Gauche, et l'allumer. Au message "Init MT-32, Sure?", appuyer sur ALL pour valider).

Petit up : j'ai (enfin) un MT-32 de première génération sous la main, donc j'ai réenregistré l'intro de The Secret of Monkey Island. Les différences de sonorité entre le MT-32 et le SC-55 en mode MT-32 sont vraiment flagrantes.


Pour Final Fantasy 7, j'ai utilisé un Yamaha MU15, qui est la version transportable du MU50 (fonctionne sur piles, et est aussi gros que deux livres de poches superposés).

Photo d'un Yamaha MU15

The Secret of Monkey Island (SC-55 en mode MT-32), 1990


The Secret of Monkey Island (avec un vrai MT-32), 1990


The Secret of Monkey Island

Space Quest 1 (remake VGA) (MT-32), 1991


Capture d'écran de l'écran titre du jeu Space Quest

À noter, une partie des sons d'effets (FX) sont joués directement par l'expandeur, car celui-ci est programmable. On n'est pas limité par les presets de base. Je n'ai pas mis la version SC-55 en mode MT-32, ce dernier n'étant pas programmable, il manque la moitié des pistes audio, celles-ci étant remplacées par un son de piano.


Tie Fighter (SC-55), 1994


Capture d'écran du jeu Tie Fighter

Doom (Devinez avec quoi :p Attention, il y a un piège), 1993


À noter, le rendu audio n'est pas le même entre une machine Roland et une machine Yamaha. Ce fichier permet de comparer les deux : D'abord le MU15, puis le SC-55


Capture d'écran du jeu Doom

Pinball 3D, Space Cadet (Microsoft GS Soft Synth), 1995. Notez la présence importante de reverb.


Le flipper Space Cadet sous Windows

Sierra On-Line, 3D Ultra Pinball (réenregistré depuis la version Windows).


3D Ultra pinball

Gradius II, (SC-55), 1992


Gradius 2 x68000

Detana Twinbee, (SC-55), 1991


Detana Twinbee x68000

Final Fantasy VII, (MU15), 1998



FF7 PC, patch avalanche

Suivant le type de matériel ou de logiciel, le rendu peut être catastrophique, moyen, ou (très) bon. Le midi n'étant (en gros) qu'une partition, cela dépend après du musicien (ici, logiciel ou matériel) qui la joue.

Bonus

J'ai dit plus haut que la plupart des cartes sons des années fin 80 début 90 sonnaient "pouet pouet" ? Ci-dessous, le test (par Lazy Game Reviews) avec le jeu Secret of Monkey Island. (Regardez bien les années, ça peut choquer par moment.)

À noter : La carte Game Blaster est la carte précédant la Sound Blaster, suivi de la SB16. La carte LAPC-I est la version "Carte son PC" du MT-32 (la carte est énorme d'ailleurs), la Gravis était une excellente carte son, mais peu de jeux l'ont exploité, donc peu de ventes, donc peu de jeux… :/, la SCC-1 est la version "Carte son PC" du SC-55. Je ne ferai aucun commentaire sur la AWE-32.

Midinet


À ne pas confondre avec Midinette.

Atari ST 1040

MidiNet, puis LittleNET, utilisait les ports MIDI d'un Atari ST pour créer un réseau entre deux machines. Le MIDI étant, au niveau matériel, rien d'autre qu'un port série uni-directionnel, et fonctionnant à la vitesse de 31 200 bits/s ; cela peut sembler limite aujourd'hui, mais en 1987, où le minitel fonctionnait à 1 200 bits/s (en down, en up, ça devait être 75 bits/s), cela suffisait largement.


Sources pour la rédaction de cet article :