Changeset bf2e7a7
- Timestamp:
- Nov 4, 2009, 10:21:26 PM (15 years ago)
- 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:
- 95d3f16
- Parents:
- 31907fd
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/spectral/specdesc.h
r31907fd rbf2e7a7 21 21 /** \file 22 22 23 Onset detection functions23 Spectral description functions 24 24 25 All of the following onset detection function take as arguments the FFT of a26 windowed signal (as created with aubio_pvoc). They output one smpl_t per25 All of the following spectral description functions take as arguments the FFT 26 of a windowed signal (as created with aubio_pvoc). They output one smpl_t per 27 27 buffer and per channel (stored in a vector of size [channels]x[1]). 28 28 29 These functions were first adapted from Juan Pablo Bello's code, and now 30 include further improvements and modifications made within aubio. 29 The following spectral description methods are available: 31 30 31 \b \p energy : Energy based onset detection function 32 33 This function calculates the local energy of the input spectral frame. 34 35 \b \p hfc : High Frequency Content onset detection function 36 37 This method computes the High Frequency Content (HFC) of the input spectral 38 frame. The resulting function is efficient at detecting percussive onsets. 39 40 Paul Masri. Computer modeling of Sound for Transformation and Synthesis of 41 Musical Signal. PhD dissertation, University of Bristol, UK, 1996. 42 43 \b \p complex : Complex Domain Method onset detection function 44 45 Christopher Duxbury, Mike E. Davies, and Mark B. Sandler. Complex domain 46 onset detection for musical signals. In Proceedings of the Digital Audio 47 Effects Conference, DAFx-03, pages 90-93, London, UK, 2003. 48 49 \b \p phase : Phase Based Method onset detection function 50 51 Juan-Pablo Bello, Mike P. Davies, and Mark B. Sandler. Phase-based note onset 52 detection for music signals. In Proceedings of the IEEE International 53 Conference on Acoustics Speech and Signal Processing, pages 441444, 54 Hong-Kong, 2003. 55 56 \b \p specdiff : Spectral difference method onset detection function 57 58 Jonhatan Foote and Shingo Uchihashi. The beat spectrum: a new approach to 59 rhythm analysis. In IEEE International Conference on Multimedia and Expo 60 (ICME 2001), pages 881884, Tokyo, Japan, August 2001. 61 62 \b \p kl : Kullback-Liebler onset detection function 63 64 Stephen Hainsworth and Malcom Macleod. Onset detection in music audio 65 signals. In Proceedings of the International Computer Music Conference 66 (ICMC), Singapore, 2003. 67 68 \b \p mkl : Modified Kullback-Liebler onset detection function 69 70 Paul Brossier, ``Automatic annotation of musical audio for interactive 71 systems'', Chapter 2, Temporal segmentation, PhD thesis, Centre for Digital 72 music, Queen Mary University of London, London, UK, 2006. 73 74 \b \p specflux : Spectral Flux 75 76 Simon Dixon, Onset Detection Revisited, in ``Proceedings of the 9th 77 International Conference on Digital Audio Effects'' (DAFx-06), Montreal, 78 Canada, 2006. 79 32 80 */ 33 81 … … 40 88 #endif 41 89 42 /** onsetdetection structure */90 /** spectral description structure */ 43 91 typedef struct _aubio_specdesc_t aubio_specdesc_t; 44 /** execute onset detection function on a spectral frame45 92 46 Generic function to compute onset detection. 93 /** execute spectral description function on a spectral frame 94 95 Generic function to compute spectral detescription. 47 96 48 \param o onset detection object as returned by new_aubio_specdesc()97 \param o spectral description object as returned by new_aubio_specdesc() 49 98 \param fftgrain input signal spectrum as computed by aubio_pvoc_do 50 \param onsetoutput vector (one sample long, to send to the peak picking)99 \param desc output vector (one sample long, to send to the peak picking) 51 100 52 101 */ 53 void aubio_specdesc_do (aubio_specdesc_t * o, cvec_t * fftgrain, fvec_t * onset);54 /** creation of an onset detection object 102 void aubio_specdesc_do (aubio_specdesc_t * o, cvec_t * fftgrain, 103 fvec_t * desc); 55 104 56 \param type onset detection mode 57 \param size length of the input spectrum frame 105 /** creation of a spectral description object 106 107 \param method spectral description method 108 \param buf_size length of the input spectrum frame 58 109 \param channels number of input channels 59 110 60 111 */ 61 aubio_specdesc_t * new_aubio_specdesc(char_t * onset_mode, uint_t buf_size, uint_t channels);62 /** deletion of an onset detection object 112 aubio_specdesc_t *new_aubio_specdesc (char_t * method, uint_t buf_size, 113 uint_t channels); 63 114 64 \param o onset detection object as returned by new_aubio_specdesc() 115 /** deletion of a spectral descriptor 116 117 \param o spectral descriptor object as returned by new_aubio_specdesc() 65 118 66 119 */ 67 void del_aubio_specdesc (aubio_specdesc_t *o);120 void del_aubio_specdesc (aubio_specdesc_t * o); 68 121 69 122 #ifdef __cplusplus
Note: See TracChangeset
for help on using the changeset viewer.