Tone.ScaledEnvelope
↳ EXTENDS Tone.EnvelopeTone.ScaledEnvelop is an envelope which can be scaled to any range. It’s useful for applying an envelope to a frequency or any other non-NormalRange signal parameter.
CONSTRUCTOR
new Tone.ScaledEnvelope ( [DEFAULTS
EXAMPLE
var scaledEnv = new Tone.ScaledEnvelope({
"attack" : 0.2,
"min" : 200,
"max" : 2000
});
scaledEnv.connect(oscillator.frequency);
Members
.max
↝ number #The envelope’s max output value. In other words, the value at the peak of the attack portion of the envelope.
.numberOfOutputs
↝ Number READONLY #The number of outputs coming out of the AudioNode.
.channelInterpretation
↝ String READONLY #channelInterpretation determines how individual channels will be treated when up-mixing and down-mixing connections to any inputs to the node. The default value is “speakers”.
.context
↝ Tone.Context READONLY #Get the audio context belonging to this instance.
.channelCount
↝ Number READONLY #channelCount is the number of channels used when up-mixing and down-mixing connections to any inputs to the node. The default value is 2 except for specific nodes where its value is specially determined.
.channelCountMode
↝ String READONLY #channelCountMode determines how channels will be counted when up-mixing and down-mixing connections to any inputs to the node. The default value is “max”. This attribute has no effect for nodes with no inputs.
.numberOfInputs
↝ Number READONLY #The number of inputs feeding into the AudioNode. For source nodes, this will be 0.
.value
↝ Number READONLY #Read the current value of the envelope. Useful for syncronizing visual output to the envelope.
.attackCurve
↝ String or Array #The shape of the attack. Can be any of these strings: <ul> <li>linear</li> <li>exponential</li> <li>sine</li> <li>cosine</li> <li>bounce</li> <li>ripple</li> <li>step</li> </ul> Can also be an array which describes the curve. Values in the array are evenly subdivided and linearly interpolated over the duration of the attack.
EXAMPLE
env.attackCurve = "linear";
EXAMPLE
//can also be an array
env.attackCurve = [0, 0.2, 0.3, 0.4, 1]
.decay
↝ Time #After the attack portion of the envelope, the value will fall over the duration of the decay time to it’s sustain value.
.decayCurve
↝ String #The shape of the decay either “linear” or “exponential”
EXAMPLE
env.decayCurve = "linear";
.release
↝ Time #After triggerRelease is called, the envelope’s value will fall to it’s miminum value over the duration of the release time.
.releaseCurve
↝ String or Array #The shape of the release. See the attack curve types.
EXAMPLE
env.releaseCurve = "linear";
.sustain
↝ NormalRange #The sustain value is the value which the envelope rests at after triggerAttack is called, but before triggerRelease is invoked.
.attack
↝ Time #When triggerAttack is called, the attack time is the amount of time it takes for the envelope to reach it’s maximum value.
Methods
.chain ( )
#this
Connect the output of this node to the rest of the nodes in series.
EXAMPLE
//connect a node to an effect, panVol and then to the master output
node.chain(effect, panVol, Tone.Master);
.toMaster ( )
#this
Connect ‘this’ to the master output. Shorthand for this.connect(Tone.Master)
EXAMPLE
//connect an oscillator to the master output
var osc = new Tone.Oscillator().toMaster();
.disconnect ( )
#Either the output index to disconnect if the output is an array, or the node to disconnect from.
this
disconnect the output
.fan ( )
#this
connect the output of this node to the rest of the nodes in parallel.
.triggerRelease ( )
#When the release portion of the envelope should start.
this
Triggers the release of the envelope.
EXAMPLE
//trigger release immediately
env.triggerRelease();
.getValueAtTime ( )
#Get the scheduled value at the given time. This will return the unconverted (raw) value.
.triggerAttack ( )
#When the attack should start.
The velocity of the envelope scales the vales. number between 0-1
this
Trigger the attack/decay portion of the ADSR envelope.
EXAMPLE
//trigger the attack 0.5 seconds from now with a velocity of 0.2
env.triggerAttack("+0.5", 0.2);
.triggerAttackRelease ( )
#The duration of the sustain.
When the attack should be triggered.
The velocity of the envelope.
this
triggerAttackRelease is shorthand for triggerAttack, then waiting some duration, then triggerRelease.
EXAMPLE
//trigger the attack and then the release after 0.6 seconds.
env.triggerAttackRelease(0.6);
.cancel ( )
#this
Cancels all scheduled envelope changes after the given time.