Synchrones Multiroom mit Kodi und AirAudio

synchronHeute ein Update bzgl. meiner Versuche, die Audioausgabe wie im Artikel Multiroom mit Kodi und AirAudio beschrieben, auf mehrere Lautsprecher zu synchronisieren. Das Wichtigste aber schon mal vorweg:

Die Wiedergabe ist nun absolut synchron auf der Musicbox Air von Canton und dem Kodi-Wohnzimmer PC!

Auch wenn ich es in dem ersten Multiroom-Artikel nur als “nice-to-have” bezeichnet habe, hat mich das Problem mit der asynchronen Wiedergabe bzw. dem hochwahrscheinlichen Auseinanderdriften doch nicht in Ruhe gelassen.

Synchrones Multiroom

Martin, der Entwickler der App “AirAudio” hat mich dann von sich aus dankenswerterweise darauf hingewiesen, das die aktuelle Airplay-Implementierung von Kodi keine Audio-Synchronisierung unterstützt. Solange dem so ist, werden alle meine Versuche bzgl. einer synchronen Wiedergabe auf dem mit Kodi-betriebenen Wohnzimmer-PC scheitern – und das unabhängig vom Zuspieler! Also auch die Nutzung von Whaale hätte kein Unterschied gemacht.

Statt der Airplay-Implementierung von Kodi selbst, sollte ich shairplay-sync als AirPlay-Abspieler auf dem Wohnzimmer-PC installieren. Bei shairplay-sync handelt es sich um ein Fork von shairplay. shairplay-sync unterstützt aber zusätzlich die Implementierung der synchronen Audiowiedergabe mittels Airplay.

Für die Installation von shairplay-sync gibt es neben den GIT-Quellen auch ein Paket für verschiedene Linux-Versionen. Da ich beim Wohnzimmer-PC (immer noch) ein Ubuntu 14.04 LTS nutze, konnte ich die Installation mittels PPA durchführen, da hiefür ein Paket bereitgestellt wird. Bei einem Raspberry kann bei der Installation z.B. nach der Anleitung von mikebrady Verfahren werden.

Installation von shairplay-sync

Mit folgendem Befehl werden die von dantheperson bereitgestellten Paketquellen von shairplay-sync im Ubuntu hinzugefügt:

sudo add-apt-repository ppa:dantheperson/shairplay-sync

Das Update der Paketquellen und die eigentliche Installation erfolgt dann wie folgt:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install shairport-sync

Die Konfig-Datei von shairport-sync ist nach erfolgreicher Installation im Verzeichnis etc zu finden. Hier müssen ggf. noch ein paar Anpassungen vorgenommen werden.

sudo vim /etc/shairport-sync.conf

In der Konfig-Datei kann z.B. unter general der Name des “AirPlay-Gerätes” konfiguriert werden.

Audiogerät und -Ausgang ermitteln

Wichtiger sind aber die Einstellungen unter dem Punkt alsa. Hier muss das Device für die Audioausgabe eingetragen werden. So musste ich z.B. schauen, das der S/PDIF-Ausgang genutzt wird.

alsa =
{
    output_device = "hw:0,1";
    mixer_control_name = "PCM";
    mixer_device = "hw:0";
//  audio_backend_latency_offset = 0;
//  audio_backend_buffer_desired_length = 6615;
};

Die entsprechende Hardware für output_device kann über den Alsamixer herausgefunden werden:

alsamixer

Mit F6 werden alle im System verfügbaren Soundkarten angezeigt. Bei mir ist das HDA Intel mit der Nummer “0”. (Ich denke, das die Grafikkarte “1” hier auch wegen der möglichen Audioausgabe über HDMI angezeigt wird).

alsa2

Nun fehlt noch der passende Audioausgang. Dazu mit F2 in den im Bild gezeigten Dialog und den Eintrag mit “devices” auswählen.

alsa3

Im Ergebnis werden alle Audio-Geräte inklusive den vorhandenen Schnittstellen wie S/PDIF oder Klinke ausgegeben. Leider wird dieser Unterschied (zumindest bei mir) nicht in der Übersicht angezeigt.

alsa4

Also heißt es ausprobieren. Es sind ja nur zwei Möglichkeiten geblieben da das eigentliche Gerät mit “0” ja schon bekannt ist. Bleibt in der shairplay-sync-Konfiguration unter output_device nur noch hw:0,0 oder hw:0,1 zu testen. In meinem Fall war der S/PDIF-Ausgang hw:0,1. Die Mixer-Kontrolle ist unter 6 zu finden und in der Konfiguration entsprechend mit hw:0 anzugeben.

Andere Einstellungen habe ich in der Konfiguration nicht verändert. Evtl. paßt aber auch abhängig von der Hardware schon die Default-EInstellung und es sind keine Änderungen an der Konfiguration von shairplay-sync nötig.

Die nötigen Einstellungen können zum Testen auch direkt beim manuellen Start von shairplay-sync mittels Argument mitgegeben werden. Dazu erstmal ein bereits laufendes shairplay-sync mit folgendem Befehl stoppen:

sudo shairport-sync -k

Folgender Aufruf beinhaltet u.a. die von mir angepaßten Parameter:

sudo shairport-sync -vvv -a "Wohnzimmer" -d hw:0,1 -m hw:0 -c PCM

-v schreibt Debuginformationen zur Analyse von Problemen. -vv oder -vvv gibt mehr Informationen preis.
-a definiert den im AirPlay-Zuspieler angezeigten Namen
-d definiert das Gerät zur Audioausgabe. Hier kann dann mit dem im alsamixer gefundenen Geräten experimentiert werden
-c definiert den zu nutzenden Mixer. Dieser gehört in der Regel zum genutzten Gerät.

Eine komplette Liste aller Parameter von shairport-sync ist in der Hilfe oder in den man-Pages zu finden.

shairport-sync -h
man shairport-sync

Ergebnis

Im Ergebnis bin ich nun sehr zufrieden mit meiner Multiroom-Lösung. Neben den schon im ersten Artikel gut funktionierenden Punkten, kam jetzt das absolut synchrone Abspielen auf mehrere Lautsprecher hinzu. Die ganze Lösung ist immer noch sehr anwenderfreundlich. Fehlt mir jetzt noch ein kleiner portabler AirPlay-Lautsprecher für die Terrasse.

Vielen Dank nochmal an Martin von AirAudio für die sehr gute und schnelle Unterstützung!

 

Gruß
Chris

Multiroom mit Kodi und AirAudio

Multiroom ist ja aktuell in aller Munde. Auch ich wollte mich diesem Trend nicht verschliessen und habe einen “kleinen” Küchenlautsprecher angeschafft – die Canton Musicbox Air 3 in schickem Hochglanz-Weiß, passend zur Küche. Der Lautsprecher verfügt über WLAN mit Airplay und DLNA-Unterstützung. Vor allem aber hat sie genug Leistung und einen gutem Klang (vielleicht sogar etwas zu viel Wumms für die Küche…).

IMG_8769
Canton Musicbox Air 3

Gut, alleine mit dem Kauf des Canton-Lautsprechers war ich noch weit weg von Multiroom. Irgendwie muß “Multiroom” in meiner bereits vorhandenen Infrastruktur umgesetzt werden. Diese besteht aus einem mit Kodi betriebenem Wohnzimmer-PC und daran angeschlossenem 5.1 Receiver mit 5 Lautsprechern.

Was bedeutet Multiroom?

Für den einen bedeutet Multiroom die Wiedergabe der gleichen Tonquelle auf beliebig vielen Lautsprechern. Oder aber auch die Wiedergabe verschiedener Quellen auf einzelne Lautsprecher oder auch gruppiert auf unterschiedliche Lautsprecher.

Multiroom ist aber auch die Möglichkeit zur Auswahl der Wiedergabe von einer Tonquelle auf einem bestimmten Lautsprecher. Im ersten Anlauf tendiere ich zu diesem Ansatz, da ich nicht das komplette Haus beschallen muss und mich meistens in einem Raum aufhalte.

Die verschiedenen Hersteller wollen natürlich auch alle ein Stück vom Kuchen den Sonos mit seiner “PLAY”-Reihe angeschnitten hat und beschert dem Markt verschiedenen Mutliroom-Lösungen. Neben Sonos wäre da z.B. Teufel mit seiner Raumfeld-Reihe, Denon mit “HEOS”, Yamaha mit MusiCast und vielen mehr zu nennen.

Da ich im Wohnzimmer mit einem Denon-Receiver und den ELAC-Lautsprechern schon eine vernünftige Basis habe, schied für mich ein neues Komplettset der oben genannten Kandidaten aus. Ausser der Raumfeld-Reihe haben die meisten Multiroom-Sets auch eher “Plastik-Charm”, weshalb ich die ELAC-Lautsprecher bevorzuge.

Bedeutet Multiroom synchrone Musikwiedergabe?

Im Fall der oben beschriebenen Multiroom-Lösungen sollte der Ton schon synchron aus den Lautsprechern kommen. Schliesslich soll damit unter anderem auch 5.1/7.1/usw. umgesetzt werden. Das erledigt bei mir der Denon-Receiver ja schon. Bleibt noch die Synchronität zwischen Lautsprechern die z.B. in verschiedenen Räumen aufgestellt sind. Primär die Räume, die auch “akustisch verbunden” sind. Das war erstmal nicht mein Ziel, da es mir im ersten Anlauf um die Beschallung des Wohnzimmers oder der Küche basierend auf der Musikdatenbank des Wohnzimmer-PCs geht. Bei Filmen benötige ich den Ton nicht in der Küche oder sonstwo im Haus. Natürlich habe ich mich auch mit dem synchronen Abspielen der Musik beschäftigt aber dazu später mehr.

Mehr lesen