Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: about 2 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 (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2022-02-05T01:00:19.000Z (over 2 years ago)
- Last Synced: 2024-07-08T20:31:53.009Z (3 months ago)
- Topics: audio, audiojs, speaker, web-audio
- Language: JavaScript
- Homepage:
- Size: 201 KB
- Stars: 103
- Watchers: 15
- Forks: 14
- Open Issues: 17
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# audio-speaker [![Build Status](https://travis-ci.org/audiojs/audio-speaker.svg?branch=master)](https://travis-ci.org/audiojs/audio-speaker) [![stable](https://img.shields.io/badge/stability-stable-brightgreen.svg)](http://github.com/badges/stability-badges) [![Greenkeeper badge](https://badges.greenkeeper.io/audiojs/audio-speaker.svg)](https://greenkeeper.io/)
Output audio stream to speaker in node or browser.
[![npm install audio-speaker](https://nodei.co/npm/audio-speaker.png?mini=true)](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.