[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


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 
	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!


More information about the pulseaudio-discuss mailing list