Tone.Buffer

↳ EXTENDS Tone

Buffer loading and storage. Tone.Buffer is used internally by all classes that make requests for audio files such as Tone.Player, Tone.Sampler and Tone.Convolver. Aside from load callbacks from individual buffers, Tone.Buffer provides events which keep track of the loading progress of all of the buffers. These are Tone.Buffer.on(“load” / “progress” / “error”)

CONSTRUCTOR

new Tone.Buffer (
url
, [
onload
] , [
onerror
] )
url

The url to load, or the audio buffer to set.

type: AudioBuffer or String
onload

A callback which is invoked after the buffer is loaded. It’s recommended to use Tone.Buffer.on('load', callback) instead since it will give you a callback when all buffers are loaded.

type: function
optional
onerror

The callback to invoke if there is an error

type: function
optional

DEFAULTS

{
url : undefined ,
reverse : false
}

EXAMPLE

var buffer = new Tone.Buffer("path/to/sound.mp3", function(){
	//the buffer is now available.
	var buff = buffer.get();
});
 

EXAMPLE

//can load provide fallback extension types if the first type is not supported.
var buffer = new Tone.Buffer("path/to/sound.[mp3|ogg|wav]");

Members

.duration

Number READONLY #

The duration of the buffer.

</>

.length

Number READONLY #

The length of the buffer in samples

</>

.loaded

Boolean READONLY #

If the buffer is loaded or not

</>

.numberOfChannels

Number READONLY #

The number of discrete audio channels. Returns 0 if no buffer is loaded.

</>

.reverse

Boolean #

Reverse the buffer.

</>

Methods

.toMono ( )

#
channel

Optionally only copy a single channel from the array.

type: Number
optional
↪ returns Array

Sums muliple channels into 1 channel

</>

.dispose ( )

#
↪ returns Tone.Buffer

this

dispose and disconnect

</>

.fromArray ( )

#
array

The array to fill the audio buffer

type: Float32Array
↪ returns Tone.Buffer

this

Set the audio buffer from the array. To create a multichannel AudioBuffer, pass in a multidimensional array.

</>

.get ( )

#
↪ returns AudioBuffer

The audio buffer stored in the object.

</>

.getChannelData ( )

#
channel

The channel number to return

type: Number
↪ returns Float32Array

The audio as a TypedArray

Returns the Float32Array representing the PCM audio data for the specific channel.

</>

.load ( )

#
url

The url of the buffer to load. filetype support depends on the browser.

type: String
↪ returns Promise

returns a Promise which resolves with the Tone.Buffer

Makes an xhr reqest for the selected url then decodes the file as an audio buffer. Invokes the callback once the audio buffer loads.

</>

.set ( )

#
buffer

the buffer

type: AudioBuffer or Tone.Buffer
↪ returns Tone.Buffer

this

Pass in an AudioBuffer or Tone.Buffer to set the value of this buffer.

</>

.slice ( )

#
start

The time to start the slice

type: Time
end

The end time to slice. If none is given will default to the end of the buffer

type: Time
optional
↪ returns Tone.Buffer

this

Cut a subsection of the array and return a buffer of the subsection. Does not modify the original buffer

</>

.toArray ( )

#
channel

Optionally only copy a single channel from the array.

type: Number
optional
↪ returns Array

Get the buffer as an array. Single channel buffers will return a 1-dimensional Float32Array, and multichannel buffers will return multidimensional arrays.

</>

Static Methods

.fromArray ( )

#
array

The array to fill the audio buffer

↪ returns Tone.Buffer

A Tone.Buffer created from the array

Create a Tone.Buffer from the array. To create a multichannel AudioBuffer, pass in a multidimensional array.

</>

.load ( )

#
url
type: String
onload
onerror
onprogress
↪ returns XMLHttpRequest

Loads a url using XMLHttpRequest.

</>

.supportsType ( )

#
url

The url/extension to test

type: String
↪ returns Boolean

If the file extension can be played

Checks a url’s extension to see if the current browser can play that file type.

EXAMPLE

Tone.Buffer.supportsType("wav"); //returns true
Tone.Buffer.supportsType("path/to/file.wav"); //returns true
</>

.cancelDownloads ( )

#
↪ returns Tone.Buffer

Stop all of the downloads in progress

</>
docs generated Sep 15 2019