Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
midi [Le 30/11/2008, 17:13]
213.95.41.13 précision sur -ig
midi [Le 12/04/2024, 11:59] (Version actuelle)
krodelabestiole [MIDI, General MIDI et fichiers MIDI] update lien OSC
Ligne 1: Ligne 1:
-{{tag>hoary dapper edgy feisty ​audio BROUILLON}} +{{tag>format ​audio multimédia}}
- +
----- +
- +
- +
  
 ====== MIDI ====== ====== MIDI ======
  
-En introduction,​ vous pouvez voir cette [[:tutoriel:​qu_est_ce_que_le_midi|page explicative sur le MIDI.]]+<note tip>Vous trouverez une excellente documentation concernant le protocole MIDI en français sur [[http://linuxmao.org/​MIDI+-+Les+bases?​structure=Accueil+Doc|LinuxMAO]].</​note>​
  
-Le **MIDI** est bien connu à travers les fichiers d'​extension « .mid » aux sonorités électroniques. Cependantle MIDI est bien plus qu'un simple format de fichier. Ubuntu 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.+===== MIDI, General ​MIDI et fichiers ​MIDI  =====
  
-Heureusement,​ il n'est pas très compliqué ​d'installer ​un support beaucoup plus complet du MIDI sous LinuxComme pour tout domaine faisant intervenir ​des éléments hétéroclitesle cheminement est compliqué par l'​existence de nombreux logicielsformats et matériels propriétaires ​(//i.e//. dont les spécifications ne sont pas connues).+Le **[[wpfr>​Musical_Instrument_Digital_Interface|MIDI]]** (//Musical Instrument Digital Interface//​) ​est un protocole permettant à des logiciels ou des machines dédiées à la musique de communiquer entre elles. 
 +Il permet par exemple de faire jouer un son à un synthétiseur ou à un sampleur lorsqu'​on appuie sur une note d'​un ​clavier. 
 +Le MIDI trouve son application aussi bien dans le monde matériel (via des câbles spécifiquesles câbles MIDI)que dans le monde virtuel ​(via des "​ports"​ ou "​bus"​ logiciels).
  
-La présente page sera utile à tous ceux qui souhaitent profiter du MIDI, qu'ils soient musiciens, mélomanes ​ou simplement convaincus qu'écouter le [[http://www.momentus.com.br/sound/mid/​alf.mid|générique de la série Alf en MIDI]], avec reverb et chorus, est une expérience à ne pas manquer.+Le MIDI transporte des "​consignes"​ ou des "​événements"​ (à la manière des signes d'un chef d'orchestre ​ou d'une partition), il ne s'agit pas de signal audio. On parle de //messages// MIDI.
  
-Cette présente page se concentre sur l'//​installation matérielle et logicielle//​ du MIDI sous Ubuntu (toutes versions)Pour en savoir ​plus sur le MIDI en tant que formatsur ses utilisations possiblesvoyez la page consacrée au [[:​tutoriel:​qu_est_ce_que_le_midi|MIDI]] en lui-même.+Il est possible de créer des séquences ​MIDI qui permettent d'​organiser le déclenchement d'​événements dans le temps. Par exemple une suite de notes à jouer. 
 +Cela ressemble donc à une partition traditionnelle : certains logiciels proposent d'​ailleurs d'​éditer ces séquences ​sous forme de partitionCependant ces partitions sont plus facilement lisibles par des machines ​que par des humains. 
 +On peut enregistrer ces séquences sous forme de **fichiers MIDI** (avec l'​extension .mid). Ces fichiers ne contiennent donc pas de sonmais seulement une série d'​instructions destinées à des machinesce qui est beaucoup plus léger.
  
-Une large part des instructions données sur cette page requiert l'​utilisation de la [[:console]] ; soyez sûr d'​avoir lu les quelques instructions à ce sujet avant de vous lancer ​à l'aveugle.+<note tip>Par ailleurs le MIDI tend à être remplacé petit à petit (mais encore tout doucement) par le protocole ​[[https://​opensoundcontrol.stanford.edu/​|OSC]], plus adapté ​à l'informatique et aux réseaux modernes.</​note>​
  
-<note tip>​Rappel : pour stopper un processus (par exemple, un programme comme « pmidi »), il faut faire la combinaison Ctrl--c au clavier.</​note>​+==== Spécification ​ ====
  
 +Le MIDI peut envoyer plusieurs types de messages :
 +  * 128 **notes** différentes (//note on// pour le début, //note off// pour la fin), avec leurs //​vélocités//​ (la force avec laquelle on les joue, sur 128 pas).
 +  * 128 **//control changes//** (commandes de modulation) aussi sur 128 pas. on peut contrôler tous types de paramètres : volume, panoramique,​ //pitch bend//, paramètre d'un effet, etc.
 +  * la **synchronisation**,​ afin de déclencher toutes les machines (principalement les séquenceurs) en même temps et de les garder synchronisés et les arrêter.
 +  * 128 **//program changes//** (changements de programme) pour changer de son en selectionnant différents //presets// ou instruments…
 +  * l'​**//​after-touch//​** qui permet avec certains claviers et contrôleurs d'​envoyer en continu la force d'​appui sur chaque touche pendant qu'​elle est jouée
 +  * et d'​autres paramètres assez techniques et plus rarement utilisés
 +…et le tout sur **16 canaux**. Chaque connexion MIDI permet ainsi de contrôler jusqu'​à 16 machines simultanément.
  
 +Par extension on a développé la norme **[[https://​fr.wikipedia.org/​wiki/​General_MIDI|General MIDI]]** qui attribue à chaque "​programme"​ MIDI un instrument précis (par ex. le piano en 1 et la batterie sur la canal 10). La plupart des fichiers MIDI qu'on peut trouver en ligne respectent cette nomenclature (en version 1 : GM1 ou 2 : GM2).
 +Cette solution avait surtout son intérêt dans les années 90, quand les espaces de stockage étaient trop limités pour des formats wav ou mp3 : cela permettait de lire n'​importe quel orchestration avec les moyens du bord. En général les cartes son intégraient un synthétiseur qui s'​attelait à la tâche du rendu audio avec plus ou moins de succès (pour les oreilles).
  
-===== Implémentations du MIDI =====+<note tip>Dans le monde de la [[;​mao|MAO]] le protocole ​MIDI est encore très utile, mais rien n'​oblige à suivre la norme General MIDI, qui trouve plutôt son intérêt pour les musiques de jeux vidéo des années 90, ou pour certains détournements dans le style de [[http://​www.pardon-my-french.fr|Pardon My French]].</​note>​
  
-Vous pouvez utiliser le MIDI de plusieurs façons selon votre matériel : +===== Implémentation du MIDI sous Linux =====
-  - //via// un **[[#​synthese midi logicielle|synthétiseur logiciel]]** (cas le plus courant, c'est ce qui se fait sous Windows d'​ailleurs...) +
-  - //via// le  **[[#​Synthétiseur intégré à la carte son|synthétiseur intégré dans votre carte son]]** si vous possédez une (bonne) carte son gérant nativement le MIDI. +
-  - //via// 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ûrou 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 externealors orientez-vous vers la première solution.+Sous Linuxc'est le serveur de son qui s'​occupe ​de router les signaux MIDI entre les applications et les drivers des interfaces. 
 +ALSA propose une très bonne solution multimédia, et il est disponible de base sur quasi toutes les distributions Linux (et évidemment sur Ubuntu). 
 +Pour de la [[:MAO]] on peut aussi utiliser ​[[:​jackd|Jack]]qui permet aussi de router le MIDI.\\  
 +<note tip>Il est possible d'​utiliser ensemble le MIDI ALSA et le MIDI Jack au moyen du bridge **a2jmidid** qui s'​occupera de les relier.</​note>​
  
 +En plus du serveur de son, ALSA fournit aussi les drivers de tout ce qui tourne autour du son sur Linux, MIDI y compris. Une fois branchée, un rapide <​code>​aplaymidi -l</​code>​ devrait donc vous indiquer si votre interface MIDI est reconnue ou non.
  
-===== Synthèse ​MIDI logicielle ​=====+===== Lecture de fichiers ​MIDI =====
  
 +La norme General MIDI associe aux signaux MIDI des instruments traditionnels (piano, percussions,​ violons, etc.).
 +Pour qu'une machine puisse reproduire assez fidèlement le son de ces instruments,​ il est généralement indiqué d'​utiliser des banques de samples. Ce sont des assemblages de courts enregistrements audio de chaque note d'un instrument de musique.
 +Ces banques de sample se trouvent au format SoundFont dans des fichiers avec des extensions .sbk puis .sf2 (bien plus courant maintenant).
 +Pour utiliser une SoundFont il faut un lecteur de SoundFont (il s'agit d'un //sampler// qu'on peut aussi appeler dans ce cas //sample player// ou //​synthétiseur à table d'​ondes//​).
  
-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// ​(cfsection précédente).+Ce lecteur de sample peut être de 3 types : 
 +  - un **[[#​Synthèse ​logicielle|synthétiseur logiciel]]** (c'est désormais ​le cas le plus courant, et conseillé) 
 +  - un **[[#​Synthétiseur intégré à la carte son|synthétiseur intégré dans votre carte son]]** si vous possédez ​une carte son gérant nativement le General MIDI (ce qui n'a plus grand intérêt). 
 +  - un **instrument externe** (synthétiseur,​ expandeur ou sampleurconnecté à une interface MIDI (qui peut être celle de la carte son ou une interface dédiée). C'est un cas rare, que nous ne traiterons pas ici.
  
-Il y a deux principaux programmes qui peuvent faire de la synthèse MIDI sous Ubuntu : **[[:​Timidity]]** et **Fluidsynth** (et son interface graphique **qsynth**). Nous n'​aborderons que [[:​Timidity]] pour le moment !+==== SoundFonts ====
  
 +Wikipédia nous apprend que :
  
-==== Prérequis ====+> 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 [[wpfr>​synthétiseur]] dit « à table d'​ondes ».
  
-  * Vous aurez besoin ​d'une carte son fonctionnant correctement avec ALSAVoyez la [[installation:​son|page à ce sujet]]+Il existe ​d'excellentes SoundFonts gratuitesCertaines sont directement accessibles dans les dépôts Ubuntu donc très faciles à installer : [[apt>​fluid-soundfont-gm]] (conseillée) et [[apt>​fluid-soundfont-gs]] ou [[apt>​musescore-soundfont-gm]] (plus légères, et de moins bonne qualité). 
-  * Nous allons //​éventuellement//​ utiliser un fichier particulier appelé //​soundfont//​ pour améliorer la qualité du son midi. Pour bien comprendre les manipulations qui suivent, vous pouvez lire l'[[http://​fr.wikipedia.org/​wiki/​Soundfont|article de Wikipédia sur Soundfont]] ainsi que la [[#Trouver et mettre en place une soundfont|section de ce document consacrée aux soundfonts]].+Ces paquets installent les SoundFonts dans le répertoire **/​usr/​share/​sounds/​sf2**.
  
 +On trouve aussi plein de SoundFonts en ligne sur des sites variés (attention il ne s'agit pas toujours de General MIDI, la plupart du temps il s'agit seulement d'un instrument spécifique) :
 +  * [[http://​www.personalcopy.com/​linuxfiles.htm]]
 +  * [[http://​sonimusicae.free.fr/​matshelgesson-maestro.html]]
 +  * [[https://​trisamples.com/​free-soundfonts/​]]
 +  * [[https://​musescore.org/​fr/​handbook/​banques-de-sons-soundfonts#​specialised]]
 +  * [[https://​download.linuxaudio.org/​musical-instrument-libraries/​]]
  
 +Voici une selection d'​excellentes SoundFonts libres de droit :
  
-==== Ecouter simplement un midifile ==== +^ Nom ^ Description ^ License ^ Auteur ^ Format / Téléchargement ^ 
-  * Installez "[[apt://timidity]]" ainsi que "[[apt://timidity-interfaces-extra]]" +| Salamander Grand Piano | piano à queue Yamaha C5 | [[https://creativecommons.org/​licenses/​by/​3.0/​|CC BY]] | Alexander Holm | [[https://download.linuxaudio.org/​musical-instrument-libraries/​sfz/​salamander_grand_piano_v3_48khz24bit.tar.7z|SFZ 24bit/48kHz (1,2Go)]] ou [[https://​freepats.zenvoid.org/​Piano/​SalamanderGrandPiano/​SalamanderGrandPianoV3+20161209_44khz16bit.tar.xz|SFZ 16bit/​44.1kHz (394Mo)]] | 
-  * Dans un terminal, taper "​timidity ​-ig" ou alors, clic droit sur un fichier midi (extension ​.mid) / ouvrir avec... / ouvrir avec une autre application ​taper "​timidity ​-ig" +| Detuned Piano | un piano désaccordé | [[https://​creativecommons.org/​licenses/​by-sa/3.0/|CC BY SA]] | | [[https://​download.linuxaudio.org/​musical-instrument-libraries/​sfz/​detuned_piano.tar.7z|SFZ ​(95Mo)]] | 
-  * Désormais, lorsque vous cliquerez sur un fichier ​midi, celui-ci s'​ouvrira avec l'​interface graphique de timidity ​(l'option -ig sélectionne l'​interface graphique Gtk+, appropriée dans l'​environnement ​[[Gnome]]).+| jRhodes | piano électrique Fender Rhodes | | |[[https://​download.linuxaudio.org/​musical-instrument-libraries/​sf2/​jRhodes3.tar.7z|SFZ (35Mo)]] | 
 +| The Open Source Drumkit | batterie | | Real Music Media | [[https://download.linuxaudio.org/​musical-instrument-libraries/​sfz/​the_open_source_drumkit.tar.7z|SFZ (390Mo)]] ​ | 
 +| Salamander Drumkit | batterie | [[https://creativecommons.org/​licenses/​by-sa/3.0/|CC BY SA]] | Alexander Holm |[[https://​download.linuxaudio.org/​musical-instrument-libraries/​sfz/​salamander_drumkit_v1.tar.7z|SFZ (343Mo)]] | 
 +| Fluid (R3) | assortiment d'​instruments au format [[:midi#​midi_general_midi_et_fichiers_midi|General MIDI]] | | | [[apt>​fluid-soundfont-gm]] ​(119Mo) | 
 +| MuseScore General HQ | assortiment d'instruments au format ​[[:​midi#​midi_general_midi_et_fichiers_midi|General MIDI]] | | | [[apt>​musescore-general-soundfont-lossless]] (330Mo|
  
 +<note tip>Les SoundFonts fonctionnent très bien en particulier avec les orgues et les instruments percussifs (dont le piano fait partie).</​note>​
 +<​note>//​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 [[http://​melodymachine.com/​sfark.htm|Melody Machine]]. Pour l'​utiliser,​ téléchargez le fichier dans la colonne linux, clique droit "​extraire"​ sur le fichier téléchargé puis dans un terminal lancez:
  
-==== Installation de Timidity ====+  '​chemin/​vers/​le/​dossier/​extrait'​ '​chemin/​vers/​le/​fichier/​.sfARk'​
  
-Vous aurez besoin d'​activer le dépôt //Universe// (voir [[:depots|Dépots]]) pour installer ​ce logiciel.+et vous obtiendrez votre .sf2!</note> 
 +<​note>​Pour jouer une SoundFont avec un [[:controleurs_midi|contrôleur MIDI]], vous pouvez suivre [[:​tutoriel:​piano_midi|ce tutoriel]].</​note>​
  
-Commencez par installer [[:​Timidity]] (via [[:​Synaptic]] ou [[:Adept]], ou en ligne de commande).+==== Synthèse logicielle ====
  
-Vous aurez ensuite besoin d'un ensemble d'​échantillons sonores. La manière la plus simple est d'​[[:​tutoriel:comment_installer_un_paquet|installer le paquet]] ​**[[apt://freepats]]** (28 Mio de téléchargement), une bibliothèque de sons standards légère. Vous pouvez aussi, pour un meilleur rendu sonore, lire la section ​[[#​trouver_et_mettre_en_place_une_soundfont|Trouver et mettre en place une soundfont]] ci-dessous.+Il existe 3 principaux lecteurs de SoundFont sous Ubuntu ​: **[[:Timidity]]**, **Fluidsynth** (et ses dérivéset **[[:​LinuxSampler]]**.
  
-Voilàvous pouvez ​dès maintenant ​lire des fichiers midi :+Pour simplement lire un fichier MIDIle plus simple est probablement d'​installer **Fluidsynth** avec une SoundFont General MIDI : 
 +<​code>​sudo apt install fluidsynth fluid-soundfont-gm</​code>​ 
 +Vous pouvez ​ensuite ​lire votre fichier MIDI en lançant ​: 
 +<​code>​fluidsynth -a pulseaudio /​usr/​share/​sounds/​sf2/​FluidR3_GM.sf2 fichier_midi.mid</​code>​ 
 +(Remplacez "​fichier_midi.mid"​ par le nom de votre fichier MIDI.) 
 +Dans ce cas on utilise le serveur de son **[[:​pulseaudio]]**,​ utilisé par ubuntu par défaut. On peut aussi utiliser **alsa**, **oss** ou **[[:​jackd|jack]]**.\\  
 +Tapez "​quit"​ pour arrêter la lecture, vous pouvez aussi taper Ctrl + C ou simplement fermer la fenêtre du terminal.
  
-  timidity monfichier.mid+Certains [[:​lecteur_audio|lecteurs audio]] comme [[:​Audacious]] permettent de lire les fichiers MIDI. Pour cela il faut généralement installer et configurer des plugins (voir [[https://​redmine.audacious-media-player.org/​boards/​1/​topics/​1143|ici]] pour Audacious).\\  
 +La plupart du temps ces extensions font également appel à **[[:​Timidity]]** ou à **Fluidsynth** pour fonctionner. Il faut donc dans tous les cas installer les paquets nécessaires au préalable.
  
-Si tout se passe bien, vous devriez entendre une douce musique synthétique. Si vous rencontrez des problèmes, lisez la section [[#​reduire_l_usage_processeur|Réduire l'​usage processeur]] ou faites une recherche sur le forum d'​Ubuntu-fr.+==== Convertir un fichier MIDI en fichier audio ====
  
-Si vous voulez démarrer Timidity avec une interface graphique (par exemple GTK)il vous faut auparavant [[:​tutoriel:​comment_installer_un_paquet|installer ​le paquet]] ​**timidity-interfaces-extra**, et ensuite un +Pour convertir un fichier MIDI en fichier audio, le plus simple est d'​installer ​**Fluidsynth** avec une SoundFont General MIDI : 
 +<​code>​sudo apt install fluidsynth fluid-soundfont-gm</​code>​ 
 +Vous pouvez ​ensuite ​effectuer la conversion en lançant : 
 +<​code>​fluidsynth -F fichier_audio.wav /​usr/​share/​sounds/​sf2/​FluidR3_GM.sf2 fichier_midi.mid</​code>​ 
 +(Remplacez "​fichier_midi.mid"​ par le nom de votre fichier MIDI.) 
 +Vous obtiendrez ainsi un fichier audio que vous pourrez écouter facilement avec n'​importe quel lecteur multimédia.
  
-  timidity -ig+==== Synthétiseur intégré à la carte son ====
  
-par exemple, dans la ligne de commandelancera Timidity avec une interface graphique en GTK.+<​note>​Cette partie ​de la documentation est ancienne et concerne du matériel obsolete. Elle peut sans doute toujours servir pour certains ordinosauresou éventuellement quelques amateurs de rétro chiptune lo-fi.</​note>​
  
-Pour plus d'​informations sur les autres interfaces disponibles ​un +Certaines cartes sons contiennent une implémentation matérielle du General MIDI (en particulier ​les cartes haut de gamme des années 90 et du début des années 2000). 
 +Certaines cartes incorporent ​un synthétiseur FM (toutes les Sound Blaster 16 et compatibles) qui donne des sons de très basse qualité. 
 +L'​utilisation de SoundFont offre un rendu bien plus fidèle des instruments traditionnels.
  
-  man timidity+=== Cartes compatibles ===
  
-dans la ligne de commande, vous renseignera amplement. +Liste non exhaustive ​de cartes sons disposant ​d'​un ​lecteur ​de SoundFont matériel ​:
- +
- +
-==== Mettre en place Timidity en tant que serveur MIDI ==== +
- +
-Saisissez les commandes suivantes : +
- +
-  sudo modprobe snd-seq-device +
-  sudo modprobe snd-seq-midi +
- +
-Cela charge les modules manquants. +
- +
-Puis entrez : +
- +
-  timidity -iA -B2,8 -Os1l -s 44100 +
- +
-Ça lance Timidity en tant que serveur MIDI et ouvre deux ports 128:0 et 128:1. Après avoir tapé ceci, les lecteurs midi devraient fonctionner. Vous pouvez ouvrir un autre terminal et essayer des commandes comme : +
- +
-  pmidi -p 128:0 musique.mid +
-  kmid musique.mid +
- +
-<note warning>​Kmid semble ne plus exister au sein de KDE</​note>​ +
-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 reconnaitre les ports MIDI. +
- +
-Si l'​ordinateur est occupé, il est possible que vous entendiez des sauts ou que vous ayez des problèmes de latence. Cela peut être réglé grace à un patch de noyau temps-réel //​(realtime)//​ mais cela est hors du propos de cet article. +
- +
- +
- +
-==== Démarrer automatiquement Timidity avec l'​ordinateur ==== +
- +
-Pour qu'il soit lancé au démarrage de l'​ordinateur,​ [[:​tutoriel:​comment_editer_un_fichier|éditez]] « /​etc/​default/​timidity » et décommentez (c'est à dire enlever le # qui ce trouve devant) la ligne: +
- +
-  TIM_ALSASEQ=true +
- +
-Optionnel:​ +
-Modifiez la ligne: +
- +
-  TIM_ALSASEQPARAMS="​-B2,​8 -Os" +
- +
-en la remplaçant par: +
- +
-  TIM_ALSASEQPARAMS="​-iA -B2,8 -Os1l -s 44100"​ +
- +
-=== Problèmes sur Dapper et précédents,​ corrigé depuis la version edgy === +
-Vous devrez aussi ajouter le nom des modules chargés précédemment dans « /​etc/​modules » : +
- +
-  snd-seq-device +
-  snd-seq-midi +
- +
- +
-==== Réduire l'​usage processeur ==== +
- +
-Si Timidity utilise trop de ressources sur votre machine, essayez d'​ajouter ces lignes au début de /​etc/​timidity/​timidity.cfg (voir:​[[:​tutoriel:​comment_editer_un_fichier]]) : +
- +
-  opt EFresamp=l ​         #utilise le rééchantillonnage linéaire +
-  opt EFvlpf=d ​           #désactive VLPF +
-  opt EFreverb=d ​         #désactive la réverbération +
-  opt EFchorus=d ​         #désactive le chorus +
-  opt EFdelay=d ​          #​désactive le delai +
- +
-**Note:** Gardez à l'​esprit que cette modification détériore le son ... +
- +
- +
- +
-==== 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 [[wpfr>​synthétiseur]] dit « à table d'​ondes ». +
- +
-Si vous utilisez Timidity pour jouer des fichiers MIDI, vous pouvez installer le paquet **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 : +
-  * [[http://​www.sf2midi.com|sf2midi.com]],​ dépôt de //​soundfonts//​ +
-  * [[http://​www.personalcopy.com/​linuxfiles.htm|Personnal Copy]] (essayez Unison.sf2 ou PC51f.sf2) +
-  * [[http://​www.hammersound.net/​|Hammersond]] +
-  * cherchez //​soundfont//​ dans un moteur de recherche... +
- +
-**Personnellement je vous conseil [[ftp://​ftp.personalcopy.net/​pub/​PC51f.sf2.gz|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 [[http://​melodymachine.com/​sfark.htm|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 [[:​tutoriel:​comment_editer_un_fichier|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 +
- +
-<note importante>​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 ».</​note>​ +
- +
-Si vous utilisez la synthèse de votre carte son, lisez la section consacrée à cette façon de faire. +
- +
-===== 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//​. +
- +
- +
-==== Cartes compatibles ==== +
- +
-Liste non exhaustive de cartes sons offrant une implémentation matérielle de MIDI :+
   * Sound Blaster AWE32 ;   * Sound Blaster AWE32 ;
   * Sound Blaster AWE64 ;   * Sound Blaster AWE64 ;
Ligne 194: Ligne 137:
   * Sound Blaster X-Fi.   * Sound Blaster X-Fi.
  
-Liste non exhaustive de cartes sons n'offrant qu'une synthèse ​FM matérielle de MIDI :+Liste non exhaustive de cartes sons disposant d'un synthétiseur ​FM matériel ​:
   * Sound Blaster 8 ;   * Sound Blaster 8 ;
   * Sound Blaster Pro ;   * Sound Blaster Pro ;
   * Sound Blaster 16.   * Sound Blaster 16.
  
-Dans le cas des cartes ​MIDI FM, il faut activer le pilote ALSA OPL3 dans /​etc/​modules :+Dans le cas des cartes FM, il faut activer le pilote ALSA OPL3 dans /​etc/​modules :
   snd-sb16 #Pour une soundblaster 16   snd-sb16 #Pour une soundblaster 16
   snd-seq ​ #Pilote OPL3   snd-seq ​ #Pilote OPL3
Ligne 205: Ligne 148:
   sbiload -p 65:0 --opl3 /​usr/​share/​sounds/​opl3/​std.o3 /​usr/​share/​sounds/​opl3/​drums.o3   sbiload -p 65:0 --opl3 /​usr/​share/​sounds/​opl3/​std.o3 /​usr/​share/​sounds/​opl3/​drums.o3
  
-==== Pré-requis ​====+=== Pré-requis ===
  
-  * Vous aurez besoin dune carte son fonctionnant correctement avec [[http://​www.alsa-project.org/​alsa-doc/​|ALSA]]. +  * Vous aurez besoin d'une carte son fonctionnant correctement avec [[http://​www.alsa-project.org/​alsa-doc/​|ALSA]]. 
-  * Nous allons utiliser un fichier ​particulier appelé //​soundfont//​. Pour bien comprendre les manipulations qui suivent, ​je vous conseille ​de lire attentivement ​l'​[[http://​fr.wikipedia.org/​wiki/​Soundfont|article de Wikipédia sur Soundfont]] ainsi que la [[#Trouver et mettre en place une soundfont|section de ce document consacrée aux soundfonts]].+  * Nous allons utiliser un fichier ​SoundFont. Pour bien comprendre les manipulations qui suivent, ​il est important ​de lire attentivement la [[#SoundFonts|section de ce document consacrée aux SoundFonts]].
  
- +=== Installer les paquets nécessaires ===
-==== Installer les paquets nécessaires ​====+
  
 //Via// [[:​Synaptic]],​ recherchez et installez les paquets **awesfx** et **pmidi**. //Via// [[:​Synaptic]],​ recherchez et installez les paquets **awesfx** et **pmidi**.
Ligne 218: Ligne 160:
 <​code>​sudo apt-get install awesfx pmidi</​code>​ <​code>​sudo apt-get install awesfx pmidi</​code>​
  
- +=== Chargement ​de la SoundFont ​===
- +
- +
-==== 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. [[http://​fr.wikipedia.org/​wiki/​Soundfont|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é : +
- +
-  wget ftp://​ftp.personalcopy.net/​pub/​Unison.sf2.gz +
- +
-L'​extraire,​ créer un dossier approprié (par exemple /​etc/​sounds),​ puis le déplacer dans ce nouveau dossier : +
- +
-  gunzip Unison.sf2.gz +
-  sudo mkdir /​etc/​sound/​ +
-  sudo mv Unison.sf2 /​etc/​sound/​ +
- +
-- le //​soundfont//​ Crisis 1.8, moins répandu et plus lourd, mais d'​excellente qualité (pour les audiophiles) : +
- +
-Aller sur le site de [[http://​www.bismutnetwork.com|Crisis]],​ dans '​Download',​ puis télécharger la soundfont au format rar ( installez le support rar a file-roller si nécessaire ) : +
-  sudo apt-get install unrar +
- +
-Il faut ensuite décompresser le fichier sf2 avec [[http://​melodymachine.com/​sfark.htm|SFArk]] et procéder comme précédemment .+
  
 Tout d'​abord,​ testons si cela fonctionne. Tout d'​abord,​ testons si cela fonctionne.
  
-Pour charger ​le //soundfont// une fois, exécutez la commande : +Pour charger ​la //SoundFont ​// une fois, exécutez la commande : 
-  sfxload ​/​etc/​sound/​Unison.sf2 +  sfxload ​soundfont.sf2
-  ou bien sfxload /​etc/​sound/​crisis18.sf2+
  
 Tapez : Tapez :
Ligne 273: Ligne 188:
  
 Ensuite, allez dans Système/​Préférences/​Sessions,​ cliquez sur +Ajouter. Ensuite, allez dans Système/​Préférences/​Sessions,​ cliquez sur +Ajouter.
-Entrez la commande sfxload tel que décrite plus haut, nommez-la, validez et fermez. La Soundfont ​devrait dorénavant être chargé au démarrage de la session et permettre de jouer instantannément ​vos fichiers midi.+Entrez la commande sfxload tel que décrite plus haut, nommez-la, validez et fermez. La SoundFont ​devrait dorénavant être chargé au démarrage de la session et permettre de jouer instantanément ​vos fichiers midi.
  
 ===== Ressources ===== ===== Ressources =====
  
 +==== Fichiers MIDI ====
  
-==== Liens ====+  * [[https://​www.mididb.com/​|Mididb]] : base de donnée de fichiers midi (orienté musiques pop) 
 +  * [[http://​www.vgmusic.com/​|Video Game Musique Archive]] : fichiers midi de musiques de jeux vidéos 
 +  * [[http://​www.classicalarchives.com/​|Classical Archive]] : fichiers midi de musique classique (payant)
  
-  * [[http://​www.think-underground.com/​index.php?​post/​2005/​11/​02/​110-comment-lire-des-midis-sous-ubuntu-ou-kubuntu|Article sur Think-Underground]]+===== Voir aussi=====
  
- +  ​La page concernant les [[:contrôleurs MIDI]] 
- +  * [[:tutoriel:​piano midi|Jouer du piano avec un contrôleur MIDI]]
- +
-==== Sources ==== +
- +
-  ​Inspiré de la documentation de [[http://​linuxfocus.org/​Francais/​September2002/​article259.shtml|Guido Socher]] et de la page [[http://​fr.wikipedia.org/​wiki/​Soundfont|soundfont de wikipedia]]. +
-  * [[https://​wiki.ubuntu.com/​MidiSoftwareSynthesisHowTo]] [en] +
- +
-===== Voir aussi=====+
   * [[:​tutoriel/​wine_et_midi]] - comment lancer une application Win32 utilisant le midi ?   * [[:​tutoriel/​wine_et_midi]] - comment lancer une application Win32 utilisant le midi ?
  
 ---- ----
  
-//​Contributeurs : [[utilisateurs:​Vicks]],​ [[utilisateurs:​jd]],​ [[utilisateurs:​raph|Raphaël Doursenaud]].//​+//​Contributeurs : [[:​utilisateurs/​krodelabestiole]], ​[[utilisateurs:​Vicks]],​ [[utilisateurs:​jd]],​ [[utilisateurs:​raph|Raphaël Doursenaud]], [[utilisateurs:​grobs|Grobs]].//
  • midi.1228061606.txt.gz
  • Dernière modification: Le 18/04/2011, 14:40
  • (modification externe)