Percepnet-Keras icon indicating copy to clipboard operation
Percepnet-Keras copied to clipboard

Pitch filtering question

Open qijiajun opened this issue 4 years ago • 2 comments

Hi cookcodes! Thanks for sharing your code with us! In the PercepNet paper, there is a scale bands module after pitch filtering which uses the pitch enhanced signal z and the postfilter output Xb_hat. However, there has few details about this module in paper. I want to know what your idea is about the scale bands module. By the way, could you please share the msse value of gb and rb after convergence in your experiments? image

qijiajun avatar Aug 04 '21 07:08 qijiajun

For scale bands module, use rb and gb to generate the value in frequency domain. You may check the codes in rnnoise_process_frame() after rb and gb is computed.

interp_band_gain(gf, g); for (i=0;i<FREQ_SIZE;i++) { X[i].r *= gf[i]; X[i].i *= gf[i]; }

//applied pitch filter after gain filter interp_band_gain(rf, r); for (i=0;i<FREQ_SIZE;i++) { X[i].r =(1-rf[i])*X[i].r + rf[i]*P[i].r; X[i].i =(1-rf[i])*X[i].i + rf[i]*P[i].i; }

Z means rf[i]*P[i] ??

The overall loss is about 0.8, For msse value, and I will add these informaiton after next training.

cookcodes avatar Aug 09 '21 03:08 cookcodes

Hi Cookcodes, Thanks for your sharing. I have some confuse about "envelope postfiltering".

In rnnoise_process_frame function, the step is applied the pitch filtering after gain filter. But I think the "postfiltering" means the last step?

By the way, I check RNNoise is used the pitch filter first, and do gain filter.

Is there any reason use gain filter first than pitch filter?

Thanks,

aaronhsueh0506 avatar Nov 25 '21 07:11 aaronhsueh0506