|
aubio 0.4.5
|
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.
| 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:
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().
| 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 |
1.7.3