UNPKG

audiobuffer

Version:

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

87 lines (50 loc) 2.11 kB
AudioBuffer ============= An implementation of [Web Audio API's AudioBuffer](https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#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 : ```javascript 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 : ```javascript // 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