aubio 0.4.9
Loading...
Searching...
No Matches
onset.h File Reference

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_tnew_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
 

Detailed Description

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 Documentation

◆ aubio_onset_t

typedef struct _aubio_onset_t aubio_onset_t

onset detection object

Definition at line 50 of file onset.h.

Function Documentation

◆ aubio_onset_do()

void aubio_onset_do ( aubio_onset_t * o,
const fvec_t * input,
fvec_t * onset )

execute onset detection

Parameters
oonset detection object as returned by new_aubio_onset()
inputnew audio vector of length hop_size
onsetoutput 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/aubioonset.c, and onset/test-onset.c.

◆ aubio_onset_get_awhitening()

smpl_t aubio_onset_get_awhitening ( aubio_onset_t * o)

get onset detection adaptive whitening

Parameters
oonset detection object as returned by new_aubio_onset()
Returns
1 if enabled, 0 otherwise
Examples
examples/aubioonset.c.

◆ aubio_onset_get_compression()

smpl_t aubio_onset_get_compression ( aubio_onset_t * o)

get onset detection log compression

Parameters
oonset detection object as returned by new_aubio_onset()
Returns
0 if disabled, compression factor otherwise
Examples
examples/aubioonset.c.

◆ aubio_onset_get_delay()

uint_t aubio_onset_get_delay ( const aubio_onset_t * o)

get delay in samples

Parameters
oonset detection object as returned by new_aubio_onset()
Returns
constant system delay to take back from detection time (in samples)

◆ aubio_onset_get_delay_ms()

smpl_t aubio_onset_get_delay_ms ( const aubio_onset_t * o)

get delay in milliseconds

Parameters
oonset detection object as returned by new_aubio_onset()
Returns
constant system delay to take back from detection time (in milliseconds)

◆ aubio_onset_get_delay_s()

smpl_t aubio_onset_get_delay_s ( const aubio_onset_t * o)

get delay in seconds

Parameters
oonset detection object as returned by new_aubio_onset()
Returns
constant system delay to take back from detection time (in seconds)

◆ aubio_onset_get_descriptor()

smpl_t aubio_onset_get_descriptor ( const aubio_onset_t * o)

get onset detection function

Parameters
oonset detection object as returned by new_aubio_onset()
Returns
the current value of the descriptor

◆ aubio_onset_get_last()

uint_t aubio_onset_get_last ( const aubio_onset_t * o)

get the time of the latest onset detected, in samples

Parameters
oonset detection object as returned by new_aubio_onset()
Returns
onset detection timestamps (in samples)
Examples
examples/aubioonset.c, and onset/test-onset.c.

◆ aubio_onset_get_last_ms()

smpl_t aubio_onset_get_last_ms ( const aubio_onset_t * o)

get the time of the latest onset detected, in milliseconds

Parameters
oonset detection object as returned by new_aubio_onset()
Returns
onset detection timestamps (in milliseconds)
Examples
onset/test-onset.c.

◆ aubio_onset_get_last_s()

smpl_t aubio_onset_get_last_s ( const aubio_onset_t * o)

get the time of the latest onset detected, in seconds

Parameters
oonset detection object as returned by new_aubio_onset()
Returns
onset detection timestamps (in seconds)
Examples
onset/test-onset.c.

◆ aubio_onset_get_minioi()

uint_t aubio_onset_get_minioi ( const aubio_onset_t * o)

get minimum inter onset interval in samples

Parameters
oonset detection object as returned by new_aubio_onset()
Returns
minimum interval between two consecutive onsets (in samples)

◆ aubio_onset_get_minioi_ms()

smpl_t aubio_onset_get_minioi_ms ( const aubio_onset_t * o)

get minimum inter onset interval in milliseconds

Parameters
oonset detection object as returned by new_aubio_onset()
Returns
minimum interval between two consecutive onsets (in milliseconds)

◆ aubio_onset_get_minioi_s()

smpl_t aubio_onset_get_minioi_s ( const aubio_onset_t * o)

get minimum inter onset interval in seconds

Parameters
oonset detection object as returned by new_aubio_onset()
Returns
minimum interval between two consecutive onsets (in seconds)

◆ aubio_onset_get_silence()

smpl_t aubio_onset_get_silence ( const aubio_onset_t * o)

get onset detection silence threshold

Parameters
oonset detection object as returned by new_aubio_onset()
Returns
current silence threshold
Examples
examples/aubioonset.c.

◆ aubio_onset_get_threshold()

smpl_t aubio_onset_get_threshold ( const aubio_onset_t * o)

get onset peak picking threshold

Parameters
oonset detection object as returned by new_aubio_onset()
Returns
current onset detection threshold
Examples
examples/aubioonset.c.

◆ aubio_onset_get_thresholded_descriptor()

smpl_t aubio_onset_get_thresholded_descriptor ( const aubio_onset_t * o)

get thresholded onset detection function

Parameters
oonset detection object as returned by new_aubio_onset()
Returns
the value of the thresholded descriptor

◆ aubio_onset_reset()

void aubio_onset_reset ( aubio_onset_t * o)

reset onset detection

Parameters
oonset 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().

◆ aubio_onset_set_awhitening()

uint_t aubio_onset_set_awhitening ( aubio_onset_t * o,
uint_t enable )

set onset detection adaptive whitening

Parameters
oonset detection object as returned by new_aubio_onset()
enable1 to enable, 0 to disable
Returns
0 if successful, 1 otherwise

◆ aubio_onset_set_compression()

uint_t aubio_onset_set_compression ( aubio_onset_t * o,
smpl_t lambda )

set or disable log compression

Parameters
oonset detection object as returned by new_aubio_onset()
lambdalogarithmic compression factor, 0 to disable
Returns
0 if successful, 1 otherwise

◆ aubio_onset_set_default_parameters()

uint_t aubio_onset_set_default_parameters ( aubio_onset_t * o,
const char_t * onset_mode )

set default parameters

Parameters
oonset detection object as returned by new_aubio_onset()
onset_modedetection mode to adjust

This function is called at the end of new_aubio_onset().

Examples
onset/test-onset.c.

◆ aubio_onset_set_delay()

uint_t aubio_onset_set_delay ( aubio_onset_t * o,
uint_t delay )

set delay in samples

Parameters
oonset detection object as returned by new_aubio_onset()
delayconstant system delay to take back from detection time (in samples)

◆ aubio_onset_set_delay_ms()

uint_t aubio_onset_set_delay_ms ( aubio_onset_t * o,
smpl_t delay )

set delay in milliseconds

Parameters
oonset detection object as returned by new_aubio_onset()
delayconstant system delay to take back from detection time (in milliseconds)

◆ aubio_onset_set_delay_s()

uint_t aubio_onset_set_delay_s ( aubio_onset_t * o,
smpl_t delay )

set delay in seconds

Parameters
oonset detection object as returned by new_aubio_onset()
delayconstant system delay to take back from detection time (in seconds)

◆ aubio_onset_set_minioi()

uint_t aubio_onset_set_minioi ( aubio_onset_t * o,
uint_t minioi )

set minimum inter onset interval in samples

Parameters
oonset detection object as returned by new_aubio_onset()
minioiminimum interval between two consecutive onsets (in samples)

◆ aubio_onset_set_minioi_ms()

uint_t aubio_onset_set_minioi_ms ( aubio_onset_t * o,
smpl_t minioi )

set minimum inter onset interval in milliseconds

Parameters
oonset detection object as returned by new_aubio_onset()
minioiminimum interval between two consecutive onsets (in milliseconds)

◆ aubio_onset_set_minioi_s()

uint_t aubio_onset_set_minioi_s ( aubio_onset_t * o,
smpl_t minioi )

set minimum inter onset interval in seconds

Parameters
oonset detection object as returned by new_aubio_onset()
minioiminimum interval between two consecutive onsets (in seconds)
Examples
examples/aubioonset.c.

◆ aubio_onset_set_silence()

uint_t aubio_onset_set_silence ( aubio_onset_t * o,
smpl_t silence )

set onset detection silence threshold

Parameters
oonset detection object as returned by new_aubio_onset()
silencenew silence detection threshold
Examples
examples/aubioonset.c.

◆ aubio_onset_set_threshold()

uint_t aubio_onset_set_threshold ( aubio_onset_t * o,
smpl_t threshold )

set onset detection peak picking threshold

Parameters
oonset detection object as returned by new_aubio_onset()
thresholdnew peak-picking threshold
Examples
examples/aubioonset.c.

◆ del_aubio_onset()

void del_aubio_onset ( aubio_onset_t * o)

delete onset detection object

Parameters
oonset detection object to delete
Examples
examples/aubioonset.c, and onset/test-onset.c.

◆ new_aubio_onset()

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

Parameters
methodonset detection type as specified in specdesc.h
buf_sizebuffer size for phase vocoder
hop_sizehop size for phase vocoder
sampleratesampling rate of the input signal
Returns
newly created aubio_onset_t
Examples
examples/aubioonset.c, and onset/test-onset.c.