From e018b6f1521abcf6c971130c2b4108fbdfd3df0a Mon Sep 17 00:00:00 2001
From: Jean-Marc Valin <jmvalin@jmvalin.ca>
Date: Sun, 24 Jun 2018 03:48:51 -0400
Subject: [PATCH] cleanup

---
 dnn/celt_lpc.c |  43 ---------------
 dnn/denoise.c  | 142 ++++++-------------------------------------------
 2 files changed, 15 insertions(+), 170 deletions(-)

diff --git a/dnn/celt_lpc.c b/dnn/celt_lpc.c
index 5d7ffa4e..49192948 100644
--- a/dnn/celt_lpc.c
+++ b/dnn/celt_lpc.c
@@ -225,28 +225,6 @@ int _celt_autocorr(
       xptr = xx;
    }
    shift=0;
-#ifdef FIXED_POINT
-   {
-      opus_val32 ac0;
-      ac0 = 1+(n<<7);
-      if (n&1) ac0 += SHR32(MULT16_16(xptr[0],xptr[0]),9);
-      for(i=(n&1);i<n;i+=2)
-      {
-         ac0 += SHR32(MULT16_16(xptr[i],xptr[i]),9);
-         ac0 += SHR32(MULT16_16(xptr[i+1],xptr[i+1]),9);
-      }
-
-      shift = celt_ilog2(ac0)-30+10;
-      shift = (shift)/2;
-      if (shift>0)
-      {
-         for(i=0;i<n;i++)
-            xx[i] = PSHR32(xptr[i], shift);
-         xptr = xx;
-      } else
-         shift = 0;
-   }
-#endif
    celt_pitch_xcorr(xptr, xptr, ac, fastN, lag+1);
    for (k=0;k<=lag;k++)
    {
@@ -254,26 +232,5 @@ int _celt_autocorr(
          d = MAC16_16(d, xptr[i], xptr[i-k]);
       ac[k] += d;
    }
-#ifdef FIXED_POINT
-   shift = 2*shift;
-   if (shift<=0)
-      ac[0] += SHL32((opus_int32)1, -shift);
-   if (ac[0] < 268435456)
-   {
-      int shift2 = 29 - EC_ILOG(ac[0]);
-      for (i=0;i<=lag;i++)
-         ac[i] = SHL32(ac[i], shift2);
-      shift -= shift2;
-   } else if (ac[0] >= 536870912)
-   {
-      int shift2=1;
-      if (ac[0] >= 1073741824)
-         shift2++;
-      for (i=0;i<=lag;i++)
-         ac[i] = SHR32(ac[i], shift2);
-      shift += shift2;
-   }
-#endif
-
    return shift;
 }
diff --git a/dnn/denoise.c b/dnn/denoise.c
index e9a29884..5ec4fcc4 100644
--- a/dnn/denoise.c
+++ b/dnn/denoise.c
@@ -504,7 +504,7 @@ float rnnoise_process_frame(DenoiseState *st, float *out, const float *in) {
 
 #if TRAINING
 
-static float uni_rand() {
+/*static float uni_rand() {
   return rand()/(double)RAND_MAX-.5;
 }
 
@@ -513,163 +513,51 @@ static void rand_resp(float *a, float *b) {
   a[1] = .75*uni_rand();
   b[0] = .75*uni_rand();
   b[1] = .75*uni_rand();
-}
+}*/
 
 int main(int argc, char **argv) {
   int i;
   int count=0;
   static const float a_hp[2] = {-1.99599, 0.99600};
   static const float b_hp[2] = {-2, 1};
-  float a_noise[2] = {0};
-  float b_noise[2] = {0};
-  float a_sig[2] = {0};
-  float b_sig[2] = {0};
   float mem_hp_x[2]={0};
-  float mem_hp_n[2]={0};
-  float mem_resp_x[2]={0};
-  float mem_resp_n[2]={0};
   float x[FRAME_SIZE];
-  float n[FRAME_SIZE];
-  float xn[FRAME_SIZE];
-  int vad_cnt=0;
-  int gain_change_count=0;
-  float speech_gain = 1, noise_gain = 1;
-  FILE *f1, *f2, *fout;
+  FILE *f1;
   DenoiseState *st;
-  DenoiseState *noise_state;
-  DenoiseState *noisy;
   st = rnnoise_create();
-  noise_state = rnnoise_create();
-  noisy = rnnoise_create();
-  if (argc!=4) {
-    fprintf(stderr, "usage: %s <speech> <noise> <output denoised>\n", argv[0]);
+  if (argc!=2) {
+    fprintf(stderr, "usage: %s <speech>\n", argv[0]);
     return 1;
   }
   f1 = fopen(argv[1], "r");
-  f2 = fopen(argv[2], "r");
-  fout = fopen(argv[3], "w");
-  for(i=0;i<150;i++) {
-    short tmp[FRAME_SIZE];
-    fread(tmp, sizeof(short), FRAME_SIZE, f2);
-  }
   while (1) {
-    kiss_fft_cpx X[FREQ_SIZE], Y[FREQ_SIZE], N[FREQ_SIZE], P[WINDOW_SIZE];
-    float Ex[NB_BANDS], Ey[NB_BANDS], En[NB_BANDS], Ep[NB_BANDS];
+    kiss_fft_cpx X[FREQ_SIZE], P[WINDOW_SIZE];
+    float Ex[NB_BANDS], Ep[NB_BANDS];
     float Exp[NB_BANDS];
     float Ln[NB_BANDS];
     float features[NB_FEATURES];
     float g[NB_BANDS];
-    float gf[FREQ_SIZE]={1};
     short tmp[FRAME_SIZE];
-    float vad=0;
-    float vad_prob;
     float E=0;
-    if (count==50000000) break;
-    if (++gain_change_count > 2821) {
-      speech_gain = pow(10., (-40+(rand()%60))/20.);
-      noise_gain = pow(10., (-30+(rand()%50))/20.);
-      if (rand()%10==0) noise_gain = 0;
-      noise_gain *= speech_gain;
-      if (rand()%10==0) speech_gain = 0;
-      gain_change_count = 0;
-      rand_resp(a_noise, b_noise);
-      rand_resp(a_sig, b_sig);
-      lowpass = FREQ_SIZE * 3000./24000. * pow(50., rand()/(double)RAND_MAX);
-      for (i=0;i<NB_BANDS;i++) {
-        if (eband5ms[i]<<FRAME_SIZE_SHIFT > lowpass) {
-          band_lp = i;
-          break;
-        }
-      }
-    }
-    if (speech_gain != 0) {
-      fread(tmp, sizeof(short), FRAME_SIZE, f1);
-      if (feof(f1)) {
-        rewind(f1);
-        fread(tmp, sizeof(short), FRAME_SIZE, f1);
-      }
-      for (i=0;i<FRAME_SIZE;i++) x[i] = speech_gain*tmp[i];
-      for (i=0;i<FRAME_SIZE;i++) E += tmp[i]*(float)tmp[i];
-    } else {
-      for (i=0;i<FRAME_SIZE;i++) x[i] = 0;
-      E = 0;
-    }
-    if (noise_gain!=0) {
-      fread(tmp, sizeof(short), FRAME_SIZE, f2);
-      if (feof(f2)) {
-        rewind(f2);
-        fread(tmp, sizeof(short), FRAME_SIZE, f2);
-      }
-      for (i=0;i<FRAME_SIZE;i++) n[i] = noise_gain*tmp[i];
-    } else {
-      for (i=0;i<FRAME_SIZE;i++) n[i] = 0;
+    fread(tmp, sizeof(short), FRAME_SIZE, f1);
+    if (feof(f1)) {
+      return 0;
     }
+    for (i=0;i<FRAME_SIZE;i++) x[i] = tmp[i];
+    for (i=0;i<FRAME_SIZE;i++) E += tmp[i]*(float)tmp[i];
     biquad(x, mem_hp_x, x, b_hp, a_hp, FRAME_SIZE);
-    biquad(x, mem_resp_x, x, b_sig, a_sig, FRAME_SIZE);
-    biquad(n, mem_hp_n, n, b_hp, a_hp, FRAME_SIZE);
-    biquad(n, mem_resp_n, n, b_noise, a_noise, FRAME_SIZE);
-    for (i=0;i<FRAME_SIZE;i++) xn[i] = x[i] + n[i];
-    if (E > 1e9f) {
-      vad_cnt=0;
-    } else if (E > 1e8f) {
-      vad_cnt -= 5;
-    } else if (E > 1e7f) {
-      vad_cnt++;
-    } else {
-      vad_cnt+=2;
-    }
-    if (vad_cnt < 0) vad_cnt = 0;
-    if (vad_cnt > 15) vad_cnt = 15;
 
-    if (vad_cnt >= 10) vad = 0;
-    else if (vad_cnt > 0) vad = 0.5f;
-    else vad = 1.f;
-
-    frame_analysis(st, Y, Ey, x);
-    frame_analysis(noise_state, N, En, n);
-    for (i=0;i<NB_BANDS;i++) Ln[i] = log10(1e-2+En[i]);
-    int silence = compute_frame_features(noisy, X, P, Ex, Ep, Exp, features, xn);
+    compute_frame_features(st, X, P, Ex, Ep, Exp, features, x);
     pitch_filter(X, P, Ex, Ep, Exp, g);
-    //printf("%f %d\n", noisy->last_gain, noisy->last_period);
-    for (i=0;i<NB_BANDS;i++) {
-      g[i] = sqrt((Ey[i]+1e-3)/(Ex[i]+1e-3));
-      if (g[i] > 1) g[i] = 1;
-      if (silence || i > band_lp) g[i] = -1;
-      if (Ey[i] < 5e-2 && Ex[i] < 5e-2) g[i] = -1;
-      if (vad==0 && noise_gain==0) g[i] = -1;
-    }
-    count++;
-#if 0
-    for (i=0;i<NB_FEATURES;i++) printf("%f ", features[i]);
-    for (i=0;i<NB_BANDS;i++) printf("%f ", g[i]);
-    for (i=0;i<NB_BANDS;i++) printf("%f ", Ln[i]);
-    printf("%f\n", vad);
-#endif
 #if 1
     fwrite(features, sizeof(float), NB_FEATURES, stdout);
     fwrite(g, sizeof(float), NB_BANDS, stdout);
     fwrite(Ln, sizeof(float), NB_BANDS, stdout);
-    fwrite(&vad, sizeof(float), 1, stdout);
-#endif
-#if 0
-    compute_rnn(&noisy->rnn, g, &vad_prob, features);
-    interp_band_gain(gf, g);
-#if 1
-    for (i=0;i<FREQ_SIZE;i++) {
-      X[i].r *= gf[i];
-      X[i].i *= gf[i];
-    }
-#endif
-    frame_synthesis(noisy, xn, X);
-
-    for (i=0;i<FRAME_SIZE;i++) tmp[i] = xn[i];
-    fwrite(tmp, sizeof(short), FRAME_SIZE, fout);
 #endif
+    count++;
   }
-  fprintf(stderr, "matrix size: %d x %d\n", count, NB_FEATURES + 2*NB_BANDS + 1);
+  //fprintf(stderr, "matrix size: %d x %d\n", count, NB_FEATURES + 2*NB_BANDS + 1);
   fclose(f1);
-  fclose(f2);
-  fclose(fout);
   return 0;
 }