Go to the source code of this file.
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_silence (aubio_onset_t *o) |
| get 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 delay in samples | |
| uint_t | aubio_onset_set_delay_s (aubio_onset_t *o, smpl_t delay) |
| set delay in seconds | |
| uint_t | aubio_onset_set_delay_ms (aubio_onset_t *o, smpl_t delay) |
| set delay 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 delay in samples | |
| smpl_t | aubio_onset_get_delay_s (aubio_onset_t *o) |
| get delay in seconds | |
| smpl_t | aubio_onset_get_delay_ms (aubio_onset_t *o) |
| get delay 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 | |
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.
| void aubio_onset_do | ( | aubio_onset_t * | o, | |
| fvec_t * | input, | |||
| fvec_t * | onset | |||
| ) |
execute onset detection
| 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 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().
| uint_t aubio_onset_get_delay | ( | aubio_onset_t * | o | ) |
get delay in samples
| o | onset detection object as returned by new_aubio_onset() |
| smpl_t aubio_onset_get_delay_ms | ( | aubio_onset_t * | o | ) |
get delay in milliseconds
| o | onset detection object as returned by new_aubio_onset() |
| smpl_t aubio_onset_get_delay_s | ( | aubio_onset_t * | o | ) |
get delay in seconds
| o | onset detection object as returned by new_aubio_onset() |
| smpl_t aubio_onset_get_descriptor | ( | aubio_onset_t * | o | ) |
get onset detection function
| o | onset detection object as returned by new_aubio_onset() |
| uint_t aubio_onset_get_last | ( | aubio_onset_t * | o | ) |
get the time of the latest onset detected, in samples
| o | onset detection object as returned by new_aubio_onset() |
| smpl_t aubio_onset_get_last_ms | ( | aubio_onset_t * | o | ) |
get the time of the latest onset detected, in milliseconds
| o | onset detection object as returned by new_aubio_onset() |
| smpl_t aubio_onset_get_last_s | ( | aubio_onset_t * | o | ) |
get the time of the latest onset detected, in seconds
| o | onset detection object as returned by new_aubio_onset() |
| uint_t aubio_onset_get_minioi | ( | aubio_onset_t * | o | ) |
get minimum inter onset interval in samples
| o | onset detection object as returned by new_aubio_onset() |
| smpl_t aubio_onset_get_minioi_ms | ( | aubio_onset_t * | o | ) |
get minimum inter onset interval in milliseconds
| o | onset detection object as returned by new_aubio_onset() |
| smpl_t aubio_onset_get_minioi_s | ( | aubio_onset_t * | o | ) |
get minimum inter onset interval in seconds
| o | onset detection object as returned by new_aubio_onset() |
| smpl_t aubio_onset_get_silence | ( | aubio_onset_t * | o | ) |
get onset detection silence threshold
| o | onset detection object as returned by new_aubio_onset() |
| smpl_t aubio_onset_get_threshold | ( | aubio_onset_t * | o | ) |
get onset peak picking threshold
| o | onset detection object as returned by new_aubio_onset() |
| smpl_t aubio_onset_get_thresholded_descriptor | ( | aubio_onset_t * | o | ) |
get thresholded onset detection function
| o | onset detection object as returned by new_aubio_onset() |
| uint_t aubio_onset_set_delay | ( | aubio_onset_t * | o, | |
| uint_t | delay | |||
| ) |
set delay in samples
| o | onset detection object as returned by new_aubio_onset() | |
| delay | constant system delay to take back from detection time (in samples) |
| uint_t aubio_onset_set_delay_ms | ( | aubio_onset_t * | o, | |
| smpl_t | delay | |||
| ) |
set delay in milliseconds
| o | onset detection object as returned by new_aubio_onset() | |
| delay | constant system delay to take back from detection time (in milliseconds) |
| uint_t aubio_onset_set_delay_s | ( | aubio_onset_t * | o, | |
| smpl_t | delay | |||
| ) |
set delay in seconds
| o | onset detection object as returned by new_aubio_onset() | |
| delay | constant system delay to take back from detection time (in seconds) |
| uint_t aubio_onset_set_minioi | ( | aubio_onset_t * | o, | |
| uint_t | minioi | |||
| ) |
set minimum inter onset interval in samples
| o | onset detection object as returned by new_aubio_onset() | |
| minioi | minimum interval between two consecutive onsets (in samples) |
| uint_t aubio_onset_set_minioi_ms | ( | aubio_onset_t * | o, | |
| smpl_t | minioi | |||
| ) |
set minimum inter onset interval in milliseconds
| o | onset detection object as returned by new_aubio_onset() | |
| minioi | minimum interval between two consecutive onsets (in milliseconds) |
| uint_t aubio_onset_set_minioi_s | ( | aubio_onset_t * | o, | |
| smpl_t | minioi | |||
| ) |
set minimum inter onset interval in seconds
| o | onset detection object as returned by new_aubio_onset() | |
| minioi | minimum interval between two consecutive onsets (in seconds) |
| uint_t aubio_onset_set_silence | ( | aubio_onset_t * | o, | |
| smpl_t | silence | |||
| ) |
set onset detection silence threshold
| o | onset detection object as returned by new_aubio_onset() | |
| silence | new silence detection threshold |
| uint_t aubio_onset_set_threshold | ( | aubio_onset_t * | o, | |
| smpl_t | threshold | |||
| ) |
set onset detection peak picking threshold
| o | onset detection object as returned by new_aubio_onset() | |
| threshold | new peak-picking threshold |
| void del_aubio_onset | ( | aubio_onset_t * | o | ) |
delete onset detection object
| o | onset detection object to delete |
| aubio_onset_t* new_aubio_onset | ( | char_t * | method, | |
| uint_t | buf_size, | |||
| uint_t | hop_size, | |||
| uint_t | samplerate | |||
| ) |
create onset detection object
| method | onset detection type as specified in specdesc.h | |
| buf_size | buffer size for phase vocoder | |
| hop_size | hop size for phase vocoder | |
| samplerate | sampling rate of the input signal |
1.5.6