Ankündigung

Einklappen
Keine Ankündigung bisher.

Multiroom Audio mit interner Soundkarte

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Multiroom Audio mit interner Soundkarte

    Hallo Zusammen,

    hat jemand eine spontane Idee, wie man eine interne Soundkarte, evtl auch Mehrkanal-Soundkarte als eigenständige Mono Audiosinks deklarieren kann?

    Ich habe openHAB auf meinem Debian Server mit einer 5.1 Onboard Soundkarte im Keller installiert. Dort liegen auch jeweils meine Lautsprecherkabel z.B. aus der Küche und Bad.

    Rein plakativ gesprochen würde ich gerne einen Audio-Stream (Stereo kodiert) auf der internen Soundkarte auf dem linken Kanal wiedergeben wollen, einen zweiten Stream dann unabhängig auf dem rechten Kanal. An der Soundkarte habe ich einen HiFi Stereo Verstärke (Maintronic Logiamp) mit Auto On/Off angeschlossen.

    Mit
    Code:
    playStream("enhancedjavasound", "http://example.com")
    lässt sich zwar ein Stream ausgeben, jedoch nur mit 2-Kanal Ausgang.

    Man müsste also entweder der Funktion "playStream" irgendwie beibringen müssen auf welchem Kanal L oder R oder ggf. auch Rear-L oder Rear-R der Stream wiederzugeben ist, oder man müsste eine Senke mit entsprechender Eigenschaft definieren. Bei der Websuche stoße ich zwar immer auf Pulseaudio, oder denke ich, das sich die unabhängige Kanaltrennung nicht einstellen lässt. Sicherlich hilft Pulseaudio dabei, ggf. später einen Stream via Ethernet an eine RasPi zu übergeben, der wiederum einen L und einen R oder L/R Kanal via Endstufe z.B. im Gartenhäuschen ;-) ausgibt.

    Hat jemand soetwas in der Vergangenheit bereits mal aufgesetzt und kann mit konkreten Hinweisen mich zum Ziel führen bzw. näher heranbringen?

    Besten Dank :-)

    #2
    Ich habe das via ALSA gelöst, bin allerdings dabei, das Ganze auch mit PulseAuido durchzuziehen. Das Hauptproblem dabei ist, dass PulseAudio sich nicht dazu überreden lässt, als Dienst zu laufen, was aber Voraussetzung dafür sein dürfte, es ohne Anmeldung zu nutzen.

    Mit ALSA sieht das Ganze jedenfalls so aus:
    Code:
    udo1toni@odroid:~$ cat /etc/asound.conf
    
    pcm.snd_card {
            type hw
            card Device
            device 0
    }
    
    ctl.snd_card {
            type hw
            card Device
            device 0
    }
    
    pcm.dshare {
        type dmix
        ipc_key 2048
        slave.pcm "snd_card"
        slave {
            rate 48000
            period_time 0
            period_size 1024
            buffer_size 8192
            channels 8
        }
        bindings {
            0 0
            1 1
            2 2
            3 3
            4 4
            5 5
            6 6
            7 7
        }
    }
    pcm.ausg1 {
        type plug
        slave {
            pcm "dshare"
            channels 8
        }
        hint {
            show on
            description "Ausgang 1"
        }
        ttable.0.0 1
        ttable.1.1 1
    }
    
    pcm.ausg2 {
        type plug
        slave {
            pcm "dshare"
            channels 8
        }
        hint {
            show on
            description "Ausgang 2"
        }
        ttable.0.2 1
        ttable.1.3 1
    }
    
    pcm.ausg3 {
        type plug
        slave {
            pcm "dshare"
            channels 8
        }
        hint {
            show on
            description "Ausgang 3"
        }
        ttable.0.4 1
        ttable.1.5 1
    }
    
    pcm.ausg4 {
        type plug
        slave {
            pcm "dshare"
            channels 8
        }
        hint {
            show on
            description "Ausgang 4"
        }
        ttable.0.6 1
        ttable.1.7 1
    }
    
    pcm.alle {
        type plug
        slave {
            pcm "dshare"
            channels 8
        }
        hint {
            show on
            description "Ausgang alle"
        }
        ttable.0.0 1
        ttable.1.1 1
        ttable.0.2 1
        ttable.1.3 1
        ttable.0.4 1
        ttable.1.5 1
        ttable.0.6 1
        ttable.1.7 1
    }
    Ich habe allerdings tatsächlich Stereo Lautsprecher vorgesehen, das macht aber kaum einen Unterschied, man kann auf ähnliche Weise auch Zwei Kanäle zu einem Kanal mischen.

    Wie oben erwähnt geht das (und noch viel mehr) genauso gut auch mit PulseAudio. Du brauchst in der ersten Stufe Mono-Mischer für jeden Raum, in der zweiten Stufe musst Du aus einer Soundkarte virtuell mehrere Soundkarten erzeugen. Es gibt dazu leider so viele Anleitungen im Netz, dass es nicht so einfach ist, die richtigen Anweisungen aus dem Wust heraus zu filtern...
    Da ich wie erwähnt eine auf ALSA basierende funktionierende Lösung habe, probiere ich immer wieder mal ein bisschen rum...

    Kommentar


      #3
      Zitat von udo1toni Beitrag anzeigen
      Ich habe das via ALSA gelöst, bin allerdings dabei, das Ganze auch mit PulseAuido durchzuziehen. Das Hauptproblem dabei ist, dass PulseAudio sich nicht dazu überreden lässt, als Dienst zu laufen, was aber Voraussetzung dafür sein dürfte, es ohne Anmeldung zu nutzen.
      In dem ug. Link [link]https://wiki.debianforum.de/Audiokonfiguration[/link] gibt es den Absatz "Pulseaudio als systemweiter Daemon" der den Start als Dienst erklärt. Vielleicht hilft Dir das bei Gelegenheit weiter....



      Zitat von udo1toni Beitrag anzeigen
      Ich habe allerdings tatsächlich Stereo Lautsprecher vorgesehen, das macht aber kaum einen Unterschied, man kann auf ähnliche Weise auch Zwei Kanäle zu einem Kanal mischen.
      Danke für Deine Hinweise. Damit war ich in der Lage mir sechs funktionierende PCM Devices zu konfigurieren.

      Code:
      aplay -D mono1|mono2|mono3|etc. test.wav
      spielt nun wie gewünscht die Datei auf einen einzelnen der sechs Kanäle entsprechend ab. :-)

      Mir ist noch nicht ganz klar, wie Du openHAB beigebracht hast ein Soundfile bzw. Stream auf ein bestimmtes PCM Device zu lenken. Einstellung in der jre/lib/sound.properties lenken zwar den Default auf ALSA jedoch erschließt sich mir nicht wie ich ein Devices auswählen kann. Auch schließt sich die Frage an wie man zur Laufzeit das Device wechseln/ auswählen kann.

      Ich würde mich noch über ein paar Hinweise Deiner Konfiguration freuen :-)


      Zitat von udo1toni Beitrag anzeigen
      Wie oben erwähnt geht das (und noch viel mehr) genauso gut auch mit PulseAudio. Du brauchst in der ersten Stufe Mono-Mischer für jeden Raum, in der zweiten Stufe musst Du aus einer Soundkarte virtuell mehrere Soundkarten erzeugen. Es gibt dazu leider so viele Anleitungen im Netz, dass es nicht so einfach ist, die richtigen Anweisungen aus dem Wust heraus zu filtern...
      Was meinst Du hier mit virtueller Soundkarte? Ich habe hier etwas wie "modprobe dummy-snd-card" gelesen. Auch die Frage, wie diese sich in OH auswählen/ konfigurieren lassen...


      Besten Dank...


      PS: Zum Abschluß werde ich dann nochmals alle configfiles für interessierte Leser posten...




      Zuletzt geändert von squeezer; 11.10.2018, 11:55.

      Kommentar


        #4
        Na ja, virtuelle Soundkarte... meint letztlich das gleiche wie die PCM Devices. In Wirklichkeit ist es ja nur eine Soundkarte, sie verhält sich im System aber so, als hättest Du mehrere Soundkarten mit entsprechend weniger Ausgängen.

        Wie man mehrere lokale Devices in openHAB einbindet und unabhängig voneinander benutzt, hab ich ehrlich gesagt auch keine Ahnung. Ich habe auf dem fraglichen Rechner 4 Instanzen von squeezelite laufen, die die vier Devices nutzen. Mit openHAB2 und dem squeeze-Plugin tauchen die vier Instanzen dann auch als unabhängige Senken auf. Auswählen kann man die dann mit der entsprechenden Action.
        Aber wie gesagt, das ist bei mir eine eigene Hardware - ein Odroid U3 mit USB-Soundkarte und 4 Stereo Endstufen, in einem hübschen 19-Zoll-Gehäuse untergebracht.

        Kommentar

        Lädt...
        X