xiph / rnnoise

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

Question about fixed point signal process #156

Open poweel opened 3 years ago

poweel commented 3 years ago

Thanks for your great job, I have got a very good result on PC platform. Now I want port the algorithm to our VoIP platform run on 600MHz MIPS SoC without FPU. I see the signal process part was port form opus, and opus support fixed point, so I would like to change signal process to fixed point, but the result was bad. The question is

  1. I must retraining the model after change to fixed point, is it right?
  2. Can I get a performance improve with fixed point and the result was acceptable, any info will be help, thanks.
jmvalin commented 3 years ago

The RNNoise code does not work as fixed-point. Even though it has some of the Opus fixed-point operators, it cannot use them and give meaningful results. So you really need an FPU.

poweel commented 3 years ago

Thanks for your advice. Do you think the precision of fixed point is not enough to deal with voice RNN-NET, so it is impossible, or to work with fixed point, change the signal part is not enough, the rnn code, the training script, all the places where floating points are used should be changed, and training again.