MlWoo / LPCNet

Efficient neural speech synthesis
BSD 3-Clause "New" or "Revised" License
80 stars 18 forks source link

difference from synthesis using python and c #5

Open Liu-Feng-deeplearning opened 5 years ago

Liu-Feng-deeplearning commented 5 years ago

Hello, MIWoo,thanks for your improvement of the training Tacotron and LPCnet.

But i find that the synthesis results are not same with python (test_lpcnet.py) and c (lpcnet.c) Do i make some mistakes?

And i use my training data (8k), and do not change any parameters in the c script. i trained model without taco.

thank!

MlWoo commented 5 years ago

@liufeng900204 you are right. The LPCNet of python need more other params besides the 20-dims features(2 pitch params and 18 barked scaled coefficients) . However, the extra params could be calculated with the 20-dims features. C code does it by itself but python does not.

tuanad121 commented 4 years ago

Hi @MlWoo, I did analysis/synthesis with LPCNet (model: lpcnet20h_384_10_G16_80.h5) to check its efficacy on CMU_arctic. I synthesized with either test_lpcnet C or test_lpcnet.py. The sample from test_lpcnet.py sounds good, but the sample from test_lpcnet sounds bad. I attached the samples. I wonder if the quality of the output of test_lpcnet is as expected or it's me doing something wrong. samples.zip Thank you very much.

MlWoo commented 4 years ago

@tuanad121 I doubt you did not follow the steps when systhesis the audio with C implementation. Could you attach the procedures when you systhesis the audio?

tuanad121 commented 4 years ago

@MlWoo Thanks for your quick responses. Here is my procedure: sox arctic_a0001.wav -r 16000 -c 1 arctic_a0001.s16 ./dump_data test arctic_a0001.s16 test.f32 ./test_lpcnet test.f32 test.s16 or python ./test_lpcnet.py test.f32 test.s16 sox -t raw -r 16000 -b 16 -c 1 -L -e signed-integer test.s16 test.wav I also compiled dump_data and test_lpcnet with and without taco=1 but the results are not different. arctic_a0001.wav.zip

MlWoo commented 4 years ago

@tuanad121 Did you dump the model pretrained with keras to C files by following the command? ./dump_lpcnet.py lpcnet20h_384_10_G16_80.h5

tuanad121 commented 4 years ago

@MlWoo yes I'm. I double checked again and I did ./dump_lpcnet.py then recompiled everything after make clean

alokprasad commented 4 years ago

@tuanad121 , can you share your trained model of Tacotron2 for Lpcnet , ? Did you trained LPCNET also? Is there any difference in sysnthesis using test_lpcnet.py if we use Tacotron2 , as for C code we have extra flag taco=1.