ID.nl logo
Maak je eigen AirPlay-speakers met de Raspberry Pi 2
© Reshift Digital
Zekerheid & gemak

Maak je eigen AirPlay-speakers met de Raspberry Pi 2

Voor speakers waarop je muziek streamt via Apples AirPlay-muziekprotocol moet je diep in de buidel tasten. Voor een fractie van die prijs configureren we een Raspberry Pi 2 zodat hij AirPlay ontvangt en hangen we er losse speakers aan. In dit artikel leggen we je uit hoe je dit voor elkaar krijgt.

Stap 1 - Raspbian installeren

We gaan ervan uit dat je het besturingssysteem Raspbian op de Raspberry Pi 2 hebt geïnstalleerd (zie ook dit artikel). Heb je NOOBS gebruikt om een ander besturingssysteem op je Pi te zetten, zoals OpenELEC, dan is dat eenvoudig terug te draaien. Steek de voeding van je Raspberry Pi 2 in een stopcontact en houd onmiddellijk de Shift-toets ingedrukt om het installatieprogramma opnieuw te openen.

Stap 2 - Benodigdheden installeren

Vervolgens updaten we de pakketinformatie van Raspbian met het commando sudo apt-get update, zodat we de nieuwste versies van alle software kunnen downloaden. Daarna upgraden we alle software op de Pi met het commando sudo apt-get upgrade naar de nieuwste beschikbare versies. En we installeren een boel pakketten die we nodig hebben om hierna de AirPlay-software te kunnen installeren: sudo apt-get install autoconf libtool libdaemon-dev libasound2-dev libpopt-dev avahi-daemon libavahi-client-dev libssl-dev.

©PXimport

Installeer met commando's de juiste benodigdheden.

Stap 3 - Shairport Sync installeren

Om audio naar onze Pi te streamen via het AirPlay-protocol gebruiken we de software Shairport Sync. Download de broncode met de opdracht git clone https://github.com/mikebrady/shairport-sync.git, navigeer naar de gedownloade directory met cd shairport-sync, voer de opdracht autoreconf -i -f uit en compileer de broncode met ./configure --with-alsa --with-avahi --with-ssl=openssl && make. Tot slot installeren we de software met sudo make install.

Stap 4 - Shairport Sync starten

Start nu Shairport Sync met de opdracht shairport-sync -a RaspberryPlay -- -d hw:0 -t hardware -c PCM. Vervang RaspberryPlay door een naam naar keuze en zet die tussen aanhalingstekens als er een spatie in voorkomt. Dat is de naam waaronder je Pi zichtbaar is bij AirPlay-compatibele apparaten. Als je op je iPad of iPhone het AirPlay-menu opent, zie je de Raspberry Pi tussen de beschikbare apparaten staan om audio naar te streamen. In iTunes kun je de Pi kiezen als je op het icoontje naast de volumeregelaar klikt. En OS X laat zelfs toe om je Pi als standaard audio-uitvoerapparaat te gebruiken via de menu's Systeemvoorkeuren / Geluid / Uitvoer.

©PXimport

In OSX kun je je Pi als standaard audio-uitgang gebruiken.

Stap 5 - Testen en tweaken

Sluit speakers aan op je Pi en test het streamen eens. Als je daarvoor de jackaansluiting van de Pi gebruikt, zul je wel merken dat er vrij veel ruis op zit. Daarom dat we verder in deze workshop een externe usb-geluidskaart gebruiken. Maar voor de test volstaat de jackaansluiting. Het audiovolume staat overigens standaard vrij laag in Raspbian. Sluit Shairport Sync af met Ctrl+C. Met de opdracht alsamixer open je een volumeregelaar. Met de pijltjestoetsen omhoog en omlaag pas je het volume aan. Ga niet boven de 80%, want dan wordt het geluid sterk vervormd. Met een druk op Esc sla je de instelling op.

Stap 6 - Automatisch opstarten

Nu moeten we er nog voor zorgen dat Shairport Sync automatisch opstart wanneer de Pi opstart. Daarvoor passen we het opstartscript aan. Open het met het commando sudo nano /etc/init.d/sharepoint-sync en ga naar regel 66, die begint met start-stop-daemon --start en eindigt met -d || return 2. Voeg achter de -d de volgende opties toe: -a RaspberryPlay -- -d hw:0 -t hardware -c PCM. Sla het bestand op met Ctrl+O en sluit het af met Ctrl+X. Herstart nu je Pi en probeer nog eens muziek te streamen naar je Pi.

©PXimport

Shaiport Sync automatisch opstarten als je Pi start.

Betere audio

De ingebouwde geluidsuitvoer van de Raspberry Pi is niet van al te goede kwaliteit. Gelukkig bestaan er heel wat oplossingen om daar iets aan te doen. Het eenvoudigste is een usb-geluidskaart. Het voordeel daarvan is ook dat je het in andere projecten kunt hergebruiken. Zelfs een goedkope usb-geluidskaart geeft al een merkbaar betere geluidskwaliteit. Daarnaast bestaat er ook audiohardware die speciaal voor de Raspberry Pi is ontworpen, zoals de HiFiBerry: de DAC+-versie heeft een analoge uitvoer en de Digi+-versie een elektrische en optische SPDIF-uitvoer.

Stap 7 - USB-geluidskaart

Aangezien de jackaansluiting van de Raspberry Pi geen denderende geluidskwaliteit geeft, steken we een usb-geluidskaart in onze Pi. We kozen voor de LogiLink TODO, die standaard door Raspbian is ondersteund. Kijk op de wiki van elinux.org (zie ook dit artikel) voor een uitgebreide lijst van ondersteunde geluidskaarten. Controleer met de opdracht aplay -l of je geluidskaart wordt herkend. Naast je card 0 (de interne audiohardware van de Pi) krijg je een card 1 te zien waarbij USB Audio staat.

©PXimport

Een USB-geluidskaart geeft betere geluidskwaliteit.

Stap 8 - USB-geluidskaart eerst

De Pi geeft voorrang aan zijn eigen audiohardware. We gaan nu instellen dat Raspbian de voorkeur geeft aan de usb-geluidskaart, niet alleen voor Shairport Sync, maar voor alle programma's die audio gebruiken. Open het configuratiebestand van ALSA (TODO) met de opdracht sudo nano /etc/modprobe.d/alsa-base.conf. Vind de regel met options snd-usb-audio index=-2 en vervang die door options snd-usb-audio nrpacks=1. Sla het bestand op met Ctrl+O en sluit nano af met Ctrl+X.

Stap 9 - Alias

Voor de volgende stap moeten we de alias van de usb-geluidskaart te weten komen. Voer de opdracht aplay -L uit. Bij ons zien we in de uitvoer onder andere front:CARD=Set,DEV=0. De alias is dan front:Set. Maak dan een configuratiebestand voor asound aan met het commando sudo nano /etc/asound.conf en plaats daarin achtereenvolgens de regels (waarbij je in de laatste regel in plaats van front:Set uiteraard de juiste alias in jouw situatie gebruikt):

pcm.mmap0 {

type mmap_emul;

slave {

pcm "hw:0,0";

}

}

pcm.!default front:Set

©PXimport

Maak een configuratiebestand aan voor de alias van jouw USB-geluidskaart.

Stap 10 - Volumemixer

Nu moeten we nog nakijken hoe de volumemixer van de usb-geluidskaart heet. Bij de interne audio van de Pi is dat PCM. Open nog eens alsamixer om het geluidsvolume aan te passen en kijk welke naam er onder het volumebalkje en achter Item: staat. Bij onze LogiLink TODO is dat Headphone. Open terug het opstartscript van Shairport Sync met het commando sudo nano /etc/init.d/shairport-sync en ga naar regel 66. Vervang daar -c PCM door -c Headpone of de overeenkomstige naam in jouw situatie. Reboot daarna je Pi en sluit je speakers op de audio-uitvoer van de geluidskaart aan. Stream opnieuw de audio van je Apple-apparaat naar je Pi en geniet van de betere geluidskwaliteit.

Stap 11 - Volume-instellingen opslaan

Tot nu toe moesten we na elke reboot opnieuw het volume veranderen in alsamixer omdat de standaardinstelling van het volume heel laag staat. Gelukkig kunnen we dat zelf ook definitief instellen. Start alsamixer en stel het volume in. Met de pijltjestoetsen naar links en rechts kun je van audio-uitvoer veranderen en met F6 kies je andere audioapparaten. Als je alles hebt ingesteld, druk je op Esc om je instellingen op te slaan en voer je daarna de opdracht sudo alsactl store 0 uit om je instellingen definitief op te slaan. Na een reboot blijft je volume nu zo hoog staan als je hebt ingesteld.

©PXimport

Zo sla je volume-instellingen op, wel zo handig.

Stap 12 - Meer opties

Shairport Sync ondersteunt nog heel wat opties. Bekijk de webpagina op GitHub voor meer informatie. Een interessante eigenschap van Shairport Sync is dat het altijd gesynchroniseerd blijft met de bron van de audio en dus ook met andere apparaten waarnaar dezelfde audio gestreamd wordt. Dat betekent dat multiroom-audio eenvoudig mogelijk is: plaats gewoon in elke kamer een Pi die Shairport Sync draait.

Speakers

Aan je speakers kun je zoveel of zo weinig geld uitgeven als je wilt. Voor een kleine ruimte of incidenteel gebruik volstaan zeker draagbare speakers die je al voor een tientje vindt. Ook een bluetooth-speaker is mogelijk, maar dat vereist wat extra configuratie en biedt doorgaans geen hoge audiokwaliteit. Voor enkele tientjes heb je al goede pc-speakers. Voor grotere ruimtes heb je uiteraard wat meer vermogen nodig en kijk je beter naar hifi-speakers.

▼ Volgende artikel
Streamingdienst SkyShowtime gaat in prijs omhoog
Huis

Streamingdienst SkyShowtime gaat in prijs omhoog

Streamingdienst SkyShowtime heeft een prijsverhoging aangekondigd: alle verschillende abonnementen gaan vanaf 24 februari in prijs omhoog.

Dat heeft het bedrijf afgelopen weekend aangekondigd. Zowel het standaard abonnement met als die zonder reclame gaat met een euro omhoog. De maandprijs van SkyShowtime met reclame gaat van 5,99 euro naar 6,99 euro. Het standaard abonnement zonder reclame gaat van 8,99 euro naar 9,99 euro per maand.

Dan is er nog het Premium-abonnement, dat kijkers content in een 4k-resolutie laat streamen: deze gaat van 11,99 euro naar 13,99 euro per maand. Overigens zijn er ook abonnees die levenslang vijftig procent korting blijven houden. Die korting blijft gelden, maar dan natuurlijk wel voor de nieuwe bedragen.

Over SkyShowtime

SkyShowtime - dat vooralsnog wel in Nederland, maar niet in België beschikbaar is - betreft een streamingdienst met films en series van Paramount+, Showtime, Sky en andere netwerken. Er zijn series als Dexter, The Office, Yellowjackets, Twin Peaks en 1993 op te zien. Qua films zijn er onder andere The Naked Gun, Wicked, Gladiator 2 en The Godfather op te vinden.

In Nederland hebben film- en serieliefhebbers de keuze uit diverse streamingdiensten, waaronder Apple TV, Amazon Prime Video, Disney+ en natuurlijk Netflix. Bijna alle streamingdiensten gooien de prijzen van hun abonnementen om de zoveel tijd omhoog.

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.

▼ Volgende artikel
Check de nieuwe The Super Mario Galaxy Movie-trailer
Huis

Check de nieuwe The Super Mario Galaxy Movie-trailer

Nintendo heeft gisteren tijdens een speciale Direct-livestream een nieuwe trailer getoond van de aankomende animatiefilm The Super Mario Galaxy Movie.

Het bedrijf liet afgelopen vrijdag al weten een Direct uit te zenden rondom de aankomende film, en afgelopen zondag was deze te zien. In de nieuwe trailer die werd vertoond is te zien hoe Mario en Luigi bij een soort omgekeerde piramide aankomen - een bouwwerk dat ook in het spel Super Mario Odyssey zat - en hoe ze hier vervolgens in gaan.

Daar maken ze kennis met Yoshi, een dinosaurus die al sinds Super Mario World deel uitmaakt van de Mario-spellen. Ook personages als Baby Mario, Baby Luigi en Birdo worden voor het eerst gespot.

Watch on YouTube

Over The Super Mario Galaxy Movie

Nadat enkele jaren geleden de uiterst succesvolle animatiefilm The Super Mario Bros. Movie uitkwam - logischerwijs gebaseerd op de langlopende Mario-reeks van Nintendo - werkt het bedrijf samen met Illumination al enige tijd aan het vervolg, The Super Mario Galaxy Movie.

Net zoals The Super Mario Bros. Movie lijkt ook het vervolg elementen uit allerlei verschillende Mario-games te pakken, al gebruikt deze nieuwe film de insteek van de twee Super Mario Galaxy-games, waarin Mario het universum afreist.

Diverse acteurs uit de eerste film keren terug in dit vervolg. Mario en Luigi worden wederom ingesproken door Chris Pratt en Charlie Day, en Jack Black vertolkt wederom de stem van Bowser. Ook acteurs als Keegan-Michael Key en Anya Taylor-Joy keren terug. De stem van Bowser Jr. zal in deze film ingesproken worden door Benny Safdie - vooral bekend voor zijn regiewerk - en het personage Rosalina krijgt een stem via Oscar-winnares Brie Larson.

Nintendo heeft daarnaast aangekondigd dat The Super Mario Galaxy Movie wereldwijd - op sommige markten na - op 1 april dit jaar in première zal gaan. Eerst was sprake van 3 april, maar dit is dus naar voren gehaald. In Japan gaat de film pas later die maand in première.

Nintendo-films

Nintendo zet steeds meer in op het uitbrengen van films gebaseerd op IP van het bedrijf. Naast deze Mario-films werkt Nintendo ook aan een live-action verfilming van The Legend of Zelda-reeks, die in 2027 in de bioscoop zal draaien en daarna naar Netflix komt. Volgens geruchten gaat het bedrijf ook werken aan een spin-off-animatiefilm rondom Donkey Kong, die in de Mario-films wordt ingesproken door Seth Rogen.

Nintendo gaf onlangs in een gesprek met investeerders aan dat ze de verfilmingen niet maken om op korte termijn winst te maken, maar om de franchises van het bedrijf bij een nog groter publiek vanzelfsprekend te maken - wat op de lange termijn de games van het bedrijf nog populairder moet maken.

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.