Outils pour utilisateurs

Outils du site


dev:raspberry:serveur-audio

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
dev:raspberry:serveur-audio [2013/05/08 10:12] rootdev:raspberry:serveur-audio [2021/02/01 21:51] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 +
 ====== Serveur de son ====== ====== Serveur de son ======
  
Ligne 4: Ligne 5:
  
  
-===== Installation de pulseaudio =====+===== Installation des paquets =====
  
-Pulseaudio n'est pas installé par défaut sur raspbian:+ALSA (Advanced Linux Sound Architecture) et Pulseaudio ne sont pas installés par défaut:
  
 <code bash> <code bash>
 sudo -i sudo -i
 apt-get update apt-get update
-apt-get install alsa-base pulseaudio pulseaudio-module-zeroconf+apt-get install alsa-base pulseaudio pulseaudio-module-zeroconf avahi-daemon
 </code> </code>
  
-Les dépendances seront installés notamment le paquet alsa-utils contenant alsamixer (configuration du périphérique audio depuis l'espace utilisateur en terminal).+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).
  
-===== Tester le son en local ===== 
  
-Augmenter les niveaux sonores avec avec alsamixer (à l'installation, tous les canaux sont à 0). Sous Alsamixer le label <MMindique que le canal est désactivéla valeur <00indique qu'il est actif mais d'intensité nulle+===== Charger le module ===== 
 + 
 +Charger le pilote du périphérique son 
 + 
 +<code bash> 
 +modprobe snd-bcm2835 
 +</code> 
 + 
 +Pour que le module soit automatiquement chargé lors du démarrage, l'ajouter dans le fichier /etc/modules.conf 
 +<code bash> 
 +root@raspberrypi:~# echo "snd-bcm2835" | tee -a /etc/modules 
 +</code> 
 + 
 +===== 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**.
  
-Si lors de l'appel de la commande alsamixer le message d'erreur suivant s'affiche: 
 <file> <file>
-cannot open mixer: No such file or directory+# 0 = don't start, 1 = start 
 +PULSEAUDIO_SYSTEM_START=1
 </file> </file>
  
-Vérifier si root peut lancer la commande. Si c'est le cas, vérifier que l'utilisateur courant est dans le groupe **audio**Si c'est le cas dommage+<note> 
 +Sous Jessy le fichier /etc/default/pulseaudio n'existe pas mais un fichier example est disponible dans /usr/share/doc/pulseaudio/examplesCopier ce fichier dans /etc/init.d 
 +</note>
  
 +<code bash>
 +$ sudo cp /usr/share/doc/pulseaudio/examples/pulseaudio.init.example /etc/init.d/pulseaudio
 +$ sudo chmod 755 pulseaudio
 +$ sudo update-rc.d pulseaudio defaults 98 02
 +</code>
 +
 +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**
 + 
 +<file>
 +### Utiliser raspeberry comme serveur de son
 +load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.1.0/16 auth-anonymous=1
 +load-module module-zeroconf-publish
 +load-module module-rtp-recv
 +</file>
 +
 +<note>
 +L'option auth-anonymous permet d’accéder au service fournit par le serveur Pulse Audion sans partage d'un cookies.
 +</note>
 +
 +Démarrer le service
 +<code bash>
 +root@raspberrypi:~# service pulseaudio start
 +</code>
 +
 +On peut vérifier que le serveur ecoute sur 5353 (RTP multicast)
 +<code bash>
 +$ netstat -anpe | grep 5353
 +</code>
 +
 +===== 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 les groupes **audio** et **pulse-access**. L'utilisateur doit être dans ce groupe pour contrôler les périphériques audios.
 +
 +<code bash>
 +$ sudo usermod -a -G pulse-access pi
 +</code>
 +
 +Vérifier que le pilote du périphérique audio est chargé
 +<code bash>
 +lsmod | grep snd
 +</code>
 +
 +Vérifier que des périphériques audio existent
 +<code bash>
 +aplay -l
 +</code>
 +
 +Test des hauts parleurs
 +<code bash>
 +speaker-test -c 2
 +</code>
 +
 +==== lecteur audio en console ====
 +
 +Pour jouer des sons(mp3) à partir de la ligne de commande plusieurs programmes existent:
 +  * mpg123
 +  * mpg321
 +  * mp3baster
  
-Pour cela utiliser un lecteur en ligne de commande tel que  **mpg123** 
 <code bash> <code bash>
 sudo apt-get install mpg123 sudo apt-get install mpg123
 </code> </code>
  
-Lancer le daemon pulseaudio:+===== 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:
 <code bash> <code bash>
-pulseaudio -Dv+yoann@hermes:~$ sudo apt-get install paman paprefs pavucontrol padevchooser
 </code> </code>
 +
 +<note>
 +Dans les distributions récentes, le paquet padevchooser n'existe plus.
 +</note>
 +
 +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
 +
 +Coté client, inserer dans le fichier /etc/pulse/default.pa
 +<file>
 +load-module module-zeroconf-discover
 +</file>
 +
 +Si le serveur n’apparaît pas dans les périphérique, on peut l'ajouter manuellement avec la commande:
 +<code bash>
 +pacmd load-module module-tunnel-sink server=192.168.1.10
 +</code>
 +
 +
 +===== Optimisations diverses =====
 +
 +==== Réduire la mémoire GPU ====
 +
 +Réduire la quantité de mémoire allouée exclusivement au GPU. Je l'ai passée au minimum 16 MO.
 +
 +
 +==== Désactiver les consoles ttyX ====
 +
 +Les connexion se font via ssh, on peut désactiver les consoles ttyX. Éditer le fichier ''/etc/inittab'' et commenter les lignes puis pour forcer la relecture de inittab:
 +
 +<code bash>
 +telinit q
 +</code>
 +
 +===== Problèmes de son =====
 +
 +Rapidement le son joué par le serveur saccade fortement. Le problème disparaît si le daemon est lancé en tant que root:
 +
 +<code bash>
 + /usr/bin/pulseaudio -D --system
 +</code>
 +
  
 ===== Références ===== ===== Références =====
 +
   * http://libordux.org/doc/debian/sound-and-video.php   * http://libordux.org/doc/debian/sound-and-video.php
 +  * http://www.raspberrypi.org/phpBB3/viewtopic.php?f=38&t=11124
   * https://wiki.archlinux.org/index.php/Alsa#Installation   * https://wiki.archlinux.org/index.php/Alsa#Installation
   * http://fluoblog.wordpress.com/2008/04/06/stream-audio-sur-un-serveur-pulseaudio/   * http://fluoblog.wordpress.com/2008/04/06/stream-audio-sur-un-serveur-pulseaudio/
 +  * http://fluoblog.wordpress.com/2007/12/14/installation-de-pulseaudio/
 +  * http://www.crazy-audio.com/projects/raspberry-pi-for-audio-distribution/
 +  * http://raspberrypi.stackexchange.com/questions/639/how-to-get-pulseaudio-running
 +  * https://doc.ubuntu-fr.org/pulseaudio#pulseaudio_en_tant_que_demon_systeme
 +  * https://wiki.archlinux.org/index.php/PulseAudio/Examples
 +  * http://wiki.openwrt.org/doc/howto/pulseaudio
  
dev/raspberry/serveur-audio.1368007934.txt.gz · Dernière modification : 2021/02/01 21:51 (modification externe)