aubio 0.4.9
|
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 (const 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, const fvec_t *input, fvec_t *onset) |
execute onset detection | |
uint_t | aubio_onset_get_last (const aubio_onset_t *o) |
get the time of the latest onset detected, in samples | |
smpl_t | aubio_onset_get_last_s (const aubio_onset_t *o) |
get the time of the latest onset detected, in seconds | |
smpl_t | aubio_onset_get_last_ms (const aubio_onset_t *o) |
get the time of the latest onset detected, in milliseconds | |
uint_t | aubio_onset_set_awhitening (aubio_onset_t *o, uint_t enable) |
set onset detection adaptive whitening | |
smpl_t | aubio_onset_get_awhitening (aubio_onset_t *o) |
get onset detection adaptive whitening | |
uint_t | aubio_onset_set_compression (aubio_onset_t *o, smpl_t lambda) |
set or disable log compression | |
smpl_t | aubio_onset_get_compression (aubio_onset_t *o) |
get onset detection log compression | |
uint_t | aubio_onset_set_silence (aubio_onset_t *o, smpl_t silence) |
set onset detection silence threshold | |
smpl_t | aubio_onset_get_silence (const aubio_onset_t *o) |
get onset detection silence threshold | |
smpl_t | aubio_onset_get_descriptor (const aubio_onset_t *o) |
get onset detection function | |
smpl_t | aubio_onset_get_thresholded_descriptor (const 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 (const aubio_onset_t *o) |
get minimum inter onset interval in samples | |
smpl_t | aubio_onset_get_minioi_s (const aubio_onset_t *o) |
get minimum inter onset interval in seconds | |
smpl_t | aubio_onset_get_minioi_ms (const aubio_onset_t *o) |
get minimum inter onset interval in milliseconds | |
uint_t | aubio_onset_get_delay (const aubio_onset_t *o) |
get delay in samples | |
smpl_t | aubio_onset_get_delay_s (const aubio_onset_t *o) |
get delay in seconds | |
smpl_t | aubio_onset_get_delay_ms (const aubio_onset_t *o) |
get delay in milliseconds | |
smpl_t | aubio_onset_get_threshold (const aubio_onset_t *o) |
get onset peak picking threshold | |
uint_t | aubio_onset_set_default_parameters (aubio_onset_t *o, const char_t *onset_mode) |
set default parameters | |
void | aubio_onset_reset (aubio_onset_t *o) |
reset onset detection | |
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.
typedef struct _aubio_onset_t aubio_onset_t |
void aubio_onset_do | ( | aubio_onset_t * | o, |
const 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().
smpl_t aubio_onset_get_awhitening | ( | aubio_onset_t * | o | ) |
get onset detection adaptive whitening
o | onset detection object as returned by new_aubio_onset() |
smpl_t aubio_onset_get_compression | ( | aubio_onset_t * | o | ) |
get onset detection log compression
o | onset detection object as returned by new_aubio_onset() |
uint_t aubio_onset_get_delay | ( | const 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 | ( | const 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 | ( | const aubio_onset_t * | o | ) |
get delay in seconds
o | onset detection object as returned by new_aubio_onset() |
smpl_t aubio_onset_get_descriptor | ( | const aubio_onset_t * | o | ) |
get onset detection function
o | onset detection object as returned by new_aubio_onset() |
uint_t aubio_onset_get_last | ( | const 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 | ( | const 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 | ( | const 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 | ( | const 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 | ( | const 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 | ( | const 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 | ( | const 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 | ( | const 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 | ( | const aubio_onset_t * | o | ) |
get thresholded onset detection function
o | onset detection object as returned by new_aubio_onset() |
void aubio_onset_reset | ( | aubio_onset_t * | o | ) |
reset onset detection
o | onset detection object as returned by new_aubio_onset() |
Reset current time and last onset to 0.
This function is called at the end of new_aubio_onset().
uint_t aubio_onset_set_awhitening | ( | aubio_onset_t * | o, |
uint_t | enable ) |
set onset detection adaptive whitening
o | onset detection object as returned by new_aubio_onset() |
enable | 1 to enable, 0 to disable |
uint_t aubio_onset_set_compression | ( | aubio_onset_t * | o, |
smpl_t | lambda ) |
set or disable log compression
o | onset detection object as returned by new_aubio_onset() |
lambda | logarithmic compression factor, 0 to disable |
uint_t aubio_onset_set_default_parameters | ( | aubio_onset_t * | o, |
const char_t * | onset_mode ) |
set default parameters
o | onset detection object as returned by new_aubio_onset() |
onset_mode | detection mode to adjust |
This function is called at the end of 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 | ( | const 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 |