Hemljudsystem från sådana som Sonos är på modet, men de kan vara ganska dyra. Med bara en Raspberry Pi och några högtalare kan du dock skapa ditt eget gör-det-själv-ljudsystem för att spela lokalt lagrad musik, Spotify-strömmar, internetradiostationer, podcaster och mer via ett webbgränssnitt.
Allt detta möjliggörs av Mopidy, en utdragbar huvudlös musikserver skriven i Python.
Vad du behöver för att bygga en musikserver
• En Raspberry Pi. Vilken modell som helst kommer att fungera, även om Mopidy kommer att köras betydligt snabbare på senare fullstorleksmodeller. Om du använder en Pi Zero behöver du ett DAC-tilläggskort för trådbunden ljudutgång.
• Ett par strömförsedda högtalare med 3,5 mm hanuttag för ljudingång. Alternativt kan du mata ut ljud via din TV via HDMI.
• Ett trådlöst nätverk för åtkomst till musikservern via ett webbgränssnitt.
1. Installera Mopidy
Se först till att du använder den senaste versionen av Raspberry Pi OS. Helst bör du göra en ren installation på ett microSD-kort med Raspberry Pi Imager.
För att installera den senaste versionen av Mopidy och alla dess beroenden, skriv in följande kommandon i ett terminalfönster:
wget -q -O - https://apt.mopidy.com/mopidy.gpg | sudo apt-key add -
sudo wget -q -O /etc/apt/sources.list.d/mopidy.list https://apt.mopidy.com/buster.list
sudo apt update
sudo apt install mopidy
Det kan ta några minuter att ladda ner och packa upp Mopidy.
Om du använder Raspberry Pi OS med skrivbordsbild måste du lägga till Mopidy-användaren i videogruppen:
sudo adduser mopidy video
För att få Mopidy att köras som en bakgrundstjänst vid uppstart anger du:
sudo systemctl enable mopidy
2. Konfigurera Mopidy-inställningarna
För att konfigurera Mopidys inställningar så att du kan komma åt den från en webbläsare på Raspberry Pi eller en annan enhet, måste du redigera mopidy.conf fil:
sudo nano /etc/mopidy/mopidy.conf
Lägg till följande rader längst ned i filen:
[http]
hostname = 0.0.0.0
Om du inte använder ljudutgång via HDMI, lägg också till dessa rader (utelämna utrymmet i [ audio]) för att använda 3,5 mm AV-uttaget:
[ audio]
output = alsasink device=hw:1,0
Tryck Ctrl + X, då Y för att spara filen.
Observera att inställningen device=hw:1,0 säger åt Mopidy att använda ljudkort 1, enhet 0, vilket är 3,5 mm AV-jacket. Om du istället använder ett DAC-tilläggskort måste du ställa in det till ett annat värde – för en lista över ljudhårdvaruenheter anger du detta i en terminal:
aplay -l
Starta Mopidy-tjänsten med:
sudo systemctl start mopidy
3. Öppna Mopidy webbgränssnitt
Försök nu att komma åt tjänsten från din Raspberry Pi eller en annan enhet på samma nätverk. I en webbläsare anger du följande adress: http://raspberrypi.local:6680
Du bör se en webbsida med ett meddelande om Mopidy.
För att komma åt den på rätt sätt måste du installera en webbklient som ett Mopidy-tillägg. Det finns flera tillgängliga, men en av de mest sofistikerade är Iris. Installera den med:
sudo python3 -m pip install Mopidy-Iris
Du måste också köra följande kommando (på en rad) för att ge mopidy-användaren sudo behörighet att köra Iris-installationsprogrammet:
sudo sh -c 'echo "mopidy ALL=NOPASSWD: /usr/local/lib/python3.7/dist-packages/
mopidy_iris/system.sh" >> /etc/sudoers'
Starta om Mopidy-tjänsten för att ändringen ska träda i kraft:
sudo systemctl restart mopidy
Försök nu att komma åt webbgränssnittet genom att besöka följande adress:
http://raspberrypi.local:6680/iris/
Du kommer att se en webbsida som välkomnar dig till Iris. Klick Spara och du kommer att se användargränssnittet.
4. Lägg till musik i Mopidy
OK, så nu måste du lägga till några musikfiler till musik mapp i /home/pi/ katalog. Mopidy stöder ett brett utbud av ljudkodekar, inklusive MP3 och FLAC. Så överför några musikfiler som du vill, till exempel med ett USB-minne.
Därefter måste du installera Mopidy-Local-tillägget för att läsa lokala filer. I ett terminalfönster anger du:
sudo python3 -m pip install Mopidy-Local
Öppna nu Mopidy-inställningsfilen igen med:
sudo nano /etc/mopidy/mopidy.conf
Lägg sedan till följande rader för att ställa in den att leta efter musikfiler i musik mapp:
[local]
media_dir = /home/pi/Music
Starta om Mopidy-tjänsten med:
sudo systemctl restart mopidy
Gör sedan en skanning för att hitta dina musikfiler:
sudo mopidyctl local scan
Du kan också göra detta från Iris-gränssnittet genom att gå till inställningar, rulla ner och klicka på Starta lokal skanning knapp.
Obs: Det kan ta en liten stund innan spåren visas i gränssnittet. Du kan också behöva klicka på Uppdatera alternativ på huvudskärmen.
Dina spår bör nu visas i Iris-gränssnittet och du kan dubbelklicka på en för att spela den. Observera att även när du använder en fjärrenhet för att komma åt webbgränssnittet kommer ljudet att spelas upp från Raspberry Pi.
En annan aspekt att notera är att endast albumomslag som är inbäddat i musikfilerna kommer att dyka upp. Även då är det lite hit och miss.
5. Streama från Spotify
Mopidy stöder även streamingtjänster som Spotify, YouTube Music och SoundCloud. Här visar vi dig hur du får Spotify att fungera, men observera att du behöver ett Premium-konto.
Först måste du installera Mopidy-Spotify-tillägget. Öppna ett terminalfönster och ange:
sudo python3 -m pip install Mopidy-Spotify
Du måste lägga till ditt Spotify Premium-användarnamn och lösenord till din Mopidy-konfigurationsfil och även besöka Mopidys webbplats för att auktorisera detta tillägg mot ditt Spotify-konto. Detta ger dig ett client_id och client_secret att använda.
Öppna igen mopidy.conf inställningsfil med:
sudo nano /etc/mopidy/mopidy.conf
Lägg till följande rader och ersätt värdena med ditt Spotify-användarnamn, lösenord och client_id och client_secret som du fick från mopidy.com:
[spotify]
username = <your Spotify username>
password = <your Spotify password>
client_id = <your client_id>
client_secret = <your client_secret>
Som tidigare, tryck Ctrl + X, då Y för att spara och avsluta.
Starta om Mopidy-tjänsten med:
sudo systemctl restart mopidy
Uppdatera nu ditt Iris webbgränssnitt på raspberrypi.local:6680/iris/ och du bör ha full tillgång till Spotify.
6. Lägg till Internetradio till Mopidy
Du kan också lyssna på dina favoritradiostationer via TuneIn. För att installera tillägget anger du:
sudo python3 -m pip install Mopidy-TuneIn
sudo systemctl restart mopidy
I Iris webbgränssnitt väljer du Bläddra alternativ och sedan TuneIn för att komma åt alternativ som t.ex Lokalradio, musik (för ett urval av genrer), och Podcasts.
För ett mer omfattande urval av podcasts kan du installera Mopidy-Podcast-tillägget med:
sudo python3 -m pip install Mopidy-Podcast
sudo systemctl restart mopidy
Detta låter dig bläddra bland poddsändningar som distribueras som RSS-flöden och spela upp enskilda avsnitt i en mängd olika ljudformat. Du kan också lägga till den valfria Mopidy-Podcast-iTunes-tillägget för den, som låter dig söka och bläddra bland poddsändningar från Apple iTunes Store.
Skapa din egen anpassade musikspelare
Förutom att experimentera med de andra tillgängliga Mopidy-tilläggen (mopidy.com/ext), kan du till och med lägga till en mini-LCD-skärm för att göra en bärbar spelare. Ett av de enklaste sätten att göra det är med ett av Pirate Audio-tilläggen från Pimoroni, som har bonusen med en DAC (digital till analog-omvandlare) för förbättrad ljudkvalitet.
Men du väljer att använda Mopidy, vi är säkra på att du kommer att få en fantastisk lyssningsupplevelse med din anpassningsbara Raspberry Pi-musikspelare.
Om författaren
Phil King (27 publicerade artiklar)
Phil är juniorredaktör för gör-det-själv-projekt på MUO och en frilansskribent och redaktör med 20+ års erfarenhet. Han har redigerat många officiella Raspberry Pi-böcker och är en regelbunden bidragsgivare till The MagPi magazine.
Mer från Phil King
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, free e-böcker och exklusiva erbjudanden!
Klicka här för att prenumerera
