Class: Envelope

Tone. Envelope

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

Source:

Extends

Members

attack :number

Type:
  • number
Source:

control :Tone.Signal

Type:
Source:

decay :number

Type:
  • number
Source:

input :GainNode

default input of the ToneNode

Type:
  • GainNode
Inherited From:
Source:

max :number

Type:
  • number
Source:

min :number

Type:
  • number
Source:

output :GainNode

default output of the ToneNode

Type:
  • GainNode
Inherited From:
Source:

release :number

Type:
  • number
Source:

sustain :number

Type:
  • number
Source:

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

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

Source:

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

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

Inherited From:
Source:

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

now() → {number}

Inherited From:
Source:
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
Inherited From:
Source:
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>
Source:

triggerExponentialAttack(time)

attack->decay->sustain exponential attack and linear decay

Parameters:
Name Type Argument Description
time Tone.Time <optional>
Source:

triggerExponentialRelease(time)

triggers the release of the envelope with an exponential ramp

Parameters:
Name Type Argument Description
time Tone.Time <optional>
Source:

triggerRelease(time)

triggers the release of the envelope with a linear ramp

Parameters:
Name Type Argument Description
time Tone.Time <optional>
Source:
Tone No Tone Copyright © 2014.
Documentation generated on Wed Jun 25 2014 13:10:40 GMT-0400 (EDT).