Mercurial > hg > nnls-chroma
comparison viterbi.cpp @ 164:3c731acad404
Fix some problems from the plugin tester: zero sample rate with fixed sample type outputs; mismatching parameter id ("spectralshape" in Chordino, "s" in NNLSBase -- changing this in Chordino won't break anything as it would never have worked under that name anyway); some NaN values
author | Chris Cannam |
---|---|
date | Fri, 04 Sep 2015 16:45:37 +0100 |
parents | 21181297da99 |
children |
comparison
equal
deleted
inserted
replaced
163:59b26f52550d | 164:3c731acad404 |
---|---|
18 double deltasum = 0; | 18 double deltasum = 0; |
19 | 19 |
20 /* initialise first frame */ | 20 /* initialise first frame */ |
21 for (int iState = 0; iState < nState; ++iState) { | 21 for (int iState = 0; iState < nState; ++iState) { |
22 delta[iState] = init[iState] * obs[0][iState]; | 22 delta[iState] = init[iState] * obs[0][iState]; |
23 // cerr << "init[" << iState << "] = " << init[iState] << ", obs[0][" << iState << "] = " << obs[0][iState] << endl; | |
23 deltasum += delta[iState]; | 24 deltasum += delta[iState]; |
24 } | 25 } |
25 for (int iState = 0; iState < nState; ++iState) delta[iState] /= deltasum; // normalise (scale) | 26 for (int iState = 0; iState < nState; ++iState) delta[iState] /= deltasum; // normalise (scale) |
26 scale->push_back(1.0/deltasum); | 27 scale->push_back(1.0/deltasum); |
27 psi.push_back(vector<int>(nState,0)); | 28 psi.push_back(vector<int>(nState,0)); |
29 | |
30 // cerr << "nState = " << nState << ", deltasum = " << deltasum << endl; | |
28 | 31 |
29 /* rest of the forward step */ | 32 /* rest of the forward step */ |
30 for (int iFrame = 1; iFrame < nFrame; ++iFrame) { | 33 for (int iFrame = 1; iFrame < nFrame; ++iFrame) { |
31 deltasum = 0; | 34 deltasum = 0; |
32 psi.push_back(vector<int>(nState,0)); | 35 psi.push_back(vector<int>(nState,0)); |