Changeset 6ebcb08 for src


Ignore:
Timestamp:
May 17, 2006, 9:46:09 PM (18 years ago)
Author:
Paul Brossier <piem@altern.org>
Branches:
feature/autosink, feature/cnn, feature/cnn_org, feature/constantq, feature/crepe, feature/crepe_org, feature/pitchshift, feature/pydocstrings, feature/timestretch, fix/ffmpeg5, master, pitchshift, sampler, timestretch, yinfft+
Children:
ca29f57
Parents:
2afdb0f
Message:

update onsetdetection.h docs
update onsetdetection.h docs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/onsetdetection.h

    r2afdb0f r6ebcb08  
    1818*/
    1919
    20 /** @file
    21  *
    22  * Onset detection functions
    23  *
    24  * These functions are adapted from Juan Pablo Bello matlab code.
    25  *
    26  * - all of the following onset detection function take as arguments the fft of
    27  *   a windowed signal ( be created with an aubio_pvoc).
    28  *
    29  *
    30  * (the phasevocoder implementation does implement an fftshift like)
    31  *
    32  * - they output one smpl_t per frame and per channel (stored in a fvec_t * of
    33  *   size [channels][1])
    34  *
    35  *  Some of the functions should be improved by - downsampling the input of the
    36  *  phasevocoder - oversampling the ouput
    37  *
    38  *  \todo write a generic driver (with a phase vocoder and the appropriate
    39  *  resampling)
    40  */
     20/** \file
     21 
     22  Onset detection functions
     23 
     24  All of the following onset detection function take as arguments the FFT of a
     25  windowed signal (as created with aubio_pvoc). They output one smpl_t per
     26  buffer and per channel (stored in a vector of size [channels]x[1]).
     27 
     28  These functions were first adapted from Juan Pablo Bello's code, and now
     29  include further improvements and modifications made within aubio.
     30 
     31  \todo Write a generic driver similar to pitchdetection.c, including the phase
     32  vocoder, the silence detection, and the peak picking.
     33
     34*/
    4135
    4236
     
    5549        aubio_onset_complex,        /**< complex domain */       
    5650        aubio_onset_phase,          /**< phase fast */           
    57         aubio_onset_kl,             /**< Kullback Liebler (Hainsworth et al.,  Onset detection in musical audio signals) */
    58         aubio_onset_mkl             /**< modified Kullback Liebler (Hainsworth et al.,  Onset detection in musical audio signals) */
     51        aubio_onset_kl,             /**< Kullback Liebler */
     52        aubio_onset_mkl             /**< modified Kullback Liebler */
    5953} aubio_onsetdetection_type;
    6054
     
    6256typedef struct _aubio_onsetdetection_t aubio_onsetdetection_t;
    6357/** Energy based onset detection function
    64  *
    65  * calculates the local energy profile
    66  *
    67  *      - buffer 1024
    68  *      - overlap 512
    69  */
     58 
     59  This function calculates the local energy of the input spectral frame.
     60 
     61  \param o onset detection object as returned by new_aubio_pitchfcomb
     62  \param fftgrain input spectral frame
     63  \param onset output onset detection function
     64
     65*/
    7066void aubio_onsetdetection_energy(aubio_onsetdetection_t *o, cvec_t * fftgrain, fvec_t * onset);
    7167/** High Frequency Content onset detection function
    72  *
    73  *      - buffer 1024
    74  *      - overlap 512
    75  */
     68 
     69  This method computes the High Frequency Content (HFC) of the input spectral
     70  frame. The resulting function is efficient at detecting percussive onsets.
     71
     72  Paul Masri. Computer modeling of Sound for Transformation and Synthesis of
     73  Musical Signal. PhD dissertation, University of Bristol, UK, 1996.
     74 
     75  \param o onset detection object as returned by new_aubio_pitchfcomb
     76  \param fftgrain input spectral frame
     77  \param onset output onset detection function
     78
     79*/
    7680void aubio_onsetdetection_hfc(aubio_onsetdetection_t *o, cvec_t * fftgrain, fvec_t * onset);
    7781/** Complex Domain Method onset detection function
    78  *
    79  *      From C. Duxbury & J. Pablo Bello
    80  *             
    81  *      - buffer 512
    82  *      - overlap 128
    83  *      - dowfact 8
    84  *      - interpfact 2
    85  */
     82 
     83  Christopher Duxbury, Mike E. Davies, and Mark B. Sandler. Complex domain
     84  onset detection for musical signals. In Proceedings of the Digital Audio
     85  Effects Conference, DAFx-03, pages 90­93, London, UK, 2003.
     86
     87  \param o onset detection object as returned by new_aubio_pitchfcomb
     88  \param fftgrain input spectral frame
     89  \param onset output onset detection function
     90
     91*/
    8692void aubio_onsetdetection_complex(aubio_onsetdetection_t *o, cvec_t * fftgrain, fvec_t * onset);
    8793/** Phase Based Method onset detection function
    88  *
    89  *      - buffer 512
    90  *      - overlap 128
    91  *      - dowfact 8
    92  *      - interpfact 2
    93  */
     94
     95  Juan-Pablo Bello, Mike P. Davies, and Mark B. Sandler. Phase-based note onset
     96  detection for music signals. In Proceedings of the IEEE International
     97  Conference on Acoustics Speech and Signal Processing, pages 441­444,
     98  Hong-Kong, 2003.
     99
     100  \param o onset detection object as returned by new_aubio_pitchfcomb
     101  \param fftgrain input spectral frame
     102  \param onset output onset detection function
     103
     104*/
    94105void aubio_onsetdetection_phase(aubio_onsetdetection_t *o, cvec_t * fftgrain, fvec_t * onset);
    95106/** Spectral difference method onset detection function
    96  *
    97  *      - buffer 512
    98  *      - overlap 128
    99  *      - dowfact 8
    100  *      - interpfact 2
    101  */
     107
     108  Jonhatan Foote and Shingo Uchihashi. The beat spectrum: a new approach to
     109  rhythm analysis. In IEEE International Conference on Multimedia and Expo
     110  (ICME 2001), pages 881­884, Tokyo, Japan, August 2001.
     111
     112  \param o onset detection object as returned by new_aubio_pitchfcomb
     113  \param fftgrain input spectral frame
     114  \param onset output onset detection function
     115
     116*/
    102117void aubio_onsetdetection_specdiff(aubio_onsetdetection_t *o, cvec_t * fftgrain, fvec_t * onset);
    103 /** Kullback-Liebler onset detection function */
     118/** Kullback-Liebler onset detection function
     119 
     120  Stephen Hainsworth and Malcom Macleod. Onset detection in music audio
     121  signals. In Proceedings of the International Computer Music Conference
     122  (ICMC), Singapore, 2003.
     123 
     124  \param o onset detection object as returned by new_aubio_pitchfcomb
     125  \param fftgrain input spectral frame
     126  \param onset output onset detection function
     127
     128*/
    104129void aubio_onsetdetection_kl(aubio_onsetdetection_t *o, cvec_t * fftgrain, fvec_t * onset);
    105 /** Modified Kullback-Liebler onset detection function */
     130/** Modified Kullback-Liebler onset detection function
     131
     132  Paul Brossier, ``Automatic annotation of musical audio for interactive
     133  systems'', Chapter 2, Temporal segmentation, PhD thesis, Centre for Digital
     134  music, Queen Mary University of London, London, UK, 2003.
     135
     136  \param o onset detection object as returned by new_aubio_pitchfcomb
     137  \param fftgrain input spectral frame
     138  \param onset output onset detection function
     139
     140*/
    106141void aubio_onsetdetection_mkl(aubio_onsetdetection_t *o, cvec_t * fftgrain, fvec_t * onset);
    107 /** Generic function pointing to the choosen one */
     142/** execute onset detection function on a spectral frame
     143
     144  Generic function to compute onset detection.
     145 
     146  \param o onset detection object as returned by new_aubio_onsetdetection
     147  \param fftgrain input signal spectrum as computed by aubio_pvoc_do
     148  \param onset output vector (one sample long, to send to the peak picking)
     149
     150*/
    108151void aubio_onsetdetection(aubio_onsetdetection_t *o, cvec_t * fftgrain, fvec_t * onset);
    109 /** Allocate memory for an onset detection */
     152/** creation of an onset detection object
     153
     154  \param type onset detection mode
     155  \param size length of the input spectrum frame
     156  \param channels number of input channels
     157
     158*/
    110159aubio_onsetdetection_t * new_aubio_onsetdetection(aubio_onsetdetection_type type, uint_t size, uint_t channels);
    111 /** Free memory for an onset detection */
     160/** deletion of an onset detection object
     161
     162  \param o onset detection object as returned by new_aubio_pitchfcomb
     163
     164*/
    112165void aubio_onsetdetection_free(aubio_onsetdetection_t *o);
    113166
Note: See TracChangeset for help on using the changeset viewer.