تنفيذ comospeech. للحصول على جميع التفاصيل ، تحقق من ورقةنا المقبولة إلى ACM MM 2023: Comospeech: خطوة خطوة واحدة وتخليق صوت غناء عبر نموذج الاتساق.
المؤلفون : تشن يي ، واي شيو ، شو تان ، جي تشن ، Qifeng Liu ، Yike Guo.
2024-04-26
2023-12-01
2023-11-30
2023-10-21
الصفحة التجريبية : الرابط.
أظهرت النماذج الاحتمالية للانتشار (DDPMS) أداء واعدة لتوليف الكلام. ومع ذلك ، هناك حاجة إلى عدد كبير من الخطوات التكرارية لتحقيق جودة عينة عالية ، مما يقيد سرعة الاستنتاج. أصبح الحفاظ على جودة العينة مع زيادة سرعة أخذ العينات مهمة صعبة. في هذه الورقة ، نقترح طريقة توليف الكلام المستندة إلى موازنة ، Comospeech ، التي تحقق توليف الكلام من خلال خطوة أخذ عينات واحدة مع تحقيق جودة صوت عالية. يتم تطبيق قيود الاتساق لتقطير نموذج الاتساق من نموذج المعلم القائم على الانتشار المصمم جيدًا ، والذي ينتج عنه في نهاية المطاف عروضًا متفوقة في Comospeech المقطرة. تُظهر تجاربنا أنه من خلال إنشاء تسجيلات صوتية بخطوة أخذ عينات واحدة ، يحقق Comospeech سرعة الاستدلال أكثر من 150 مرة أسرع من الوقت الفعلي على وحدة معالجة الرسومات NVIDIA A100 واحدة ، والتي يمكن مقارنتها بـ Fastspeech2 ، مما يجعل توليفة الكلام القائمة على عينة الاختلاف عملية حقًا. وفي الوقت نفسه ، تُظهر التقييمات الموضوعية والذاتية على توليف الصوت من نص إلى كلام وغناء أن نماذج المعلمين المقترحة تسفر عن أفضل جودة صوتية ، وأن Comospeech المستندة إلى أخذ العينات الواحد يحقق أفضل سرعة استنتاج مع جودة صوت أفضل أو قابلة للمقارنة مع سلالات نموذج الانتشار التقليدية متعددة الخطوات التقليدية.
بناء رمز monotonic_align (Cython):
cd model/monotonic_align ; python setup.py build_ext --inplace ; cd ../.. قم بتشغيل inference.py Script من خلال توفير المسار إلى الملف النصي ، ومسار إلى نقطة التفتيش ، وعدد أخذ العينات:
python inference.py -f < text file > -c < checkpoint > -t < sampling steps > تحقق من المجلد out لتوليد الصوت. لاحظ أنه في ملف params. المعلم = صحيح هو لنموذج المعلمين لدينا ، FALSE هو من أجل comospeech لدينا. بالإضافة إلى ذلك ، نستخدم نفس Vocoder في Grad-TTS. يمكنك تنزيله ووضعه في مجلد checkpts.
نحن نستخدم مجموعات بيانات LJSpeech ونتبع تقسيم القطار/الاختبار/Val في Fastspeade2 ، يمكنك تغيير المجلد في FS2_TXT. ثم قم بتشغيل Script train.py ،
python train.py لاحظ أنه في ملف params. المعلم = صحيح هو لنموذج المعلمين لدينا ، FALSE هو من أجل comospeech لدينا. أثناء تدريب Comospeech ، يجب توفير دليل نقطة تفتيش المعلم.
يمكن تنزيل نقاط التفتيش المدربة على ljspeech من هنا.
أود أن أقدم شكرًا خاصًا لمؤلفي Grad-TTS ، حيث يتم استعارة قاعدة التعليمات البرمجية الخاصة بنا بشكل أساسي من Grad-TTS.
اهلا وسهلا بكم لإرسال طلبات السحب أو مشاركة بعض الأفكار معي. معلومات الاتصال: Zhen Ye ([email protected])