Tone.FatOscillator
↳ EXTENDS Tone.SourceTone.FatOscillator
CONSTRUCTOR
new Tone.FatOscillator (DEFAULTS
EXAMPLE
//a sine oscillator frequency-modulated by a square wave
var fmOsc = new Tone.FatOscillator("Ab3", "sine", "square").toMaster().start();
Members
.spread
↝ Cents #The detune spread between the oscillators. If “count” is set to 3 oscillators and the “spread” is set to 40, the three oscillators would be detuned like this: [-20, 0, 20] for a total detune spread of 40 cents.
.baseType
↝ string #The oscillator type without the partialsCount appended to the end
EXAMPLE
osc.type = 'sine2'
osc.baseType //'sine'
osc.partialCount = 2
.partialCount
↝ Number #‘partialCount’ offers an alternative way to set the number of used partials. When partialCount is 0, the maximum number of partials are used when representing the waveform using the periodicWave. When ‘partials’ is set, this value is not settable, but equals the length of the partials array.
.partials
↝ Array #The partials of the carrier waveform. A partial represents the amplitude at a harmonic. The first harmonic is the fundamental frequency, the second is the octave and so on following the harmonic series. Setting this value will automatically set the type to “custom”. The value is an empty array when the type is not “custom”.
EXAMPLE
osc.partials = [1, 0.2, 0.01];
.context
↝ Tone.Context READONLY #Get the audio context belonging to this instance.
.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.
.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”.
.numberOfInputs
↝ Number READONLY #The number of inputs feeding into the AudioNode. For source nodes, this will be 0.
.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.
.volume
↝ Decibels #The volume of the output in decibels.
EXAMPLE
source.volume.value = -6;
.mute
↝ boolean #Mute the output.
EXAMPLE
//mute the output
source.mute = true;
.state
↝ Tone.State READONLY #Returns the playback state of the source, either “started” or “stopped”.
Methods
.disconnect ( )
#Either the output index to disconnect if the output is an array, or the node to disconnect from.
this
disconnect the output
.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();
.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);
.fan ( )
#this
connect the output of this node to the rest of the nodes in parallel.
.connect ( )
#optionally which output to connect from
optionally which input to connect to
this
connect the output of a ToneNode to an AudioParam, AudioNode, or ToneNode
.unsync ( )
#this
Unsync the source to the Transport. See Tone.Source.sync
.start ( )
#When the source should be started.
this
Start the source at the specified time. If no time is given, start the source now.
EXAMPLE
source.start("+0.5"); //starts the source 0.5 seconds from now
.stop ( )
#When the source should be stopped.
this
Stop the source at the specified time. If no time is given, stop the source now.
EXAMPLE
source.stop(); // stops the source immediately
.sync ( )
#this
Sync the source to the Transport so that all subsequent calls to start
and stop
are synced to the TransportTime instead of the AudioContext time.
EXAMPLE
//sync the source so that it plays between 0 and 0.3 on the Transport's timeline
source.sync().start(0).stop(0.3);
//start the transport.
Tone.Transport.start();
EXAMPLE
//start the transport with an offset and the sync'ed sources
//will start in the correct position
source.sync().start(0.1);
//the source will be invoked with an offset of 0.4
Tone.Transport.start("+0.5", 0.5);