*/
+/** \file
+
+ Onset detection driver
+
+ 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 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
+ routine using the corresponding functions.
+
+*/
+
+
#ifndef ONSET_H
#define ONSET_H
extern "C" {
#endif
+/** onset detection object */
typedef struct _aubio_onset_t aubio_onset_t;
-/** create onset detection object */
+/** create onset detection object
+
+ \param type_onset onset detection type as specified in onsetdetection.h
+ \param buf_size buffer size for phase vocoder
+ \param hop_size hop size for phase vocoder
+ \param channels number of channels
+
+*/
aubio_onset_t * new_aubio_onset (aubio_onsetdetection_type type_onset,
uint_t buf_size, uint_t hop_size, uint_t channels);
-/** execute onset detection */
+/** execute onset detection
+
+ \param o onset detection object as returned by new_aubio_onset
+ \param input new audio vector of length hop_size
+ \param onset output vector, 1 if onset is found, 0 otherwise
+
+*/
void aubio_onset(aubio_onset_t *o, fvec_t * input, fvec_t * onset);
-/** set onset detection silence threshold */
+/** set onset detection silence threshold
+
+ \param o onset detection object as returned by new_aubio_onset
+ \param silence new silence detection threshold
+
+*/
void aubio_onset_set_silence(aubio_onset_t * o, smpl_t silence);
-/** set onset detection peak picking threshold */
+/** set onset detection peak picking threshold
+
+ \param o onset detection object as returned by new_aubio_onset
+ \param threshold new peak-picking threshold
+
+*/
void aubio_onset_set_threshold(aubio_onset_t * o, smpl_t threshold);
-/** set onset detection peak picking threshold */
+/** set minimum inter onset interval
+
+ \param o onset detection object as returned by new_aubio_onset
+ \param minioi minimum number of frames between onsets (in multiple of
+ hop_size/samplerare)
+
+*/
void aubio_onset_set_minioi(aubio_onset_t * o, uint_t minioi);
-/** delete onset detection object */
+/** delete onset detection object
+
+ \param o onset detection object to delete
+
+*/
void del_aubio_onset(aubio_onset_t * o);
#ifdef __cplusplus