audio-speaker

Output audio data to speaker in browser/node

Usage no npm install needed!

<script type="module">
  import audioSpeaker from 'https://cdn.skypack.dev/audio-speaker';
</script>

README

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.