Tone.Synth

↳ EXTENDS Tone.Monophonic

Tone.Synth is composed simply of a Tone.OmniOscillator routed through a Tone.AmplitudeEnvelope.

CONSTRUCTOR

new Tone.Synth ( [
options
] )
options

the options available for the synth see defaults below

type: Object
optional

DEFAULTS

{
oscillator :
{
type : triangle
}
,
envelope :
{
attack : 0.005 ,
decay : 0.1 ,
sustain : 0.3 ,
release : 1
}
}

EXAMPLE

var synth = new Tone.Synth().toMaster();
synth.triggerAttackRelease("C4", "8n");

Members

.frequency

Frequency #

The frequency control.

</>

.detune

Cents #

The detune control.

</>

.envelope

Tone.AmplitudeEnvelope #

The amplitude envelope.

</>

.oscillator

Tone.OmniOscillator #

The oscillator.

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

.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

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

.context

Tone.Context READONLY #

Get the audio context belonging to this instance.

</>
inherited from Tone.Instrument

.volume

Decibels #

The volume of the output in decibels.

EXAMPLE

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

.portamento

Time #

The glide time between notes.

</>

Methods

.dispose ( )

#
↪ returns Tone.Synth

this

clean up

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

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

.unsync ( )

#
↪ returns Tone.Instrument

this

Unsync the instrument from the Transport

</>
inherited from Tone.Instrument

.sync ( )

#
↪ returns Tone.Instrument

this

Sync the instrument to the Transport. All subsequent calls of triggerAttack and triggerRelease will be scheduled along the transport.

EXAMPLE

instrument.sync()
//schedule 3 notes when the transport first starts
instrument.triggerAttackRelease('C4', '8n', 0)
instrument.triggerAttackRelease('E4', '8n', '8n')
instrument.triggerAttackRelease('G4', '8n', '4n')
//start the transport to hear the notes
Transport.start()
</>
inherited from Tone.Instrument

.triggerAttackRelease ( )

#
note

The note to trigger.

duration

How long the note should be held for before triggering the release. This value must be greater than 0.

type: Time
time

When the note should be triggered.

type: Time
default: now
velocity

The velocity the note should be triggered at.

default: 1
↪ returns Tone.Instrument

this

Trigger the attack and then the release after the duration.

EXAMPLE

//trigger "C4" for the duration of an 8th note
synth.triggerAttackRelease("C4", "8n");
</>
inherited from Tone.Monophonic

.triggerAttack ( )

#
note

The note to trigger.

time

When the note should start.

type: Time
default: now
velocity

velocity The velocity scaler determines how “loud” the note will be triggered.

type: number
default: 1
↪ returns Tone.Monophonic

this

Trigger the attack of the note optionally with a given velocity.

EXAMPLE

synth.triggerAttack("C4");
 

EXAMPLE

//trigger the note a half second from now at half velocity
synth.triggerAttack("C4", "+0.5", 0.5);
</>
inherited from Tone.Monophonic

.getLevelAtTime ( )

#
time

The time to query the envelope value

type: Time
↪ returns NormalRange

The output level between 0-1

Get the level of the output at the given time. Measures the envelope(s) value at the time.

</>
inherited from Tone.Monophonic

.triggerRelease ( )

#
time

If no time is given, the release happens immediatly

type: Time
default: now
↪ returns Tone.Monophonic

this

Trigger the release portion of the envelope

EXAMPLE

synth.triggerRelease();
</>
inherited from Tone.Monophonic

.setNote ( )

#
note

The note to change to.

time

The time when the note should be set.

type: Time
default: now
↪ returns Tone.Monophonic

this

Set the note at the given time. If no time is given, the note will set immediately.

EXAMPLE

//change to F#6 in one quarter note from now.
synth.setNote("F#6", "+4n");

EXAMPLE

//change to Bb4 right now
synth.setNote("Bb4");
</>
docs generated Sep 15 2019