Nun geht es weiter mit dem Teil 3
Da im Artikel zwischen Raspberry Pi immer gewechselt werden muss, benennen wir die beiden wie folgt:
- RASPI-1 = Snapcast Server mit Mopidy und Moped
- RASPI-2 = Snapcast Client mit X400 Hifi Soundboard
Einkaufsliste bei Amazon http://amzn.to/2iK8uJF
Wir gehen davon aus, dass das X400 Board schon erfolgreich installiert ist und betriebsbereit ist:
Jetzt installieren wir den Snapcast Client, RASPI-2 auf dem das X400 Board installiert ist.
wget https://github.com/badaix/snapcast/releases/download/v0.10.0/snapclient_0.10.0_armhf.deb sudo dpkg -i snapclient_0.10.0_armhf.deb
# defaults file for snapclient # start snapclient automatically? START_SNAPCLIENT=true # Allowed options: # --help produce help message # -v, --version show version number # -l, --list list pcm devices # -h, --host arg server hostname or ip address # -p, --port arg (=1704) server port # -s, --soundcard arg (=default) index or name of the soundcard # -d, --daemon [=arg(=-3)] daemonize, optional process priority [-20..19] # --latency arg (=0) latency of the soundcard SNAPCLIENT_OPTS="-d -h 192.168.1.XXX"
Bei dem Parameter „-h“ die IP-Adresse des Snapcast Server „RASPI-1“ eintragen und starten.
sudo /etc/init.d/snapclient start sudo /etc/init.d/snapclient status snapclient.service - Snapcast client Loaded: loaded (/lib/systemd/system/snapclient.service; enabled) Active: active (running) since Tue 2016-12-13 14:17:12 UTC; 3 weeks 6 days ago Process: 434 ExecStart=/usr/sbin/snapclient $SNAPCLIENT_OPTS (code=exited, status=0/SUCCESS) Main PID: 443 (snapclient) CGroup: /system.slice/snapclient.service └─443 /usr/sbin/snapclient -d -h 192.168.1.XXX Dec 13 14:17:28 snapclient1 snapclient[443]: Connected to 192.168.1.XXX
In der Regel sollte nun schon möglich sein, das eine Wiedergabe von Musik, Stream möglich ist.
Gehe nun zu „„http://IP-Adresse:6680/moped/“ und wähle eine Wiedergabe aus um testen zu können, ob die Verbindung Snapserver -> Snapclient funktioniert.
Jetzt suchen wir die passende Soundkarte um den Equalizer aktiveren zu können. Hierzu müssen noch ein paar Pakete installiert werden.
sudo apt-get install alsa-base sudo apt-get install alsa-utils sudo apt-get install libasound2-plugin-equal
Starten wir nun die Konfiguration für den Equalizer :
sudo alsamixer -D equal
$ snapclient -l 0: null Discard all samples (playback) or generate zero samples (capture) 1: pulse PulseAudio Sound Server 2: equal 3: plugequal 4: default:CARD=IQaudIODAC IQaudIODAC, Default Audio Device 5: sysdefault:CARD=IQaudIODAC IQaudIODAC, Default Audio Device 6: dmix:CARD=IQaudIODAC,DEV=0 IQaudIODAC, Direct sample mixing device 7: dsnoop:CARD=IQaudIODAC,DEV=0 IQaudIODAC, Direct sample snooping device 8: hw:CARD=IQaudIODAC,DEV=0 IQaudIODAC, Direct hardware device without any conversions 9: plughw:CARD=IQaudIODAC,DEV=0 IQaudIODAC, Hardware device with all software conversions 10: default:CARD=ALSA bcm2835 ALSA, bcm2835 ALSA Default Audio Device 11: sysdefault:CARD=ALSA bcm2835 ALSA, bcm2835 ALSA Default Audio Device 12: dmix:CARD=ALSA,DEV=0 bcm2835 ALSA, bcm2835 ALSA Direct sample mixing device 13: dmix:CARD=ALSA,DEV=1 bcm2835 ALSA, bcm2835 IEC958/HDMI Direct sample mixing device 14: dsnoop:CARD=ALSA,DEV=0 bcm2835 ALSA, bcm2835 ALSA Direct sample snooping device 15: dsnoop:CARD=ALSA,DEV=1 bcm2835 ALSA, bcm2835 IEC958/HDMI Direct sample snooping device 16: hw:CARD=ALSA,DEV=0 bcm2835 ALSA, bcm2835 ALSA Direct hardware device without any conversions 17: hw:CARD=ALSA,DEV=1 bcm2835 ALSA, bcm2835 IEC958/HDMI Direct hardware device without any conversions 18: plughw:CARD=ALSA,DEV=0 bcm2835 ALSA, bcm2835 ALSA Hardware device with all software conversions 19: plughw:CARD=ALSA,DEV=1 bcm2835 ALSA, bcm2835 IEC958/HDMI Hardware device with all software conversions
Nun ändern wir die Datei „/etc/default/snapclient“
# start snapclient automatically? START_SNAPCLIENT=true # Allowed options: # --help produce help message # -v, --version show version number # -l, --list list pcm devices # -h, --host arg server hostname or ip address # -p, --port arg (=1704) server port # -s, --soundcard arg (=default) index or name of the soundcard # -d, --daemon [=arg(=-3)] daemonize, optional process priority [-20..19] # --latency arg (=0) latency of the soundcard SNAPCLIENT_OPTS="-d -s 2 -h 192.168.1.XXX"
Wir wählen den „equal“ aus, welche die Soundkarte Nummer „2“ hat.
„SNAPCLIENT_OPTS=“-d -s 2 -h 192.168.1.XXX“
Den Raspberry Pi einfach neu starten oder mit „sudo /etc/init.d/snapclient restart“
Ob die Soundkarte nun richtig eingetragen ist können wir über folgenden Befehl überprüfen:
/etc/init.d/snapclient status ● snapclient.service - Snapcast client Loaded: loaded (/lib/systemd/system/snapclient.service; enabled) Active: active (running) since Tue 2016-12-13 14:17:12 UTC; 3 weeks 6 days ago Process: 434 ExecStart=/usr/sbin/snapclient $SNAPCLIENT_OPTS (code=exited, status=0/SUCCESS) Main PID: 443 (snapclient) CGroup: /system.slice/snapclient.service └─443 /usr/sbin/snapclient -d -s 2 -h 192.168.1.XXX
Wir installieren nun die Snapcast App auf Android
https://github.com/badaix/snapcast/releases/download/v0.10.0/Snapcast_0.10.0.apk
Damit kann nun jeder einzelne Raum in der Lautstärke gesteuert werden. Es können damit mehrere Räume aktiviert oder ausgeschaltet werden. Das war es schon und nun kann die komplette Multiroom Soundanlage genutzt werden.
Hier gibt es ein von mir erstelltes RASPIAN Image schon komplett vorkonfiguriert:
Erreichbar über „http://snapcast.local:6680“
https://dl.dropboxusercontent.com/u/732863/www/Projekte/Raspberry/snapcast.zip
Einkaufsliste bei Amazon http://amzn.to/2iK8uJF
Grüße und viel Spaß mit dem neuen Sound wünscht Dir Joachim
Hallo,
laufen die Lautsprecher synchron?
Sollten mehrere Lautsprecher mit Empfänger in einem Raum laufen ist
dies wichtig.
Gruß HELMUT
Hallo Helmut
hast Du die Parameter nicht gesehen ?
# –latency arg (=0) latency of the soundcard
Damit kannst Du die Synchronisation zwischen den einzelnen Raspberry Pi einstellen.
Beste Grüße , Joachim
Hallo,
Ich habe snapclient auf meinem PI Installiert.
Alles soweit ok. Jedoch möchte ich in der Küche das Equalizer „plugin-equal“ verwenden. Ändere ich in /etc/default/snapclient die option „–s 1“ auf 1 (1 ist bei mir equal) dann bekomme ich keinen Ton. Snapclient verbindet sich auch nicht mit dem Server.
Bei „speaker-test“ funktioniert der Equalizer
Hardware Raspberry + Hifiberry DAC light
Haben Sie eine Idee was das Problem sein könnte?
Gruß
root@SnapClient3-Hobbyraum:/# snapclient -l
0: null
Discard all samples (playback) or generate zero samples (capture)
1: equal
2: default
3: plugequal
4: sysdefault:CARD=sndrpihifiberry
snd_rpi_hifiberry_dac,
Default Audio Device
5: dmix:CARD=sndrpihifiberry,DEV=0
snd_rpi_hifiberry_dac,
Direct sample mixing device
6: dsnoop:CARD=sndrpihifiberry,DEV=0
snd_rpi_hifiberry_dac,
Direct sample snooping device
7: hw:CARD=sndrpihifiberry,DEV=0
snd_rpi_hifiberry_dac,
Direct hardware device without any conversions
8: plughw:CARD=sndrpihifiberry,DEV=0
snd_rpi_hifiberry_dac,
Hardware device with all software conversions
nano /etc/asound.conf
pcm.!default {
type plug
slave.pcm plugequal;
}
ctl.!default {
type hw card 0
}
ctl.equal {
type equal;
}
pcm.plugequal {
type equal;
slave.pcm „plughw:0,0“;
}
pcm.equal {
type plug;
slave.pcm plugequal;
}