Možná bude můj příspěvek trochu off topic, ale třeba se bude hodit tomu, kdo používá pro přehrávání hudby Audio PC a chtěl by zprovoznit přehrávání ze
Spotify bez použití jejich nativní aplikace.
Našel jsem a vyzkoušel dvě řešení:
- pomocí Mopidy
https://www.mopidy.com/
- pomocí upmpdcli
https://www.lesbonscomptes.com/upmpdcli/
Zrovna uvedu, že ani jedno z těchto řešení neposkytuje uživatelské rozhraní v plném rozsahu jako nativní aplikace Spotify a obě vyžadují placenou verzi služby.
Jak to celé funguje?
Poznámka" Následující popis je spíše "spotřebitelský" než přesný. Tak doufán, že mně znalejší IT lidi budou brát s rezervou.
Mopidy
Mopidy je aplikace, která je takovým integrátorem různých zdrojů pro přehrávání hudby. Jednotlivé zdroje se instalují jako pluginy, případně jsou již součástí základní instalace Mopidy. Vyzkoušel jsme zprovoznit tyto:
- "file", jednoduché procházení sdílených složek (v mém případě po síti)
- "local", což se jeví jako média server (nevýkonný a celkem nezajímavý)
- TuneIn, internetí rádia
- Spotify
K ovládání Mopidy jsem použil stejnojmennou aplikaci pro Android, dá se nainstalovat standardně pomocí Play. Samotná aplikace funguje dobře, zejména je šikovné hledání podle různých kritérií ve Spotify. Plugin pro Spotify však z nějakých důvodů nepodporuje přístup na "My Library" - to mi dost vadilo.
Mopidy je potřeba nainstalovat na PC, které je připojeno na DAC, případně do zesilovače (to ovšem moc Hifi není
). Mopidy implementuje stejné rozhraní, jako má oblíbené mpd. Vzhledem k tomu, že aplikace přímo pro Mopidy mi připadá lepší než klienti pro mpd bych řekl, že je to docela zbytečné.... ale, je tady jedno zajímavé použití právě v kombinaci s upmpdcli (o tom dále). Pro tento okamžik stačí vědět, že Mopidy se dá také ovládat pomocí klienta pro mpd..
upmpdcli
Vysvětlit funkčnost upmpdcli je možná trochu složitější, ale jen o trochu
Je to celé taková skládačka.
Začněme od konce. Takže máme typicky DAC, do kterého je připojeno audio PC. Naší "hifi" snahou je,aby toto audio PC provozovalo co nejméně aktivit - ideálně nějaký ultra jednoduchý přehrávač, kterým je v našem případě osvědčený mpd.
A tady je potřeba si říct, že mpd není jen přehrávač, ale také server, který může posloužit k prohledávání hudební knihovny. K mpd existují různé aplikace pro jeho ovládání. Zkusil jsem různé - nebudu to pitvat, jen uvedu, že to není nic, co by mne jako uživatele nadchlo, hledal jsem něco lepšího pro přístup ke knihovně hudby. Takže mé doporušení je nepoužívat funkcionalitu mpd pro správu knihovny - nechme jej jen ve funkci ryzího přehrávače, který z "ovládacího prvku" převezme pokyn k přehrávání skladby (tzv. URI skladby).
A tímto ovládacím prvkem je právě aplikace
upmpdcli (klient pro mpd), kterou zde chci představit. upmpdcli může být nainstalována na stejném počítačí jako mpd, ale nemusí to tak nutně být. Já provozuji upmpdcli na Raspberry, které je nonstop zapnuté, zatímdo audio PC s mpd zapínám jen pro přehrávání hudby (pasívni PC s Intel I3, JCAT USB kartou, lienární zdroj, multiboot systém - AudiophileLinux, Audiolinux, Openelec, Windows10). Proč to tak dělám? Prostě se snažím naplnit vizi o eliminaci procesů na přehrávači (netvrdím, že je to slyšet
).
upmpdcli je přesně vzato "UpNp renderer" splňující OpenHome standard.
To, že to je renderer znamená, že na něj můžete směrovat přehrávání obsahu = uživatelsky je to pro nás "přehrávač" (upmpdcli -> mpd -> DAC).
A to, že je "OpenHome" znamená, že umožňuje pár věcí navíc:
- především je vlastníkem playlistu (queue - seznamu přehrávaných skladeb) - zní to možná jako nezajímavá technikálie, ale je to uživatelsky super věc - odpojíte ovládací aplikaci (následuje hned o kouset níže) a přehrávání skladeb pokračuje dále, a to nejen do konce aktuální skladby, ale i na další a další. Když se z jiné ovládací aplikace připojíte k upmpdcli, tak se Vám zobrazí playlist tam uložený
- OpenHome renderer umí být sám zdrojem doplňkového obsahu - typicky internetová rádia (zatím je nutno jejich seznam nachystat v prostředí Linux, nelze uživatelsky z rozhraní) a v poslední verzi upmpdcli ještě navíc Spotify (a také třeba Tidal). Mám rozchozené Spotify - jeho funkčnost je relativně omezená, ale pro mé použití dostačující. Především je možno se doklikat do "My Library" ve Spotify, takže když si pomocí standardní Spotify aplikace vytvoříte v MyLibrary odkazy, tak je potom lehce použijete pro spuštění přehrávání prostřednictvím upmpdcli. Vyhledávání přímo v prostředí upmpdcli funguje trochu divně - nelze napřklad přejít na seznam vyhledaných alb. Ale funguje přechod na interpreta (Artists), pak na jeho alba a potom ke skladbám. Jelikož si pouštím typicky celá alba, tak se dá přístup přes interpreta uspokojivě použít. Také je blbé, že nefunguje ze záložky aktuálně přehrávaného obsahu přejít na všechna alba interpreta... je to trochu polotovar, ale dá se s tím žít.
Pro úplnost nemohu vynechat další prvek skládanky, který sice nesouvisí se Spotify (resp. Tidal), ale všichni jej potřebujeme. Konkrétně se jedná o UpNp server, který nám zpřístupní hudbu uloženou na domácí síti (takže nějaký ten NAS je dalším prvkem do skládanky). Vyzkoušel jsem pár UpNp serverů a můj favorit je minimserver
https://minimserver.com/.
Je velice rychlý, nenáročný na HW a má šikovné přístupové cesty k obsahu - má všechno to, co mi chybělo u mpd v roli "serveru".
Já jej provozuji na Raspberry spolu s upmpdcli - zvládá to v pohodě (má knihovna má aktuálně cca 13 tisíc skladeb) - pořád tedy držím linii, že co nemusí běžet na audio PC běží jinde. Další praktická výhoda je ta, že ve svém druhém systému používám Naim Superuniti, který přehrává obsah z UpNp serveru (minimserveru) a tento je dostupný, i když je audio PC vypnuté.
Do skládačky už chybí poslední prvek - ovládací rozhraní (control point). Já používám BubbleUpnp (placená verza za hubičku) a BubbleDSNext - rozdíl je v tom, ze BubbleUpnp nemá implementovanou záložku na spouštění "Rádia", zatímco DSnext ano.
Prakticky to u mne vypadá tak, ze v prostředí aplikace si vybírám:
- zdroj hudby:
-- Minimserver (lokálně uložená hudba)
-- upmpdli-mediaserver (Spotify)
a
- cílové zařízení (renderer)
-- upmpdcli
-- Superuniti
Shrnutí
Control point (BubbleUpnp na mobilu) vybere obsah k přehrávání a sestaví pro OpenHome renderer (upmpdcli) playlist k přehrávání. Pak můžete mobil zahodit, playlist je dále řízen z upmpdcli. Můžete vzít jakoukoli jinou aplikaci s podporou Openhome standardu, připojit se k upmpdcli a získat informaci o aktálním playlistu a ovládat jej.
upmpdcli sice řídí playlist, ale sám není zdrojem dat pro přehrávání. upmpdcli vezme odkaz na skladbu nebo stream (tzv URI) a odevzdá jej mpd. mpd se pak propojí přímo na poskytovatele obsahu (například na minimserver, který je skutečným poskytovatelem dat z domácí audiotéky, anebo třeba odkaz na internetové rádio).
Poznámka na konec k Mopidy a Upmpdcli
Jak jsem dříve uvedl, Mopidy "rozumí" ovládacím pokynům pro mpd server. je tedy možná i taková instalace:
- na audio PC je nainstalované Mopidy, které Vám zpřístupní velice hezky například TuneIn rádia, případně Spotify (bez MyLibrary), případně data na disku..
- někam (audio PC anebo jiný stroj v síti) si nainstalujete upmpdcli, které dokáže ovládat Mopidy (rozumí mpd jazyku), a samo dokáže zpřístupnit obsah UpNp serverů a také Spotify (s MyLibrary)
Zkusil jsem to, fungovalo to, ale nakonec jsme u toho nezůstal. Přece jen Mopidy dělá zbytečně moc pomocných aktivit, než jen přehrávání hudby, a tím narušuje mou představu o "hifi" řešení
Toť vše
Poslední poznámka na konec: Všechny uvedené aplikace jsou zadarmo (případně za hubičku se zbavíte reklamy u BubbleUpnp). Jakmile se stanou součástí trvalého řešení, je fajn podpořit jejich autory.