aubio 0.3.2
Typedefs | Enumerations | Functions
onsetdetection.h File Reference

Onset detection functions. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef struct
_aubio_onsetdetection_t 
aubio_onsetdetection_t
 onsetdetection structure

Enumerations

enum  aubio_onsetdetection_type {
  aubio_onset_energy, aubio_onset_specdiff, aubio_onset_hfc, aubio_onset_complex,
  aubio_onset_phase, aubio_onset_kl, aubio_onset_mkl
}
 onsetdetection types More...

Functions

void aubio_onsetdetection_energy (aubio_onsetdetection_t *o, cvec_t *fftgrain, fvec_t *onset)
 Energy based onset detection function.
void aubio_onsetdetection_hfc (aubio_onsetdetection_t *o, cvec_t *fftgrain, fvec_t *onset)
 High Frequency Content onset detection function.
void aubio_onsetdetection_complex (aubio_onsetdetection_t *o, cvec_t *fftgrain, fvec_t *onset)
 Complex Domain Method onset detection function.
void aubio_onsetdetection_phase (aubio_onsetdetection_t *o, cvec_t *fftgrain, fvec_t *onset)
 Phase Based Method onset detection function.
void aubio_onsetdetection_specdiff (aubio_onsetdetection_t *o, cvec_t *fftgrain, fvec_t *onset)
 Spectral difference method onset detection function.
void aubio_onsetdetection_kl (aubio_onsetdetection_t *o, cvec_t *fftgrain, fvec_t *onset)
 Kullback-Liebler onset detection function.
void aubio_onsetdetection_mkl (aubio_onsetdetection_t *o, cvec_t *fftgrain, fvec_t *onset)
 Modified Kullback-Liebler onset detection function.
void aubio_onsetdetection (aubio_onsetdetection_t *o, cvec_t *fftgrain, fvec_t *onset)
 execute onset detection function on a spectral frame
aubio_onsetdetection_tnew_aubio_onsetdetection (aubio_onsetdetection_type type, uint_t size, uint_t channels)
 creation of an onset detection object
void del_aubio_onsetdetection (aubio_onsetdetection_t *o)
 deletion of an onset detection object
void aubio_onsetdetection_free (aubio_onsetdetection_t *o)
 deletion of an onset detection object (obsolete)

Detailed Description

Onset detection functions.

All of the following onset detection function take as arguments the FFT of a windowed signal (as created with aubio_pvoc). They output one smpl_t per buffer and per channel (stored in a vector of size [channels]x[1]).

These functions were first adapted from Juan Pablo Bello's code, and now include further improvements and modifications made within aubio.


Enumeration Type Documentation

onsetdetection types

Enumerator:
aubio_onset_energy 

energy based

aubio_onset_specdiff 

spectral diff

aubio_onset_hfc 

high frequency content

aubio_onset_complex 

complex domain

aubio_onset_phase 

phase fast

aubio_onset_kl 

Kullback Liebler.

aubio_onset_mkl 

modified Kullback Liebler


Function Documentation

void aubio_onsetdetection ( aubio_onsetdetection_t o,
cvec_t fftgrain,
fvec_t onset 
)

execute onset detection function on a spectral frame

Generic function to compute onset detection.

Parameters:
oonset detection object as returned by new_aubio_onsetdetection()
fftgraininput signal spectrum as computed by aubio_pvoc_do
onsetoutput vector (one sample long, to send to the peak picking)
void aubio_onsetdetection_complex ( aubio_onsetdetection_t o,
cvec_t fftgrain,
fvec_t onset 
)

Complex Domain Method onset detection function.

Christopher Duxbury, Mike E. Davies, and Mark B. Sandler. Complex domain onset detection for musical signals. In Proceedings of the Digital Audio Effects Conference, DAFx-03, pages 90-93, London, UK, 2003.

Parameters:
oonset detection object as returned by new_aubio_onsetdetection()
fftgraininput spectral frame
onsetoutput onset detection function
void aubio_onsetdetection_energy ( aubio_onsetdetection_t o,
cvec_t fftgrain,
fvec_t onset 
)

Energy based onset detection function.

This function calculates the local energy of the input spectral frame.

Parameters:
oonset detection object as returned by new_aubio_onsetdetection()
fftgraininput spectral frame
onsetoutput onset detection function
void aubio_onsetdetection_free ( aubio_onsetdetection_t o)

deletion of an onset detection object (obsolete)

Parameters:
oonset detection object as returned by new_aubio_onsetdetection()
void aubio_onsetdetection_hfc ( aubio_onsetdetection_t o,
cvec_t fftgrain,
fvec_t onset 
)

High Frequency Content onset detection function.

This method computes the High Frequency Content (HFC) of the input spectral frame. The resulting function is efficient at detecting percussive onsets.

Paul Masri. Computer modeling of Sound for Transformation and Synthesis of Musical Signal. PhD dissertation, University of Bristol, UK, 1996.

Parameters:
oonset detection object as returned by new_aubio_onsetdetection()
fftgraininput spectral frame
onsetoutput onset detection function
void aubio_onsetdetection_kl ( aubio_onsetdetection_t o,
cvec_t fftgrain,
fvec_t onset 
)

Kullback-Liebler onset detection function.

Stephen Hainsworth and Malcom Macleod. Onset detection in music audio signals. In Proceedings of the International Computer Music Conference (ICMC), Singapore, 2003.

Parameters:
oonset detection object as returned by new_aubio_onsetdetection()
fftgraininput spectral frame
onsetoutput onset detection function
void aubio_onsetdetection_mkl ( aubio_onsetdetection_t o,
cvec_t fftgrain,
fvec_t onset 
)

Modified Kullback-Liebler onset detection function.

Paul Brossier, ``Automatic annotation of musical audio for interactive systems'', Chapter 2, Temporal segmentation, PhD thesis, Centre for Digital music, Queen Mary University of London, London, UK, 2006.

Parameters:
oonset detection object as returned by new_aubio_onsetdetection()
fftgraininput spectral frame
onsetoutput onset detection function
void aubio_onsetdetection_phase ( aubio_onsetdetection_t o,
cvec_t fftgrain,
fvec_t onset 
)

Phase Based Method onset detection function.

Juan-Pablo Bello, Mike P. Davies, and Mark B. Sandler. Phase-based note onset detection for music signals. In Proceedings of the IEEE International Conference on Acoustics Speech and Signal Processing, pages 441­444, Hong-Kong, 2003.

Parameters:
oonset detection object as returned by new_aubio_onsetdetection()
fftgraininput spectral frame
onsetoutput onset detection function
void aubio_onsetdetection_specdiff ( aubio_onsetdetection_t o,
cvec_t fftgrain,
fvec_t onset 
)

Spectral difference method onset detection function.

Jonhatan Foote and Shingo Uchihashi. The beat spectrum: a new approach to rhythm analysis. In IEEE International Conference on Multimedia and Expo (ICME 2001), pages 881­884, Tokyo, Japan, August 2001.

Parameters:
oonset detection object as returned by new_aubio_onsetdetection()
fftgraininput spectral frame
onsetoutput onset detection function
void del_aubio_onsetdetection ( aubio_onsetdetection_t o)

deletion of an onset detection object

Parameters:
oonset detection object as returned by new_aubio_onsetdetection()
aubio_onsetdetection_t* new_aubio_onsetdetection ( aubio_onsetdetection_type  type,
uint_t  size,
uint_t  channels 
)

creation of an onset detection object

Parameters:
typeonset detection mode
sizelength of the input spectrum frame
channelsnumber of input channels
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines