Contenu | Rechercher | Menus

Ceci est une ancienne révision du document !



TiMiDiTy

Timidity est un synthétiseur logiciel pour la prise en charge du MIDI.

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 conversions sont formattés, par exemple en RIFF WAVE. TiMidity++ utilise des patch 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.

Installation

Cela fait un peu « jeu de piste », mais le mieux est de suivre la 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.

Sous Edgy

Si vous avez une carte son avec synthétiseur intégré la manipulation est très simple, allez dans le gestionnaire de paquets synaptic et installez timidity.

Si vous utilisez XMMS installez aussi xmms-midi.

Si vous utilisez Audacious, il faut ajout le plugin timidity (packet audacious-plugins-extra), puis indiquer le fichier de configuration de timidity : "/etc/timidity/timidity".

Une fois cela fait vous pourrez lire des midi soit directement avec timidity en ligne de commande :

timidity <nom_fichier> 

ou

timidity <dossier>

soit en lisant directement des fichier midi dans XMMS.

Utilisation

Comme de nombreux logiciels sous linux, Timidity peut être utilisé soit en ligne de commande, soit via une interface graphique. Il marche aussi comme plugin d'entrée pour XMMS.

Créer un lanceur

Le paquet timidity que vous avez installé ne crée malheureusement pas (encore) de raccourci dans le menu Applications. Pour ce faire, lancer votre éditeur de texte préféré en mode administrateur, (alt+F2, commande « 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 :

[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

(Vous aurez noté les paramètres -ig qui lancent l'interface graphique.)

Une fois ce fichier sauvegardé, vous pouvez également définir Timidity comme lecteur par défaut des fichiers midi. Pour ce faire, insérez :

audio/midi=timidity.desktop

dans le fichier /usr/share/applications/defaults.list (ou modifier la ligne audio/midi= si elle existe déjà).

Timidity en serveur/synthétiseur

Il faut lancer timidity de cette manière

timidity -iA -B2,8 -Os -EFreverb=0&

avec :

  • timidity - le programme
  • -iA "Launch TiMidity++ as ALSA sequencer client."
  • -B2,8 = buffer (personnellement je préfère utiliser "-B4,8", cela donne de meilleurs résultats !!)
  • -Os = "Output to alsa"
  • -EFreverb=0& "mode" + "Effect" + "Disable MIDI reverb effect control"


Pour un synthé jackd (pour rosegarden par exemple) :

timidity -iA -B2,8 -Oj -EFreverb=0

N'oubliez pas de tuer timidity quand vous l'avez fermé :

killall timidity

Script

Un petit script en bash pour se simplifier la vie :

#!/bin/bash
#script timserver par adam0509
 
echo "Ce script permet de lancer/arreter facilement timidity en mode serveur"
 
while [ 1 ]; do
 
while [ "$nombre" != "0" ] && [ "$nombre" != "1" ] && [ "$nombre" != "2" ] && [ "$nombre" != "3" ]; do
 
echo -e "\n\n\n==== Liste des processus lancé en rapport avec le midi :"
 
ps -A | grep midi
 
echo -ne "\n\n==== Que voulez-vous faire ?"
 
echo -e "\n0) Ne rien faire (Quitter le programme)"
echo "1) Lancer timidity (serveur) en mode ALSA"
echo "2) Lancer timidity (serveur) en mode ALSA avec sortie JACK"
echo "3) Arréter/Tuer timidity"
 
read nombre
 
done
 
if [ "$nombre" = "0" ]; then
	{
	exit 0
	}
fi
 
if [ "$nombre" = "1" ]; then
	{
	timidity -iA -B2,8 -Os -EFreverb=0&
	sleep 4
	}
fi
if [ "$nombre" = "2" ]; then
	{
	timidity -iA -B2,8 -Oj -EFreverb=0
	sleep 4
	}
fi
if [ "$nombre" = "3" ]; then
	{
	killall timidity
	}
fi
 
nombre=4
 
done

Recopier le contenu dans un fichier "timserver", rendez-le exécutable, double-cliquez dessus et faites "Lancer dans un terminal". Vous pouvez aussi le copier dans /usr/local/bin :

chmod u+x timserver ## donner la permission d'exécution
sudo cp timserver /usr/local/bin ## le copier dans le dossier des exécutables
timserver ## lancer le script

Liens

Site officiel :

http://timidity.sourceforge.net/

Timidity sur Wikipédia [en] :

http://en.wikipedia.org/wiki/Timidity



Le contenu de ce wiki est sous licence : CC BY-SA v3.0