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
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.zipRé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.gzCeci 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.lnkATTENTION: 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.
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.
RépondreSupprimerMerci !
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épondreSupprimerMerci !
RépondreSupprimer