HowTo: Renoise -> Jack -> Pulseaudio - The peaceful way withou

Hello there!

I’m quite new to Renoise and joined recently. It seems lot’s - I mean LOOOOTS - of people are having issues with Pulseaudio vs Jack.

Here are my thoughts on this because this is an approach to solve it which was not yet listed on this forum.

The most common way

The most common solution presented around here is to load the module-jack-sink into pulseaudio.

The result of this is that Jack owns the ALSA card while pulseaudio is a node to connect inside jack.

Pulseaudio applications now need to be rerouted to the Jack sink to reach the actual sound card.

The problem of this common way

It’s quite difficult to use. “Normal applications” are working. YouTube videos can be watched and most application work that way.

An exception is Discord which seems to not harmonize pretty well.

Another approach

People would like to use Jack as main sound server because of latency. But what if I don’t need the latency in the current phase of your project. What if I just want to embed Jack into the pulseaudio environment instead the usual other way around?

I’ve found this website where a way is presented I haven’t yet thought of:

https://ma2hiroshi.wordpress.com/2016/09/26/how-to-use-jack-audio-with-pulseaudio-on-linux-peacefully/

Here the module-loopback is used.

Jack is started using the dummy device so it doesn’t affect the physical audio devices.

Then do the following but replace the sink with your card.

pactl load-module module-jack-sink
pactl load-module module-jack-source
pactl load-module module-loopback source=jack_in sink=alsa_output.usb-Burr-Brown_from_TI_USB_Audio_DAC-00.analog-stereo channels=2

Conclusion

The pulseaudio environment gets not destroyed with this and programs like Discord don’t get confused.

With this Jack is not your main sound server but only a communication handler between Pulseaudio and Renoise.

Of course latency can not be guaranteed any more.

A very similar approach somewhere here already presented is the Alsa loopback device. But this solution doesn’t work for me as alsaloop tends to crash every minute or so.

Maybe I was wrong for posting this. But I believe that someone around here might look for a solution. And as I couldn’t find anything related to module-loopback I decided to join the board and share this.

Greetings

Slamy

I don’t think many people have problems three days, the two work together much better than they used to. I don’t understand what you are doing with all this or why, you seem to be massively overcomplicating something that is rather simple. The only thing you mention is discord not working, I’m sure that can be fixed fairly easily. Aside from that, what is difficult about the normal method? You set it once and that’s it. If you have to manually route pulseaudio then something is not right.

Ok, I have to admit that qjackctl doesn’t seems to be the most optimal way of managing the Jack Environment. I’ve now switched to Cadence which manages the Bridging to PulseAudio by itself and automatic.

Sorry for bothering you or making you angry. :blush:

I’m not bothered or angry, just curious about what your issues were. It is possible to have it seamless with qjackctl but you need to use a script. Cadence is much easier and does everything.

I’m not bothered or angry, just curious about what your issues were. It is possible to have it seamless with qjackctl but you need to use a script. Cadence is much easier and does everything.

I did write my own bash script for this purpose. To load the pulseaudio modules for the jack sink and source. But it seems I’ve maybe forgotten something that cadence now does.

My original grief from yesterday didn’t came only from the problems with Discord but also with the SteamLink. I’ve decided to test the mixing of my latest song on multiple stereos for additional checking. As I mostly use headphones on my PC the hearing experience might vary and I’ve discovered that most of my songs are really bass heavy when listened to on big speakers. So I decided to use the SteamLink for my living room to recheck it on my TV and 5.1 system as this allows me to use Renoise with big speakers even without a direct connection to a PC.

The problem with Steam is that the linux version is only compatible with Pulseaudio. So I thought having Pulseaudio be the main sound server might solve it. But as it seems even with Jack as main server it still works when configured correctly. But it seems important that Cadence, Jack and the PulseAudio Bridge needs to be started before the SteamLink connects.

I’ve then connected Renoise’s output to the PulseAudio JACK Source and used pavucontrol to connect this Jack Source to the Steam Recording Stream which then gets redirected to the SteamLink.

This might also be a very complicated way in your eyes. But currently I don’t have a better solution. Either way the SteamLink performs great with Renoise that way. No clicking or glitching so far.

The only issue that’s left with this is that the SteamLink must be configured to be Stereo before connecting. Because of a yet unknown reason at some point in the audio chain the Stereo gets converted to Multi Channel Stereo which is something I don’t want.

Of course this is only something I would like to use at the end phase of a project. But it still is nice to have the option.