audio-correction

1.0.1 • Public • Published

audio-correction

npm version dependencies Build Status

Audio stream correction utilities.

Installation

Install audio-correction by running:

$ npm install --save audio-correction

Documentation

Stream audioCorrection.skew(Object options)

Audio skew correction based on an specific date. It'll make sure an audio stream keeps playing on time.

Useful to keep multiple audio players in sync.

options

  • start is a date representing the intended audio start time.
  • format is a PCM format object.
  • maximumSkew is a number (in milliseconds) representing the maximum skew allowed.
  • onSkew(skew, maximumSkew) is a function called when a skew occurs.

Example:

Speaker = require('speaker')
Lame = require('lame')
audioCorrection = require('audio-correction')
 
decoder = new Lame.Decoder()
 
# stream is an audio stream from somewhere 
stream.pipe(decoder)
 
decoder.on 'format'(format) ->
    speaker = new Speaker(format)
 
    decoder
        .pipe audioCorrection.skew
            start: new Date()
            format: format
            maximumSkew: 300
            onSkew: (skew, maximumSkew) =>
                console.warn("Error: Exceeds maximum skew of #{skew} (#{maximumSkew}ms.)")
        .pipe(speaker)

Tests

Run the test suite by doing:

$ gulp test

TODO

  • Improve unit testing in some areas of the code.

Contribute

We're looking forward to support more operating systems. Please raise an issue or even better, send a PR to increase support!

Before submitting a PR, please make sure that you include tests, and that coffeelint runs without any warning:

$ gulp lint

Support

If you're having any problem, please raise an issue on GitHub.

License

The project is licensed under the MIT license.

Readme

Keywords

Package Sidebar

Install

npm i audio-correction

Weekly Downloads

1

Version

1.0.1

License

MIT

Last publish

Collaborators

  • jviotti