Outils pour utilisateurs

Outils du site


dev:raspberry:serveur-audio

Ceci est une ancienne révision du document !


Serveur de son

Utiliser le raspberry en tant que serveur de son grâce au serveur Pulseaudio. Le raspberry sera connecté à la chaine Hifi. Tous les postes du réseau pourront rediriger leurs flux audios sur le serveur pulseaudio du raspberry afin que le son soit joué sur la chaine.

Installation des paquets

ALSA (Advanced Linux Sound Architecture) et Pulseaudio ne sont pas installés par défaut:

sudo -i
apt-get update
apt-get install alsa-base pulseaudio pulseaudio-module-zeroconf avahi-daemon

Les dépendances seront installés notamment le paquet alsa-utils contenant alsamixer (configuration du périphérique audio depuis l'espace utilisateur en console).

Charger le module

Charger le pilote du périphérique son

modprobe snd_bcm2835

Pour que le module soit automatiquement chargé lors du démarrage, l'ajouter dans le fichier /etc/modules.conf

root@raspberrypi:~# echo "snd-bcm2835" | tee -a /etc/modules

Configurer pulseaudio

Lancer automatiquement le serveur pulseaudio au démarrage de la raspberry. Modifier le fichier /etc/default/pulseaudio, passer la variable PULSEAUDIO_SYSTEM_START à 1.

# 0 = don't start, 1 = start
PULSEAUDIO_SYSTEM_START=1

Remarque: Cette variable active le script de gestion du daemon dans /etc/init.d. Si cette variable est a zero le script init est sans effets.

Configurer le serveur pulseaudio pour qu'il écoute sur le réseau. Modifier le fichier de configuration /etc/pulse/system.pa. Décommenter ou ajouter les directive chargeant les modules zeroconf et native-protocol-tcp

### Utiliser raspeberry comme serveur de son
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.1.0/16
load-module module-zeroconf-publish

Démarrer le service

root@raspberrypi:~# service pulseaudio start

Tester le son en local

alsamixer

Vérifier les niveaux sonores avec avec alsamixer (à l'installation, tous les canaux sont à 0). Sous Alsamixer le label <MM> indique que le canal est désactivé. la valeur <00> indique qu'il est actif mais d'intensité nulle. Ma touche M permet d'activer/désactiver le canal les touches ← et → permettent de sélectionner le canal et les touches haut et bas a modifier les intensités.

Si lors de l'appel de la commande alsamixer le message d'erreur suivant s'affiche: cannot open mixer: No such file or directory

Vérifier si root peut lancer la commande. Si c'est le cas, vérifier que l'utilisateur courant est dans le groupe audio. L'utilisateur doit être dans ce groupe pour contrôler les périphériques audios.

Vérifier que le pilote du périphérique audio est chargé

lsmod | grep snd

Vérifier que des périphériques audio existent

aplay -l

Test des hauts parleurs

speaker-test -c 2

lecteur audio en console

Pour jouer des sons(mp3) à partir de la ligne de commande plusieurs programmes existent:

  • mpg123
  • mpg321
  • mp3baster
sudo apt-get install mpg123

Configurer les clients

Il faut maintenant configurer les postes clients pour qu'ils se connectent au serveur pulseaudio du raspberry. Pour que pulseaudio puisse détecter automatiquement les périphériques présents sur le réseau il faut sur chaque poste:

  • pulseaudio et le module zeroconf
  • avahi

cela installer les paquets suivants:

yoann@hermes:~$ sudo apt-get install paman paprefs pavucontrol padevchooser

Menu Applications » son et vidéo »Pulse audio device chooser. Selectionner Configure Local Sound Server… Activer l'option “Make discoverable PulseAudio network sound devices available locally” Onglet Multicast/RTP activer l'option “” et selectionner l'option create separate

Redirger les application ALSA Rediriger les application utilisant ALSA sur le serveur pulseaudio. Modifier le fichier /etc/alsa.conf pour tout le systeme ou ~/alsarc pour l'utilisateur courant

Références

dev/raspberry/serveur-audio.1393536783.txt.gz · Dernière modification : 2021/02/01 21:51 (modification externe)