Custom control for envelopes anyone?

Has anyone designed a custom control for a 4 slot ADSR envelope ?
In other words the graphical representation of the envelope is shown once and thus much larger on the screen, but there are 4 encoder pots in use immediately.

If so, I’d like to build upon it, and create 6 slot (DAHDSR, ADBSSR) and 8 slot (DALHDSRL) variants, whereby we can choose to drop some controls.

DAHDSR = delay, attack, hold, decay, sustain, release (moog, novation)
ADBSSR= attack, decay, breakpoint, slope, sustain, release (korg)
DALDSDSR = delay, attack, attacklevel, decay, sustain,decay, sustain, release (waldorf)

1 Like

This is closely related to Custom Controls with multiple valueObjects . Currently, one control may have only one pot assigned (on the preset page). In order to do what you describe, multiple pots must be assigned. It is on the TODO list.

I think @oldgearguy developed a custom control for a complex envelope that could be edited using the touchscreen.

2 Likes

In the Waldorf XT preset, I use the graphics/touch capability to manipulate a multi-stage Time/Level envelope using controls and touch.

It’s used for both the Wave and Free envelopes (one is bi-polar and the other is uni-polar, so plenty of options).

The code is probably all over the place. lol

There is a (no MIDI) demo version called XT Envelopes:

XT env example

that might be clearer.

2 Likes

It also features on page 10 your Microwave 1 preset. Very cool.

Thanks. There’s a lot I can do on the computer that I can’t implement on the Electra (see attached).

However, by using colors, groups, pages, and spacing I try to make it feel less like editing a spreadsheet and hopefully the consistency means some type of muscle-memory (or at least visual remembering) takes place.

When the opportunity developed to be able to display a multi-stage envelope and edit it graphically became a reality, it seemed like a natural extension. The 2 line display on the hardware doesn’t do justice to the relative height and spacing of the points and a graphic seems to make things 100% clearer. I’m glad a few folks have used it and hopefully find it more intuitive (which translates into using those envelopes more frequently because they are very cool and useful).

1 Like

I remember testing out the envelope graph you created on the Microwave. That was pretty awesome. However I believe (and I understand from Martin it’s on his todo) a way should be found to use the pots, allotted to the slot space of the custom graph, directly in that graph’s context.

If, say, I create a custom control covering 5 slots by 2 rows in the upper section, then the 10 pots should be useable for each to control one variable assigned to the control.

In your example it would f.i. be the setting of start, end, env stage , time and level in a generic level. My purpose would rather be to assign 9 of them directly to a specfic envelope stage and a tenth to decide the type of envelope.

In doing so, one Mk2 page could host up to 3 such envelopes.

There’s certainly ways to do that now with some heavy lifting via Lua. My thought was to try and keep things simple for my use case and to give the user enough information to work quickly.

For some things like a simple ADSR, it’s easy to grab dedicated controls and adjust the sound to taste. More complex envelopes are typically used in a different context, more like a mod matrix approach, so immediate grab-and-go is less critical to seeing all the current info. In my opinion of course.

1 Like

I have an idea:

I’ll set up as many controls as potential stages can exist in an Envelope. Then only the Attack control will get the graphical representation, whereby I’ll use the most elaborate standard EG the E1 offers.
All controls will be real controls for the synth, but the graphical representation will be controlled via lua using virtual parameters.

I’ll make a proof of concept

2 Likes

There’s a lot of potential here. I’ll be excited to see how it turns out.

To make it fully universal, we’re gonna need a Five-stage EG, for which the starting level is disconnected from the final level (not the case in the current 4 stage variant), so the EG becomes usable for Pitch EG’s

The 10 controls would need to start with time T0 (or the inverse R0) and end with final level L4.

Here’s what we can do with a 4 stage and a 5 stage control:

Possible with 4 stage envelope

Type R1 L1 R2 L2 R3 L3 R4 L4 Synths_using_it
AD Attack 127 127 127 Decay 0 127 0 Arturia
AR Attack 127 127 127 127 127 Release 0
ADS Attack 127 127 127 Decay Sustain Decay 0 Minimoog
ADSR Attack 127 127 127 Decay Sustain Release 0 Most common
AHDSR Attack 127 Hold 127 Decay Sustain Release 0
DADSR Delay 0 Attack 127 Decay Sustain Release 0
ADBSSR Attack 127 Decay Breakp. Slope Sustain Release 0 Korg
ALDSDSR Attack Att.Level Decay Sustain Decay2 Sustain2 Release 0 Waldorf

Note that the L4 is not really useful on its own

Only possible with 5 stage envelope

Type R0 L0 R1 L1 R2 L2 R3 L3 R4 L4 Synths_using_it
DAHDSR Delay 0 Attack 127 Hold 127 Decay Sustain Release 0 UDO, Novation, Moog Sub
Pitch EG Start.Level Attack 127 Hold 127 Decay Sustain Release Rel.Level Korg

Done

7 different EG templates.
The controls to sent to the synth are regular faders, and the graph is only for visualisation.

This will be useful on a Blofeld

2 Likes