Envelope Detector/Follower

In many hardware and software systems it's possible for the envelope of a sound to be used to drive modulation of another sound. I'm wondering if this is something that can be done in Tidal Cycles.

For example here a sine wave controls distortion:

d2 $ sound "bd*8" # distort sine

In pseudocode I'm looking for something like this:

d2 $ sound "bd*8" # distort d1

Where d1 itself affects d2 somehow... pseudocode aside is this technique possible at all?

I'm really having a wonderful time using Tidal Cycles and reading threads on this forum. I'm fairly confident this is not discussed on the forum anywhere yet so I hope I'm not posting too much! Thank you all!!

I'm not entirely sure that is possible without using some SuperCollider hacks, and even then I don't know if it can pick up the parameters for effects on another 'instrument'.

People smarter than me may have an answer. I haven't tried, but if you leverage a common variable for both d1 and d2 you could at least have a common distort value in your instance.

Also, I use the this hack https://github.com/musikinformatik/SuperDirt/blob/master/hacks/adding-global-effects.scd in my supercollider startup.

The github link is on lower part of this page on this page of the TidalCycles documentation: Audio Outputs | Tidal Cycles

The idea here is that you can set up like d7 and above to be FX (like distortion) and within that FX (say on d7) give an orbit for any other d1 - d6. Any of those given in that d7 will receive audio from whichever you have chosen to listen to in d7 distortion.

I kind of know what you are after, and not sure that is the solution, but it does give you more global FX at least.

Within Supercollider itself you can use one modulation source for multiple SynthDefs, but again, maybe someone has a better answer for this in TidalCycles. It usually comes down to knowing Haskell a bit better (which I don't).

1 Like

@Hypostatic thank you! I achieved the overall effect I wanted by sending audio out to other programs and in the end it's actually quite unnecessary haha. This global effects approach you've shown is awesome!

Glad you found a solution! Yeah, the orbit routing hack is pretty cool. I have one laptop that isn't even my "studio" in with one Novation XL hooked up. I use the FX orbits with CC controls and suddenly you can do some pretty cools stuff! Record that as a multi-channel WAV and you just recorded a live performance with decent ability to mix. I still haven't found an exact way to start recording in SuperCollider when I start an instrument in Tidal, but that's another topic, and I just chop and align the audio to get it in sync.