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 19/02/2017, 18:43]
krodelabestiole [MIDI] warning doc à réécrire
midi [Le 12/04/2024, 11:59] (Version actuelle)
krodelabestiole [MIDI, General MIDI et fichiers MIDI] update lien OSC
Ligne 1: Ligne 1:
-{{tag>​format audio vétuste}} +{{tag>​format audio multimédia}}
- +
-----+
  
 ====== MIDI ====== ====== MIDI ======
  
-<​note ​warning>Cette page de documentation ​est ancienne, certaines informations sont obsolètes (Timidity n'a pas été mis à jour depuis 2004).</​note>​+<​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>​
  
-En introductionvous pouvez voir cette [[:​tutoriel:​qu_est_ce_que_le_midi|page explicative sur le MIDI.]]+===== MIDIGeneral MIDI et fichiers ​MIDI  =====
  
-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. Ubuntu vient avec un support minimal du MIDI (comprendre : inexistant) qui n'en exploite pas toutes ​les possibilités (comprendre : aucune: une installation de base laisse par exemple de coté la gestion du matériel musicaltels les claviers MIDI (comprendre : rien ne fonctionne sous Ubuntu).+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écifiques, ​les câbles MIDI), que dans le monde virtuel ​(via des "​ports"​ ou "​bus"​ logiciels).
  
-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éroclitesle cheminement est compliqué par l'existence ​de nombreux logiciels, formats et matériels propriétaires (//par ex.// dont les spécifications ne sont pas connues).+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.
  
-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.users.zetnet.co.uk/​lsmith/​mids/​alf.mid|générique ​de la série Alf en MIDI]]avec reverb et chorus, est une expérience ​à ne pas manquer.+Il est possible de créer des séquences ​MIDI qui permettent d'organiser le déclenchement d'événements dans le tempsPar 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 machines, ce qui est beaucoup plus léger.
  
-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 format, sur ses utilisations possibles, voyez la page consacrée au [[:tutoriel:​qu_est_ce_que_le_midi|MIDI]] en lui-même.+<note tip>Par ailleurs le MIDI tend à être remplacé petit à petit (mais encore tout doucementpar le protocole ​[[https://​opensoundcontrol.stanford.edu/​|OSC]], plus adapté à l'​informatique et aux réseaux modernes.</​note>​
  
-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.+==== Spécification ​ ====
  
-<note tip>​Rappel ​: pour stopper un processus ​(par exempleun programme comme « pmidi »), il faut faire la combinaison ​**Ctrl + c** au clavier.</note>+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 jouesur 128 pas)
 +  * 128 **//control changes//** (commandes de modulation) aussi sur 128 pas. on peut contrôler tous types de paramètres : volumepanoramique,​ //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).
  
 +<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>​
  
-===== Implémentations ​du MIDI =====+===== Implémentation ​du MIDI sous Linux =====
  
-Vous pouvez utiliser le MIDI de plusieurs façons selon votre matériel : +Sous Linux, c'​est ​le serveur de son qui s'occupe de router les signaux MIDI entre les applications et les drivers des interfaces. 
-  - //via// un **[[#​synthese midi logicielle|synthétiseur logiciel]]** (cas le plus courant, c'​est ​ce qui se fait sous Windows d'ailleurs...) +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). 
-  - //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. +Pour de la [[:MAO]] on peut aussi utiliser [[:jackd|Jack]], qui permet aussi de router ​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).+<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>​
  
-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 externe, alors orientez-vous vers la première solution.+En plus du serveur de sonALSA 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.
  
 +===== Lecture de fichiers MIDI =====
  
-===== Synthèse ​MIDI logicielle =====+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//​).
  
 +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 sampleur) connecté à 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.
  
-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. la suite de ce texte).+==== SoundFonts ====
  
-Il y a 3 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 !+Wikipédia nous apprend ​que :
  
-Et aussi VLC media player peut jouer Standard MIDI File (MID) et RIFF MIDI Les fichiers ​(. RMIdepuis la version 0.9.0. A partir de la version ​2.1.0le support a été abandonné en raison ​de problèmes de sécurité. Mais on peut toujours réinstaller ​les paquets nécessaire ​afin de pouvoir lire les fichiers+> 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 WAVpuis 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 ».
  
-[[http://​www.rosegardenmusic.com|Rosegarden]] est un séquenceur MIDI qui permet une bonne valorisation de timidity ​et des soudfounts qui lui sont associées.+Il existe d'​excellentes SoundFonts gratuites. Certaines 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é). 
 +Ces paquets installent les SoundFonts dans le répertoire **/​usr/​share/​sounds/​sf2**.
  
-https://wiki.videolan.org/Midi +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) : 
-Si le codec FluidSynth n'est pas représenté dans les préférences de VLC,  +  * [[http://www.personalcopy.com/linuxfiles.htm]] 
-vous devez l'​installer ainsi que les polices sonores.  +  * [[http://​sonimusicae.free.fr/​matshelgesson-maestro.html]] 
-Par exemple Ubuntu 13.04 sur il est dans le paquet ​**vlc-plugin-fluidsynth**, ainsi que les paquets **fluid-soundfont-gs** et **fluid-soundfont-gm** +  ​[[https://​trisamples.com/​free-soundfonts/​]] 
 +  ​[[https://​musescore.org/​fr/​handbook/​banques-de-sons-soundfonts#​specialised]] 
 +  ​[[https://​download.linuxaudio.org/​musical-instrument-libraries/​]]
  
-==== Prérequis ====+Voici une selection d'​excellentes SoundFonts libres de droit :
  
-  * Vous aurez besoin d'une carte son fonctionnant correctement avec ALSAVoyez la [[:son|page à ce sujet]]. +^ Nom ^ Description ^ License ^ Auteur ^ Format / Téléchargement ^ 
-  * Nous allons ​//éventuellement// utiliser ​un fichier particulier appelé ​//soundfont// pour améliorer la qualité du son midiPour 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]].+| 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)]] | 
 +| 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)]] 
 +| 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:
-==== Écouter simplement un midifile ==== +
-  * Installez **''​[[apt://​timidity|timidity]]''​** ainsi que **''​[[apt://​timidity-interfaces-extra|timidity-interfaces-extra]]''​** +
-  * Dans un terminal, taper "​timidity -ig". Vous pouvez par exemple tester avec le [[http://​www.sitcomsonline.com/​sounds/​alf.mid|générique de la série Alf]]…  +
- +
-Pour ouvrir automatiquement les fichiers midi avec timidity, faites un clic droit sur un fichier midi quelconque (d'​extension .mid), puis « ouvrir avec... » / « ouvrir avec une autre application » : tapez "​timidity -ig". Désormais, lorsque vous lancerez par un double clic 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]]). +
- +
- +
-==== Installation de Timidity ==== +
- +
-Vous aurez besoin d'​activer le dépôt //​Universe//​ (voir [[:​depots|Dépots]]) pour installer ce logiciel. +
- +
-Commencez par installer [[:​Timidity]] (via [[:​Synaptic]] ou en ligne de commande). +
- +
-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. +
- +
-Voilà, vous pouvez dès maintenant lire des fichiers midi : +
- +
-  timidity monfichier.mid +
- +
-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. +
- +
-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  +
- +
-  timidity -ig +
- +
-par exemple, dans la ligne de commande, lancera Timidity avec une interface graphique en GTK. +
- +
-Pour plus d'​informations sur les autres interfaces disponibles un  +
- +
-  man timidity +
- +
-dans la ligne de commande, vous renseignera amplement. +
- +
- +
-==== 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. +
- +
-<note warning>​ +
-Il se peut que les ports ouverts soient 129:0 , 129:1 , 129:2 et 129:3 +
-Exemple d'​exécution sous Lucid Lynx (Ubuntu 10.4) : +
-<​code>​ +
-$ timidity -iA -B2,8 -Os1l -s 44100 +
-Requested buffer size 2048, fragment size 1024 +
-ALSA pcm '​default'​ set buffer size 2048, period size 680 bytes +
-TiMidity starting in ALSA server mode +
-Opening sequencer port: 129:0 129:1 129:2 129:3 +
-Requested buffer size 2048, fragment size 1024 +
-ALSA pcm '​default'​ set buffer size 2048, period size 680 bytes +
-</​code>​ +
-</​note>​ +
- +
-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 tip>Kmid a été repris et est en cours de portage sur KDE4</​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 ==== +
- +
-Il y a deux méthodes pour démarrer automatiquement Timidity. +
-  * au démarrage de l'​ordinateur : dans ce cas tous les utilisateurs ont accès au serveur midi et le serveur a peut-être une priorité supérieure. L'​inconvénient,​ c'est que lorsqu'​un client midi est connecté à votre serveur timidity, vos [[lecteur_audio|autres applications audio]] (vlc, rhythmbox, flash player, etc. qui utilisent normalement [[pulseaudio|pulseaudio]]ne fonctionneront pas. Vous devrez fermer votre client midi pour pouvoir à nouveau utiliser ces applications. +
-  * au démarrage de la session utilisateur : dans ce cas, seul l'​utilisateur en question a accès au serveur midi. En revanche, le serveur midi s'​interfacera correctement avec pulseaudio et vous pourrez utiliser toutes vos applications audio en même temps dans une joyeuse cacophonie :-) +
- +
-<​note>​Faîtes simplement attention à ne pas lancer les serveurs des deux façons en même temps. Ça ne vous apportera rien et pourrait vous créer des problèmes.</​note>​ +
- +
-=== Au démarrage de 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"​ +
-  +
- +
-=== Au démarrage de la session === +
- +
-Le lancement au démarrage d'une session peut dépendre de votre [[environnements|environnement de bureau]]. Cette méthode fonctionne au moins sous [[unity|Unity]]. +
- +
-Pour lancer Timidity au démarrage de la session, [[:​tutoriel:​comment_editer_un_fichier|créer le fichier]] **~/​.config/​upstart/​desktopOpen.conf** contenant : +
-<​code>​ +
-description "​Desktop Open Task"​ +
-start on desktop-start +
-task +
-script +
- # Démarrer le serveur timidity +
- /​usr/​bin/​timidity -iA -Os +
-end script +
-</​code>​ +
- +
-<​note>​Adapter les options du serveur timidity en fonction de ce qui marche chez vous. J'ai enlevé des options par rapport à la section ci-dessus car sinon le son "​crachote"​ chez moi.</​note>​ +
- +
-Pour fermer le serveur Timidity à la fin d'une session, créer le fichier **~/​.config/​upstart/​desktopClose.conf** contenant : +
-<​code>​ +
-description "​Desktop Close Task"​ +
-start on session-end +
-task +
-script +
- # Arrêter les serveurs timidity +
- /​usr/​bin/​killall timidity +
-end script +
-</​code>​ +
- +
-Il ne vous reste plus qu'à fermer votre session et à vous reconnecter. +
-==== 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... +
- +
-**Vous pouvez par exemple utiliser [[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]]. 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:+
  
   '​chemin/​vers/​le/​dossier/​extrait'​ '​chemin/​vers/​le/​fichier/​.sfARk'​   '​chemin/​vers/​le/​dossier/​extrait'​ '​chemin/​vers/​le/​fichier/​.sfARk'​
  
-et vous obtiendrez votre .sf2! +et vous obtiendrez votre .sf2!</​note>​ 
-Il est conseillé d'​utiliser les soundfonts de ce site [[http://​sonimusicae.free.fr/​matshelgesson-maestro.html]] qui sont certes volumineuses mais d'une très grande qualité (jettez un oeil aux clavecins par exemple...)  ​+<​note>​Pour jouer une SoundFont avec un [[:controleurs_midi|contrôleur MIDI]], vous pouvez suivre [[:​tutoriel:​piano_midi|ce tutoriel]].</​note>​
  
-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 chemins de fichiers). ​+==== Synthèse logicielle ====
  
-  soundfont /​etc/​timidity/​PC51f.sf2+Il existe 3 principaux lecteurs de SoundFont sous Ubuntu : **[[:​Timidity]]**,​ **Fluidsynth** (et ses dérivés) et **[[:​LinuxSampler]]**.
  
-<note importante>​Attention, une ligne commençant ​par « source » est certainement déjà présente à la fin du fichier. ​Vous devriez la commenteren ajoutant un « # » devant la ligne ; par ailleursnotez bien que le mot clé de la ligne à ajouter est « soundfont »pas « source ».</​note>​+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 lecturevous pouvez aussi taper Ctrl + C ou simplement fermer la fenêtre du terminal.
  
-Si vous utilisez la synthèse ​de votre carte son, lisez la section consacrée ​à cette façon de faire.+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.
  
 +==== Convertir un fichier MIDI en fichier audio ====
  
-==== Convertir ​un fichier ​midi en fichier audio ====+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 permet également de convertir un fichier midi en fichier audio, grâce ​à l'​option -O. Ainsi, ​la commande +==== Synthétiseur intégré ​à la carte son ====
-  timidity -Ov fichier.mid +
-convertit fichier.mid en fichier.ogg.+
  
-D'​autres formats sont disponibles :​ +<​note>​Cette partie de la documentation est ancienne et concerne du matériel obsoleteElle peut sans doute toujours servir pour certains ordinosaures,​ ou éventuellement quelques amateurs de rétro chiptune lo-fi.</​note>​
-  * -Ov ⇒ OGG Vorbis (.ogg) +
-  * -Ow ⇒ RIFF Wav (.wav) +
-  * -Ou ⇒ Sun Audio (.au) +
-  * -Oa ⇒ AIIF (.aiff) +
-  * -OF ⇒ FLAC (.flac) +
-  * …+
  
-Tapez « man timidity » pour plus d'informations+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.
  
-===== Synthétiseur intégré à la carte son =====+=== Cartes compatibles ​===
  
-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. +Liste non exhaustive de cartes sons disposant d'un lecteur ​de SoundFont matériel ​:
- +
-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 271: 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 282: 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 d'une 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, il est important 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 295: 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/​sound),​ 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 350: 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.
  
-===== Améliorer le rendu sonore de Timidity ===== 
-Pour améliorer le rendu sonore de Timidity, il est possible de charger d'​autres soundfont. Pour changer le soundfont, il faut dans un premier temps en télécharger un sur le net, puis le configurer dans Timidity. La configuration la plus simple pour améliorer le rendu sonore de Timidity consiste à installer les paquets fluid-soundfont : 
-<​code>​sudo apt-get install fluid-soundfont-gm fluid-soundfont-gs</​code>​ 
-puis de modifier le fichier de configuration de Timidity : 
-<​code>​sudo gedit /​etc/​timidity/​timidity.cfg</​code>​ 
-en dé-commentant la ligne "​source /​etc/​timidity/​fluidr3_gm.cfg",​ ce qui donne en fin de fichier : 
-<​code>​ 
-# Disabling some of the Midi Controls can help with the CPU usage a lot. 
-# The same goes to the VLPF, sample anti-aliasing and effects such as 
-# reverb and chorus 
- 
-# By default, try to use the instrument patches from freepats: 
-source /​etc/​timidity/​freepats.cfg 
- 
-# alternatively,​ you can use the fluid-soundfont:​ 
-source /​etc/​timidity/​fluidr3_gm.cfg 
-#source /​etc/​timidity/​fluidr3_gs.cfg 
-</​code>​ 
-Vous pouvez également dé-commenter l'​autre ligne pour essayer l'​autre banque son. 
- 
-Vous pouvez également tester d'​autres banques son, comme expliqué plus haut dans la section [[midi#​chargement_du_soundfont|Chargement du soundfont]]. 
 ===== 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 **(fr)** [[http://​linuxfocus.org/​Francais/​September2002/​article259.shtml|Guido Socher]] et de la page **(fr)** [[wpfr>​SoundFont|SoundFont de Wikipédia]]. +
-  ​* **(en)** [[https://​wiki.ubuntu.com/​MidiSoftwareSynthesisHowTo]] +
- +
-===== 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]],​ [[utilisateurs:​grobs|Grobs]].//​+//​Contributeurs : [[:​utilisateurs/​krodelabestiole]], ​[[utilisateurs:​Vicks]],​ [[utilisateurs:​jd]],​ [[utilisateurs:​raph|Raphaël Doursenaud]],​ [[utilisateurs:​grobs|Grobs]].//​
  • midi.1487526200.txt.gz
  • Dernière modification: Le 19/02/2017, 18:43
  • par krodelabestiole