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.
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.
// fast Fourier transform (FFT) aubio_fft_t *fft = new_aubio_fft (winsize); // phase vocoder aubio_pvoc_t *pv = new_aubio_pvoc (winsize, stepsize); // onset detection aubio_onset_t *onset = new_aubio_onset (method, winsize, stepsize, samplerate); // pitch detection aubio_pitch_t *pitch = new_aubio_pitch (method, winsize, stepsize, samplerate); // beat tracking aubio_tempo_t *tempo = new_aubio_tempo (method, winsize, stepsize, samplerate);
See the list of typedefs for a complete list.
// set window size, and sampling rate uint_t winsize = 1024, sr = 44100; // create a vector fvec_t *this_buffer = new_fvec (winsize); // create the a-weighting filter aubio_filter_t *this_filter = new_aubio_filter_a_weighting (sr); while (running) { // here some code to put some data in this_buffer // ... // apply the filter, in place aubio_filter_do (this_filter, this_buffer); // here some code to get some data from this_buffer // ... } // and free the structures del_aubio_filter (this_filter); del_fvec (this_buffer);
Several examples of C programs are available in the examples/ and tests/src directories of the source tree.
#define AUBIO_UNSTABLE 1 #include <aubio/aubio.h>
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.
1.5.6