shithub: opus

Download patch

ref: 4eb2d3446556af4532f5fa9409f674903b585cce
parent: 37ddc0a8b48e89318f02b736fa7f09c230a2c37d
author: Jean-Marc Valin <jmvalin@jmvalin.ca>
date: Tue Dec 11 06:49:13 EST 2018

Cleanup: Remove useless code (more to come)

--- a/dnn/denoise.c
+++ b/dnn/denoise.c
@@ -235,21 +235,6 @@
   }
 }
 
-#if 0
-static void idct(float *out, const float *in) {
-  int i;
-  check_init();
-  for (i=0;i<NB_BANDS;i++) {
-    int j;
-    float sum = 0;
-    for (j=0;j<NB_BANDS;j++) {
-      sum += in[j] * common.dct_table[i*NB_BANDS + j];
-    }
-    out[i] = sum*sqrt(2./22);
-  }
-}
-#endif
-
 static void forward_transform(kiss_fft_cpx *out, const float *in) {
   int i;
   kiss_fft_cpx x[WINDOW_SIZE];
@@ -361,6 +346,8 @@
    return lpc_from_bands(lpc, Ex);
 }
 
+#if TRAINING
+
 static float frame_analysis(DenoiseState *st, signed char *iexc, short *pred, short *pcm, float *lpc, kiss_fft_cpx *X, float *Ex, const float *in) {
   int i;
   float x[WINDOW_SIZE];
@@ -502,15 +489,6 @@
   return TRAINING && E < 0.1;
 }
 
-static void frame_synthesis(DenoiseState *st, float *out, const kiss_fft_cpx *y) {
-  float x[WINDOW_SIZE];
-  int i;
-  inverse_transform(x, y);
-  apply_window(x);
-  for (i=0;i<FRAME_SIZE;i++) out[i] = x[i] + st->synthesis_mem[i];
-  RNN_COPY(st->synthesis_mem, &x[FRAME_SIZE], FRAME_SIZE);
-}
-
 static void biquad(float *y, float mem[2], const float *x, const float *b, const float *a, int N) {
   int i;
   for (i=0;i<N;i++) {
@@ -533,81 +511,6 @@
   }
 }
 
-void pitch_filter(kiss_fft_cpx *X, const kiss_fft_cpx *P, const float *Ex, const float *Ep,
-                  const float *Exp, const float *g) {
-  int i;
-  float r[NB_BANDS];
-  float rf[FREQ_SIZE] = {0};
-  for (i=0;i<NB_BANDS;i++) {
-#if 0
-    if (Exp[i]>g[i]) r[i] = 1;
-    else r[i] = Exp[i]*(1-g[i])/(.001 + g[i]*(1-Exp[i]));
-    r[i] = MIN16(1, MAX16(0, r[i]));
-#else
-    if (Exp[i]>g[i]) r[i] = 1;
-    else r[i] = SQUARE(Exp[i])*(1-SQUARE(g[i]))/(.001 + SQUARE(g[i])*(1-SQUARE(Exp[i])));
-    r[i] = sqrt(MIN16(1, MAX16(0, r[i])));
-#endif
-    r[i] *= sqrt(Ex[i]/(1e-8+Ep[i]));
-  }
-  interp_band_gain(rf, r);
-  for (i=0;i<FREQ_SIZE;i++) {
-    X[i].r += rf[i]*P[i].r;
-    X[i].i += rf[i]*P[i].i;
-  }
-  float newE[NB_BANDS];
-  compute_band_energy(newE, X);
-  float norm[NB_BANDS];
-  float normf[FREQ_SIZE]={0};
-  for (i=0;i<NB_BANDS;i++) {
-    norm[i] = sqrt(Ex[i]/(1e-8+newE[i]));
-  }
-  interp_band_gain(normf, norm);
-  for (i=0;i<FREQ_SIZE;i++) {
-    X[i].r *= normf[i];
-    X[i].i *= normf[i];
-  }
-}
-
-float rnnoise_process_frame(DenoiseState *st, float *out, const float *in) {
-  int i;
-  kiss_fft_cpx X[FREQ_SIZE];
-  kiss_fft_cpx P[WINDOW_SIZE];
-  float x[FRAME_SIZE];
-  float Ex[NB_BANDS], Ep[NB_BANDS];
-  float Exp[NB_BANDS];
-  float features[NB_FEATURES];
-  float g[NB_BANDS];
-  float gf[FREQ_SIZE]={1};
-  float vad_prob = 0;
-  int silence=0;
-  static const float a_hp[2] = {-1.99599, 0.99600};
-  static const float b_hp[2] = {-2, 1};
-  biquad(x, st->mem_hp_x, in, b_hp, a_hp, FRAME_SIZE);
-  //silence = compute_frame_features(st, NULL, X, P, Ex, Ep, Exp, features, x);
-
-  if (!silence) {
-    pitch_filter(X, P, Ex, Ep, Exp, g);
-    for (i=0;i<NB_BANDS;i++) {
-      float alpha = .6f;
-      g[i] = MAX16(g[i], alpha*st->lastg[i]);
-      st->lastg[i] = g[i];
-    }
-    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(st, out, X);
-  return vad_prob;
-}
-
-#if TRAINING
-
 static float uni_rand() {
   return rand()/(double)RAND_MAX-.5;
 }
@@ -674,9 +577,7 @@
     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 E=0;
     int silent;
     for (i=0;i<FRAME_SIZE;i++) x[i] = tmp[i];
--