Tone.MetalSynth
↳ EXTENDS Tone.InstrumentA 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 ( [The options availble for the synth see defaults below
DEFAULTS
Members
.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
.envelope
↝ Tone.Envelope #The envelope which is connected both to the amplitude and highpass filter’s cutoff frequency
.octaves
↝ Number #The number of octaves above the “resonance” frequency that the filter ramps during the attack/decay envelope
.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.
.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.
.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”.
.context
↝ Tone.Context READONLY #Get the audio context belonging to this instance.
.numberOfInputs
↝ Number READONLY #The number of inputs feeding into the AudioNode. For source nodes, this will be 0.
.numberOfOutputs
↝ Number READONLY #The number of outputs coming out of the AudioNode.
.volume
↝ Decibels #The volume of the output in decibels.
EXAMPLE
source.volume.value = -6;
Methods
.sync ( )
#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 ( )
#When the attack should be triggered.
The velocity that the envelope should be triggered at.
this
Trigger the attack.
.triggerAttackRelease ( )
#The duration before triggering the release
When the attack should be triggered.
The velocity that the envelope should be triggered at.
this
Trigger the attack and release of the envelope after the given duration.
.triggerRelease ( )
#When the release should be triggered.
this
Trigger the release of the envelope.
.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);
.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
.disconnect ( )
#Either the output index to disconnect if the output is an array, or the node to disconnect from.
this
disconnect the output
.fan ( )
#this
connect the output of this node to the rest of the nodes in parallel.
.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();
.unsync ( )
#this
Unsync the instrument from the Transport