diff viterbi.cpp @ 119:c4d1208e5ea9 monophonicness

tidying up a bit
author Matthias Mauch <mail@matthiasmauch.net>
date Thu, 31 Mar 2011 14:59:11 +0100
parents bf894897436d
children 7a8956e903e1
line wrap: on
line diff
--- a/viterbi.cpp	Thu Mar 31 14:55:28 2011 +0100
+++ b/viterbi.cpp	Thu Mar 31 14:59:11 2011 +0100
@@ -6,22 +6,18 @@
     
     int nState = init.size();
     int nFrame = obs.size();
-    // cerr << nState << " " << nFrame << endl;
     
     // check for consistency
     if (trans[0].size() != nState || trans.size() != nState || obs[0].size() != nState) {
         cerr << "ERROR: matrix sizes inconsistent." << endl;
     }
-        
-    // vector<vector<double> > delta; // "matrix" of conditional probabilities    
+
     vector<vector<int> > psi; //  "matrix" of remembered indices of the best transitions
     vector<int> path = vector<int>(nFrame, nState-1); // the final output path (current assignment arbitrary, makes sense only for Chordino, where nChord-1 is the "no chord" label)
-    // vector<double> scale = vector<double>(nFrame, 0); // remembers by how much the vectors in delta are scaled.
     
     double deltasum = 0;
     
     /* initialise first frame */
-    // delta.push_back(init);    
     for (int iState = 0; iState < nState; ++iState) {
         delta[iState] = init[iState] * obs[0][iState];
         deltasum += delta[iState];
@@ -32,10 +28,9 @@
     
     /* rest of the forward step */
     for (int iFrame = 1; iFrame < nFrame; ++iFrame) {
-        // delta.push_back(vector<double>(nState,0));
         deltasum = 0;
         psi.push_back(vector<int>(nState,0));
-        /* every state wants to know which previous state suits him best */
+        /* every state wants to know which previous state suits it best */
         for (int jState = 0; jState < nState; ++jState) {            
             int bestState = nState - 1;
             double bestValue = 0;
@@ -48,7 +43,7 @@
                     }
                 }
             }
-            // cerr << bestState <<" ::: " << bestValue << endl ;
+
             delta[iFrame * nState + jState] = bestValue * obs[iFrame][jState];
             deltasum += delta[iFrame * nState + jState];
             psi[iFrame][jState] = bestState;
@@ -80,7 +75,6 @@
     /* rest of backward step */
     for (int iFrame = nFrame-2; iFrame > -1; --iFrame) {
         path[iFrame] = psi[iFrame+1][path[iFrame+1]];
-        // cerr << path[iFrame] << endl;
     }    
     
     return path;