Changes in / [5507e9d:970ef94]


Ignore:
Files:
1 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • src/mathutils.c

    r5507e9d r970ef94  
    458458}
    459459
     460smpl_t aubio_spectral_centroid(cvec_t * spectrum, smpl_t samplerate) {
     461  uint_t i=0, j;
     462  smpl_t sum = 0., sc = 0.;
     463  for ( j = 0; j < spectrum->length; j++ ) {
     464    sum += spectrum->norm[i][j];
     465  }
     466  if (sum == 0.) return 0.;
     467  for ( j = 0; j < spectrum->length; j++ ) {
     468    sc += (smpl_t)j * spectrum->norm[i][j];
     469  }
     470  return sc / sum * samplerate / (smpl_t)(spectrum->length);
     471}
     472
    460473void aubio_autocorr(fvec_t * input, fvec_t * output){
    461474        uint_t i = 0, j = 0, length = input->length;
  • src/mathutils.h

    r5507e9d r970ef94  
    209209smpl_t aubio_zero_crossing_rate(fvec_t * input);
    210210/**
     211 * spectrum centroid computed on a cvec
     212 */
     213smpl_t aubio_spectral_centroid(cvec_t * input, smpl_t samplerate);
     214/**
    211215 * clean up cached memory at the end of program
    212216 *
  • swig/aubio.i

    r5507e9d r970ef94  
    147147void aubio_autocorr(fvec_t * in, fvec_t * acf);
    148148smpl_t aubio_zero_crossing_rate(fvec_t * input);
     149smpl_t aubio_spectral_centroid(cvec_t * spectrum, smpl_t samplerate);
    149150
    150151/* scale */
Note: See TracChangeset for help on using the changeset viewer.