Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding the Chinese language 汉语 for TTS #253

Open
dd-rongfa opened this issue Nov 6, 2023 · 7 comments
Open

Adding the Chinese language 汉语 for TTS #253

dd-rongfa opened this issue Nov 6, 2023 · 7 comments
Assignees
Labels
enhancement New feature or request

Comments

@dd-rongfa
Copy link

🚀 Feature

Motivation

Pitch

Alternatives

Additional context

@dd-rongfa dd-rongfa added the enhancement New feature or request label Nov 6, 2023
@snakers4
Copy link
Owner

We are still on HSK 1, so probably a bit early to start working on Chinese, we need more understanding of the language, unlike Romanian languages, which all are kind of similar.

But the feedback on how a Chinese model would ideally accept the inputs would be highly appreciated, i.e. how will you input words? Can you ask your fellow Chinese native speakers how they would do it?

  1. Via pinyin without tones, e.g. wo de mao tai da le;
  2. Via pinyin with some tones, e.g. wo3 de0 mao1 tai4 da4 le0;
  3. Via simplified 汉字;

I would bet on option 3. But as far as I have learned, the Chinese language has the following issues:

  • The same 汉字 has multiple readings depending on context;
  • Many 汉字 have similar readings;

This is somehow alleviated by the fact that probably 90% of cases can be just handled using a dictionary of bi- and tri-grams of 汉字, but for some cases some understanding of broader context would be required. Which would require googling in Chinese using Chinese VPN and Chinese websites, which would require at least HSK 3 or 4 knowledge. Chicken or egg problem, I guess.

We are solving / have partially solved the same problem in Russian. But if the community lends a hand - this of course can be done.

@snakers4 snakers4 changed the title Feature request - [need an Chinese language mode, pls] Adding the Chinese language for TTS Nov 22, 2023
@snakers4 snakers4 changed the title Adding the Chinese language for TTS Adding the Chinese language 汉语 for TTS Nov 22, 2023
@snakers4
Copy link
Owner

A quick search gave me this library

But I would need some input from the community to choose a proper tool. And ideally of course, we would need to build our own if this works.

@snakers4
Copy link
Owner

snakers4 commented Nov 22, 2023

Also, we found some high quality TTS data in Chinese, but maybe some Chinese only resources can be pointed out by native speakers.

@wang-haoxian
Copy link

We are still on HSK 1, so probably a bit early to start working on Chinese, we need more understanding of the language, unlike Romanian languages, which all are kind of similar.

But the feedback on how a Chinese model would ideally accept the inputs would be highly appreciated, i.e. how will you input words? Can you ask your fellow Chinese native speakers how they would do it?

  1. Via pinyin without tones, e.g. wo de mao tai da le;
  2. Via pinyin with some tones, e.g. wo3 de0 mao1 tai4 da4 le0;
  3. Via simplified 汉字;

I would bet on option 3. But as far as I have learned, the Chinese language has the following issues:

  • The same 汉字 has multiple readings depending on context;
  • Many 汉字 have similar readings;

This is somehow alleviated by the fact that probably 90% of cases can be just handled using a dictionary of bi- and tri-grams of 汉字, but for some cases some understanding of broader context would be required. Which would require googling in Chinese using Chinese VPN and Chinese websites, which would require at least HSK 3 or 4 knowledge. Chicken or egg problem, I guess.

We are solving / have partially solved the same problem in Russian. But if the community lends a hand - this of course can be done.

Personally I'd go with option 2, this is much more promising than the others. The repo https://github.com/mozillazg/python-pinyin/ you have found seems very useful to me. When we learn to read and speak at the school, that's basically what we do. Thank you again for working on this language. It's very nice of you. And I like Silero ❤️

@wang-haoxian
Copy link

wang-haoxian commented Dec 9, 2023

As for the datasets, I think the aishell-3 is one of the most used one with Apache 2.0 license. PaddlePaddle is made by Baidu. As a big tech their choices maybe inspiring. You may want to check the dataset references in https://github.com/PaddlePaddle/PaddleSpeech#model-list

@dd-rongfa
Copy link
Author

谢谢你。汉语确实很困难,当时只是想表达一下希望有这个功能。我们一般是输入简体汉字的。拼音只是辅助读音的。一般TTS需求都是文字(简体汉字)转语音的。最后,我一直再用你的VAD,感谢!
Thank you. Chinese is really difficult, and at that time I just wanted to express my desire to have this function. We generally enter simplified Chinese characters. Pinyin is only an auxiliary pronunciation. In general, TTS requires text (simplified Chinese characters) as input to obtain speech. Finally, I have your VAD, it's very useful, thanks! I'm not very familiar with github, should I close this issue?

@snakers4
Copy link
Owner

Let's keep the issue open as a reminder, When we have time, we will do something

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants