Skip to content

audiojs/audio-speaker

Repository files navigation

audio-speaker Build Status stable Greenkeeper badge

Output audio stream to speaker in node or browser.

npm install audio-speaker

Use as a stream

var Speaker = require('audio-speaker/stream');
var Generator = require('audio-generator/stream');

Generator(function (time) {
	//panned unisson effect
	var τ = Math.PI * 2;
	return [Math.sin(τ * time * 441), Math.sin(τ * time * 439)];
})
.pipe(Speaker({
	//PCM input format defaults, optional.
	//channels: 2,
	//sampleRate: 44100,
	//byteOrder: 'LE',
	//bitDepth: 16,
	//signed: true,
	//float: false,
	//interleaved: true,
}));

Use as a pull-stream

const pull = require('pull-stream/pull');
const speaker = require('audio-speaker/pull');
const osc = require('audio-oscillator/pull');

pull(osc({frequency: 440}), speaker());

Use directly

Speaker is async-sink with fn(data, cb) notation.

const createSpeaker = require('audio-speaker');
const createGenerator = require('audio-generator');

let output = createSpeaker();
let generate = createGenerator(t => Math.sin(t * Math.PI * 2 * 440));

(function loop (err, buf) {
	let buffer = generate();
	output(buffer, loop);
})();

Related

web-audio-stream — stream data to web-audio.
audio-through — universal stream for processing audio.
node-speaker — output pcm stream to speaker in node.
audio-feeder — cross-browser speaker for pcm data.