1.1.1 • Published 8 years ago

audio-source v1.1.1

Weekly downloads
147
License
MIT
Repository
github
Last release
8 years ago

Build Status stable

Create audio stream from AudioBuffer or ArrayBuffer.

Usage

npm install audio-source

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.