Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mumble-voip/rnnoise.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJean-Marc Valin <jmvalin@jmvalin.ca>2017-07-29 00:17:11 +0300
committerJean-Marc Valin <jmvalin@jmvalin.ca>2017-07-29 00:17:11 +0300
commitf0e9c5e03d97a3307469c1b5666c2f6d84e5bb2e (patch)
tree4235954c140ec54f6193570ddc529f849de56242 /src
parent60789762cebd5f719aa3660465794cac6534dc02 (diff)
randomize gain
Diffstat (limited to 'src')
-rw-r--r--src/denoise.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/denoise.c b/src/denoise.c
index 7ea5c36..9be6532 100644
--- a/src/denoise.c
+++ b/src/denoise.c
@@ -363,6 +363,8 @@ int main(int argc, char **argv) {
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;
DenoiseState *st;
DenoiseState *noise_state;
@@ -391,12 +393,19 @@ int main(int argc, char **argv) {
short tmp[FRAME_SIZE];
float vad=0;
float E=0;
+ if (++gain_change_count > 101*300) {
+ speech_gain = pow(10., (-30+(rand()%40))/20.);
+ noise_gain = pow(10., (-30+(rand()%40))/20.);
+ if (rand()%10==0) noise_gain = 0;
+ noise_gain *= speech_gain;
+ gain_change_count = 0;
+ }
fread(tmp, sizeof(short), FRAME_SIZE, f1);
if (feof(f1)) break;
- for (i=0;i<FRAME_SIZE;i++) x[i] = tmp[i];
+ for (i=0;i<FRAME_SIZE;i++) x[i] = speech_gain*tmp[i];
fread(tmp, sizeof(short), FRAME_SIZE, f2);
if (feof(f2)) break;
- for (i=0;i<FRAME_SIZE;i++) n[i] = tmp[i];
+ for (i=0;i<FRAME_SIZE;i++) n[i] = noise_gain*tmp[i];
for (i=0;i<FRAME_SIZE;i++) xn[i] = x[i] + n[i];
for (i=0;i<FRAME_SIZE;i++) E += x[i]*(float)x[i];
if (E > 1e9f) {