هذا هو إطار عمل معتدل من النص إلى الكلام يهدف إلى دعم البحث السريع وتطورات المنتجات. وتشمل الميزات الرئيسية
المساهمات موضع ترحيب.
تحقق من العرض التوضيحي هنا 
git clone https://github.com/ranchlai/mandarin-tts.git
cd mandarin-tts
git submodule update --force --recursive --init --remote
pip install -e . f
يتم توفير مثالين هنا: Biaobei و Aishell3.
لتدريب النماذج الخاصة بك ، قم أولاً بإنشاء نسخة من الأمثلة الحالية ، ثم قم بإعداد ميزات melspectrogram باستخدام wav2mel.py
cd examples
python wav2mel.py -c ./aishell3/config.yaml -w < aishell3_wav_folder > -m < mel_folder > -d cpuقم بإعداد ملفات SCP اللازمة للتدريب ،
cd examples/aishell3
python prepare.py --wav_folder < aishell3_wav_folder > --mel_folder < mel_folder > --dst_folder ./train/سيؤدي ذلك إلى إنشاء ملفات SCP المطلوبة بواسطة config.yaml (في قسم مجموعة البيانات/القطار). ستحتاج أيضًا إلى التحقق من أن كل شيء على ما يرام في ملف التكوين. عادة لا تحتاج إلى تغيير الرمز.
الآن يمكنك بدء التدريب الخاص بك
cd examples/aishell3
python ../../mtts/train.py -c config.yaml -d cudaبالنسبة لمجموعة بيانات Biaobei ، فإن سير العمل هو نفسه ، باستثناء أنه لا يوجد مكبر صوت تدمير ولكن يمكنك إضافة تضمين Prosody.
سيتم إضافة المزيد من الأمثلة. من فضلك ابق.
يتم توفير مثالين حاليًا ، ويتم تلخيص نقاط التفتيش/التكوينات المقابلة على النحو التالي.
| مجموعة البيانات | نقطة التفتيش | تكوين |
|---|---|---|
| Aishell3 | وصلة | وصلة |
| بياجي | وصلة | وصلة |
يلعب Vocoders دور تحويل melspectrograms إلى أشكال موجية. تتم إضافتها كفيروسات فرعية وسيتم تدريبها في هذا المشروع. وبالتالي يجب عليك تنزيل نقاط التفتيش قبل التوليف. في التدريب ، ليس من الضروري ، حيث يمكنك مراقبة عملية التدريب من melspectrograms التي تم إنشاؤها وأيضًا منحنى الخسارة. الحالي نحن ندعم الماسكين التاليين ،
| Vocoder | نقطة التفتيش | جيثب |
|---|---|---|
| WaveGlow | وصلة | وصلة |
| HIFI-GAN | وصلة | وصلة |
| فوتغان | رابط الرابط | وصلة |
| ميليغان | وصلة | وصلة |
ستكون جميع المفرطات جاهزة بعد تشغيل git submodule update --force --recursive --init --remote . ومع ذلك ، يجب عليك تنزيل نقطة التفتيش يدويًا وبشكل صحيح تعيين المسار في ملف config.yaml.
يجب أن يكون input.txt متسقًا مع إعدادك لـ emb_type1 إلى emb_type_n في ملف التكوين ، أي نفس النوع ، نفس الترتيب.
لتسهيل نسخ Hanzi إلى Pinyin ، يمكنك المحاولة:
cd examples/aishell3/
python ../../mtts/text/gp2py.py -t "为适应新的网络传播方式和读者阅读习惯"
>> sil wei4 shi4 ying4 xin1 de5 wang3 luo4 chuan2 bo1 fang1 shi4 he2 du2 zhe3 yue4 du2 xi2 guan4 sil|sil 为 适 应 新 的 网 络 传 播 方 式 和 读 者 阅 读 习 惯 sil
لا يمكنك نسخ النص إلى input.txt ، وتذكر أن تضع الاسم المحدد ذاتيا ومعرف السماعة ، مفصولة بـ '|'.
مع نقاط التفتيش أعلاه ونص جاهزة ، يمكنك أخيرًا تشغيل عملية التوليف ،
python ../../mtts/synthesize.py -d cuda --c config.yaml --checkpoint ./checkpoints/checkpoint_1240000.pth.tar -i input.txtيرجى التحقق من ملف config.yaml لإعدادات Vocoder.
إذا كان محظوظًا ، يمكن العثور على أمثلة صوتية في مجلد الإخراج.