[LAU] Getting Rhythmbox to Appear in qjackctl

Len Ovens len at ovenwerks.net
Sat May 23 20:15:14 CEST 2020

On Fri, 22 May 2020, Samir Parikh wrote:

> Thanks for the note.  I wanted to give a quick update on my situation. I'm 
> not familiar enough with JACK yet to determine whether or not your advice 
> still applies.  If is still does, I'm not sure I follow everything so may 
> have some follow up questions.
> Again, I'm trying to combine the music playing from Rhythmbox with my voice 
> from the microphone and send that out to a meeting service like Jitsi (or 
> Zoom).
> With Rhythmbox running and playing music, I open up qjackctl and the 
> "Connections" window looks like this:
> https://imgur.com/x6cDx8d

Shows your audio device and two pulse-jack bridges, good so far. So Jitsi 
now can use jack as it's microphone and speaker/phones. Good.

> In PulseAudio Volume Control, the "Playback" tab looks like:
> https://imgur.com/gYK2agU
> The "Output Devices" tab looks like:
> https://imgur.com/FP3vUnN

That is pretty busy :)  I would suggest going to the "Configuration tab" 
and setting the "Profile" of any of the devices you don't use to "Off". 
Actually I prefer to set them all to off and use jack for all i/o but your 
case may be different as you will want things to work right when jack is 
not running too. In any case any device you can turn to "Off" is one less 
device your applications might choose to deal with.

> With this setup AND with JACK running, I can hear the music through my 
> speakers!  (Minor victory, but I'll take it!)


> How to I combine my voice from the microphone and then have that serve as the 
> "input" to Jitsi or Zoom.
> Is that where these mixers come in or can I do through directly through 
> qjackctl and PusleAudio Volume Control?

These mixers are for convenience, you can work without them just fine.
Once you have things running as above, in a terminal on the command line 
pactl load-module module-jack-sink client_name=Rhythmbox channels=2 connect=no

The connect=no may not be what you want. If left out, this set of ports 
will be connected to system:playback_1/2 which may be what you want so you 
can hear rythum box in your speakers. When you have put that command in. A 
new entry should show up in your qjackctl Connections dialog. A stereo set 
called Rhythmbox:front-left/right should have shown up and may be 
connected to the speaker output or not (depending on if you used 
connect=no or not). In Rhythmbox setup you should be able to choose this 
as an output and if connected to system:playback you should be able to 
hear Rhythmbox through your speakers.

Now to use this output into Jitsi, use your qjackctl connections dialog to 
connect Rhythmbox:* to PulseAudio Jack source:*

You should now have both your mic and Rhythmbox working as inputs to 
Jitsi. So in Pavucontrol, the input level to Jitsi will control _both_ you 
Mic level and Rhythmbox level. alsamixer may allow controlling you mic 
level or it may be a knob on your audio device. The Rhythmbox level can be 
controlled from pavucontrol's Applications tab. If you find that Rhythmbox 
sounds "Echo-y" in your speakers, that is a sign that you probably need to 
use the connect=no above, otherwise not. Remember that you mic will pick 
up whatever is going through your speakers which may be sightly delayed 
from you dirrect feed via jack as well as taking room echos of that sound, 
so it may be best not to have Rhythmbox attached to your system:playback.

So in case you missed it... Just connecting two sources to a jack port, 
mixes the two signals together.

The advantage of creating a second output bridge from pulse to jack over 
setting up Rhythmbox to create jack ports is that the pulse bridge ports 
are always there and the connections in jack are static and can be created 
right after the bridge is instead of waiting for Rhythmbox to create ports 
when play is pushed. That stuff will all happen on the Pulse side.

One of the reason's I don't like the pulse bridge's auto creation is the 
awkward naming it uses: PulseAudio Jack source, I normally shorten this to 
just pulse-in. Normally I would suggest that because you are using ubuntu, 
that you just install ubuntustudio-controls which makes setting this stuff 
up much easier, but the version of -controls for ubuntu 16.04 does not 
have the features you are most likely to want and the newer version only 
backports as far as 18.04. However, creating a script for your use case 
would not be that hard either.

I have tried to be a clear as possible but may still have made assumptions 
about what you already know that are not true. Feel free to ask for 

Len Ovens

More information about the Linux-audio-user mailing list