shithub: aubio

Download patch

ref: 1d4fc4a1aca4ffd957827d557776b23526e340a0
parent: 2e2bfff56995f800c35fec1f631ae74901ac7351
author: Paul Brossier <piem@altern.org>
date: Tue Mar 21 13:03:37 EST 2006

add windowing, correct phase interpolation
add windowing, correct phase interpolation


--- a/src/pitchfcomb.c
+++ b/src/pitchfcomb.c
@@ -83,7 +83,7 @@
   for (k=0; k < input->length; k++){
 	  p->winput->data[0][k] = p->win->data[0][k] * input->data[0][k];
   }
-  aubio_mfft_do(p->fft,input,p->fftOut);
+  aubio_mfft_do(p->fft,p->winput,p->fftOut);
 
   for (k=0; k<=p->fftSize/2; k++) {
     smpl_t
@@ -99,10 +99,10 @@
     tmp -= (smpl_t)k*phaseDifference;
 
     /* map delta phase into +/- Pi interval */
-    tmp = aubio_unwrap2pi(tmp) + PI;
+    tmp = aubio_unwrap2pi(tmp);
 
     /* get deviation from bin frequency from the +/- Pi interval */
-    tmp = p->stepSize/(smpl_t)p->fftSize*tmp/(TWO_PI);
+    tmp = p->fftSize/(smpl_t)p->stepSize*tmp/(TWO_PI);
 
     /* compute the k-th partials' true frequency */
     freq = (smpl_t)k*freqPerBin + tmp*freqPerBin;
--