Multizone audio na raspberry pi


Už nějakou chvíli jsem chtěl doma implmentovat multizone audio. Chci mít možnost hrát ve vybraných místnostech různé zvuky ze sdíleného disku a to vše chci ovládat z telefonu či tabletu.

K tomu to účelu se nabízí protokol UPnP. Tento protokol již doma používáme k přehrávání médií ze sdíleného disku na tabletech a mobilech. Dnes se rádia, co umí UPnP, pohybují od 3tis. Kč. To je docela dost na to, že rádio jako takové mě nezajímá a využil bych jen funkci UPnP. Naštěstí už je tu nějaký ten rok deska Raspberry PI a já měl zrovna jednu starou (již nepoužívanou) ve stole. Malina tak bude zastupovat jednu zónu.

Přikoupil jsem wifi klienta do USB (nějaký TP-LINK za 300) a použil starší Genius repráčky – ty pamatují ještě windows na mém tehdyPC.

Na pi jsem nainstaloval  (např.) arch linux a začal jsem hledat UPnP Renderer – renderer je v ternimologii UPnP přehrávač, kterému někdo(používám BubbleUPnP na androidu) řekne, co má přehrávat.

 

Znovuobjevil jsem nejlepší přehrávač hudby MPD a kněmu frontend upmpdcli – UPnP renderer, který ale pod povrchem pouze ovládá MPD server.  upmpdcli spolu s BubbleUPnP implementují i protokol OpenHome – jde o rozšíření UPnP o killer featuru. Klasické UPnP totiž neumožňuje poslat rendereru playlist. Klient tedy pošle rendereru adresu streamu, co je třeba přehrát a pak čeká, než renderer skončí a případně pošle další stream. To samozřejmě vyžaduje, aby byl klient neustále zapnutý, chceme-li poslouchat více než jeden track. OpenHome toto řeší – je tedy možné v klidu naplánovat klientem celý playlist a pak vypnout telefon a užívat si líbezných zvuků.

Díky rPi jsem za náklady hrubě pod 3 tisíce získal i modularitu (jednoho dne vyměním staré Geniusy za něco lepšího)

Teď už mi jen chybí další 2 raspberry pi pro vybavení např. koupelny a záchodu.