# Sidechain Compression in Tidal?

**URL:** <https://uzu.lurk.org/t/sidechain-compression-in-tidal/509>\
**Category:** TidalCycles\
**Tags:** questions\
**Created:** [28 April 2020 02:12 UTC](https://uzu.lurk.org/t/sidechain-compression-in-tidal/509 "2020-04-28T02:12:33Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![nyx](https://uzu.lurk.org/letter_avatar_proxy/v4/letter/n/dc4da7/32.png) [@nyx](https://uzu.lurk.org/u/nyx)\
**Post date:** [28 April 2020 02:12 UTC](https://uzu.lurk.org/t/sidechain-compression-in-tidal/509/1 "2020-04-28T02:12:33Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![tedthetrumpet](https://uzu.lurk.org/user_avatar/uzu.lurk.org/tedthetrumpet/32/39_2.png) [@tedthetrumpet](https://uzu.lurk.org/u/tedthetrumpet)\
**Post date:** [28 April 2020 09:17 UTC](https://uzu.lurk.org/t/sidechain-compression-in-tidal/509/2 "2020-04-28T09:17:44Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![pjagielski](https://uzu.lurk.org/user_avatar/uzu.lurk.org/pjagielski/32/167_2.png) [@pjagielski](https://uzu.lurk.org/u/pjagielski)\
**Post date:** [28 April 2020 11:19 UTC](https://uzu.lurk.org/t/sidechain-compression-in-tidal/509/3 "2020-04-28T11:19:12Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![yaxu](https://uzu.lurk.org/user_avatar/uzu.lurk.org/yaxu/32/2_2.png) [@yaxu](https://uzu.lurk.org/u/yaxu)\
**Post date:** [28 April 2020 11:24 UTC](https://uzu.lurk.org/t/sidechain-compression-in-tidal/509/4 "2020-04-28T11:24:24Z")

</div>

Yes here's the file:  
[https://github.com/musikinformatik/SuperDirt/blob/develop/hacks/filtering-dirt-output.scd](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`.

---

<div class="post-metadata">

**Author:** ![a314sces](https://uzu.lurk.org/user_avatar/uzu.lurk.org/a314sces/32/1202_2.png) [@a314sces](https://uzu.lurk.org/u/a314sces)\
**Post date:** [21 May 2020 04:40 UTC](https://uzu.lurk.org/t/sidechain-compression-in-tidal/509/5 "2020-05-21T04:40:19Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![geikha](https://uzu.lurk.org/user_avatar/uzu.lurk.org/geikha/32/2701_2.png) [@geikha](https://uzu.lurk.org/u/geikha)\
**Post date:** [21 May 2020 13:47 UTC](https://uzu.lurk.org/t/sidechain-compression-in-tidal/509/6 "2020-05-21T13:47:46Z")

</div>

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** :

```haskell
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;

```

---

<div class="post-metadata">

**Author:** ![a314sces](https://uzu.lurk.org/user_avatar/uzu.lurk.org/a314sces/32/1202_2.png) [@a314sces](https://uzu.lurk.org/u/a314sces)\
**Post date:** [21 May 2020 14:43 UTC](https://uzu.lurk.org/t/sidechain-compression-in-tidal/509/7 "2020-05-21T14:43:50Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![yaxu](https://uzu.lurk.org/user_avatar/uzu.lurk.org/yaxu/32/2_2.png) [@yaxu](https://uzu.lurk.org/u/yaxu)\
**Post date:** [21 May 2020 21:25 UTC](https://uzu.lurk.org/t/sidechain-compression-in-tidal/509/8 "2020-05-21T21:25:26Z")

</div>

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

> <https://github.com/musikinformatik/SuperDirt/blob/develop/hacks/adding-a-compressor.scd>

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

---

<div class="post-metadata">

**Author:** ![indee](https://uzu.lurk.org/letter_avatar_proxy/v4/letter/i/e36b37/32.png) [@indee](https://uzu.lurk.org/u/indee)\
**Post date:** [8 August 2021 21:04 UTC](https://uzu.lurk.org/t/sidechain-compression-in-tidal/509/9 "2021-08-08T21:04:52Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![geikha](https://uzu.lurk.org/user_avatar/uzu.lurk.org/geikha/32/2701_2.png) [@geikha](https://uzu.lurk.org/u/geikha)\
**Post date:** [8 August 2021 22:17 UTC](https://uzu.lurk.org/t/sidechain-compression-in-tidal/509/10 "2021-08-08T22:17:40Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![indee](https://uzu.lurk.org/letter_avatar_proxy/v4/letter/i/e36b37/32.png) [@indee](https://uzu.lurk.org/u/indee)\
**Post date:** [9 August 2021 07:19 UTC](https://uzu.lurk.org/t/sidechain-compression-in-tidal/509/11 "2021-08-09T07:19:48Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![yaxu](https://uzu.lurk.org/user_avatar/uzu.lurk.org/yaxu/32/2_2.png) [@yaxu](https://uzu.lurk.org/u/yaxu)\
**Post date:** [10 August 2021 15:51 UTC](https://uzu.lurk.org/t/sidechain-compression-in-tidal/509/12 "2021-08-10T15:51:57Z")

</div>

You could just add more orbits for side chaining?

---

<div class="post-metadata">

**Author:** ![indee](https://uzu.lurk.org/letter_avatar_proxy/v4/letter/i/e36b37/32.png) [@indee](https://uzu.lurk.org/u/indee)\
**Post date:** [10 August 2021 16:35 UTC](https://uzu.lurk.org/t/sidechain-compression-in-tidal/509/13 "2021-08-10T16:35:47Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![yaxu](https://uzu.lurk.org/user_avatar/uzu.lurk.org/yaxu/32/2_2.png) [@yaxu](https://uzu.lurk.org/u/yaxu)\
**Post date:** [10 August 2021 20:28 UTC](https://uzu.lurk.org/t/sidechain-compression-in-tidal/509/14 "2021-08-10T20:28:18Z")

</div>

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
