Mercurial > hg > tipic
changeset 16:68fe8789b7ef
Comment
author | Chris Cannam |
---|---|
date | Tue, 18 Aug 2015 11:13:38 +0100 |
parents | 368bb5a1b4bf |
children | a8ca8a90257c |
files | src/PitchFilterbank.cpp |
diffstat | 1 files changed, 7 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/PitchFilterbank.cpp Mon Aug 17 15:51:13 2015 +0100 +++ b/src/PitchFilterbank.cpp Tue Aug 18 11:13:38 2015 +0100 @@ -118,6 +118,12 @@ unsigned int minReq = n; if (drain) minReq = hop; + //!!! strictly, we don't actually need to store the + //!!! filtered outputs since our overlapped windows are + //!!! not shaped -- each one is the sum of two half-size + //!!! windows, so we can just push the energies of those + //!!! directly. that's a TODO + while (m_filtered[i].size() >= minReq) { double energy = calculateEnergy(m_filtered[i], n, factor); m_energies[i].push_back(energy); @@ -216,7 +222,7 @@ vector<int> m_toCompensate; // latency remaining at start, per filter vector<RealSequence> m_filtered; vector<deque<double>> m_energies; - + Resampler *resamplerFor(int filterIndex) { int rate = filterRate(filterIndex); if (m_resamplers.find(rate) == m_resamplers.end()) {