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;
--
⑨