Hi
I'm running Jack as my main audio server and use Cadence for configuration. I've Alsa bridged to Pulse and Pulse bridged to Jack as shown in the attachments. I have a audio interface (Scarlett 2i2) which is setup as my main input and output device in Cadence.
As one would hope to expect, all my outputs are correctly going to my audio interface and my inputs from the audio interface are recording correctly.
What I would like to know is whether I can somehow send the input from my built-in webcam microphone through the bridges as well. For example, Google Meet and Microsoft Teams can only pick up Jack Source, so it successfully pics up the microphone plugged into my audio interface, but is completely blind to my built-in mic. For conference calls I'd like to just turn down the volume of my external microphone and turn up the volume from my built-in mic to use that instead, is this possible?
Trying to get built-in mic running on Pulse to bridge through Jack Source
Moderators: MattKingUSA, khz
-
- Posts: 2
- Joined: Thu Jan 14, 2021 10:33 am
Re: Trying to get built-in mic running on Pulse to bridge through Jack Source
What you need is to create a channel for your Pulseaudio stream to connect to: We called this one WebcamOUT (but you can change that to whatever you want) and we're telling pulseaudio we only want it to output mono.
Then you need something* that will monitor your pulseaudio device (the webcam source. Then either from the app or from the PulseAudio Volume Control app you can now select the output of that application to go to the newly created channel that you have called WebcamOUT. From there you can access it inside your Jack aware applications.
*In the aforementioned case, the something is an application, but I'm not happy with this. It means you have to open/run an application just to pull in the audio and send it to Jack. There is a way to do this all from the commandline, using pactl but at the moment I can't figure out how exactly.
edit: I found it! obviously I went for the lowest latency permitted. Now you can use your PulseAudio Volume Control app, in the Recording tab to select the webcam, and in Playback to select the JACK Webcam channel we created earlier. You can do the routing in the commandline using pactl, but I'll leave that as an exercise for you.
Code: Select all
pactl load-module module-jack-sink client_name=WebcamOUT channels=1
Then you need something* that will monitor your pulseaudio device (the webcam source. Then either from the app or from the PulseAudio Volume Control app you can now select the output of that application to go to the newly created channel that you have called WebcamOUT. From there you can access it inside your Jack aware applications.
*In the aforementioned case, the something is an application, but I'm not happy with this. It means you have to open/run an application just to pull in the audio and send it to Jack. There is a way to do this all from the commandline, using pactl but at the moment I can't figure out how exactly.
edit: I found it!
Code: Select all
pacmd load-module module-loopback latency_msec=1
-
- Posts: 2
- Joined: Thu Jan 14, 2021 10:33 am
Re: Trying to get built-in mic running on Pulse to bridge through Jack Source
Thanks arifd. This was very useful. I've been playing around with it, though I can't seem to select my webcam mic from the dropdown in the Recording tab in Pavucontrol, it just doesn't show up. So, regarding your point around routing, I take it I need to do something along the lines of , but also doesn't show my built-in mic.
Am I misunderstanding something?
Code: Select all
pactl load-module module-loopback source=<name_or_index> sink=<name_or_index>
Code: Select all
pacmd list-sources
Am I misunderstanding something?
Code: Select all
$ pacmd list-sources
3 source(s) available.
index: 0
name: <jack_in>
driver: <module-jack-source.c>
flags: DECIBEL_VOLUME LATENCY
state: RUNNING
suspend cause:
priority: 0
volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB
balance 0.00
base volume: 65536 / 100% / 0.00 dB
volume steps: 65537
muted: no
current latency: 10.17 ms
max rewind: 0 KiB
sample spec: float32le 2ch 48000Hz
channel map: front-left,front-right
Stereo
used by: 2
linked by: 2
fixed latency: 5.33 ms
module: 3
properties:
device.api = "jack"
device.description = "Jack source (PulseAudio JACK Source)"
jack.client_name = "PulseAudio JACK Source"
device.icon_name = "audio-input-microphone"
index: 1
name: <jack_out.monitor>
driver: <module-jack-sink.c>
flags: DECIBEL_VOLUME LATENCY
state: RUNNING
suspend cause:
priority: 1000
volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB
balance 0.00
base volume: 65536 / 100% / 0.00 dB
volume steps: 65537
muted: no
current latency: 0.00 ms
max rewind: 0 KiB
sample spec: float32le 2ch 48000Hz
channel map: front-left,front-right
Stereo
used by: 4
linked by: 4
fixed latency: 10.67 ms
monitor_of: 0
module: 4
properties:
device.description = "Monitor of Jack sink (PulseAudio JACK Sink)"
device.class = "monitor"
device.icon_name = "audio-input-microphone"
* index: 2
name: <jack_out.2.monitor>
driver: <module-jack-sink.c>
flags: DECIBEL_VOLUME LATENCY
state: RUNNING
suspend cause:
priority: 1000
volume: mono: 65536 / 100% / 0.00 dB
balance 0.00
base volume: 65536 / 100% / 0.00 dB
volume steps: 65537
muted: no
current latency: 0.14 ms
max rewind: 0 KiB
sample spec: float32le 1ch 48000Hz
channel map: mono
Mono
used by: 2
linked by: 3
fixed latency: 10.67 ms
monitor_of: 1
module: 9
properties:
device.description = "Monitor of Jack sink (WebcamOUT)"
device.class = "monitor"
device.icon_name = "audio-input-microphone"
Re: Trying to get built-in mic running on Pulse to bridge through Jack Source
So I'm a little bit confused because the title says that your mic "is running on Pulse". Are you able to detect the mic in any way? i.e. via an application? The video feed of the webcam is works no problem, right?
If you launch Audacity, on the left most menu is your driver options, typically you can choose ALSA, PulseAudio and JACK, if you select ALSA, can you see the mic then?
In my case I can see that my webcam is picked up by PulseAudio
Because of this, we can then do what I said before which is to open up an exclusive channel and send it to that, which JACK can then later hook into.
my 'pactl list sources' does detect it, however...
If you launch Audacity, on the left most menu is your driver options, typically you can choose ALSA, PulseAudio and JACK, if you select ALSA, can you see the mic then?
In my case I can see that my webcam is picked up by PulseAudio
Because of this, we can then do what I said before which is to open up an exclusive channel and send it to that, which JACK can then later hook into.
my 'pactl list sources' does detect it, however...
Code: Select all
Source #0
State: SUSPENDED
Name: alsa_input.usb-046d_0819_1A679ED0-02.mono-fallback
Description: Webcam C210 Mono
...