Changeset 1651b58
- Timestamp:
- Nov 4, 2009, 10:24:06 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:
- 7893149
- Parents:
- 95d3f16
- Location:
- src
- Files:
-
- 1 added
- 2 deleted
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Makefile.am
r95d3f16 r1651b58 24 24 spectral/tss.h \ 25 25 spectral/specdesc.h \ 26 spectral/spectral_centroid.h \27 26 pitch/pitch.h \ 28 27 pitch/pitchmcomb.h \ … … 58 57 spectral/fft.c \ 59 58 spectral/tss.c \ 60 spectral/spectral_centroid.c \ 59 spectral/specdesc.c \ 60 spectral/statistics.c \ 61 61 pitch/pitch.c \ 62 62 pitch/pitchmcomb.c \ … … 66 66 pitch/pitchyinfft.c \ 67 67 onset/onset.c \ 68 onset/onsetdetection.c \69 68 onset/peakpick.c \ 70 69 tempo/tempo.c \ -
src/aubio.h
r95d3f16 r1651b58 184 184 #include "pitch/pitchschmitt.h" 185 185 #include "pitch/pitchfcomb.h" 186 #include "spectral/spectral_centroid.h"187 186 #include "onset/peakpick.h" 188 187 #include "tempo/beattracking.h" -
src/spectral/specdesc.c
r95d3f16 r1651b58 27 27 #include "utils/hist.h" 28 28 29 /** Energy based onset detection function30 31 This function calculates the local energy of the input spectral frame.32 33 \param o onset detection object as returned by new_aubio_specdesc()34 \param fftgrain input spectral frame35 \param onset output onset detection function36 37 */38 29 void aubio_specdesc_energy(aubio_specdesc_t *o, cvec_t * fftgrain, fvec_t * onset); 39 /** High Frequency Content onset detection function40 41 This method computes the High Frequency Content (HFC) of the input spectral42 frame. The resulting function is efficient at detecting percussive onsets.43 44 Paul Masri. Computer modeling of Sound for Transformation and Synthesis of45 Musical Signal. PhD dissertation, University of Bristol, UK, 1996.46 47 \param o onset detection object as returned by new_aubio_specdesc()48 \param fftgrain input spectral frame49 \param onset output onset detection function50 51 */52 30 void aubio_specdesc_hfc(aubio_specdesc_t *o, cvec_t * fftgrain, fvec_t * onset); 53 /** Complex Domain Method onset detection function54 55 Christopher Duxbury, Mike E. Davies, and Mark B. Sandler. Complex domain56 onset detection for musical signals. In Proceedings of the Digital Audio57 Effects Conference, DAFx-03, pages 90-93, London, UK, 2003.58 59 \param o onset detection object as returned by new_aubio_specdesc()60 \param fftgrain input spectral frame61 \param onset output onset detection function62 63 */64 31 void aubio_specdesc_complex(aubio_specdesc_t *o, cvec_t * fftgrain, fvec_t * onset); 65 /** Phase Based Method onset detection function66 67 Juan-Pablo Bello, Mike P. Davies, and Mark B. Sandler. Phase-based note onset68 detection for music signals. In Proceedings of the IEEE International69 Conference on Acoustics Speech and Signal Processing, pages 441444,70 Hong-Kong, 2003.71 72 \param o onset detection object as returned by new_aubio_specdesc()73 \param fftgrain input spectral frame74 \param onset output onset detection function75 76 */77 32 void aubio_specdesc_phase(aubio_specdesc_t *o, cvec_t * fftgrain, fvec_t * onset); 78 /** Spectral difference method onset detection function79 80 Jonhatan Foote and Shingo Uchihashi. The beat spectrum: a new approach to81 rhythm analysis. In IEEE International Conference on Multimedia and Expo82 (ICME 2001), pages 881884, Tokyo, Japan, August 2001.83 84 \param o onset detection object as returned by new_aubio_specdesc()85 \param fftgrain input spectral frame86 \param onset output onset detection function87 88 */89 33 void aubio_specdesc_specdiff(aubio_specdesc_t *o, cvec_t * fftgrain, fvec_t * onset); 90 /** Kullback-Liebler onset detection function91 92 Stephen Hainsworth and Malcom Macleod. Onset detection in music audio93 signals. In Proceedings of the International Computer Music Conference94 (ICMC), Singapore, 2003.95 96 \param o onset detection object as returned by new_aubio_specdesc()97 \param fftgrain input spectral frame98 \param onset output onset detection function99 100 */101 34 void aubio_specdesc_kl(aubio_specdesc_t *o, cvec_t * fftgrain, fvec_t * onset); 102 /** Modified Kullback-Liebler onset detection function103 104 Paul Brossier, ``Automatic annotation of musical audio for interactive105 systems'', Chapter 2, Temporal segmentation, PhD thesis, Centre for Digital106 music, Queen Mary University of London, London, UK, 2006.107 108 \param o onset detection object as returned by new_aubio_specdesc()109 \param fftgrain input spectral frame110 \param onset output onset detection function111 112 */113 35 void aubio_specdesc_mkl(aubio_specdesc_t *o, cvec_t * fftgrain, fvec_t * onset); 114 /** Spectral Flux115 116 Simon Dixon, Onset Detection Revisited, in ``Proceedings of the 9th117 International Conference on Digital Audio Effects'' (DAFx-06), Montreal,118 Canada, 2006.119 120 \param o onset detection object as returned by new_aubio_specdesc()121 \param fftgrain input spectral frame122 \param onset output onset detection function123 124 */125 36 void aubio_specdesc_specflux(aubio_specdesc_t *o, cvec_t * fftgrain, fvec_t * onset); 37 38 extern void aubio_specdesc_centroid (aubio_specdesc_t * o, cvec_t * spec, 39 fvec_t * desc); 40 extern void aubio_specdesc_spread (aubio_specdesc_t * o, cvec_t * spec, 41 fvec_t * desc); 42 extern void aubio_specdesc_skewness (aubio_specdesc_t * o, cvec_t * spec, 43 fvec_t * desc); 44 extern void aubio_specdesc_kurtosis (aubio_specdesc_t * o, cvec_t * spec, 45 fvec_t * desc); 46 extern void aubio_specdesc_slope (aubio_specdesc_t * o, cvec_t * spec, 47 fvec_t * desc); 48 extern void aubio_specdesc_decrease (aubio_specdesc_t * o, cvec_t * spec, 49 fvec_t * desc); 50 extern void aubio_specdesc_rolloff (aubio_specdesc_t * o, cvec_t * spec, 51 fvec_t * desc); 126 52 127 53 /** onsetdetection types */ … … 135 61 aubio_onset_mkl, /**< modified Kullback Liebler */ 136 62 aubio_onset_specflux, /**< spectral flux */ 63 aubio_specmethod_centroid, /**< spectral centroid */ 64 aubio_specmethod_spread, /**< spectral spread */ 65 aubio_specmethod_skewness, /**< spectral skewness */ 66 aubio_specmethod_kurtosis, /**< spectral kurtosis */ 67 aubio_specmethod_slope, /**< spectral kurtosis */ 68 aubio_specmethod_decrease, /**< spectral decrease */ 69 aubio_specmethod_rolloff, /**< spectral rolloff */ 137 70 aubio_onset_default = aubio_onset_hfc, /**< default mode, set to hfc */ 138 71 } aubio_specdesc_type; … … 342 275 else if (strcmp (onset_mode, "specflux") == 0) 343 276 onset_type = aubio_onset_specflux; 277 else if (strcmp (onset_mode, "centroid") == 0) 278 onset_type = aubio_specmethod_centroid; 279 else if (strcmp (onset_mode, "spread") == 0) 280 onset_type = aubio_specmethod_spread; 281 else if (strcmp (onset_mode, "skewness") == 0) 282 onset_type = aubio_specmethod_skewness; 283 else if (strcmp (onset_mode, "kurtosis") == 0) 284 onset_type = aubio_specmethod_kurtosis; 285 else if (strcmp (onset_mode, "slope") == 0) 286 onset_type = aubio_specmethod_slope; 287 else if (strcmp (onset_mode, "decrease") == 0) 288 onset_type = aubio_specmethod_decrease; 289 else if (strcmp (onset_mode, "rolloff") == 0) 290 onset_type = aubio_specmethod_rolloff; 344 291 else if (strcmp (onset_mode, "default") == 0) 345 292 onset_type = aubio_onset_default; 346 293 else { 347 AUBIO_ERR("unknown onset type.\n");294 AUBIO_ERR("unknown spectral descriptor type %s.\n", onset_mode); 348 295 onset_type = aubio_onset_default; 349 296 } … … 412 359 o->funcpointer = aubio_specdesc_specflux; 413 360 break; 361 // for for the additional descriptors. these don't need additional memory 362 case aubio_specmethod_centroid: 363 o->funcpointer = aubio_specdesc_centroid; 364 break; 365 case aubio_specmethod_spread: 366 o->funcpointer = aubio_specdesc_spread; 367 break; 368 case aubio_specmethod_skewness: 369 o->funcpointer = aubio_specdesc_skewness; 370 break; 371 case aubio_specmethod_kurtosis: 372 o->funcpointer = aubio_specdesc_kurtosis; 373 break; 374 case aubio_specmethod_slope: 375 o->funcpointer = aubio_specdesc_slope; 376 break; 377 case aubio_specmethod_decrease: 378 o->funcpointer = aubio_specdesc_decrease; 379 break; 380 case aubio_specmethod_rolloff: 381 o->funcpointer = aubio_specdesc_rolloff; 382 break; 414 383 default: 415 384 break;
Note: See TracChangeset
for help on using the changeset viewer.