Typedefs |
typedef struct _aubio_onset_t | aubio_onset_t |
| onset detection object
|
Functions |
aubio_onset_t * | new_aubio_onset (char_t *method, uint_t buf_size, uint_t hop_size, uint_t samplerate) |
| create onset detection object
|
void | aubio_onset_do (aubio_onset_t *o, fvec_t *input, fvec_t *onset) |
| execute onset detection
|
uint_t | aubio_onset_get_last (aubio_onset_t *o) |
| get the time of the latest onset detected, in samples
|
smpl_t | aubio_onset_get_last_s (aubio_onset_t *o) |
| get the time of the latest onset detected, in seconds
|
smpl_t | aubio_onset_get_last_ms (aubio_onset_t *o) |
| get the time of the latest onset detected, in milliseconds
|
uint_t | aubio_onset_set_silence (aubio_onset_t *o, smpl_t silence) |
| set onset detection silence threshold
|
smpl_t | aubio_onset_get_descriptor (aubio_onset_t *o) |
| get onset detection function
|
smpl_t | aubio_onset_get_thresholded_descriptor (aubio_onset_t *o) |
| get thresholded onset detection function
|
uint_t | aubio_onset_set_threshold (aubio_onset_t *o, smpl_t threshold) |
| set onset detection peak picking threshold
|
uint_t | aubio_onset_set_minioi (aubio_onset_t *o, uint_t minioi) |
| set minimum inter onset interval in samples
|
uint_t | aubio_onset_set_minioi_s (aubio_onset_t *o, smpl_t minioi) |
| set minimum inter onset interval in seconds
|
uint_t | aubio_onset_set_minioi_ms (aubio_onset_t *o, smpl_t minioi) |
| set minimum inter onset interval in milliseconds
|
uint_t | aubio_onset_set_delay (aubio_onset_t *o, uint_t delay) |
| set minimum inter onset interval in samples
|
uint_t | aubio_onset_set_delay_s (aubio_onset_t *o, smpl_t delay) |
| set minimum inter onset interval in seconds
|
uint_t | aubio_onset_set_delay_ms (aubio_onset_t *o, smpl_t delay) |
| set minimum inter onset interval in milliseconds
|
uint_t | aubio_onset_get_minioi (aubio_onset_t *o) |
| get minimum inter onset interval in samples
|
smpl_t | aubio_onset_get_minioi_s (aubio_onset_t *o) |
| get minimum inter onset interval in seconds
|
smpl_t | aubio_onset_get_minioi_ms (aubio_onset_t *o) |
| get minimum inter onset interval in milliseconds
|
uint_t | aubio_onset_get_delay (aubio_onset_t *o) |
| get minimum inter onset interval in samples
|
smpl_t | aubio_onset_get_delay_s (aubio_onset_t *o) |
| get minimum inter onset interval in seconds
|
smpl_t | aubio_onset_get_delay_ms (aubio_onset_t *o) |
| get minimum inter onset interval in milliseconds
|
smpl_t | aubio_onset_get_threshold (aubio_onset_t *o) |
| get onset peak picking threshold
|
void | del_aubio_onset (aubio_onset_t *o) |
| delete onset detection object
|
Onset detection object.
The following routines compute the onset detection function and detect peaks in these functions. When onsets are found above a given silence threshold, and after a minimum inter-onset interval, the output vector returned by aubio_onset_do() is filled with `1`. Otherwise, the output vector remains `0`.
The peak-picking threshold, the silence threshold, and the minimum inter-onset interval can be adjusted during the execution of the aubio_onset_do routine using the corresponding functions.
Definition in file onset.h.
execute onset detection
- Parameters:
-
o | onset detection object as returned by new_aubio_onset() |
input | new audio vector of length hop_size |
onset | output vector of length 1, containing 0 if no onset was found, and a value equal or greater than 1 otherwise |
When no onset was detected, the first element of the output vector `onset` is set to 0.
When an onset is found, the first element of the output vector `onset` is set to `offset = 1 + a` where `a` is a number in the range`[0, 1]`.
The final onset detection time, in samples, can be obtained with aubio_onset_get_last(). It can also be derived from `offset` as follows:
t = total_frames + offset * hop_size - delay
where `total_frames` is the total number of frames processed so far, and `delay` is the current delay of the onset object, as returned by aubio_onset_get_delay().
- Examples:
- examples/aubionotes.c, examples/aubioonset.c, and onset/test-onset.c.