Skip to content
This repository has been archived by the owner on Sep 22, 2021. It is now read-only.

audiojs/audio-source

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status stable

Create audio stream from AudioBuffer or ArrayBuffer.

Usage

npm install audio-source

As a function

Audio-source in functional style is a sync source.

const Source = require('audio-source');
const Speaker = require('audio-speaker/direct');
const lena = require('audio-lena/buffer');

let read = Source(lena, {channels: 1});
let write = Speaker({channels: 1});

//create and start reading loop
(function again (err, buf) {
	//get next chunk
	buf = read(buf);

	//catch end
	if (!buf) return;

	//send chunk to speaker
	write(buf, again);
})();

As a pull-stream

Pull-streams are awesome and faster than streams (but slower than plain fn).

const pull = require('pull-stream/pull');
const Source = require('audio-source/pull');
const Speaker = require('audio-speaker/pull');
const lena = require('audio-lena/buffer');

let source = Source(lena, {channels: 1});
let sink = Speaker({channels: 1});

pull(source, sink);

As a stream

Streams are concise:

const Source = require('audio-source/stream');
const Speaker = require('audio-speaker/stream');
const lena = require('audio-lena/buffer');

Source(lena).pipe(Speaker());

API

const Source = require('audio-source');

//create source reader
let read = Source(audioBuffer, {channels: 2, loop: false}?, endCallback?);

//get next chunk of audio data
let chunk = read();

//dispose stream
read.end();

Related

web-audio-stream — connect WebAudio to audio-stream or audio-stream to WebAudio.

About

Create stream from audio buffer or array buffer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published