LPCNet icon indicating copy to clipboard operation
LPCNet copied to clipboard

Question about training PLCModel

Open YYX666660 opened this issue 7 months ago • 2 comments

FARGAN is a complete vocoder just like LPCNet. In Opus, the FARGAN signal completely replaces (not enhance) the SILK PLC output.

Hi~ @jmvalin. May I ask you a question about training PLC? I got trouble in training the PLCModel. The PLCModel is used for conceal the feature after the PitchDNN model, before passing to FARGAN. I follow the code in https://gitlab.xiph.org/xiph/opus/-/tree/main/dnn/torch/plc?ref_type=heads. For training(train_plc.py) input, I take the features and loss generated from ./dump_data for data preparation https://gitlab.xiph.org/xiph/opus/-/tree/main/dnn/torch/fargan?ref_type=heads#data-preparation. My inputfeatures is float32, loss is 16bit pcm. But the conceal result of my self-train is worse than using the original weights, the white box regions are the lost signals. Training epoch is 20(default).

Image

I didn't modify the train_plc.py and any other params of the model. Is my training input correct? The output of the ./dump_data is 16-bit pcm, but the plc_dataset.py reads the int8 loss_file, is this the reason of my training gap?

I really want to know the input features and loss of the train_plc.py. How should I prepare for these two variables in the right way?

Originally posted by @YYX666660 in #215

YYX666660 avatar Jun 13 '25 06:06 YYX666660