Getting Rhythmbox to Appear in qjackctl

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

Getting Rhythmbox to Appear in qjackctl

Samir Parikh
Hi Everyone, I'm back!

How do I get Rhythmbox (GNOME application similar to iTunes) to appear
in qjackctl?

To recap:  I'm trying to take the output of music playing from Rhythmbox
and combine that with my microphone (either onboard laptop or bluetooth
headset) to pipe both into the Jitsi Meet videoconference service[1].
Thanks again to everyone who has been helping me thus far.  Based on the
feedback I received, I'm going to try to solve my issue using JACK.

Over the past few days, I have been doing more research, reading wiki
pages and watching YouTube videos to become more familiar with JACK and
the various tools.  Thus far, I have:

- installed qjackctl and its dependencies on Ubuntu 16.04

- updated /etc/security/limits.conf with:
   @audio           -       rtprio          95
   @audio           -       memlock         unlimited
   per these instructions[2]

- added my userid to the audio group

- installed pulseaudio-module-jack

- installed gstreamer1.0-plugins.bad

- I have NOT installed the low latency kernel

I can now start the JACK server without any XRUNS after changing my
Output and Input devices to hw:PCH but I can't get Rhythmbox to appear
under "Readable Clients/Output Port" in the Connections window in
qjackctl.  I'm struggling to figure out how to set these GStreamer
values[3] assuming that this is even the solution to my problem.

Any pointers in the right direction would be appreciated.

Thanks
Samir


[1]
https://lists.linuxaudio.org/archives/linux-audio-user/2020-May/113035.html
[2] https://jackaudio.org/faq/linux_rt_config.html
[3] https://jackaudio.org/faq/gstreamer_via_jack.html
_______________________________________________
Linux-audio-user mailing list
[hidden email]
https://lists.linuxaudio.org/listinfo/linux-audio-user
Reply | Threaded
Open this post in threaded view
|

Re: Getting Rhythmbox to Appear in qjackctl

Brent Busby
Samir Parikh <[hidden email]> writes:

> How do I get Rhythmbox (GNOME application similar to iTunes) to appear
> in qjackctl?

I've found that generally only Jack applications that are made for
musicians and producers present themselves as Jack clients all the time
when the application is running.  Most audio and video players for
normal listener/viewer use seem to present an interface to Jack only
when they're actually playing a file, and will disappear from Jack's
view the rest of the time, even if the program is still there.

QJackCtl has a nice way to handle this though.  Just watch QJackCtl's
Connections window while Rhythmbox is actually playing something, and
find out what name it calls itself to Jack while it's actually playing
an audio file, then go to QJackCtl's Patchbay window and setup a rule
that will automatically route connections from that Jack client to
wherever you'd like it to go, whenever it's seen.  Click the Activate
button, and QJackCtl will always silently watch for a Jack client by
that name to appear, and will route it immediately whenever it does.
Also, more annoyingly, some programs like this will even present names
to Jack that may vary in some way every time they appear.  Fortunately,
QJackCtl's "Client" field in the window where you edit your connection
rules accepts regex in the name, so if there is even so much as a common
string that always appears in the Jack-visible name of the program
you're trying to capture a connection to, QJackCtl can use regex to help
you make a rule that will work with that.
_______________________________________________
Linux-audio-user mailing list
[hidden email]
https://lists.linuxaudio.org/listinfo/linux-audio-user
Reply | Threaded
Open this post in threaded view
|

Re: Getting Rhythmbox to Appear in qjackctl

Len Ovens
In reply to this post by Samir Parikh
On Wed, 20 May 2020, Samir Parikh wrote:

> How do I get Rhythmbox (GNOME application similar to iTunes) to appear
> in qjackctl?

Rythumbox must have the ability to open as a jack client built in.
Therefore, the place to check would be in the
setting/preferences/options/whatever dialog and see if it is possible to
set audio out to jack

> Over the past few days, I have been doing more research, reading wiki
> pages and watching YouTube videos to become more familiar with JACK and
> the various tools.  Thus far, I have:
>
> - installed qjackctl and its dependencies on Ubuntu 16.04

16.04 is kinda old, the version of jack in ubuntu20.04 has had some
important bug fixes.

> - installed pulseaudio-module-jack

This package comes with three modules:
  - module-jackdbus-detect
  This module will be loaded by default on pulse startup. if it
  detects that jackdbus (from jackd2) is running it will load two
  the two other modules below. In my case I unload this module
  at session startup and load the other two modules via script.

  - module-jack-source
  This module creates a bridge from Jackd to Pulse. I load these by
  script because I can set their name, channel count, etc. More
  than one of these can be run at a time if you wish to feed two or
  more inputs from jack to pulse. In your case you want one only
  which you can call jack-mic for example.

  - module-jack-sink
  This module creates a bridge from Pulse to Jackd. I load these
  from script as well... for the same reasons. More
         than one of these can be run at a time if you wish to take the
  outputs of more than one Pulse application and mix them in jack.
  In your case, you can have one of these called jack-out for
  feeding to the system output (speakers or headphones) and
  another one called Rhythmbox-out. On your jack graph in
  qjackctl you can connect this to pulse-in as well as
  connecting system_1 and system_2 to pulse-in. You would then
  have a mix of the mic and Rhythmbox showing up as a mic in.
  do remember to use pavucontrol to set Rhythmbox's output to
  the Rhythmbox-out sink (Rhythmbox may allow you to set this
  up in it's settings so you only have to do this once instead
  of each time) You would use the mic level in pavucontrol
  to set the mic level and the output level control of
  Rhythmbox to set how much of that signal is added to the mic
  level. Changing the mic level will change both.

There are in ubuntu 16.04, both jackmixer and idjc which will both be able
to act as a mixer with this setup allowing setting each level separately
and offer more control. neither one of these applications are available in
ubuntu 20.04 due to libs they rely on being deprecated. I am hopeful they
will be re-added in the future (but am not holding my breath). zita-mu1
may also work for you as a mixer. A plugin wrapper like Carla could be
used to provide level and eq control as well (or jack client versions of
plugins for that matter)


--
Len Ovens
www.ovenwerks.net
_______________________________________________
Linux-audio-user mailing list
[hidden email]
https://lists.linuxaudio.org/listinfo/linux-audio-user
Max
Reply | Threaded
Open this post in threaded view
|

Re: Getting Rhythmbox to Appear in qjackctl

Max
In reply to this post by Samir Parikh
If you are fine with not using Rhythmbox, try Strawberry [1](a fork of
Clementine [2](inspired by Amarok [3])).

In the settings select "Backend". Set Engine to "GStreamer" and Output
to "Output to a JACK server". It will show up in the Graph of QJackctl
as it's own node and you can route it as you wish.


[1] https://www.strawberrymusicplayer.org/
[2] https://clementine-player.org
[3] https://amarok.kde.org/

On 20.05.20 19:03, Samir Parikh wrote:

> Hi Everyone, I'm back!
>
> How do I get Rhythmbox (GNOME application similar to iTunes) to appear
> in qjackctl?
>
> To recap:  I'm trying to take the output of music playing from Rhythmbox
> and combine that with my microphone (either onboard laptop or bluetooth
> headset) to pipe both into the Jitsi Meet videoconference service[1].
> Thanks again to everyone who has been helping me thus far.  Based on the
> feedback I received, I'm going to try to solve my issue using JACK.
>
> Over the past few days, I have been doing more research, reading wiki
> pages and watching YouTube videos to become more familiar with JACK and
> the various tools.  Thus far, I have:
>
> - installed qjackctl and its dependencies on Ubuntu 16.04
>
> - updated /etc/security/limits.conf with:
>    @audio           -       rtprio          95
>    @audio           -       memlock         unlimited
>    per these instructions[2]
>
> - added my userid to the audio group
>
> - installed pulseaudio-module-jack
>
> - installed gstreamer1.0-plugins.bad
>
> - I have NOT installed the low latency kernel
>
> I can now start the JACK server without any XRUNS after changing my
> Output and Input devices to hw:PCH but I can't get Rhythmbox to appear
> under "Readable Clients/Output Port" in the Connections window in
> qjackctl.  I'm struggling to figure out how to set these GStreamer
> values[3] assuming that this is even the solution to my problem.
>
> Any pointers in the right direction would be appreciated.
>
> Thanks
> Samir
>
>
> [1]
> https://lists.linuxaudio.org/archives/linux-audio-user/2020-May/113035.html
> [2] https://jackaudio.org/faq/linux_rt_config.html
> [3] https://jackaudio.org/faq/gstreamer_via_jack.html
> _______________________________________________
> Linux-audio-user mailing list
> [hidden email]
> https://lists.linuxaudio.org/listinfo/linux-audio-user
_______________________________________________
Linux-audio-user mailing list
[hidden email]
https://lists.linuxaudio.org/listinfo/linux-audio-user
Reply | Threaded
Open this post in threaded view
|

Re: Getting Rhythmbox to Appear in qjackctl

Paul Davis
although clementine has the same issue as previously mentioned - it connects/disconnects between songs and disconnects when not playing.

RB can definitely use JACK directly (because gstreamer can). I did this for years. Alas, I've been using Clementine for years now too, and I do not recall the precise gstreamer setup I used with RB.

On Wed, May 20, 2020 at 2:08 PM Max <[hidden email]> wrote:
If you are fine with not using Rhythmbox, try Strawberry [1](a fork of
Clementine [2](inspired by Amarok [3])).

In the settings select "Backend". Set Engine to "GStreamer" and Output
to "Output to a JACK server". It will show up in the Graph of QJackctl
as it's own node and you can route it as you wish.


[1] https://www.strawberrymusicplayer.org/
[2] https://clementine-player.org
[3] https://amarok.kde.org/

On 20.05.20 19:03, Samir Parikh wrote:
> Hi Everyone, I'm back!
>
> How do I get Rhythmbox (GNOME application similar to iTunes) to appear
> in qjackctl?
>
> To recap:  I'm trying to take the output of music playing from Rhythmbox
> and combine that with my microphone (either onboard laptop or bluetooth
> headset) to pipe both into the Jitsi Meet videoconference service[1].
> Thanks again to everyone who has been helping me thus far.  Based on the
> feedback I received, I'm going to try to solve my issue using JACK.
>
> Over the past few days, I have been doing more research, reading wiki
> pages and watching YouTube videos to become more familiar with JACK and
> the various tools.  Thus far, I have:
>
> - installed qjackctl and its dependencies on Ubuntu 16.04
>
> - updated /etc/security/limits.conf with:
>    @audio           -       rtprio          95
>    @audio           -       memlock         unlimited
>    per these instructions[2]
>
> - added my userid to the audio group
>
> - installed pulseaudio-module-jack
>
> - installed gstreamer1.0-plugins.bad
>
> - I have NOT installed the low latency kernel
>
> I can now start the JACK server without any XRUNS after changing my
> Output and Input devices to hw:PCH but I can't get Rhythmbox to appear
> under "Readable Clients/Output Port" in the Connections window in
> qjackctl.  I'm struggling to figure out how to set these GStreamer
> values[3] assuming that this is even the solution to my problem.
>
> Any pointers in the right direction would be appreciated.
>
> Thanks
> Samir
>
>
> [1]
> https://lists.linuxaudio.org/archives/linux-audio-user/2020-May/113035.html
> [2] https://jackaudio.org/faq/linux_rt_config.html
> [3] https://jackaudio.org/faq/gstreamer_via_jack.html
> _______________________________________________
> Linux-audio-user mailing list
> [hidden email]
> https://lists.linuxaudio.org/listinfo/linux-audio-user
_______________________________________________
Linux-audio-user mailing list
[hidden email]
https://lists.linuxaudio.org/listinfo/linux-audio-user

_______________________________________________
Linux-audio-user mailing list
[hidden email]
https://lists.linuxaudio.org/listinfo/linux-audio-user
Max
Reply | Threaded
Open this post in threaded view
|

Re: Getting Rhythmbox to Appear in qjackctl

Max
As far as I can see Strawberry does remove the Jack client on stop but
not on pause and not in-between songs.
@Paul I'd recommend to switch to Strawberry, it handles Jack better than
Clementine. Clementine wasn't updated since over 4 years.


On 20.05.20 22:14, Paul Davis wrote:

> although clementine has the same issue as previously mentioned - it
> connects/disconnects between songs and disconnects when not playing.
>
> RB can definitely use JACK directly (because gstreamer can). I did this
> for years. Alas, I've been using Clementine for years now too, and I do
> not recall the precise gstreamer setup I used with RB.
>
> On Wed, May 20, 2020 at 2:08 PM Max <[hidden email]
> <mailto:[hidden email]>> wrote:
>
>     If you are fine with not using Rhythmbox, try Strawberry [1](a fork of
>     Clementine [2](inspired by Amarok [3])).
>
>     In the settings select "Backend". Set Engine to "GStreamer" and Output
>     to "Output to a JACK server". It will show up in the Graph of QJackctl
>     as it's own node and you can route it as you wish.
>
>
>     [1] https://www.strawberrymusicplayer.org/
>     [2] https://clementine-player.org
>     [3] https://amarok.kde.org/
>
>     On 20.05.20 19:03, Samir Parikh wrote:
>      > Hi Everyone, I'm back!
>      >
>      > How do I get Rhythmbox (GNOME application similar to iTunes) to
>     appear
>      > in qjackctl?
>      >
>      > To recap:  I'm trying to take the output of music playing from
>     Rhythmbox
>      > and combine that with my microphone (either onboard laptop or
>     bluetooth
>      > headset) to pipe both into the Jitsi Meet videoconference
>     service[1].
>      > Thanks again to everyone who has been helping me thus far.  Based
>     on the
>      > feedback I received, I'm going to try to solve my issue using JACK.
>      >
>      > Over the past few days, I have been doing more research, reading
>     wiki
>      > pages and watching YouTube videos to become more familiar with
>     JACK and
>      > the various tools.  Thus far, I have:
>      >
>      > - installed qjackctl and its dependencies on Ubuntu 16.04
>      >
>      > - updated /etc/security/limits.conf with:
>      >    @audio           -       rtprio          95
>      >    @audio           -       memlock         unlimited
>      >    per these instructions[2]
>      >
>      > - added my userid to the audio group
>      >
>      > - installed pulseaudio-module-jack
>      >
>      > - installed gstreamer1.0-plugins.bad
>      >
>      > - I have NOT installed the low latency kernel
>      >
>      > I can now start the JACK server without any XRUNS after changing my
>      > Output and Input devices to hw:PCH but I can't get Rhythmbox to
>     appear
>      > under "Readable Clients/Output Port" in the Connections window in
>      > qjackctl.  I'm struggling to figure out how to set these GStreamer
>      > values[3] assuming that this is even the solution to my problem.
>      >
>      > Any pointers in the right direction would be appreciated.
>      >
>      > Thanks
>      > Samir
>      >
>      >
>      > [1]
>      >
>     https://lists.linuxaudio.org/archives/linux-audio-user/2020-May/113035.html
>      > [2] https://jackaudio.org/faq/linux_rt_config.html
>      > [3] https://jackaudio.org/faq/gstreamer_via_jack.html
>      > _______________________________________________
>      > Linux-audio-user mailing list
>      > [hidden email]
>     <mailto:[hidden email]>
>      > https://lists.linuxaudio.org/listinfo/linux-audio-user
>     _______________________________________________
>     Linux-audio-user mailing list
>     [hidden email]
>     <mailto:[hidden email]>
>     https://lists.linuxaudio.org/listinfo/linux-audio-user
>
_______________________________________________
Linux-audio-user mailing list
[hidden email]
https://lists.linuxaudio.org/listinfo/linux-audio-user
Reply | Threaded
Open this post in threaded view
|

Re: Getting Rhythmbox to Appear in qjackctl

David W. Jones
In reply to this post by Max
Hmm, i use mplayer. it has a config file option to specify JACk as audio
output. Works fine here.

On 5/20/20 10:07 AM, Max wrote:

> If you are fine with not using Rhythmbox, try Strawberry [1](a fork of
> Clementine [2](inspired by Amarok [3])).
>
> In the settings select "Backend". Set Engine to "GStreamer" and Output
> to "Output to a JACK server". It will show up in the Graph of QJackctl
> as it's own node and you can route it as you wish.
>
>
> [1] https://www.strawberrymusicplayer.org/
> [2] https://clementine-player.org
> [3] https://amarok.kde.org/
>
> On 20.05.20 19:03, Samir Parikh wrote:
>> Hi Everyone, I'm back!
>>
>> How do I get Rhythmbox (GNOME application similar to iTunes) to
>> appear in qjackctl?
>>
>> To recap:  I'm trying to take the output of music playing from
>> Rhythmbox and combine that with my microphone (either onboard laptop
>> or bluetooth headset) to pipe both into the Jitsi Meet
>> videoconference service[1]. Thanks again to everyone who has been
>> helping me thus far.  Based on the feedback I received, I'm going to
>> try to solve my issue using JACK.
>>
>> Over the past few days, I have been doing more research, reading wiki
>> pages and watching YouTube videos to become more familiar with JACK
>> and the various tools.  Thus far, I have:
>>
>> - installed qjackctl and its dependencies on Ubuntu 16.04
>>
>> - updated /etc/security/limits.conf with:
>>    @audio           -       rtprio          95
>>    @audio           -       memlock         unlimited
>>    per these instructions[2]
>>
>> - added my userid to the audio group
>>
>> - installed pulseaudio-module-jack
>>
>> - installed gstreamer1.0-plugins.bad
>>
>> - I have NOT installed the low latency kernel
>>
>> I can now start the JACK server without any XRUNS after changing my
>> Output and Input devices to hw:PCH but I can't get Rhythmbox to
>> appear under "Readable Clients/Output Port" in the Connections window
>> in qjackctl.  I'm struggling to figure out how to set these GStreamer
>> values[3] assuming that this is even the solution to my problem.
>>
>> Any pointers in the right direction would be appreciated.
>>
>> Thanks
>> Samir
>>
>>
>> [1]
>> https://lists.linuxaudio.org/archives/linux-audio-user/2020-May/113035.html
>> [2] https://jackaudio.org/faq/linux_rt_config.html
>> [3] https://jackaudio.org/faq/gstreamer_via_jack.html 

--
David W. Jones
[hidden email]
authenticity, honesty, community
http://dancingtreefrog.com
"My password is the last 8 digits of π."
_______________________________________________
Linux-audio-user mailing list
[hidden email]
https://lists.linuxaudio.org/listinfo/linux-audio-user
Reply | Threaded
Open this post in threaded view
|

Re: Getting Rhythmbox to Appear in qjackctl

Samir Parikh
In reply to this post by Len Ovens
Len Ovens wrote on 5/20/20 3:13 PM:

> On Wed, 20 May 2020, Samir Parikh wrote:
>
>> How do I get Rhythmbox (GNOME application similar to iTunes) to appear
>> in qjackctl?
>
> Rythumbox must have the ability to open as a jack client built in.
> Therefore, the place to check would be in the
> setting/preferences/options/whatever dialog and see if it is possible to
> set audio out to jack
>
>>
>> - installed qjackctl and its dependencies on Ubuntu 16.04
>
> 16.04 is kinda old, the version of jack in ubuntu20.04 has had some
> important bug fixes.
>
>> - installed pulseaudio-module-jack
>
> This package comes with three modules:
>   - module-jackdbus-detect
>   - module-jack-source
>   - module-jack-sink

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

In PulseAudio Volume Control, the "Playback" tab looks like:
https://imgur.com/gYK2agU

The "Output Devices" tab looks like:
https://imgur.com/FP3vUnN

The "Input Devices" tab looks like (2 screenshots):
https://imgur.com/0TyBgKi
https://imgur.com/AB9wf5u

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

> There are in ubuntu 16.04, both jackmixer and idjc which will both be
> able to act as a mixer with this setup allowing setting each level
> separately and offer more control. neither one of these applications are
> available in ubuntu 20.04 due to libs they rely on being deprecated. I
> am hopeful they
> will be re-added in the future (but am not holding my breath). zita-mu1
> may also work for you as a mixer. A plugin wrapper like Carla could be
> used to provide level and eq control as well (or jack client versions of
> plugins for that matter)
  I just need help on:

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?

Samir
_______________________________________________
Linux-audio-user mailing list
[hidden email]
https://lists.linuxaudio.org/listinfo/linux-audio-user
Reply | Threaded
Open this post in threaded view
|

Re: Getting Rhythmbox to Appear in qjackctl

Samir Parikh
In reply to this post by Len Ovens
I also forgot to add that I can now see the Jack source as an
input/microphone option in Jitsi (the video conference service I am using):
https://imgur.com/HrHqTY3
_______________________________________________
Linux-audio-user mailing list
[hidden email]
https://lists.linuxaudio.org/listinfo/linux-audio-user
Reply | Threaded
Open this post in threaded view
|

Re: Getting Rhythmbox to Appear in qjackctl

Len Ovens
In reply to this post by Samir Parikh
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!)

Great.

> 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
type:
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
clarification.

--
Len Ovens
www.ovenwerks.net
_______________________________________________
Linux-audio-user mailing list
[hidden email]
https://lists.linuxaudio.org/listinfo/linux-audio-user
Reply | Threaded
Open this post in threaded view
|

Re: Getting Rhythmbox to Appear in qjackctl

Stuart Longland
In reply to this post by Samir Parikh
On 23/5/20 2:29 am, Samir Parikh wrote:
>> How do I get Rhythmbox (GNOME application similar to iTunes) to appear
>> in qjackctl?
>
> Rythumbox must have the ability to open as a jack client built in.
> Therefore, the place to check would be in the
> setting/preferences/options/whatever dialog and see if it is possible to
> set audio out to jack

I think we're flogging a dead horse with Rhythmbox.

> RC=0 stuartl@rikishi ~ $ emerge -pv rhythmbox
>
> These are the packages that would be merged, in order:
>
> Calculating dependencies... done!
> [ebuild   R    ] media-sound/rhythmbox-3.4.4::gentoo  USE="cdr dbus libnotify mtp python udev -daap -gnome-keyring -ipod -lirc -test -upnp-av" PYTHON_SINGLE_TARGET="python3_7 -python3_6 (-python3_8)" 0 KiB

I installed it here (my machine runs Gentoo Linux rather than Ubuntu) to
see if it could be pointed directly at JACK.  It seems it only
communicates with PulseAudio, so that's a firm *no*.  Jitsi/Zoom also
have the same limitation, they only talk to PulseAudio.

Yes, you'll be able to "hear" it through JACK, because PulseAudio has a
JACK plug-in.  That's where that experiment ends, because as far as JACK
is concerned, it sees one client called "PulseAudio".

JACK cannot differentiate between Jitsi/Zoom or Rhythmbox, because as
far as it's concerned, it sees a pre-mixed audio stream from both
applications, it is unable to separate the audio from one and feed it
into the other.

JACK has just found itself in the milk bar with a chocolate milkshake
and is trying to figure out how to separate the cocoa from the milk.

If you could convince PulseAudio to present each PA client to JACK as a
separate audio stream, *then* you could make this work.  (And probably
also make your Bluetooth headset work.)

The other option is if you can convince Rhythmbox to talk to ALSA, since
the JACK plug-in for ALSA does present each ALSA program as a separate
JACK source/sink.  The challenge is the name won't necessarily reflect
the name of the program.

I've just pointed Clementine at the "default ALSA" output (which in my
case is configured via ~/.asoundrc to point to JACK)… `jack_lsp` reports
this:

> RC=0 stuartl@rikishi ~ $ jack_lsp
> system:capture_1
> system:playback_1
> system:playback_2
> PulseAudio JACK Sink:front-left
> PulseAudio JACK Sink:front-right
> PulseAudio JACK Source:front-left
> PulseAudio JACK Source:front-right
> alsa-jack.jackP.231786.0:out_000
> alsa-jack.jackP.231786.0:out_001

So right there, we can see the microphone and two speaker channels for
my USB headset, the PulseAudio plug-in and one instance of the ALSA JACK
plug-in.  Note the digits present in the client name:

> RC=0 stuartl@rikishi ~ $ ps aux | grep 231786
> stuartl  206969  0.0  0.0  14076  1012 pts/6    S+   07:32   0:00 grep --colour=auto 231786
> stuartl  231786  1.7  3.1 3009116 249316 tty1   SLl  May23  22:36 clementine

That's the PID of the clementine process which is talking to ALSA.

If RhythmBox had such an option, that's what you'd be looking for in
qjackctl.  Jitsi/Zoom would likely continue to use PulseAudio, and you'd
be able to "draw" a connection between RhythmBox's output to the
"PulseAudio JACK Source" to connect it to Jitsi/Zoom.
--
Stuart Longland (aka Redhatter, VK4MSL)

I haven't lost my mind...
  ...it's backed up on a tape somewhere.
_______________________________________________
Linux-audio-user mailing list
[hidden email]
https://lists.linuxaudio.org/listinfo/linux-audio-user
Reply | Threaded
Open this post in threaded view
|

Re: Getting Rhythmbox to Appear in qjackctl

Paul Davis


On Sat, May 23, 2020 at 3:38 PM Stuart Longland <[hidden email]> wrote:
On 23/5/20 2:29 am, Samir Parikh wrote:
>> How do I get Rhythmbox (GNOME application similar to iTunes) to appear
>> in qjackctl?
>
> Rythumbox must have the ability to open as a jack client built in.
> Therefore, the place to check would be in the
> setting/preferences/options/whatever dialog and see if it is possible to
> set audio out to jack

I think we're flogging a dead horse with Rhythmbox.
This is false.

I've already tried to point out the basics but I guess my hints weren't taken:

* RB uses gstreamer for audio I/O
* gstreamer has a native JACK module
* you need to configure gstreamer's JACK module (the buffer sizes in particular need attention)
* you need to tell RB to use the module (or tell gstreamer to do that all the time)

It has nothing whatsoever to do with PulseAudio, which only plays a role when RB is using gstreamer's ALSA module, which picks the default device, which is PulseAudio on many systems.,


_______________________________________________
Linux-audio-user mailing list
[hidden email]
https://lists.linuxaudio.org/listinfo/linux-audio-user
Reply | Threaded
Open this post in threaded view
|

Re: Getting Rhythmbox to Appear in qjackctl

Stuart Longland
On 24/5/20 8:21 am, Paul Davis wrote:
> I've already tried to point out the basics but I guess my hints weren't
> taken:
>
> * RB uses gstreamer for audio I/O
> * gstreamer has a native JACK module
> * you need to configure gstreamer's JACK module (the buffer sizes in
> particular need attention)

Don't disagree on those points, you're 100% correct on the existence of
a JACK plug-in for GStreamer and GStreamer's role in audio transport for
RhythmBox.

> * you need to tell RB to use the module (or tell gstreamer to do that all
> the time)

This is where we have a sticking point.  If there's a way to configure
that in RhythmBox, it is *well* hidden.  Fur sure, if you can get into
GStreamer's code and change the flow graph so it terminates with JACK,
then yes, it definitely will stream to JACK directly.

I just had a look at the sources for RhythmBox… it uses autoaudiosink
(see backends/gstreamer/rb-player-gst.c 683-713), which in theory could
use the JACK sink plug-in, and might do so in some circumstances.

The sticking point is
https://gstreamer.freedesktop.org/documentation/autodetect/autoaudiosink.html
provides no way to elect JACK as the preferred output.  It's not obvious
how the user directs the audio to their _preferred_ output channel.
--
Stuart Longland (aka Redhatter, VK4MSL)

I haven't lost my mind...
  ...it's backed up on a tape somewhere.
_______________________________________________
Linux-audio-user mailing list
[hidden email]
https://lists.linuxaudio.org/listinfo/linux-audio-user
Reply | Threaded
Open this post in threaded view
|

Re: Getting Rhythmbox to Appear in qjackctl

Paul Davis
some more hints (i really did have this working years ago):


On Sat, May 23, 2020 at 5:32 PM Stuart Longland <[hidden email]> wrote:
On 24/5/20 8:21 am, Paul Davis wrote:
> I've already tried to point out the basics but I guess my hints weren't
> taken:
>
> * RB uses gstreamer for audio I/O
> * gstreamer has a native JACK module
> * you need to configure gstreamer's JACK module (the buffer sizes in
> particular need attention)

Don't disagree on those points, you're 100% correct on the existence of
a JACK plug-in for GStreamer and GStreamer's role in audio transport for
RhythmBox.

> * you need to tell RB to use the module (or tell gstreamer to do that all
> the time)

This is where we have a sticking point.  If there's a way to configure
that in RhythmBox, it is *well* hidden.  Fur sure, if you can get into
GStreamer's code and change the flow graph so it terminates with JACK,
then yes, it definitely will stream to JACK directly.

I just had a look at the sources for RhythmBox… it uses autoaudiosink
(see backends/gstreamer/rb-player-gst.c 683-713), which in theory could
use the JACK sink plug-in, and might do so in some circumstances.

The sticking point is
https://gstreamer.freedesktop.org/documentation/autodetect/autoaudiosink.html
provides no way to elect JACK as the preferred output.  It's not obvious
how the user directs the audio to their _preferred_ output channel.
--
Stuart Longland (aka Redhatter, VK4MSL)

I haven't lost my mind...
  ...it's backed up on a tape somewhere.

_______________________________________________
Linux-audio-user mailing list
[hidden email]
https://lists.linuxaudio.org/listinfo/linux-audio-user