Virtual Audio Cable in Linux
#1
Hallo Linux-Spezis,

ich habe nach der Beschreibung bei
https://www.onetransistor.eu/2017/10/vir...buntu.html
unter
"ALSA makes use of a virtual loopback module. It can be loaded with modprobe:
sudo modprobe snd_aloop "
ein virtual loopback module eingerichtet.

Nun möchte ich den Audio-Output des Internet-Browsers (Firefox oder Chrome) auf so ein virtual device lenken, von da da wieder auf das Sound-Interface zwecks Mithörmöglichkeit.
Vom virtual monitor des virtual loopback module sollte dann eine gleichzeitige (digitale) Aufnahme möglich sein.

Bislang habe ich nicht gefunden, wo ich diese Zuordnungen einstellen kann. In den Browsern finde ich keine Einstellmöglichkeit für das Ausgabeziel.
Wo macht man das ?

MfG Kai
Zitieren
#2
kaimex,'index.php?page=Thread&postID=244089#post244089 schrieb:Bislang habe ich nicht gefunden, wo ich diese Zuordnungen einstellen kann. In den Browsern finde ich keine Einstellmöglichkeit für das Ausgabeziel.
Wo macht man das ?

Hallo Kai,

hier steht was dazu: https://linuxmusicians.com/viewtopic.php?t=14557

Demnach müsste es funktionieren, wenn man Firefox so startet:

Zitat:firefox | aplay -Dcard:Loopback --format=S32_LE -r 48000
firefox | aplay -Dplughw:0,1 --format=S32_LE -r 48000

Gruß,
Timo
Zitieren
#3
Hallo Timo,

danke für den Hinweis auf diese Stelle.
Das werde ich mal "studieren" und probieren.
Eine Erklärung für dieses "Rezept" kann ich da beim Überfliegen noch nicht entdecken.
Ich fühl mich immer wohler, wenn ich eine solche Anweisung von einer "Eingangsbasis" aus als logische Konsequenz nachvollziehen kann. Dieser Vorschlag erscheint jedoch wie aus dem Hut gezaubert.
Wenn solche Möglichkeiten eingerichtet werden, müßte es doch auch irgendwo eine Beschreibung des Funktionsprinzips und zweckmäßiger Kommandos geben oder gar ein komfortables "Switchboard", in dem man die virtuellen Audio-Strippen wunschgemäß ziehen/verlegen kann.

Enttäuscht bin ich (auch) über den linux "audio-recorder": Es gibt eine Anweisungssyntax zur Gestaltung seines Recording-Commandos, aber eine Beschreibung/Definition derselben ist nicht dabei. Weist man das Teil an, Audio in mp4- oder m4a-Files zu schreiben, werden bereitwillig entsprechend Files angelegt, die aber völlig unbrauchbar sind, weil die Autoren offenbar nicht in der Lage sind, korrekte mp4-File Container zu erzeugen und die Daten darin unterzubringen. Die Files sind nicht abspielbar.
Eine Beschreibung, wie man stattdessen adts-aac-Files erzeugen kann (einfachere Container-Struktur, die dieselben Daten aufnehmen kann) ist nicht zu finden.
Die Autoren haben doch nicht gestern angefangen, es zu programmieren. Ist das Programm trotz dieser Defizite alternativlos geblieben ?

MfG Kai
Zitieren
#4
Eben habe ich mal die beiden Aufrufe von firefox ausprobiert:
1.:
~ $ firefox | aplay -Dcard:Loopback --format=S32_LE -r 48000
ALSA lib pcm.c:2266Sadsnd_pcm_open_noupdate) Unknown PCM card:Loopback
aplay: main:722: Fehler beim Öffnen des Gerätes: Datei oder Verzeichnis nicht gefunden

2.:
~ $ firefox | aplay -Dplughw:0,1 --format=S32_LE -r 48000
aplay: main:722: Fehler beim Öffnen des Gerätes: Datei oder Verzeichnis nicht gefunden

MaW: gehen bei mir nicht

MfG Kai
Zitieren
#5
Kannst Du mal bitte die Ausgabe von

Zitat:aplay -l

posten?
Zitieren
#6
~ $ aplay -l
**** Liste der Hardware-Geräte (PLAYBACK) ****
Karte 0: ICH6 [Intel ICH6], Gerät 0: Intel ICH [Intel ICH6]
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0
Karte 0: ICH6 [Intel ICH6], Gerät 4: Intel ICH - IEC958 [Intel ICH6 - IEC958]
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0
Karte 1: Loopback [Loopback], Gerät 0: Loopback PCM [Loopback PCM]
Sub-Geräte: 8/8
Sub-Gerät #0: subdevice #0
Sub-Gerät #1: subdevice #1
Sub-Gerät #2: subdevice #2
Sub-Gerät #3: subdevice #3
Sub-Gerät #4: subdevice #4
Sub-Gerät #5: subdevice #5
Sub-Gerät #6: subdevice #6
Sub-Gerät #7: subdevice #7
Karte 1: Loopback [Loopback], Gerät 1: Loopback PCM [Loopback PCM]
Sub-Geräte: 8/8
Sub-Gerät #0: subdevice #0
Sub-Gerät #1: subdevice #1
Sub-Gerät #2: subdevice #2
Sub-Gerät #3: subdevice #3
Sub-Gerät #4: subdevice #4
Sub-Gerät #5: subdevice #5
Sub-Gerät #6: subdevice #6
Sub-Gerät #7: subdevice #7

Bei
https://www.onetransistor.eu/2017/10/vir...buntu.html
steht:
" ALSA
ALSA makes use of a virtual loopback module. It can be loaded with modprobe:

sudo modprobe snd_aloop

The new device has 8 I/O ports (a.k.a. subdevices). You can view them using aplay -l command. Example output:

card 1: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]
Subdevices: 7/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 1: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7

In this example you can see that the virtual devices are hw:1,0 and hw:1,1. From here, things get simple: one application outputs sound to hw:1,0 and the other records that sound from hw:1,1. I guess the other way round works too. It should be noted that the parameters of the sound are controlled by the first application that opens one of the loopback devices."

MfG Kai
Zitieren
#7
Ich stochere ein bisschen, aber soweit ich es verstehe, ist bei "-Dplughw" in der zweiten Variante die Zahl vor dem Komma die ID der Karte (bei Dir 1) und das nach dem Komma die des virtuellen Geräts (bei Dir 0). Somit müsste es dann so lauten:

Zitat:firefox | aplay -Dplughw:1,0 --format=S32_LE -r 48000

Kannst Du noch mal probieren...?
Zitieren
#8
~ $ firefox | aplay -Dplughw:1,0 --format=S32_LE -r 48000
aplay: playback:2716: Lesefehler

Ist der "Lesefehler" zum playback ein (Teil-?-) Erfolgs-Indiz ?

MfG Kai
Zitieren
#9
kaimex,'index.php?page=Thread&postID=244222#post244222 schrieb:Ist der "Lesefehler" zum playback ein (Teil-?-) Erfolgs-Indiz ?

Ich denke, er ist jetzt einen Schritt weiter.

Aber warum der Lesefehler - keine Ahnung, evtl. ein Berechtigungsproblem? Ich glaube, ich probiere es am Wochenende mal selbst aus.
Zitieren
#10
Hallo Timo,

dazu kann ich noch etwas ergänzen:
in der unteren Bedienleiste von Linux Mint war ursprünglich rechts außen ein Icon zum Öffnen des Lautstärke-Stellers. Das habe ich mal versehentlich gelöscht, als ich ein anderes daneben löschen wollte. Da ich nirgends eine Möglichkeit fand, das wieder herzustellen, habe ich dann dort den "PulsAudio-Lautstärkeregler" installiert. Mit dem kann ich die Audio-Ausgabe vom Analog-Ausgang umstellen auf einen IEC958 (S/PDIF) Digital-Ausgang. Von dem wiederum läßt sich dann im Prinzip mit dem Audio-Recorder ?angeblich? digital aufnehmen. Nur ist mir das bislang mit dem murksigen Audio-Recorder nicht gelungen. Ich hatte anfangs als File-Format mp4 bzw m4a gewählt. Dabei erzeugt der Recorder aber nur nicht abspielbare Files, die von anderen Programmen nicht als mp4 oder m4a erkannt werden, weil der mp4-header Teil im File völliger Murks ist. Ich meine, ich hätte es auch mal mit mp3 versucht, der Recorder hat aber trotzdem wieder seine unbrauchbare mp4-Version erzeugt.
Insofern könnte es sein, daß mit der Wahl des Ausgabe-Mediums per PulsAudio aus der in ALSA erzeugten Loopback-Option bereits die gewünschte Funktion möglich ist, aber die erfolgreiche Nutzung bislang am Audio-Recorder scheiterte.
Gibt es eine besser funktionierende Alternative zu dem Audio-Recorder ?

MfG Kai
Zitieren
#11
moin moin,

ich spintisiere mal rum, kann Audacity nicht den audiostrom mitschneiden ?
kann's grade nich testen wegen win-dienst-pc.

reginald
Das wahre Verbrechen verübt die volkstümliche Musik am Gehörgang der Menschheit.
( Benno Berghammer )
Zitieren
#12
Mit Linux kenne ich mich leider nicht aus, unter Windows kann Audacity alles mitschneiden, was über die Soundkarte läuft.

Grüße
Erhard
Ich freue mich, wenn es regnet, denn wenn ich mich nicht freue, regnet es trotzdem. Karl Valentin
Zitieren
#13
Sicher kann man mit Audacity aufnehmen.
Hab ich bisher nicht in Erwägung gezogen, weil ich eigentlich nur "naturbelassen" aufzeichnen will und den ganzen Programm-Overhead eines WAV-Editors dazu nicht brauche. Außerdem ist mir unklar, ob Audacity in den Speicher schreibt oder direkt oder per LAME oder ffmpeg in mp3 oder mp4 blockweise gleich auf Disk schreibt ohne Zeit- bzw. Speicher-Begrenzung. Da Audacity defaultmäßig im 32-Bit Gleitkomma-Format arbeitet, hätte ich die zusätzliche Befürchtung, daß die Daten wohlmöglich erstmal so Speicher-fressend abgelegt werden.
Insofern ist mir ein reines Aufnahme-Programm (wie zB Wave-Rec unter Windows) lieber. Im einfachsten Fall (PCM-Format i.e wav) bräuchte es schließlich die zur Soundcard geschickten Datenblöcke einfach nur zusätzlich noch auf Disk schreiben und hinterher einen korrekten Header davorschreiben. Das Betriebssystem muß einem nur ermöglichen, sich da einzuklinken. Falls es unter Linux ein Wiedergabe-Programm gibt, für das es eine dokumentierte DSP-plug-in Schnittstelle gibt (so wie zB beim WinAmp) dann könnte man dort die Datenblöcke "packen" und auf Disk speichern.

MfG Kai
Zitieren
#14
Auch wenn das Thema uralt ist, möchte ich trotzdem den Tipp geben: Pulseaudio heißt das Zauberwort. Dazu einfach das Paket pavucontrol installieren. In Audacity dann auf Aufnahme drücken. Jetzt, wo die Aufnahme gestartet ist, das Programm pavucontrol öffnen, dort in den Tab "Aufnahme" gehen und bei Spotify als Gerät "Monitor" wählen. Schon wird alles mitgeschnitten, klappt zum Beispiel auch prima mit Spotify etc.
Schnürsenkelband: Teac A3300SX-2T, Revox A77 MK3, Sony TC-366, Grundig TK 3200, Grundig TK 8, Simonetta TB 491
Kassette: Onkyo TA-2870, RFT SK 3000 Hifi
--
Lieblings-Bandsorten / Empfehlungen in zufälliger Reihenfolge:
Standardband: Orwo 104, Orwo 106, Orwo 103, Orwo 100, BASF/Agfa PER-528
Langspielband: Orwo 113, BASF/Agfa PER-368, LPR-35, BASF PES-40, BASF LGS-35, Agfa PE-31/PE-36/PE-39
Doppelspielband: Orwo 120, BASF LGS-26, Agfa PE-41/PE-46/PE-49, Grundig GD15
Dreifachspielband: Orwo 130
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste