Hoe ik toch Spotify op mijn WiFi speaker kreeg

In mijn vorige artikel, beschreef ik het probleem van de Medion P69055 WiFi multiroom speaker en Spotify connect. Deze speaker zou Spotify connect moet kunnen ondersteunen, maar door een ontbrekende firmware upgrade, is deze feature niet te gebruiken. Naar mijn mening een gemiste kans van Medion. Maar hoe dit op te lossen? Uiteindelijk heb ik ervoor gekozen om gewoon de audio line-in van de speaker te gebruiken en hier een goedkoop apparaat op aan te sluiten dat Spotify wel ondersteund. In dit artikel geef ik drie voorbeelden van zulke oplossingen.

1. Een netbook of laptop met Volumio en de Spotify plugin.

In mijn eerste artikel op deze blog en eerste video op mijn YouTube kanaal, heb ik laten zien hoe je van een oude intel gebaseerde laptop of netbook een audioplayer kan maken, die je kan bedienen via een webinterface op je smartphone of PC, terwijl de laptop zelf gesloten is en uit het zicht is. In dit geval gebruik je een dergelijke setup en sluit je die aan op de speaker en voila. Voordeel: Goedkoop als je nog een laptop/netbook en SD kaartje hebt liggen. Nadeel: Zelfs een kleine netbook heeft nog steeds een flinke afmeting en is misschien niet gemakkelijk uit het zicht te plaatsen.

2. Chromecast Audio

Met een prijs van minder dan €40, is de Chromcast audio een goedkope en simpele oplossing om Spotify op welke speaker dan ook te krijgen. Het is ook een klein appaat. Het krijgt zijn voeding via een micro usb port en met een extra accesoire kan je hem ook aansluiten op je audio systeem met een SPIF glasvezel kabel. De installatie is simpel en een connectie met je WiFi is zo gemaakt. Je kan hem ook zo instellen dat je vrienden toegang hebben tot de Chromcast met hun eigen android smartphone. Leuk voor een avondje muziek uitwisselen.

De Chromecast audio is wel puur android smartphone gericht. Zo is de Chromecast niet zichtbaar voor ander apparaten met de Spotify software, tot dat je hem activeert via de Spotify app on een android telefoon, door het afspelen van een track. Op de PC of laptop kan je dat omzeilen door in de Chrome browser de Chromecast extensie te installeren en de web player van Spotify te gebruiken om muziek af te spelen. Voordeel: Relatief goedkoop, klein en gemakkelijk te installeren. Nadeel: Erg gericht op enkel android telefoons.

De Chromecast audio

3. Doe het zelf project: Een Raspberry Pi zero met een digitale naar analoge audio converter

Mijn laatste oplossing is een heel ander beestje. Het is zeker niet de goedkoopste oplossing van het stel en je moet er ook voor SOLDEREN. Laat ons eens kijken wat hiervoor allemaal nodig hebben:

  1. Een Raspberry Pi zero. Dit is meest minimalistische, kleinste en goedkoopste van de Raspberry Pies. Vanwege zijn populariteit, is het niet zo eenvoudig om er de hand op te leggen. De drie webshops waar je ze kan krijgen, verkopen er ook meer één per klant. Er is een handige website om te zien welke webshop ze in voorraad heeft: whereismypizero.com. Een enkele Pi zero cost ongeveer €5, maar meeste winkels bieden hem aan in kleine project kits van tussen de €15 en €35.
  2. De Pimoroni pHAT DAC. Dit is een digitaal naar analoge audio converter met dezelfde PCB afmeting als de Pi zero. Het maakt gebruik van dezelfde audio chipset als de veel duurdere HiFi Berry boards, die de afmeting van een “gewone” Raspberry Pi hebben. Een enkel pHAT DAC bordje is beschikbaar voor een prijs tussen de €14 en €20.
  3. GPIO headers. De Pi zero en de pHAT DAC hebben geen voorgemonteerde GPIO headers enkel rijen soldeer gaatjes. Dus er moet gesoldeerd worden om deze te kunnen gebruiken. Dit geeft je wel de vrijheid wat betreft in wat voor configuratie je de Pi zero en pHAT DAC met elkaar gaat verbinden. Dit kan afhangen van de toepassing en wat voor behuizing je wil gebruiken. Ik heb strips van mannelijke GPIO pins op de Pi zero gesoldeerd en een vrouwlijke connector op de pHAT DAC. In principe gebruikje maar 5 pins voor de verbinding met de pHAT DAC, maar ik heb toch gewoon een 20 pins verbinding gemaakt voor de stevigheid.
  4. Een Raspberry Pi compatible WiFi dongle, met een micro USB connector of een normale met een verloopje van USB naar micro USB. Dit kost je tussen de  €5  en €10 afhankelijk van de webshop. De Pi zero heeft jammer genoeg geen WiFi aan boord zoals de Raspberry Pi 3.
  5. Een classe 10 micro-SD card van 8 Gb of meer, om de OS met software op te zetten.
  6. Een handige behuizing om alles in te stoppen. I ben uiteindelijk voor deze kleine behuizing van polycarbonaat gegaan, die ik op Amazon tegen kwam. Hij moet een beetje aangepast worden om toegang tot de 3.5 mm jack van pHAT DAC te hebben en het is precies gepast met de pHAT DAC bovenop de Pi zero. Maar het is een goed uitziende behuizing met vrije toegang tot alle poorten en niet onbelangrijk het SD kaart slot. Iets wat veel andere behuizingen ontbreekt.
  7. Een stroomapdapter met micro USB van 5V en 2 A, om de Pi zero van stroom te voorzien.
  8.  Optioneel: een USB hub die ook een Ethernet connector heeft, voor de initiele installatie van de audio software op de Pi zero voor dat er overgeschakeld kan worden naar WiFi. De software die ik gebruik en verderop beschrijft geeft te mogelijkheid om WPS te gebruiken om bij de eerst opstart automatisch met je Wifi netwerk te verbinden, maar ik vond dit nog al een onbetrouwbaar gegeven. Met een bekabelde netwerk verbinding, ben je zeker dat het werkt bij de eerste keer opstarten.

    De Pi zero wireless audio kit zoals die word aangeboden door Pimoroni

Uiteindelijke heb ik gekozen om maar gewoon de Pimoroni pHAT DAC Wireless audio kit te bestellen. Deze bestaat uit de Pi zero, de pHAT DAC, de benodigde GPIO headers, een WiFi dongle met verloop van USB naar micro USB en een audio kabel met twee mannelijke 3.5 mm stereo jack plugs. Er zitten ook een aantal onderdelen in die ik niet perse nodig had, zoals een micro HDMI naar HDMI adapter, RCA connector om op de pHAT DAC te kunnen solderen als je kabel met tulp-stekkers zou willen gebruiken en USB naar micro USB kabel. Toch is het gezien de prijs van rond de €30 een goeie koop voor alle onderdelen die ik wel nodig had. Daarnaast heb ik nog wel een 5V 2A voeding gekocht voor ongeveer €6 en de USB hub voor net geen €10. De kleine behuizing koste me zo’n €6. Dan zitten we aan €52 euro zonder SD kaart, laten we zeggen €60 met.

Zo hoe zetten we dit in elkaar? Dit start met het solderen van de GPIO headers op de Pi-zero en het pHAT DAC bord. Voor instructies hoe zoiets doet kan ik YouTube aanbevelen, zoal deze video, deze of deze. Ik heb zelf gebruik gemaakt van kneedgum om het bord en the GPIO header stabiel op tafel te kunnen leggen voor het soldeerwerk. Als de GPIO pinnen en vrouwelijke connector bevestigd zijn kan je de pHAT DAC verbinden met de Pi zero. De volgende stap is dan de modificatie die nodig is aan het deksel van de behuizing. Met een stanley mes een schuurpapier staaf heb ik een spleet gemaakt voor de audio line-out connector van de pHAT DAC. Het resultaat was eerder functioneel dan esthetisch te noemen, maar ik heb jammer genoeg geen Dremel to mijn beschikking. Het moet trouwens een spleet zijn omdat het dekel over de pHAT DAC heen moet en precies de afmeting van het bord heeft. De audio jack connector steekt er juist een beetje aan de zijkant uit. Met deze aanpassing kan de Pi zero met pHAT DAC in onderkant van de behuizing gedaan worden en de bovenkant er op. De behuizing kan nu netjes dicht geklikt worden. Hiermee is in elkaar zetten zover gebeurd. Er zijn ook nog elders op intenet uitleg te vinden hoe je een Pi zero met pHAT DAC in elkaar zet zoals bijvoorbeeld deze.

De Pi zero / pHAT DAC combinatie in de behuizing. De sleuf om de bovenkant van de behuizing is over de pHAT DAC heen te schuiven is niet mooi maar functioneel.

De volgende stap is om de SD kaart voor te bereiden met de benodigde OS en software. Zoals ik al eerder heb geschreven, is er heel wat keus in software zoals Volumio, Mood-audio en Rune audio. Voor dit project kwam ik echter uit op Max2play, die echt gericht is op multiroom speaker functionaliteit. Ook ondersteund het Logitech Media Center (LMS) dmv Squeezeplayer. Ik was al bekend met LMS omdat ik een Logitech Squeezbox duet in gebruik had en LMS met de Spotify plugin al draaide op één van mijn linux PCs. LMS geeft ook de mogelijkheid tot het gesynchroniseerd afspelen over meerdere via WiFi verbonden systemen. Dit is bijvoorbeeld ideaal als je een feestje houd en meerdere ruimtes in huis dezelfde muziekale achtergrond wil geven.

De installatie van Max2play is simpel. Download de benodigde image van de Max2play website ( In dit geval de image met Hifi-berry support) en schrijf deze naar een SD kaart. Steek de SD in de Pi zero, sluit de USB hub aan op de micro USB poort voor perifere apparaten van de Pi zero. Steek op de HUB de Wifi dongle en sluit ook een ethernet kabel aan, verbonden met je netwerk. Nu kan de Pi zero opgestart worden door de 5V 2A voeding in het stopcontact te steken en aan te sluiten op de micro USB poort voor voeding op Pi zero. Ga naar een ander computer, open de browser en type dan volgende url: max2play/ en voila de Max2play setup interface wordt geladen. In deze interface kan je je WiFi SSID en wachtwoord invullen, Squeezeplayer activeren en aangeven dat je een Hifi-Berry (PI A/B) als output wil gebruiken om de pHAT DAC audio out te activeren. Deze eerste stappen worden ook duidelijk in deze video van Max2play uitgelegd. Hierna kies je in dezelfde interface de optie om de Pi zero uit te schakelen. Nu kan de USB hub ontkoppeld worden en de WiFi dongle rechtstreeks op de Pi zero worden aangesloten. Dan nog een audio kabel van de pHAT DAC naar de in mijn geval de Medion P69055 speaker, de line-in selecteren en de pi-zero terug opstarten door voeding uit en terug in het stopcontact te steken. Voila nu hebben een WiFi speaker met Spotify die ik kan bedienden met mijn smartphone en nog belangrijker met de Logitech Squeezbox duet controller, die ik al in gebruik had voor het bedienen van mijn HiFi in de woonkamer. Jammer genoeg kreeg mijn oude trouwe controller na enkele maanden problemen met de oplaadbare batterijen, maar dat is voor een andere keer.

Voordelen: Een meer flexibele oplossing en het goede geluid van een kwalitatieve DAC. Nadelen: Duurder dan de Chromcast en je moet hem zelf in elkaar zetten, maar voor mij is dat juist de charme!

Conclusie

Dit zijn dus een drietal mogelijke oplossingen om toch Spotify op een Medion P69055 te kunnen gebruiken, maar dit is natuurlijk toepasbaar op elk audiosysteem met een line-in. Het goedkope van deze oplossingen is natuurlijk relatief. Alleen als je nog een oude laptop/netbook heb liggen is de oplossing met Volumio echt goedkoop. De Chromecast en Pi-zero zijn met respectivelijk €40 en €60 natuurlijk niet echt goedkoop, zeker als je kijkt dat het is om een speaker te fixen die me ook al indertijd bijna €100 euro heeft gekost. Maar goed, nu werkt het uiteindelijk zoals ik wou! Je zal misschien zeggen dat geen van de oplossingen technisch gezien een Spotify-connect oplossing is.  Ja dat is waar, alle drie maken ze het mogelijk om Spotify te gebruiken, maar ze gebruiken geen van drie het Spotify-connect protocol. Dit protocol wordt op dit moment uitgeplozen door allerlei enthousiatelingen, dus ik ga er vanuit dat in ieder geval op de Raspberry pi deze oplossing op termijn beschikbaar komt. Ik ga hier zeker een oogje op houden.

Ik zelf vind de Raspberry Pi zero pHAT DAC combinatie de beste omdat deze het meest flexibele qua software is en helemaal naar eigen smaak in te stellen is. Wil je bijvoorbeeld ondersteuning voor Apple Airplay of Google Music gebruiken ipv Spotify? De Pi met Max2play bied de mogelijkheid. Wel een ding dat je met dit apparaatje in de gaten moet houden is dat je een stabiele voeding gebruikt om de Pi zero en pHAT DAC van stroom te voorzien. DACs zijn erg gevoelig voor fluctuaties in de voeding, dus gebruik van een twijfelachtige voeding kan verstoringen van de geluidskwaliteit veroorzaken. Zo heeft de Medion P65099 op de achter kant ook een USB poort voor het opladen van toestellen, maar als je die gebruikt als voeding voor de Pi zero met pHAT DAC, maar ook bij de Chromcast, dan zal je achterground ruis horen in stillere passages van je muziek. De echte audiofielen gebruiken dan ook speciale voedingen die een linieare spanning en amperage leveren, om verzekerd te zijn van de beste geluids kwaliteit. Dat is in dit geval wel een beetje erover. Er zijn ook nog andere apparaten verkrijgbaar vergelijkbaar met de Chromcast die wel het Spotify connect protocol ondersteunen. Zoals daar zijn de Fon Gramofon en de Rocki. Beide hebben wel een vraag prijs die start bij €65 euro. De Rocki een voormalig Kickstarter project, kreeg echter slechte reviews, met moeilijke installatie, slechte support en smeltende batterijen. De Gramofon vind ik erg intrigerend omdat deze van dezelfde Quallcomm Allplay technologie gebruik maakt, die zou moeten zorgen dat de Medion P65099 speaker Spotify connect zou moeten ondersteunen. Maar de slechte beoordelingen van de geluidskwaliteit en prijs maakt dat ik het hem maar laat voor wat het is.

The Fon Gramofon

Audio streamen naar je HiFi? Gebruik een oude laptop!

logitech_duet

Logitech Squeezebox Duet.

Waarschijnlijk ben ik niet de enige, die een kast vol CDs heeft staan, mapjes met tussen de 10 en 100 Gb aan MP3s en nu vooral zijn muziek via een streaming dienst zoals Spotify consumeert. Vooral voor die laatste twee geld dat ze vooral geënt waren op persoonlijk gebruik via een mp3-speler, ipod dan wel je smartphone met dopjes in je oren. Als je iets via je Hifi wil spelen wordt misschien nog steeds teruggegrepen naar de gewone FM radio of een CD. Ondertussen zijn er natuurlijk allerlei oplossingen gekomen om vooral je MP3s ook via je Hifi te kunnen afspelen. Versterkers met usb ingangen of zelfs netwerk en wifi aansluitingen die DLNA ondersteunen zodat MP3s in een folder op je computer of netwerkopslag afgespeeld kunnen worden.

Zo heb ik zelf in 2009 de Logitech Squeezebox Duet aangeschaft. Deze oplossing bestaat uit twee kastjes, één (reciever) voor bij je Hifi set de andere controller is een afstandsbediening met een I-pod-achtige jog button om door de verschillende menu’s te gaan. De twee kastjes gebruiken wifi (of bekabelde netwerk aansluiting in het geval van de reciever) om met elkaar te praten en een PC met je mp3 collectie die een speciale server software draait. Zeker in de begin tijd geen stabiele en eenvoudige te configureren oplossing.

Als je nu ook streaming diensten wil kunnen afspelen, moet je weer een volgende stap maken ( In het geval van de Squeezebox viel dit mee, maar hierover in een ander artikel misschien meer). Je kan je smartphone natuurlijk rechtstreeks op je Hifi aansluiten, maar echt handig is dat niet, of je moet weer een volgende investering doen in apparatuur die klaar zijn voor streaming diensten. Tegenwoordig zijn er natuurlijk legio wifi speakers te koop, waarbij SONOS de bekendste is, maar zeker niet de goedkoopste. Heel wat techneuten hebben dan ook doe-het-zelf  alternatieven bedacht.

raspberry_pi_3

Raspberry Pi revision 3.

Hierbij lijkt vooral de komst van de Raspberry Pi een katalysator te zijn geweest voor allerlei oplossingen om op een simpele manier je audio te kunnen streamen naar Hifi. Voor wie het niet weet: De Raspberry Pi is een relatief goedkoop minicomputer-bordje (~€35 zonder behuizing) van creditcard formaat. We zijn ondertussen aan versie 3 van deze computer aan beland. Deze heeft een micro-SD card slot om je software op te zetten en verder een HDMI uitgang, audio/video jack, één mirco usb voor de stroomvoorziening en verder een Lan poort, 4 full size USB poorten, Wifi en Bluetooth. Verder heeft de Raspberry Pi de zogenaamde “general purpose input/output pins” of kortweg GPIO pins. Deze kunnen gebruikt worden om allerlei zaken aan te sturen. In het geval van Hifi zijn er mooie oplossingen om hierop kwalitatief goede digitaal naar analoge audio converteerders op te plaatsen, die een superieure geluidskwaliteit geven, t.o.v. de on-board audio. Voorbeelden daar van zijn de Hifiberry reeks en de Pomorino Phat DAC.

Leuk stukjes hardware zal je misschien denken, maar hoe zit het met de software? De Raspberry pi heeft een fantastische gemeenschap van tweakers die zowel hardware als software ontwikkelen en delen, veelal open-source, freeware. Als het gaat om zogenaamde “standalone” of “headless” audio players is er wat keuze. Zo is er Max2play, die ook ondersteuning voor multi-room speaker setups bied en drie andere pakketten die een gedeelde ontstaansgeschiedenis hebben: Moode audio, Rune audio en Volumio. Terwijl Max2play, Mood en Rune audio allemaal echt gericht zijn op enkel de Raspberry Pi en soort gelijke minicomputers, heeft Volumio twee extraatje: Ondersteuning voor intel computers, of te wel: Ieder oude PC of Laptop die misschien nog hebt staan/liggen en een Spotify plug-in.

eeepc4g

ASUS eee PC 4G, een van de eerste netbooks.

In mijn geval had ik nog een kleine netbook van het eerste uur liggen en ik was benieuwd of Volumio op zo’n machientje zou draaien of niet. Het gaat om de Asus eeePC 4G, zie hier voor de specificaties. De aanwezige ram van 500 mb had ik wel vervangen voor 1 Gb. De interne opslag van 4Gb houd ook niet over, maar die hebben in dit geval niet nodig, omdat Volumio draait vanaf een SD-kaartje. Het zou mogelijk moeten zijn om Volumio op de interne opslag te zetten, maar dit is (nog) omslachtig.

Op zich is de installatie redelijk recht toe recht aan en staat duidelijk op de Volumio website vermeld, maar ik heb er ook een YouTube video gemaakt die je hieronder kan bekijken. Op de Volumio website moet je de juiste SD-disk image downloaden, de intel (x86/x64) versie in dit geval. Daarna, met een software tool zoals Win32imager of Rufus, op een SD kaart zetten van minimaal 4Gb en Class 6. Over het algemeen wordt een class 10 kaartje geadviseerd, maar ik had enkel een class 6 liggen en die werkte uitstekend. Nu is het enkel een kwestie de laptop om van de SD kaart op te starten. Hiervoor zijn meestal wat aanpassingen in de bios instellingen nodig. Daarna is het vooral wachten terwijl Volumio klaar is voor eerste gebruik. Dit duurt op dit apparaat een heel tijdje, opstarten daarna gaat een stuk vlotter.

Volumio is vooral bedoeld als “headless” audioplayer, wat betekend dat je hem met een web-interface bedient via je PC, laptop, tablet of smartphone. Hiervoor gebruik je in je webbrowser de URL: /volumio.local of het IP adres van je volumio machine. Natuurlijk heeft deze laptop een scherm en is hij dus ook te bedienen via het eigen scherm. Dit is vooral handig als je wifi wil gebruiken en de eerste keer de wifi moet configureren. Ik merkte verder wel dat interface op de laptop zelf een stuk slomer was via de web-interface op een ander PC of smartphone. Op zich wel frappant. Via de (web)interface kan je verder andere zaken configuren zoals de connectie naar mappen met audiobestanden en natuurlijk installeren en instellen van de Spotify plugin. Voor die laatste heb je wel een Spotify premium account nodig. Zoals je zal zien in de video werkt Volumio met Spotify naar behoren op dit minimale laptopje, dus als je iets minder ouds heb liggen, zou het ook moet en werken, zou ik zeggen.

Enig dingetje waar ik tegen aan liep is dat je je laptop natuurlijk met het scherm dichtgeklapt, als echte “headless” audioplayer zou willen gebruiken. Dan kan je hem op je Hifi set aansluiten en verbergen. Jammer genoeg gaan veel laptops in een slaapmodus als je het scherm dicht doet en dan stopt je muziek. Niet handig, maar hiervoor heb ik een “hack” gevonden. Volumio is linux gebaseerd en je kan met de softwaretool PuTTy (windows) een zogenaamde SSH connectie maken en dan commandos geven aan de achterliggende linux besturingssysteem. Op die manier kan je alle slaap en suspend modi uitschakelen en blijft de muziek spelen. Ik laat dit ook in mijn Youtube video zien. Na ingelogd te zijn via SSH (Putty) op het IP adress van je Volumio machine, met user: Volumio en wachtwoord:Volumio moet je volgend commando geven:

systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

Gevolgd door een druk op <enter>. Dit zal alle slaap modi in je instellingen uitschakelen. Het is dan dus wel zaak om je laptop altijd met stekker in het stopcontact te houden, de batterij zou anders gewoon leeglopen en  stroomuitval kan je SD kaart beschadigen. Succes!