Raspberry Pi: Universeller Audio-Empfänger für Musikanlagen

Raspberry Pi: Universeller Audio-Empfänger für Musikanlagen

Das Tutorial zeigt dir, wie du aus deinem Pi einen Audioempfänger für Musikanlagen machen kannst. Dazu kannst du entweder den Pi Model B oder den Pi Zero verwenden. Anschließend kannst du Musik direkt aus Spotify, über Airplay 2, DLNA oder Bluetooth direkt auf den Pi und damit an eine angeschlossene Musikanlage bzw. angeschlossene Boxen streamen. Die Lautstärke kann dabei bequem an jedem Abspielgerät eingestellt werden. Du musst also nicht zwingend die Lautstärke an der Musikanlage regeln.

Der Pi ist anschließend nur als Audioempfänger einsetzbar. D. h. du benötigst immer ein Abspielgerät im Netzwerk wie ein Smartphone, ein Tablet oder auch einen Windows oder Mac-Computer. Um den Pi selbst als Abspielgerät nutzen zu können, ist weitere Software notwendig. Dafür musst du dann jedoch über Bildschirm und Tastatur oder über SSH auf den Pi zugreifen können, um eine Wiedergabe zu starten. Je nach eingesetzter Software gibt es auch Lösungen, bei denen du über den Webbrowser auf die Musiksoftware des Pi zugreifen kannst.

DAC-Soundkarte

Der Sound kann dabei über den Klinkenanschluss ausgegeben werden. Allerdings ist der integrierte Soundchip auf dem Raspberry Pi nicht gut, sodass der Sound sehr blechern klingt. Für Sprachausgabe mag das ausreichend sein, für Musik ist die Qualität jedoch deutlich zu schlecht.

Alternativ verwendest du eine Digital-to-Analog-Converter (DAC) Erweiterungskarte für die GPIO-Leiste. Es gibt inzwischen viele verschiedene Modelle, die einfach auf den Raspberry Pi aufgesteckt werden. Die populärsten sind wahrscheinlich die HifiBerry DAC Boards, die ich selbst getestet habe und die eine sehr gute Klangqualität haben.

Auf dem Bild oben siehst du links die DAC2 Pro Karte auf einem Raspberry 3 B+ und rechts die DAC+ Zero auf einem Raspberry Pi Zero. Beide DAC-Karten haben Cinch-Ausgänge, die du direkt an eine Stereoanlage anschließen kannst. Die DAC2 Pro hat zusätzlich noch einen Klinkenanschluss, der einen deutlich besseren Klang liefert als der integrierte Anschluss auf dem Raspberry Pi.

Beachte, dass du mit den aufgesetzten DAC-Karten auch neue Gehäuse benötigst, da der Pi zusammen mit den DAC-Karten nicht in die Standardgehäuse passen. HifiBerry bietet hierfür jedoch direkt passende Gehäuse an.

Voraussetzung

Ich gehe davon aus, dass Raspbian bereits installiert ist und auf den Pi entweder direkt mit Monitor und Maus oder mittels SSH über Netzwerk zugegriffen werden kann.

Installation Multi Audioreceiver

Unabhängig davon, ob und welche DAC-Soundkarte du verwenden möchtest, musst du die folgenden Installationsschritte ausführen, um den Pi als universellen Audioempfänger einzurichten.

Zunächst aktualisieren wir Raspbian falls es nicht auf dem aktuellsten Stand ist.

sudo apt update && sudo apt upgrade

Anschließend laden wir von Github ein Multi-Receiver-Tool auf den Pi, entpacken es und löschen das Archiv anschließend wieder.

wget -q https://github.com/nicokaiser/rpi-audio-receiver/archive/main.zip
unzip main.zip
rm main.zip

Danach führen wir das Installationsskript aus, das lediglich verschiedene frei verfügbare Tools installiert, um die Multi-Konnektivität zu ermöglichen. Es ist natürlich auch möglich die einzelnen Softwarepakete selbst zu installieren. Die Pakete liste ich unten auf.

cd rpi-audio-receiver-main
./install.sh

Als erstes wirst du nach dem Hostnamen gefragt. Standardmäßig heißt er „raspberrypi“. Du kannst ihn entweder beibehalten oder einen neuen wählen. Behalte dir auf jeden Fall den Namen, da du dich mit dem Hostnamen über SSH einloggen kannst. Ich habe ihne AudioPi genannt.

Als nächstes wirst du nach dem „Pretty-hostname“ gefragt. Dabei handelt es sich um die Bezeichnung des Raspberry Pi für Spotify, bei Airplay und als Bluetoothgerät. Du kannst ihn z. B. ebenfalls AudioPi nennen.

Anschließend werden verschiedene Softwarepakete installiert, die du jeweils mit „y“ genehmigen musst. Wenn du einzelne Pakete nicht installieren möchtest, hast du so bei jedem Paket die Wahl dies zu verhindern.

  • BlueALSA: Bluetooth Audio ALSA Backend [github]
  • Shairport Sync: AirPlay Audio Receiver [github]
  • Raspotify: Spotify Connect Client für Raspberry Pi [github]
  • gmrender-resurrect: UPnP Renderer [github]
  • Snapcast: Snapclient Multi Room Audio Player [github]
  • Pivumeter: Bringt zusätzliche ALSA Audiofunktionen [github]

Danach ist die Installation fertig und wir müssen den Pi noch neustarten, um die Softwarepakete zu aktivieren. Beachte, dass der Pi danach nur noch unter dem neuen Hostnamen erreichbar ist, in meinem Fall AudioPi.

sudo reboot

Nun kannst du den Audioempfänger testen. Dazu kannst du an den OnBoard Anschluss 3,5 mm Klinkenkopfhörer anschließen und testen, ob du den AudioPi in Spotify, bei AirPlay oder über Bluetooth findest und dich mit ihm verbinden kannst. Anschließend kannst du Musik abspielen. Dabei wirst du dann feststellen, dass die Qualität des Sounds nicht besonders hochwertig ist.

HifiBerry DAC aktivieren

Solltest du eine HifiBerry DAC-Erweiterungskarte verwenden, musst du Raspbian noch mitteilen, dass es die Erweiterungskarte statt dem On-Board Chip zur Audioausgabe verwenden soll. Öffne dazu folgende Datei.

sudo nano /boot/config.txt

In dieser Datei musst du zunächst den On-Board Chip deaktivieren, indem du die entsprechende Zeile löschst oder mit # auskommentierst.

#dtparam=audio=on

Anschließend fügst du eine Zeile hinzu, die die HifiBerry-DAC-Karte aktiviert. Je nach Modell unterscheidet sich die Zeile etwas. Du findest die entsprechenden Zeilen auf der Webseite von HifiBerrry [Link].

Für meine Karte DAC+ Pro füge ich folgende Zeile in die Konfigurationsdatei.

dtoverlay=hifiberry-dacplus

Für meine Karte DAC Zero füge ich folgende Zeile in die Konfigurationsdatei.

dtoverlay=hifiberry-dac

Speichere und schließe die Datei mit [STRG+X], bestätige mit [Y] und dann mit [Enter].

Anschließend starten wir den Pi neu.

sudo reboot

Nun ist der Pi einsatzbereit.

Lautstärke anpassen

Möglicherweise ist die Lautstärke sehr gering, selbst wenn du das Abspielgerät auf maximale Lautstärke einstellst. Mit folgendem Befehl kannst du den alsamixer aufrufen, mit dem du die Lautstärke regeln kannst.

sudo alsamixer

Mit den Pfeiltasten nach links und rechts kannst du zwischen den verschiedenen Ausgängen wechseln. mit den Pfeiltasten nach oben und unten kannst du dann die Lautstärke des gewählten Ausgangs anpassen. Hast du nur den integrierten Audio-Chip aktiviert, siehst du auch nur einen Ausgang. Der Screenshot unten zeigt meine Ansicht mit einer aktivierten HifiBerry Soundkarte.

Raspotify Einstellungen

Ich hatte zunächst Probleme mit Raspotify. Der Dienst konnte nicht richtig gestartet werden. Beheben konnte ich das, indem ich Raspotify manuell neuinstalliert habe.

Den Status des Raspotify Dienst kannst du mit folgendem Kommando abrufen.

sudo systemctl status raspotify

Taucht hier beim Status irgendwo FAILED statt SUCCESS auf, kannst du versuchen den Pi neuzustarten. Sollte dies keine Abhilfe verschaffen, ist es einen Versuch wert den Dienst neu zu installieren.

Dazu habe ich Raspotify zunächst deinstalliert.

sudo apt-get remove -y raspotify

Mit folgender Zeile installierst du dann Raspotify neu.

curl -sL https://dtcooper.github.io/raspotify/install.sh | sh

Du kannst zusätzlich noch Einstellungen für Raspotify vornehmen. Öffne dazu die Konfigurationsdatei.

sudo nano /etc/default/raspotify

In der Datei kannst du den „Pretty hostname“, hier DEVICE_NAME verändern. Beachte, dass die Änderung nur für Spotify und nicht für Bluetooth und AirPlay gilt. Außerdem solltest du für eine bessere Audioqualität die BITRATE von 160 auf 320 kbit/s ändern. Den DEVICE_TYPE kannst du entsprechend deines Abspielgerätes einstellen. In meinem Fall habe ich für meine Stereoanlage „avr“ angegeben. Zuletzt kannst du unter VOLUME_ARGS die Lautstärke auf 100% festlegen.

# /etc/default/raspotify -- Arguments/configuration for librespot

# Device name on Spotify Connect
DEVICE_NAME="AudioPi"

# Bitrate, one of 96 (low quality), 160 (default quality), or 320 (high quality)
BITRATE="320"

# Additional command line arguments for librespot can be set below.
# See `librespot -h` for more info. Make sure whatever arguments you specify
# aren't already covered by other variables in this file. (See the daemon's
# config at `/lib/systemd/system/raspotify.service` for more technical details.)
#
# To make your device visible on Spotify Connect across the Internet add your
# username and password which can be set via "Set device password", on your
# account settings, use `--username` and `--password`.
#
# To choose a different output device (ie a USB audio dongle or HDMI audio out),
# use `--device` with something like `--device hw:0,1`. Your mileage may vary.
#
#OPTIONS="--username <USERNAME> --password <PASSWORD>"

# Uncomment to use a cache for downloaded audio files. Cache is disabled by
# default. It's best to leave this as-is if you want to use it, since
# permissions are properly set on the directory `/var/cache/raspotify'.
#CACHE_ARGS="--cache /var/cache/raspotify"

# By default, the volume normalization is enabled, add alternative volume
# arguments here if you'd like, but these should be fine.
VOLUME_ARGS="--enable-volume-normalisation --volume-ctrl linear --initial-volume=100"

# Backend could be set to pipe here, but it's for very advanced use cases of
# librespot, so you shouldn't need to change this under normal circumstances.
#BACKEND_ARGS="--backend alsa"

# The displayed device type in Spotify clients. 
# Can be "unknown", "computer", "tablet", "smartphone", "speaker", "tv",
# "avr" (Audio/Video Receiver), "stb" (Set-Top Box), and "audiodongle".
DEVICE_TYPE="avr"

themaster

Verwandte Beiträge

Android: Apps löschen

Android: Apps löschen

Android: Apps deaktivieren

Android: Apps deaktivieren

Raspberry Pi: SenseHat

Raspberry Pi: SenseHat

NAS Eigenbau Teil 7: Wake On LAN

NAS Eigenbau Teil 7: Wake On LAN

No Comment

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

19 − siebzehn =

TIPP: Jazz CD J’s SEVEN

Lust auf JAZZ? Dann hört in die CD von Komponist und Posaunist Jonathan Strieder rein. Jonathan hat mit seiner Band J’s Seven ein eigenes Album aufgenommen und veröffentlicht. Tongariro heißt es und es klingt ganz fantastisch.

Zur CD: [Link]

Besucht Jonathan Strieder auch gerne auf seiner Webseite.

Über Mich

Mein Name ist Philipp und ich beschäftige mich gerne mit Homeprojekten im Hardware- und Softwarebereich. Ich stelle dabei immer wieder fest, dass es im Internet viele unvollständige  Tutorials gibt. Daher bin ich dazu übergegangen, meine Projekte in eigenen Anleitungen festzuhalten. Diese werde ich hier möglichst verständlich und mit dem nötigen Hintergrundwissen aufbereiten. Vielleicht kann ich dabei den entscheidenden Hinweis liefern, der in vielen anderen Tutorials fehlt.

Mein Ziel ist es, dass jeder mit den Tutorials zurecht kommt und alle notwendigen Informationen erhält, um es nachmachen zu können.

Artikelreihen

Tutorials abonnieren


Unterstütze Uns

Wenn du uns unterstützen möchtest und genau wie wir einen werbefreien Blog bevorzugst, freuen wir uns über eine kleine Kaffee-Spende :).

IBAN: DE51 1203 0000 1067 7545 54
oder
PayPal Spendenlink: