node-resampler
PCM audio sample rate conversion for Node.js
Requirements
You must have libresample installed.
- Debian/Ubuntu via Apt:
$ sudo apt-get install libresample1-dev
- OS X - Install via homebrew (not yet in master):
$ brew install https://raw.github.com/xdissent/homebrew/d4f55ba336d66473e7bf167901a0c575c0c4ae17/Library/Formula/libresample.rb
Installation
Install with npm:
$ npm install resampler
or via git:
$ npm install git+https://github.com/xdissent/node-resampler.git
Usage
The resampler
module exports a stream.Transform
subclass:
var Resampler = ; // Pass the input and output sample rates to the constructor:var resampler = 44100 22050; // Optionally choose low quality:// var resampler = new Resampler(44100, 22050, Resampler.QUALITY_LO); // Treat it like any other transform stream:processstdin;// $ cat audio.pcm | node resample.js > resampled.pcm
Examples
Lofi-ify by downsampling by a ridiculous factor:
Resampler = require 'resampler' downer = Resampler1337upper = Resampler44100 processstdinpipedownerpipeupperpipeprocessstdout# $ cat audio.pcm | coffee lofi.coffee > lofi.pcm
FAQ
-
Why not SRC libsamplerate?
Because it's GPL.