You are here

Send bus effects in Qtractor

Hi all,

I'm wondering if there's a way to use send effects in Qtractor, or if it's something that could be implemented. Send effects let you share a single effect (reverb is the classic example) among multiple tracks; it's very handy for ensuring a consistent sound across the mix and for reducing CPU usage (by replacing the separate plugins on each track with one, shared effect), and it's critical for using external effects, like Jconvolver, where running separate insert effects on each track is impractical.

Hopefully this will illustrate the scenario:

* a bus is created, and a 100% reverb effect is added to it (could be a plugin, or an insert to Jconvoler or some other external reverb)
* a "send" is created on each track, which routes a copy of the track's audio to the bus, without interrupting the signal flow on the track
* each of these sends has a gain control to adjust how loud the copy sent to the bus is; this allows the effective level of the effect to be controlled per-track

If that's still not clear, I described how to set this up in Ardour in more detail in this (rather lengthy) blog post.

rncbc's picture

You can go with an insert in a qtractor output bus. All tracks that are supposed to share a bus insert plug-in must be assigned to that same output bus.

In case you didn't notice, qtractor output buses are in fact mix-down devices that can hold a plug-in chain and send/return inserts as any individual track.

One simple restriction you might find is that one track can only have one output bus and that's a designated fact :) Another one is that, due to qtractor internal process, it's of no consequence if you connect any qtractor audio output bus directly to one of its own input buses--you should use an intermediate JACK client for that to work at all, that is, to have any signal go through the loop-back.

Take a look at page 14 of the ageing user manual. There you'll find the evil flow/block diagram that should explain a bit the routing innards of qtractor signal flow (also shown below).


You can go with an insert in a qtractor output bus. All tracks that are supposed to share a bus insert plug-in must be assigned to that same output bus.

In case you didn't notice, qtractor output buses are in fact mix-down devices that can hold a plug-in chain and send/return inserts as any individual track.

Yep, I'm doing this for adding a single compressor across multiple vocal tracks, for example. It could be used for shared reverb, too, but in that setup there's no way to control how much reverb each track gets -- they're all going to get the same level, based on the mix controls in the reverb plugin itself.

With sends, the idea is that each track still outputs to the master bus as it normally would, but you also take a copy of that track from some point in its signal chain, reduce its gain, and send it off to the input of a separate bus, which hosts a 100% wet reverb plugin. Instead of controlling the amount of reverb by tweaking the plugin, you leave the plugin 100% wet, and tweak the gain on the send instead; if it's sending a loud copy of the audio to the bus, you'll end up with a lot of reverb for that track in the mix, or if it's a quiet copy, you'll get just a little.

Once you have multiple tracks set up in this way, with sends to the one reverb bus, you can adjust the amount of reverb added to the mix for each track just by tweaking the gain on the send from each track. All the "send" needs to be in Qtractor is half of an insert (just the send part of it, with no return), but with a gain control.

It sounds like I might be able to do this by doing some creative routing, like adding a new bus for each track and having those buses all output to the reverb bus so I can use the bus's fader to control the reverb amount. That will be complicated, though, and it sounds like there's no easy way (or perhaps no way at all) to route a track to both the master output bus, and to these other buses that I'd be creating.

Hopefully that explains it well enough, but if not, let me know and I'll see if I can draw a diagram or something :)

rncbc's picture

yeah, creative routing might be the answer but there's no send gain nor wet/dry controls for a qtractor insert... now that you ask, maybe I'll think of adding it soon ... stay tuned :)


If you could add sends with gain that would certainly make my day :) As far as wet/dry controls go, I was referring to those settings within the reverb plugins themselves, to produce just the sound of the reverb (some plugins have a "blend" control that needs to be set to 100%, or instance), but I'm sure that having a generic wet/dry control within Qtractor itself could be useful too!

rncbc's picture

there's yet another evil block diagram to show what i have in mind for the new insert, just made in a hurry on google docs :)

will that make your day? i surel will make my week-end :)


UPDATE: no need to wait for the week-end: svn trunk r1742 already has some nice early implementation (qtractor Below the aspect of the new insert control dialog.

AutoStatic's picture

Great stuff! Now I really need to update my Qtractor install :) Also because of the MIDI event copy stuff which is great also. Now I can start making little templates to automate plugins.

Enjoy your weekend!


Very cool, thanks :) I tested this quickly earlier, and I nearly got it working the way I want -- with a little more work I think I'll have it running really well. I did find some odd behaviour when I left the returns unconnected -- sometimes it would get in to a state where no sound would come out the Master outputs, even though the tracks themselves showed output, but I'm not yet sure if that's a bug, or just a result of me doing something silly.

Is there a way to send something after the main volume control has been processed? I would like to EQ a bunch of vocal tracks simultaneously on one bus but still be able to control their volume (and even mute them, solo them, etc.) *before* they are sent to a bus for processing. Maybe I'm thinking about this wrong?

I'm used to working in with buses in Logic, where there is a "pre/post" switch for sends. Now I understand that the "insert" effect can be placed at any point in the effect chain, but it'd be great if it could also take into account an individual track's volume so that I didn't have to do all of my mixing using the little direct access gain slider!

Maybe I'm going about this all the wrong way (Help!)

rncbc's picture

there's no post-fader thing in qtractor. all effects and inserts are chained *before* the mixer strip faders (eg. gain).

note that the "bus" concept in qtractor is not the same as in other DAWs; also, remember that qtractor is an audio/MIDI sequencer with some DAW-like features ;)


Ah but it would be so much more powerful if there was! I really like the idea of an (optional) fader pseudo-plugin that would modify default behavior.


Add new comment