Tone.Oscillator

↳ EXTENDS Tone.Source

Tone.Oscillator supports a number of features including phase rotation, multiple oscillator types (see Tone.Oscillator.type), and Transport syncing (see Tone.Oscillator.syncFrequency).

CONSTRUCTOR

new Tone.Oscillator ( [
frequency
] , [
type
] )
frequency

Starting frequency

optional
type

The oscillator type. Read more about type below.

type: string
optional

DEFAULTS

{
type : sine ,
frequency : 440 ,
detune : 0 ,
phase : 0 ,
partials : []
}

EXAMPLE

//make and start a 440hz sine tone
var osc = new Tone.Oscillator(440, "sine").toMaster().start();

Members

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

EXAMPLE

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

.phase

Degrees #

The phase of the oscillator in degrees.

EXAMPLE

osc.phase = 180; //flips the phase of the oscillator
</>

.frequency

Frequency #

The frequency control.

</>

.type

string #

The type of the oscillator: either sine, square, triangle, or sawtooth. Also capable of setting the first x number of partials of the oscillator. For example: “sine4” would set be the first 4 partials of the sine wave and “triangle8” would set the first 8 partials of the triangle wave.

Uses PeriodicWave internally even for native types so that it can set the phase. PeriodicWave equations are from the Webkit Web Audio implementation.

EXAMPLE

//set it to a square wave
osc.type = "square";

EXAMPLE

//set the first 6 partials of a sawtooth wave
osc.type = "sawtooth6";
</>

.detune

Cents #

The detune control signal.

</>
inherited from Tone.AudioNode

.context

Tone.Context READONLY #

Get the audio context belonging to this instance.

</>
inherited from Tone.Source

.volume

Decibels #

The volume of the output in decibels.

EXAMPLE

source.volume.value = -6;
</>
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.

</>
inherited from Tone.Source

.mute

boolean #

Mute the output.

EXAMPLE

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

.state

Tone.State READONLY #

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

</>

Methods

.unsyncFrequency ( )

#
↪ returns Tone.Oscillator

this

Unsync the oscillator’s frequency from the Transport. See Tone.Oscillator.syncFrequency

</>

.syncFrequency ( )

#
↪ returns Tone.Oscillator

this

Sync the signal to the Transport’s bpm. Any changes to the transports bpm, will also affect the oscillators frequency.

EXAMPLE

Tone.Transport.bpm.value = 120;
osc.frequency.value = 440;
//the ration between the bpm and the frequency will be maintained
osc.syncFrequency();
Tone.Transport.bpm.value = 240;
// the frequency of the oscillator is doubled to 880
</>

.dispose ( )

#
↪ returns Tone.Oscillator

this

Dispose and disconnect.

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

.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

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

.unsync ( )

#
↪ returns Tone.Source

this

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

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