diff MonoNoteHMM.cpp @ 91:854d9403c5be

note separation based on RMS
author matthiasm
date Wed, 07 Jan 2015 16:30:16 +0000
parents b087967c4417
children 2687ba2cafae
line wrap: on
line diff
--- a/MonoNoteHMM.cpp	Wed Jan 07 15:22:03 2015 +0000
+++ b/MonoNoteHMM.cpp	Wed Jan 07 16:30:16 2015 +0000
@@ -49,7 +49,7 @@
     double tempProbSum = 0;
     for (size_t i = 0; i < par.n; ++i)
     {
-        if (i % 4 != 2)
+        if (i % par.nSPP != 2)
         {
             // std::cerr << getMidiPitch(i) << std::endl;
             double tempProb = 0;
@@ -81,7 +81,7 @@
     
     for (size_t i = 0; i < par.n; ++i)
     {
-        if (i % 4 != 2)
+        if (i % par.nSPP != 2)
         {
             if (tempProbSum > 0) 
             {
@@ -103,16 +103,15 @@
     //    0. attack state
     //    1. stable state
     //    2. silent state
-    //    3. inter state
-    // 4-6. second-lowest pitch
-    //    4. attack state
+    // 3-5. second-lowest pitch
+    //    3. attack state
     //    ...
     
     // observation distributions
     for (size_t iState = 0; iState < par.n; ++iState)
     {
         pitchDistr.push_back(boost::math::normal(0,1));
-        if (iState % 4 == 2)
+        if (iState % par.nSPP == 2)
         {
             // silent state starts tracking
             init.push_back(1.0/(par.nS * par.nPPS));
@@ -156,9 +155,9 @@
         to.push_back(index+2); // to silent
         transProb.push_back(par.pStable2Silent);
 
-        from.push_back(index+1);
-        to.push_back(index+3); // to inter-note
-        transProb.push_back(1-par.pStableSelftrans-par.pStable2Silent);
+        // from.push_back(index+1);
+        // to.push_back(index+3); // to inter-note
+        // transProb.push_back(1-par.pStableSelftrans-par.pStable2Silent);
 
         // the "easy" transitions from silent state
         from.push_back(index+2);