Mercurial > hg > pyin
changeset 109:d76426bcac29 tony
deleted some comment lines
author | matthiasm |
---|---|
date | Mon, 26 Jan 2015 17:03:18 +0000 |
parents | 1f3d0f7c9c04 |
children | 282a28b641eb |
files | LocalCandidatePYIN.cpp |
diffstat | 1 files changed, 14 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/LocalCandidatePYIN.cpp Wed Dec 03 14:50:08 2014 +0000 +++ b/LocalCandidatePYIN.cpp Mon Jan 26 17:03:18 2015 +0000 @@ -323,7 +323,6 @@ m_inputSampleRate * (1.0 / YinUtil::parabolicInterpolation(yinBuffer, iBuf, yinBufferSize)); double tempPitch = 12 * std::log(currentF0/440)/std::log(2.) + 69; - if (tempPitch != tempPitch) std::cerr << "AAAAAAAAA! " << currentF0 << " " << (m_inputSampleRate * 1.0 / iBuf) << std::endl; tempPitchProb.push_back(pair<double, double>(tempPitch, peakProbability[iBuf])); } } @@ -363,39 +362,39 @@ pitchTracks.push_back(vector<float>(nFrame)); vector<vector<pair<double,double> > > tempPitchProb; float centrePitch = 45 + 3 * iCandidate; + for (size_t iFrame = 0; iFrame < nFrame; ++iFrame) { tempPitchProb.push_back(vector<pair<double,double> >()); float sumProb = 0; float pitch = 0; float prob = 0; - for (size_t iProb = 0; iProb < m_pitchProb[iFrame].size(); ++iProb) { - pitch = m_pitchProb[iFrame][iProb].first; - // std::cerr << pitch << " " << m_pitchProb[iFrame][iProb].second << std::endl; - prob = m_pitchProb[iFrame][iProb].second * boost::math::pdf(normalDist, pitch-centrePitch) / maxNormalDist * 2; + for (size_t iProb = 0; iProb < m_pitchProb[iFrame].size(); ++iProb) + { + pitch = m_pitchProb[iFrame][iProb].first; + prob = m_pitchProb[iFrame][iProb].second * + boost::math::pdf(normalDist, pitch-centrePitch) / + maxNormalDist * 2; sumProb += prob; - tempPitchProb[iFrame].push_back(pair<double,double>(pitch,prob)); - // std::cerr << m_timestamp[iFrame] << " " << iCandidate << " " << centrePitch << " " << pitch << " " << prob << std::endl; + tempPitchProb[iFrame].push_back( + pair<double,double>(pitch,prob)); } - for (size_t iProb = 0; iProb < m_pitchProb[iFrame].size(); ++iProb) { + for (size_t iProb = 0; iProb < m_pitchProb[iFrame].size(); ++iProb) + { tempPitchProb[iFrame][iProb].second /= sumProb; } } + vector<float> mpOut = mp.process(tempPitchProb); float prevFreq = 0; for (size_t iFrame = 0; iFrame < nFrame; ++iFrame) { if (mpOut[iFrame] > 0) { - // if (prevFreq>0 && fabs(log2(mpOut[iFrame]/prevFreq)) > 0.1) { - // for (int jFrame = iFrame; jFrame != -1; --jFrame) { - // // hack: setting all freqs to 0 -- will be eliminated later - // pitchTracks[iCandidate][jFrame] = 0; - // } - // break; - // } + pitchTracks[iCandidate][iFrame] = mpOut[iFrame]; freqSum[iCandidate] += mpOut[iFrame]; freqNumber[iCandidate]++; prevFreq = mpOut[iFrame]; + } } freqMean[iCandidate] = freqSum[iCandidate]*1.0/freqNumber[iCandidate];