Tone.Sampler

↳ EXTENDS Tone.Instrument

Automatically interpolates between a set of pitched samples. Pass in an object which maps the note’s pitch or midi value to the url, then you can trigger the attack and release of that note like other instruments. By automatically repitching the samples, it is possible to play pitches which were not explicitly included which can save loading time. For sample or buffer playback where repitching is not necessary, use Tone.Player.

CONSTRUCTOR

new Tone.Sampler (
samples
)
samples

An object of samples mapping either Midi Note Numbers or Scientific Pitch Notation to the url of that sample.

type: Object

DEFAULTS

{
attack : 0 ,
release : 0.1 ,
onload : Tone.noOp ,
baseUrl :
}

EXAMPLE

var sampler = new Tone.Sampler({
	"C3" : "path/to/C3.mp3",
	"D#3" : "path/to/Dsharp3.mp3",
	"F#3" : "path/to/Fsharp3.mp3",
	"A3" : "path/to/A3.mp3",
}, function(){
	//sampler will repitch the closest sample
	sampler.triggerAttack("D3")
})

Members

.attack

Time #

The envelope applied to the beginning of the sample.

</>

.loaded

Boolean READONLY #

If the buffers are loaded or not

</>

.release

Time #

The envelope applied to the end of the envelope.

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

Methods

.add ( )

#
note

The buffer’s pitch.

type: Note or Midi
url

Either the url of the bufer, or a buffer which will be added with the given name.

callback

The callback to invoke when the url is loaded.

optional

Add a note to the sampler.

</>

.dispose ( )

#
↪ returns Tone.Sampler

this

Clean up

</>

.triggerAttack ( )

#
note

The note to play

time

When to play the note

type: Time
optional
velocity

The velocity to play the sample back.

optional
↪ returns Tone.Sampler

this

</>

.triggerAttackRelease ( )

#
note

The note to play

duration

The time the note should be held

type: Time
time

When to start the attack

type: Time
optional
velocity

The velocity of the attack

default: 1
↪ returns Tone.Sampler

this

Invoke the attack phase, then after the duration, invoke the release.

</>

.triggerRelease ( )

#
note

The note to release.

time

When to release the note.

type: Time
optional
↪ returns Tone.Sampler

this

</>
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();
</>
docs generated Jul 08 2019