@yjbeetle/aubio

0.1.2 • Public • Published

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 @yjbeetle/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/.

Package Sidebar

Install

npm i @yjbeetle/aubio

Weekly Downloads

7

Version

0.1.2

License

GPL-3.0

Unpacked Size

59.7 kB

Total Files

9

Last publish

Collaborators

  • yjbeetle