Onset detection object. More...
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 More... | |
void | aubio_onset_do (aubio_onset_t *o, fvec_t *input, fvec_t *onset) |
execute onset detection More... | |
uint_t | aubio_onset_get_last (aubio_onset_t *o) |
get the time of the latest onset detected, in samples More... | |
smpl_t | aubio_onset_get_last_s (aubio_onset_t *o) |
get the time of the latest onset detected, in seconds More... | |
smpl_t | aubio_onset_get_last_ms (aubio_onset_t *o) |
get the time of the latest onset detected, in milliseconds More... | |
uint_t | aubio_onset_set_silence (aubio_onset_t *o, smpl_t silence) |
set onset detection silence threshold More... | |
smpl_t | aubio_onset_get_descriptor (aubio_onset_t *o) |
get onset detection function More... | |
smpl_t | aubio_onset_get_thresholded_descriptor (aubio_onset_t *o) |
get thresholded onset detection function More... | |
uint_t | aubio_onset_set_threshold (aubio_onset_t *o, smpl_t threshold) |
set onset detection peak picking threshold More... | |
uint_t | aubio_onset_set_minioi (aubio_onset_t *o, uint_t minioi) |
set minimum inter onset interval in samples More... | |
uint_t | aubio_onset_set_minioi_s (aubio_onset_t *o, smpl_t minioi) |
set minimum inter onset interval in seconds More... | |
uint_t | aubio_onset_set_minioi_ms (aubio_onset_t *o, smpl_t minioi) |
set minimum inter onset interval in milliseconds More... | |
uint_t | aubio_onset_set_delay (aubio_onset_t *o, uint_t delay) |
set minimum inter onset interval in samples More... | |
uint_t | aubio_onset_set_delay_s (aubio_onset_t *o, smpl_t delay) |
set minimum inter onset interval in seconds More... | |
uint_t | aubio_onset_set_delay_ms (aubio_onset_t *o, smpl_t delay) |
set minimum inter onset interval in milliseconds More... | |
uint_t | aubio_onset_get_minioi (aubio_onset_t *o) |
get minimum inter onset interval in samples More... | |
smpl_t | aubio_onset_get_minioi_s (aubio_onset_t *o) |
get minimum inter onset interval in seconds More... | |
smpl_t | aubio_onset_get_minioi_ms (aubio_onset_t *o) |
get minimum inter onset interval in milliseconds More... | |
uint_t | aubio_onset_get_delay (aubio_onset_t *o) |
get minimum inter onset interval in samples More... | |
smpl_t | aubio_onset_get_delay_s (aubio_onset_t *o) |
get minimum inter onset interval in seconds More... | |
smpl_t | aubio_onset_get_delay_ms (aubio_onset_t *o) |
get minimum inter onset interval in milliseconds More... | |
void | del_aubio_onset (aubio_onset_t *o) |
delete onset detection object More... | |
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 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:
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 minimum inter onset interval in samples
o | onset detection object as returned by new_aubio_onset() |
smpl_t aubio_onset_get_delay_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_delay_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_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_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 minimum inter onset interval 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 minimum inter onset interval 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 minimum inter onset interval 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 |