Chatterbox TTS: بديل مفتوح المصدر لـ ElevenLabs؟

Rebecca Kovács

Rebecca Kovács

6 يونيو 2025

Chatterbox TTS: بديل مفتوح المصدر لـ ElevenLabs؟
💡
هل تريد أداة رائعة لاختبار واجهات برمجة التطبيقات (API) تولد وثائق API جميلة؟

هل تريد منصة متكاملة وشاملة لفريق المطورين لديك للعمل معًا بأقصى إنتاجية؟

Apidog يلبي جميع متطلباتك، ويحل محل Postman بسعر معقول جدًا!
button

في المشهد المتطور باستمرار للذكاء الاصطناعي، أصبحت نماذج تحويل النص إلى كلام (TTS) عالية الجودة أدوات أساسية للمطورين ومنشئي المحتوى والشركات على حد سواء. في حين أن العديد من أنظمة TTS القوية موجودة، إلا أنها غالبًا ما تكون مغلقة المصدر وتأتي مع تراخيص مقيدة وتكاليف باهظة. اليوم، نتعمق في لاعب جديد يغير قواعد اللعبة في هذا المجال: Chatterbox TTS من Resemble AI.

سيرشدك هذا البرنامج التعليمي الشامل خلال كل ما تحتاج لمعرفته حول Chatterbox TTS. سنستكشف ما يميزه، وكيفية تشغيله، وكيفية تسخير ميزاته القوية لتوليد كلام معبر يشبه الإنسان لمشاريعك.

ما هو Chatterbox TTS؟

مقارنة بين Chatterbox وElevenlabs

Chatterbox هو نموذج TTS مفتوح المصدر ومتطور وجاهز للإنتاج تم تطويره بواسطة فريق Resemble AI. تم إصداره بموجب ترخيص MIT المتساهل، ويمكّن Chatterbox الجميع من إنشاء تركيب كلام عالي الجودة دون أن يكونوا مقيدين بنظام بيئي احتكاري.

تم بناء Chatterbox على أساس قوي من Llama بحجم 0.5 مليار معلمة، وتم تدريبه على مجموعة بيانات ضخمة تبلغ نصف مليون ساعة من بيانات الصوت المنقاة. وقد أدى هذا التدريب المكثف إلى نموذج ليس فقط عالي القدرة ولكنه أيضًا تمت مقارنته بالبدائل الرائدة مغلقة المصدر مثل ElevenLabs، وغالبًا ما يُفضل في المقارنات المباشرة.

الميزات الرئيسية لـ Chatterbox TTS

إذًا، ما الذي يميز Chatterbox عن الآخرين؟ فيما يلي بعض ميزاته البارزة:

البدء مع Chatterbox TTS

الآن بعد أن تعرفت على ما يمكن أن يفعله Chatterbox، دعنا نقوم بإعداده وتجهيزه للتشغيل.

المتطلبات الأساسية

قبل أن تتمكن من البدء في توليد الكلام، ستحتاج إلى تثبيت Python على نظامك. يتطلب Chatterbox إصدار Python 3.8 أو أحدث. ستحتاج أيضًا إلى pip، مثبت حزم Python، والذي يأتي عادةً مع تثبيتات Python الحديثة.

التثبيت

تثبيت Chatterbox بسيط مثل تشغيل أمر واحد في الطرفية. سيقوم هذا الأمر بتنزيل وتثبيت Chatterbox وجميع تبعياته، بما في ذلك مكتبات قوية مثل PyTorch وTransformers.

pip install chatterbox-tts

هذا كل شيء! بهذا الأمر الواحد، أنت جاهز للبدء في تركيب الكلام.

كلماتك الأولى: توليد TTS أساسي

لنبدأ بمثال بسيط لتوليد الكلام من جزء من النص. سيأخذ السكربت Python التالي جملة ويحفظها كملف صوتي بصيغة WAV.

import torch
import torchaudio as ta
from chatterbox.tts import ChatterboxTTS

# Automatically detect the best available device (GPU or CPU)
if torch.cuda.is_available():
    device = "cuda"
elif hasattr(torch.backends, 'mps') and torch.backends.mps.is_available():
    device = "mps" # For Apple Silicon Macs
else:
    device = "cpu"

print(f"Using device: {device}")

# Load the Chatterbox model
model = ChatterboxTTS.from_pretrained(device=device)

# The text you want to convert to speech
text = "Hello, world! I am Chatterbox, a powerful open-source text-to-speech engine."

# Generate the audio waveform
wav = model.generate(text)

# Save the generated audio to a file
ta.save("hello_chatterbox.wav", wav, model.sr)

print("Audio saved as hello_chatterbox.wav")

دعنا نحلل ما يحدث في هذا السكربت:

  1. نقوم باستيراد المكتبات الضرورية: torch لعمليات الموترات الأساسية، torchaudio للتعامل مع ملفات الصوت، وChatterboxTTS للنموذج الرئيسي.
  2. نقوم بتضمين جزء مفيد من الكود يكتشف تلقائيًا ما إذا كان لديك وحدة معالجة رسومات (GPU) متوافقة (cuda لـ NVIDIA، mps لـ Apple Silicon) ويعود إلى وحدة المعالجة المركزية (CPU) إذا لم يكن كذلك. وهذا يضمن تشغيل الكود بكفاءة على أجهزة مختلفة.
  3. نقوم بتحميل نموذج Chatterbox المدرب مسبقًا باستخدام ChatterboxTTS.from_pretrained()، مع تمرير الجهاز المكتشف لدينا.
  4. نقوم بتعريف النص الذي نريد تركيبه.
  5. نستدعي model.generate(text) لإنشاء شكل الموجة الصوتية.
  6. أخيرًا، نستخدم torchaudio.save() لحفظ شكل الموجة كملف WAV. model.sr يوفر معدل العينة الصحيح للصوت.

فن استنساخ الصوت

إحدى أكثر قدرات Chatterbox إثارة هي استنساخ الصوت. يمكنك توفير مقطع صوتي قصير لصوت ما، وسيستخدمه Chatterbox لتوليد كلام بنفس الصوت.

إليك كيف يمكنك القيام بذلك:

للحصول على أفضل النتائج، يجب أن يكون الصوت المرجعي الخاص بك تسجيلًا نظيفًا لشخص واحد يتحدث، ويفضل أن يكون بدون ضوضاء خلفية. غالبًا ما تكون بضع ثوانٍ من الصوت كافية لـ Chatterbox للحصول على فهم جيد للصوت.

لتشغيل واجهة الويب، ستحتاج أولاً إلى تثبيت Gradio:

pip install gradio

بعد ذلك، احفظ الكود التالي كملف Python (على سبيل المثال، app.py) وقم بتشغيله من الطرفية باستخدام python app.py. غالبًا ما يتم تضمين هذا السكربت باسم gradio_tts_app.py في ملفات المشروع.

بعد تشغيل السكربت، سترى عنوان URL محليًا في الطرفية. افتح عنوان URL هذا في متصفح الويب الخاص بك للوصول إلى الواجهة.

ستُقابل بتخطيط نظيف وبديهي حيث يمكنك:

تطبيق Gradio هو الطريقة المثلى للتجربة السريعة مع أصوات وإعدادات مختلفة دون الحاجة إلى كتابة أي كود.

الضبط الدقيق، تحويل الصوت، والعلامات المائية الصوتية في ChatterBox

هذا هو المكان الذي يتألق فيه Chatterbox حقًا. يمكنك توجيه أداء الصوت المركب باستخدام معاملين رئيسيين: exaggeration (المبالغة) و cfg_weight (وزن CFG).

جرب هذه المعاملات للعثور على الأداء المثالي للمحتوى الخاص بك.

يتضمن Chatterbox أيضًا ميزة قوية لتحويل الصوت. تتيح لك هذه الميزة أخذ تسجيل صوتي لشخص يتحدث وتحويله إلى صوت هدف مختلف.

مع القوة العظيمة تأتي مسؤولية عظيمة. قامت Resemble AI بدمج تقنية العلامات المائية PerTh (العتبة الإدراكية) الخاصة بها مباشرة في Chatterbox. يحتوي كل جزء من الصوت الناتج عن النموذج على علامة مائية غير مسموعة. هذه العلامة المائية قوية ويمكن أن تصمد أمام التلاعبات الصوتية الشائعة، مما يسمح بتتبع الصوت إلى النموذج الذي أنشأه.

الخلاصة: صوتك، طريقتك

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

سواء كنت تبني المساعد الذكي العظيم التالي، أو تنشئ محتوى جذابًا لمقاطع الفيديو والألعاب، أو مجرد استكشاف الإمكانيات الإبداعية لتركيب الكلام، يمنحك Chatterbox الحرية والقوة لإحياء أفكارك.

لمعرفة المزيد، جرب العرض التوضيحي المباشر على Hugging Face Spaces:

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات