Pitch filtering question
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?

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.
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,