aubio
0.4.0
|
aubio is a library to extract annotations from audio signals: it provides a set of functions that take an input audio signal, and output pitch estimates, attack times (onset), beat location estimates, and other annotation tasks.
All object structures in aubio share the same function prefixes and suffixes:
new_aubio_foo
creates the object foo
aubio_foo_do
executes the object foo
del_aubio_foo
destroys the object foo
All memory allocation and deallocation take place in the new_
and del_
functions. Optionally, more than one _do
methods are available. Additional parameters can be adjusted and observed using:
aubio_foo_get_param
, getter function, gets the value of a parameteraubio_foo_set_param
, setter function, changes the value of a parameterUnless specified in its documentation, no memory operations take place in the getter functions. However, memory resizing can take place in setter functions.
Two basic structures are being used in aubio: fvec_t and cvec_t. The fvec_t structures are used to store vectors of floating pointer number. cvec_t are used to store complex number, as two vectors of norm and phase elements.
Additionally, the lvec_t structure can be used to store floating point numbers in double precision. They are mostly used to store filter coefficients, to avoid instability.
Here is a list of some of the most common objects for aubio:
See the list of typedefs for a complete list.
Here is a simple example that creates an A-Weighting filter and applies it to a vector.
Several examples of C programs are available in the examples/
and tests/src
directories of the source tree.
Several more functions are available and used within aubio, but not documented here, either because they are not considered useful to the user, or because they may need to be changed in the future. However, they can still be used by defining AUBIO_UNSTABLE to 1 before including the aubio header:
Future versions of aubio could break API compatibility with these functions without warning. If you choose to use functions in AUBIO_UNSTABLE, you are on your own.
Latest versions, further documentation, examples, wiki, and mailing lists can be found at http://aubio.org .