Le MIDI est une technologie permettant de piloter des instruments de musique électroniques avec des fichiers contenant des commandes de type «Tempo: 600000µs; Canal 1: instrument 37; Canal 1: début de note 57, vélocité 67; délai: croche; fin de note 67, vélocité 76...". Les fichiers MIDI, qui contiennent ces informations, sont ainsi bien plus courts que les fichiers sonores (.wav, .ogg, mp3...), mais ils ont besoin d'un instrument MIDI (boîte de sons, expander, clavier avec banque de sons...) capable d'attribuer un son à chaque commande.
La puissance d'un PC actuel permet de lancer une application telle que Rosegarden, tout en produisant les sons lui-même comme s'il était l'instrument MIDI: c'est ce qu'on appelle l'émulation MIDI.
Le serveur Jack (paquet jackd) est automatiquement installé avec le logiciel rosegarden. Il permet la communication entre les différentes entrées et sorties MIDI et est utilisé par les applications dont il est question ici.
En général, si jack est présent et bien configuré, un logiciel MIDI comme rosegarden détectera le périphérique lorsqu'il sera correctement raccordé et le proposera dans Studio» Gérer les périphériques MIDI. Il faudra éventuellement cocher le Oui du Midi input system Device et préciser le clavier proposé, éventuellement en duplex si le clavier contient de plus une boîte de son.
Il ne sera pas question ici des raccordements aux vieilles interfaces série 9DB ou 25DB (COM), ni firewire.
La sortie MIDI historique des appareils du début des années '80 est du typeDIN 180° à 5 broches (de grosses fiches et prises rondes, mâle du côté cable). Les Atari ST en possédait d'origine à sa sortie en 1985 ce qui a contribué à son succès.
Il existait des câbles se connectant par le port joystick sur compatibles IBM/PC (selon la dénomination d'époque), mais ce dernier est de plus en plus rare, les joysticks modernes étant connectés sur un port USB. Actuellement, certaines cartes son ont encore des prises MIDI, micro et sorties Cinch.
2
5 o 4
o o
3 o o 1
Les instruments et ordinateurs actuels utilisent les connecteurs USB, ce qui simplifie les choses: il suffit de brancher le clavier ou la boîte de son (expander) avec un cable USB et laisser le temps au système d'exploitation de reconnaître le matériel.
Pour utiliser des instruments MIDI à connecteur DIN, il existe des boîtiers convertisseurs qui permettent le raccordement de claviers disposant des sorties DIN à un port USB d'ordinateur. Les Midisport sont de ce type, mais requièrent le driver fxload.
Certains de ces boîtiers sont parfois tellement réduits qu'ils ressemblent à une grosse clé USB, comme le CME U2MIDI v2, qui ne requiert pas de driver. Attention: la fiche «IN» du câble s'introduit dans la prise «OUT» du clavier, et vice-versa.
global keymap
set keymap {
{a 0}
{eacute 1}
{z 2}
{quotedbl 3}
{e 4}
{r 5}
{parenleft 6}
{t 7}
{section 8}
{y 9}
{egrave 10}
{u 11}
{i 12}
{ccedilla 13}
{o 14}
{agrave 15}
{p 16}
{less 17}
{q 18}
{w 19}
{s 20}
{x 21}
{d 22}
{c 23}
{v 24}
{g 25}
{b 26}
{h 27}
{n 28}
{comma 29}
{k 30}
{semicolon 31}
{l 32}
{colon 33}
{m 34}
{equal 35}
}
Il est possible d'utiliser un logiciel d'édition MIDI sans clavier, à condition d'utiliser l'éditeur de partition (score) ou l'éditeur matriciel (roll-paper). Il existe également une méthode, celle du clavier midi virtuel, composé des touches du clavier de l'ordinateur. Pour Debian, c'est
[su] apt-get install vkeybd
Le second menu est intéressant, il permet de décaler les trois octaves vers le haut ou vers le bas, de préciser la vélocité (force), le canal, la profondeur du vibrato, le timbre.
Dans rosegarden, il faudra cocher le Oui du Midi input system Device dans le menu Studio» Gérer les périphériques MIDI et préciser xxx:0 Virtual Keyboard (read).
Pour utiliser directement le serveur de son (par exemple FluidSynth), lancer Jack, bouton Connect» Audio/MIDI/ALSA et établir la connexion en cliquant à gauche sur Virtual Keyboard, à droite sur FluidSynth et enfin sur le bouton Connect.
Il faut que la fenêtre du clavier virtuel soit active pour que les impulsions soient détectées: après le lancement de l'enregistrement du séquenceur, survoler ou cliquer (selon le mode d'activation des fenêtres) la fenêtre vkeybd.
La disposition des touches par défaut est celle du clavier qwerty-us. Pour l'adapter au clavier azerty-be, il faudra éditer le fichier caché .vkeybdmap (pour l'identifiant toto, c'est /home/toto/.vkeybdmap). Le paramètrage donné en exemple permet de caser les trois octaves qu'offre vkeybd sur un clavier azerty belge de 105 touches (< à gauche du W):
Si vous avez un autre clavier à adapter, il vous faudra peut-être d'autres codes. De façon non-exhaustive (la touche [Alt-Gr] ne semble pas fonctionner):
( parenleft ! exclam é eacute ) parenright " quotedbl è egrave < less § section à agrave > greater = equal ç ccedilla - minus , comma ù ugrave + plus ; semicolon etc. @ at : colon & ampersand ' apostrophe . period / slash \ backslash ` grave
La commande xev permet de trouver les noms des caractères à employer pour désigner les touches (troisième ligne, fin de la parenthèse). Merci à Bruno Duyé pour l'astuce, qui vous offre en prime le .vkeybdmap du clavier français.
La norme General Midi assigne un instrument bien défini à chaque "programme" ou "patch", ce qui harmonise les sons associés aux événements MIDI: un quatuor à cordes chez l'un ne devient pas une fanfare chez l'autre. Il existe deux types d'extension à la norme MIDI:
| Pianos | Xylophones | Orgues | Guitares | ||||
|---|---|---|---|---|---|---|---|
| x00 | Acoustique | x08 | Célesta | x10 | Hammond | x18 | Cordes en Nylon |
| x01 | Brillant | x09 | Glockenspiel | x11 | Percussive | x19 | Cordes en acier |
| x02 | Électrique | x0A | Boîte à musique | x12 | Rock | x1A | Jazz |
| x03 | Bastringue | x0B | Vibraphone | x13 | Église | x1B | Claire |
| x04 | Électrique 1 | x0C | Marimba | x14 | Harmonium | x1C | Étouffée |
| x05 | Électrique 2 | x0D | Xylophone | x15 | Accordéon | x1D | Saturée |
| x06 | Clavecin | x0E | Tubular bells | x16 | Harmonica | x1E | Distortion |
| x07 | Clavinette | x0F | Dulcimer | x17 | Bandonéon | x1F | Harmoniques |
| Basses | Cordes | Orchestre | Cuivres | ||||
| x20 | Acoustique | x28 | Violon | x30 | Cordes 1 | x38 | Trompette |
| x21 | Au doigt | x29 | Alto | x31 | Cordes 2 | x39 | Trombone |
| x22 | Au plectre | x2A | Cello | x32 | Synthé 1 | x3A | Tuba |
| x23 | Fretless | x2B | Contrebasse | x33 | Synthé 2 | x3B | Trompette bouchée |
| x24 | Slap 1 | x2C | Section trémolo | x34 | Choeur Ah | x3C | Cor d'harmonie |
| x25 | Slap 2 | x2D | Section pizzicato | x35 | Choeur Oh | x3D | Section |
| x26 | Synthé 1 | x2E | Section | x36 | Voix | x3E | Synthé 1 |
| x27 | Synthé 2 | x2F | Timbales | x37 | Coups | x3F | Synthé 2 |
| Anches | Flûtes | Primitives | Synthés | ||||
| x40 | Sax soprano | x48 | Piccolo | x50 | Ondes carrées | x58 | New Age |
| x41 | Sax alto | x49 | Flûte | x51 | Dent de scie | x59 | Chaud |
| x42 | Sax ténor | x4A | Plûte à bec | x52 | Calliope | x5A | Poly |
| x43 | Sax baryton | x4B | Flûte de Pan | x53 | Chiff | x5B | Choeur |
| x44 | Hautbois | x4C | Bouteille | x54 | Charang | x5C | Archet |
| x45 | Cor anglais | x4D | Sakuhachi | x55 | Voix | x5D | Métallique |
| x46 | Basson | x4E | Sifflet | x56 | Quintes | x5E | Halo |
| x47 | Clarinette | x4F | Ocarina | x57 | Bass+Lead | x5F | Sweep |
| Synthés | Ethniques | Percussions | Effets | ||||
| x60 | Pluie | x68 | Sitar | x70 | Cloche | x78 | Bruit de guitare |
| x61 | Soundtrack | x69 | Banjo | x71 | Agogo | x79 | Respiration |
| x62 | Cristal | x6A | Shamisen | x72 | Steel drum | x7A | Plage |
| x63 | Atmosphère | x6B | Koto | x73 | Woodblock | x7B | Cui-cui |
| x64 | Brillance | x6C | Kalimba | x74 | Taiko | x7C | Téléphone |
| x65 | Goblins | x6D | Cornemuse | x75 | Tom | x7D | Hélicoptère |
| x66 | Écho | x6E | Viole | x76 | Synthé | x7E | Applaudissements |
| x67 | SF | x6F | Shanai | x77 | Cymbale inverse | x7F | Revolver |
Il existe un canal (#10) réservé à la batterie. Par souci d'adaptation aux claviers moyens, les 58 sons se répartissent du Eb2 au C7: il est possible de jouer de la batterie au clavier.
La traduction des percussions est empruntée à l'article General MIDI de Wikipedia.
| x28 | E3 | Caisse claire 2 | x38 | Cencerro ou Cowbell | x48 | C6 | Sifflet grave | ||||
| x29 | F3 | Tom basse grave | x39 | A4 | Crash 2 | x49 | Guiro court | ||||
| x2A | Charley frappé | x3A | Vibraslap | x4A | D6 | Guiro long | |||||
| x1B | Balais | x2B | G3 | Tom basse aigu | x3B | B4 | Cymbale ride aigue | x4B | Claves | ||
| x1C | E2 | Roulement de balais | x2C | Charley au pied | x3C | C5 | Bongo aigu | x4C | E6 | Woodblock aigu | |
| x1D | F2 | Roulement de caisse claire | x2D | A3 | Tom médium 4 | x3D | Bongo grave | x4D | F6 | Woodblock grave | |
| x1E | Castagnettes | x2E | Charley ouvert | x3E | D5 | Congas aigu sourd | x4E | Cuica assourdie | |||
| x1F | G2 | Caisse claire 0 | x2F | B3 | Tom médium 3 | x3F | Congas aigu ouvert | x4F | G6 | Cuica ouverte | |
| x20 | Coup de baguette | x30 | C4 | Tom médium 2 | x40 | E5 | Congas grave | x50 | Triangle tenu | ||
| x21 | A2 | Grosse caisse 0 | x31 | Cymbale crash | x41 | F5 | Timbales aigu | x51 | A6 | Triangle libre | |
| x22 | Caisse claire avec rimshot | x32 | D4 | Tom aigu | x42 | Timbales grave | x52 | Shaker | |||
| x23 | B2 | Grosse caisse médium | x33 | Ride | x43 | G5 | Cloche agogo aiguë | x53 | B6 | Grappe de clochettes | |
| x24 | C3 | Grosse caisse haute | x34 | E4 | Cymbale china | x44 | Cloche agogo grave | x54 | C7 | Arbre à cloches | |
| x25 | Coup de métronome | x35 | F4 | Cymbale ride/cup | x45 | A5 | Cabasa | ||||
| x26 | D3 | Caisse claire 1 | x36 | Tambourin | x46 | Maracas | |||||
| x27 | Claquement de main | x37 | G4 | Cymbale splash | x47 | B5 | Sifflet aigu |
http://www.linuxmao.org/ (.fr)
http://linux-sound.org/ (.en)