new Oscillator(freq, type)
Oscillator
Oscilator with start, pause, stop and sync to Transport
Parameters:
Name | Type | Argument | Description |
---|---|---|---|
freq |
number | string | starting frequency | |
type |
string |
<optional> |
type of oscillator (sine|square|triangle|sawtooth) |
Extends
Members
-
bufferSize :number
-
the default buffer size
Type:
- number
- Inherited From:
- Source:
-
context :AudioContext
-
A static pointer to the audio context
Type:
- AudioContext
- Inherited From:
- Source:
-
frequency :Tone.Signal
-
the frequency control signal
Type:
-
input :GainNode
-
default input of the ToneNode
Type:
- GainNode
- Inherited From:
- Source:
-
isFrequency
-
true if the input is in the format number+hz i.e.: 10hz
- Inherited From:
- Source:
-
isNotation
-
tests if a string is musical notation i.e.: 4n = quarter note 2m = two measures 8t = eighth-note triplet
- Inherited From:
- Source:
-
isTransportTime
-
tests if a string is transportTime i.e. : 1:2:0 = 1 measure + two quarter notes + 0 sixteenth notes
- Inherited From:
- Source:
-
oscillator :OscillatorNode
-
the main oscillator
Type:
- OscillatorNode
-
output :GainNode
-
unlike most ToneNodes, Sources only have an output and no input
Type:
- GainNode
- Inherited From:
- Source:
-
state :Tone.Source.State
-
Type:
- Inherited From:
- Source:
-
waveShaperResolution :number
-
the default resolution for WaveShaperNodes
Type:
- number
- Inherited From:
- Source:
Methods
-
<private> _onended()
-
internal on end call
-
chain()
-
connect together all of the arguments in series
Parameters:
Type Argument Description AudioParam | Tone <repeatable>
- Inherited From:
- Source:
-
connect(unit)
-
connect the output of a ToneNode to an AudioParam, AudioNode, or ToneNode
Parameters:
Name Type Description unit
Tone | AudioParam | AudioNode - Inherited From:
- 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()
-
dispose and disconnect
-
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
-
fadeTo(value, time)
-
Parameters:
Name Type Description value
number time
Tone.Time (relative to 'now') - Inherited From:
- Source:
-
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
-
now() → {number}
-
Returns:
the currentTime from the AudioContext- Type
- number
-
onended()
-
<abstract> pause(time)
-
Parameters:
Name Type Description time
Tone.Time - Inherited From:
- Source:
-
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
-
setFrequency(val, rampTime)
-
exponentially ramp the frequency of the oscillator over the rampTime
Parameters:
Name Type Argument Description val
Tone.Time rampTime
Tone.Time <optional>
when the oscillator will arrive at the frequency -
setType(type)
-
set the oscillator type
Parameters:
Name Type Description type
string (sine|square|triangle|sawtooth) -
setVolume(value)
-
Parameters:
Name Type Description value
number - Inherited From:
- Source:
-
start(time)
-
start the oscillator
Parameters:
Name Type Description time
Tone.Time -
stop(time)
-
stop the oscillator
Parameters:
Name Type Argument Description time
Tone.Time <optional>
(optional) timing parameter -
sync()
-
Sync the oscillator to the transport the current ratio between the oscillator and the Transport BPM is fixed and any change to the Transport BPM will change this oscillator in that same ratio Transport start/pause/stop will also start/pause/stop the oscillator
-
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) → {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 Description time
Tone.Time - Inherited From:
- Source:
Returns:
- Type
- number
-
toSeconds(time, bpm, timeSignature) → {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 bpm
number <optional>
timeSignature
number <optional>
- Inherited From:
- Source:
Returns:
- Type
- number
-
toTransportTime(seconds, bpm, timeSignature) → {string}
-
Convert seconds to the closest transportTime in the form measures:quarters:sixteenths
Parameters:
Name Type Argument Description seconds
Tone.Time bpm
number <optional>
timeSignature
number <optional>
- Inherited From:
- Source:
Returns:
- Type
- string
-
transportTimeToSeconds(transportTime, bpm, timeSignature) → {number}
-
convert transportTime into seconds i.e.: 4:2:3 == 4 measures + 2 quarters + 3 sixteenths
Parameters:
Name Type Argument Description transportTime
string bpm
number <optional>
timeSignature
number <optional>
- Inherited From:
- Source:
Returns:
seconds- Type
- number
-
unsync()
-
unsync the oscillator from the Transport