Venom Development blog - Latest: Ratio module + 6 others

Using the TRIG/GATE voltage to specify a ratchet time divisor and/or count was a bad idea. It only works if the trigs/gates are nice and square, and that is a bad assumption. It was a fun thought experiment, but it is not going to happen.

But the ENV output mode? - that is done! (and documentation updated)

AD_ASR

dev7 binaries for GitHub account holders

Surely this is done now, right!?

5 Likes

Seems like this opens up the possibility in another envelope design you could accomplish this with a gate input and a ratchet input, but obviously the fun of extracting more info from the trigger is lost. Love to see you play these ideas out even if they run into a brick wall, synth welcomes your experimental nature, but maths kicks back.

1 Like

My first attempt at using the AD/ASR Envelope Generator in a musical context. I didn’t do anything fancy with the EG, but I like the piece!

2 Likes

Still experimenting with AD/ASR, so far I love it.

1 Like

I like the Ad/Asr mode 4 for looping, but my new fave way to patch with this env gen is to make one slow and send a divided clock for a long cycle, make a copy and set this one to inverted env and then use the 2 to control the mixer level for 2 voices in a call and response manner.

1 Like

I would like to see/hear that!

Law and order.vcv (1.2 MB)

This one is the one I have been tinkering with, it uses a few instances of the env genenrator. You could probably make this a better patch yourself, I do sort of rough work compared to some amazing patchers I see around here. Just hit the left most PUSH module to make things go along. The 2 rightmost AD/ASR are doing the mixer see/saw, but the second voice doesn’t join right away, so wait for it to get the full see saw. Lol.

oy vey I forgot Trigstation stepstation has some saving issues and it was remedied in the Sickozell prerelease 2.7.7-beta3 from the github, i bet the patch doesn’t even work, probably blank sequencers.

I’ve added another module to dev:

SLEW - a polyphonic slew limiter and slope detector for both CV and audio processing.

Slew

Here are the dev8 binaries for users with a free GitHub account.

I would love some feedback on this new module. Are there any additions or changes you would like to see?

No documentation yet, but it is mostly self explanatory if you know what a slew limiter does.

There are a few unusual capabilities:

  • The FAST mode is very fast, suitable for shaping audio signals
  • Oversampling is available to mitigate aliasing
    • I am not aware of another module with this feature
  • Attenuverted CV is always added to knob values
    • Unattenuated +1V Rise/Fall CV doubles the time, and -1V halves the time
  • The V/Oct input scales the Fall and Rise times in an inverse manner
    • +1 volt halves the time, and -1 volt doubles the time
    • I am not aware of another module with this feature
  • All of the above make it work well as a dynamic wave shaper, even for audio signals
  • Gate outputs show when the slewed output is rising (Rise), falling (Fall), or steady (Flat)
    • The Befaco Slew has the rising and falling gates, but not the steady gate
    • Note these gates can get noisy when working with audio input and fast slew rates, especially when oversampling is applied

The Rise/Fall times represent time to rise or fall 10 Volts. The times are precise for linear shapes, and only an approximation for curve shapes (~9 Volts instead of 10)

The Rise/Fall knobs are scaled as follows:

Normal (slow) mode

  • Min = 7.8125 msec
  • Noon (default) = 250 msec
  • Max = 8000 msec

If you patch the V/Oct signal for a typical LFO where 0V = 2 Hz into the Slew V/Oct, and Fall and Rise times are at noon, then a square wave will always be converted into a triangle wave. If using 100% linear shapes, then the amplitude will be 100%. If using 100% curved shapes the amplitude will be 90% +

Fast mode

  • Min = 0.060223 msec
  • Noon (default) = 1.9111 msec
  • Max = 61.155 msec

If you patch the V/Oct signal for a typical VCO where 0V = 261.63 Hz (C4) into the Slew V/Oct, and Fall and Rise times are at noon, then a square wave will always be converted into a triangle wave. If using 100% linear shapes, then the amplitude will be 100%. If using 100% curved shapes the amplitude will be 90% +

So when used as a wave shaper, you can tune the Rise/Fall times and CV attenuation for a given frequency, and as long as the V/Oct input is patched properly, the wave shaping will scale properly as the frequency changes.


@StochasticTelegraph - Your Basically module was a great help in prototyping this Slew module. Normally I like to use docB FormulaOne, but it did not have enough inputs/outputs to meet my needs. Basically worked great!

14 Likes

Oh man! Thank you for this! It’s looking great Dave.

1 Like

Yeah that is really cool actually. Look forward to trying it.

1 Like

I have added Slew documentation

1 Like

The first fully clockwise should surely be a fully anticlockwise, as further down you doc that 0% is Linear…

1 Like

Yep, thanks. All fixed now.

Hi Dave, I am enjoying Slew very much. This is the slew rate module I didn’t even know I needed. There are some unusual features here that look fun.

I’m running on Linux as usual, built from source directly from your repo. I’m using the tip of the Dev branch, which right now is 87bf46f109ca45d55552d618d104910f48546ba1, in case that matters. I don’t see any issues so far.

I’m just getting started…

3 Likes

Just noticed there’s a v/oct there, which should be fun as a Serge DUSG setup.

1 Like

I like using Slew as an envelope generator. Changing the shape of the curves using CV is an interesting new dimension.

venom_slew_04.vcv (7.4 KB)

6 Likes

Well dang! I couldn’t ask for a better endorsement!

Sounds great! And seeing a use case I didn’t anticipate before the module is even released is fantastic!

1 Like

SLEW looks nice Dave, I like it!. An annoying question: Why only lin and log curves for the rise/fall but no exp? I think that would be quite useful, and the knobs could easily accomodate that, with the three stops being: exp, lin, log.

So e.g. like the Bogaudio::Slew, but with log/exp exchanged for my taste anyway:

Just a thought.

2 Likes

Yes, I would love to have exp curves as well, but I could not figure out any math that met my requirements. In other modules I do have both log and exp, but they are all mapping linear 0-10 to a curved 0 to 10 with a simple function that depends only on the absolute voltage. I never look at the rate of change.

For Slew I want the same curve no matter what the starting voltage is. I also want the linear and curved times to be (nearly) the same, and any “log” vs “exp” should be symmetric. Slew does not care what the absolute voltage is. It measures the deltaIn from the previous output level to the current input level, and then computes a new deltaOut that is added to the previous level. I didn’t know how to do that, so I empirically experimented and stumbled on a simple delta formula that gave a result I liked. I was wary that my method might not be good, but then I compared my output to the Befaco Slew, and found I could dial in a slew rate that gave identical curved results. That gave me confidence that I was on to something.

I was curious how Bogaudio was implementing both “log” and “exp”, but when I looked at the Bogaudio results I saw the “log” vs “exp” were not symmetric at all. So I stopped looking.

But now when I look again I see that maybe I should reconsider. The Bogaudio rise concave up shape looks very similar to my rise concave down. It is the Bogaudio rise concave down that I don’t like. So maybe I can keep my existing rise concave down, and use the Bogaudio rise concave up. I will have a look at the Bogaudio code.

1 Like