aubio  0.4.1
Typedefs | Functions
onset/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 (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_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 minimum inter onset interval in samples
uint_t aubio_onset_set_delay_s (aubio_onset_t *o, smpl_t delay)
 set minimum inter onset interval in seconds
uint_t aubio_onset_set_delay_ms (aubio_onset_t *o, smpl_t delay)
 set minimum inter onset interval 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 minimum inter onset interval in samples
smpl_t aubio_onset_get_delay_s (aubio_onset_t *o)
 get minimum inter onset interval in seconds
smpl_t aubio_onset_get_delay_ms (aubio_onset_t *o)
 get minimum inter onset interval 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

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.


Function Documentation

void aubio_onset_do ( aubio_onset_t o,
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/aubionotes.c, examples/aubioonset.c, and onset/test-onset.c.

get minimum inter onset interval in samples

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

get minimum inter onset interval in milliseconds

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

get minimum inter onset interval in seconds

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

get onset detection function

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

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:
onset/test-onset.c.

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.

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:
examples/aubioonset.c, and onset/test-onset.c.

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)

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)

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)

get onset peak picking threshold

Parameters:
oonset detection object as returned by new_aubio_onset()
Returns:
current onset detection threshold

get thresholded onset detection function

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

set minimum inter onset interval in samples

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

set minimum inter onset interval in milliseconds

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

set minimum inter onset interval in seconds

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

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)

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)

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)

set onset detection silence threshold

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

set onset detection peak picking threshold

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

delete onset detection object

Parameters:
oonset detection object to delete
Examples:
examples/aubioonset.c, and onset/test-onset.c.
aubio_onset_t* new_aubio_onset ( 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/aubionotes.c, examples/aubioonset.c, and onset/test-onset.c.
 All Data Structures Files Functions Variables Typedefs Defines