Tone.MetalSynth

↳ EXTENDS Tone.Instrument

A highly inharmonic and spectrally complex source with a highpass filter and amplitude envelope which is good for making metalophone sounds. Based on CymbalSynth by @polyrhythmatic. Inspiration from Sound on Sound.

CONSTRUCTOR

new Tone.MetalSynth ( [
options
] )
options

The options availble for the synth see defaults below

type: Object
optional

DEFAULTS

{
frequency : 200 ,
envelope :
{
attack : 0.001 ,
decay : 1.4 ,
release : 0.2
}
,
harmonicity : 5.1 ,
modulationIndex : 32 ,
resonance : 4000 ,
octaves : 1.5
}

Members

.envelope

Tone.Envelope #

The envelope which is connected both to the amplitude and highpass filter’s cutoff frequency

</>

.frequency

Frequency #

The frequency of the cymbal

</>

.harmonicity

Positive #

The harmonicity of the oscillators which make up the source. see Tone.FMOscillator.harmonicity

</>

.modulationIndex

Positive #

The modulationIndex of the oscillators which make up the source. see Tone.FMOscillator.modulationIndex

</>

.octaves

Number #

The number of octaves above the “resonance” frequency that the filter ramps during the attack/decay envelope

</>

.resonance

Frequency #

The frequency of the highpass filter attached to the envelope

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

.volume

Decibels #

The volume of the output in decibels.

EXAMPLE

source.volume.value = -6;
</>

Methods

.dispose ( )

#
↪ returns Tone.MetalSynth

this

Clean up

</>

.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

synth.sync()
//schedule 3 notes when the transport first starts
synth.triggerAttackRelease('8n', 0)
synth.triggerAttackRelease('8n', '8n')
synth.triggerAttackRelease('8n', '4n')
//start the transport to hear the notes
Transport.start()
</>

.triggerAttack ( )

#
time

When the attack should be triggered.

type: Time
velocity

The velocity that the envelope should be triggered at.

default: 1
↪ returns Tone.MetalSynth

this

Trigger the attack.

</>

.triggerAttackRelease ( )

#
duration

The duration before triggering the release

type: Time
time

When the attack should be triggered.

type: Time
velocity

The velocity that the envelope should be triggered at.

default: 1
↪ returns Tone.MetalSynth

this

Trigger the attack and release of the envelope after the given duration.

</>

.triggerRelease ( )

#
time

When the release should be triggered.

type: Time
↪ returns Tone.MetalSynth

this

Trigger the release of the envelope.

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

.unsync ( )

#
↪ returns Tone.Instrument

this

Unsync the instrument from the Transport

</>
docs generated Aug 19 2019