Discussion:
[LAU] Streaming setup with OBS and JACK
h***@gmx.net
2018-07-25 06:56:56 UTC
Permalink
Hi,

I have to apologise, this mail is going to be long, so I'll try to
structure it a bit.

Overview
I have been live streaming on twitch for the past year, mostly games
and purely as a hobby. The possibilities of PA and OBS for routing and
audio processing are rather limited, I'd like to try and improve my
setup by adding JACK to the mix.

Current Setup
2-3 Audio interfaces. My main one is the UA-25 usb interface. There is
another in the GPU connected via HDMI to the monitor and a usually
deactivated one on the motherboard.
I am mostly streaming gameplay, most if not all games rely on ALSA or
PulseAudio, so I have PulseAudio running. In OBS I simply capture the
UA-25 "desktop output".
I also have it capture the UA-25 inputs, of which only one is connected
to the microphone. There is an option within OBS to have that signal on
both channels.
I use the compressor plugin built into OBS with pretty much "default"
voice/voiceover settings.
Afterwards "desktop" and voice get mixed to a stereo signal and
streamed.
I monitor the "desktop" signal as it is immediate and doesn't contain
my voice. To check whether the mix is fine I need to check either the
outgoing or the incoming signal (which is delayed by a few seconds).
Currently I route the incoming signal via PA to the GPU audio
interface. To actually hear it I need to physically switch the
headphones for the in-ears connected to the monitor.
I do not use a cam and intend to keep it that way.

Current Problems
A) Monitoring is cumbersome because I need to switch between the proper
headphones and the in-ears. While the in-ears aren't bad by themselves,
the sound through GPU -> HDMI -> Monitor is pretty bad. It is barely
enough to judge whether or not the levels are totally off.
I'd much prefer to be able to monitor using my proper headphones at the
push of a button.

B) OBS comes with rather few audio plugins by default
(https://github.com/obsproject/obs-studio/wiki/Filters-Guide) and I'm
not convinced they are more than serviceable. The compressor is hard to
set up, I wish it had at least some visual indication for the threshold.

Possible solution
While there are a few effects rack for Pulse Audio, like
https://github.com/wwmm/pulseeffects, and Pulse Audio can do routing I
don't understand PA's routing and rather use JACK. Since I haven't
followed Linux Audio land quite as closely the last few years I have a
few questions.

1) Can someone tell me whether the OBS jack plugin is good enough or
does something stupid? The code can be found here:
https://github.com/obsproject/obs-studio/tree/master/plugins/linux-jack

2) Is there a reliable and if possible hassle free way to get ALSA and
PA into JACK? ALSA loopback would probably not work for programs using
PA directly.

3) I think switching around monitoring should be doable with a simple
script calling jack_connect, provided the ports are predictably named.
Even I should be able to do that. Is there another solution?

4) Even though it's a small setup I'd need some sort of session
management to bring up at least the jack side of things.

5) Finally what do you recommend as plugin host and compressor plugin
for voice?

Thank you in advance for your help. I can at least document the setup
somewhere, for the next one who tries to do something like that. I
could do that on my blog (that no one ever reads) or if you know some
good wiki or something I can put it there.

Best Regards,
Philipp
Jacek Konieczny
2018-07-25 07:39:51 UTC
Permalink
Hi,
Post by h***@gmx.net
Overview
I have been live streaming on twitch for the past year, mostly games
and purely as a hobby. The possibilities of PA and OBS for routing and
audio processing are rather limited, I'd like to try and improve my
setup by adding JACK to the mix.
I have never done any live streaming, but I have used OBS with Jack and
Pulseaudio to record my Yousician session.
Post by h***@gmx.net
Current Setup
2-3 Audio interfaces.
Jack works best with only one interface, but there are ways around it.
Post by h***@gmx.net
1) Can someone tell me whether the OBS jack plugin is good enough or
https://github.com/obsproject/obs-studio/tree/master/plugins/linux-jack
I had the Jack support included in my OBS build. Works quite well. In
fact much better than e.g. Jack support in audacity which I found unusable.
Post by h***@gmx.net
2) Is there a reliable and if possible hassle free way to get ALSA and
PA into JACK? ALSA loopback would probably not work for programs using
PA directly.
I used Linux version of Yousician (when it was still a thing) and it had
ALSA output only. That was going into PulseAudio via the pulsaudio alsa
plugin. PulseAudio routed it to its Jack sink, which I have connected to
OBS. My guitar signal would come from an USB audio interface, via
Guitarix as another input to OBS. Sometimes I would also connect the
clean signal directly to OBS.

For me the only limitation was the limited performance of my laptop – a
bit too much going on and I would get xruns in jack, corrupting the
audio. Note: I use real-time kernel to keep latency low, which might be
quite important for monitoring.
Post by h***@gmx.net
3) I think switching around monitoring should be doable with a simple
script calling jack_connect, provided the ports are predictably named.
Even I should be able to do that. Is there another solution?
You could use some audio plugins in Carla and control them via OSC or
MIDI, if you have any MIDI controller (a MIDI keyboard, a foot switch or
even a phone app).
Post by h***@gmx.net
4) Even though it's a small setup I'd need some sort of session
management to bring up at least the jack side of things.
I would just load a patchbay with all the needed connections and plugins
in Carla.
Post by h***@gmx.net
5) Finally what do you recommend as plugin host and compressor plugin
for voice?
Carla as host, I am not familiar with compressor plugins.

Jacek
h***@gmx.net
2018-07-26 06:52:39 UTC
Permalink
Post by Jacek Konieczny
Post by h***@gmx.net
Current Setup
2-3 Audio interfaces.
Jack works best with only one interface, but there are ways around it.
I intend to use only the UA-25, unless there is a need to use one of
the others for some reason.
Post by Jacek Konieczny
Post by h***@gmx.net
2) Is there a reliable and if possible hassle free way to get ALSA
and PA into JACK? ALSA loopback would probably not work for
programs using PA directly.
I used Linux version of Yousician (when it was still a thing) and it
had ALSA output only. That was going into PulseAudio via the
pulsaudio alsa plugin. PulseAudio routed it to its Jack sink, which I
have connected to OBS. My guitar signal would come from an USB audio
interface, via Guitarix as another input to OBS. Sometimes I would
also connect the clean signal directly to OBS.
The question is how that works nowadays. To the best of my knowledge
both JACK and PA require full access to the audio interface and are
mutually exclusive.
Post by Jacek Konieczny
Post by h***@gmx.net
4) Even though it's a small setup I'd need some sort of session
management to bring up at least the jack side of things.
I would just load a patchbay with all the needed connections and
plugins in Carla.
Post by h***@gmx.net
5) Finally what do you recommend as plugin host and compressor
plugin for voice?
Carla as host, I am not familiar with compressor plugins.
Jacek
Thanks Jacek, I'll look into Carla.
Jacek Konieczny
2018-07-26 08:04:51 UTC
Permalink
Post by h***@gmx.net
The question is how that works nowadays. To the best of my knowledge
both JACK and PA require full access to the audio interface and are
mutually exclusive.
PulseAudio can be configured not to use the audio interface (it can
still handle all other audio hardware in the system) and use Jack
instead (Jack would work like another sound card in PulseAudio).

You can use Cadence to configure Jack and PulseAudio this way or
configure it manually or via some scripts. It is not trivial, but once
it works it works quite well.

At my home laptop PulseAudio handles the built-in sound card directly
and Jack takes care of the external USB interface. PulseAudio also has
Jack source and sink configured, so I can route desktop audio to the USB
interface (via jack) whenever I want.

On another machine I have just one sound card and I switch it between
PulseAudio and Jack.

Jacek
Joel Roth
2018-07-25 08:14:42 UTC
Permalink
Hi Philipp,
Post by h***@gmx.net
Hi,
I have to apologise, this mail is going to be long, so I'll try to
structure it a bit.
Overview
I have been live streaming on twitch for the past year, mostly games
and purely as a hobby. The possibilities of PA and OBS for routing and
audio processing are rather limited, I'd like to try and improve my
setup by adding JACK to the mix.
Current Setup
2-3 Audio interfaces. My main one is the UA-25 usb interface. There is
another in the GPU connected via HDMI to the monitor and a usually
deactivated one on the motherboard.
I am mostly streaming gameplay, most if not all games rely on ALSA or
PulseAudio, so I have PulseAudio running. In OBS I simply capture the
UA-25 "desktop output".
I also have it capture the UA-25 inputs, of which only one is connected
to the microphone. There is an option within OBS to have that signal on
both channels.
I use the compressor plugin built into OBS with pretty much "default"
voice/voiceover settings.
Afterwards "desktop" and voice get mixed to a stereo signal and
streamed.
I monitor the "desktop" signal as it is immediate and doesn't contain
my voice. To check whether the mix is fine I need to check either the
outgoing or the incoming signal (which is delayed by a few seconds).
Currently I route the incoming signal via PA to the GPU audio
interface. To actually hear it I need to physically switch the
headphones for the in-ears connected to the monitor.
I do not use a cam and intend to keep it that way.
Current Problems
A) Monitoring is cumbersome because I need to switch between the proper
headphones and the in-ears. While the in-ears aren't bad by themselves,
the sound through GPU -> HDMI -> Monitor is pretty bad. It is barely
enough to judge whether or not the levels are totally off.
I'd much prefer to be able to monitor using my proper headphones at the
push of a button.
B) OBS comes with rather few audio plugins by default
(https://github.com/obsproject/obs-studio/wiki/Filters-Guide) and I'm
not convinced they are more than serviceable. The compressor is hard to
set up, I wish it had at least some visual indication for the threshold.
Possible solution
While there are a few effects rack for Pulse Audio, like
https://github.com/wwmm/pulseeffects, and Pulse Audio can do routing I
don't understand PA's routing and rather use JACK. Since I haven't
followed Linux Audio land quite as closely the last few years I have a
few questions.
1) Can someone tell me whether the OBS jack plugin is good enough or
https://github.com/obsproject/obs-studio/tree/master/plugins/linux-jack
2) Is there a reliable and if possible hassle free way to get ALSA and
PA into JACK? ALSA loopback would probably not work for programs using
PA directly.
One way is to use PA and JACK on separate audio interfaces.

Pulseaudio can also be run above JACK.

https://github.com/jackaudio/jackaudio.github.com/wiki/WalkThrough_User_PulseOnJack

I would suggest getting as much functionality handled in the
JACK layer as possible.
Post by h***@gmx.net
3) I think switching around monitoring should be doable with a simple
script calling jack_connect, provided the ports are predictably named.
Even I should be able to do that. Is there another solution?
Another solution would be to drive both monitors, and set up
some kind of crossfader, if you need one.
Post by h***@gmx.net
4) Even though it's a small setup I'd need some sort of session
management to bring up at least the jack side of things.
jackd, the JACK daemon, runs continuously. Various DAWs and
recorders can make JACK connections for signal I/O for
individual tracks. Being able to run shell scripts
on project load or track setup can be useful, too.
Post by h***@gmx.net
5) Finally what do you recommend as plugin host and compressor plugin
for voice?
There are many possible plugin hosts. Some can do
glitch-free switching in and out of effects.

I'm partial to Ecasound, which is flexible enough to do I/O
with JACK and ALSA devices simultaneously (JACK usually
works with a single sound card.) Others will recommend a
compressor, there are many LADSPA and LV2 plugins available.
Post by h***@gmx.net
Thank you in advance for your help. I can at least document the setup
somewhere, for the next one who tries to do something like that. I
could do that on my blog (that no one ever reads) or if you know some
good wiki or something I can put it there.
Posting an article (or link a blog article) would be
on-topic for this list. And here is one wiki:
https://wiki.linuxaudio.org/wiki/start

cheers,

joel
Post by h***@gmx.net
Best Regards,
Philipp
_______________________________________________
Linux-audio-user mailing list
https://lists.linuxaudio.org/listinfo/linux-audio-user
--
Joel Roth
h***@gmx.net
2018-07-26 06:53:39 UTC
Permalink
On Tue, 24 Jul 2018 22:14:42 -1000
Post by Joel Roth
One way is to use PA and JACK on separate audio interfaces.
Would that allow me to route PA to JACK?
Post by Joel Roth
Pulseaudio can also be run above JACK.
https://github.com/jackaudio/jackaudio.github.com/wiki/WalkThrough_User_PulseOnJack
I found the same link here:
http://jackaudio.org/faq/pulseaudio_and_jack.html
What irritates me is that it uses alsa loopback to PA. Doesn't PA
usually deal with that?

Most suggestions there seem to deal with a case where you use either or
rather than both together.

So the easiest way is to let Cadence do some magick?
Post by Joel Roth
Posting an article (or link a blog article) would be
https://wiki.linuxaudio.org/wiki/start
cheers,
joel
Thanks Joel :]
Paul Davis
2018-07-25 11:28:24 UTC
Permalink
Post by h***@gmx.net
2) Is there a reliable and if possible hassle free way to get ALSA and
PA into JACK? ALSA loopback would probably not work for programs using
PA directly.
​it works just fine. I use it with Skype with no issues.​


​
David Kastrup
2018-07-25 11:46:16 UTC
Permalink
Post by Paul Davis
Post by h***@gmx.net
2) Is there a reliable and if possible hassle free way to get ALSA and
PA into JACK? ALSA loopback would probably not work for programs using
PA directly.
​it works just fine. I use it with Skype with no issues.​
For pulseaudio/jack, I use the following "pulsejack" script. Without
arguments, it tries connecting a running jackd with a running pulseaudio
system. With arguments, it kills any existing jackd, then starts a new
one with the given arguments and connects it with a running pulseaudio
system. I'd like it to use things like jack_wait and similar in order
to avoid the clumsy manual job management but haven't been able to make
this robust enough (namely without having it lock up or not work in some
situations).
Len Ovens
2018-07-25 15:58:50 UTC
Permalink
Post by David Kastrup
Post by Paul Davis
Post by h***@gmx.net
2) Is there a reliable and if possible hassle free way to get ALSA and
PA into JACK? ALSA loopback would probably not work for programs using
PA directly.
​it works just fine. I use it with Skype with no issues.​
For pulseaudio/jack, I use the following "pulsejack" script. Without
arguments, it tries connecting a running jackd with a running pulseaudio
system. With arguments, it kills any existing jackd, then starts a new
one with the given arguments and connects it with a running pulseaudio
system. I'd like it to use things like jack_wait and similar in order
to avoid the clumsy manual job management but haven't been able to make
this robust enough (namely without having it lock up or not work in some
situations).
I have been using PA and Jack bridged for about 4 years now. My script has
changed during that time, not for problems but to make it more generic. I
use jackd as the audio device for pulse. That is I remove the alsa and
udev modules from pulse (after starting). This ensures that jack is always
the default i/o and as a side benefit allows jack to freewheel with no
problems and gives better xrun immunity. I do not use the jackdbus-detect
module, but rather use jacksink or jacksource modules as needed to ensure
separate stereo pairs rather 4 channels being used as suround... I always
set the pulse modules _not_ to auto connect, prefering to have
jack_connect, jack_disconnect or jack-plumbing do that job to the port I
want connected (system_1/2 are not always right).

I use this for all desktop audio, all the time and have found this to be a
robust solution. I have also set up a systray button that drops the
PA-jack bridge for times I wish to use a lower latency than pa does well
(or some of the pa clients like skype that don't handle low latency at
all)

There is very little manual anything after configuration. Both jack and
pulse are started automatically at session start and run till session end.
The point of jack in the first place is to allow routing changes on the
fly in a manual way, auto connect just gets in the way of that except for
reconnecting things when restarting a jack client to where they were
before it stopped.

I use zita-ajbridge if I must have more than one audio device. The truth
about this is that I use more than one audio device just to make sure that
it works and so that I can help other people get their USB mic working. I
have only one audio interface worth using for anything where quality
matters: my delta 66 a semi-pro audio interface that is long obsolete. I
have also found that I don't use more than 2 channels at a time anyway so
even 6 i/o has been overkill for me.

--
Len Ovens
www.ovenwerks.net
h***@gmx.net
2018-07-26 07:07:45 UTC
Permalink
On Wed, 25 Jul 2018 08:58:50 -0700 (PDT)
Post by Len Ovens
[...]
[...]
[...]
[...]
[...]
I have been using PA and Jack bridged for about 4 years now. My
script has changed during that time, not for problems but to make it
more generic. I use jackd as the audio device for pulse. That is I
remove the alsa and udev modules from pulse (after starting). This
ensures that jack is always the default i/o and as a side benefit
allows jack to freewheel with no problems and gives better xrun
immunity. I do not use the jackdbus-detect module, but rather use
jacksink or jacksource modules as needed to ensure separate stereo
pairs rather 4 channels being used as suround... I always set the
pulse modules _not_ to auto connect, prefering to have jack_connect,
jack_disconnect or jack-plumbing do that job to the port I want
connected (system_1/2 are not always right).
I use this for all desktop audio, all the time and have found this to
be a robust solution. I have also set up a systray button that drops
the PA-jack bridge for times I wish to use a lower latency than pa
does well (or some of the pa clients like skype that don't handle low
latency at all)
There is very little manual anything after configuration. Both jack
and pulse are started automatically at session start and run till
session end. The point of jack in the first place is to allow routing
changes on the fly in a manual way, auto connect just gets in the way
of that except for reconnecting things when restarting a jack client
to where they were before it stopped.
I use zita-ajbridge if I must have more than one audio device. The
truth about this is that I use more than one audio device just to
make sure that it works and so that I can help other people get their
USB mic working. I have only one audio interface worth using for
anything where quality matters: my delta 66 a semi-pro audio
interface that is long obsolete. I have also found that I don't use
more than 2 channels at a time anyway so even 6 i/o has been overkill
for me.
--
Len Ovens
www.ovenwerks.net
Thanks for that comprehensive writeup Len. It sounds as if it requires
quite a bit of configuration surrounding PA, something I hope to avoid.
I really only need it because some programs talk to it directly and
with the default setup programs using ALSA talk to it as well.
If I have to mess with its configuration at least I now know which
things to look for, so thanks for that.

Regards,
Philipp
Chris Caudle
2018-07-26 14:11:24 UTC
Permalink
Post by h***@gmx.net
Thanks for that comprehensive writeup Len. It sounds as if it requires
quite a bit of configuration surrounding PA, something I hope to avoid.
Most of the complexity comes about because Len setup a script to configure
everything the way he wants every time he logs in.
If you just want to try this, then start jackd using the audio interface
you want, then execute:
$ pactl load-module module-jack-sink
$ pactl load-module module-jack-source

You will now have additional ports that show up in jackd that you can
route just like any other:
$ jack_lsp
system:capture_1
system:capture_2
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

The system:capture and system:playback ports are my physical audio
interface, the PulseAudio JACK ports are the pseudo-audio-device
connections from PulseAudio; I can connect the source to system:playback
and hear audio from my browser, other applications, system sounds, etc.,
and when I want to work on audio editing and not have any other audio
played through my interface I just disconnect those PulseAudio ports and
the rest of the software on the system does not detect, e.g. Firefox still
sends audio to PulseAudio with no complaints, but the audio is just not
routed anywhere.
--
Chris Caudle
h***@gmx.net
2018-07-26 19:53:14 UTC
Permalink
On Thu, 26 Jul 2018 09:11:24 -0500
Post by Chris Caudle
[...]
Most of the complexity comes about because Len setup a script to
configure everything the way he wants every time he logs in.
If you just want to try this, then start jackd using the audio
$ pactl load-module module-jack-sink
$ pactl load-module module-jack-source
You will now have additional ports that show up in jackd that you can
$ jack_lsp
system:capture_1
system:capture_2
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
The system:capture and system:playback ports are my physical audio
interface, the PulseAudio JACK ports are the pseudo-audio-device
connections from PulseAudio; I can connect the source to
system:playback and hear audio from my browser, other applications,
system sounds, etc., and when I want to work on audio editing and not
have any other audio played through my interface I just disconnect
those PulseAudio ports and the rest of the software on the system
does not detect, e.g. Firefox still sends audio to PulseAudio with no
complaints, but the audio is just not routed anywhere.
Thanks for the nice explanation Chris!
Hermann Meyer
2018-07-27 04:31:15 UTC
Permalink
Post by h***@gmx.net
On Thu, 26 Jul 2018 09:11:24 -0500
Post by Chris Caudle
[...]
Most of the complexity comes about because Len setup a script to
configure everything the way he wants every time he logs in.
If you just want to try this, then start jackd using the audio
$ pactl load-module module-jack-sink
$ pactl load-module module-jack-source
You will now have additional ports that show up in jackd that you can
$ jack_lsp
system:capture_1
system:capture_2
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
The system:capture and system:playback ports are my physical audio
interface, the PulseAudio JACK ports are the pseudo-audio-device
connections from PulseAudio; I can connect the source to
system:playback and hear audio from my browser, other applications,
system sounds, etc., and when I want to work on audio editing and not
have any other audio played through my interface I just disconnect
those PulseAudio ports and the rest of the software on the system
does not detect, e.g. Firefox still sends audio to PulseAudio with no
complaints, but the audio is just not routed anywhere.
Thanks for the nice explanation Chris!
I ain't use jack-dbus, so I've wrote a script to do the pulse
integration when I start qjackctl,

it's here:

https://github.com/brummer10/pajackconnect
h***@gmx.net
2018-07-27 05:58:32 UTC
Permalink
On Fri, 27 Jul 2018 06:31:15 +0200
Post by Hermann Meyer
[...]
[...]
[...]
I ain't use jack-dbus, so I've wrote a script to do the pulse
integration when I start qjackctl,
https://github.com/brummer10/pajackconnect
Thanks Hermann, that looks useful too.
I'm torn between the two jack implementations. I probably don't need
jack2-dbus, but some programs seem to depend on it.

I hope to find time to experiment on the weekend and put all your
suggestions to use.

Best Regards,
Philipp
Len Ovens
2018-07-26 14:15:47 UTC
Permalink
Post by h***@gmx.net
On Wed, 25 Jul 2018 08:58:50 -0700 (PDT)
Post by Len Ovens
I have been using PA and Jack bridged for about 4 years now. My
script has changed during that time, not for problems but to make it
more generic. I use jackd as the audio device for pulse. That is I
remove the alsa and udev modules from pulse (after starting). This
ensures that jack is always the default i/o and as a side benefit
allows jack to freewheel with no problems and gives better xrun
immunity. I do not use the jackdbus-detect module, but rather use
jacksink or jacksource modules as needed to ensure separate stereo
pairs rather 4 channels being used as suround... I always set the
pulse modules _not_ to auto connect, prefering to have jack_connect,
jack_disconnect or jack-plumbing do that job to the port I want
connected (system_1/2 are not always right).
Thanks for that comprehensive writeup Len. It sounds as if it requires
quite a bit of configuration surrounding PA, something I hope to avoid.
I use three lines to reconfigure pulse:
pactl unload-module module-jackdbus-detect
pactl unload-module module-udev-detect
pactl unload-module module-alsa-card

any one bridge from pulse to jack is a one liner:
pactl load-module module-jack-sink client_name=PulseOut channels=2 connect=no

(use module-jack-source for audio going to pulse)

This is not really configuration as you don't look for pulse's
configuration files. These act on an already running pulse.

As with all configuration or startup scripts, this is a write once use
many times solution. It is worth taking the time to write a proper config
file or startup script and then it can be forgotten pretty much.


--
Len Ovens
www.ovenwerks.net
h***@gmx.net
2018-07-30 05:59:31 UTC
Permalink
On Thu, 26 Jul 2018 07:15:47 -0700 (PDT)
Post by Len Ovens
[...]
[...]
[...]
pactl unload-module module-jackdbus-detect
pactl unload-module module-udev-detect
pactl unload-module module-alsa-card
pactl load-module module-jack-sink client_name=PulseOut channels=2 connect=no
(use module-jack-source for audio going to pulse)
This is not really configuration as you don't look for pulse's
configuration files. These act on an already running pulse.
As with all configuration or startup scripts, this is a write once
use many times solution. It is worth taking the time to write a
proper config file or startup script and then it can be forgotten
pretty much.
So I have experimented a bit and I think this is the solution I'm
going to use, thank you very much.

There are of course a number of old and new questions.
1) I have the system set up for jack as per usual (the limits.conf
stuff) and that seems to work fine for jack, yet PA complains that it
can't set up realtime scheduling or somesuch.
It's the same cryptic error that this guy got:
https://ubuntuforums.org/showthread.php?t=1712689
I haven't noticed any issues so far, is this anything to worry about?

2) I did look into the KXStudio applications. While Cadence worked it
didn't give me any control about the PA bridging etc. and I often had
to interfere from the CLI, so I might as well work from the CLI.
I'm somewhat confused by the at least three different kind of patchage
clones (Catarina, Catia, Claudia) and especially by the use of ladish
for session management, as this project seems to be unmaintained since
many years now.

I think all I need for now is something to start a plugin host, load
the plugin including settings and make a few static connections. I
guess it could be done from a shell script, provided the plugin host
has an appropriate interface.
What do you use for session management?

3) Carla as plugin host looks nice so far.
Are there any others that work well, also with LV2 custom UI plugins?
I looked into the calf suite and the compressors there have what I was
missing from OBS, namely a gain reduction meter that helps me set the
threshold appropriately. Are there any other good compressors or other
tools for voice? I saw that there is a calf de-esser, EQ's etc. but I'm
not sure that's needed.

I'm pretty positive that this will work out. I figured out the OBS <->
Jack part and JACK seems to be running xrun free so far.
My only worry at the moment is the session management.

Thank you very much everyone.
Best regards,
Philipp
Len Ovens
2018-07-30 15:46:52 UTC
Permalink
Post by h***@gmx.net
On Thu, 26 Jul 2018 07:15:47 -0700 (PDT)
Post by Len Ovens
[...]
[...]
[...]
pactl unload-module module-jackdbus-detect
pactl unload-module module-udev-detect
pactl unload-module module-alsa-card
pactl load-module module-jack-sink client_name=PulseOut channels=2 connect=no
So I have experimented a bit and I think this is the solution I'm
going to use, thank you very much.
There are of course a number of old and new questions.
1) I have the system set up for jack as per usual (the limits.conf
stuff) and that seems to work fine for jack, yet PA complains that it
can't set up realtime scheduling or somesuch.
I think you will find this is because the PA-jack bridge is not
"finished"... actually it is example code which could use some love.
ignore the warning in other words. The reality is that Pulse does not
ensure bit perfect throughput anyway. Samples are lost over time whic is
why Pulse is not suitable for most proaudio applications with the
exception of live on air phone calls via skype.
Post by h***@gmx.net
2) I did look into the KXStudio applications. While Cadence worked it
didn't give me any control about the PA bridging etc. and I often had
Cadence is an all in solution. If it does what you need it is great, but
if you need something else, you need to learn what Cadence has done. In
other words you not only have to know jack and pulse, but cadence as well.
Post by h***@gmx.net
I'm somewhat confused by the at least three different kind of patchage
clones (Catarina, Catia, Claudia) and especially by the use of ladish
use Catia or the Carla. (my opinion)
Post by h***@gmx.net
3) Carla as plugin host looks nice so far.
Are there any others that work well, also with LV2 custom UI plugins?
I looked into the calf suite and the compressors there have what I was
missing from OBS, namely a gain reduction meter that helps me set the
threshold appropriately. Are there any other good compressors or other
tools for voice? I saw that there is a calf de-esser, EQ's etc. but I'm
not sure that's needed.
Calf looks nice but there are others with better DSP.


--
Len Ovens
www.ovenwerks.net
h***@gmx.net
2018-08-01 07:29:25 UTC
Permalink
On Mon, 30 Jul 2018 08:46:52 -0700 (PDT)
Post by Len Ovens
[...]
[...]
[...]
I think you will find this is because the PA-jack bridge is not
"finished"... actually it is example code which could use some love.
ignore the warning in other words. The reality is that Pulse does not
ensure bit perfect throughput anyway. Samples are lost over time whic
is why Pulse is not suitable for most proaudio applications with the
exception of live on air phone calls via skype.
Thanks, I will ignore these errors then.
Post by Len Ovens
[...]
Cadence is an all in solution. If it does what you need it is great,
but if you need something else, you need to learn what Cadence has
done. In other words you not only have to know jack and pulse, but
cadence as well.
[...]
use Catia or the Carla. (my opinion)
Thanks.
Post by Len Ovens
[...]
Calf looks nice but there are others with better DSP.
Which ones would you suggest?

Come to think of it, given JACK I could do the gain reduction metering
myself if the plugin doesn't support it. Just put a good meter before
and after the effect and compare.

For session management it seems not much has changed. There is
JACK Session, NSM, LADISH (Claudia) and some simpler solutions that
mostly can't restore internal state, correct?
Given that some programs don't support any session management protocol
(OBS, possibly others) what would you recommend?

Regards,
Philipp

Loading...