Tone.OmniOscillator

↳ EXTENDS Tone.Source

Tone.OmniOscillator aggregates Tone.Oscillator, Tone.PulseOscillator, Tone.PWMOscillator, Tone.FMOscillator, Tone.AMOscillator, and Tone.FatOscillator into one class. The oscillator class can be changed by setting the type. omniOsc.type = "pwm" will set it to the Tone.PWMOscillator. Prefixing any of the basic types (“sine”, “square4”, etc.) with “fm”, “am”, or “fat” will use the FMOscillator, AMOscillator or FatOscillator respectively. For example: omniOsc.type = "fatsawtooth" will create set the oscillator to a FatOscillator of type “sawtooth”.

CONSTRUCTOR

new Tone.OmniOscillator (
frequency
,
type
)
frequency

The initial frequency of the oscillator.

type

The type of the oscillator.

type: String

DEFAULTS

{
frequency : 440 ,
detune : 0 ,
type : sine ,
phase : 0
}

EXAMPLE

var omniOsc = new Tone.OmniOscillator("C#4", "pwm");

Members

.width

NormalRange #

The width of the oscillator (only if the oscillator is set to “pulse”)

EXAMPLE

var omniOsc = new Tone.OmniOscillator(440, "pulse");
//can access the width attribute only if type === "pulse"
omniOsc.width.value = 0.2;
</>

.frequency

Frequency #

The frequency control.

</>

.harmonicity

Positive #

Harmonicity is the frequency ratio between the carrier and the modulator oscillators. A harmonicity of 1 gives both oscillators the same frequency. Harmonicity = 2 means a change of an octave. See Tone.AMOscillator or Tone.FMOscillator for more info.

</>

.modulationFrequency

Frequency #

The modulationFrequency Signal of the oscillator (only if the oscillator type is set to pwm). See Tone.PWMOscillator for more info.

EXAMPLE

var omniOsc = new Tone.OmniOscillator(440, "pwm");
//can access the modulationFrequency attribute only if type === "pwm"
omniOsc.modulationFrequency.value = 0.2;
</>

.modulationType

String #

The type of the modulator oscillator. Only if the oscillator is set to “am” or “fm” types. see. Tone.AMOscillator or Tone.FMOscillator for more info.

</>

.partialCount

Number #

The partial count of the oscillator. This is not available on “pwm” and “pulse” oscillator types.

EXAMPLE

//set the maximum number of partials
osc.partialCount = 0;
</>

.partials

Array #

The partials of the 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”. This is not available on “pwm” and “pulse” oscillator types.

EXAMPLE

osc.partials = [1, 0.2, 0.01];
</>

.phase

Degrees #

The phase of the oscillator in degrees.

</>

.sourceType

String #

The source type of the oscillator.

EXAMPLE

var omniOsc = new Tone.OmniOscillator(440, "fmsquare");
omniOsc.sourceType // 'fm'
</>

.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. See Tone.FatOscillator for more info.

</>

.type

String #

The type of the oscillator. Can be any of the basic types: sine, square, triangle, sawtooth. Or prefix the basic types with “fm”, “am”, or “fat” to use the FMOscillator, AMOscillator or FatOscillator types. The oscillator could also be set to “pwm” or “pulse”. All of the parameters of the oscillator’s class are accessible when the oscillator is set to that type, but throws an error when it’s not.

EXAMPLE

omniOsc.type = "pwm";
//modulationFrequency is parameter which is available
//only when the type is "pwm".
omniOsc.modulationFrequency.value = 0.5;

EXAMPLE

//an square wave frequency modulated by a sawtooth
omniOsc.type = "fmsquare";
omniOsc.modulationType = "sawtooth";
</>

.baseType

String #

The base type of the oscillator.

EXAMPLE

var omniOsc = new Tone.OmniOscillator(440, "fmsquare4");
omniOsc.sourceType // 'fm'
omniOsc.baseType //'square'
omniOsc.partialCount //4
</>

.count

Number #

The number of detuned oscillators

</>

.detune

Cents #

The detune control

</>
inherited from Tone.AudioNode

.context

Tone.Context READONLY #

Get the audio context belonging to this instance.

</>
inherited from Tone.AudioNode

.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.

</>
inherited from Tone.AudioNode

.numberOfInputs

Number READONLY #

The number of inputs feeding into the AudioNode. For source nodes, this will be 0.

</>
inherited from Tone.AudioNode

.numberOfOutputs

Number READONLY #

The number of outputs coming out of the AudioNode.

</>
inherited from Tone.AudioNode

.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.

</>
inherited from Tone.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”.

</>
inherited from Tone.Source

.volume

Decibels #

The volume of the output in decibels.

EXAMPLE

source.volume.value = -6;
</>
inherited from Tone.Source

.state

Tone.State READONLY #

Returns the playback state of the source, either “started” or “stopped”.

</>
inherited from Tone.Source

.mute

boolean #

Mute the output.

EXAMPLE

//mute the output
source.mute = true;
</>
inherited from Tone.Source

.fadeIn

Time #

The fadeIn time of the amplitude envelope.

</>
inherited from Tone.Source

.fadeOut

Time #

The fadeOut time of the amplitude envelope.

</>

Methods

.dispose ( )

#
↪ returns Tone.OmniOscillator

this

Clean up.

</>

.get ( )

#
params

the parameters to get, otherwise will return all available.

↪ returns Object

Get the object’s attributes. Given no arguments get will return all available object properties and their corresponding values. Pass in a single attribute to retrieve or an array of attributes. The attribute strings can also include a “.” to access deeper properties.

</>

.restart ( )

#
</>

.set ( )

#
params
value
type: number
optional
rampTime
type: Time
optional
↪ returns Tone.OmniOscillator

this

Set a member/attribute of the oscillator.

</>
inherited from Tone.AudioNode

.chain ( )

#
nodes
↪ returns Tone.AudioNode

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);
 
</>
inherited from Tone.AudioNode

.connect ( )

#
outputNum

optionally which output to connect from

type: number
default: 0
inputNum

optionally which input to connect to

type: number
default: 0
↪ returns Tone.AudioNode

this

connect the output of a ToneNode to an AudioParam, AudioNode, or ToneNode

</>
inherited from Tone.AudioNode

.disconnect ( )

#
output

Either the output index to disconnect if the output is an array, or the node to disconnect from.

↪ returns Tone.AudioNode

this

disconnect the output

</>
inherited from Tone.AudioNode

.fan ( )

#
nodes
↪ returns Tone.AudioNode

this

connect the output of this node to the rest of the nodes in parallel.

</>
inherited from Tone.AudioNode

.toMaster ( )

#
↪ returns Tone.AudioNode

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();
</>
inherited from Tone.Source

.stop ( )

#
time

When the source should be stopped.

type: Time
default: now
↪ returns Tone.Source

this

Stop the source at the specified time. If no time is given, stop the source now.

EXAMPLE

source.stop(); // stops the source immediately
</>
inherited from Tone.Source

.sync ( )

#
↪ returns Tone.Source

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);
</>
inherited from Tone.Source

.unsync ( )

#
↪ returns Tone.Source

this

Unsync the source to the Transport. See Tone.Source.sync

</>
inherited from Tone.Source

.start ( )

#
time

When the source should be started.

type: Time
default: now
↪ returns Tone.Source

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
</>
docs generated Sep 15 2019