Open yzznw opened 8 months ago
@yzznw do you know the status of this bug ?
Sorry, I don't known. I am not study piper TTS a long time. The espeak-ng in new version piper maybe existed same problem in Chinese. If you want to use TTS for Chinese, I would suggest using some TTS models from China, which are more accurate.. Like PaddleSpeech, it's good enough to output voice for Chinese.
Very concerned about progress
Hi, dear sir. Thank your project piper! It's a good project that I can output Chinese voice. I found some issues, please check it.
When espeak-ng translates Chinese (cmn), IPA symbols are not output correctly. Here's an example:
Q1:
In espeak-ng format symbols, it's OK. But if use IPA, it's output :
so it changed 213 to 2, 51 to 5, 213 to 2.
I found the below code need to be changed if use 'cmn' : In "dictionary.c", in function "WritePhMnemonic" code segment:
it's cause Q1 problem. If I remove this, output seems OK.
And, Q2 ( I changed the cmn.dic's tone rule, pingyin tone 1 map to IPA tone 33 ):
so it changed 33 to another IPA symbol!
then I found the below code need to be changed if use 'cmn': same In "dictionary.c", in function "WritePhMnemonic" code segemnt:
if I changed it to :
everything seem to be OK.
test:
It' done!
Another problem that I feel the zh_CN_huayan_medium.onnx output voice, the tone sounds strange.
In chinese there are 5 tones by number: 1 to 5. mapped to IPA in espeak-ng is : 1(55), 2(35), 3(214), 4(51), 5(11). But in huayan model, tone 1 sometimes sounds like tone 2, and tone 4 sometimes sounds like tone 1. And the total sentence sounds strange.
I guess maybe when you train the model, used the espeak-ng to generate the IPA from label text ?
If so, can you please retrain the model after fixed the espeak-ng ? :)