Posts Tagged ‘Sonos’

Sonntag, 18. November 2018

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):

  1. Sonos starten
  2. More
  3. Settings
  4. 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.

Tags: , , , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 10. Juni 2018

Init7 TV7: Turris Omnia, UniFi Switch, Multicast und IGMP Snooping

Seit der Ankündigung von Init7 verwende ich gelegentlich deren TV7-Angebot, welches ein ganz „normales“ Multicast IPTV ist.

Bei der Konfiguration des Services bei einer Bekannten, welche ich mit einem Ubiquiti EdgeRouter ER-X ausgestattet habe, musste ich feststellen, dass das Netzwerk wie vom ISP angedroht mit Multicast geflutet wird, wenn man einen TV-Sender schaut.

Das spürt man sehr gut, wenn man über den am ER-X angeschlossenen Ubiquiti UniFi AP-AC-LR surfen will oder bspw. eine SSH-Verbindung aufgebaut hat. Zwischen dem Druck einer Taste und dem erscheinen des Buchstabens in der Shell gibt es eine spürbare Verzögerung.

Damals war ich der Meinung, dass mein Turris Omnia hier zu Hause mit IPTV Multicast zu schlage kommt, weil ich solche Probleme initial nicht wahrnahm. Doch auch mein Netzwerk wird in Mitleidenschaft gezogen, und auch hier spüre ich es primär mittels Verbindungsproblemen mit dem UniFi Access Point. Da ich direkt nach dem Turris Omnia einen UniFi Switch US-8-60W angeschlossen habe und die Interface-Statistiken mit Cacti aufzeichne, kann ich das Problem einfach visualisieren — an Hand des Matches der Schweizer Nationalmannschaft gegen Japan am Freitag, 8. Juni 2018 ab 19 Uhr (wir schalteten uns ein paar Minuten später zu):

Man sieht auf den Graphen sehr gut, dass Multicast auf allen Interfaces des Switches einschlägt, egal, ob das Netzwerkgerät dahinter den Stream schaut oder nicht.

Was ich jetzt zudem auch noch realisiere: Meine Sonos PLAYBASAE, der SUB und die beiden Sonos PLAY:1 hatten Probleme mit der Audio-Wiedergabe von IPTV-Streams. Ich dachte, dass dies entweder an den Streams selber oder aber den Apps liegt, welche ich verwendet habe. Mir schwant nun aber, dass die PLAYBASE das Audio auf Grund des Multicast-Floodings eifach nicht schnell genug über den UniFi Access Point (d.h. per WLAN) zum SUB und den zwei PLAY:1 senden konnte.

Der Match lief bei uns über die App iPlayTV auf dem Apple TV 4 (mit Ethernet am UniFi-Switch angeschlossen) via HDMI auf unserem Panasonic Plasma in der Stube. Hierzu verwende ich udpxy, welches auf einem Linux-Server Intel NUC läuft, welcher ebenfalls am UniFi-Switch angeschlossen (dies nicht aus Spass; iPlayTV kommt mit der M3U8 respektive dem Multicast-Stream direkt von TV7 irgendwie nicht klar). D.h. udpxy empfängt Multicast, wandelt es in einen Unicast-Stream um und sendet diesen an den Apple TV.

Mitten im Spiel entschied ich mich, den Apple TV direkt an einen der vier freien Switch-Ports des Turris Omnia zu hängen (jetzt, als ich diese Zeilen schreibe, realisiere ich gerade, dass ich eigentlich den NUC dort hätte anhängen sollen, da er ja der Multicast-Empfänger war — und nicht den Apple TV). Das änderte an der Multicast-Flut nichts (wie auch, der Multicast-Empfänger war immer noch am Switch angehängt — ich Depp!).

Der Turris Omnia aber hat gemäss Kommandozeile IGMP-Snooping aktiviert:

$ cat /sys/devices/virtual/net/br-lan/bridge/multicast_snooping
1

Quellen: How can I enable IGMP Snooping in OpenWRT? sowie IPTV / UDP multicast

Schlussendlich nach viel Googlen dann die Erkenntnis: Ich musste IGMP Snooping noch auf meiner Ubiquiti-Netzwerkinfrastruktur aktivieren! Das macht man über den UniFi-Controller:

  1. Login auf die Web-Oberfläche des UniFi-Controllers
  2. Settings
  3. Networks
  4. Edit
  5. [x] Enable IGMP Snooping

Et voilà! Auf den Cacti-Graphen sind man in der Detail-Ansicht sehr schön, dass ich um spätestens 20:45 Uhr IGMP Snooping auf dem Switch aktiviert hatte:

Der Multicast-Stream mit locker 15 Mbit/s kommt immer noch über den Router auf dem Switch rein (Port 1, mit „TURRIS OMNIA“ bezeichnet), doch er wird nur noch an Switch-Port 3 weitergereicht, an welchem der NUC hängt, auf welchem udpxy läuft und den Multicast-Stream in Unicast umwandelt. Die anderen Ports werden mit Multicast sinnvollerweise nicht mehr bedient, und deshalb bricht die blaue Linie (Outbound-Traffic, d.h. in Richtung des angeschlossenen Netzwerkgerätes) fast gegen Null ein.

Was ich jetzt noch mache: Ich hänge den NUC auch noch direkt an einen freien Ethernet-Port des Turris Omnia. Dann gibt es eigentlich keinen Grund mehr, wieso Multicast-Traffic überhaupt bis zum UniFi-Switch gelangen sollte (ausser ich streame diesen bspw. auf meinem per Ethernet angebundenen iMac im Büro).

Tags: , , , , , , , , , , , , , , ,
Labels: IT

1 Kommentar | neuen Kommentar verfassen

Samstag, 14. Oktober 2017

Sonos Play:1 haben unterschiedliche Hardware-Versionen

Wieso das eine Rolle spielt? Offenbar kann man bei den älteren Modellen sofort aufhören, auf AirPlay 2-Unterstützung zu hoffen:

  • Good: One, Playbase, Play:5 (gen 2)
  • Bad: Play:1 (hardware 1.8x no, 1.20.x yes)
  • Ugly: Play:3, Play:5 (gen 1), Playbar, Connect, Connect:Amp, Sub

Quelle: Airplay 2 not coming to all Sonos speakers

Mit meiner Play:5, 2. Generation, bin ich offenbar auf der sicheren Seite.

Doch wie schaut es mit meinen insgesamt vier über die Wohnung verteilten Play:1 aus? Hier hilft die Sonos Desktop-App, die Hardware-Versionen zu identifizieren:

  • Sonos
  • About My Sonos System

Fazit: Zwei Mal 1.20.1.6-2, d.h. „yes“ (was auch immer Vowe damit meint), zwei Mal 1.8.3.7-2, d.h. „no“.

A propos: Meine Play:5 hat Hardware-Version 1.13.1.7-2.

Tags: , , , , , ,
Labels: Apple, IT

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 23. Juli 2017

eSpeak zu einer weiblichen Stimme verhelfen

Momentan pröble ich daran herum, automatisch generierten, von einem Computer gesprochenen Text auf unseren Sonos-Lautsprechern auszugeben. HAL für zu Hause, sozusagen.

Dank der fantastischen Python-Bibliothek SoCo gepaart mit espeak grundsätzlich keine Hexerei.

Leider gab es in der derzeit laufenden Beta-Phase Probleme mit dem WAF — dem Wife Acceptance Factor.

Die blechern klingende männliche Roboterstimme habe ich nun mit folgenden Parametern zu einer Frauenstimme umgewandelt. Gruselig sei es immer noch, heisst es nun, aber die Stimme ist immerhin nun klar weiblich:

espeak -ven-us+f4 -s 140 -w "/var/www/html/sonos/sonos-alert.wav" "Red Alert. Wife approaching."

Quelle: Female Voice using eSpeak

Tags: , , , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 4. Mai 2017

Preisreferenzen von gebrauchten Geräte für meine AlleKleinanzeigen-Suchen

Vor einigen Tagen bin ich auf die Meta-Suchmaschne AlleKleinanzeigen.ch gestossen. Mit dieser Suchmaschine kann man die gängigsten Schweizer Angebots-Plattformen für Kleinanzeigen wie Ricardo.ch, Tutti und Anibis durchsuchen. Man findet so innert Sekunden heraus, ob ein gebrauchter Artikel irgendwo in der Schweiz verfügbar ist oder nicht — und zu welchen Preisen.

Das Beste: Man kann sich eine Suche nach bestimmten Wörter auch per E-Mail abonnieren — das bedeutet, dass auf einer der durchsuchten Plattformen ein neuer Artikel online gestellt und von AlleKleinanzeigen.ch indexiert wurde, eine E-Mail an den Abonnenten ausgelöst wird. Völlig kostenlos, selbstverständlich.

Ab sofort kann ich die Suche nach Geräten und Gegenständen automatisieren, welche ich nicht sofort benötige, sondern erst dann, wenn mir ein preislich ansprechendes Schnäppchen vor die Flinte läuft.

Damit ich aber sicher bin, ein Schnäppchen zu machen, musste ich mir zuerst einmal herausschreiben, was der Neupreis eines Geräts beträgt. Dieser Blog-Post hilft mir dafür als Langzeitgedächtnis.

KitchenAid Mixer Artisan KSM150

Das günstigste Angebot im Mai 2017 war ein oranger tangerine KitchenAid Artisan KSM150 (5KSM150PSETG) bei Venova für 420 CHF. Im Februar 2017 fand ich beim selben Shop sogar ein identisches Gerät in der äusserst hässlichen Farbe „Terracotta“ — für 380 CHF, also noch einmal 40 Stutz günstiger.

Somit ist klar, dass ein solches gebrauchtes Gerät unter 400 CHF kosten sollte, damit es sich lohnt, auf die zweijährige Garantie zu verzichten.

KitchenAid Mixer Classic K45

Die günstigste Variante bei einem renommierten Online-Shop (Galaxus) kostet 377 CHF.

Mir ist übrigens aufgefallen, dass KitchenAids jeweils vor Weihnachten mit „Aktionen“ angepriesen werden — Coop bewarb im Dezember 2016 beispielsweise ein ähnliches Set für 799 CHF. Was ich mir deshalb gemerkt habe: Gerade bei diesen Küchengeräten ist es ratsam, die Marktsituation ausreichend abzuklären, sonst zahlt man locker einige hundert Franken drauf.

Sonos Play:1, Play:3 und Play:5

Für einen DINK-Haushalt würde es eigentlich zum guten Ton gehören, diesen mit Lautsprechern von Sonos ausgestattet zu haben. Wie man dabei vorgeht, hat mein Lieblings-Gadget-Blogger vowe in einem Artikel „How to get started with SONOS“ beschrieben. Sonos hat den Weg noch nicht zu uns gefunden, weil die Dinger schlichtweg zu teuer sind.

Vielleicht ändert sich das ja bald, sobald ich ein paar Schnäppchen erstanden habe. Dazu müssen diese folgende Preise stark unterschreiten:

Toppreise-Suche nach Sonos (nach günstigstem Betrag geordnet)

  • Play:1 (Single) für 214.95 CHF (microspot)
  • Play:1 (Bundle) für 409 CHF (digitec), sprich für 204.50 CHF/Stück
  • Play:3 296 CHF (microspot)
    Am 4. Mai gab es auch eine „wiederaufbereitete“ Version für 269 CHF
  • Play:5 (zweite Generation) 517 CHF (microspot)

Tags: , , , , , , , , , , , ,
Labels: Schweiz, Shopping, Web

Keine Kommentare | neuen Kommentar verfassen