https://github.com/audiojs/audio-speaker
Output audio stream to speaker, browser/node-wise
https://github.com/audiojs/audio-speaker
audio audiojs speaker web-audio
Last synced: 8 months ago
JSON representation
Output audio stream to speaker, browser/node-wise
- Host: GitHub
- URL: https://github.com/audiojs/audio-speaker
- Owner: audiojs
- Created: 2015-10-04T01:57:19.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2022-02-05T01:00:19.000Z (over 4 years ago)
- Last Synced: 2025-08-17T01:39:58.981Z (10 months ago)
- Topics: audio, audiojs, speaker, web-audio
- Language: JavaScript
- Homepage:
- Size: 201 KB
- Stars: 103
- Watchers: 14
- Forks: 8
- Open Issues: 17
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# audio-speaker [](https://travis-ci.org/audiojs/audio-speaker) [](http://github.com/badges/stability-badges) [](https://greenkeeper.io/)
Output audio stream to speaker in node or browser.
[](https://npmjs.org/package/audio-speaker/)
### Use as a stream
```js
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
```js
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](https://github.com/audiojs/contributing/wiki/Streams-convention) with `fn(data, cb)` notation.
```js
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](https://github.com/audiojs/web-audio-stream) — stream data to web-audio.
> [audio-through](http://npmjs.org/package/audio-through) — universal stream for processing audio.
> [node-speaker](http://npmjs.org/package/speaker) — output pcm stream to speaker in node.
> [audio-feeder](https://github.com/brion/audio-feeder) — cross-browser speaker for pcm data.