*/}}
Browse Source

Fix C4 pitch

YimingWu 1 year ago
parent
commit
8a1cc084fd
1 changed files with 5 additions and 5 deletions
  1. 5 5
      la_audio.c

+ 5 - 5
la_audio.c

@@ -428,20 +428,20 @@ int IDN_QuantizeVisit(laSynthNodeQuantize* n, laNodeVisitInfo* vi){
     LA_ADD_THIS_NODE(n,vi);
     return LA_DAG_FLAG_PERM;
 }
-static const real QTABLE[12]={ VAL13, VAL13+VALHALF, VAL13+VALHALF*2, VAL13+VALHALF*3,
-    VAL13+VALHALF*4, VAL13+VALHALF*5, VAL13+VALHALF*6, VAL13+VALHALF*7,
-    VAL13+VALHALF*8, VAL13+VALHALF*9, VAL13+VALHALF*10, VAL13+VALHALF*11 };
+static const real QTABLE[12]={ VAL13-VALHALF*9, VAL13-VALHALF*8, VAL13-VALHALF*7, VAL13-VALHALF*6,
+    VAL13-VALHALF*5, VAL13-VALHALF*4, VAL13-VALHALF*3, VAL13-VALHALF*2,
+    VAL13-VALHALF*1, VAL13, VAL13+VALHALF*1, VAL13+VALHALF*2 };
 static void set_quantize_out_bit(laSynthNodeQuantize* n, int which){
     for(int i=0;i<12;i++){
         if(n->EnabledBits[i]){ n->EnabledBits[i]=1; }
         if(i==which && n->EnabledBits){ n->EnabledBits[i]=3; }
     }
 }
-int IDN_QuantizeEval(laSynthNodeQuantize* n){ real cv0=VAL440; LA_GET_SRC_AS_VALUE(cv0, n->In);
+int IDN_QuantizeEval(laSynthNodeQuantize* n){ real cv0=QTABLE[0]+5; /*C4*/ LA_GET_SRC_AS_VALUE(cv0, n->In);
     real* cv; INPUTPACKET(cv,n->In); real dists[12];
     for(int i=0;i<LA_SYNTH_PLEN;i++){
+        int octave = (int)(cv0-QTABLE[0]); int minkey=0;
         if(cv){ cv0=cv[i]; }
-        int octave = (int)(cv0-VAL13); int minkey=0;
         real use_cv = cv0 - octave;
         for(int j=0;j<12;j++){ dists[j] = fabs(use_cv - QTABLE[j]); }
         for(int j=1;j<12;j++){ if(n->EnabledBits[j] && dists[j] < dists[minkey]){ minkey=j; } }