audiobuffer

An implementation of Web Audio API's AudioBuffer for node.js and the browser.

npm install audiobuffer
2 downloads in the last day
12 downloads in the last week
42 downloads in the last month

AudioBuffer

An implementation of Web Audio API's AudioBuffer for node.js. With extra-sugar for slicing, concatenating, creating, ... audiobuffers.

Getting started

Install AudioBuffer with npm :

npm install audiobuffer

Then import it in your code, and do your stuff :

var AudioBuffer = require('audiobuffer')
var audioBuffer = new AudioBuffer(1, 100000, 44100)

API

AudioBuffer(numberOfChannels, length, sampleRate)

Creates an empty AudioBuffer with numberOfChannels channels and length frames.

getChannelData(channel)

Returns a channel.

slice(start, end)

Returns a slice of the calling AudioBuffer. The arguments have the same meaning as a standard Array.slice. The slice happens in the length, therefore the returned buffer has the same number of channels and the same sample rate as the calling AudioBuffer.

concat(audioBuffer)

Returns a new AudioBuffer, result of the concatenation of the calling instance with audioBuffer. audioBuffer must have the same number of channels and the same sample rate as the calling instance, or an error will be thrown. This method behaves similarly to Array.concat. The concatenation happens in the length, therefore the returned buffer has the same number of channels and the same sample rate than the calling AudioBuffer.

set(audioBuffer, offset)

Sets the calling audio buffer channels with the values from audioBuffer, starting at offset

Class methods

filledWithVal(val, numberOfChannels, length, sampleRate)

Returns an AudioBuffer, each sample filled with val.

fromArray(array, sampleRate)

Returns an AudioBuffer, with data taken from array. Example :

// Creates a stereo AudioBuffer of length 5 and sample rate 22050.
var audioBuffer = AudioBuffer.fromArray([
  [1, 0.5, 0.2, 1, 0.5],
  [-1, -0.8, -0.7, -0.6, 0.3],
], 22050)

Changelog

0.2.0

  • AudioBuffer.set

0.1.0

  • first release
npm loves you