aubio: onset/onset.h File Reference

aubio 0.4.9

Loading...
Searching...
No Matches
Typedefs | Functions
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

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.