[pulseaudio-discuss] How to combine microphone audio and music from application to pipe to video conference
Samir Parikh
spython01 at gmail.com
Tue May 26 18:42:18 UTC 2020
Sean Greenslade wrote on 5/24/20 1:44 AM:
> This is possible, but adds some complexity to the setup. To hopefully
> make this easier to follow, I've made a little flowchart of all the
> components:
>
> https://dumbpic.link/manu/2020-05-23_pulse_diagram_mic_mix_with_mon.png
>
> Remember that pulseaudio draws a distinction between sources and sinks,
> and normally doesn't allow you to route a source to sink or vice-versa.
> So source components have a rounded face, and sink components have a
> pointed face.
>
> Certain endpoints are "exclusive," meaning that they can only have one
> thing connected to or from it. These points have a grey shading to
> indicate that property.
>
> Modules with a thick border are real hardware. Modules with a thin
> border are software. The dotted line around "auto monitor" refers to the
> fact that it is auto-created when a virtual sink is created.
>
> The thick lines connecting modules are the routings within Pulse. These
> routings can all be modified in realtime within pavucontrol.
>
> Hopefully this makes enough sense to help you to augment your script.
> For comparison, here's the flowchart for my original suggestion that
> does not let you monitor the music:
>
> https://dumbpic.link/manu/2020-05-23_pulse_diagram_mic_mix.png
>
> --Sean
>
Sean,
Thanks for this! Very helpful! I appreciate you taking the time to
also include the diagrams. It helps me understand a bit more some fo
the commands you gave earlier.
You've been very helpful and generous with your time and explanations so
I hope I'm not reaching my limit of questions with you or the list but I
have a few more:
- In general, what is the purpose of the "loopback module"? It just
looks like a pass through. The docs[1] say that "This allows one to
route audio from a source directly back to a sink. This module performs
adaptive resampling to adjust for slight differences in the clock speeds
of the source and sink devices" but I'm not sure what purpose it is
serving in this application.
- In your original configuration, you had me create just one loopback
module. In your more complicated setup, there appear to be 3 in total.
Do I just use the original
pacmd load-module module-loopback sink=virt_mix
command to create the other 2 but change the sink?
- In general, is pavucontrol just used to create the "connections"?
- Within pavucontrol, is my understanding of what the various tabs do
correct?
Playback: Shows the application sources of sound
Recording: Shows any application that can take sound as input
Output Devices: Sinks
Input Devices: Sources
Thanks again!
Samir
[1]
https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/#module-loopback
More information about the pulseaudio-discuss
mailing list