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.

Linuxsampler

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 :

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 :

Pianotek_output

Faire les connections dans Jack :

Pianotek Jack

Pianotek est vraiment un logiciel extraordinaire, léger et extrêmement puissant :

Pianoteq

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.

Vus : 3896
Publié par Pianopenguin : 21