Simple AD/R (drum) envelope problem in Core

Stepaan
Stepaan Member Posts: 15 Member
edited June 2022 in Reaktor

Hi all!

Please, could someone help me? I have a fundamental problem with a quite simple task. I'm trying to make a drum envelope in Core. As a starting point I have chosen the default ADSR envelope in the Core library with values set to A=0.01, D=n, S=0, R=n.

The Envelope simply ignores the S=0. Whenever I play longer notes, the sound is playing at the full volume until I release the key.

Here comes the .ens if anybody is interested. I use the Main Env Macro as a pitch and volume envelope for the signal. In the state the Ens is loaded, everything is fine, but when I increase the Gate value of the Sequencer, things are going wrong.

I simply don't know, where is the catch. Thank you so much!

Stepan

Edit: Ignore the second envelope in the Main Env Macro. It's prepared for the initial drum hit and it's not connected yet (I know it).

Best Answer

  • colB
    colB Member Posts: 761 Guru
    edited June 2022 Answer ✓

    The Envelope toolkit is really designed for traditional ensembles where gates are event signals. In Blocks, everything is audio. So in Blocks a gate is not a single event with value 1 to open then a single event with value zero to close, its a constant audio stream. That means that when the gate is open, its sending a constant stream of 1s to the ! input of the attack at audio rate, restarting it over and over until the gate closes.

    Here's a simple workaround that filters out all the excess:

    Ideally, you would develop something more specific to Blocks, but this should get you by. The dup filter only lets a single event of some value through - subsequent sequential events with the same value are ignored. Merging on and off is so each new on will generate a single event through the dup filter. The comparator is to prevent off events from also triggering the attack - that ! input ignores value, just responds to any and all events afaikt!

    FWIW, you shouldn't need to put an envelope follower after an envelope. Envelope follower is designed to extract the envelope from audio - it "follows" the amplitude of a signal. An envelope output is already an envelope, so no need to extract one ;). It's just costing you cpu for no benefit. If you are trying to modify the corners of the envelope shape, maybe a low pass filter would be more appropriate?

Answers

  • Stepaan
    Stepaan Member Posts: 15 Member

    Hi. I (semi)answered myself. Instead of altering the envelope, I tried to filter out MIDI events and let only one Gate pulse to trigger the envelope.

    But still: if anybody is eager to come with more polished solution, I'm listening :-)

  • colB
    colB Member Posts: 761 Guru
    edited June 2022 Answer ✓

    The Envelope toolkit is really designed for traditional ensembles where gates are event signals. In Blocks, everything is audio. So in Blocks a gate is not a single event with value 1 to open then a single event with value zero to close, its a constant audio stream. That means that when the gate is open, its sending a constant stream of 1s to the ! input of the attack at audio rate, restarting it over and over until the gate closes.

    Here's a simple workaround that filters out all the excess:

    Ideally, you would develop something more specific to Blocks, but this should get you by. The dup filter only lets a single event of some value through - subsequent sequential events with the same value are ignored. Merging on and off is so each new on will generate a single event through the dup filter. The comparator is to prevent off events from also triggering the attack - that ! input ignores value, just responds to any and all events afaikt!

    FWIW, you shouldn't need to put an envelope follower after an envelope. Envelope follower is designed to extract the envelope from audio - it "follows" the amplitude of a signal. An envelope output is already an envelope, so no need to extract one ;). It's just costing you cpu for no benefit. If you are trying to modify the corners of the envelope shape, maybe a low pass filter would be more appropriate?

  • Stepaan
    Stepaan Member Posts: 15 Member

    Oh, I knew it! :-D So simple and yet so beautiful.

    I realized the Gate On wasn't a single event and needed to be filtered. I was almost there. But I didn't include the initial Merge Module with Gate On and Off. If two drum hits with the same velocity occurred in a row, the second one didn't play. And it's so easy – you simply re-set the Dup Flt' with the Gate Off, but you don't let it go through. Countless nights spent with such a trivial task :-D

    Thank you once more so much!

    The envelope follower was ment to be some sort of a cheap waveshaper if I remember right :-D I don't know, why it's there :-D

Back To Top