Documentation Wiki rss-feed

AHDSR


Name

AHDSR:

8715
ahdsr

Description

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: -

  • When used in conjunction with a Sampler Oscillator, it takes the envelope parameters from the currently selected SoundFont to produce the envelope
  • When used in conjunction with another oscillator, the user can set the desired envelope parameters to shape the sound to suit.

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.

Ports

Velocity Sample

  • Name:

1417 1275
velocity sample

  • Input, Set
  • Type: Number
  • Range: 1 to 1000; default = 4

Velocity Sample determines the number of samples used to calculate the velocity of a note.

Velocity Curve

  • Name:

1417 1512
velocity curve

  • Input, Set
  • Type: Number
  • Range: 0.1 to 10; default = 4

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

  • Name:

1417 135
velocity scale

  • Input, Set
  • Type: Number
  • Range: 0.1 to 10; default = 4

Velocity Scale multiplies the raw values for velocity detection with a constant multiplier. The default multiplier is 4.

Activation Input

  • Name:

1435 116
activation input

  • Input, Set
  • Type: Number
  • Range: 0 to 1; default = 1

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

  • Name:

1421 116
delay input

  • Input, Set
  • Type: Number
  • Range: 0 to 60; default = 0

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

  • Name:

1411 116
attack input

  • Input, Set
  • Type: Number
  • Range: 0 to 60; default = 0.01

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

  • Name:

1418 116
hold input

  • Input, Set
  • Type: Number
  • Range: 0 to 60; default = 0

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

  • Name:

1412 116
decay input

  • Input, Set
  • Type: Number
  • Range: 0 to 60; default = 0.05

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

  • Name:

1413 116
sustain input

  • Input, Set
  • Type: Number
  • Range: 0 to 1; default = 1

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

  • Name:

1414 116
release input

  • Input, Set
  • Type: Number
  • Range: 0 to 60; default = 0.5

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 Inputs 1 and 2

  • Name:

128 116 ?
pressure input X

  • (X refers to the pressure input number - 1 or 2)
  • Input
  • Type: Number
  • Range: 0 to 1; default = 0

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

  • Name:

1417 1423 116
velocity sensitivity input

  • Input, Set
  • Type: Number
  • Range: 0 to 1; default = 1

The Velocity Sensitivity Input determines whether velocity sensitivity is turned on or off - a value of 0 if off, 1 is on.

Aftertouch Input

  • Name:

1433 116
aftertouch input

  • Input, Set
  • Type: Number
  • Range: 0 to 1; default = 0

The Aftertouch Input determines whether aftertouch is turned on or off - a value of 0 is off, 1 is on.

Pedal Input

  • Name:

161 116
pedal input

  • Input, Set
  • Type: Number
  • Range: 0 to 1; default = 0

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

  • Name:

231 116
damper input

  • Input, Set
  • Type: Number
  • Range: 0 to 1; default = 0.5

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 the decay time is longer than the release time, then the decay time is interpreted as the tie for a completely undamped release. This is used as a maximum release time, obtained when the damper input is 0.
  • If the decay time is shorter than the release time, it's ignored for damping purposes and a fully undamped release will be prolonged indefinitely.

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

  • Name:

212 125
volume output

  • Output
  • Type: Generic

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

  • Name:

1435 125
activation output

  • Output
  • Type: Generic

The Activation Output sends activation information to downstream agents.

Pressure Output

  • Name:

128 125
pressure output

  • Output
  • Type: Generic

The Pressure Output sends key pressure information (which it receives from its pressure input) to downstream agents.

Nouns

None

Verbs

None

Examples

Before using the Belcanto examples below, make sure you have the desire AHDSR in the conversation using

8715 ? 1131
ahdsr X listen

where X is the number of the desired AHDSR.

Setting the velocity sample

To set the value of the velocity sample parameter, use

1417 1275 23 ? 67
velocity sample to X set

where X is the desired value of the velocity sample.

Setting the velocity curve

To set the value of the velocity curve parameter, use

1417 1512 23 ? 67
velocity curve to X set

where X is the desired value of the velocity curve.

Setting the value of the delay input

To set the value of the delay input, use

1421 116 23 ? 67
delay input to X set

where X is the desired value of the delay input.

Setting the value of the attack input

To set the value of the attack input, use

1411 116 23 ? 67
attack input to X set

where X is the desired value of the attack input.

Setting the value of the hold input

To set the value of the hold input, use

1418 116 23 ? 67
hold input to X set

where X is the desired value of the hold input.

Setting the value of the decay input

To set the value of the decay input, use

1412 116 23 ? 67
decay input to X set

where X is the desired value of the decay input.

Setting the value of the sustain input

To set the value of the sustain input, use

1413 116 23 ? 67
sustain input to X set

where X is the desired value of the sustain input.

Setting the value of the release input

To set the value of the release input, use

1414 116 23 ? 67
release input to X set

where X is the desired value of the release input.

Turning velocity sensitivity on/off

To adjust the value of the velocity sensitivity parameter, use

1417 1423 23 ? 67
velocity sensitivity to X set

where X is the desired value for the velocity sensitivity.

Turning aftertouch on/off

To adjust the value of the aftertouch parameter, use

1433 23 ? 67
aftertouch to X set

where X is the desired value for aftertouch.

Adjusting the value of the 'damper' input

To set the value of the damper input, use

231 116 23 ? 67
damper input to X set

where X is the desired value of the damper input port.

See also