You are here

Audio Bus Signal Stops After First Layer

I upgraded to Ubuntu Studio 21.10 with Pipwire activated. All other audio works and instrument tracks play properly to the master. But audio has stopped routing through multiple audio busses (audio signal appears in initial bus but does not continue to a second bus connection and beyond). Monitor function is properly enabled, etc. It's likely a system problem... but I have had these project files playing properly on 20.10 with Pipewire so I know that the mixing chain should work.

Any experience with this type of symptom regarding audio busses?

-Carl

Forums: 
rncbc's picture

please check whether (external) routing is up (use some jack-aware connection manager (eg. qjackctl) or a native pipewire one (qpwgraph, helvum)...

probably it might be something in the naming scheme of newbie pipewire as against good/bad ol'jack; please check it out!

merry x-mas && happy nye && all that :)

Unfortunately, everything looks good in QJackctl. My guess is that this iteration of pipewire isn't handling the internal Qtractor routes properly, but I'm not sure as to how I can verify that. As I said, the instrument channels do send to the first bus, but the busses don't send to other busses. Do you have an appimage or an ubuntu flavor .deb repo for your qpwgraph? Looks like these qt pipewire projects are all in raw source (which I NEVER have good luck with or the trouble-shooting time to sort it out).

Thanks!

rncbc's picture

pipewire is way ahead of the pack so that it's only available on my Applications (impish) ppa repo for the time being (ie. ubuntu 21.10)

hth.

UPDATE:
I disabled pipewire and ran the session under pulseaudio / jack... and to my surprise, I got the same result. There seems to be something funky with Qtractor's ability to route internal connections on my system. This appears to apply to the Ubuntu repository install and the latest several appimages.

I seem to remember Qtractor behaving with this kind of bus routing limitation in a version/install years ago, but I haven't seen this kind of problem since. I'm baffled!?!

So the situation is that any instrument channel can be routed to any bus and THAT bus can be routed to the system playback. All channel and bus input/outputs seem to work fine all around. The problem is when an instrument is routed to a bus and then that bus is routed to a second bus, the signal is lost. The signal will not go any further than a primary location (but it will go out from that primary location to the system playback). It is as if the input of a secondary bus will not work, even though it will accept an instrument channel directly. The problem seems to be present even when using inserts or aux send plugins.

Any thoughts on a Jack setting that might impact this type of a scenario? It's strange.

rncbc's picture

hi Carl, I now believe that you're being fooled by one pretty old issues, for ages now...
1) jack "zero-copy" optimization, and
2) processing order of audio output buses.

please check the comments here on some topics of yore:)
Re:Feedback Noise when System Capture and Playback are Connected
re. 'Subgroup' problem
re. Qtractor : routing problem
re. Routing/Buss issues with LSP Multi Sampler

hth.
cheers

Hmm. That's pretty interesting. I did discover that rolling back to 20.04 with Pipewire created the same problem and then completely removing Pipewire (all packages) resolved the problem. I am now upgrading back to 21.10 minus any Pipewire modules to see if it works.

But... assuming that the problem is as you say, would the simplest solution be to add an input from a muted mic (or a null sound card device, like a muted hdmi output) to the bus input? Obviously, connections via jack routing are very logical and direct. It would be nice to keep that setup, even if it means using a simple hack.

EDIT:

I can now confirm that Pipewire causes the problem and the problem is the Jack "zero-copy" limitation. I also found that routing busses through an external Carla environment (flat EQ modules or something similar) corrects it (as suggested in the threads that you linked). I also found that routing busses through spare card slots does the same without having to go through an additional application. In my case, I have 3 HDMI slots showing, which is just enough to allow a mixdown through 2 bus layers between the initial bus and then the master. Probably the best solution is to create a simple Carla session to accompany each project... loading the project first, disconnecting all default connections and then loading the Carla session (apart from using a session manager of some type).

So, in the end, I am back on Pipewire and in 21.10 (where I wanted to be).
Thanks so much for your help and direction in sorting this out. I have been fortunate to always have a hardware/software combination that didn't reveal this issue over all these years that I have used Qtractor!

Take care!

Here is a video tutorial regarding the solution for anyone interested:

https://youtu.be/H7CXvJ5heZ8

rncbc's picture

hi Carl, sorry for the lack of immediate response, happy new year!

hope this new one gets all us in better mood that the last couple of years ;)
cheers

Add new comment