Wish Env Follower or Trigger with Relative Threshold

stub

Inspired
A new type of Envelope Follower or Level Trigger that responds to (relative) changes in level (as opposed to a fixed threshold).

Rather than setting a fixed dB threshold (relative to zero) to trigger compression or gating or some other process; the detector would look for a specific amount of increase in level from the current dB level.

For example, say I set a Relative Threshold of 8 dB. I play a chord which crosses and starts tracking/controlling some over-threshold action. The chord decays and sustains, then, when the chord is around -35 dB, I pluck a subsequent note that is at -25 dB, (+10 dB relative to the sustaining level) the sensor would read this as +3 over threshold relative to the sustain level.

Use case 1: For a slow gear (swell) effect, you wouldn't have to always drop below a fixed threshold to restart the swell, rather any new note that is even slightly louder than the sustaining sound can reset the swell. Similarly, any trigger based mod-fx could trigger without having to drop below threshold to retrigger.

Use case 2: Compressor that still works even if you play more quietly for period of time.
 
A new type of Envelope Follower or Level Trigger that responds to (relative) changes in level (as opposed to a fixed threshold).

Rather than setting a fixed dB threshold (relative to zero) to trigger compression or gating or some other process; the detector would look for a specific amount of increase in level from the current dB level.

For example, say I set a Relative Threshold of 8 dB. I play a chord which crosses and starts tracking/controlling some over-threshold action. The chord decays and sustains, then, when the chord is around -35 dB, I pluck a subsequent note that is at -25 dB, (+10 dB relative to the sustaining level) the sensor would read this as +3 over threshold relative to the sustain level.

Use case 1: For a slow gear (swell) effect, you wouldn't have to always drop below a fixed threshold to restart the swell, rather any new note that is even slightly louder than the sustaining sound can reset the swell. Similarly, any trigger based mod-fx could trigger without having to drop below threshold to retrigger.

Use case 2: Compressor that still works even if you play more quietly for period of time.
I like the way you think.

In case 1, how might you engage or start a volume swell within an effect block other than a VOL/PAN block? Or would you use VOL/PAN w/ an envelope follower for your premise?

I understand that you might need attack/release within a modifier prescribed for a varied delay that the swell would occur. Could you simply use a VOL/PAN block with the envelope follower and the modifiers within to achieve what you request? I also understand that you're asking for a variable threshold, almost a modifier within a modifier...

The attack/release might be fixed, but would respond accordingly to volume levels above or below a pre-determined amount. Or am I not quite helping here?
 
In case 1, how might you engage or start a volume swell within an effect block other than a VOL/PAN block? Or would you use VOL/PAN w/ an envelope follower for your premise?

The simpler approach would be creating a new type of controller (like an envelope follower) to modulate a vol/pan block. A more complicated approach would be to add an option to existing dynamics blocks to enable "relative threshold" action. The devil is obviously in the details.

I also understand that you're asking for a variable threshold, almost a modifier within a modifier...

No doubt, some other settings would be necessary. If a guitar's overall envelope (at input) could be described as a series of "thorns", you'd be measuring the height of each thorn from the sustain portion of the previous thorn. As the sound decays, the difference between the current level and the next thorn is compared to the relative threshold value. This could just be used as a simple trigger, and the trigger off could kick in when the signal drops down by some user-set amount (relative dB), or with some decay/release business.

I'm in way over my head with this one. But I'd very much appreciate anyone's efforts to help clarify how this might work.
 
The simpler approach would be creating a new type of controller (like an envelope follower) to modulate a vol/pan block. A more complicated approach would be to add an option to existing dynamics blocks to enable "relative threshold" action. The devil is obviously in the details.



No doubt, some other settings would be necessary. If a guitar's overall envelope (at input) could be described as a series of "thorns", you'd be measuring the height of each thorn from the sustain portion of the previous thorn. As the sound decays, the difference between the current level and the next thorn is compared to the relative threshold value. This could just be used as a simple trigger, and the trigger off could kick in when the signal drops down by some user-set amount (relative dB), or with some decay/release business.

I'm in way over my head with this one. But I'd very much appreciate anyone's efforts to help clarify how this might work.
You've actually got way more knowledge about this than most of us, so it would take more than the mustard seed to move a mountain than I could provide myself. But you're on the right track. Keep asking, someone will provide.

EDIT: What would prevent you from using a VOL/PAN block with an envelope follower as your modifier source instead of a pedal? It'd either need to be a separate scene, or perhaps as a per-preset basis...your only problem might be setting the range of the envelope follower as fixed lower/upper range values...the threshold could be part of that...
 
Last edited:
But I'd very much appreciate anyone's efforts to help clarify how this might work.
I was going to ask you to describe it because I'm having a hard time following your request.

My brain can't compute how a relative threshold would work at all... Because relative to what level at what point in time?

Level is changing all the time due to the dynamic nature of guitar, so setting the "baseline" would IMO still require a specific threshold in dB.

Unless you build some "time" element into things, like 'X percent (or dB) over the "average" volume in the last Y seconds (or ms)'.
 
The peak value generation part is easy. From a specific moment in time, there is a current level. Let's say (during the sustain of a note) that level is -40 dB, then as you strike a new note or chord, the level increases within a very short window of time (say 5-20 ms) the level increases by say +20 dB. If you set a relative threshold of 15 dB, this will cause the trigger to activate with some value related to being 5 dB over the set relative threshold. How it resets, how it behaves is still pretty vague to me. But I'll think on it more.
 
Thanks for that link. It sounds like that gets me where I was wanting to go. But I'll have to load it to see if it works on the FM3.
 
There may be another angle to this, which would be to use a parallel compressor (that ultimately isn't heard at output) to use as a side-chain input to a working compressor block. The sidechain compressor would have a slower release, and maybe a low threshold, so it kind of squashes/normalizes the dynamic range, and sort of fakes this relative threshold idea. Again, it's foggy how it would work. Will need to tinker.
 
That's probably how it would need to work to be useful. Possible with ADSR on the Axe-FX II but I'm not sure if the FM3 allows ADSR threshold modifiers.
Unfortunately not, but that's the right idea. The threshold would need to be dynamic and sit a specified number of dB above a sustain level, where the sustain level is an RMS and low-passed value integrated over some specified amount of time.
 
I think I have more clarity on this.

The simple description is that the detector generates a control value based the amount of level change from the current sustain level to the new level, as long as it breaks the user set "relative threshold"; then, it resets itself based on some hold/release settings.

For the initation/attack; one setting could determine the size of the slice of time over which the level change is measured. I'm not sure if "Slew Time" is the right term. A single plucked note is uncomplicated, the measurement window of the level change occurs over a period of some number of ms. A strummed chord is more complicated, (like a jagged saw-blade of activity), so you'd need to decide whether use a short window for a series of values out of a slow strum, or a longer window if you want a single value to come out of faster strum, I suppose it could be ok if it is a little sloppy, that could be part of the "personality".

For the decay of each note/chord, you might set a second threshold-- i.e., after activation, when the level drops by Y dB and/or when there has been only level loss for Z ms, then start the release portion of the control stream. A hold time and release rate could both be part of the process. The release section drops the control value to bottom at a user set rate-- even if the note continues to sustain at a non-zero level.

As the note sustains, any new note or strum would be measured from the current sustain level, and if it breaks the relative threshold, it initiates a new tracking sequence, and begins waiting for the signal to drop Y dB) to start the release.

Even as I write this, I can tell I've launched a skeet for the old guard to shoot down. That's ok. Everything above is only grasped by my fingernails. If there's any value to this idea, I'd really like to hear some thoughts on how to clarify, fix, make it work-- even if it is only a thought experiment.
 
Last edited:
Back
Top Bottom