Revision 5:383c5b497f4a CepstrumPitchTracker.cpp

View differences:

CepstrumPitchTracker.cpp
38 38
    m_blockSize(1024),
39 39
    m_fmin(50),
40 40
    m_fmax(1000),
41
    m_histlen(3),
41
    m_histlen(1),
42
    m_vflen(3),
42 43
    m_binFrom(0),
43 44
    m_binTo(0),
44 45
    m_bins(0),
......
246 247
    }
247 248

  
248 249
    for (int i = 0; i < m_bins; ++i) {
249
        m_history[hix][i] = cep[i + m_binFrom];
250
        double v = 0;
251
        int n = 0;
252
        // average according to the vertical filter length
253
        for (int j = -m_vflen/2; j <= m_vflen/2; ++j) {
254
            int ix = i + m_binFrom + j;
255
            if (ix >= 0 && ix < m_blockSize) {
256
                v += cep[ix];
257
                ++n;
258
            }
259
        }
260
        m_history[hix][i] = v / n;
250 261
    }
251 262

  
252 263
    for (int i = 0; i < m_bins; ++i) {

Also available in: Unified diff