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

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

Examples
  examples/aubioonset.c, and onset/test-onset.c.

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

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

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

  o | onset 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

  o | onset 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

  o | onset 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

  o | onset 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

  o | onset 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

  o | onset 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

  o | onset 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

  o | onset 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

  o | onset 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

  o | onset 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

  o | onset 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

  o | onset 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

  o | onset 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

  o | onset 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

  o | onset 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

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

## aubio_onset_set_awhitening()

uint_t aubio_onset_set_awhitening | ( | aubio_onset_t * | o,
|  | uint_t | enable )

set onset detection adaptive whitening

Parameters

  o | onset detection object as returned by new_aubio_onset()
  enable | 1 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

  o | onset detection object as returned by new_aubio_onset()
  lambda | logarithmic 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

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

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

  o | onset detection object as returned by new_aubio_onset()
  delay | constant 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

  o | onset detection object as returned by new_aubio_onset()
  delay | constant 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

  o | onset detection object as returned by new_aubio_onset()
  delay | constant 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

  o | onset detection object as returned by new_aubio_onset()
  minioi | minimum 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

  o | onset detection object as returned by new_aubio_onset()
  minioi | minimum 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

  o | onset detection object as returned by new_aubio_onset()
  minioi | minimum 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

  o | onset detection object as returned by new_aubio_onset()
  silence | new 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

  o | onset detection object as returned by new_aubio_onset()
  threshold | new peak-picking threshold

Examples
  examples/aubioonset.c.

## del_aubio_onset()

void del_aubio_onset | ( | aubio_onset_t * | o | ) |

delete onset detection object

Parameters

  o | onset 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

  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

Returns
  newly created aubio_onset_t

Examples
  examples/aubioonset.c, and onset/test-onset.c.