new Envelope(attack, decay, sustain, release, minOutput, maxOutput)
Envelope ADR envelope generator attaches to an AudioParam or AudioNode
Parameters:
Name | Type | Argument | Description |
---|---|---|---|
attack |
Tone.Time |
<optional> |
|
decay |
Tone.Time |
<optional> |
|
sustain |
number |
<optional> |
a percentage (0-1) of the full amplitude |
release |
Tone.Time |
<optional> |
|
minOutput |
number |
<optional> |
the lowest point of the envelope |
maxOutput |
number |
<optional> |
the highest point of the envelope |
Extends
Members
-
attack :number
-
Type:
- number
-
control :Tone.Signal
-
Type:
-
decay :number
-
Type:
- number
-
input :GainNode
-
default input of the ToneNode
Type:
- GainNode
- Inherited From:
- Source:
-
max :number
-
Type:
- number
-
min :number
-
Type:
- number
-
output :GainNode
-
default output of the ToneNode
Type:
- GainNode
- Inherited From:
- Source:
-
release :number
-
Type:
- number
-
sustain :number
-
Type:
- number
Methods
-
chain()
-
connect together all of the arguments in series
Parameters:
Type Argument Description AudioParam | Tone <repeatable>
- Inherited From:
- Source:
-
connect(param)
-
connect the envelope
if the envelope is connected to a param, the params value will be set to 0 so that it doesn't interfere with the envelope
Parameters:
Name Type Description param
number -
dbToGain(db) → {number}
-
convert db scale to gain scale (0-1)
Parameters:
Name Type Description db
number - Inherited From:
- Source:
Returns:
- Type
- number
-
defaultArg(given, fallback) → {*}
-
if a the given is undefined, use the fallback
Parameters:
Name Type Description given
* fallback
* - Inherited From:
- Source:
Returns:
- Type
- *
-
disconnect()
-
disconnect the output
- Inherited From:
- Source:
-
dispose()
-
disconnect and dispose
-
equalPowerScale(percent) → {number}
-
equal power gain scale good for cross-fading
Parameters:
Name Type Description percent
number (0-1)
- Inherited From:
- Source:
Returns:
output gain (0-1)
- Type
- number
-
expScale(gain) → {number}
-
Parameters:
Name Type Description gain
number (0-1)
- Inherited From:
- Source:
Returns:
gain (decibel scale but betwee 0-1)
- Type
- number
-
frequencyToNote(freq) → {string}
-
convert a note name (i.e. A4, C#5, etc to a frequency)
Parameters:
Name Type Description freq
number - Inherited From:
- Source:
Returns:
- Type
- string
-
frequencyToSeconds(freq) → {number}
-
convert a frequency into seconds accepts both numbers and strings i.e. 10hz or 10 both equal .1
Parameters:
Name Type Description freq
number | string - Inherited From:
- Source:
Returns:
- Type
- number
-
gainToDb(gain) → {number}
-
convert gain scale to decibels
Parameters:
Name Type Description gain
number (0-1)
- Inherited From:
- Source:
Returns:
- Type
- number
-
interpolate(input, outputMin, outputMax) → {number}
-
interpolate the input value (0-1) to be between outputMin and outputMax
Parameters:
Name Type Description input
number outputMin
number outputMax
number - Inherited From:
- Source:
Returns:
- Type
- number
-
logScale(gain) → {number}
-
Parameters:
Name Type Description gain
number (0-1)
- Inherited From:
- Source:
Returns:
gain (decibel scale but betwee 0-1)
- Type
- number
-
noGC()
-
makes a connection to ensure that the node will not be garbage collected until 'dispose' is explicitly called
use carefully. circumvents JS and WebAudio's normal Garbage Collection behavior
-
normalize(input, inputMin, inputMax) → {number}
-
normalize the input to 0-1 from between inputMin to inputMax
Parameters:
Name Type Description input
number inputMin
number inputMax
number - Inherited From:
- Source:
Returns:
- Type
- number
-
notationToSeconds(notation, bpm, timeSignature) → {number}
-
convert notation format strings to seconds
Parameters:
Name Type Argument Description notation
string bpm
number <optional>
timeSignature
number <optional>
- Inherited From:
- Source:
Returns:
- Type
- number
-
noteToFrequency(note) → {number}
-
convert a note name to frequency (i.e. A4 to 440)
Parameters:
Name Type Description note
string - Inherited From:
- Source:
Returns:
- Type
- number
-
now() → {number}
-
Returns:
the currentTime from the AudioContext
- Type
- number
-
receive(channelName)
-
recieve the input from the desired channelName to the input gain of 'this' node.
Parameters:
Name Type Description channelName
string - Inherited From:
- Source:
-
samplesToSeconds(samples) → {number}
-
convert a sample count to seconds
Parameters:
Name Type Description samples
number - Inherited From:
- Source:
Returns:
- Type
- number
-
secondsToFrequency(seconds) → {number}
-
convert a number in seconds to a frequency
Parameters:
Name Type Description seconds
number - Inherited From:
- Source:
Returns:
- Type
- number
-
send(channelName, amount) → {GainNode}
-
send signal to a channel name
Parameters:
Name Type Description channelName
string amount
number Returns:
- Type
- GainNode
-
toFrequency(time) → {number}
-
convert a time to a frequency
Parameters:
Name Type Description time
Tone.Time - Inherited From:
- Source:
Returns:
the time in hertz
- Type
- number
-
toMaster()
-
connect 'this' to the master output
- Inherited From:
- Source:
-
toSamples(time) → {number}
-
convert a time into samples
Parameters:
Name Type Description time
Tone.time - Inherited From:
- Source:
Returns:
- Type
- number
-
toSeconds(time, now) → {number}
-
convert Tone.Time to seconds
this is a simplified version which only handles numbers and 'now' relative numbers. If the Transport is included this method is overridden to include many other features including notationTime, Frequency, and transportTime
Parameters:
Name Type Argument Description time
Tone.Time now
number <optional>
if passed in, this number will be used for all 'now' relative timings
- Inherited From:
- Source:
Returns:
seconds in the same timescale as the AudioContext
- Type
- number
-
toSeconds(time, now) → {number}
-
convert Tone.Time into seconds.
unlike the method which it overrides, this takes into account transporttime and musical notation
Parameters:
Name Type Argument Description time
Tone.Time now
number <optional>
if passed in, this number will be used for all 'now' relative timings
- Inherited From:
- Source:
Returns:
- Type
- number
-
triggerAttack(time)
-
attack->decay->sustain linear ramp
Parameters:
Name Type Argument Description time
Tone.Time <optional>
-
triggerExponentialAttack(time)
-
attack->decay->sustain exponential attack and linear decay
Parameters:
Name Type Argument Description time
Tone.Time <optional>
-
triggerExponentialRelease(time)
-
triggers the release of the envelope with an exponential ramp
Parameters:
Name Type Argument Description time
Tone.Time <optional>
-
triggerRelease(time)
-
triggers the release of the envelope with a linear ramp
Parameters:
Name Type Argument Description time
Tone.Time <optional>