PulseAudio Logo

Voyant que la plupart des lecteurs sont intéressés par PulseAudio, voici un petit guide d’installation pour les impatients, largement inspiré de PulseAudio Perfect Setup adapté à la sauce Ubuntu et du Ubuntu – PulseAudio Wiki, et tout ça en français siouplé!

Avant de commencer, sachez que PulseAudio n’est pas totalement intégré à Ubuntu (il le sera normalement avec Hardy Heron), il reste pas mal de bugs, notamment avec flash, et il faut souvent recompiler certains programmes pour que tout fonctionne. Ce guide ne montre que la configuration des programmes de base. Pour approfondir la configuration veuillez consulter PulseAudio Perfect Setup. Maintenant que vous savez cela, libre a vous de continuer ou non.

Installation

Note pour la suite: pour une installation globale de PulseAudio, éditez les fichiers /etc/pulse/default.pa et /etc/asound.conf. Pour que l’installation soit spécifique à un seul utilisateur éditez plutôt ~/.pulse/default.pa et ~/.asoundrc.

PulseAudio

Commençons par installer PulseAudio:

sudo apt-get install padevchooser paman paprefs pavucontrol pavumeter pulseaudio pulseaudio-esound-compat pulseaudio-module-gconf pulseaudio-module-hal pulseaudio-module-lirc pulseaudio-module-x11 pulseaudio-module-zeroconf pulseaudio-utils libpulse0 libpulse-browse0 libglademm-2.4-1c2a libpulse-mainloop-glib0 libglademm-2.4-1c2a libpulse-mainloop-glib0 libasound2-plugins libgstreamer-plugins-pulse0.10-0 libao-pulse

PulseAudio va trouver automatiquement les autres périphériques présents sur le LAN, mais pour cela vérifiez que vous avez avahi d’installé et le module zeroconf actif (ainsi que PulseAudio) sur toutes les machines. Il faut aussi charger le module « module-native-protocol-tcp » pour permettre l’accès à distance au serveur. Pour cela, vous devriez avoir les 3 lignes suivante dans le script de démarrage de PulseAudio (/etc/pulse/default.pa ou ~/.pulse/default.pa aux lignes 62,63 et 64):

load-module module-esound-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/16
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/16
load-module module-zeroconf-publish

ALSA

Pour que les application utilisant ALSA soient automatiquement dirigées vers PulseAudio, éditez ~/.asoundrc ou /etc/asound.conf

pcm.pulse {
type pulse
}
ctl.pulse {
type pulse
}
pcm.!default {
type pulse
}
ctl.!default {
type pulse
}

Et spécifiez le périphérique de sortie a utiliser dans /etc/pulse/default.pa Exemple (tapez aplay -l pour connaître l’adresse de votre carte, en général votre carte utilise le numéro 0) :

load-module module-alsa-sink device=hw:0
load-module module-alsa-source device=hw:0

GNOME

Pour remplacer ESD par PulseAudio, créez un symlink, il semblerait que le lien soit déjà présent mais on ne sait jamais:

ln -sf /usr/bin/esdcompat /usr/bin/esd

Activez « utiliser ESD » dans les options de son et voila!Suivez les instructions pour GStreamer et ESOUND pour parfaire votre environnement sonore sous GNOME.

GStreamer

Utilisez le gui de GStreamer en tapant dans un terminal:

gstreamer-properties

Sélectionnez « custom » pour l’entrée et ajoutez « pulsesink » comme pipeline (sans les guillemets).Idem pour la sortie mais cette fois avec « pulsesrc » comme pipeline.

ESOUND

Certains problemes avec les clients ESOUND peuvent être résolus en ajoutant cela a .bashrc

if [ ! -e /tmp/.esd-${UID} ]; then
ln -s /tmp/.esd /tmp/.esd-${UID}
fi

KDE

(A vérifier, je n’ai pas KDE ici)

Éditez kcmartsrc (soit dans /etc/kde ou dans /usr/share/config pour une configuration globale ou dans .kde/share/config pour un seul utilisateur) comme ceci:

[Arts]
Arguments=\s-F 10 -S 4096 -a esd -n -s 1 -m artsmessage -c drkonqi -l 3 -f
NetworkTransparent=true
SuspendTime=1

MPD

Ajoutez simplement une sortie PulseAudio a votre mpd.conf:

...
audio_output {
type    "pulse"
name    "My MPD PulseAudio Output"
server  "localhost"   # optionel
sink    "alsa_output" # optionel
}
...

FLASH

Attention: bugs

Pour régler le petit problème avec Flash9 (un de plus) Il existe 2 solutions

Solution 1: allez sur http://pulseaudio.vdbonline.net/libflashsupport/, téléchargez le paquet deb et installez le. Redémarrez firefox pour que ce soit pris en compte.

Solution 2: compilation (recommandée). Assurez vous d’avoir les paquets nécessaires pour ca:

sudo aptitude install build-essential automake1.9 autoconf libtool libesd0-dev libpulse-dev libssl-dev

Téléchargez les sources:

git clone http://git.0pointer.de/repos/libflashsupport.git/

Compilez:

cd libflashsupport
./bootstrap.sh
make
sudo make install

Et voila!EDIT:
D’après ce post, Il semble qu’une solution ait été trouvée pour ubuntu 64 bits en modifiant les paquets lib32cap1, libpulse0 et libflashsupport. (merci Sebseb01 pour le lien!) Voici le lien direct pour les paquets à installer:
lib32cap1_1.10-14build1_amd64.deb
lib32pulse0_0.9.6-1ubuntu2_amd64.deb
libflashsupport_1.0~2219-1_amd64.deb

DIVERS

  • La plupart des lecteurs offrent la possibilité de choisir un moteur alternatif a ALSA, cherchez un peu et utilisez PulseAudio si l’option vous est offerte.
  • Dans Menu>Son & Video> Préférences PulseAudio cochez les trois option pour permettre a PulseAudio de rechercher les autres périphérique de son sur le LAN. Cochez « Activer la réception Multicast/RTP » pour recevoir le stream des autre machine sur le LAN. Cochez « Activer l’envoi Multicast/RTP » pour pouvoir envoyer un stream sur une autre machine du LAN
  • Si vous avez installé Firestarter, il arrêtera a coup sûr toute communication entre les client PulseAudio sur le port 5353 de Zeroconf/Avahi. Fixez ce problème ainsi:sudo nano /etc/firestarter/user-predans le fichier ajoutez les lignes suivantes:
    $IPT -A INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
    $IPT -A OUTPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT

    Enregistrez, fermez (ctrl+X puis O) et enfin tapez dans une console:

    /etc/init.d/avahi-daemon restart

FIN

Après tout ce bidouillage un bon redémarrage pour remettre tout ça en place et vous voila gai comme un pinson.

Voila pour pour la configuration générale. Pour plus plus d’info il y a toujours PulseAudio Perfect Setup et si vous ne causez pas anglais, n’hésitez pas a poster un p’ti commentaire.

Merci beaucoup à Stemp pour avoir testé tout ça, je lui doit (encore) une bière, une flamande bien sur😉