Creating submixes from existing buses

Hi, I am recording stems of some pieces I have written using the ~recordBuses function I found here

with the usage:

(
~recorders = ~recordBuses.value(
	[~reverb, ~vocoder, ~drums, ~kick, ~grainslicer, ~fft1, ~pulsarA],
	Platform.recordingsDir +/+ "ark1-end4/%.wav"
);
)

However, this means that I need to add the relevant bus to the output of every pattern, and also leave a ‘main out’ to monitor while recording e.g.:

Pbindf(
	Pdef(\seq3,
		Pdef(\fb1mod)
	),
	\out, [~mainout, ~drums, ~convolve_B, ~miVerb]
)

is there any way I can associate the outputs of existing buses with another bus? For the above example it would mean sending ~convolve_B to drums – this would be great, so then I don’t have to go through and add the relevant recording outs to every pattern in the project. Thanks!

You can use a synth to copy the signal. That is, synths handle all signal processing. Copying a signal from one bus to another is signal processing, so it should be done with a synth.

I use groups to manage order.

  • The instrument (channel) has a main group.
    • Head of that group is a group for audio source synths.
    • Following that is a group for fx insert synths.
    • If I need any pre-fader synths (read from the channel’s bus, volume scale per send level, output to the send target bus), they go here, right after fx.
    • Then I have a fader synth that does similar volume scaling, and writes to the channel’s target bus (and also ReplaceOut back to the same bus).
    • If I need any post-fader sends, they go here.

This isn’t overkill – it’s a design that’s ready to handle just about every signal routing need you’ll ever have. (It’s packaged into the ddwMixerChannel quark, but you can also make it yourself out of groups and buses.)

hjh

Makes sense – I’ll have a look at ddwMixerChannel, haven’t felt like I needed this level of abstraction yet.

What about using the Monitor class? Or does that not work for this case

Apologies in advance for the poor documentation.

That should work, as long as you get the node order right (use target and addAction args to control this).

hjh

1 Like

I found this kind of hard to find part of your website the best tutorial
http://www.dewdrop-world.net/sc3/tutorials/