[pulseaudio-discuss] Routing sink to source
windseeker at gmx.de
Fri Nov 9 08:39:23 UTC 2018
I'm not sure if I understood completely, but If your recording app cannot
record via pulseaudio at all, then I don't know how to solve this with
If your recording app CAN record via pulseaudio, then of course you can
also use "pactl" to move sinks and sources with "move-sink-input" and
"move-source-output" commands headless from command line/script/whatever.
Example: I have my audio player "audacious" playing to pulseaudio, have
"pacat -r " recording from pulseaudio and I've loaded a null-sink module.
Let's look around in pulseaudio
$ pactl list clients short
36 protocol-native.c pacat
57 protocol-native.c audacious
$ pactl list sinks short
0 alsa_output.pci-0000_00_1f.3.analog-stereo module-alsa-card.c
s16le 2ch 44100Hz RUNNING
4 null module-null-sink.c s16le 2ch 44100Hz IDLE
$ pactl list sources short
module-alsa-card.c s16le 2ch 44100HzRUNNING
4 null.monitor module-null-sink.c s16le 2ch 44100Hz
Now lets see where audacious (Client 57) is playing to:
$ pactl list sink-inputs short
8 0 57 protocol-native.c float32le 2ch 44100Hz
Well client 57 has a sink-input 8 which it uses to play to sink 0. That's
my soundcard, d'oh! So let's move it to sink 4, the null sink.
$ pactl move-sink-input 8 4
Now audacious plays to the null sink. Good. Now let's look at the recording
app pacat, client 36:
$ pactl list source-outputs short
16 0 36 protocol-native.c s16le 2ch 44100Hz
Okay, with its source-output 16 it records from my soundcard (source 0)
instead of null.monitor (source 4). So let's move this, too:
$ pactl move-source-output 16 4
Et voila, I'm recording with pacat, what my audacious player is playing.
Hope that helps.
Am Fr., 9. Nov. 2018 um 08:41 Uhr schrieb Zoltán Szabó <zoell at zoell.us>:
> Hi Daniel,
> I am running these in console. I don't have GUI. app01 that should use the
> monitor is Chrome in headless mode and it just simply not able to open the
> monitor. It can open and use a pipe source or virtual source but not a null
> sink's monitor :(
> On Fri, Nov 9, 2018 at 5:30 AM Daniel <windseeker at gmx.de> wrote:
>> Hi Zoltán,
>> Since years now I successfully use the way you mentioned in "P.S.". I
>> play to a null sink and record from its monitor.
>> I'm not sure why app02 should not be able to connect to this monitor. If
>> app02 is recording from PA in general, independent of "from where", then it
>> should show in pavucontrol in the "recording" tab. There you can set it's
>> input source to the null sink monitor where app01 plays to.
>> Am Do., 8. Nov. 2018, 19:50 hat Zoltán Szabó <zoell at zoell.us>
>>> I would like to connect my app01's audio output to my app02's microphone.
>>> Here is what I have tried so far:
>>> I create a file pipe sink for my app01:
>>> load-module module-pipe-sink sink_name=pa_speaker_app01
>>> file=/home/pulseaudio/pa_speaker_app01 format=ulaw rate=8000 channels=1
>>> I create a file pipe sink for my app02:
>>> load-module module-pipe-sink sink_name=pa_speaker_app02
>>> file=/home/pulseaudio/pa_speaker_app02 format=ulaw rate=8000 channels=1
>>> This way both of my apps have an available output device.
>>> I create a virtual source as a mic for my other app01 and 02:
>>> load-module module-virtual-source source_name=pa_virtual_source_app01
>>> load-module module-virtual-source source_name=pa_virtual_source_app02
>>> This way anything played on pa_speaker_app02 should be routed to the
>>> app01's microphone pa_virtual_source_app01, right? Also should be true for
>>> app01 to app02.
>>> So I start my app01 and 2:
>>> PULSE_SOURCE=pa_virtual_source_app01 PULSE_SINK=pa_speaker_app01
>>> PULSE_SOURCE=pa_virtual_source_app02 PULSE_SINK=pa_speaker_app02
>>> But this is not working at all. Is this not the right approach? I can
>>> see in the PA logs that the apps are connected successfully to PA.
>>> PS: I also tried to crate a null sink, but app01 (it is actually chrome)
>>> is not able to open the null sink's monitor as a mic.
>>> pulseaudio-discuss mailing list
>>> pulseaudio-discuss at lists.freedesktop.org
>> pulseaudio-discuss mailing list
>> pulseaudio-discuss at lists.freedesktop.org
> pulseaudio-discuss mailing list
> pulseaudio-discuss at lists.freedesktop.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the pulseaudio-discuss