Revision 5:383c5b497f4a

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) {
CepstrumPitchTracker.h
69 69
    float m_fmin;
70 70
    float m_fmax;
71 71
    int m_histlen;
72
    int m_vflen;
72 73

  
73 74
    int m_binFrom;
74 75
    int m_binTo;

Also available in: Unified diff