ALSA dmix funktioniert nicht mit MPD

  • Hi,
    Mich hat letztens genervt, dass immer nur ein Programm die Soundkarte nutzen konnte, also habe ich alsa mit dmix konfiguriert, so dass mehrere Programme gleichzeitig was ausgeben können. Das funktioniert auch soweit mit zB mplayer und mpg123 gleichzeitig. Nur MPD will nicht mitspielen :( Habe einiges in diversen wikis ausprobiert, nix hat funktioniert, MPD bleibt stumm - oder reserviert das Ausgabegerät alleine, wenn ich ihn so einstelle. Wenn ich grad dabei bin, wäre es auch schön, wenn MPD eine unabhängige Lautstärkeregelung kriegt.

    Hier mal meine Konfigs, vielleicht findet ja jemand den Fehler. Oder hat das vielleicht jemand selbst so ähnlich am Laufen und könnte mir seine Konfig zeigen?

    .asoundrc


    /etc/mpd.conf, die einzige Möglichkeit, dass MPD überhaupt Musik spielt.

    Code
    audio_output {
           type            "alsa"
           name            "USB Soundkarte"
           device          "hw:1,0"        # optional
           format          "44100:16:2"    # optional
           mixer_device    "default"       # optional
           mixer_control   "PCM"           # optional
           mixer_index     "0"             # optional
    }


    Code
    cat /proc/asound/version


    Advanced Linux Sound Architecture Driver Version k4.1.19-v7+.

    Code
    uname -a


    Linux Pi2 4.1.19-v7+ #858 SMP Tue Mar 15 15:56:00 GMT 2016 armv7l GNU/Linux


    mpd version: 0.19.0


    Im Großen und Ganzen hab ich mich an dem hier probiert: http://mpd.wikia.com/wiki/Alsa#ALSA…_volume_control Leider ist der letzte Edit da auch schon von 2013 -.- Da hat noch keiner an Jessie gedacht und nix... Wenn es noch interessante Infos gibt, die ich vergessen habe, zu listen, sagt Bescheid. Hoffe, es kann mir jemand helfen. Wie gesagt, mit anderen Programmen funktioniert es, nur eben mit MPD nicht.

    Vielen Dank im Voraus


    PS: Auch mit der Methode von hier (https://wiki.archlinux.de/title/Music_Player_Daemon) hat es nicht geklappt

    Edited once, last by KrawallKurt (July 27, 2016 at 7:17 PM).

  • Okay, hab jetzt ne mehr oder weniger funktionierende Lösung gefunden.

    Code
    audio_output {
            type            "alsa"
            name            "dmixer"
            format          "44100:16:2"
            options         "dev=dmixer"
            device          "dmixer"
            mixer_type      "software"
    }

    und /etc/asound.conf wie oben. Auf diese Art wird zwar im alsamixer kein zweiter Lautstärkeregler für MPD angezeigt, aber die Lautstärkeregelung von MPD ist trotzdem vom Rest getrennt. Ich stelle die dann über mpc volume ein. Leider ist die Lautstärkeregelung nicht unabhängig. Also, wenn ich im alsamixer die Lautstärke auf 0 stelle, ist MPD auch stumm. Wenn ich allerdings die alsamixer Lautstärke auf 100% stelle, kann ich trotzdem die MPD Lautstärke von 0-100 einstellen, was auch funktioniert. Schöner wäre es so richtig unabhängig, aber so ist es für mich auch akzeptabel

  • Dein anfänglicher Fehler war einmal (vermutlich), dass du mit der ~/.asoundrc ALSA nur für einen Benutzer konfiguriert hast und das wohl nicht der Benutzeraccount war, unter dem mpd läuft.

    Ein eigener Lautstärkeregler sollte jedenfalls sich recht einfach realisieren lassen - ich hätte es etwa so gemacht:

    und dementsprechend der Output-Abschnitt der mpd.conf

    Code
    audio_output {
           type            "alsa"
           name            "USB Soundkarte"
           device          "mpd_softvol"
           format          "44100:16:2"
           mixer_type   "alsa"
           mixer_device    "default"
           mixer_control   "MPD"
    }

    Habs jetzt nicht ausprobiert, aber ich denke so ungefähr sollte es funktoinieren. Dann läuft nur die mpd-Ausgabe über diesen softvol-Lautstärkeregler namens "MPD" und sollte sich von mpd-Clients genauso wie mit alsamixer bedienen lassen.

    Die Kanalzuweisungen in dmixer habe ich weggelassen, weil sie ohnehin dem Standard entsprechen.
    Dafür würde ich statt card 1 oder hw:1, … eher den Namen der Soundkarte einsetzen, weil sich der Name normalerweise nie ändert - die Nummerierung kann sich dagegen schon ändern.

  • Danke, aber das ist auch nicht wirklich das, was ich wollte. Auf diese Art ist die MPD Lautstärke immer noch abhängig von der PCM Lautstärke. Wenn ich PCM auf 0% stelle und MPD auf 100%, ist trotzdem stumm. Wollte das ursprünglich eigentlich so ganz unabhängig

  • Ach nein, jetzt verstehe ich das Prinzip... Eigentlich ganz logisch. Ich führe noch einen Regler ein. Dann hab ich:
    - PCM: Quasi Master-Volume
    - MPD: Lautstärke nur für MPD
    - Rest: Lautstärkeregler für alle anderen Programme, default

    Was mir aber grad aufgefallen ist: über den Alsa Regler ist die Musik es leiser, als über
    mixer_type "software"

    Ist aber nicht schlimm. Am Anschlag hör ich eh net ^^

    Der Vollständigkeit halber mal noch meine /etc/asound.conf, falls mal jemand hier drüber stolpert.

    /etc/mpd.conf

    Code
    audio_output {
            type            "alsa"
            name            "Softvol"
            device          "mpdvol"        # optional
            format          "44100:16:2"    # optional
            mixer_device    "mpdvol"       # optional
            mixer_control   "MPD"           # optional
            mixer_type      "hardware"
    }

    Edited once, last by KrawallKurt (July 30, 2016 at 2:33 PM).

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!