* This file is for inclusion from _within_ the library only.
*/
-#ifndef _AUBIO_PRIV_H
-#define _AUBIO_PRIV_H
+#ifndef _AUBIO__PRIV_H
+#define _AUBIO__PRIV_H
/*********************
*
#define UNUSED __attribute__((unused))
-#endif/*_AUBIO_PRIV_H*/
+#endif /* _AUBIO__PRIV_H */
/*
- Copyright (C) 2003-2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2003-2013 Paul Brossier <piem@aubio.org>
This file is part of aubio.
*/
-#ifndef _CVEC_H
-#define _CVEC_H
+#ifndef _AUBIO__CVEC_H
+#define _AUBIO__CVEC_H
#ifdef __cplusplus
extern "C" {
}
#endif
-#endif /* _CVEC_H */
-
+#endif /* _AUBIO__CVEC_H */
/*
- Copyright (C) 2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2009-2013 Paul Brossier <piem@aubio.org>
This file is part of aubio.
*/
-#ifndef _FMAT_H
-#define _FMAT_H
+#ifndef _AUBIO__FMAT_H
+#define _AUBIO__FMAT_H
#ifdef __cplusplus
extern "C" {
}
#endif
-#endif /* _FMAT_H */
+#endif /* _AUBIO__FMAT_H */
/*
- Copyright (C) 2003-2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2003-2013 Paul Brossier <piem@aubio.org>
This file is part of aubio.
*/
-#ifndef _FVEC_H
-#define _FVEC_H
+#ifndef _AUBIO__FVEC_H
+#define _AUBIO__FVEC_H
#ifdef __cplusplus
extern "C" {
}
#endif
-#endif /* _FVEC_H */
+#endif /* _AUBIO__FVEC_H */
/*
- Copyright (C) 2003-2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2003-2013 Paul Brossier <piem@aubio.org>
This file is part of aubio.
*/
-#ifndef _LVEC_H
-#define _LVEC_H
+#ifndef _AUBIO__LVEC_H
+#define _AUBIO__LVEC_H
#ifdef __cplusplus
extern "C" {
}
#endif
-#endif /* _LVEC_H */
+#endif /* _AUBIO__LVEC_H */
/*
- Copyright (C) 2003-2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2003-2013 Paul Brossier <piem@aubio.org>
This file is part of aubio.
*/
-#ifndef MATHUTILS_H
-#define MATHUTILS_H
+#ifndef _AUBIO_MATHUTILS_H
+#define _AUBIO_MATHUTILS_H
#include "fvec.h"
#include "musicutils.h"
}
#endif
-#endif
-
+#endif /* _AUBIO_MATHUTILS_H */
/*
- Copyright (C) 2003-2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2003-2013 Paul Brossier <piem@aubio.org>
This file is part of aubio.
* various functions useful in audio signal processing
*/
-#ifndef MUSICUTILS_H
-#define MUSICUTILS_H
+#ifndef _AUBIO__MUSICUTILS_H
+#define _AUBIO__MUSICUTILS_H
#ifdef __cplusplus
extern "C" {
}
#endif
-#endif
-
+#endif /* _AUBIO__MUSICUTILS_H */
/*
- Copyright (C) 2006-2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2006-2013 Paul Brossier <piem@aubio.org>
This file is part of aubio.
*/
-#ifndef ONSET_H
-#define ONSET_H
+#ifndef _AUBIO_ONSET_H
+#define _AUBIO_ONSET_H
#ifdef __cplusplus
extern "C" {
}
#endif
-#endif /* ONSET_H */
+#endif /* _AUBIO_ONSET_H */
/*
- Copyright (C) 2003-2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2003-2013 Paul Brossier <piem@aubio.org>
This file is part of aubio.
*/
-#ifndef PEAKPICK_H
-#define PEAKPICK_H
+#ifndef _AUBIO_PEAKPICK_H
+#define _AUBIO_PEAKPICK_H
#ifdef __cplusplus
extern "C" {
}
#endif
-#endif /* PEAKPICK_H */
+#endif /* _AUBIO_PEAKPICK_H */
/*
- Copyright (C) 2003-2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2003-2013 Paul Brossier <piem@aubio.org>
This file is part of aubio.
*/
-#ifndef PITCH_H
-#define PITCH_H
+#ifndef _AUBIO_PITCH_H
+#define _AUBIO_PITCH_H
#ifdef __cplusplus
extern "C" {
}
#endif
-#endif /*PITCH_H*/
+#endif /* _AUBIO_PITCH_H */
/*
- Copyright (C) 2003-2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2003-2013 Paul Brossier <piem@aubio.org>
This file is part of aubio.
*/
-#ifndef _PITCHFCOMB_H
-#define _PITCHFCOMB_H
+#ifndef _AUBIO_PITCHFCOMB_H
+#define _AUBIO_PITCHFCOMB_H
#ifdef __cplusplus
extern "C" {
}
#endif
-#endif /* _PITCHFCOMB_H */
-
-
+#endif /* _AUBIO_PITCHFCOMB_H */
/*
- Copyright (C) 2003-2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2003-2013 Paul Brossier <piem@aubio.org>
This file is part of aubio.
*/
-#ifndef PITCHMCOMB_H
-#define PITCHMCOMB_H
+#ifndef _AUBIO_PITCHMCOMB_H
+#define _AUBIO_PITCHMCOMB_H
#ifdef __cplusplus
extern "C" {
}
#endif
-#endif /* PITCHMCOMB_H */
+#endif /* _AUBIO_PITCHMCOMB_H */
/*
- Copyright (C) 2003-2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2003-2013 Paul Brossier <piem@aubio.org>
This file is part of aubio.
*/
-#ifndef _PITCHSCHMITT_H
-#define _PITCHSCHMITT_H
+#ifndef _AUBIO_PITCHSCHMITT_H
+#define _AUBIO_PITCHSCHMITT_H
#ifdef __cplusplus
extern "C" {
}
#endif
-#endif /* _PITCHSCHMITT_H */
+#endif /* _AUBIO_PITCHSCHMITT_H */
*/
-#ifndef AUBIO_PITCHSPECACF_H
-#define AUBIO_PITCHSPECACF_H
+#ifndef _AUBIO_PITCHSPECACF_H
+#define _AUBIO_PITCHSPECACF_H
#ifdef __cplusplus
extern "C" {
}
#endif
-#endif /*AUBIO_PITCHSPECACF_H*/
+#endif /* _AUBIO_PITCHSPECACF_H */
/*
- Copyright (C) 2003-2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2003-2013 Paul Brossier <piem@aubio.org>
This file is part of aubio.
*/
-#ifndef PITCHYIN_H
-#define PITCHYIN_H
+#ifndef _AUBIO_PITCHYIN_H
+#define _AUBIO_PITCHYIN_H
#ifdef __cplusplus
extern "C" {
}
#endif
-#endif /*PITCHYIN_H*/
+#endif /* _AUBIO_PITCHYIN_H */
/*
- Copyright (C) 2003-2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2003-2013 Paul Brossier <piem@aubio.org>
This file is part of aubio.
*/
-#ifndef PITCHYINFFT_H
-#define PITCHYINFFT_H
+#ifndef _AUBIO_PITCHYINFFT_H
+#define _AUBIO_PITCHYINFFT_H
#ifdef __cplusplus
extern "C" {
}
#endif
-#endif /*PITCHYINFFT_H*/
+#endif /* _AUBIO_PITCHYINFFT_H */
/*
- Copyright (C) 2003-2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2003-2013 Paul Brossier <piem@aubio.org>
This file is part of aubio.
*/
-#ifndef FFT_H_
-#define FFT_H_
+#ifndef _AUBIO_FFT_H
+#define _AUBIO_FFT_H
#ifdef __cplusplus
extern "C" {
}
#endif
-#endif // FFT_H_
+#endif /* _AUBIO_FFT_H */
/*
- Copyright (C) 2007-2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2007-2013 Paul Brossier <piem@aubio.org>
and Amaury Hazan <ahazan@iua.upf.edu>
This file is part of aubio.
*/
-#ifndef FILTERBANK_H
-#define FILTERBANK_H
+#ifndef _AUBIO_FILTERBANK_H
+#define _AUBIO_FILTERBANK_H
#ifdef __cplusplus
extern "C"
}
#endif
-#endif // FILTERBANK_H
+#endif /* _AUBIO_FILTERBANK_H */
/*
- Copyright (C) 2007-2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2007-2013 Paul Brossier <piem@aubio.org>
and Amaury Hazan <ahazan@iua.upf.edu>
This file is part of aubio.
*/
-#ifndef FILTERBANK_MEL_H
-#define FILTERBANK_MEL_H
+#ifndef _AUBIO_FILTERBANK_MEL_H
+#define _AUBIO_FILTERBANK_MEL_H
#ifdef __cplusplus
extern "C"
}
#endif
-#endif // FILTERBANK_MEL_H
+#endif /* _AUBIO_FILTERBANK_MEL_H */
/*
- Copyright (C) 2007-2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2007-2013 Paul Brossier <piem@aubio.org>
and Amaury Hazan <ahazan@iua.upf.edu>
This file is part of aubio.
*/
-#ifndef MFCC_H
-#define MFCC_H
+#ifndef _AUBIO_MFCC_H
+#define _AUBIO_MFCC_H
#ifdef __cplusplus
extern "C"
}
#endif
-#endif // MFCC_H
+#endif /* _AUBIO_MFCC_H */
/*
- Copyright (C) 2003-2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2003-2013 Paul Brossier <piem@aubio.org>
This file is part of aubio.
*/
-#ifndef _PHASEVOC_H
-#define _PHASEVOC_H
+#ifndef _AUBIO_PHASEVOC_H
+#define _AUBIO_PHASEVOC_H
#ifdef __cplusplus
extern "C" {
}
#endif
-#endif
+#endif /* _AUBIO_PHASEVOC_H */
/*
- Copyright (C) 2003-2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2003-2013 Paul Brossier <piem@aubio.org>
This file is part of aubio.
*/
/** \file
-
+
Spectral description functions
-
+
All of the following spectral description functions take as arguments the FFT
of a windowed signal (as created with aubio_pvoc). They output one smpl_t per
buffer (stored in a vector of size [1]).
-
+
\section specdesc Spectral description functions
A list of the spectral description methods currently available follows.
These functions are designed to raise at notes attacks in music signals.
- \b \p energy : Energy based onset detection function
-
+ \b \p energy : Energy based onset detection function
+
This function calculates the local energy of the input spectral frame.
-
+
\b \p hfc : 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.
- \b \p complex : Complex Domain Method onset detection function
-
+ \b \p complex : 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.
- \b \p phase : Phase Based Method onset detection function
+ \b \p phase : 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.
- \b \p specdiff : Spectral difference method onset detection function
+ \b \p specdiff : 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.
- \b \p kl : Kullback-Liebler onset detection function
-
+ \b \p kl : 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.
- \b \p mkl : Modified Kullback-Liebler onset detection function
+ \b \p mkl : 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.
- \b \p specflux : Spectral Flux
+ \b \p specflux : Spectral Flux
Simon Dixon, Onset Detection Revisited, in ``Proceedings of the 9th
International Conference on Digital Audio Effects'' (DAFx-06), Montreal,
- Canada, 2006.
+ Canada, 2006.
\subsection shapedesc Spectral shape descriptors
Project Report 2004 (<a
href="http://www.ircam.fr/anasyn/peeters/ARTICLES/Peeters_2003_cuidadoaudiofeatures.pdf">pdf</a>)
- \b \p centroid : Spectral centroid
+ \b \p centroid : Spectral centroid
The spectral centroid represents the barycenter of the spectrum.
\e Note: This function returns the result in bin. To get the spectral
- centroid in Hz, aubio_bintofreq() should be used.
+ centroid in Hz, aubio_bintofreq() should be used.
- \b \p spread : Spectral spread
+ \b \p spread : Spectral spread
The spectral spread is the variance of the spectral distribution around its
centroid.
See also <a href="http://en.wikipedia.org/wiki/Kurtosis">Kurtosis</a> on
Wikipedia.
- \b \p slope : Spectral slope
+ \b \p slope : Spectral slope
The spectral slope represents decreasing rate of the spectral amplitude,
computed using a linear regression.
\b \p decrease : Spectral decrease
- The spectral decrease is another representation of the decreasing rate,
+ The spectral decrease is another representation of the decreasing rate,
based on perceptual criteria.
\b \p rolloff : Spectral roll-off
*/
-#ifndef ONSETDETECTION_H
-#define ONSETDETECTION_H
+#ifndef _AUBIO_SPECDESC_H
+#define _AUBIO_SPECDESC_H
#ifdef __cplusplus
extern "C" {
/** spectral description structure */
typedef struct _aubio_specdesc_t aubio_specdesc_t;
-/** execute spectral description function on a spectral frame
+/** execute spectral description function on a spectral frame
Generic function to compute spectral detescription.
-
+
\param o spectral description object as returned by new_aubio_specdesc()
\param fftgrain input signal spectrum as computed by aubio_pvoc_do
\param desc output vector (one sample long, to send to the peak picking)
void aubio_specdesc_do (aubio_specdesc_t * o, cvec_t * fftgrain,
fvec_t * desc);
-/** creation of a spectral description object
+/** creation of a spectral description object
\param method spectral description method
\param buf_size length of the input spectrum frame
*/
aubio_specdesc_t *new_aubio_specdesc (char_t * method, uint_t buf_size);
-/** deletion of a spectral descriptor
+/** deletion of a spectral descriptor
\param o spectral descriptor object as returned by new_aubio_specdesc()
}
#endif
-#endif /* ONSETDETECTION_H */
+#endif /* _AUBIO_SPECDESC_H */
/*
- Copyright (C) 2003-2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2003-2013 Paul Brossier <piem@aubio.org>
This file is part of aubio.
*/
-#ifndef TSS_H
-#define TSS_H
+#ifndef _AUBIO_TSS_H
+#define _AUBIO_TSS_H
#ifdef __cplusplus
extern "C" {
}
#endif
-#endif /*TSS_H*/
+#endif /* _AUBIO_TSS_H */
*/
-#ifndef _AUBIO_SYNTH_SAMPLER_H
-#define _AUBIO_SYNTH_SAMPLER_H
+#ifndef _AUBIO_SAMPLER_H
+#define _AUBIO_SAMPLER_H
/** \file
}
#endif
-#endif /* _AUBIO_SYNTH_SAMPLER_H */
+#endif /* _AUBIO_SAMPLER_H */
*/
-#ifndef _AUBIO_SYNTH_WAVETABLE_H
-#define _AUBIO_SYNTH_WAVETABLE_H
+#ifndef _AUBIO_WAVETABLE_H
+#define _AUBIO_WAVETABLE_H
/** \file
}
#endif
-#endif /* _AUBIO_SYNTH_WAVETABLE_H */
+#endif /* _AUBIO_WAVETABLE_H */
/*
- Copyright (C) 2003-2009 Matthew Davies and Paul Brossier <piem@aubio.org>
+ Copyright (C) 2003-2013 Matthew Davies and Paul Brossier <piem@aubio.org>
This file is part of aubio.
\example tempo/test-beattracking.c
*/
-#ifndef BEATTRACKING_H
-#define BEATTRACKING_H
+#ifndef _AUBIO_BEATTRACKING_H
+#define _AUBIO_BEATTRACKING_H
#ifdef __cplusplus
extern "C" {
}
#endif
-#endif /* BEATTRACKING_H */
+#endif /* _AUBIO_BEATTRACKING_H */
/*
- Copyright (C) 2006-2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2006-2013 Paul Brossier <piem@aubio.org>
This file is part of aubio.
*/
-#ifndef TEMPO_H
-#define TEMPO_H
+#ifndef _AUBIO_TEMPO_H
+#define _AUBIO_TEMPO_H
#ifdef __cplusplus
extern "C" {
}
#endif
-#endif /* TEMPO_H */
+#endif /* _AUBIO_TEMPO_H */
/*
- Copyright (C) 2003-2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2003-2013 Paul Brossier <piem@aubio.org>
This file is part of aubio.
*/
-#ifndef _ADESIGN_H
-#define _ADESIGN_H
+#ifndef _AUBIO_FILTER_A_DESIGN_H
+#define _AUBIO_FILTER_A_DESIGN_H
/** \file
}
#endif
-#endif /* _ADESIGN_H */
+#endif /* _AUBIO_FILTER_A_DESIGN_H */
/*
- Copyright (C) 2003-2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2003-2013 Paul Brossier <piem@aubio.org>
This file is part of aubio.
*/
-#ifndef BIQUAD_H
-#define BIQUAD_H
+#ifndef _AUBIO_FILTER_BIQUAD_H
+#define _AUBIO_FILTER_BIQUAD_H
/** \file
}
#endif
-#endif /*BIQUAD_H*/
+#endif /* _AUBIO_FILTER_BIQUAD_H */
/*
- Copyright (C) 2003-2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2003-2013 Paul Brossier <piem@aubio.org>
This file is part of aubio.
*/
-#ifndef _CDESIGN_H
-#define _CDESIGN_H
+#ifndef _AUBIO_FILTER_C_DESIGN_H
+#define _AUBIO_FILTER_C_DESIGN_H
/** \file
}
#endif
-#endif /* _CDESIGN_H */
+#endif /* _AUBIO_FILTER_C_DESIGN_H */
/*
- Copyright (C) 2003-2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2003-2013 Paul Brossier <piem@aubio.org>
This file is part of aubio.
*/
-#ifndef FILTER_H
-#define FILTER_H
+#ifndef _AUBIO_FILTER_H
+#define _AUBIO_FILTER_H
/** \file
}
#endif
-#endif /*FILTER_H*/
+#endif /* _AUBIO_FILTER_H */
/*
- Copyright (C) 2003-2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2003-2013 Paul Brossier <piem@aubio.org>
This file is part of aubio.
*/
-#ifndef _RESAMPLE_H
-#define _RESAMPLE_H
+#ifndef _AUBIO_RESAMPLER_H
+#define _AUBIO_RESAMPLER_H
/** \file
}
#endif
-#endif /* _RESAMPLE_H */
+#endif /* _AUBIO_RESAMPLER_H */
/*
- Copyright (C) 2003-2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2003-2013 Paul Brossier <piem@aubio.org>
This file is part of aubio.
*/
-#ifndef AUBIO_TYPES_H
-#define AUBIO_TYPES_H
+#ifndef _AUBIO__TYPES_H
+#define _AUBIO__TYPES_H
/** \file
}
#endif
-#endif/*AUBIO_TYPES_H*/
+#endif /* _AUBIO__TYPES_H */
/*
- Copyright (C) 2003-2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2003-2013 Paul Brossier <piem@aubio.org>
This file is part of aubio.
* Big hacks to implement an histogram
*/
-#ifndef HIST_H
-#define HIST_H
+#ifndef _AUBIO_HIST_H
+#define _AUBIO_HIST_H
#ifdef __cplusplus
extern "C" {
}
#endif
-#endif
+#endif /* _AUBIO_HIST_H */
#endif
#endif /* _AUBIO_PARAMETER_H */
-
/*
- Copyright (C) 2003-2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2003-2013 Paul Brossier <piem@aubio.org>
This file is part of aubio.
\f$ y = (x - ilow)*(ohig-olow)/(ihig-ilow) + olow \f$
*/
-#ifndef SCALE_H
-#define SCALE_H
+#ifndef _AUBIO_SCALE_H
+#define _AUBIO_SCALE_H
#ifdef __cplusplus
extern "C" {
}
#endif
-#endif
+#endif /* _AUBIO_SCALE_H */
/*
- Copyright (C) 2009 Paul Brossier <piem@aubio.org>
+ Copyright (C) 2009-2013 Paul Brossier <piem@aubio.org>
This file is part of aubio.
*/
-#ifndef _VECUTILS_H
-#define _VECUTILS_H
+#ifndef _AUBIO__VECUTILS_H
+#define _AUBIO__VECUTILS_H
#ifdef __cplusplus
extern "C" {
}
#endif
-#endif /*_VECUTILS_H*/
+#endif /* _AUBIO__VECUTILS_H */