Phoniebox DAC installieren und anschließen

    • Offizieller Beitrag

    hailogugo Das kann ja eigentlich nur noch an einer kleinen beschi...enen Einstellung in der mpd.conf liegen. :conf: Warum kann es denn nicht einfach mal eine leichte Lösung geben?! :mean:

    schlizbäda Bei Deinem "Glück" mit eigenen Projekten (:stumm:) findest Du, wie ich Dich kenne, bestimmt hier die Nadel im Heuhaufen.

    //Edit

    Desweiteren habe ich gesehen, dass der Pi ggf. seinen Audioausgabe selber aussucht wenn ein HDMI Kabel angeschlossen ist.

    Soweit ich weiß macht der das nur, wenn Audioausgang auf auto in raspi-config ausgewählt wurde.

  • Sodala, ich habe den mpd folgendermaßen auf einem RPi 3B+ mit miniAmp erfolgreich zum Laufen gebracht:

    Ich beschreibe hier Schritt für Schritt, wie ich vorgegangen bin. Das bitte nicht als "Gescheitmeierei" auffassen, ich mache das deshalb, weil ich als tendenzieller Linuxnoob selbst nicht alle Rahmenbedingungen kenne und oft schon seltsame Effekte erlebt habe.

    1. Vorgeplänkel: Raspbian Stretch with desktop and recommended software vom 13.11.2018 installieren

    Image Raspbian Stretch with desktop and recommended software von https://www.raspberrypi.org/downloads/raspbian/ herunterladen

    Am PC das Image mit dd bzw. unter Windows mit win32diskimager o.ä. auf eine SD-Karte >= 8GB flashen

    sudo raspi-config # alle notwendigen Einstellungen durchführen: Tastatur auf deutsch einstellen und ssh aktivieren

    sudo apt update

    sudo apt upgrade

    Ich weiß nicht, ob man an dieser Stelle zwingend einen Reboot braucht. Da ich hier einen Tag Pause nahm, weil ich beim Auflegen war, gab es deshalb einen Reboot des RPi...

    Doch, braucht man, damit ssh aktiviert wird -- EDIT: wenn man es über raspi-config aktiviert und nicht durch Anlegen der Datei /boot/ssh. kle: :danke_ATDE:

    2. ALSA für MiniAmp (BurrBrown/Texas Instruments PCM510xA I2S-DAC) einrichten

    Mit dem PC die Konfigdateien über scp asound.conf config.txt pi@raspberrypi:/home/pi auf den RPi kopieren

    sudo cp asound.conf /etc

    sudo cp config.txt /boot

    aplay -l # liefert folgende Ausgabe:

    Code
    **** Liste der Hardware-Geräte (PLAYBACK) ****
    Karte 0: sndrpihifiberry [snd_rpi_hifiberry_dac], Gerät 0: HifiBerry DAC HiFi pcm5102a-hifi-0 []
      Sub-Geräte: 0/1
      Sub-Gerät #0: subdevice #0

    speaker-test -c 2

    alsamixer

    Nach dem Beenden von alsamixer ist das Lautstärke-Icon in der LXDE-Taskleiste immer noch mit einem roten x versehen. Aber ein einfacher Mausklick auf das Icon reicht, dass der Lautstärkeregler eingeblendet wird. Er ist aktiv und die Lautstärke kann damit eingestellt werden. Ich brauchte keinen Reboot.

    3. Installation von mpd

    sudo apt install mpd # Es wird 2719kB zusätzlicher Plattenplatz belegt

    Vom PC mit scp -r <irgendwelche MP3-Musikdaten> pi@raspberrypi:/home/pi/Music kopieren.

    sudo mv ~/Music/* /var/lib/mpd/music

    Die Dateien müssen für den Linux-User mpd lesbar sein, falls nicht, bitte folgende Kommandos ausführen:

    cd /var/lib/mpd/music

    find -type f -exec chmod a+r {} \;

    find -type d -exec chmod a+rx {} \;

    Bei der Installation wird die Datei mpd.conf angelegt, in der ich die folgende Änderung vornahm, um mpd auch über das lokale Netzwerk steuern zu können:

    sudo nano /etc/mpd.conf

    Code
    bind_to_address                 "0.0.0.0"
    # Wenn man die Musikdateien nicht nach /var/lib/mpd/music kopieren will,
    # sondern in ein anderes Verzeichnis, muss folgende Zeile angepasst werden:
    music_directory        "/var/lib/mpd/music"

    sudo service mpd restart # Beenden und Neustart des mpd mit den geänderten Parametern

    4. Installation von xfmpc, dem nächstbesten Client für mpd

    Hier hielt ich mich einfach an die Empfehlung aus dem Buch, 1. Auflage von 2014 [Anzeige]...

    sudo apt install xfmpc # Es wird 2206kB zusätzlicher Plattenplatz belegt

    Dieser Client baut eine Verbindung zum mpd auf:

    Die Sache mit der Datenbank ist für mich gewöhnungsbedürftig: Bevor man Musik abspielen kann, muss man zuerst diese Datenbank einrchten:

    Zuerst die Schaltfläche mit dem runden Pfeil ("Datenbank auffrischen") betätigen

    Dann in der langen ComboBox den zweiten Listeneintrag "Datenbank durchsuchen" anklicken

    Es erscheint eine Liste mit allen vorhandenen Titeln. Die gewünschten muss man anklicken, um sie in eine Playlist aufnehmen zu können -- Naja...

    An dieser Stelle kann natürlich sein, dass der mpd nicht läuft, dann muss der Dienst gestartet werden. Hierfür gibt es folgende Kommandos:

    sudo  service mpd start

    sudo  service mpd stop

    sudo  service mpd restart

    Jedenfalls funktioniert der mpd an dieser Stelle mit der Lautstärkeeinstellung über ALSA sowohl in der Kommandozeile mit

    alsamixer

    als auch über das grafische Element in der LXDE-Taskleiste.

    Anschließend habe ich mal Musikdateien mit den Programmen VLC, omxplayer und mpg123 gestartet. Gleichzeitiges (paralleles) Abspielen geht nicht, wird aber auch nicht unbedingt benötigt. Jedes Wiedergabeprogramm benötigt den ALSA-Audiokanal für sich. Wenn der mpd-Service gestartet ist, kann kein anderes Audioprogramm gestartet werden. VLC meldet z.B. einen Zugriffsfehler auf den ALSA-Ausgabekanal.

    Wenn der mpd-Service gestoppt ist und ein anderes Programm läuft und man den mpd-Service wieder startet, zeigt zwar der xfmpc-Client an, dass die Wiedergabe angehalten wurde. Auch bei Beendigung des anderen Ausgabeprogramms läuft die mpd-Wiedergabe nicht an. Dies ist aber problemlos über den Play-Button des xfmpc-Clients zu beheben. Ein selbst geschriebenes Programm wie die Phoniebox muss dies aber evtl. berücksichtigen!

    Aber die ALSA-Einstellung funktioniert weiterhin problemlos.

    5. Autostart von mpg123 für die Wiedergabe eines Begrüßungssounds

    Meine Vermutung ist nach diesem Test, dass bei hailogugo tatsächlich der Autostart des Begrüßungssounds hineinspuckt.

    Ich habe das bei mir über die Desktop-Datei ~/.config/autostart/mpg123.desktop nachgebildet:

    Code
    [Desktop Entry]
    Type=Application
    Name=mpg123
    Comment=Play Welcome Sound
    Exec=mpg123 /home/pi/Music/short.mp3

    Bei mir ist es so:

    Wenn der mpd inaktiv ist, d.h. beim Start des RPi läuft keine mpd-Playlist, dann wird beim Startvorgang mit mpg123 die MP3-Datei short.mp3 über ALSA abgespielt. Wenn allerdings beim Herunterfahren des RPi eine mpd-Playlist lief, wird die ja beim Neustart sofort wieder weiter abgespielt, d.h. beim Bootvorgang wird irgendwann mpd gestartet, der mit seiner Playlist fortfährt. ALSA ist belegt und der mpg123-Prozess aus der .desktop-Datei kann seine Audiodatei nicht abspielen.

    Vielleicht ist das Timing bei hailogugo etwas anders, dass hier der mpg123-Prozess den mpd "ausbremst"? Probiere doch mal aus, den Begrüßungssound zunächst ganz wegzulassen und schaue, ob es dann funzt. Jetzt hatte ich noch die Idee, beide Programme (mpg123 und phoniebox) in ein einfaches bash-Shellscript hineinzuschreiben und das Ganze über die .desktop-Datei sozusagen synchron in definierter Reihenfolge zu starten, aber der mpd startet sich ja selbst irgendwie (Umscheibung des Linux-Dauernoobs;)), von daher wird das möglicherweise auch nicht so einfach anbeißen.

    Zu guter Letzt meine Konfigurationsdateien von diesem Test:

  • Blöd!

    Wegen einer anderen Geschichte (Bluetooth-Lautsprecher) wollte ich den MiniAmp unter Raspbian Stretch lite einrichten und bekomme ebenfalls die Belegt-Meldung, mit der Du auch schon kämpfst...

    Die ganzen Kinder-Jukeboxen nutzen ja die lite-Version von Raspbian ohne grafischen Desktop.

    aplay -l # liefert:

    Code
    **** Liste der Hardware-Geräte (PLAYBACK) ****
    Karte 0: sndrpihifiberry [snd_rpi_hifiberry_dac], Gerät 0: HifiBerry DAC HiFi pcm5102a-hifi-0 []
      Sub-Geräte: 1/1
      Sub-Gerät #0: subdevice #0

    speaker-test -c 2 # liefert: :baeh2:

    Code
    speaker-test 1.1.3
    
    Wiedergabe-Gerät ist default
    Stream-Parameter sind 48000 Hz, S16_LE, 2 Kanäle
    Verwende 16 Oktaven rosa Rauschen
    Fehler beim Öffnen des Gerätes: -16, Das Gerät oder die Ressource ist belegt

    Da ist mein Beitrag #42 offenbar noch nicht der Weisheit letzter Schluss:

    Auf ubuntuusers.de fand ich den Hinweis auf sudo apt install alsa-base, aber das ist auch noch nicht die Lösung...

    EDIT:

    Das kann ja nicht funzen, da der Bluetooth Speaker Daemon den ALSA-Wiedergabekanal belegt...

  • Hallo zusammen,

    ich bin bei einer ganz ähnlichen Aufgabe über diesen Forumeintrag gestolpert und hab mich spontan angemeldet.

    Gefunden habe ich für dich/uns folgenden Punkt (selber noch nicht getestet):

    settings/Audio_iFace_Name

    This is a file containing a string, by default PCM.

    Inside settings/Audio_iFace_Name is the iFace name of the sound card. By default for the RPi this would be PCM. But this does not work for every setup. If you are using phatbeat as a DAC for example, you need to change the content of Audio_iFace_Name from PCM to Master or Speaker. Other external sound cards might use different interface names. To see if PCM could work for you, type amixer sget PCM. To list all available iFace names, type amixer scontrols.


    Den Settings-Ordner habe ich bei mir unter /home/pi/RPi-Jukebox-RFID gefunden.

    Vielleicht ist hier ja des Rätsels Lösung verborgen?

    Beste Grüße

    Stefan

  • Entwarnung!

    mpd unter Raspbian Stretch lite installieren

    1. Vorgeplänkel: Raspbian Stretch lite vom 13.11.2018 installieren

    --> prinzipiell wie in Beitrag #42 Punkt 1 vorgehen

    und noch Programme zum Testen der Audiowiedergabe installieren:

    sudo apt install omxplayer mpg123

    2. ALSA für MiniAmp (BurrBrown/Texas Instruments PCM510xA I2S-DAC) einrichten

    --> prinzipiell wie in Beitrag #42 Punkt 2 vorgehen, aber die Konfigurationsdateien aus dem Dateianhang in diesem Beitrag verwenden!

    Auch hier testen:

    aplay -l # liefert

    Code
    **** Liste der Hardware-Geräte (PLAYBACK) ****
    Karte 0: sndrpihifiberry [snd_rpi_hifiberry_dac], Gerät 0: HifiBerry DAC HiFi pcm5102a-hifi-0 []
      Sub-Geräte: 1/1
      Sub-Gerät #0: subdevice #0

    speaker-test -c 2

    alsamixer

    ...ui, då is ja a griabiga Heavymeddl auf'm RPi drauf! :lol: Mid dem probier'n ma glei amoi aus, ob's gäht:

    omxplayer -o alsa "/var/lib/mpd/music/01 Iron Maiden - Invaders.mp3" # haut hi :thumbup:

    3. Installation von mpd

    sudo apt install mpd # Es wird 70,0MB zusätzlicher Plattenplatz belegt:

    Im Lite-Image müssen ein paar Libraries mehr heruntergeladen werden ;)

    --> auch hier bitte analog zu Beitrag #42, Punkt 3 vorgehen

    4. Installation von ncmpc, einem mpd-Client für die Textkonsole

    Diesen Client habe ich auf ubuntuusers.de gefunden:

    sudo apt install ncmpc # Es wird 620kB zusätzlicher Plattenplatz belegt

    ncmpc # Start des mpd-Clients für die Textkonsole

    Bedienung:

    * Auch hier muss zuerst die mpd-Datenbank erstellt werden: Tastenkombination Ctrl-U

    * Mit der Tasteneingabe 3 kommt man in das Fenster "Stöbern":

    Dort mit den Cursortasten ein Lied wählen und mit ENTER abspielen

    5. Konkurrierende Tests mit anderen Audioprogrammen, die ALSA nutzen

    Auch hier zeigt sich das gleiche Verhalten wie unter Raspbian Desktop: Das erste Programm mahlt zuerst! Aber die ALSA-Konfiguration wird nicht "beschädigt"!

    Wenn mpd beim Stoppen des Sevices mit sudo service mpd stop gerade eine Playlist abspielt und sich ein anderes Audioprogramm den ALSA-Wiedergabekanal schnappt, kann der mpd-Service nach dem Neustart mit sudo service mpd start keine ALSA-Wiedergabe durchführen. Stattdessen hält er das Abspielen seiner Playlist an. Erst nach Beenden des anderen Audioprogramms kann der mpd über den Client dazu veranlasst werden, mit seiner Playlist fortzufahren. Dies muss aber aktiv geschehen!

    Somit bleibe ich bei meiner Vermutung, dass bei hailogugo der über mpg123 wiedergegebene Begrüßungssound aufgrund eines ungünstigen Timings den mpd evtl. blockiert bzw. den Start der mpd-Playlist wie oben beschrieben ausbremst.

  • Guten Tag,

    ich bin am Wochenende und auch jetzt mal dazu gekommen mpd zu installieren wir von dir beschrieben. Klappt sogar besser als über das Handbuch was ich genutzt habe. Ton kam alles TipTop.

    schlizbäda Allerbesten Dank für deine Zeit!

    Danach habe ich den Service aus meiner Phoniebox vom Startsound entfernt. Dies reichte scheinbar noch nicht. <X


    Ich habe jetzt auch gelesen, dass man mit einem dmix in Alsa zwei/mehrere Programme zugriff geben kann.

    Hierbei wird Alsa bei Signale empfangen und dann neue mixen und dann an den Soundkartentreiber geben.

    Kann mir vielleicht jemand sagen wie die asound Datei aussehen muss.

    Ich habe hierzu was gefunden aber das habe ich wohl falsch gemacht und es tut nicht. Auch habe ich gesehen, dass Schlizbäda sowas in seiner Datei aufgeführt hat aber auch da werde ich nicht schlau raus.

    Link

    Link zum Beitrag von ALSA und Dmix

  • Servus hailogugo,

    folgende Variante der /etc/asound.conf mit Nutzung des ALSA-Mixermoduls hatte ich an meinem Raspiblaster mit dem MiniAmp auch schon erfolgreich verwendet. Allerdings gibt es Programme wie den omxplayer, die damit (mit dem Mixermodul?) nicht richtig umgehen können...

    Ich habe diese Variante noch nicht mit dem mpd getestst, aber ich wünsche Dir einfach mal viel Glück damit:angel:

  • Hi schlizbäda ,

    habe ich nun auch ausprobiert mit MPD. Funktioniert natürlich nicht. Mit VLC kommt Sound.

    Ich teste nun mal den Startsound komplett wegzulassen und schaue was jetzt dann passiert.

    Ich habe nun den Startsound Service deaktiviert und selbst die Datei aus Systemd gelöscht. Es kommt kein Startsound mehr aber es funktioniert noch nicht.

    Ich habe mich ein wenig durch das install skript gewurschtelt aber auch hier komme ich nicht weiter. Seht Ihr vielleicht was das Problem sein könnte was vielleicht noch auf die Soundkarte zugreift?

    Habt ihr einen weiteren Rat?

  • Hallo!

    Bei mir trat das gleiche Problem auf, Startup-Sound, dann nur noch Stille. Lösung war bei mir das Skript RPi-Jukebox-RFID/scripts/gpio-buttons.py an das Pinout anzupassen (unten nur der geänderte Teil des Skripts):

    Gemäß dem Pinout von https://de.pinout.xyz/pinout/phat_beat#

    Vielleicht hilft das?

    Viele Grüße

    Christian

    • Offizieller Beitrag

    Hallo Christian,

    willkommen im Forum!

    Nur mal so am Rande: pull_up=True ist bei gpiozero Standard, das kannst Du weglassen, auch wenn es hier steht. ;)  Linus war auch schon mal so freundlich mein Anliegen dort "vorzutragen", aber scheinbar hat sich bei MiczFlor bisher nichts geändert.

  • Hallo.

    Ich verfolge das Thema schon eine Weile, da ich vor dem selben Problem stand. Ich habe 2 no Name DACs probiert und bei beiden nach einrichten der Phoniebox Komponenten keinen Ton mehr gehabt.

    Bin selbst mit dem Ansatz MPD und Startsound nicht weiter gekommen.

    Ich habe allerdings festgestellt, das die Standard GPIO Belegung mit dem PIN Out der Soundkarte kollidiert.

    Dementsprechend habe ich das PIN Out des Raspis geändert.

    Anschließend funktionierte der Sound teilweise, zumindest bis zum nächsten Neustart.

    Danach immer nur wenn ich GPIO in den Einstellungen deaktiviert habe.

    Meine Vermutung geht in die Richtung, das GPIO Zero die Pins, auch wenn sie nicht Programmiert sind, abtastet und damit ins besondere die Busschnittstelle I2S/I2C unterbricht und somit die Soundkarten nicht mehr funktionieren.

    MfG

    Sören

  • Servus,

    Das Problem, dass bei Verwendung von eigentlich unbeteiligten GPIOs die Musik auf dem Hifiberry MiniAmp langsamer als normal oder auch gar nicht abgespielt wird, weil die I2S-Audiowiedergabe mit den anderen GPIOs irgendwie kollidiert(?), hatte ich auch schon einmal. Letztlich konnte ich es lösen, indem ich bei der GPIO-Bibliothek von pigpio auf wiringPi wechselte. Da dies bei mir pragmatisch und unproblematisch war, habe ich eine tiefergehende Problemlösung nicht weiter verfolgt.

    Ich will jetzt aber mit diesem Hinweis keine Nebelkerze in diesem Thread zünden: Zu meiner Schande muss ich gestehen, den konkreten Stromlaufplan und auch das Skript für die eigentliche Phoniebox noch nicht angesehen zu haben. Von daher weiß ich jetzt nicht, ob das überhaupt zutreffend sein könnte. Dieses Thema fiel mir nur spontan beim Lesen von Beitrag #56 ein.

    hailogugo,

    entschuldige bitte, dass ich seit letzter Woche dieses Thema nicht weiter verfolgt hatte. Ich hatte wegen meines DAB-Radioprojektes einfach keine Zeit. Da komme ich nämlich auch schon wieder vom 100sten ins 1000ste...

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!