Jouer du piano sous Ubuntu
Je viens de m'acheter un clavier maitre M-AUDIO Keystation 88es pour pouvoir l'utiliser avec Jalmus et jouer du piano en silencieux.
Ce clavier est parfaitement reconnu en USB sans aucune autre intervention. Du vrai «Plug and Play» sous Linux c'est suffisamment remarquable pour être signalé. Le toucher n'est pas génial mais les claviers à «toucher marteaux», style FATAR, sont nettement plus chers.
Avant toute chose il faut installer le serveur audio Jack :
sudo apt-get install jackd qjackctl
Ajoutez vous au groupe «audio» en éditant le fichier :
sudo gedit /etc/group
Puis éditez le fichier /etc/security/limits.conf pour activer le temps réel en ajoutant les lignes suivantes :
# Support Temps réel pour le groupe audio @audio - rtprio 99 @audio - nice -10 @audio - memlock 250000
LinuxSampler
J'ai installé Linux Sampler sous Jaunty à partir des dépôts PPA de David Konsumer car le site officiel était hors ligne mais il est peut-être plus facile de l'installer en utilisant la méthode de Linux MAO.
Attention cette installation n'est valable que sur Jaunty et peut rendre instable votre système.
Ajoutez dans «Sources de mis à jour» le dépot ppa suivant : deb http://ppa.launchpad.net/david-konsumer/konsumer/ubuntu jaunty main
puis installez la clé :
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 17DEA4FE
Vous pouvez installer les paquets suivants :
sudo apt-get install libasound2-dev libjack0 gigtools libgig-dev libgig6
Il n'est pas possible d'installer directement linuxsampler à cause d'un problème de dépendance. Il faut télécharger les deux fichiers liblinuxsampler_1.0.0-5_i386.deb et linuxsampler_1.0.0-5_i386.deb pour les modifier.
Copiez le code du script suivant (sources) dans un fichier edit-deb-control.sh puis rendez le exécutable :
#!/bin/bash EDITOR=gedit if [[ -z "$1" ]]; then echo "Syntax: $0 debfile" exit 1 fi DEBFILE="$1" TMPDIR=`mktemp -d /tmp/deb.XXXXXXXXXX` || exit 1 OUTPUT=`basename "$DEBFILE" .deb`.modfied.deb if [[ -e "$OUTPUT" ]]; then echo "$OUTPUT exists." rm -r "$TMPDIR" exit 1 fi dpkg-deb -x "$DEBFILE" "$TMPDIR" dpkg-deb --control "$DEBFILE" "$TMPDIR"/DEBIAN if [[ ! -e "$TMPDIR"/DEBIAN/control ]]; then echo DEBIAN/control not found. rm -r "$TMPDIR" exit 1 fi CONTROL="$TMPDIR"/DEBIAN/control MOD=`stat -c "%y" "$CONTROL"` $EDITOR "$CONTROL" if [[ "$MOD" == `stat -c "%y" "$CONTROL"` ]]; then echo Not modfied. else echo Building new deb... dpkg -b "$TMPDIR" "$OUTPUT" fi rm -r "$TMPDIR"
Modifiez les dépendances de liblinuxsampler_1.0.0-5_i386.deb :
./edit-deb-control.sh liblinuxsampler_1.0.0-5_i386.deb
Il faut modifier les références à libgig par libgig6 et supprimer les références inutiles :
Package: liblinuxsampler Source: linuxsampler Version: 1.0.0-5 Architecture: i386 Maintainer: Matt Flax <flatmax@pgb.unsw.edu.au> Installed-Size: 9144 Depends: libasound2 (>> 1.0.18), libc6 (>= 2.4), libgcc1 (>= 1:4.1.1), libjack0 (>= 0.116.1), libstdc++6 (>= 4.2.1), libuuid1 (>= 1.05), libgig6 (>= 3.3.0)
De même pour le paquet linuxsampler :
./edit-deb-control.sh linuxsampler_1.0.0-5_i386.deb
Package: linuxsampler Version: 1.0.0-5 Architecture: i386 Maintainer: Matt Flax <flatmax@pgb.unsw.edu.au> Installed-Size: 328 Depends: libc6 (>= 2.3.6-6~), libgcc1 (>= 1:4.1.1), liblinuxsampler, libstdc++6 (>= 4.2.1), libuuid1 (>= 1.05), libgig6 (>= 3.3.0), libasound2-dev, libjack-dev
Il suffit ensuite d'installer les paquets modifiés :
sudo dpkg -i liblinuxsampler_1.0.0-5_i386.modfied.deb linuxsampler_1.0.0-5_i386.modfied.deb
Pour tester un son de piano vous pouvez télécharger la banque de son Gigasampler du Maestro Concert Grand de Mats Helgesson.
Téléchargez le client Fantasia pour linuxsampler ou installez le en français.
Lancez Jack en ligne de commande avec :
/usr/bin/jackd -R -dalsa -r44100 -n3 -D -i2 -o2
Losque je lance Jack avec Jack Control je n'ai plus le son en sortie audio (il doit y avoir une option qui gène ALSA).
Lancez «linuxsampler» en console puis exécutez «JSampler-0.9/dist/Fantasia-0.9.jar» avec JAVA.
Il faut créer les périphériques MIDI (entrée) et AUDIO (sortie) sur ALSA (pour moi la sortie Jack ne fonctionne pas).
Créez une nouvelle piste et chargez-y un instrument :
Faites les connexions dans Jack Control et si tout est OK vous pourrez enfin jouer sur le Maestro Grand Concert ou tout autre instrument. Si le son grésille trop il faut modifier les paramètres FRAGMENTS (4) et FRAGMENTSIZE (256) sur la sortie AUDIO ou installer le noyau temps réel linux-rt (voir sur Linux MAO pour en savoir plus).
Le son est très correct et cela permet de travailler son piano en épargnant les oreilles des voisins.
Pianoteq
Pianoteq est un piano virtuel commercial disponible sous Linux. A la différence de Linux Sampler il n'utilise pas de banques de sons de pianos réels mais modélise les sons de l'instrument.
Vous pouvez télécharger la version de démonstration directement sur le site.
Il suffit de lancer le programme et de modifier les options pour utiliser Jack :
Faire les connections dans Jack :
Pianotek est vraiment un logiciel extraordinaire, léger et extrêmement puissant :
Avant d'essayer Pianoteq, j'avais tendance à penser que les pianos virtuels n'égaleraient jamais les pianos acoustiques. Mais les possibilités offertes par ce logiciel sont énormes par exemple dans l'exploration de la microtonalité (voir ce que fait Chris Vaisvil) ou dans la personnalisation de son piano (avec la version Pro où les paramètres de chaque note sont modifiables).
Tout n'est pas parfait et notamment du coté des claviers qui ne sont pas capables de rendre la richesse du toucher d'un piano acoustique (comme le staccato, louré ou legato) mais les claviers s'amélioreront et il sera tout à fait possible de gérer ces attaques ainsi que toutes les attaques ou systèmes de pédale imaginables, hors des contraintes physiques, en s'appuyant uniquement sur des modèles mathématiques. Pianoteq est malheureusement un peu cher (249 euros) et je vais devoir patienter avec Linux Sampler avant de m'offrir ce fantastique outil.