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
-
frequency :Tone.Signal
-
the frequency control signal
Type:
-
input :GainNode
-
default input of the ToneNode
Type:
- GainNode
- 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:
Methods
-
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
-
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()
-
<virtual> 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, fadeTime)
-
Parameters:
Name Type Argument Description value
number fadeTime
Tone.Time <optional>
(optional) time it takes to reach the value
- 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(delay)
-
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
Parameters:
Name Type Argument Description delay
Tone.Time <optional>
optional delay time before starting the source
-
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
-
unsync()
-
unsync the oscillator from the Transport