Installer ChucK sur le Raspberry Pi
J'ai récemment acquis un Raspberry Pi (chez Pi Hut, reçu sous quelques jours), avec l'espoir secret d'en faire une plateforme audio sur laquelle tourneraient mes scripts ChucK et Pure Data entre autres, pilotables en MIDI ou OSC. Etant relativement novice en ce qui concerne Linux, il m'a fallu batailler pour installer ChucK, mais finalement ça fonctionne. Voilà comment je m'y suis pris.
Première tentative
Ma première tentative a consisté à installer ChucK à l'aide d'apt-get (l'outil de gestion des paquets sous Linux) :
sudo apt-get install chuck
Apt-get télécharge et installe ChucK sans problème. Mais impossible de l'éxécuter :
chuck test.ck
[chuck]: (via rtaudio): no devices found for compiled audio APIs!
[chuck]: cannot initialize audio device (try using --silent/-s)
Apt-get a en fait installé plusieurs éxécutables, dont un certain "chuck-alsa". J'essaie alors de lancer mon script "test.ck" avec celui-ci, et cette fois cela fonctionne :
chuck-alsa test.ck
Je m'aperçois rapidement que la version installée par apt-get n'est pas la dernière version, et que certaines fonctionnalités manquent. En particulier la communication par OSC ne fonctionne pas, ce qui me pose problème. Je décide donc de tenter de compiler la dernière version de ChucK sur mon Raspberry.
Compilation de ChucK sur le Raspberry Pi
Les fichiers suivants sont nécessaires à la compilation de ChucK :
- alsa-lib-1.0.25.tar.bz2 : http://www.alsa-project.org/main/forums.html/Download
- libsndfile-1.0.25.tar.gz : http://www.mega-nerd.com/libsndfile/
- chuck-1.3.1.3.tgz : http://chuck.cs.princeton.edu/
Installation de la librairie ALSA
Bien qu'ALSA soit installé et configuré sur le Raspberry Pi, la librairie nécessaire à ChucK n'est pas présente. Après avoir téléchargé le fichier alsa-lib-1.0.25.tar.bz2 dans un répertoire temporaire, lancer la compilation et l'installation de la librairie :
tar -xjf alsa-lib-1.0.25.tar.bz2
cd alsa-lib-1.0.25
sudo ./configure
sudo make
sudo make install
Le répertoire /usr/include/alsa est alors créé.
Installation de libsndfile
Même principe que ci-dessus :
tar -xvf libsndfile-1.0.25.tar.gz
cd libsndfile-1.0.25
sudo ./configure
sudo make
sudo make install
Installation de ChucK
J'ai suivi les instructions données sur http://chuck.cs.princeton.edu/doc/build/ :
tar xvzf chuck-1.3.1.3.tgz
cd chuck-1.3.1.3/src/
sudo make linux-alsa
Un nouvel éxécutable est alors créé dans le répertoire en cours. La commande suivante permet d'afficher la version :
./chuck -h
chuck version: 1.3.1.3 (chimera)
C'est donc bien la dernière version 1.3.1.3 qui est maintenant installée. Après quelques tests, tout semble fonctionner. Il faudra toutefois faire attention à l'utilisation de la CPU qui est relativement élevée. Il sera sans doute bon d'optimiser un peu les scripts, et peut être de lancer ChucK avec un taux d'échantillonnage réduit.
Si vous avez installé initialement ChucK avec apt-get, vous pouvez le désinstaller avec :
sudo apt-get remove chuck
et ensuite installer l'éxécutable nouvellement compilé avec :
sudo make install
L'éxécutable chuck sera alors copié dans le /usr/bin et pourra être lancé directement depuis n'importe quel répertoire.
Dernière chose, par défaut le son est envoyé sur la prise HDMI. Pour activer la sortie sur la prise jack :
sudo amixer cset numid=3 1
Conclusion
L'installation avec apt-get est simple et immédiate, mais installe une version un peu ancienne qui manque visiblement de quelques fonctionnalités. La compilation de ChucK et des dépendances nécessaires s'est avérée relativement simple, et conduit à la dernière version du logiciel. Je conseille donc vivement cette voie à tous ceux qui écrivent des scripts un peu évolués.