Samstag, 25. August 2012

HomeAutomation und Audio - final thoughts

Wie ich schon in Teil 1 bzw. Teil 2 geschrieben habe, ist PulseAudio eine interessante Alternative zu EsounD. Es ist nicht nur ein Drop-In Replacement für ESD, es wird zur Abwechslung auch mal konsequent weiterentwickelt.

Bisher habe ich mit PulseAudio v0.9.x getestet, inzwischen gibt es v2.0 und sogar vorkompilierte OpenWRT Pakete. Eigentlich ist es an der Zeit, mal 'was Neues zu probieren... ;)


PulseAudio beinhaltet extrem coole Features wie das Zusammenfassen von "Sinks" (Audioausgabegeräte) oder das Umschalten von Streams auf bestimmte Sinks. Ich habe bereits versucht, sämtliche ESD-Clients als ein Sink zusammenzufassen, um einen Stream synchron auf alle Lautsprecher auszugeben. Leider war das Ergebnis selbst für meine Ohren sehr unbefriedigend (extrem leiernder Sound).

Das "move-sink-input" erlaubt es, einen Stream von einem Sink auf einen anderen umzuschalten - ein tolles Feature z.B. für follow-me Audio. Dies käme auch der intuitiven Bedienung eines Interfaces zu Gute, man könnte den Stream einfach auf einen anderen Lautsprecher "schieben". Leider habe ich bisher noch nicht die Zeit gefunden, mir dafür ein vernünftiges Konzept zu überlegen. Zudem fehlen dem "pactl" Control-Programm viele Features, die nur die "pacmd" Command Line erlaubt. Diese jedoch ist wiederum recht kompliziert fernzusteuern :(

Abseits von PulseAudio gehen meine Bemühungen momentan dahin, einen UPnP Renderer für OpenWRT zu finden, um auch aus der nicht-Apple Welt Audio von mobilen Endgeräten streamen zu können. Leider waren meine Versuche bisher nicht von Erfolg gekrönt.

Die Referenz für UPnP-AV unter Linux scheint Rygel zu sein. Allerdings braucht es deutlich mehr als die zur Verfügung stehenden 4-8MB Flash aufgrund der vielen Abhängigkeiten zu GUPNP und GStreamer.

Ein Lichtblick war vor ein paar Monaten die Ankündigung UPnP Audio renderer released. Allerdings wird das Projekt offenbar nicht mehr weitergeführt. Der Versuch die aktuelle Version von m3player zu starten endet immer in einem Segfault. Evtl. ist die Source-Filter-Sink-Kette zu starr vorgegeben... Abgesehen davon bin ich mir nichtmal ganz sicher, ob die Software überhaupt ein generischer UPnP Media Renderer ist.

Mehr oder weniger funktionierende Renderer sind z.B. in den alten FRITZ!WLAN Repeater N/G enthalten sowie in den aktuellen Firmwares der Reciva Internetradios. Wenn es gelänge, an die Quellen dieser Software zu kommen...