audio-source
v1.1.1
Published
Stream audio buffer or array buffer
Downloads
729
Readme
Create audio stream from AudioBuffer or ArrayBuffer.
Usage
As a function
Audio-source in functional style is a sync source.
const createSource = require('audio-source');
const createSpeaker = require('audio-speaker/direct');
const lena = require('audio-lena/buffer');
let read = Source(lena, {channels: 1});
let write = Speaker({channels: 1});
//create and start reading loop
(function again (err, buf) {
//get next chunk
buf = read(buf);
//catch end
if (!buf) return;
//send chunk to speaker
write(buf, again);
})();
As a pull-stream
Pull-streams are awesome and faster than streams (but slower than plain fn).
const pull = require('pull-stream/pull');
const Source = require('audio-source/pull');
const Speaker = require('audio-speaker/pull');
const lena = require('audio-lena/buffer');
let source = Source(lena, {channels: 1});
let sink = Speaker({channels: 1});
pull(source, sink);
As a stream
Streams are concise:
const Source = require('audio-source/stream');
const Speaker = require('audio-speaker/stream');
const lena = require('audio-lena/buffer');
Source(lena).pipe(Speaker());
API
const Source = require('audio-source');
//create source reader
let read = Source(audioBuffer, {channels: 2, loop: false}?, endCallback?);
//get next chunk of audio data
let chunk = read();
//dispose stream
read.end();
Related
web-audio-stream — connect WebAudio to audio-stream or audio-stream to WebAudio.