@prefix blop: . @prefix dct: . @prefix doap: . @prefix lv2: . @prefix units: . blop:adsr_gt a lv2:Plugin ; lv2:project blop: ; lv2:microVersion 0 ; lv2:minorVersion 0 ; lv2:optionalFeature lv2:hardRTCapable ; lv2:port [ a lv2:CVPort , lv2:InputPort ; lv2:index 0 ; lv2:name "Gate" ; lv2:portProperty lv2:toggled ; lv2:symbol "gate" ] , [ a lv2:CVPort , lv2:InputPort ; lv2:index 1 ; lv2:name "Trigger" ; lv2:portProperty lv2:toggled , ; lv2:symbol "trigger" ] , [ a lv2:ControlPort , lv2:InputPort ; lv2:default 0 ; lv2:index 2 ; lv2:minimum 0 ; lv2:name "Attack Time" ; lv2:symbol "attack" ; units:unit units:s ] , [ a lv2:ControlPort , lv2:InputPort ; lv2:default 0 ; lv2:index 3 ; lv2:minimum 0 ; lv2:name "Decay Time" ; lv2:symbol "decay" ; units:unit units:s ] , [ a lv2:ControlPort , lv2:InputPort ; lv2:default 1 ; lv2:index 4 ; lv2:maximum 1 ; lv2:minimum 0 ; lv2:name "Sustain Level" ; lv2:symbol "sustain" ] , [ a lv2:ControlPort , lv2:InputPort ; lv2:default 0 ; lv2:index 5 ; lv2:minimum 0 ; lv2:name "Release Time" ; lv2:symbol "release" ; units:unit units:s ] , [ a lv2:CVPort , lv2:OutputPort ; lv2:index 6 ; lv2:name "Envelope Out" ; lv2:symbol "out" ] ; dct:replaces ; doap:name "Retriggerable ADSR Envelope" ; lv2:documentation """

Generates an ADSR (Attack, Decay, Sustain and Release) envelope.

Does the same thing as the other ADSR (1658) above, except the Trigger Threshold is fixed at zero, and the additional Trigger input allows retriggering whilst the gate is still high.

The reasoning behind this design is to remove the need for a keyboard player to release a key before pressing another when using with a monosynth. The ‘Synth Secrets’ article in the November 1999 issue of ‘Sound on Sound’ explains this in detail.

The output is a signal between 0.0 (rest) and 1.0 (peak) and the transitions are linear.

""" .