From: Steinar H. Gunderson Date: Fri, 28 Apr 2006 12:08:14 +0000 (+0000) Subject: Fix an off-by-one in the undertone detection. X-Git-Url: https://git.sesse.net/?p=pitch;a=commitdiff_plain;h=1a261eee89e163b53a334eeb57850f16d476c2df Fix an off-by-one in the undertone detection. --- diff --git a/pitch.cpp b/pitch.cpp index 8aff148..91afda5 100644 --- a/pitch.cpp +++ b/pitch.cpp @@ -225,9 +225,9 @@ std::pair find_peak(double *in, unsigned num_samples) best_bin /= i; // consider sliding one bin up or down - if (best_bin > 0 && in[best_bin - 1] > in[best_bin] && in[best_bin - 1] > in[best_bin - 2]) { + if (best_bin > 1 && in[best_bin - 1] > in[best_bin] && in[best_bin - 1] > in[best_bin - 2]) { --best_bin; - } else if (best_bin < num_samples / 2 && in[best_bin + 1] > in[best_bin] && in[best_bin + 1] > in[best_bin + 2]) { + } else if (best_bin < num_samples / 2 - 1 && in[best_bin + 1] > in[best_bin] && in[best_bin + 1] > in[best_bin + 2]) { ++best_bin; }