From e4ec6cf645cde04c282c138eaf1ed5856d5db3b3 Mon Sep 17 00:00:00 2001 From: Sean Enderby Date: Mon, 24 Feb 2014 13:00:25 +0000 Subject: correction to xtract_spectral_inharmonicicty --- src/scalar.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/scalar.c b/src/scalar.c index 2e93934..47d3a8f 100644 --- a/src/scalar.c +++ b/src/scalar.c @@ -623,7 +623,7 @@ int xtract_rms_amplitude(const double *data, const int N, const void *argv, doub int xtract_spectral_inharmonicity(const double *data, const int N, const void *argv, double *result) { - int n = N >> 1; + int n = N >> 1, h = 0; double num = 0.0, den = 0.0, fund; const double *freqs, *amps; @@ -635,7 +635,8 @@ int xtract_spectral_inharmonicity(const double *data, const int N, const void *a { if(amps[n]) { - num += fabs(freqs[n] - n * fund) * XTRACT_SQ(amps[n]); + h = round(freqs[n] / fund); + num += fabs(freqs[n] - h * fund) * XTRACT_SQ(amps[n]); den += XTRACT_SQ(amps[n]); } } -- cgit v1.2.3