{{tag>puredata raspberry-pi carnabal audio em}}
====== Installation d'ambiance sonore pour le Carnabal des Monstres 2026 ======
Pure data, Raspberry Pi (abrégé en rpi ci-dessous)
**Préparation du rpi** :
Insérer la carte micro-SD dans l'ordinateur puis lancer le logiciel dédié pour installer l'OS
rpi-imager &
OS choisi : RPI OS Debian Trixie, compte utilisateur : xor (même mot de passe que d'habitude), accès SSH autorisé, nom de l'hôte : carnabal.local \\
nb : ça n'est peut-être pas idéal, la version lite de raspberrypi OS aurait pu suffire...
Insérer la carte micro-SD dans le rpi, brancher alim, HDMI, clavier et souris et c'est parti
D'abord installation de quelques paquets par le terminal
sudo apt update
sudo apt install terminator micro xclip puredata-core puredata
(puredata est installé en version 0.55.2)
**Démarrage avec interface graphique**
Dans cette étape, on vérifie que le patch fonctionne correctement en ALSA...\\
Sur ces modèles de rpi, il y a 3 sorties sonores possibles : 2 HDMI et 1 sortie analogique minijack. Pour que le patch fonctionne dans pure data, il faut régler la carte son adéquate : sortie sonore analogique sur mini-jack, pour cela : \\
Dans le menu «media», choisir paramètres audio \\
Décocher «périphérique d'entrée» (on ne s'en sert pas) \\
Cocher «périphérique de sortie» et choisir «bcm2835 Headphones (hardware)»\\
Ça devrait fonctionner corectement
**Démarrage sans interface graphique**
Dans cette étape, on vérifie que le patch peut démarrer en ligne de commande par un script.\\
Tout d'abord il faut trouver le bon chiffre pour identifier la sortie audio
aplay -l # donne des infos sur le type de cartes
pd -alsa -listdev # renvoie les numéros d'identification
On peut lire
audio input devices:
0. vc4-hdmi-0 (hardware)
1. vc4-hdmi-0 (plug-in)
2. vc4-hdmi-1 (hardware)
3. vc4-hdmi-1 (plug-in)
4. bcm2835 Headphones (hardware)
5. bcm2835 Headphones (plug-in)
audio output devices:
0. vc4-hdmi-0 (hardware)
1. vc4-hdmi-0 (plug-in)
2. vc4-hdmi-1 (hardware)
3. vc4-hdmi-1 (plug-in)
4. bcm2835 Headphones (hardware)
5. bcm2835 Headphones (plug-in)
API number 1
**Différence entre hardware et plugin** \\
Le (hardware) est l'accès direct ALSA à la carte (hw:0,0) : accès exclusif, pas de conversion automatique, et il n'accepte que le format natif du matériel. \\
Le (plugin) passe par la couche plughw d'ALSA, qui convertit automatiquement le taux d'échantillonnage, le format et le nombre de canaux si besoin.
-> On utilisera la sortie 4, on peut démarrer le patch en ligne de commande par
pd -nogui -alsa -noadc -audiooutdev 4 -r 44100 -audiobuf 200 -open /home/xor/carnabal/mix-carnabal-2.pd
**Configurer le lancement automatique au démarrage**\\
En utilisant systemd
sudo touch /etc/systemd/system/carnabal.service
sudo micro /etc/systemd/system/carnabal.service # éditer le fichier avec micro (copier-coller possible par l'install de xclip)
Y mettre
[Unit]
Description=Patch Pure Data generatif
After=sound.target
[Service]
User=xor
Group=audio
ExecStart=/usr/bin/pd -nogui -alsa -noadc -audiooutdev 4 -r 44100 -audiobuf 50 -open /home/xor/carnabal/mix-carnabal-2.pd
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
/!\ attention au nom du //User//
**Tester le script automatique de lancement**
sudo systemctl daemon-reload
sudo systemctl enable --now carnabal.service
On peut lire le journal du service (et les erreurs éventuelles) avec :
journalctl -u carnabal -f
S'il faut relancer
sudo systemctl daemon-reload
sudo systemctl restart carnabal.service
**Test grandeur nature** \\
Éteindre le pi, débrancher HDMI, clavier, souris et relancer le Pi
-> ok, ça fonctionne :)
**Régler le volume sonore**
**Passer le rpi en read-only** \\
Cela permet de démarrer / éteindre en le branchant/débranchant
TODO : ajouter le patch et son fonctionnement + script python pour les listes