Vactrol Emulation

Yo, peeps. Long time, no talk. I’m currently trying to build up some VCO > VCFA devices to ‘replace’ my STOs and Optomixes. And by ‘replace’ I mean free up space in a 6U setup. I don’t think I’ll be selling my beloved Optomixes any time soon :wink:

So, what I’m trying to do is make that squishy release time that the Optos provide. That is, whatever envelope I send to an Optomix gets lagged a little on the release. It’ll take an uptight envelope and relax it a bit. I’ve already been able apply an external envelope to a Ladder Filter followed by a VCA using the same envelope to get the round sound that the Optos are so good at. And this is good, but the shape is still a 1:1 representation of the envelope I’m sending it and I want to squishify it a little.

So, I figured that inserting an Envelope Follower (with a longer release time) into the Ladder Filter V/oct parameter (which is getting its CV from my external envelope) would suffice, but it doesn’t. Could anybody explain why this doesn’t work and show how I might achieve the aforementioned squishification effect?


That’s a tricky one… To confirm, was the envelope inverted (use a negative value in the assignment area) to dampen the sound? Sounds like you’re on the right path, perhaps manipulate an EQ unit as well and/or use a fully wet delay to lenghten the time before your envelope actually kicks in, like a reverb predelay?

Hope this isn’t a dumb question but you said you had a ladder filter followed by a VCA, controlled by the same envelope. You put an envelope follower with longer release on the ladder filter cutoff envelope. Did you put an identical envelope follower on the envelope controlling the VCA? If not I assume it would cut the audio before the ladder filter finished its release.

Neat idea BTW.

Thanks. And yes, I tried applying it to both and also tried bypassing the VCA and just using the filter to hear only what it was doing.

Inverted envelope, no. I just lowered the cutoff and then used a positive envelope to open it up.

I’ll check out the delay idea.

Yes, wouldn’t you want to cut the filter using the envelope? Set it high and then close it to dull the sound while closing the vca?

I think what you’re describing is the inverse of a vactrol. My understanding is that it’s normally closed and that the envelope opens it just like a VCA. Starting with the filter open and then inverting the envelope makes it go dull at the peak and gradually get brighter as the VCA closes.

Right? If I’m trippin’ (which is entirely possible), somebody, call me out.

I think we’re both close, so I did some experimenting to see what I could come up with.

Try this: to control the v/oct of the ladder filter, in the subchain for v/oct, add this:

gate in —> envelope follower set to 0ms attack, some release greater than 0, maybe 500ms - 1sec --> Linear VCA with negative gain and negative bias.

This should lower the pitch of the filter when the gate triggers.

Pair this with a normal vca with adsr on the chain after the filter and use the same gate. Delaying the gate on the filter channel could give you that bright to dull sound while the vca takes care of the dynamics.

Thanks for the attention on this, man.

I should note that I’m practically married to Just Friends with this setup, so I’m not using any Gate inputs and internal ADSRs for this jam, just the envelope outs from JF.

But what you said may have illuminated the fact that the issue might be that the Envelope Follower simply can’t lengthen an envelope fed into it.

As for the envelope polarity on the filter cutoff, I’m actually getting the shape/sound I’m looking for the way I’m building it. What I’m missing is the ability to lengthen the envelopes I’m feeding the 301 from Just Friends.

1 Like

Maybe you are looking for on the fly timestretching that could be achieved with some configuration of sample recorder + sample player accessing the same buffer. I usually use these for audio but I think that recording and manipulating cv could be interesting territory! :slight_smile: It’s crazy how deep this module is!

1 Like

This is interesting…

My first thought was to introduce some feedback into the envelope shape to make the shapes exponential - could be worth trying.

edit: I just realised it may not be obvious how to do this, so… put your envelope in a global chain, route the trigger for the envelope to the envelope, route the output of the envelope to your VCA, but also route the output of the global chain back in to the attack and decay portions of your envelope.

Even if this doesn’t give you what you want it’s still really good fun and worth messing about with anyway.


Woah, now that’s some out-of-the-box thinking with the recorder+player. I still need headroom for a stereo audio sample manipulation chain, so hopefully, there’s room for all the shenanigans.

Thanks for the additional explanation. Sounds like it would practically speaking shorten the response, rather than lengthen it, right? But it’s a cool idea nevertheless for other applications. I haven’t explored Global Chains yet, but am I correct in assuming that this approach can’t be applied to external envelopes? That is, the module would require DC-coupled outs?

Well, the time it takes is still relative, so you could set the envelope section to be longer, the main point is you get an increase in speed of change towards the beginning or the end depending on whether you use negative or positive feedback - it’s very cool!

That’s right, internal only unfortunately - well - I say unfortunately but we’re so lucky really… also I keep dreaming of an O|D take on the Control Forge… one day maybe :smiley:

1 Like

Actually, I’m now experiencing something that might be a bug. @odevices, I’m going to loop you in here. I’m using 0.2.11.

When I use a Sine Osc (controlled by external V/oct) followed by a Linear VCA (controlled by external envelope) everything works as expected. But when I add a Ladder Filter before the VCA and set the Filter’s V/oct to be controlled by the same external envelope, all is good until I lower the cutoff frequency. What happens is that the pitch of the oscillator actually drops by more than a half step. The more I lower the cutoff frequency, the lower the resulting pitch. Additionally, the faster the envelope, the more the pitch drop. The filter Q is set to 0.

I believe this is a natural behavior of a low pass filter. Low pass filters actually delay their inputs slightly (called the group delay).

This delay increases as the cutoff frequency goes down and is really only noticeable with very narrow band inputs like sinusoids. So when you hit the cutoff frequency with a fast envelope, you are changing the group delay of the filter fast enough that you actually hear a slight frequency shift as the filter cutoff moves from low to high. It’s the same phenomenon that causes the pitch to change while you are changing the delay time in an interpolated delay line (such as the Variable Delay unit).

As for vactrol emulation:
I believe linear FM of the Ladder Filter is rather important here which is still to be implemented. Soon though. By the way, I know you said you wanted to use an external envelope but have you tried the Skewed Sine Env (set to negative skew around -0.7) controlling the VCA? This will give you a nice round sound.


Okay, great. Thanks for the illumination, Brian!

And until linear FM of the Ladder Filter is implemented, I’ll look into doing it all within the box, just for the fun of it.

Not seen the latest firmware update then? :smiley:


I want to try this now!

1 Like

Oh, snap! :heart_eyes_cat:

1 Like