Sonos HTAudioIn entschlüsselt (oder: spielt die Playbase gerade DD5.1 ab?)

Die Sonos Playbase unterstützt über den optischen Eingang entweder den Empfang von Stereo- oder Dolby Digital 5.1-Audiosignalen (kurz: DD5.1). DTS gehört leider nicht dazu, und auch keine anderen, neueren Codecs (bspw. Atmos). Diese Einschränkung führt zu einer schwelenden Kontroverse zwischen dem Hersteller der vernuetzten Lautsprecher und einem Teil seiner Kunden. Über diesen Konflikt selbst könnte man einen eigenen Blog-Post machen und auf dutzende Threads im offiziellen Sonos-Forum verweisen.

Der CEO von Sonos nahm im Sommer 2018 in einem Magazin zum Support jüngerer Codecs abschlägig Stellung (Quintessenz: „Fuggedaboutit“):

So what about DTS, a never-present on Sonos‘ speakers to date? It seems it’s just not something that Sonos sees enough demand for: “It’s about consumer demand. DTS and Dolby are very similar, and all streaming is in Dolby.“

Quelle: Sonos talks Dolby Atmos, DTS, sound quality and Beam soundbar

Leider unterstützt mein Panasonic TX-P55VTW60 keine Ausgabe von DD5.1 über seinen optischen Ausgang (es wird aus Lizenzgründen nur Stereo ausgegeben), weshalb ich mir einen Flexson 3 Input HDMI-Switch FLXHDX31021 kaufen und zwischen den Apple TV sowie den Bluray-Player und den TV schalten musste. Der Switch extrahiert das Audiosignal der Quelle (wenn ich Glück habe eben besagtes DD5.1, sonst Stereo) aus dem HDMI-Stream und gibt dieses über einen optischen Ausgang an die Sonos Playbase weiter.

Leider ist es etwas umständlich herauszufinden, wann die Playbase tatsächlich DD5.1-Signale empfängt. Der einfachste Weg ist über die Sonos-App auf dem iPhone und dem iPad (alternativ über den Sonos Controller auf einem Mac im heimischen Netzwerk):

Sonos starten

More

Settings

About My Sonos System

… und dann bis zur Playbase runterscrollen:

...
Playbase: TV Room
Serial Number: 00-00-00-00-00-00:1
Version: 9.2 (build 46357250)
Hardware Version: 1.14.1.11-2
Series ID: A100
IP Address: 10.1.2.3
Audio In: No Signal
WM: 0
...

Die Zeile „Audio In“ verrät einem, in welchem Format das Audio-Signal über den optischen Eingang reinkommt — falls überhaupt (in meinem Beispiel bspw. laufen weder Apple TV noch Blu-Ray Player).

Wer solche Abfragen systematisieren und automatisieren will, behilft sich dem (undokumentierten) Web-Interface der Playbase. Unter der URL http://10.1.2.3:1400/support/review (die Dummy-Adresse 10.1.2.3 ist mit der tatsächlichen IP der Playbase zu ersetzen) können die Statusinformationen abgerufen werden, unter anderem auch der Tag <HTAudioIn>.

Im Gegensatz zu der Applikation wird in diesem XML-Tag aber nur eine Nummer aufgeführt und keine menschenlesbare Aufschlüsselung. Trotz mithören des Netzwerkverkehrs mit Wireshark und Analyse der Binaries der Applikation konnte ich keine Übersetzungstabelle finden.

Zum Glück hat sich ein freundlicher Zeitgenosse die Zeit genommen und die Zahlen auf Beschreibungen aufgeschlüsselt — vermutlich in mühseligem Trial-and-Error:

0

No SPDIF input connected

2

Stereo

7

Dolby 2.0

18

Dolby DD5.1

21

Not listening

22

Silence

Quelle: GetZoneInfo – HTAudioIn codes

Damit kann man nun bspw. mittels eines Cron-Jobs jede Minute aufzeichnen, welches Wiedergabeformat gerade verwendet wird.