Phoniebox DAC installieren und anschließen

L I V E Stammtisch ab 20:30 Uhr im Chat
    • Offizieller Beitrag

    Komischerweise ist gar kein Hifiberry vermerkt.

    Wie Du siehst, ist die da und will nur (mit den Pfeiltasten) ausgewählt werden.

    BTW. Langsam wird es unübersichtlich. Zeige bitte nochmals alle Dateien die Du verändert hast, also die /etc/asound.conf, die /etc/mpd.conf und ggf. auch die /usr/share/alsa/alsa.conf und was Du sonst noch so angefasst hast.

  • Nochmal neustart

    Ausgangssituation:

    sudo nano /boot/config.txt

    Spoiler anzeigen

    # Enable audio (loads snd_bcm2835)

    dtparam=audio=on

    audio_pwm_mode=2

    #dtoverlay=pwm-2chan,pin=18,func=2,pin2=13,func2=4

    sudo nano /etc/mpd.conf

    Spoiler anzeigen

    # An example of an ALSA output:

    #

    audio_output {

    type "alsa"

    name "My ALSA Device"

    # device "hw:0,0" # optional

    # mixer_type "hardware" # optional

    # mixer_device "default" # optional

    mixer_control "PCM" # optional

    # mixer_index "0" # optional

    }


    sudo nano /etc/asound.conf

    (leer)


    sudo nano /home/pi/RPi-Jukebox-RFID/settings/Audio_iFace_Name

    PCB


    /usr/share/alsa/alsa.conf

    Spoiler anzeigen

    #

    # ALSA library configuration file

    #

    # pre-load the configuration files

    @hooks [

    {

    func load

    files [

    {

    @func concat

    strings [

    { @func datadir }

    "/alsa.conf.d/"

    ]

    }

    "/etc/asound.conf"

    "~/.asoundrc"

    ]

    errors false

    }

    ]

    # load card-specific configuration files (on request)

    cards.@hooks [

    {

    func load

    files [

    {

    @func concat

    strings [

    { @func datadir }

    "/cards/aliases.conf"

    ]

    }

    ]

    }



    Änderungen

    sudo nano /boot/config.txt

    Spoiler anzeigen

    # Enable audio (loads snd_bcm2835)

    #dtparam=audio=on

    #audio_pwm_mode=2

    #dtoverlay=pwm-2chan,pin=18,func=2,pin2=13,func2=4

    dtoverlay=hifiberry-dac

    sudo nano /etc/mpd.conf

    Spoiler anzeigen

    #

    audio_output {

    type "alsa"

    name "My ALSA Device"

    mixer_control "Master" # optional

    }

    audio_output {

    enabled "yes"

    type "alsa"

    name "HiFiBerry DAC"

    device "sndrpihifiberry"

    auto_resample "no"

    auto_channels "no"

    auto_format "no"

    dop "no"

    }



    sudo nano /etc/asound.conf

    Spoiler anzeigen

    pcm.hifiberrydac {

    type softvol

    slave.pcm "plughw:0"

    control.name "Master"

    control.card 0

    }

    pcm.!default {

    type plug

    slave.pcm "hifiberrydac"

    }


    sudo nano /home/pi/RPi-Jukebox-RFID/settings/Audio_iFace_Name

    Master


    Dann habe ich gelesen

    Code
    mpc update
    sudo reboot


    cat /proc/asound/cards

    Spoiler anzeigen

    pi@juke:~ $ cat /proc/asound/cards

    0 [sndrpihifiberry]: HifiberryDac - snd_rpi_hifiberry_dac

    snd_rpi_hifiberry_dac



    alsamixer F6 Anzeige

    Spoiler anzeigen

    alsamixer F6 Anzeige


    lqqqqqqq Soundkarte qqqqqqqk x

    x x- (Standard) x x

    x x0 snd_rpi_hifiberry_dac x x

    x x Gerätenamen eingeben...x x

    x mqqqqqqqqqqqqqqqqqqqqqqqqqqj


    mpc outputs

    Spoiler anzeigen

    pi@juke:~ $ mpc outputs

    Output 1 (My ALSA Device) is enabled

    Output 2 (HiFiBerry DAC) is enabled



    Danach Befehl

    mpc enable 2

    mpc disable 1
    ausgeführt

    egal ändert sich nicht bleibt wie im Spoiler


    Aktuelle Situation nach den Änderungen.

    - Startsound kommt

    - Sound beim Abspielen durch MPD nicht

    - Lautstärkenregelung über das Webinterface tut.

    Ich bitte dann mal um Vorschläge was ich nacheinander tun soll, dann arbeite ich es ab.

    Einmal editiert, zuletzt von hailogugo (7. März 2019 um 21:41)

    • Offizieller Beitrag

    Bin mir gerade nicht ganz sicher, aber das könnte am Eintrag

    Code
    state_file              "/var/lib/mpd/state"

    liegen. :conf:

    Ich würde mir wirklich gerne mal alles in Ruhe ansehen, doch leider fehlt mir die Zeit dafür. :blush:

  • Ich habe die Datei geöffnet.

    Danach kommt quasi die playlist.

    Ich weiß aber nicht wonach ich suchen kann.

    Ich hatte auch mal vlc installiert. Wenn ich da die Soundkarte wählen wollte kam immer die meldung komme das das Gerät schon verwendet wird. Kann das vielleicht ein Problem sein, dass irgendetwas auch noch gerade zugriff auf die Soundkarte nimmt?

    • Offizieller Beitrag

    sudo nano /boot/config.txt

    # Enable audio (loads snd_bcm2835)

    dtparam=audio=on

    audio_pwm_mode=2

    #dtoverlay=pwm-2chan,pin=18,func=2,pin2=13,func2=4

    Stand da nicht was von dtparam=audio=off und irgendwas=hifiberrydac #oder so auf der Hifiberry-HP? :conf:

    //Edit

    hailogugo Hier wars: https://www.hifiberry.com/build/document…g-linux-3-18-x/

  • Das steht da auch nicht.

    Du hast bei den Ausgangscersionen der Dateien geguckt.

    Da steht jetzt folgendes

    Code
    # Enable audio (loads snd_bcm2835)
    #dtparam=audio=on
    #audio_pwm_mode=2
    #dtoverlay=pwm-2chan,pin=18,func=2,pin2=13,func2=4
    dtoverlay=hifiberry-dac
    • Offizieller Beitrag

    Du hast bei den Ausgangscersionen der Dateien geguckt.

    :shy: Sorry!


    schlizbäda Ich weiß Du bevorzugst Deinen YAMuPlay oder den OMXPlayer, könntest Du Dir trotzdem hier mal die Konfiguration der Soundkarte ansehen? ;)

  • Servus!

    Nur mal vorab:

    Also der Baustein PCM5102A, den man auf dem Bild von AliExpress erkennen kann, ist prinzipiell der gleiche wie der PCM5101A, der u.a. auf dem HifiBerry MiniAmp zum Einsatz kommt. Der Unterschied ist, dass der 5102 auf dem Papier (Datenblatt Kapitel 6, Seite 4 oben) noch ein paar dB mehr Dynamikumfang und Signal-/Rauschabstand hat. Von daher ist der Eintrag dtoverlay=hifiberry-dac in der /boot/config.txt schon mal richtig.

    Den Rest werde ich mir heute Abend mal in Ruhe zu Gemüte führen, evtl. erst spät abends nach der Feuerwehrübung, jetzt muss ich erst mal malochen :)

  • Servus hailogugo,

    Ich habe jetzt in der Mittagspause mal begonnen, den Thread durchzulesen.

    Bezüglich der Verdrahtung scheint die von Dir in Beitrag #3 verlinkte Anleitung auf hackster.io (schematische Zeichnung "Wiring diagram for I2S DAC") schon zu stimmen. Bei meinem fliegenden Aufbau für mein DAB+-Radio habe ich auch die I2S-Leitungen, die an der GPIO-Leiste des RPi auf den Pins 12 (BCK = bit clock), 35 (sync = LRCLK bzw. LCK) und 40 (data) liegen, auf die entsprechenden Anschlüsse der HifiBerry-Leitungen gelegt. Wenn der Aufbau fliegend mit Breadboard etc. ist, muss man natürlich auf vernünftige Kontakte achten!

    Da der auf Deinem DAC-Board verwendete Baustein PCM5102A kompatibel zum HifiBerry DAC (ohne "Plus") bzw. MiniAmp ist, könnte vielleicht auch die Konfiguration funktionieren, die ich in meiner Anleitung zum Raspiblaster auf github beschreibe (https://github.com/schlizbaeda/raspiblaster-manual). In der deutschsprachigen Variante raspiblaster_de.pdf ist in Kapitel 3.2 "HifiBerry MiniAmp installieren" ab Seite 27 beschrieben, welche Änderungen unter Raspbian Stretch an den Konfigurationsdateien vorzunehmen sind:

    /boot/config.txt
    scheint bei Dir eh schon zu stimmen

    /etc/asound.conf

    Da habe ich erfolgreich folgende Einstellungen verwendet:

    Hier wird eine Software-Lautstärkeregelung über ALSA implementiert, die offenbar die Pegel in den I2S-Daten auf den eingestellten Lautstärkepegel softwaremäßig umrechnet, denn der PCM5102A enthält keine Hardware-Lautstärkeregelung. Ferner wird in dieser Konfigurationsdatei der ALSA-Mixer aktiviert. Bei manchen hardwarenah programmierten Programmen wie dem omxplayer gibt es bei Nutzung des ALSA-Mixers jedoch Probleme...

    Mein Dank gilt smutbert für seine damalige Hilfe im Raspiblaster-Thread.

    Interessant war damals, dass es erst funktionierte, nachdem ich auch die folgenden Kommandozeilenprogramme für die ALSA-Konfigurarion aufgerufen hatte:

    aplay -l

    speaker-test -c 2

    alsamixer

    Außerdem wurde manchmal (d.h. ich kenne die exakten Rahmenbedingungen nicht) die unsichtbare "lokale" Konfigurationsdatei /home/pi/.asoundrc erstellt. Deren Inhalt ist syntaktisch identisch zu /etc/asound.conf. Bei Vorhandensein überbügelt sie die Einstellungen der systemweiten Konfigurationsdatei. Daher muss sie ggf. gelöscht werden! Hinterher (der Einfachheit halber) einen Reboot des RPi durchführen oder (für Nicht-Linuxnoobs) den ALSA-Treiber/Daemon anhalten und neu starten.

    Vielleicht kommst Du ja damit schon mal weiter...
    Ich habe meine Raspiblaster-Anleitung auf einem jungfräulichen Raspbian Stretch mehrmals kontrolliert. Bei Eingabe der einzelnen Befehle in der Reihenfolge von Kapitel 3.2 funktionierte es (vor einem Jahr) stabil.
    Dennoch werde ich heute Abend den Rest Deines Threads lesen und durchschauen...

  • Ich habe mir gerade den Raspiblaster von einem meiner Buben geschnappt und die Audiowiedergabe über den eingebauten MiniAmp mit folgenden drei Programmen jeweils erfolgreich getestet:

    vlc

    omxplayer -o alsa # yamuplay

    audacious

    Dabei verwende ich konkret die beiden Konfigurationsdateien aus dem Dateianhang.

    Die /etc/asound.conf ist die "einfachere" Version ohne ALSA-Mixer aus der Raspiblaster-Anleitung, da der omxplayer nur mit dieser Variante zurecht kommt.

    Wichtig ist im Abschnitt pcm.hifiberryMiniAmp der Eintrag type softvol, damit die Software-Lautstärkeregelung über ALSA genutzt wird.

    Das Mixer-Feature von ALSA ist eigentlich nur dafür nötig, dass mehrere Programme gleichzeitig den gleichen ALSA-Wiedergabekanal nutzen können. Wenn der Mixer fehlt, kann bei laufender Musikwiedergabe kein weiteres Programm den gleichen Wiedergabekanal nutzen, sondern es erhält von ALSA einen Fehler/Exception oder Ähnliches.

    Funktionsweise der ALSA-Konfigurationsdatei /etc/asound.conf

    Die Funktionsweise ist durchaus nachvollziehbar und insbesondere im auskommentierten Teil (inklusive dem ALSA-Mixer) bzw. dem identischen Beispiel aus Beitrag #34 gut sichtbar:

    Beim Parsen der Datei wird mit dem Abschnitt pcm.!default gestartet. Dort wird der Abschnitt pcm.softvolume referenziert, der wiederum auf den Abschnitt pcm.dmixer verweist. Hier ist der symbolische Name sndrpihifiberry der Hifiberry-Soundkarte (anstelle von plughw:0) angegeben:

    Das bash-Kommando aplay -l zeigt (bei mir) genau diesen Namen an:

    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

    In der /boot/config.txt habe ich wirklich nur die folgenden Änderungen vorgenommen:

    * Auskommentieren der Zeile #dtparam=audio=on

    * Einfügen der Zeile dtoverlay=hifiberry-dac

    Alle Parameter für die bcm2835-Audiowiedergabe sind nicht enthalten. So Dinge wie audio_pwm_mode=2 standen bei mir nie drin.

    Sorry, aber hier kommt wieder meine notorische Linux-Noobhaftigkeit heraus. Ich bin froh, dass es funktioniert und habe grobe Vorstellungen von der Funktionsweise. Außerdem weiß ich, dass man diese beiden Dateien an den entsprechenden Stellen ändern/anpassen muss. Aber ich habe es nicht wirklich verstanden, da ich es meiner Frau oder meinen Kindern nicht mit einfachen Worten plausibel erklären kann.

    EDIT:

    Wenn meine Konfiguration mit mpd nicht funktionieren sollte, dann liegt es an mpd und wir müssen uns in mpd einarbeiten. Dann werde ich mal versuchen, auf einem herumliegenden RPi 3B+ meine Raspiblaster-Konfiguration inkl. MiniAmp nachzubilden und darauf den mpd zum Laufen zu bringen. In meinem Buch Kofler, Kühnast, Scherbeck: Raspberry Pi, das umfassende Handbuch [Anzeige], von dem ich die 1. Auflage von 2014 habe, ist u.a. die Inbetriebnahme von mpd beschrieben. Auch wenn damals noch Raspbian Wheezy aktuell war: Trotzdem sollten werden wir das hinbekommen!

    Wobei mich ein Scheitern wundern würde, denn mpd ist imho ein gut erprobter und gepflegter Linux-Standarddienst, der ALSA (logischerweise) recht problemlos nutzen sollte.

  • gerade eher zufällig gefunden: jukebox4kids (Jukebox für Kinder), Beitrag #622

    Hier hat jemand seine MiniAmp-Konfiguration als ZIP-Datei veröffentlicht. Neben den Dateien /boot/config.txt und /etc/asound.conf ist auch noch eine mpd.conf enthalten.

  • Hi habe nun mal was ausprobiert.

    Die Einstellungen aus dem Beitrag 622 Jukebox habe ich übernommen.

    Der Startsound kommt, In mpd Webinterface kann ich play drücken und auch die Lautstärke einstellen aber es kommt kein Ton.

    Danach habe ich jetzte die Einstellungen von deinem Raspiblaster übernommen mit Lautstärkenregelung.

    Startsound kommt

    Webintface Lautstärkenregelung tut auch. Auch über alsamixer kann ich die Lautstärke regeln.

    Beim Ausführen von

    aplay -l

    **** 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

    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

    ALSA lib pcm_dmix.c:1052:(snd_pcm_dmix_open) unable to open slave

    Fehler beim Öffnen des Gerätes: -16, Das Gerät oder die Ressource ist belegt

    /home/pi/.asoundrc Datei erfolgreich gelöscht und neugestartet


    ------------------------------

    Danach mal das aus Beitrag 36 probiert

    Hier passiert das gleiche wie zuvor

    Bei dem Speakertest kommt immer das es belegt ist.

    Jetzt habe MPD mal ausgeschaltet über

    Code
    sudo service mpd stop 

    Dann ist leider nichts zu hören.

    Dieser Startupsound wird ausgeführt

    ExecStart=/usr/bin/mpg123 /home/pi/RPi-Jukebox-RFID/shared/startupsound.mp3

    Dieser ist auch zu hören.


    Ich habe nun VLC installiert und mal mpd gestoppt aktuell mit deinen EInstellungen aus Beitrag 36 kommt da auch kein Ton.

  • Das sieht ja fast so aus, als ob mpd hier irgendwelche ALSA-Einstellungen überschreibt, denn zunächst lief es ja kurzzeitig wie gewünscht. Allerdings hoffe ich schwer, dass ich mich hier täusche :fies:

    Leider habe ich heute Abend keine Zeit, das zu testen. Allerdings habe ich gerade damit begonnen, ein jungfräuliches Raspbian Stretch (full image) vom 13.11.2018 auf eine leere SD-Karte zu spielen und auf meinem RPi 3B+ mit MiniAmp mal

    sudo raspi-config

    sudo apt update

    sudo apt upgrade

    durchgeführt. Da werde ich zunächst in ALSA den MiniAmp einrichten und dann den mpd laut Buch [Anzeige] installieren. Mal sehen, wie es läuft. Falls ich Deine Probleme auch bekommen werde, werde ich ich es anders herum machen: erst den mpd (mit Standardaudio) installieren und hinterher den MiniAmp in ALSA einrichten. Ich hoffe, dass ich im Laufe des Wochenendes dazukommen werde...

  • Nochmal zur Situation.

    Ich habe erste mit dem normalen Audioausgang gearbeitet, da ich nicht dachte, dass dieser so schlecht sein kann. Aber man hat ein permanentes Rauschen drin und das ist halt nicht schön. Über den normalen Audioausgang funktioniert dies. (Normaler Audioausgang ist der 3,5-Klinkenaschluss)

    Wegen des Rauschens habe ich mir dann den DAC geholt, da ich nicht einen Hifiberry nochmal holen wollte. War rein aus Geldersparnis. :)

    Ersparnis sehe ich jetzt aber nicht mehr. Zu viel zeit verbraucht und auch jetzt verbrauche ich Zeit von anderen. Deshalb euch beiden einen besten Dank!.

    Im Phoniebox Projekt wird nach dem Bootvorgang eine Audio abgespielt "Startsound" diese wird über mpg123 oder so ähnlich abgespielt. Das funktioniert.

    Danach sollte MPD eigentlich beim letzten Track weiter machen. Hier kommt manchmal auch ganz kurz was. Zeitlich unter 1 Sekunde direkt nach dem Startsound.

    Danach läuft im Webinterface die Zeit zum abspielen weiter aber die Lautsprecher bleiben stumm.

    Ich habe mir nun auch mal das Buch dabei geholt. Ich habe es 2017 gekauft als ich die erste Phoniebox gebaut habe und die Anleitung dazu geschrieben habe. Hier habe ich auch einen Hifiberry MiniAmp verwendet. Habe ich aber auch länger für gebraucht. Damals leif alles über VLC.

    Ich gucke mir nun mal das Buch an. Gucken ob das mir hilft.


    Ich habe im Buch zum Thema MPD gelesen. Auch hier wird der hifiberry DAC+ verwendet. Die haben in der mpd.conf aber keine Einstellungen des Audio outputs geändert sondern haben nur mit ALSA gearbeitet. Desweiteren habe ich gesehen, dass der Pi ggf. seinen Audioausgabe selber aussucht wenn ein HDMI Kabel angeschlossen ist.

    Ich werde die Tage erstmal das durch probieren und mich wieder melden.

    Einmal editiert, zuletzt von hailogugo (15. März 2019 um 20:43)

Jetzt mitmachen!

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