sox-waveform

0.0.1 • Public • Published

sox-waveform

node module to stream an audio file's waveform

You will need to install sox before use.

If you want to use MP3 files, you will also need libsox-fmt-mp3

Usage

Out to the console:

var soxWaveform = require('sox-waveform');
 
soxWaveform.Waveform({file:'/home/pixnbits/Music/birds.ogg'})
  // can pipe to waveform transforms, such as averaging
  .pipe( new soxWaveform.WaveformAverage({count:100}) )
  .on('data', function(wavePoint){
    // wavePoint is an object of the form:
    // {"time":2.334410431,"channels":[-0.0004992675779,-0.0004992675779]}
    console.log('wavePoint avg!', wavePoint);
  })
  .build();

or, out to a file:

var fs = require('fs');
var writable = fs.createWriteStream('file.txt');
// build option is to auto-start building, helpful when piping to node streams
soxWaveform.Waveform({file:'/home/pixnbits/Music/birds.ogg', build:true})
  .pipe( new soxWaveform.WaveformAverage({count:100}) )
  .pipe(writable);

Streaming Note

In an effort to reduce GC events, SoxWaveformStreamer does not inherit from stream to avoid repeated serializing/deserializing wavePoints.

Package Sidebar

Install

npm i sox-waveform

Weekly Downloads

1

Version

0.0.1

License

GNE (use for Good Not Evil)

Last publish

Collaborators

  • pixnbits