Building complex multipoint function/envelope generators


#1

Hi everyone,

First real question here after having made several tests on my Axo.

I was wondering how can I approach multipoints envelopes since it did not came as obviuous as I thought.

Is such object already avaliable or does it need to be coded ?

I already manipulated similar function generators in msp or usine by using graphical X/Y object but since Axoloti does not provide such graphical abstraction it would probabbly need a slightly different approach.

What I think I have to set up is :

  • Define a global duration for the enveloppe
  • Define the desired number of value needed
  • Define the time/distance between the different points ( X value for each point )
  • Fix each value ( Y value )
  • Interpolate between the values along defined duration
  • Output a function/enveloppe

If you have any hints, that would be really appreciated. I thought something using faders could probably be a starting point...

Thanks a lot.


#2

Reviving this old topic, wondering if anybody has made/knows about a function generator object.

I'd be happy with a simpler looping AR generator if that exists. Otherwise, looks like I'll have to make one myself and share it here!


#3

Hello! look at this object I made for my vcs3 project. It is an attack hold decay off env generator more or less similar to that of vcs3 / synthiA

AHDOloop.axp (3.6 KB)


#4

Jesus, this is amazing! Wow, I spent all of last night trying to jury rig something similar to this. Hey, thanks a lot!

How did your Synthi-loti turn out? Wouldn't mind seeing the patch/pictures of it if you have any.


#5

Yes I have one... Happy to share it in a few days, because it has some custom objects not in the library


#6

I made several of these but I now see I haven't added these to the library.
But I could make a new one pretty fast I think, depending on what you want.
"A problem" for such a module is that it needs a whole lot of controls to set all the stages, this poses a couple of problems:
-if you put them all on the same module for lots of stages, you'll get a MASSIVE module, which might get hard to control externally (lots of midiCC in case you want to control it externally).
-if you want the controls externally, this will again need a lot of inputs/external knobs and a way to choose how many of them you'll use and how to control them externally.
-plus all the extra settings of how the envelope should react at each stage (eg. curves, looping points for sustain part)

I'm thinking about a "modular" variant in which the times, amplitudes/goals, curves, looping points and sustain points are saved in an internal table, so you can select which stage to edit and then the knobs get updated to that stage so you can edit these internal values. Then you could use the table load/save modules to get these values onto your sd-card for later use in other projects.


#7

it actually became quite nice :slight_smile:

-up to 64 stages (though that would be a LOT of editing..LOL... or just press the randomise button I just added :wink: )
-3 modes for auto attack/release, sustained, or looping several stages for a set amount of loops (after which it can either hold or release).
-different set of stages for gate and release parts
-stages can independently change with fixed-time, fixed-rate or exponential rate
-a "common" time-scaling knob to quickly set the timing range of all stages faster or slower (log, so +12 would slow it by 1 octave/double the normal time)
-several useful outputs for some internal values (end of envelope, stage, loop count, currently looping off/on)

multistage envelope 0.1.axp (22.8 KB)


#8

I added some functionality around it to get it automatically going with example envelopes

multistage envelope 0.1.axp (31.1 KB)