Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
timidity [Le 31/10/2017, 23:03] – [Script pour convertir un fichier MIDI vers un fichier audio] Eliastik | timidity [Le 26/12/2017, 18:53] (Version actuelle) – Eliastik | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ====== TiMiDiTy ====== | ||
+ | |||
+ | **Timidity** est un synthétiseur logiciel pour la prise en charge du MIDI. | ||
+ | |||
+ | La commande '' | ||
+ | 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. | ||
+ | |||
+ | ===== Pré-requis ===== | ||
+ | |||
+ | * Disposer des [[: | ||
+ | * Disposer d'une connexion à Internet configurée et activée. | ||
+ | |||
+ | ===== Installation===== | ||
+ | |||
+ | |||
+ | Pour installer ce logiciel, il suffit d' | ||
+ | |||
+ | Vous aurez ensuite besoin d'un ensemble d' | ||
+ | |||
+ | Si vous souhaitez une interface graphique (par exemple GTK), il vous faut auparavant [[: | ||
+ | |||
+ | ===== Utilisation===== | ||
+ | ====En ligne de commande==== | ||
+ | Vous pouvez lire des fichiers midi grâce à cette commande : | ||
+ | Si tout se passe bien, vous devriez entendre une douce musique synthétique. Si vous rencontrez des problèmes, lisez la section [[# | ||
+ | |||
+ | ====Graphiquement==== | ||
+ | Lancez l' | ||
+ | |||
+ | =====Configuration===== | ||
+ | ==== Mettre en place Timidity en tant que serveur MIDI ==== | ||
+ | |||
+ | Saisissez les commandes suivantes : | ||
+ | sudo modprobe snd-seq-midi</ | ||
+ | |||
+ | Cela charge les modules manquants. | ||
+ | |||
+ | Puis entrez : < | ||
+ | |||
+ | Ç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 | ||
+ | |||
+ | 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' | ||
+ | |||
+ | |||
+ | |||
+ | ==== Démarrer automatiquement Timidity ==== | ||
+ | |||
+ | Il y a deux méthodes pour démarrer automatiquement Timidity. | ||
+ | * au démarrage de l' | ||
+ | * au démarrage de la session utilisateur : dans ce cas, seul l' | ||
+ | |||
+ | < | ||
+ | |||
+ | === Au démarrage de l' | ||
+ | |||
+ | Pour qu'il soit lancé au démarrage de l' | ||
+ | |||
+ | Optionnel : | ||
+ | Modifiez la ligne: < | ||
+ | en la remplaçant par : < | ||
+ | |||
+ | |||
+ | === 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, [[: | ||
+ | < | ||
+ | description " | ||
+ | start on desktop-start | ||
+ | task | ||
+ | script | ||
+ | # Démarrer le serveur timidity | ||
+ | / | ||
+ | end script | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | |||
+ | Pour fermer le serveur Timidity à la fin d'une session, | ||
+ | < | ||
+ | description " | ||
+ | start on session-end | ||
+ | task | ||
+ | script | ||
+ | # Arrêter les serveurs timidity | ||
+ | / | ||
+ | end script | ||
+ | </ | ||
+ | |||
+ | Il ne vous reste plus qu'à fermer votre session et à vous reconnecter. | ||
+ | ==== Réduire l' | ||
+ | |||
+ | Si Timidity utilise trop de ressources sur votre machine, [[: | ||
+ | < | ||
+ | opt EFresamp=l | ||
+ | opt EFvlpf=d | ||
+ | opt EFreverb=d | ||
+ | opt EFchorus=d | ||
+ | opt EFdelay=d | ||
+ | </ | ||
+ | **Note:** Gardez à l' | ||
+ | |||
+ | |||
+ | |||
+ | ==== 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 // | ||
+ | |||
+ | > Un // | ||
+ | |||
+ | 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' | ||
+ | |||
+ | Exemples de soundfonts à télécharger : | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * cherchez // | ||
+ | |||
+ | **Vous pouvez par exemple utiliser [[ftp:// | ||
+ | |||
+ | //Si// vous vous retrouvez avec un fichier se terminant par « .sfArk », sachez qu'il s'agit d'une // | ||
+ | |||
+ | ' | ||
+ | |||
+ | et vous obtiendrez votre .sf2! | ||
+ | Il est conseillé d' | ||
+ | |||
+ | Une fois votre // | ||
+ | |||
+ | soundfont / | ||
+ | |||
+ | <note importante> | ||
+ | |||
+ | 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' | ||
+ | timidity -Ov fichier.mid | ||
+ | convertit fichier.mid en fichier.ogg. | ||
+ | |||
+ | D' | ||
+ | * -Ov ⇒ OGG Vorbis (.ogg) | ||
+ | * -Ow ⇒ RIFF Wav (.wav) | ||
+ | * -Ou ⇒ Sun Audio (.au) | ||
+ | * -Oa ⇒ AIIF (.aiff) | ||
+ | * -OF ⇒ FLAC (.flac) | ||
+ | * … | ||
+ | |||
+ | Tapez « man timidity » pour plus d' | ||
+ | |||
+ | |||
+ | ==== 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 [[: | ||
+ | |||
+ | Vous pouvez également définir Timidity comme lecteur par défaut des fichiers midi. Pour ce faire, insérez dans le le fichier **/ | ||
+ | |||
+ | |||
+ | ==== Timidity en serveur/ | ||
+ | |||
+ | Il faut lancer timidity de cette manière :< | ||
+ | timidity -iA -B2,8 -Os -EFreverb=0& | ||
+ | </ | ||
+ | |||
+ | avec : | ||
+ | |||
+ | * timidity - le programme | ||
+ | * -iA " | ||
+ | * -B2,8 = buffer (personnellement je préfère utiliser " | ||
+ | * -Os = " | ||
+ | * -EFreverb=0& | ||
+ | |||
+ | \\ | ||
+ | |||
+ | Pour un synthé [[:jackd]] (pour [[: | ||
+ | |||
+ | < | ||
+ | timidity -iA -B2,8 -Oj -EFreverb=0 | ||
+ | </ | ||
+ | |||
+ | N' | ||
+ | |||
+ | < | ||
+ | killall timidity | ||
+ | </ | ||
+ | |||
+ | |||
+ | === Script === | ||
+ | |||
+ | Un petit script en bash pour se simplifier la vie : | ||
+ | |||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | #script timserver par adam0509 | ||
+ | |||
+ | echo "Ce script permet de lancer/ | ||
+ | |||
+ | while [ 1 ]; do | ||
+ | |||
+ | while [ " | ||
+ | |||
+ | echo -e " | ||
+ | |||
+ | ps -A | grep midi | ||
+ | |||
+ | echo -ne " | ||
+ | |||
+ | 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/ | ||
+ | |||
+ | read nombre | ||
+ | |||
+ | done | ||
+ | |||
+ | if [ " | ||
+ | { | ||
+ | exit 0 | ||
+ | } | ||
+ | fi | ||
+ | |||
+ | if [ " | ||
+ | { | ||
+ | timidity -iA -B2,8 -Os -EFreverb=0& | ||
+ | sleep 4 | ||
+ | } | ||
+ | fi | ||
+ | if [ " | ||
+ | { | ||
+ | timidity -iA -B2,8 -Oj -EFreverb=0 | ||
+ | sleep 4 | ||
+ | } | ||
+ | fi | ||
+ | if [ " | ||
+ | { | ||
+ | killall timidity | ||
+ | } | ||
+ | fi | ||
+ | |||
+ | nombre=4 | ||
+ | |||
+ | done | ||
+ | </ | ||
+ | |||
+ | Recopier le contenu dans un fichier " | ||
+ | |||
+ | <code bash> | ||
+ | chmod u+x timserver ## donner la permission d' | ||
+ | sudo cp timserver / | ||
+ | timserver ## lancer le script | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Améliorer le rendu sonore de Timidity ==== | ||
+ | Pour améliorer le rendu sonore de Timidity, il est possible de charger d' | ||
+ | puis de [[: | ||
+ | < | ||
+ | # 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 / | ||
+ | |||
+ | # alternatively, | ||
+ | source / | ||
+ | #source / | ||
+ | </ | ||
+ | Vous pouvez également dé-commenter l' | ||
+ | |||
+ | Vous pouvez également tester d' | ||
+ | |||
+ | |||
+ | ==== 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 : | ||
+ | < | ||
+ | Timidity convertira alors fichier.mid en fichier.ogg. | ||
+ | |||
+ | Vous pouvez également le faire en utilisant les options suivantes : | ||
+ | * -Ov => OGG Vorbis (.ogg) | ||
+ | * -Ow => RIFF Wav (.wav) | ||
+ | * -Ou => Sun Audio (.au) | ||
+ | * -Oa => AIIF (.aiff) | ||
+ | * -OF => FLAC (.flac) | ||
+ | |||
+ | Tapez « man timidity » pour plus d' | ||
+ | |||
+ | **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 : < | ||
+ | |||
+ | ==== 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 **~/ | ||
+ | |||
+ | <code bash># | ||
+ | # Convertit des fichiers midi en wav, dans le même répertoire | ||
+ | # Script by Eliastik | ||
+ | format=$(zenity --entry \ | ||
+ | --title=" | ||
+ | --entry-text=" | ||
+ | --text=" | ||
+ | if [ " | ||
+ | exit | ||
+ | fi | ||
+ | if [ -z " | ||
+ | format=" | ||
+ | fi | ||
+ | (numarg=0 | ||
+ | IFS=' | ||
+ | ' | ||
+ | for arg in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS | ||
+ | do | ||
+ | if [ $format = " | ||
+ | timidity -Ow " | ||
+ | elif [ " | ||
+ | timidity -OF " | ||
+ | elif [ " | ||
+ | timidity -Ov " | ||
+ | elif [ " | ||
+ | timidity -Oa " | ||
+ | elif [ " | ||
+ | timidity -Ou " | ||
+ | else | ||
+ | timidity -Ow " | ||
+ | fi | ||
+ | numarg=$numarg+1 | ||
+ | perc=$(( ($numarg/ | ||
+ | echo " | ||
+ | done) | zenity --progress --no-cancel --pulsate --title=" | ||
+ | zenity --info --text " | ||
+ | |||
+ | ===== Liens ===== | ||
+ | |||
+ | * **[[http:// | ||
+ | * **[[wp> | ||
+ | |||