National Puppy Menace

    audio-source

    1.1.1 • Public • Published

    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 createSource = require('audio-source');
    const createSpeaker = 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.

    Install

    npm i audio-source

    DownloadsWeekly Downloads

    147

    Version

    1.1.1

    License

    MIT

    Last publish

    Collaborators

    • ahdinosaur
    • dfcreative
    • jamen