xiph / rnnoise

Recurrent neural network for audio noise reduction
BSD 3-Clause "New" or "Revised" License
3.97k stars 890 forks source link

Enhance webrtc NS with rnn? #143

Closed jiangjianping closed 3 years ago

jiangjianping commented 3 years ago

The rnn works great with the original pcm input. The webRTC NS not worked very well in some noisy enviroment. I tried to replace the webrtc NS module with rnn after webrtc AEC3, but the voice is corrupt. Is it possible to integrate this with webrtc real communication?

brianburt commented 3 years ago

I'm very intrested in this as well. We have a conferencing tool that uses WebRTC front-end (and Janus and/or Freeswitch as the server) and saw from OBS that they say this is working very well.

jzi040941 commented 3 years ago

RNNoise is already applied to webrtc agc2(auto gain controll) since RNNoise is reducing noise by band gain controll. (But quality of webrtc agc2 is not 100% working as we expected. one reason that I assume is RNNoise is trained 40khz ~ 52kHz samplerate data as you can see on paper not on under 40kHz samplerate data. usually the input of webrtc data is 16kHz)

jiangjianping commented 3 years ago

@jzi040941 Happy new year. Any progress in the he webrtc vad based on rnnoise ?

jzi040941 commented 3 years ago

@jiangjianping Happy new year too!. Do you mean on my github repo? Or in WebRTC VAD?

jiangjianping commented 3 years ago

@jzi040941 , Where is your github repo?

jiangjianping commented 3 years ago

put the rnn after aec, works