jagger2048 / rnnoise-windows

This is a RNNoise windows demo. It was modified and restructured so that it can be compiled with MSVC, VS2017, VS2019.
126 stars 43 forks source link

denoise_training use error(when trying to generate a feature.dat) #5

Open mingsjtu opened 5 years ago

mingsjtu commented 5 years ago

When I use src/complie.sh to constract a denoise_training tool.

I found that when I run the following in linux:

./denoise_training TRAIN_DR1_MRDD0_SI1680.WAV n95.wav 10000 feature.dat There is an error: image but when I follow the instruction and run this: ./denoise_training TRAIN_DR1_MRDD0_SI1680.WAV n95.wav 10000 The date all directly outputs on the terminal like that image

mingsjtu commented 5 years ago

OK ,I fix it by add ">feature.dat" Another question please:

How can I set the SNR level of the mix audio ,which is generated by ,for example.

./denoise_training TRAIN_DR1_MRDD0_SI1680.WAV n95.wav 10000

jagger2048 commented 5 years ago

Hi, About the denoise_training, it is compiled from the file src/denoise.c with the shell script src/compile.sh. It is a bug that I did not change the output IO stream from stdout to a customer stream. In fact, I had done that at another project. Your solution is a good choice.

For the SNR level feature, it is a good idea. But If your desired SNR is calculated through the RMS or peak amplitude level of the speech and the noise signal then train with a steady SNR level, the model trained maybe only work well at an SNR level you trained. As far as I know, the gain of the speech and the noise are random and mix with a set of SNR levels for more robustness during the training process in rnnoise. See the codes at src/denoise.c line 559 560

     speech_gain = pow(10., (-40+(rand()%60))/20.);
      noise_gain = pow(10., (-30+(rand()%50))/20.);
mingsjtu commented 5 years ago

Thanks for your timely reply , and it fixed my problems quite well . Best wishes~~