Skip to content

audiojs/audio-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Jan 26, 2018
74f7121 · Jan 26, 2018

History

72 Commits
Aug 30, 2016
Oct 10, 2015
Nov 7, 2016
Feb 13, 2017
Aug 30, 2016
Oct 17, 2015
Oct 17, 2015
Feb 13, 2017
Jan 26, 2018
Feb 13, 2017
Sep 7, 2016
Sep 5, 2016
Aug 29, 2016
Oct 17, 2015
Sep 3, 2016
Aug 27, 2016

Repository files navigation

audio-generator Build Status unstable

Generate audio stream with a function.

Usage

npm install audio-generator

Direct

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

// panned sine generator
let generate = generator(time => [
		Math.sin(Math.PI * 2 * time * 439), //channel 1
		Math.sin(Math.PI * 2 * time * 441), //channel 2
	], { duration: 2 });
let write = speaker();

// hook up generator → speaker loop
(function loop () {
	write(generate(), loop);
})();

Pull stream

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

pull(
	generator(Math.random, { duration: 2 }),
	speaker()
);

Node stream

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

Generator(
	//Generator function, returns sample values -1..1 for channels
	function (time) {
		return [
			Math.sin(Math.PI * 2 * time * 439), //channel 1
			Math.sin(Math.PI * 2 * time * 441), //channel 2
		]
	},

	{
		//Duration of generated stream, in seconds, after which stream will end.
		duration: Infinity,

		//Periodicity of the time.
		period: Infinity
})
.on('error', function (e) {
	//error happened during generation the frame
})
.pipe(Speaker());

Related

audio-through — universal audio processing stream.
audio-speaker — output audio stream to speaker, both in node/browser.
baudio, webaudio — alternative audio generators.