AHDSR:
ahdsr |
The AHDSR Agent is EigenD's built-in envelope generator plug-in (AHDSR stands for Attack, Hold, Sustain, Decay, Release). Its main role is to take the performance information as processed by the Scaler or Cycler Agents and set the correct envelope for the oscillator connected downstream.
In general usage within EigenD it is normally set up to work in one of two ways: -
For usage within Sampler instruments (in conjunction with the Sampler Oscillator and Cycler Agents) we will be providing a separate article for this in due course.
velocity | sample |
Velocity Sample determines the number of samples used to calculate the velocity of a note.
velocity | curve |
Velocity Curve determines the curve applied to the input velocity values to calculate an output velocity: 1 is linear, values below 1 produce a concave curve (attenuating the velocity) and values above 1 produce a convex curve (boosting the velocity). The default value is 4.
velocity | scale |
Velocity Scale multiplies the raw values for velocity detection with a constant multiplier. The default multiplier is 4.
activation | input |
The Activation Input receives activation signals from an upstream agent. Often this is either a Sampler Oscillator's envelope output when using a Sampler instrument, or a Scaler's activation output when used with another type of oscillator (e.g. Sawtooth Oscillator).
delay | input |
The Delay Input determines the time (in seconds) before the start of the envelope's 'attack' phase. The delay input is generally used either to receive 'delay' envelope information from other Agents (e.g. the Sampler Oscillator's delay output) or can be a value set by the user.
attack | input |
The Attack Input determines the time (in seconds) that the envelope will remain in the 'attack' phase. The attack input is generally used either to receive 'attack' envelope information from other Agents (e.g. the Sampler Oscillator's attack output) or can be a value set by the user.
hold | input |
The Hold Input determines the time (in seconds) that the envelope will remain in the 'hold' phase. The hold input is generally used either to receive 'hold' envelope information from other Agents (e.g. the Sampler Oscillator's hold output) or can be a value set by the user.
decay | input |
The Decay Input determines the time (in seconds) that the envelope will remain in the 'decay' phase. The decay input is generally used either to receive 'decay' envelope information from other Agents (e.g. the Sampler Oscillator's decay output) or can be a value set by the user.
sustain | input |
The Sustain Input determines the relative volume of a note whilst the envelope is in the 'sustain' phase. The sustain input is generally used either to receive 'sustain' envelope information from other Agents (e.g. the Sampler Oscillator's sustain output) or can be a value set by the user.
release | input |
The Release Input determines the time (in seconds) that the envelope will remain in the 'release' phase. The release input is generally used either to receive 'release' envelope information from other Agents (e.g. the Sampler Oscillator's release output) or can be a value set by the user.
pressure | input | X |
The Pressure Inputs in the AHDSR receive key pressure information from upstream Agents. Generally this can either be from a Cycler's pressure output when using a Sampler instrument, or a Scaler's pressure output when used in conjunction with other Oscillators (e.g. a Sawtooth Oscillator within the Synth instrument in the Alpha Factory Setups).
velocity | sensitivity | input |
The Velocity Sensitivity Input determines whether velocity sensitivity is turned on or off - a value of 0 if off, 1 is on.
aftertouch | input |
The Aftertouch Input determines whether aftertouch is turned on or off - a value of 0 is off, 1 is on.
pedal | input |
The Pedal Input is normally used when connecting a 'hold' style pedal to the AHDSR. When the pedal connected to this input is depressed, all currently playing notes will remain in the 'sustain' phase of the envelope until the pedal is released - no damping is involved.
damper | input |
The Damper Input is normally used when connecting a 'damper' or 'sustain' style pedal for use in conjunction with the Sampler Oscillator and the Cycler. Its value refers to the amount of damping on the envelope - 0 is minimum damping, and 1 is maximum damping, with 0.5 using the sample's default envelope.
Depending on the envelope parameters, the damping works in one of two ways:
If using in conjunction with a Sampler Oscillator and a Cycler and using a 'damper' pedal, a connection is normally made to this input from a Cycler's damper output.
volume | output |
The Volume Output sends volume information to downstream agents based on the attack, hold, decay, sustain and release settings.
In the case of the sampler instruments, this is to a Gain Agent's volume input and a Cycler Agent's feedback input.
activation | output |
The Activation Output sends activation information to downstream agents.
pressure | output |
The Pressure Output sends key pressure information (which it receives from its pressure input) to downstream agents.
None
None
Before using the Belcanto examples below, make sure you have the desire AHDSR in the conversation using
ahdsr | X | listen |
where X is the number of the desired AHDSR.
To set the value of the velocity sample parameter, use
velocity | sample | to | X | set |
where X is the desired value of the velocity sample.
To set the value of the velocity curve parameter, use
velocity | curve | to | X | set |
where X is the desired value of the velocity curve.
To set the value of the delay input, use
delay | input | to | X | set |
where X is the desired value of the delay input.
To set the value of the attack input, use
attack | input | to | X | set |
where X is the desired value of the attack input.
To set the value of the hold input, use
hold | input | to | X | set |
where X is the desired value of the hold input.
To set the value of the decay input, use
decay | input | to | X | set |
where X is the desired value of the decay input.
To set the value of the sustain input, use
sustain | input | to | X | set |
where X is the desired value of the sustain input.
To set the value of the release input, use
release | input | to | X | set |
where X is the desired value of the release input.
To adjust the value of the velocity sensitivity parameter, use
velocity | sensitivity | to | X | set |
where X is the desired value for the velocity sensitivity.
To adjust the value of the aftertouch parameter, use
aftertouch | to | X | set |
where X is the desired value for aftertouch.
To set the value of the damper input, use
damper | input | to | X | set |
where X is the desired value of the damper input port.