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
timidity [Le 12/02/2010, 13:41]
213.95.41.13
timidity [Le 11/09/2022, 11:44] (Version actuelle)
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 1: Ligne 1:
-{{tag>dapper edgy feisty gutsy audio}}+{{tag>Xenial ​audio}}
  
 ---- ----
Ligne 8: Ligne 8:
  
 La commande ''​man timidity''​ offre une bonne documentation ; le programme y est ainsi décrit : La commande ''​man timidity''​ offre une bonne documentation ; le programme y est ainsi décrit :
-//TiMidity++ convertit des fichiers MIDI en Wave et joue ces derniers. Les formats MIDI supportés sont : fichiers au Standard MIDI (*.mid), fichier Recomposer (*.rcp, *.r36) et les fichiers Module (*.mod). Les fichiers obtenus après conversion sont formatés, par exemple en RIFF WAVE. TiMidity++ utilise des patches compatibles Gravis Ultrasound ou des Soundfonts (*.sfx, *.sf2) pour générer les données audio digitales ​à partir des fichiers MIDI. Les données générées par TiMidity++ peuvent être stockées dans un fichier en vue d'un traitement ultérieur, ou jouées en temps réel dans un lecteur audio. Lors d'une lecture en temps réel, TiMitidy++ peut afficher les paroles éventuellement stockées dans les fichiers KAR ou WRD.//+TiMidity++ convertit des fichiers MIDI en Wave et joue ces derniers. Les formats MIDI supportés sont : fichiers au Standard MIDI (*.mid), fichier Recomposer (*.rcp, *.r36) et les fichiers Module (*.mod). Les fichiers obtenus après conversion sont formatés, par exemple en RIFF WAVE. TiMidity++ utilise des patches compatibles Gravis Ultrasound ou des Soundfonts (*.sfx, *.sf2) pour générer les données audio numériques ​à partir des fichiers MIDI. Les données générées par TiMidity++ peuvent être stockées dans un fichier en vue d'un traitement ultérieur, ou jouées en temps réel dans un lecteur audio. Lors d'une lecture en temps réel, TiMitidy++ peut afficher les paroles éventuellement stockées dans les fichiers KAR ou WRD.
  
 +===== Pré-requis =====
 + 
 +  * Disposer des [[:​sudo|droits d'​administration]].
 +  * Disposer d'une connexion à Internet configurée et activée.
  
 +===== Installation=====
  
-===== Installation ===== 
  
-Cela fait un peu « jeu de piste »mais le mieux est de suivre la [[:midi#​synthese_midi_logicielle|page consacrée à la prise en charge du MIDI]] afin d'​installer Timidity sur Ubuntu (toutes versions). Des optimisations en terme de sons et de performances y sont par ailleurs proposées.+Pour installer ce logicielil suffit d'[[:tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>​timidity]]**.
  
 +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]]**,​ 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.
  
 +Si vous souhaitez une interface graphique (par exemple GTK), il vous faut auparavant [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>​timidity-interfaces-extra]]**.
  
 +===== Utilisation=====
 +====En ligne de commande====
 +Vous pouvez lire des fichiers midi grâce à cette commande :​ <​code>​timidity monfichier.mid</​code>​
 +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.
  
 +====Graphiquement====
 +Lancez l'​application via le [[:​unity#​tableau_de_bord_dash|tableau de bord]] (Unity) ou via le [[:​terminal]] (toutes versions d'​Ubuntu) avec la [[:​commande_shell|commande]] suivante : <​code>​timidity -ig</​code>​
  
-==== Sous Edgy ====+=====Configuration===== 
 +==== Mettre en place Timidity en tant que serveur MIDI ====
  
 +Saisissez les commandes suivantes :​ <​code>​sudo modprobe snd-seq-device
 +sudo modprobe snd-seq-midi</​code>​
  
-Si vous avez une carte son avec synthétiseur intégré, la manipulation est très simple : il suffit d'​[[:​tutoriel:​comment_installer_un_paquet| installer le paquet]] **timidity**.+Cela charge les modules manquants.
  
-Si vous utilisez XMMS [[:tutoriel:​comment_installer_un_paquet| installez]] aussi **xmms-midi**.+Puis entrez ​<​code>​timidity -iA -B2,8 -Os1l -s 44100</​code>​
  
-Si vous utilisez Audacious, il faut [[:tutoriel:comment_installer_un_paquet| installer le paquet]] **packet audacious-plugins-extra**,​ puis indiquer le fichier de configuration de timidity : "/​etc/​timidity/​timidity"​.+Ça lance Timidity en tant que serveur MIDI et ouvre deux ports 128:0 et 128:1.
  
-Une fois cela fait vous pourrez lire des midi soit directement avec timidity en ligne de commande :  
-<​code>​timidity <​nom_fichier>​ </​code>​ 
-ou 
-<​code>​timidity <​dossier></​code>​ 
-soit en lisant directement des fichiers midi dans XMMS. 
  
-==== Sous Gutsy ====+Après avoir tapé ceci, les lecteurs midi devraient fonctionner. Vous pouvez ouvrir un autre terminal et essayer des commandes comme :
  
-Si vous avez une carte son avec synthétiseur intégré la manipulation est très simple, il faut [[:tutoriel:​comment_installer_un_paquet| installer les paquets]] ​ **timidity** et **timidity-interfaces-extra**+  pmidi -p 128:0 musique.mid 
 +  kmid musique.mid
  
-===== Utilisation =====+Pour fermer Timidity, pressez Ctrl--c dans le terminal où il a été lancé.
  
-Comme de nombreux logiciels sous linux, Timidity peut être utilisé soit en ligne de commande, soit //via// une interface graphique.+Lancer le serveur ​en tant que root peut améliorer les performances grâce aux priorités supérieures données au processus.
  
-Applications->​Son ​et vidéo->​TiMidity++ ​MIDI sequencer+Notedit ou un autre éditeur de partitions peut alors être chargé ​et reconnaitre les ports MIDI.
  
-Il marche aussi comme plugin d'entrée pour XMMS.+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.
  
-==== Créer un lanceur ==== 
  
-Le paquet **timidity** que vous avez installé ne crée malheureusement pas (encore) de raccourci dans le menu Applications sauf si vous avez installé le paquet **timidity-interfaces-extra** 
  
-Dans ce cas il faut créer un raccourci dans Applications->​Son et vidéo->​TiMidity++ MIDI sequencer+==== Démarrer automatiquement Timidity ====
  
-Pour ce fairelancer ​votre éditeur de texte préféré en mode administrateur, (alt+F2commande « ''​gksudo gedit''​ »par exemple), ou passez par un terminal en utilisant ''​sudo'​'​. ​Il s'agit de créer le fichier ''/​usr/​share/​applications/​timidity.desktop'' ​et d'y insérer ​:+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énientc'est que lorsqu'​un client midi est connecté à votre serveur timidityvos [[lecteur_audio|autres applications audio]] ​(vlcrhythmboxflash 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 casseul l'utilisateur en question a accès au serveur midiEn 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 ​:-)
  
-<code> +<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>
-[Desktop Entry] +
-Encoding=UTF-8 +
-Name=Lecteur MIDI Timidity +
-Comment=Joue ​les fichiers audio MIDI +
-Exec=timidity -ig +
-Terminal=false +
-Type=Application +
-StartupNotify=false +
-MimeType=audio/​midi;​ +
-Categories=Application;​AudioVideo;​ +
-Icon= +
-#​NoDisplay=true +
-</code>+
  
-(Vous aurez noté les paramètres -ig qui lancent ​l'interface graphique.)+=== Au démarrage de l'ordinateur ===
  
-Une fois ce fichier sauvegardé,​ vous pouvez également définir Timidity comme lecteur par défaut des fichiers midi. Pour ce faireinsérez  ​:+Pour qu'il soit lancé au démarrage de l'​ordinateur[[:​tutoriel:​comment_editer_un_fichier|éditez]] le fichier « /​etc/​default/​timidity » et décommentez (c'est à dire enlever le # qui ce trouve devant) la ligne <​file>​TIM_ALSASEQ=true<​file>​
  
-<code>audio/midi=timidity.desktop</code>+Optionnel :​ 
 +Modifiez la ligne: ​<file>TIM_ALSASEQPARAMS="​-B2,​8 -Os"<​/file> 
 +en la remplaçant par : <​file>​TIM_ALSASEQPARAMS="-iA -B2,8 -Os1l -s 44100"</file> 
 + 
  
-dans le fichier ''/​usr/​share/​applications/​defaults.list''​ (ou modifier ​la ligne ''​audio/​midi=''​ si elle existe déjà).+=== 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 :
 +<​file>​
 +description "​Desktop Open Task"
 +start on desktop-start
 +task
 +script
 + # Démarrer le serveur timidity
 + /​usr/​bin/​timidity -iA -Os
 +end script
 +</​file>​
  
 +<​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, ​ [[:​tutoriel:​comment_editer_un_fichier|créer le fichier]] ​ **~/​.config/​upstart/​desktopClose.conf** contenant :
 +<​file>​
 +description "​Desktop Close Task"
 +start on session-end
 +task
 +script
 + # Arrêter les serveurs timidity
 + /​usr/​bin/​killall timidity
 +end script
 +</​file>​
  
 +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, [[:​tutoriel:​comment_editer_un_fichier|ajoutez]] ces lignes au début de **/​etc/​timidity/​timidity.cfg** :
 +<​file>​
 +  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
 +</​file>​
 +**Note:** Gardez à l'​esprit que cette modification détériore le son ...
  
  
-===== Timidity en serveur/​synthétiseur ===== 
  
-Il faut lancer timidity de cette manière+==== Trouver et mettre en place une soundfont ====
  
-<​code>​+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'​ 
 + 
 +et vous obtiendrez votre .sf2! 
 +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...) 
 + 
 +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).  
 + 
 +  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. 
 + 
 + 
 +==== Convertir un fichier midi en fichier audio ==== 
 + 
 +Timidity permet également de convertir un fichier midi en fichier audio, grâce à l'​option -O. Ainsi, la commande 
 +  timidity -Ov fichier.mid 
 +convertit fichier.mid en fichier.ogg. 
 + 
 +D'​autres formats sont disponibles :​ 
 +  * -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. 
 + 
 + 
 +==== Créer un lanceur ==== 
 + 
 +Le paquet **timidity** que vous avez installé ne crée malheureusement pas (encore) de raccourci dans le menu Applications sauf si vous avez installé le paquet **timidity-interfaces-extra** 
 + 
 +Dans ce cas il faut créer un [[:​raccourci-lanceur|raccourci]]. Dans **Commande** mettez ''​timidity -ig''​. 
 + 
 +Vous pouvez également définir Timidity comme lecteur par défaut des fichiers midi. Pour ce faire, insérez dans le  le fichier **/​usr/​share/​applications/​defaults.list** (ou modifier la ligne ''​audio/​midi=''​ si elle existe déjà) : <​file>​audio/​midi=timidity.desktop</​file>​ 
 + 
 + 
 +==== Timidity en serveur/​synthétiseur ==== 
 + 
 +Il faut lancer timidity de cette manière :​<​code>​
 timidity -iA -B2,8 -Os -EFreverb=0&​ timidity -iA -B2,8 -Os -EFreverb=0&​
 </​code>​ </​code>​
Ligne 116: Ligne 207:
  
  
- +=== Script ===
- +
-==== Script ​====+
  
 Un petit script en bash pour se simplifier la vie : Un petit script en bash pour se simplifier la vie :
Ligne 185: Ligne 274:
  
  
-===== Transformation Midi vers Audio =====+==== 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 **[[apt>​fluid-soundfont-gm,​fluid-soundfont-gs]]**. 
 +puis de  [[:​tutoriel:​comment_editer_un_fichier|modifier le fichier]] ​ de configuration de Timidity **/​etc/​timidity/​timidity.cfg** en dé-commentant la ligne "​source /​etc/​timidity/​fluidr3_gm.cfg",​ ce qui donne en fin de fichier : 
 +<​file>​ 
 +# 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 
 +</​file>​ 
 +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]]. 
 + 
 + 
 +==== Transformation Midi vers Audio ====
  
 Il est également possible de convertir un fichier midi en fichier audio. Pour cela, ouvrez un terminal et tapez par exemple : Il est également possible de convertir un fichier midi en fichier audio. Pour cela, ouvrez un terminal et tapez par exemple :
Ligne 200: Ligne 309:
 Tapez « man timidity » pour plus d'​informations. Tapez « man timidity » pour plus d'​informations.
  
-===== Liens =====+**Petite astuce :** Vous en avez marre de devoir convertir vos fichiers un par un? Faites cd /chemin du fichier (ou ouvrir un terminal dans votre dossier) puis : <​code>​timidity -option *.mid</​code>​ et vous transformerez tous vos fichier .mid dans le format de votre choix!!!
  
-**Site officiel ​:**+==== Script pour convertir un fichier MIDI vers un fichier audio ==== 
 +Voici un petit script bash pour [[nautilus|Nautilus]] qui permet de convertir un ou plusieurs fichiers MIDI à l'aide du clic-droit, avec la possibilité de choisir le format de conversion. Il utilise les commandes données à la section précédente. Ce script dispose d'une interface graphique, créée à l'aide de [[zenity]] (il faut donc que ce programme soit installé dans le système, c'est le cas par défaut). 
 + 
 +Copiez-coller le code suivant dans un nouveau document texte (à l'aide de [[gedit]], par exemple), puis enregistrez-le sous le nom **Convertir un fichier MIDI.sh** dans le dossier **~/​.local/​share/​nautilus/​scripts** (**~** est la racine de votre dossier utilisateur). Il faut ensuite rendre le script exécutable ([[tutoriel:script_shell#​methode_graphique|méthode ici]]). Le script sera alors ensuite disponible en faisant un clic-droit tout en sélectionnant un ou plusieurs fichiers MIDI, dans le sous-menu **Scripts**. [[nautilus_scripts|Plus d'​infos sur les scripts Nautilus ici]]. 
 + 
 +<code bash>#​!/​bin/​sh 
 +# Convertit des fichiers midi en wav, dans le même répertoire 
 +# Script by Eliastik 
 +format=$(zenity --entry \ 
 +  --title="​Format de conversion"​ \ 
 +  --entry-text="​WAV"​ \ 
 +  --text="​Sélectionnez le format de conversion"​ FLAC OGG AIFF AU) 
 +if [ "​$?"​ -eq 1 ]; then 
 +    exit 
 +fi 
 +if [ -z "​$format"​ ]; then 
 +    format="​WAV"​ 
 +fi 
 +(numarg=0 
 +IFS='​ 
 +
 +for arg in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS 
 +do 
 +    if [ $format = "​WAV"​ ]; then 
 +        timidity -Ow "​$arg"​ 
 +    elif [ "​$format"​ = "​FLAC"​ ]; then 
 +        timidity -OF "​$arg"​ 
 +    elif [ "​$format"​ = "​OGG"​ ]; then 
 +        timidity -Ov "​$arg"​ 
 +    elif [ "​$format"​ = "​AIFF"​ ]; then 
 +        timidity -Oa "​$arg"​ 
 +    elif [ "​$format"​ = "​AU"​ ]; then 
 +        timidity -Ou "​$arg"​ 
 +    else 
 +        timidity -Ow "​$arg"​ 
 +    fi 
 +    numarg=$numarg+1 
 +    perc=$(( ($numarg/​$#​)*100 )) 
 +    echo "​\r$perc"​ ; sleep 1 
 +done) | zenity --progress --no-cancel --pulsate --title="​Conversion MIDI" --text="​Conversion de $# fichier(s) MIDI au format $format en cours... Veuillez patienter."​ --percentage=0 --auto-close 
 +zenity --info --text "​Terminé ! Les fichiers convertis se trouvent dans le même répertoire que les fichiers MIDI."</​code>​ 
 + 
 +===== Liens =====
  
-http://​timidity.sourceforge.net/​+  * **[[http://​timidity.sourceforge.net/​|Site officiel]]** 
 +  * **[[wp>​TiMidity|Timidity sur Wikipédia [en] ]]**
  
-**Timidity sur Wikipédia [en] :** 
  
-http://​en.wikipedia.org/​wiki/​TiMidity 
  • timidity.1265978517.txt.gz
  • Dernière modification: Le 18/04/2011, 14:44
  • (modification externe)