Home
Login

MegaTTS3: نموذج تخليق الكلام عالي الجودة بدون عينات يعتمد على تطوير ByteDance، ويدعم استنساخ الصوت ثنائي اللغة الصينية والإنجليزية

Apache-2.0Python 5.5kbytedance Last Updated: 2025-05-11

مشروع MegaTTS3: وصف تفصيلي

نظرة عامة على المشروع

MegaTTS3 هو نظام لتوليد الكلام عالي الجودة بصفرية العينات، تم تطويره بواسطة ByteDance، ويعتمد على تقنية محول الانتشار الكامن المعزز بالمحاذاة المتفرقة (Sparse Alignment Enhanced Latent Diffusion Transformer). يستخدم هذا المشروع بشكل أساسي لأغراض البحث الأكاديمي، ويوفر وظائف قوية لتحويل النص إلى كلام (TTS) واستنساخ الصوت.

الميزات الأساسية

🚀 خفيف الوزن وفعال

  • حجم المعلمات: يحتوي العمود الفقري لشبكة محول الانتشار TTS على 0.45 مليار معلمة فقط.
  • استدلال فعال: تصميم معماري مُحسَّن لتحقيق توليد سريع للكلام.

🎧 استنساخ صوت عالي الجودة للغاية

  • توليف صفري العينات: استنساخ أصوات متحدثين جدد دون الحاجة إلى تدريب.
  • دقة عالية: جودة الكلام المُوَلَّد قريبة من التسجيلات الأصلية.
  • تجربة عبر الإنترنت: يمكن تجربته على Huggingface Demo.

🌍 دعم ثنائي اللغة

  • متعدد اللغات: يدعم توليد الكلام باللغتين الصينية والإنجليزية في وقت واحد.
  • تبديل الكود: يدعم توليد الكلام المختلط باللغتين الصينية والإنجليزية.
  • عبر اللغات: يمكن للغة الإنجليزية توليد كلام صيني (مع التحكم في اللهجة).

✍️ قابلية تحكم قوية

  • التحكم في قوة اللهجة: يمكن تعديل درجة اللهجة في الكلام المُوَلَّد.
  • تعديل دقيق للنطق: يدعم تعديلًا دقيقًا للنطق والمدة (سيتم إطلاقه قريبًا).
  • وزن الذكاء: التحكم في وضوح الكلام من خلال معلمة p_w.
  • وزن التشابه: التحكم في التشابه مع الصوت الأصلي من خلال معلمة t_w.

البنية التقنية

المكونات الرئيسية

  1. النموذج الرئيسي لـ TTS

    • يعتمد على محول الانتشار الكامن المعزز بالمحاذاة المتفرقة.
    • يدعم توليف الكلام بصفرية العينات.
    • قدرة عالية على استنساخ الصوت.
  2. محاذاة الكلام والنص (Speech-Text Aligner)

    • تم تدريبه باستخدام تسميات زائفة تم إنشاؤها بواسطة عدد كبير من نماذج MFA الخبيرة.
    • الاستخدامات: إعداد مجموعة البيانات، وتصفية الضوضاء، والتعرف على الصوتيات، وتقسيم الكلام.
  3. محول الكتابة الصوتية (G2P)

    • تم ضبطه بدقة بناءً على نموذج Qwen2.5-0.5B.
    • يوفر تحويلًا قويًا من الكتابة إلى الصوت.
  4. WaveVAE

    • مشفر تلقائي متغير قوي لشكل الموجة.
    • يضغط الكلام بتردد 24 كيلو هرتز إلى تمثيل كامن صوتي بتردد 25 هرتز.
    • يعيد بناء شكل الموجة الأصلي دون خسارة تقريبًا.

التثبيت والاستخدام

متطلبات النظام

  • Python 3.10
  • دعم Linux/Windows/Docker
  • تسريع GPU اختياري (موصى به)

بداية سريعة

  1. استنساخ المستودع
git clone https://github.com/bytedance/MegaTTS3
cd MegaTTS3
  1. تكوين البيئة
conda create -n megatts3-env python=3.10
conda activate megatts3-env
pip install -r requirements.txt
export PYTHONPATH="/path/to/MegaTTS3:$PYTHONPATH"
  1. تنزيل النموذج
    • قم بتنزيل النماذج المدربة مسبقًا من Google Drive أو Huggingface.
    • ضع ملفات النموذج في الدليل ./checkpoints/xxx.

طريقة الاستخدام

الاستدلال من سطر الأوامر (قياسي)
# توليد الكلام الصيني
python tts/infer_cli.py --input_wav 'assets/Chinese_prompt.wav' --input_text "另一边的桌上,一位读书人嗤之以鼻道,'佛子三藏,神子燕小鱼是什么样的人物,李家的那个李子夜如何与他们相提并论?'" --output_dir ./gen

# توليد الكلام الإنجليزي (أداء عالي)
python tts/infer_cli.py --input_wav 'assets/English_prompt.wav' --input_text 'As his long promised tariff threat turned into reality this week, top human advisers began fielding a wave of calls from business leaders.' --output_dir ./gen --p_w 2.0 --t_w 3.0
توليد مع التحكم في اللهجة
# الحفاظ على اللهجة الأصلية (p_w ≈ 1.0)
python tts/infer_cli.py --input_wav 'assets/English_prompt.wav' --input_text '这是一条有口音的音频。' --output_dir ./gen --p_w 1.0 --t_w 3.0

# نطق قياسي (p_w > 2.0)
python tts/infer_cli.py --input_wav 'assets/English_prompt.wav' --input_text '这条音频的发音标准一些了吗?' --output_dir ./gen --p_w 2.5 --t_w 2.5
واجهة الويب
python tts/gradio_api.py

شرح المعلمات

المعلمات الأساسية

  • p_w (وزن الذكاء): يتحكم في وضوح الكلام، تتطلب مطالبات الصوت التي تحتوي على الكثير من الضوضاء قيمة p_w أعلى.
  • t_w (وزن التشابه): يتحكم في التشابه مع الصوت الأصلي، وعادة ما يكون أعلى من p_w بمقدار 0-3 نقاط.
  • خطوات الاستدلال: افتراضيًا 10 خطوات، يستغرق الاستدلال على وحدة المعالجة المركزية حوالي 30 ثانية.

التحكم في اللهجة

  • p_w ≈ 1.0: الحفاظ على اللهجة الأصلية للمتحدث.
  • زيادة p_w: الاقتراب من النطق القياسي.
  • نطاق t_w: عادة ما يكون بين 2.0-5.0، يمكن أن تؤدي الزيادة المعقولة إلى تحسين الأداء.

السلامة والقيود

اعتبارات السلامة

  • مشفر WaveVAE: لأسباب تتعلق بالسلامة، لم يتم الكشف عن معلمات المشفر.
  • تمثيل كامن مستخرج مسبقًا: يمكن فقط استخدام ملفات .npy الكامنة المستخرجة مسبقًا للاستدلال.
  • الاستخدام الأكاديمي: المشروع موجه بشكل أساسي للبحث الأكاديمي.

سير العمل

  1. قم بإعداد ملف صوتي (تنسيق .wav، <24 ثانية، لا يحتوي اسم الملف على مسافات).
  2. قم بتحميله إلى قائمة طلبات الصوت.
  3. بعد التحقق الأمني، احصل على ملف .npy الكامن المقابل.
  4. استخدم ملفات .wav و .npy للاستدلال.

الترخيص والاقتباس

  • الترخيص: Apache-2.0 License
  • تاريخ النشر: 22 مارس 2025
  • الجهة القائمة على الصيانة: شركة ByteDance

سيناريوهات التطبيق

الاستخدامات الرئيسية

  1. أبحاث توليد الكلام: توفير خط أساس عالي الجودة لـ TTS للباحثين.
  2. استنساخ الصوت: تحقيق مساعد صوتي شخصي.
  3. تطبيقات متعددة اللغات: دعم إنشاء محتوى ثنائي اللغة باللغتين الصينية والإنجليزية.
  4. أبحاث اللهجة: دراسة والتحكم في خصائص اللهجة في الكلام.

تطبيقات موسعة

  • إعداد مجموعة البيانات: استخدام المحاذاة لإعداد البيانات لتدريب النموذج.
  • تصفية جودة الصوت: فحص مجموعات بيانات الصوت واسعة النطاق.
  • التعرف على الصوتيات: إجراء تحليل صوتي على مستوى الصوتيات.
  • تحويل الصوت: تحقيق تحويل الصوت بين المتحدثين المختلفين.

تنبيهات

  1. تنزيل النموذج: يجب تنزيل ملفات النموذج المدربة مسبقًا يدويًا.
  2. إدارة التبعيات: انتبه إلى مطابقة إصدارات pydantic و gradio.
  3. متغيرات البيئة: قم بتعيين PYTHONPATH و CUDA_VISIBLE_DEVICES بشكل صحيح.
  4. تنسيق الملف: يجب أن يكون الصوت المدخل بتنسيق .wav، وأن يكون طوله أقل من 24 ثانية.
  5. المراجعة الأمنية: يجب أن تخضع ملفات الصوت التي تم تحميلها لمراجعة أمنية.