Node.js bindings for aubio
Branch: master
Clone or download
Pull request Compare This branch is 30 commits ahead of grayleonard:master.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples examples/filter_source.js: use console.error for errors, clean up fvec Feb 4, 2017
.gitignore .gitignore: add some temp vim and emacs files Feb 3, 2017
LICENSE
README.md README.md: add installation, examples, and license section Feb 4, 2017
index.js index.js: add phase vocoder Feb 3, 2017
package.json
test.js test.js: remove stray comment Feb 3, 2017

README.md

node-aubio

Bindings for aubio

Node.js bindings for aubio, a library for audio and music analysis, synthesis, and effects. aubio features include pitch tracking, onset detectin, beat tracking (tempo), phase vocoder, biquad and IIR filters.

Installation

In order to use this module, you will first need to have aubio installed on your system. See aubio's download page to find out how to get aubio for your system.

Install with npm:

$ npm install aubio

Or add it to the "dependencies" section of your package.json file.

node-aubio uses ffi to load aubio's dynamic library and use directly the aubio functions as well as ref to access C pointers efficiently. To find out more about ffi and ref, read the Node FFI Tutorial.

Examples

Start using node-aubio simply adding a require statement:

var aubio = require('aubio');

The folder examples contains different examples.

source_reader.js will open and read a sound file, counting the number of frames.

$ node node-aubio/examples/source_reader.js mediafile.wav

mfcc.js will open a sound file and extract the MFCC coefficients from a file.

$ node node-aubio/examples/mfcc.js mediafile.wav

filter_source.js will process a sound and filter it using an A-weighting filter. The program takes two arguments: an input media file, and an output file to write to:

$ node node-aubio/examples/filter_source.js input.wav output.wav

License

node-aubio is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.