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 13:08] 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 11: Ligne 12:
 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>
  
Ligne 17: Ligne 18:
  
  
-===== Carger le module =====+===== Charger le module =====
  
 Charger le pilote du périphérique son Charger le pilote du périphérique son
  
 <code bash> <code bash>
-modprobe snd_bcm2835+modprobe snd-bcm2835
 </code> </code>
  
Ligne 32: Ligne 33:
 ===== Configurer pulseaudio ===== ===== Configurer pulseaudio =====
  
-Configurer le serveur pulseaudio pour qu'il écoute sur le réseau. Modifier le fichier de configuration /etc/pulse/defalut.pa +Lancer automatiquement le serveur pulseaudio au démarrage de la raspberry. Modifier le fichier /etc/default/pulseaudiopasser la variable **PULSEAUDIO_SYSTEM_START** à **1**.
-Dans la section Network accessdécommenter et modifier la ligne 74 pour autoriser la connexion des postes du réseau local. Décommenter la ligne pour charger le module module-zeroconf-publish (ligne 75).+
  
 <file> <file>
-71 ### Network access (may be configured with paprefsso leave this commented +0 = don't start1 = start 
-72 ### here if you plan to use paprefs) +PULSEAUDIO_SYSTEM_START=1
-73 #load-module module-esound-protocol-tcp +
-74 load-module module-native-protocol-tcp auth-ip-acl=127.0.01;192.168.1.0/16 +
-75 load-module module-zeroconf-publish+
 </file> </file>
  
-Vérifier que la ligne chargeant le module module-suspend-on-idle est décommentée afin d’éviter le bruit émis à la fin des morceaux:+<note> 
 +Sous Jessy le fichier /etc/default/pulseaudio n'existe pas mais un fichier example est disponible dans /usr/share/doc/pulseaudio/examples. Copier 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> 
 + 
 +RemarqueCette 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> <file>
-106 ### Automatically suspend sinks/sources that become idle for too long +### Utiliser raspeberry comme serveur de son 
-107 load-module module-suspend-on-idle+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> </file>
  
-Lancer le daemon pulseaudio:+<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> <code bash>
-pulseaudio -Dv+$ netstat -anpe | grep 5353
 </code> </code>
  
Ligne 63: Ligne 85:
 Si lors de l'appel de la commande alsamixer le message d'erreur suivant s'affiche: ''**cannot open mixer: No such file or directory**'' 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 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é Vérifier que le pilote du périphérique audio est chargé
Ligne 89: Ligne 115:
 <code bash> <code bash>
 sudo apt-get install mpg123 sudo apt-get install mpg123
 +</code>
 +
 +===== 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>
 +yoann@hermes:~$ sudo apt-get install paman paprefs pavucontrol padevchooser
 +</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> </code>
  
Ligne 95: Ligne 180:
  
   * 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://www.crazy-audio.com/projects/raspberry-pi-for-audio-distribution/
   * http://raspberrypi.stackexchange.com/questions/639/how-to-get-pulseaudio-running   * 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.1368018527.txt.gz · Dernière modification : 2021/02/01 21:51 (modification externe)