mardi 4 décembre 2012

Installer la station de travail audio Reaper ou de votre DAW windowsiens favoris sous Linux

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.

3 commentaires:

  1. Cet article est peut-être un peu dépassé maintenant, mais il a le mérite de rappeler que Wineasio préfère le 32 bits ! Cela explique sans doute plusieurs de mes mésaventures avec des systèmes récents.
    Merci !

    RépondreSupprimer
  2. Je pense que ce sont les étapes de compilation qui sont à adapter si besoin (version du sdk, de gcc et de wine). Initialement, cet article a été écrit pour Ubuntu 12.04. Le plus simple est d'installer KXStudio pour obtenir facilement wineasio déjà compilé et l'enregistrer auprès de l'environnement Wine qui doit accueillir l'application Asio compatible comme indiqué dans l'article. Si une version 64 bits de wineasio est disponible, elle le sera sûrement dans kxstudio sinon il vous faudra vous contenter de la version 32 bits.

    RépondreSupprimer