Sidechain Compression in Tidal?

This may be redundant but I couldn't figure out if this is built into a compression effect, its own effect, or not implemented yet.

Anyone know how to sidechain compress in Tidal?

3 Likes

Not built into Tidal I don't think, but you can do by hacking SuperDirt a bit. See filtering-dirt-output.scd in the SuperDirt/hacks directory, there is a sidechaining example there.

2 Likes

Also maybe @eris can help, I just found this: http://erisfairbanks.com/music/tidal/supercollider/code/2012/08/26/tidal-electro.html

1 Like

Yes here's the file:
https://github.com/musikinformatik/SuperDirt/blob/develop/hacks/filtering-dirt-output.scd

Note that these days d1 defaults to going to the first orbit, d2 to the second, and so on up to d12.

2 Likes

How about just regular compression controlled via tidal? Is it possible to write a synthdef that is a compressor on a channel?

oh yeah for sure, i've made one for FoxDot, i could change the SynthDef to be Tidal-compatible later today if you want to. In the meantime, this is how you would do it for FoxDot:

SynthDef.new(\comp,
{|bus, comp, thresh, atk_time, rel_time, upcomp, makeup|
var osc;
osc = In.ar(bus, 2);
osc = Compander.ar(osc, osc, thresh: thresh, slopeAbove: (1/comp), clampTime: atk_time, relaxTime: rel_time, mul: makeup, slopeBelow: (1/upcomp));
ReplaceOut.ar(bus, osc)}).add;
4 Likes

That would be awesome! How do you specify which track the compression is on? Or is it a compressor on the master?

There's info about adding a 'global' compressor here:

'global' in superdirt means per-orbit, so it would compress each channel separately.

4 Likes

Is it possible to do sidechain without using d1/d2 (in orbits) but using patterns,like p "bd", p "bass"?

you can specify the pattern's orbit doing # orbit 2 for example

I can't use orbits, because I'm using orbits for multichannel out.

You could just add more orbits for side chaining?

I tried to use something like d17 or d18 but getting error "
Variable not in scope: d17 :: Pattern ValueMap -> t"

They're defined in your BootTidal.hs, you can see there that only up to d12 are assigned orbits. You can edit that file to add more