.. ist in ALSA kein loopback möglich?
Automatisch transskribieren/Audiobrücke herstellen
Anmeldungsdatum: Beiträge: 53 |
|
Anmeldungsdatum: Beiträge: 53 |
Lösung in Pulseaudio https://endless.ersoft.org/pulseaudio-loopback/ |
(Themenstarter)
Anmeldungsdatum: Beiträge: 3162 Wohnort: Köln |
$ pa_cmd load-module module-alsa-source device=PA_Monitor Der Befehl 'pa_cmd' wurde nicht gefunden, meinten Sie: Befehl 'pacmd' aus dem deb pulseaudio-utils Versuche: sudo apt install <deb name> $ pacmd load-module module-alsa-source device=PA_Monitor Module load failed. |
Anmeldungsdatum: Beiträge: 53 |
pacmd load-module module-alsa-source device=PA_Monitor verstehe ich nicht, Ausgang geht nach ALSA, wieso soll der in PA sichtbar sein? Da Chrome den Eingang abgreift, würde "loopback" in ALSA doch Sinn machen, oder habe ich hier nen Denkfehler? |
(Themenstarter)
Anmeldungsdatum: Beiträge: 3162 Wohnort: Köln |
Gut dass Du es mal ansprichst, ich hab mich auch schon gewundert, wieso pacmd (PulseAudioCommand) ein in PA nicht definiertes ALSA-Device behandeln soll. |
(Themenstarter)
Anmeldungsdatum: Beiträge: 3162 Wohnort: Köln |
|
Anmeldungsdatum: Beiträge: 53 |
Gerät: PulseAudio F1: Hilfe │ │ Chip: PulseAudio F2: System-Informationen │ │ Ansicht: F3: Wiedergabe F4: Aufnahme F5:[Alle] F6: Klangkarte auswählen │ │ Element: Capture Esc: Beenden │ Ich frage nochmal, lässt sich das was in ALSA von PA reinkommt auf den physichen Eingang einer Soundkarte legen? Ich will mir nicht anmaßen, das zu beurteilen, mglw. geht's tatsächlich. Aber wohl nicht per "loopback".
Wenn nicht sehe ich den Weg über ALSA als sinnlos an. Einen *.monitor klonen für PA ebenfalls. Chrome will auf "physiche Hardware" zugreifen, die Monitorquellen sind der falsche Weg m.M. Maximal könnte man noch einen Monitor "verhunzen" um Chrome vorzugaukeln, das wäre Hardware. Oder mal den PA_Lösungslink nachvollziehen, was ich wohl am WE mal machen werde. |
Supporter
![]() Anmeldungsdatum: Beiträge: 6474 Wohnort: Erlangen |
PulseAudio ist mir ein Rätsel, darum schmeiße ich das immer als erstes von der Platte 😉 Aber: PA greift ja auf die von ALSA bereitgestellten Schnittstellen zurück. Nach welchen Kriterien das allerdings geschieht erschließt sich mit nicht (direkter Zugang auf hw:0 etc?). Ich hab aber schon ein paar mal gesehen, dass auch zB die "surround51"-ALSA-Devices genutzt werden, jedoch dann unter verhunzten Namen wie "Analog Intel HDA Karte 1 Surround 5.1" usw. Das weiß wohl nur der Programmierer von PA, wie er die ALSA-Devices von "aplay -L" parsed und umbenamst. Und was Google-Chrome da veranstaltet weiß auch niemand (Device inaktiv bei Fokusverlust?!? Wtf? 🙄 ) Was man noch probieren könnte: in PA ein Loopback einrichten (Quelle Player wird zur Source) und diese Source so benamsen, dass Google-Chrome sie frißt. Hängt halt davon ab, wie sie den Namen parsen, oder ob sie ggf den ganzen Infoblock auslesen, um zu ermitteln, was für ein Device das ist. |
Anmeldungsdatum: Beiträge: 53 |
Mit JACK soll's problemlos gehen. |
Supporter
![]() Anmeldungsdatum: Beiträge: 6474 Wohnort: Erlangen |
Jain 😉 Google-Chrome spricht nur mit PulseAudio, es hat keine native jack-Schnittstelle. Das Standardverfahren ist idF aber dieses: man konfiguriert PA so, dass es nur eine "jack-sink" und eine "jack-source" hat. Alle "normalen" Programme geben ihren Sound bei PulseAudio ab, das umgehend in jack weiterleitet (hier lauern Fallstricke bzgl Latenz). Ebenso gibt es nur eine Source, eben die von jack (gleiche Latenz-Problematik). Was man in diese hinenroutet ist völlig wurst, PA sieht davon nur "jack-source". Ja, damit geht's. - Ich rate aber niemanden sich wegen so eines banalen Problems jack anzutun. 😉 |
Anmeldungsdatum: Beiträge: 53 |
JACK stand schon immer auf meiner ToDo Liste. Bis ich es mir mal anschaute. ☺ Vllt. bald ein 2. Versuch.. |
(Themenstarter)
Anmeldungsdatum: Beiträge: 3162 Wohnort: Köln |
$ pacmd load-module module-alsa-source device=PA_Monitor Module load failed. Das $ pacmd list-modules 29 module(s) loaded. index: 0 name: <module-device-restore> argument: <> used: -1 load once: yes properties: module.author = "Lennart Poettering" module.description = "Automatically restore the volume/mute state of devices" module.version = "11.1" index: 1 name: <module-stream-restore> argument: <> used: -1 load once: yes properties: module.author = "Lennart Poettering" module.description = "Automatically restore the volume/mute/device state of streams" module.version = "11.1" index: 2 name: <module-card-restore> argument: <> used: -1 load once: yes properties: module.author = "Lennart Poettering" module.description = "Automatically restore profile of cards" module.version = "11.1" index: 3 name: <module-augment-properties> argument: <> used: -1 load once: yes properties: module.author = "Lennart Poettering" module.description = "Augment the property sets of streams with additional static information" module.version = "11.1" index: 4 name: <module-switch-on-port-available> argument: <> used: -1 load once: no properties: index: 5 name: <module-switch-on-connect> argument: <> used: -1 load once: yes properties: module.author = "Michael Terry" module.description = "When a sink/source is added, switch to it or conditionally switch to it" module.version = "11.1" index: 6 name: <module-udev-detect> argument: <> used: -1 load once: yes properties: module.author = "Lennart Poettering" module.description = "Detect available audio hardware and load matching drivers" module.version = "11.1" index: 7 name: <module-alsa-card> argument: <device_id="0" name="pci-0000_00_1b.0" card_name="alsa_card.pci-0000_00_1b.0" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes card_properties="module-udev-detect.discovered=1"> used: 1 load once: no properties: module.author = "Lennart Poettering" module.description = "ALSA Card" module.version = "11.1" index: 8 name: <module-bluetooth-policy> argument: <> used: -1 load once: yes properties: module.author = "Frédéric Dalleau, Pali Rohár" module.description = "Policy module to make using bluetooth devices out-of-the-box easier" module.version = "11.1" index: 9 name: <module-bluetooth-discover> argument: <> used: -1 load once: yes properties: module.author = "João Paulo Rechi Vita" module.description = "Detect available Bluetooth daemon and load the corresponding discovery module" module.version = "11.1" index: 10 name: <module-bluez5-discover> argument: <> used: -1 load once: yes properties: module.author = "João Paulo Rechi Vita" module.description = "Detect available BlueZ 5 Bluetooth audio devices and load BlueZ 5 Bluetooth audio drivers" module.version = "11.1" index: 11 name: <module-native-protocol-unix> argument: <> used: -1 load once: no properties: module.author = "Lennart Poettering" module.description = "Native protocol (UNIX sockets)" module.version = "11.1" index: 12 name: <module-default-device-restore> argument: <> used: -1 load once: yes properties: module.author = "Lennart Poettering" module.description = "Automatically restore the default sink and source" module.version = "11.1" index: 13 name: <module-rescue-streams> argument: <> used: -1 load once: yes properties: module.author = "Lennart Poettering" module.description = "When a sink/source is removed, try to move its streams to the default sink/source" module.version = "11.1" index: 14 name: <module-always-sink> argument: <> used: -1 load once: yes properties: module.author = "Colin Guthrie" module.description = "Hält stets ein Ziel geladen, selbst wenn dies ein Null-Ziel ist" module.version = "11.1" index: 15 name: <module-intended-roles> argument: <> used: -1 load once: yes properties: module.author = "Lennart Poettering" module.description = "Automatically set device of streams based on intended roles of devices" module.version = "11.1" index: 16 name: <module-suspend-on-idle> argument: <> used: -1 load once: yes properties: module.author = "Lennart Poettering" module.description = "When a sink/source is idle for too long, suspend it" module.version = "11.1" index: 17 name: <module-console-kit> argument: <> used: -1 load once: yes properties: module.author = "Lennart Poettering" module.description = "Create a client for each ConsoleKit session of this user" module.version = "11.1" index: 18 name: <module-systemd-login> argument: <> used: -1 load once: yes properties: module.author = "Lennart Poettering" module.description = "Create a client for each login session of this user" module.version = "11.1" index: 19 name: <module-position-event-sounds> argument: <> used: -1 load once: yes properties: module.author = "Lennart Poettering" module.description = "Position event sounds between L and R depending on the position on screen of the widget triggering them." module.version = "11.1" index: 20 name: <module-role-cork> argument: <> used: -1 load once: yes properties: module.author = "Lennart Poettering" module.description = "Mute & cork streams with certain roles while others exist" module.version = "11.1" index: 21 name: <module-snap-policy> argument: <> used: -1 load once: yes properties: module.author = "Canonical Ltd" module.description = "Ubuntu Snap policy management" module.version = "11.1" index: 22 name: <module-filter-heuristics> argument: <> used: -1 load once: yes properties: module.author = "Colin Guthrie" module.description = "Detect when various filters are desirable" module.version = "11.1" index: 23 name: <module-filter-apply> argument: <> used: -1 load once: yes properties: module.author = "Colin Guthrie" module.description = "Load filter sinks automatically when needed" module.version = "11.1" index: 24 name: <module-x11-publish> argument: <display=:0> used: -1 load once: no properties: module.author = "Lennart Poettering" module.description = "X11 credential publisher" module.version = "11.1" index: 25 name: <module-x11-bell> argument: <display=:0 sample=bell.ogg> used: -1 load once: no properties: module.author = "Lennart Poettering" module.description = "X11 bell interceptor" module.version = "11.1" index: 26 name: <module-x11-cork-request> argument: <display=:0> used: -1 load once: no properties: module.author = "Lennart Poettering" module.description = "Synthesize X11 media key events when cork/uncork is requested" module.version = "11.1" index: 27 name: <module-x11-xsmp> argument: <display=:0 session_manager=local/T500:@/tmp/.ICE-unix/1618,unix/T500:/tmp/.ICE-unix/1618> used: -1 load once: no properties: module.author = "Lennart Poettering" module.description = "X11 session management" module.version = "11.1" index: 28 name: <module-cli-protocol-unix> argument: <> used: -1 load once: no properties: module.author = "Lennart Poettering" module.description = "Command line interface protocol (UNIX sockets)" module.version = "11.1" |
Anmeldungsdatum: Beiträge: 53 |
bei mir geht's. selbst das(ohne namen) "pacmd load-module module-alsa-source" läd der als neue source (kommt meldung von pasystray) |
Supporter
![]() Anmeldungsdatum: Beiträge: 6474 Wohnort: Erlangen |
Merkwürdig! Das gehört direkt zu PA: https://packages.ubuntu.com/focal/amd64/pulseaudio/filelist. Da stimmt etwas mit deiner Installation nicht... 🙄 Mach mal: sudo apt install --reinstall pulseaudio |
(Themenstarter)
Anmeldungsdatum: Beiträge: 3162 Wohnort: Köln |
/usr/lib/pulse-11.1/modules/module-alsa-source.so ist vorhanden
Bevor ich da was mache, guck mal hier in /etc/pulse/default.pa : ### Load audio drivers statically ### (it's probably better to not load these drivers manually, but instead ### use module-udev-detect -- see below -- for doing this automatically) #load-module module-alsa-sink #load-module module-alsa-source device=hw:1,0 #load-module module-oss device="/dev/dsp" sink_name=output source_name=input #load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input #load-module module-null-sink #load-module module-pipe-sink Ich hänge mal alle /etc/pulse/-Dateien an, vielleicht kommt Dir da ja ein Geistesblitz. |