Freitag, 24. August 2012

HomeAutomation ist auch "Audio in jedem Raum" (Multi-Room Audio) - Teil 1

Ich brauche zu Hause immer eine Geräuschkulisse, am liebsten in jedem Raum. Deshalb haben wir in unsere Homeautomation auch schon frühzeitig Lautsprecher und deren "Bespielung" eingebaut.

Anfänglich (als es noch kein Alsa mit DMIX und TTABLE gab) habe ich EsounD (ESD) dazu genutzt, den Stereo-Kanal einer Soundkarte in zwei getrennte Mono-Kanäle aufzuteilen, die an zwei Verstärker in unterschiedlichen Räumen angeschlossen waren.

Auf diese Weise mit dem spärlich Dokumentierten (und längst nicht mehr weiterentwickelten) EsounD vertraut, habe ich bald auch die Netzwerkfähigkeit von ESD dazu genutzt, Audio in alle Räume zu bringen.

Zunächst liefen drei ESD über drei USB Soundkarten an einem NSLU. Ein günstiges 5.1 Verstärker-Set bekam auf diese Weise drei Input-Kanäle auf die einzelnen Boxen verteilt (vorn, hinten, center) und drei anliegende Räume konnten mit Sound versorgt werden.


Inzwischen sind die "embedded" Geräte sehr viel günstiger, so dass ich mir den Luxus leiste, für jeden Raum einen eigenen Audio Receiver vorzusehen. Die zusätzlichen Resourcen erlauben dann auch noch ein paar Goodies, wie z.B. Unterstützung von Apples AirPlay.


Webinterface (Sound)
Mein Setup sieht einen Server vor (AppleTV1), der in der Lage ist, mehrere MP3 Streams (früher auch RealAudio) zu dekodieren. Die Playersoftware bekommt über ein Wrapper-Script als Parameter mitgeteilt, wo das Audio auzugeben ist. Aufgrund der beschränkten Resourcen lege ich Wert darauf, sämtliche Vorgänge über die Kommandozeile durchzuführen.

Das Benutzerfrontend besteht aus einer Reihe von Scripts, die ein Webserver ausliefert.

Die Clients sind ausrangierte WLAN-Router bzw. NAS-Geräte, die über einen USB-Port eine Soundkarte bekommen und an Aktivboxen angeschlossen sind. So kann man sogar "WLAN-Lautsprecher" realisieren, ähnlich zu Apples AirPortExpress.

Doch der Reihe nach...