Vous pouvez utiliser les modules mpd, pulseaudio et raop2, si nécessaire:
- mpd pour gérer les listes de lecture, la bibliothèque, etc. (
sudo apt-get install mpd
)
- pulseaudio pour la gestion des sorties audio: raop pour AirPlay, ou tout autre périphérique de sortie tel qu'une prise analogique, HDMI, service de streaming http, etc. (
sudo apt-get install pulseaudio
)
- module raop2 pour pulseaudio si le module raop d'origine intégré à pulseaudio ne fonctionne pas
J'ai dû construire pulseaudio à partir de la source afin d'obtenir une version mise à jour du module RAOP pour pulseaudio.
Voici ce que j'ai fait pour le faire fonctionner (il peut se plaindre de paquets manquants, juste sudo apt-get install
eux):
Installer MPD
sudo apt-get install mpd
Installez PulseAudio
Choix A: vous avez un ancien appareil AirPlay ou vous n'avez pas besoin de streaming UDP.
C'est plus simple mais moins compatible.
sudo apt-get install pulseaudio
Choix B: vous voulez une meilleure compatibilité et une prise en charge du streaming TCP et UDP
Ensuite, vous avez besoin d'un module raop2 pour pulseaudio, ce qui signifie construire une sonorisation à partir des sources.
Installez git si vous ne l'avez pas déjà fait, et construisez pulseaudio (voir les instructions officielles ):
sudo apt-get install git intltool autoconf build-essential
cd
git clone https://github.com/hfujita/pulseaudio-raop2
cd pulseaudio-raop2
./bootstrap.sh
make
sudo make install
Lors de ma configuration, j'ai dû créer un lien symbolique vers libpulse.so.0 manuellement:
cd ~/pulseaudio-raop2
sudo rm /usr/lib/arm-linux-gnueabi/libpulse.so.0
sudo ln -s `cd;pwd`/pulseaudio-raop2/src/.libs/libpulse.so.0 /usr/lib/arm-linux-gnueabi/libpulse.so.0
sudo chown root.root /usr/lib/arm-linux-gnueabi/libpulse.so.0.16.2
sudo chmod 744 /usr/lib/arm-linux-gnueabi/libpulse.so.0
ou, selon votre préférence:
cd ~/pulseaudio-raop2
sudo rm /usr/lib/arm-linux-gnueabi/libpulse.so.0.16.2
sudo mv pulseaudio-raop2/src/.libs/libpulse.so.0 /usr/lib/arm-linux-gnueabi/libpulse.so.0.16.2
sudo chown root.root /usr/lib/arm-linux-gnueabi/libpulse.so.0.16.2
sudo chmod 744 /usr/lib/arm-linux-gnueabi/libpulse.so.0.16.2
Configurez tout
Configuration initiale du MPD
Maintenant, nous devons configurer MPD:
sudo vi /etc/mpd.conf
Dans ce fichier, définissez les éléments suivants:
music_directory "/path/to/your/music"
user "mpd"
bind_to_address "127.0.0.1"
bind_to_address "192.168.x.y"
bind_to_address "2a01:xzy....your IPv6 if you want"
Nous devrons éditer la sortie, mais nous avons d'abord besoin du nom du récepteur pulseaudio.
Éviers PulseAudio
Avahi / zeroconf est agréable à avoir car il permettra la découverte des appareils AirPlay (via zeroconf / mDNS / Bonjour):
sudo apt-get install avahi
Nous pouvons maintenant démarrer pulseaudio et essayer de charger les modules RAOP:
pulseaudio --start --log-target=syslog -vvvv --log-level=debug
pacmd load-module module-raop-discover
pacmd list-sinks | grep name:
Voici la sortie sur ma configuration:
name: <raop_output.Freebox-Player.local>
name: <raop_output.Freebox-Server.local>
name: <raop_output.Freebox-Player.local.2>
name: <raop_output.Freebox-Server.local.2>
Vous devez ensuite modifier à /etc/mpd.conf
nouveau et ajouter les sorties suivantes:
audio_output {
type "pulse"
name "Freebox Player"
sink "raop_output.Freebox-Player.local"
format "44100:24:1"
}
Ajoutez l'un de ces blocs pour chaque appareil AirPlay sur lequel vous souhaitez diffuser de la musique.
Configuration de PulseAudio
La dernière partie consiste à configurer PA:
sudo vi /etc/pulse/client.conf
Ne commentez pas autospawn = yes
, cela fera démarrer pulseaudio automatiquement quand cela sera nécessaire.
sudo vi /etc/pulse/default.pa
Ajoutez la ligne suivante en bas:
load-module module-raop-discover
Cela fera pulseaudio charger le module de découverte RAOP lors de son démarrage.
Dernière étape
Cela devrait fonctionner maintenant. Démarrez MPD (arrêtez-le d'abord s'il fonctionne):
sudo /etc/init.d/mpd start
Attendez un peu, cela prend au moins 10-15 secondes sur mon RasPI avant que le démon puisse fonctionner correctement.
Mettez à jour votre bibliothèque musicale (et attendez qu'elle se termine):
sudo apt-get install mpc
mpc update
Activez les sorties à volonté (la liste suivante répertorie les sorties MPD configurées et active la première):
mpc outputs
mpc enable 1
Utilisez maintenant votre client MPD préféré pour écouter de la musique. J'utilise en ligne ncmpcpp
de commande et MPDroid sur mon téléphone / tablette.
Dépannage
Démarrez mpd dans verbose, pulseaudio avec un niveau de journalisation maximal et surveillez les journaux:
mpd --verbose
pulseaudio --start --log-target=syslog --log-level=debug -vvvv
tail -f /var/log/mpd/mpd.log
tail -f /var/log/syslog
Essayez d'abord de faire fonctionner pulseaudio. Il suffit de charger pulseaudio, de charger le module de découverte RAOP, de répertorier les récepteurs, de configurer le récepteur par défaut et d'essayer de jouer quelque chose:
paplay /usr/share/sounds/alsa/Front_Center.wav
Une fois que pulseaudio fonctionne, essayez de le faire fonctionner avec MPD.