MIDI
Un article de Wiki de la communauté Mandriva.
Sommaire |
[modifier] Histoire
Le Musical Instrument Digital Interface ou MIDI est un protocole de communication et de commande permettant l'échange de données entre instruments de musique électronique, un ou plusieurs de ces « instruments » pouvant être des ordinateurs.
Apparu en 1982, il est géré par un comité international, l'International Midi Association.
Il faut noter que la liaison est unidirectionnelle (semi-duplex). Le grand atout de ce protocole est son interactivité : il sert à la fois pour la commande et pour l'enregistrement.
En fait, sous ce terme sont regroupées plusieurs normes, relatives au protocole logique, à l'interface physique, au format de fichier et à l'attribution des sons (GM).
Le MIDI est bien connu à travers les fichiers d'extension « .mid » aux sonorités électroniques. Cependant, le MIDI est bien plus qu'un simple format de fichier. Mandriva vient avec un support minimal du MIDI qui n'en exploite pas toutes les possibilités : une installation de base laisse par exemple de coté la gestion du matériel musical, tels les claviers MIDI.
Heureusement, il n'est pas très compliqué d'installer un support beaucoup plus complet du MIDI sous Linux. Comme pour tout domaine faisant intervenir des éléments hétéroclites, le cheminement est compliqué par l'existence de nombreux logiciels, formats et matériels propriétaires (i.e. dont les spécifications ne sont pas connues).
La présente page sera utile à tous ceux qui souhaitent profiter pleinement du MIDI.
[modifier] Implantation du MIDI
Vous pouvez utiliser le MIDI de plusieurs façons selon votre matériel: - un synthétiseur logiciel (cas le plus courant, c'est ce qu'il se fait sous Windows d'ailleurs...) - le synthétiseur intégré à la carte son si vous possédez une (bonne) carte son gérant nativement le MIDI. - un instrument externe (module de son, synthétiseur, clavier maitre ...) connecté à une interface MIDI (MPU401, carte son ou interface dédiée).
Si vous n'êtes pas sûr, ou que vous avez vérifié que votre carte son ne possède pas de synthétiseur intégré, et que vous ne comptez pas utiliser un instrument externe, alors orientez-vous vers la première solution.
[modifier] Synthèse MIDI logicielle
Pour décoder et jouer du MIDI, il existe des logiciels assurant une « synthèse MIDI logicielle. » Ils jouent le même rôle que les synthétiseurs embarqués sur certaines cartes sons, et, généralement, travaillent également en coopération avec une soundfont (cf. section précédente).
Il y a deux principaux programmes qui peuvent faire de la synthèse MIDI sous Mandriva : Timidity et Fluidsynth (et son interface graphique qsynth). Nous n'aborderons que Timidity pour le moment !
[modifier] Installation de Timidity
en root via :
ou via
avec une recherche de TiMidity++
[modifier] Mettre en place Timidity en tant que serveur MIDI
Saisissez les commandes suivantes en root :
Cela charge les modules manquants.
Puis entrez :Ça lance Timidity en tant que serveur MIDI et ouvre deux ports 128:0 et 128:1.
Requested buffer size 2048, fragment size 1024 ALSA pcm 'default' set buffer size 7524, period size 3760 bytes TiMidity starting in ALSA server mode Opening sequencer port: 128:0 128:1 128:2 128:3
Après avoir tapé ceci, les lecteurs midi devraient fonctionner.
Vous pouvez ouvrir un autre terminal et essayer des commandes comme :
Pour fermer Timidity, pressez Ctrl–c dans le terminal où il a été lancé.
Lancer le serveur en tant que root peut améliorer les performances grâce aux priorités supérieures données au processus.
Notedit ou un autre éditeur de partitions peut alors être chargé et reconnaître les ports MIDI.
[modifier] Démarrer automatiquement Timidity avec l'ordinateur
Pour qu'il soit lancé au démarrage de l'ordinateur, installer via urpmi ou rpmdrake le paquetage timidity-init
Puis dans le Centre de Contrôle Mandriva dans l'onglet Système cliquez sur Gérer les services système en les (dés)activant et activez TiMidity au démarage.
[modifier] Trouver et mettre en place une soundfont
Que ce soit dans le cadre d'une synthèse matérielle ou logicielle, vous aurez besoin d'un soundfont. Wikipédia nous apprend que : "Un soundfont désigne une technologie mise au point par la société E-mu pour Creative Labs, permettant de stocker dans un fichier au format .sbk (pour SoundFont Bank) puis .sf2 (pour SoundFont Bank Version 2) des échantillons au format WAV, puis de les organiser sous forme d'instruments MIDI, afin que ceux-ci puissent être utilisés sur un synthétiseur dit à table d'ondes".
Si vous utilisez Timidity pour jouer des fichiers MIDI, vous pouvez installer le paquet timidity-patch-freepats qui propose des sons de base. Toutefois, il existe d'excellentes soundfonts gratuites que vous pouvez utiliser pour améliorer la qualité du son midi.
Exemples de soundfonts à télécharger:
- sf2midi.com, dépôt de soundfonts avec inscription (gratuite) pour télécharger
- Personnal Copy (essayez Unison.sf2 ou PC51f.sf2)
- Hammersond
- cherchez soundfont dans un moteur de recherche...
Personnellement je vous conseil celle-ci qui offre un très bon rendu.
Si vous vous retrouvez avec un fichier se terminant par « .sfArk », sachez qu'il s'agit d'une soundfont compressée dans un format propriétaire. Un outil pour Linux permettant de décompresser ces fichiers est disponible chez Melody Machine.
Une fois votre soundfont téléchargée, éventuellement décompressée, la marche à suivre dépend de la synthèse MIDI choisie. Si vous utilisez Timidity, vous devez modifier le fichier /etc/timidity/timidity.cfg (ou le créer s'il n'existe pas encore), et y ajouter la ligne suivante à la fin (adaptez-la selon vos choix d'emplacement).
soundfont /etc/timidity/PC51f.sf2
Attention, une ligne commençant par « source » est certainement déjà présente à la fin du fichier. Vous devriez la commenter, en ajoutant un « # » devant la ligne ; par ailleurs, notez bien que le mot clé de la ligne à ajouter est « soundfont », pas « source ».
Si vous utilisez la synthèse de votre carte son, lisez la section consacrée à cette façon de faire.
[modifier] Synthétiseur intégré à la carte son
Certaines cartes sons contiennent une implémentation matérielle du MIDI. Il y a les cartes incorporant un synthétiseur FM (toutes les Soundblaster 16 et compatibles) qui donne des sons de très basse qualité. Pour faire de la musique, on ne devrait utiliser que les cartes travaillant avec une banque d'échantillons sonores. Cela signifie qu'elles s'occupent de décoder un fichier au format MIDI et de le jouer, et utilisent par défaut les sons MIDI de la carte mère, voire leurs propres sons. En général, on utilisera avec ces cartes sons une bibliothèque de son midi, appelée soundfont, pour une meilleure qualité sonore.
Si votre carte son contient nativement un tel « synthétiseur MIDI » il est recommandé de l'utiliser. Les instructions suivantes vous indiquent comment l'utiliser, en combinaison avec un soundfont.
[modifier] Cartes compatibles
Liste non exhaustive de cartes sons offrant une implémentation matérielle de MIDI :
- Sound Blaster AWE32
- Sound Blaster AWE64
- Sound Blaster PCI512
- Sound Blaster Live!
- E-mu Audio Production Studio (APS)
- Creative ProdiKeys MIDI Keyboard
- Sound Blaster Audigy
- Sound Blaster Audigy 2 (dont la version ZS PCMCIA pour ordinateurs portables)
- Sound Blaster Extigy USB
- Sound Blaster X-Fi.
Liste non exhaustive de cartes sons n'offrant qu'une synthèse FM matérielle de MIDI :
- Sound Blaster 8
- Sound Blaster Pro
- Sound Blaster 16.
[modifier] Prérequis
- Vous aurez besoin d’une carte son fonctionnant correctement avec [ALSA].
- Nous allons utiliser un fichier particulier appelé soundfont. Pour bien comprendre les manipulations qui suivent, je vous conseille de lire attentivement l'article de Wikipédia sur Soundfont ainsi que la section de ce document consacrée aux soundfonts.
[modifier] Installer les paquets nécessaires
Via urpmi ou rpmdrake, recherchez et installez les paquets awesfx.
[modifier] Chargement du soundfont
Dans l'optique d'une implémentation matérielle de MIDI, nous avons besoin d'un soundfont. Il s'agit grossièrement une bibliothèque de sonorités MIDI utilisée par la carte son.
Procurez-vous donc un soundfont quelconque. L'article Soundfont de Wikipédia propose par exemple quelques liens intéressants pour en trouver.
Vous pouvez télécharger :
- le soundfont Unison, très répandu et de bonne qualité, le déplacer, puis l'extraire, dans /etc/sounds :
le soundfont Crisis 1.8, moins répandu et plus lourd, mais d'excellente qualité (pour les audiophiles) :
Aller sur le site de Crisis, dans 'Download', puis télécharger la soundfont au format rar. Il faut ensuite décompresser le fichier sf2 avec unrar. Tout d'abord, testons si cela fonctionne.
Pour charger le soundfont une fois, exécutez la commande : ou bien Tapez :Cette commande devrait vous donner une réponse du style :
Port Client name Port name 64:0 External MIDI 0 MIDI 0-0 65:0 Emu10k1 WaveTable Emu10k1 Port 0 65:1 Emu10k1 WaveTable Emu10k1 Port 1 65:2 Emu10k1 WaveTable Emu10k1 Port 2 65:3 Emu10k1 WaveTable Emu10k1 Port 3
Il s'agit des différents ports utilisables pour jouer du MIDI.
Pour jouer un fichier MIDI, faites :
Voilà, vous devriez désormais entendre quelque chose ! ^_^
[modifier] TuxGuitar
Si vous avez installé Tuxguitar ( avec urpmi tuxguitar) et que vous n'avez toujours pas de son après les manip' ci-dessus.
Allez dans Plugins puis TuxGuitar-alsa Plugin et choisisez TiMidity port 0 128:0 et composez ou travaillez votre instrument.
[modifier] Ressources
- Documentation Midi d'ubuntu-fr.org
- MIDI sur Wikipédia
- Soundfont sur Wikipédia
- presentationMIDI sur linuxmao.org
FuReX 9 novembre 2007 à 16:14 (CET)