Home
Login

نموذج صوتي توليدي مصمم خصيصًا لسيناريوهات المحادثة، يدعم الإدخال المختلط باللغتين الصينية والإنجليزية وقدرات المتحدثين المتعددين.

AGPL-3.0Python 36.9k2noiseChatTTS Last Updated: 2025-05-23

ChatTTS - نموذج تحويل النص إلى كلام احترافي لمشاهد الحوار

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

ChatTTS هو نموذج توليدي لتحويل النص إلى كلام (TTS) تم تطويره بواسطة فريق 2noise خصيصًا لمشاهد الحوار. حصل هذا المشروع على أكثر من 35,000 نجمة على GitHub، وهو أحد أكثر مشاريع TTS مفتوحة المصدر شيوعًا حاليًا.

عنوان المشروع: https://github.com/2noise/ChatTTS فريق التطوير: 2noise رخصة المصدر المفتوح: AGPLv3+ (الكود) / CC BY-NC 4.0 (النماذج) دعم اللغات الرئيسية: الصينية والإنجليزية

تم تصميم ChatTTS في الأصل لتوفير تجربة تفاعل صوتي طبيعية وسلسة لتطبيقات الحوار مثل مساعدي LLM. بالمقارنة مع نماذج TTS التقليدية، فإنه يعمل بشكل أفضل في مشاهد الحوار.

الوظائف والميزات الأساسية

🎯 تصميم مُحسَّن للحوار

  • مُحسَّن خصيصًا لمشاهد الحوار: مُحسَّن خصيصًا لتطبيقات الحوار مثل روبوتات الدردشة ومساعدي LLM
  • تجربة حوار طبيعية: الصوت الناتج أكثر طبيعية وسلاسة، ومناسب لمشاهد الحوار بين الإنسان والآلة
  • حوار تفاعلي: يدعم الاتساق الصوتي في الحوارات متعددة الأدوار

🎭 دعم متعدد المتحدثين

  • قدرة متعددة المتحدثين: يدعم التبديل بين المتحدثين المختلفين لتحقيق حوار متعدد الشخصيات
  • أخذ عينات من المتحدثين: يمكن أخذ عينات عشوائية من خصائص المتحدثين من التوزيع الغاوسي
  • التحكم في النبرة: يدعم تخصيص وتثبيت نبرة معينة للحفاظ على اتساق الشخصية

🎵 تحكم دقيق في الإيقاع

  • التحكم في الضحك: يدعم إضافة تأثيرات الضحك بدرجات متفاوتة [laugh]، [laugh_0-2]
  • التحكم في التوقف: تحكم دقيق في التوقفات والفواصل في الصوت [uv_break]، [lbreak]، [break_0-7]
  • التحكم في النبرة: يدعم تعديل درجة العامية [oral_0-9]
  • التعبير العاطفي: قادر على التنبؤ والتحكم في خصائص الإيقاع الدقيقة، بما في ذلك تغييرات النبرة

🌐 دعم متعدد اللغات

  • مزيج من الصينية والإنجليزية: يدعم أصلاً إدخال مزيج من الصينية والإنجليزية، دون الحاجة إلى علامات لغوية
  • التكيف مع اللغة: يتعرف تلقائيًا على محتوى النص بلغات مختلفة ويعالجه
  • توسع مستقبلي: يخطط لدعم المزيد من اللغات

⚡ المزايا التقنية

  • هندسة معمارية متقدمة: يعتمد على هندسة معمارية نموذجية ذاتية الانحدار، مستوحاة من التقنيات المتقدمة مثل Bark و Valle
  • ميزة الإيقاع: يتجاوز معظم نماذج TTS مفتوحة المصدر من حيث أداء الإيقاع
  • تدريب مسبق عالي الجودة: يستخدم النموذج الرئيسي أكثر من 100,000 ساعة من بيانات الصوت الصينية والإنجليزية للتدريب
  • صديق للمصدر المفتوح: يوفر نموذجًا أساسيًا مدربًا مسبقًا لمدة 40,000 ساعة للاستخدام البحثي

مواصفات النموذج والأداء

بيانات التدريب

  • النموذج الرئيسي: تم تدريبه على أكثر من 100,000 ساعة من بيانات الصوت الصينية والإنجليزية
  • إصدار مفتوح المصدر: نموذج مدرب مسبقًا لمدة 40,000 ساعة (لم يتم إجراء SFT)
  • مصدر البيانات: مصادر بيانات صوتية متاحة للجمهور

مؤشرات الأداء

  • متطلبات وحدة معالجة الرسومات (GPU): يتطلب إنشاء 30 ثانية من الصوت ذاكرة GPU لا تقل عن 4 جيجابايت
  • سرعة الإنشاء: تقوم وحدة معالجة الرسومات 4090 بإنشاء حوالي 7 رموز دلالية في الثانية
  • عامل الوقت الفعلي (RTF): حوالي 0.3
  • جودة الصوت: إخراج بمعدل أخذ عينات 24 كيلو هرتز

متطلبات الأجهزة

  • الحد الأدنى من التكوين: ذاكرة GPU بسعة 4 جيجابايت أو أكثر
  • التكوين الموصى به: بطاقات رسومات متطورة مثل RTX 3090/4090
  • وحدة المعالجة المركزية (CPU): يدعم تسريع المعالجات متعددة النواة
  • الذاكرة: يوصى بذاكرة نظام بسعة 16 جيجابايت أو أكثر

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

تثبيت سريع

# استنساخ المشروع
git clone https://github.com/2noise/ChatTTS
cd ChatTTS

# تثبيت التبعيات
pip install --upgrade -r requirements.txt

# أو استخدم بيئة conda
conda create -n chattts python=3.11
conda activate chattts
pip install -r requirements.txt

مثال على الاستخدام الأساسي

import ChatTTS
import torch
import torchaudio

# تهيئة النموذج
chat = ChatTTS.Chat()
chat.load(compile=False)  # اضبط على True للحصول على أداء أفضل

# تحويل النص إلى كلام
texts = ["مرحبًا، أنا ChatTTS", "Hello, I am ChatTTS"]
wavs = chat.infer(texts)

# حفظ ملفات الصوت
for i, wav in enumerate(wavs):
    torchaudio.save(f"output_{i}.wav", torch.from_numpy(wav).unsqueeze(0), 24000)

وظائف التحكم المتقدمة

# أخذ عينات عشوائية من المتحدث
rand_spk = chat.sample_random_speaker()

# تعيين معلمات الاستدلال
params_infer_code = ChatTTS.Chat.InferCodeParams(
    spk_emb=rand_spk,      # تضمين المتحدث
    temperature=0.3,        # معلمة درجة الحرارة
    top_P=0.7,             # أخذ عينات top-P
    top_K=20,              # أخذ عينات top-K
)

# تعيين معلمات تنقيح النص
params_refine_text = ChatTTS.Chat.RefineTextParams(
    prompt='[oral_2][laugh_0][break_6]',  # إضافة التحكم في الإيقاع
)

# إنشاء الصوت
wavs = chat.infer(
    texts,
    params_refine_text=params_refine_text,
    params_infer_code=params_infer_code,
)

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

🤖 مساعدو الذكاء الاصطناعي وروبوتات الدردشة

  • الإخراج الصوتي لأنظمة حوار LLM
  • أنظمة خدمة العملاء الذكية
  • تطبيقات المساعد الافتراضي

📚 التعليم والتدريب

  • منصات التعليم عبر الإنترنت
  • تطبيقات تعلم اللغة
  • إنتاج الكتب الصوتية

🎬 إنشاء المحتوى

  • إنتاج البودكاست
  • دبلجة الفيديو
  • إنشاء محتوى صوتي

🏢 تطبيقات المؤسسات

  • بث ملخصات الاجتماعات
  • تحويل الإشعارات والإعلانات إلى صوت
  • وظائف المساعدة على الوصول

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

المكونات الأساسية

  • مشفر النص: يعالج الفهم الدلالي للنص المدخل
  • متنبئ الإيقاع: يتنبأ بخصائص الإيقاع في الصوت ويتحكم فيها
  • المشفر الصوتي: يحول الميزات إلى أشكال موجية صوتية عالية الجودة
  • مشفر المتحدث: يعالج تضمين ميزات المتحدثين المتعددين

ميزات النموذج

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

الاحتياطات والقيود

قيود الاستخدام

  • الأغراض الأكاديمية: النماذج المنشورة مخصصة للاستخدام البحثي الأكاديمي فقط
  • القيود التجارية: لا يجوز استخدامها للأغراض التجارية أو غير القانونية
  • الاعتبارات الأخلاقية: تمت إضافة ضوضاء عالية التردد لمنع سوء الاستخدام

القيود التقنية

  • طول الصوت: قد تنخفض الجودة في الصوتيات الأطول
  • متطلبات الحساب: يتطلب موارد حسابية عالية لوحدة معالجة الرسومات
  • دعم اللغة: يدعم حاليًا بشكل أساسي الصينية والإنجليزية

الأسئلة الشائعة

  • سرعة الإنشاء: يمكن تحسينها عن طريق تحسين تكوين الأجهزة وتعديل المعلمات
  • جودة الصوت: قد يؤثر تنسيق ضغط MP3 على الجودة النهائية
  • الاستقرار: قد يظهر النموذج الذاتي الانحدار مخرجات غير مستقرة

ملخص

يتميز ChatTTS كنموذج TTS مصمم خصيصًا لمشاهد الحوار في الجوانب التالية:

🎯 الاحتراف: مُحسَّن خصيصًا لمشاهد الحوار، ويعمل بشكل ممتاز في تطبيقات مثل روبوتات الدردشة ومساعدي الذكاء الاصطناعي

🚀 التقدم التكنولوجي: يعتمد على أحدث تقنيات التعلم العميق، وهو رائد في التحكم في الإيقاع ودعم المتحدثين المتعددين

🌟 قيمة المصدر المفتوح: يوفر حلاً كاملاً مفتوح المصدر، مما يقلل من عتبة استخدام تقنية TTS عالية الجودة

🤝 مجتمع نشط: لديه مجتمع مطورين نشط وموارد نظام بيئي غنية

⚡ التطبيق العملي: يوفر وظائف كاملة من الاستخدام الأساسي إلى التحكم المتقدم، لتلبية الاحتياجات على مستويات مختلفة

يملأ ظهور ChatTTS الفجوة في نماذج TTS المخصصة لمشاهد الحوار، ويوفر دعمًا تقنيًا قويًا لبناء تجربة تفاعل صوتي أكثر طبيعية بين الإنسان والآلة. مع التطور المستمر للتكنولوجيا والمساهمات المستمرة للمجتمع، يُعتقد أن ChatTTS سيلعب دورًا متزايد الأهمية في مجال تركيب الكلام.