Pour accéder à la
Liste des articles de ce blog c'est par ici
Bonjour,
Nous allons configurer un environnement wine (programme permettant d'utiliser les applications windows sous Linux) pour l'audio temps réel sous Ubuntu. Cet article est valable pour n'importe quel DAW fonctionnant sous wine (comme par exemple: Mixcraft 7 qui est plus simple d'utilisation que Reaper). Mais pour l'exemple, ici nous allons installer Reaper.
Pour reaper, il existe maintenant un installateur de REAPER et Wineasio proposé sur le forum cockos, vous trouverez
la description ainsi que la référence à la dernière version ici. Je ne l'ai pas utilisé. Il est peu probable que ce pack d'installation inclus toutes les optimisations présentées ci-dessous ...
Installation de wineasio à partir des dépôts KXStudio
En installant les
dépôts de kxstudio (que nous réutiliserons par la suite dans cet article), vous aurez accès à une version compilée de wineasio 32 bits.
$ sudo apt-get install wineasio
Sinon vous pouvez aussi compiler
wineasio si par exemple vous voulez une version 64 bits (même si elle est disponible dans kxstudio) ... avec wineasio 0.9.2.
Remarque: Ces instructions de compilation datent un peu, il vous faudra les adapter ...
Pour compiler le driver wineasio, il vous faudra passer par les étapes suivantes:
1) Vous inscrire sur le site de Steinberg en tant que développeur et télécharger le SDK ASIO. Pour vous inscrire, c'est par
ici.
2) Une fois que vous avez récupéré le SDK ASIO,
Décompressez-le:
~$ unzip asiosdk2.2.zip
Récupérez également les sources du driver
wineasio en version 0.9.0 dans la section download
http://wineasio.sourceforge.net.
Décompressez les sources du driver
wineasio:
~$ tar xvfz wineasio-0.9.0.tar.gz
Ceci créé le répertoire
./wineasio contenant les sources du driver.
3) copier le fichier asio.h qui se trouve dans le SDK ASIO dans le répertoire contenant les sources du driver
wineasio.
4) Installer les librairies nécessaires à la compilation du driver
~$ sudo apt-get install wine1.4-dev libjack-jackd2-dev gcc-4.5
5) Aller dans le répertoire contenant les sources du driver
wineasio et compiler le driver:
~$ make
6) Installer la dll sur Ubuntu:
~$ sudo cp wineasio.dll.so /usr/lib/i386-linux-gnu/wine/
Installation wine-rt version de wine avec un patch realtime
Pour installer cette version de
wine,
configurer les dépôts KXStudio puis installez le package
wine-rt:
$ sudo apt-get install wine-rt
Vous pourrez par la suite (une fois reaper installé), optimiser les deux variables suivantes: WINE_RT et WINE_SVRT spécifiques au patch temps réel (
pour plus d'infos c'est par ici).
Installation de Reaper ou de votre DAW windowsien favoris
Pour télécharger Reaper soit vous pouvez utiliser la ligne de commande ci-dessous (version 5.2.5), soit rendez-vous dans la section download de
www.reaper.fm pour télécharger la dernière version disponible.
Comme wineasio est disponible uniquement en 32bits, vous devrez télécharger la version windows 32 bits de Reaper.
~$ wget http://www.reaper.fm/files/5.x/reaper525-install.exe
~$ env WINEPREFIX=~/.wineReaper wine reaper525-install.exe
Configuration de votre environement wine-rt avec wineasio
Même si vous avez installez wineasio à partir de kxstudio, il vous faudra configurer la dll dans votre environement wine.
Enregistrer la DLL auprès de l'environnement
wine que vous utilisez pour votre application audio pro:
Si vous utilisez un environnement spécifique en 32 bits (par exemple: ~/.wineReaper):
~$ env WINEPREFIX=~/.wineReaper regsvr32 /usr/lib/i386-linux-gnu/wine/wineasio.dll.so
Si vous utilisez un environnement spécifique en 64 bits (par exemple: ~/.wineReaper):
~$ env WINEPREFIX=~/.wineReaper wine64 regsvr32 /usr/lib/x86_64-linux-gnu/wine/wineasio.dll.so
vous devez obtenir le message:
Successfully registered DLL wineasio.dll
Configuration de wineasio
Dans le fichier README contenu dans les sources de
wineasio, vous trouverez l'ensemble des clés de registre windows pouvant influer sur le comportement de
wineasio au cas où vous auriez besoin d'un comportement différent.
spécifique:
~$ env WINEPREFIX=~/.wineReaper wine regedit
Vous pouvez aussi utiliser
cadence qui se trouve dans
les dépôts KXStudio pour configurer Wineasio.
$ sudo apt-get install cadence
$ env WiNEPREFIX=~/.wineReaper cadence
Configuration du patch wine-rt pour REAPER
Une fois reaper installé, éditez le lanceur de votre application audio:
$ cd ~/.local/share/applications/wine/Programs/REAPER
$ gedit REAPER.desktop
Modifier la ligne:
Exec=env WINEPREFIX="/home/user/.wineReaper" wine C:\\\\windows\\\\command\\\\start.exe
/Unix /home/laurent/.wineReaper/dosdevices/c:/users/Public/Start\\ Menu/Programs/REAPER/REAPER.lnk
en:
Exec=env WINEPREFIX="/home/user/.wineReaper" WINE_RT=28 WINE_SVRT=15 wine C:\\\\windows\\\\command\\\\start.exe
/Unix /home/laurent/.wineReaper/dosdevices/c:/users/Public/Start\\ Menu/Programs/REAPER/REAPER.lnk
Pour tester votre fichier .desktop dans un terminal:
$ xdg-open ~/.local/share/applications/wine/Programs/REAPER/REAPER.desktop
Vous devez voir au tout début des logs dans le terminal, des lignes comme celle-ci:
WINE realtime scheduling hack enabled, realtime base priority has been set to 28
wineserver running SCHED_NORMAL
Optimisation de l'environnement wine
Nous allons optimiser l'environnement
wine.
Tout d'abord si vous avez plusieurs Disque durs (un système avec
/opt et un pour home
/home et l'audio par exemple
/audio), mettez votre environnement
wine sur le disque dur système. Cela répartiera la charge sur ces deux disques (un disque pour les applications, l'autre pour les données).
Dans la suite de commande ci-dessous, remplacez
username par votre nom d'utilisateur et
~/.wineReaper par votre
$WINEPREFIX à vous.
$ sudo mkdir /opt/wineEnvs
$ sudo chown username:username /opt/wineEnvs
$ mv ~/.wineReaper /opt/wineEnvs/wineReaper
$ ln -s /opt/wineEnvs/wineReaper ~/.wineReaper
Ensuite, si vous avez appliquer
les optimisations du système indiqué dans cet article et plus particulièrement le montage du répertoire temporaire en RAM, nous allons indiquer à wine d'utiliser ce répertoire temporaire:
$ rm -rf /opt/wineEnvs/wineReaper/drive_c/users/username/Temp
$ mkdir -p /tmp/wineEnvs/wineReaper/drive_c/users/username/Temp
$ ln -s /tmp/wineEnvs/wineReaper/drive_c/users/username/Temp /opt/wineEnvs/wineReaper/drive_c/users/username/Temp
$ rm -rf /opt/wineEnvs/wineReaper/drive_c/windows/temp
$ mkdir -p /tmp/wineEnvs/wineReaper/drive_c/windows/temp
$ ln -s /tmp/wineEnvs/wineReaper/drive_c/windows/temp /opt/wineEnvs/wineReaper/drive_c/windows/temp
Si vous avez monté /tmp en RAM, il faut créer un script shell (ex: ~/bin/reaper.sh) que vous appelerez pour démarrer le logiciel.
#!/bin/sh
rm -rf /tmp/wineEnvs/wineReaper/drive_c/windows/temp /tmp/wineEnvs/wineReaper/drive_c/users/laurent/Temp
mkdir -p /tmp/wineEnvs/wineReaper/drive_c/windows/temp /tmp/wineEnvs/wineReaper/drive_c/users/laurent/Temp
env WINEPREFIX="/opt/wineEnvs/wineReaper" WINE_RT=28 WINE_SVRT=15 wine C:\\windows\\command\\start.exe /Unix
/opt/wineEnvs/wineReaper/dosdevices/c:/users/Public/Start\\ Menu/Programs/REAPER/REAPER.lnk
ATTENTION: Les deux dernières lignes sont une seule et même ligne
Autoriser l'éxecution du script:
$ chmod 755 ~/bin/reaper.sh
Avant de démarrer Reaper, démarrez le serveur de son jack.
Pour démarrer reaper:
$~/bin/reaper.sh
Note : si votre disque dur système est un disque SSD, il sera préférable de migrer le répertoire c:\users vers un disque dur non SSD et d'en faire un lien.
$ mkdir -p /home/username/wineEnvs/wineReaper/drive_c/users
$ cp -r /opt/wineEnvs/wineReaper/drive_c/users /home/username/wineEnvs/wineReaper/drive_c/
$ rm -rf /opt/wineEnvs/wineReaper/drive_c/users
$ ln -s /home/username/wineEnvs/wineReaper/drive_c/users /opt/wineEnvs/wineReaper/drive_c/users
Vous pouvez également faire un raccourci sur le script reaper.sh avec l'icône REAPER en vous basant sur
~/.local/share/applications/wine/Programs/REAPER/REAPER.desktop (je vous laisse le soin de le faire).
Lorsque vous démarrez Reaper n'oubliez pas, dans les préférences, de sélectionner le driver ASIO puis
wineasio (voir ci-dessous).
Si vous n'avez pas encore installé le serveur de son jack, je vous suggère de lire
cet article.
Documentation sur reaper ...
Le guide utilisateur de reaper est disponible
ici (v5.25 à ce jour en anglais) et une proposition de traduction du guide utilisateur v4.25 en français
ici (voir le sujet sur le
forum reaper francophone).
Amusez-vous bien !
Vous serez peut-être intéressé par
l'installation de Kontakt Player 5 un sampler commercial gratuit (+ une librairie de sons également gratuite) !
Vous trouverez d'autres
astuces pour l'audio et la musique sur Ubuntu par ici.