Qu'est ce que le midi ?
|
Origine du MIDI
|
Avec l'arrivée des premiers synthétiseurs
analogiques (fin des années 60) et de l'audio numérique
(fin des années 70), les musiciens ont vu naître
de nouveaux instruments : synthétiseurs, boîtes
à rythmes, échantillonneurs, et bien sur de nos
jours l'ordinateur. Afin de profiter des caractéristiques
de chacun d'eux, le musicien a voulu faire communiquer ces instruments
électroniques. La norme MIDI est apparue officiellement
en 1983 afin de réglementer la communication entre les
instruments électroniques, tel un véritable langage
universel. Car le sigle MIDI signifie Musical Instrument
Digital Interface soit en français : interface
numérique pour instruments de musique.
|
Technologie
|
|
L'interface MIDI est de type sérielle, asynchrone
(similaire au port série "com1", souris ou modem)
avec un débit de 31 250 bauds (bits par seconde). Les
informations circulant dans vos câbles MIDI sont sous forme
de 0 et de 1 regroupées par paquet de 8 bits (un octet),
et sont acheminés les uns derrière les autres sur
un seul câble.
|
Les connecteurs imposés par la norme sont des broches
à 180 degrés de type DIN 5. Les broches 1 et 3
sont inutilisées, la broche 2 est à la masse pour
les prises MIDI-Out et MIDI-Thru (pas de masse pour le MIDI-In).
Les broches 4 et 5 véhiculent une boucle de courant de
5 milliampères avec une tension logique de + 5 volts pour
un bit à 0 et 0 volt pour un bit à 1. |
|
L'interface Midi véhicule des informations destinées
à traduire le jeu du musicien en événements
par l'intermédiaire d'octets. C'est à partir de
ces octets qu'est constitué le langage MIDI, plus spécifiquement
les messages midi (statuts et données).
|
Le fichier MIDI
|
|
La structure d'un fichier MIDI dépend avant toute
chose de son format (SMF, Standard MIDI Files). Il existe trois
types de fichier midi :
- le type SMF 0 : il ne contient qu'une piste (ou track), on
l'utilise pour sauvegarder une piste seule d'une séquence
comportant plusieurs pistes.
- le type SMF 1 : c'est le fichier midi courant, il contient
plusieurs pistes. Les pistes sont stockées dans le fichier
les unes derrières les autres, mais lorsque les pistes
sont chargées, elles sont interprétées simultanément.
- le type SMF 2 : ce type est différent du précédent,
ce sont des séquences qui sont stockées sous forme
de piste (à la suite les unes des autres dans le fichier),
mais les pistes sont jouées les unes après les
autres. Dans ce type de fichier on peut mettre plusieurs morceaux
enchaînés.
Dans la suite, je vous présente la structure d'un fichier
midi SMF 1, dans les autres fichiers midi on retrouve cette même
structure.
|
Hearder Chunk :
L'en-tête du fichier est identifier par les quatre octets
MThd. A la suite, on trouve les informations concernant
le fichier midi : type SMF, nombre de pistes, nombre de divisions
dans un quart de notes (Delta Time Ticks) ou le procédé
Time Code.
Track Chunk :
Après l'en-tête, on trouve les différentes
pistes identifiées par les octets MTrk. Ensuite
on trouve les données correspondantes à la piste.
L'événement TrkEnd permet de spécifier
la fin de la piste. Il existe trois sortes d'événements
:
- les événements MIDI : Note On, Note
Off.
- les messages System Exclusive : contrôle des
différents paramètres de l'exécution.
- les événement META : choix de l'instrument,
nom de la piste, les paroles, le copyright, le numéro
de séquence, fin de piste ...
|
|
Exemple de structure d'un fichier MIDI (décodé
en texte clair):
MThd
1 4 96
0 TimeSig 4/4 24 8
0 Tempo 500000
MTrk
0 ProgramChange canal=1 program=5
192 NoteOn canal=1 note=76 velocity=32
384 NoteOff canal=1 note=76 velocity=0
384 Meta TrkEnd
TrkEnd
MTrk
0 ProgramChange canal=2 program=46
96 NoteOn canal=2 note=67 velocity=64
384 NoteOff canal=2 note=67 velocity=0
384 Meta TrkEnd
TrkEnd
MTrk
0 ProgramChange canal=3 program=70
0 NoteOn canal=3 note=48 velocity=96
0 NoteOn canal=3 note=60 velocity=96
384 NoteOff canal=3 note=48 velocity=0
384 NoteOff canal=3 note=60 velocity=0
384 Meta TrkEnd
TrkEnd |
|
Sources d'information
|
|
Quelques bons livres :
"Programmation multimédia
avancée" Steve Rimmer édition Thomson Publishing
France.
Le grand livre de la "Sound
Blaster" Micro Application.
Le livre d'or de la Norme MIDI,
en deux tomes, édition Sybex.
Les forums de discussion des programmeurs et les sites traitant
du midi :
Le site ressource en programmation
: http://www.dc.ee/Files/Programm.Sound/
Le forum des programmeurs français
sur Compuserve : http://forums.compuserve.fr/FrenchProg
A vous de trouvez d'autres adresses...
Merci de
votre visite. Mise à jour mai 1999.
|