Feature-Request - Filter ADSR #31

Open
opened 1 year ago by sebiiksbcs · 7 comments

Can't help but feel that the low pass filter can only be used as an EQ-type effect as it has fixed cutoff and resonance. Would be great if there was an ADSR envelope (like in the Teensy Audio library) with ADSR settings and env->cutoff amount saved for each preset.

(Feature creep alert: And while we're at it, why not make this ADSR a general "Mod Envelope" which can be assigned to some other parameters.)

Can't help but feel that the low pass filter can only be used as an EQ-type effect as it has fixed cutoff and resonance. Would be great if there was an ADSR envelope (like in the Teensy Audio library) with ADSR settings and env->cutoff amount saved for each preset. (Feature creep alert: And while we're at it, why not make this ADSR a general "Mod Envelope" which can be assigned to some other parameters.)
Owner

Good idea! Yes, the LP filter is the one that is used in the original Dexed (comment inside the code: "4POLE OBXd filter"). That's why using an ADSR from the Teensy Audio library is not easy to implement. Hmmm, maybe by adding additional methods for accesing the values...

For future versions I thought also of a way to route CCs to different parameters.

But currently there is not much time for implementing this. It would be cool if there would be others who can also write parts of the code for MicroDexed. How about you?

Good idea! Yes, the LP filter is the one that is used in the original Dexed (comment inside the code: "4POLE OBXd filter"). That's why using an ADSR from the Teensy Audio library is not easy to implement. Hmmm, maybe by adding additional methods for accesing the values... For future versions I thought also of a way to route CCs to different parameters. But currently there is not much time for implementing this. It would be cool if there would be others who can also write parts of the code for MicroDexed. How about you?
Poster

In fact I have been writing some customizations of an older branch of your code where I experimented with teensy audio effects etc. I believe at some point I had a Teensy SVF with ADSR in the signal chain but I was wondering if it would be more effective to add an ADSR to the 'internal' LP instead.

In fact I have been writing some customizations of an older branch of your code where I experimented with teensy audio effects etc. I believe at some point I had a Teensy SVF with ADSR in the signal chain but I was wondering if it would be more effective to add an ADSR to the 'internal' LP instead.
Owner

The internal LP is completely separated from the sound generation. To use the LP even the integer value of the sound generation is converted into a float and the amplification and LP is calculated. After that the sound is converted to an integer again. Not really optimal. So you could really edit this part with the Teensy-Audio library and drop the internal calculation.

But for this the menu has to be extended to edit the ADSR values...

The internal LP is completely separated from the sound generation. To use the LP even the integer value of the sound generation is converted into a float and the amplification and LP is calculated. After that the sound is converted to an integer again. Not really optimal. So you could really edit this part with the Teensy-Audio library and drop the internal calculation. But for this the menu has to be extended to edit the ADSR values...
Owner

After thinking a little bit about the implementation, I think it's not really simple. The current LP is a sum-LP for the complete sound. When using an ADSR LP this should be an ADSR and LP for every note.

It is not impossible to do this, you have to got deep inside the sound generation engine. And there is much more calculation time needed. This means that the T_3.6 would have less CPU time for sound calculation => less polyphony.

After thinking a little bit about the implementation, I think it's not really simple. The current LP is a sum-LP for the complete sound. When using an ADSR LP this should be an ADSR and LP for *every* note. It is not impossible to do this, you have to got deep inside the sound generation engine. And there is much more calculation time needed. This means that the T_3.6 would have less CPU time for sound calculation => less polyphony.
Poster

Polyphonic filters would be besides the point, it is an FM synth after all, I was only talking about paraphonic just like the current LP. I guess I'll deactivate the Dexed LP and add a Teensy SVF with ADSR and env amount then.

Polyphonic filters would be besides the point, it is an FM synth after all, I was only talking about paraphonic just like the current LP. I guess I'll deactivate the Dexed LP and add a Teensy SVF with ADSR and env amount then.
Owner

But how to you want to trigger the ADSR? On every key down event?

But how to you want to trigger the ADSR? On every key down event?
Poster

I'll have a look how paraphonic synths like the Korg Poly-800 do it. Possibly retrigger the ADSR on every key down, unless it's mono legato or something.

I'll have a look how paraphonic synths like the Korg Poly-800 do it. Possibly retrigger the ADSR on every key down, unless it's mono legato or something.
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.