shithub: opus

Download patch

ref: 0fb031a92184b49ddaece252dfd5aff973a3b152
parent: 3dcbb012a03d81cf6a81e6b83d1bae5dc22e3765
author: Jean-Marc Valin <jmvalin@jmvalin.ca>
date: Sat Dec 1 10:58:28 EST 2018

Produce at least ~14 hours of augmented speech

--- a/dnn/denoise.c
+++ b/dnn/denoise.c
@@ -642,6 +642,7 @@
   float speech_gain=1;
   int last_silent = 1;
   float old_speech_gain = 1;
+  int one_pass_completed = 0;
   DenoiseState *st;
   st = rnnoise_create();
   if (argc!=4) {
@@ -663,7 +664,9 @@
     for (i=0;i<FRAME_SIZE;i++) x[i] = tmp[i];
     fread(tmp, sizeof(short), FRAME_SIZE, f1);
     if (feof(f1)) {
-      return 0;
+      rewind(f1);
+      fread(tmp, sizeof(short), FRAME_SIZE, f1);
+      one_pass_completed = 1;
     }
     for (i=0;i<FRAME_SIZE;i++) E += tmp[i]*(float)tmp[i];
     silent = E < 5000 || (last_silent && E < 20000);
@@ -681,6 +684,7 @@
       continue;
     }
     last_silent = silent;
+    if (count==5000000 && one_pass_completed) break;
     if (++gain_change_count > 2821) {
       speech_gain = pow(10., (-20+(rand()%40))/20.);
       if (rand()%20==0) speech_gain *= .01;
--