Instructions to use anwar-dev/Bayan-Arabic-TTS-v1.0 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- NeMo
How to use anwar-dev/Bayan-Arabic-TTS-v1.0 with NeMo:
# tag did not correspond to a valid NeMo domain.
- Notebooks
- Google Colab
- Kaggle
Bayan-Arabic-TTS-v1.0 — Arabic TTS (MagpieTTS 357M + LoRA)
Bayan (بيان) — نموذج تحويل النص إلى كلام عربي بصوت رجل
اسمه «مراد»، مبني على
nvidia/magpie_tts_multilingual_357m
مع تدريب LoRA وصف speaker سادس مخصص للصوت.
Arabic text-to-speech with a single Arabic male voice. Built on MagpieTTS Multilingual 357M using LoRA + a dedicated baked speaker row, fine-tuned on 71.6 minutes of Arabic speech.
بطاقة النموذج التفاعلية (HTML): model_card.html —
تضم النتائج والعينات وطريقة التشغيل والتدريب في صفحة واحدة.
Sample audio
الفصحى المشكّلة — CER 0.00% على 8/8 جُمل:
كل المقاطع في samples/msa/ مع نصوصها في samples/msa/texts.txt.
النتائج
تقييم على 32 مقطعاً محجوزاً لم تُستخدم في التدريب (Whisper large-v3 للـCER، TitaNet لتشابه الصوت):
| النموذج | CER ↓ | WER ↓ | تشابه الصوت ↑ |
|---|---|---|---|
| MagpieTTS الأصلي (صوت Jason) | 1.25% | — | 0.294 |
| Bayan — الملف المنشور (صوت مراد) | 1.39% | 8.12% | 0.869 |
- الفصحى المشكّلة: CER = 0.00% وWER = 0.00% على 8 جُمل متنوعة، تشابه صوت 0.864.
- RTF ≈ 1.0 على RX 6700 XT (توليد أسرع من الزمن الحقيقي).
مقارنة مباشرة مع النموذج الأصلي
نفس النص الطويل (compare/test.txt)، نفس الإعدادات، الأصلي بصوت Jason المدمج:
| المقياس | الأصلي (Jason) | Bayan (صوت مراد) |
|---|---|---|
| CER | 4.13% | 3.03% |
| WER | 7.23% | 4.10% |
| تشابه الصوت مع مراد | 0.387 | 0.930 |
استمع للمقارنة جنباً إلى جنب: compare/index.html
(Audio: compare/original/ وcompare/finetuned/).
اختبار الفصحى العلمي — 32 جملة حصرية
32 جملة فصحى مشكّلة لم تُستخدم في التدريب ولا التحقق، تغطي 36 حرفاً وتشمل الأرقام والتواريخ والأسماء الأجنبية والأسئلة والجمل الطويلة:
| المقياس | الأصلي (Jason) | Bayan (صوت مراد) |
|---|---|---|
| CER | 3.40% | 1.60% |
| CER* (بعد تطبيع الأرقام والوحدات) | 0.63% | 0.10% |
| WER | 5.82% | 2.02% |
| جُمل مطابقة تماماً | 22/32 | 28/32 |
| تشابه الصوت مع مراد | 0.317 | 0.854 |
لم يتبقَّ في نموذج Bayan سوى خطأين بحرف واحد («كامبريدج» و«مجتهدة»)؛ أما الفروق الكبيرة في CER الخام فهي تحويل Whisper للأرقام المنطوقة إلى أرقام حسابية، وليست أخطاء نطق.
هذه المجموعة أصعب من مجموعة التحقق (أرقام وتواريخ وأسماء أجنبية وجمل طويلة)، لذلك لا تُقارن نسبتها مباشرة بجدول الـ32 مقطعاً أعلاه.
الصفحة التفاعلية: eval/msa_32/report.html —
والمنهجية والقياسات الخام في eval/msa_32/README.md.
مقارنة مع النماذج المشهورة على Hugging Face
نفس 5 جمل (أخبار، علوم، سؤال، أرقام، فصحى طويلة) مع أربعة أنظمة إضافية: Chatterbox، XTTS-v2، MMS-TTS Arabic، وMagpieTTS الأصلي.
| النظام | CER* ↓ | CER خام | التشابه ↑ | RTF ↓ | الترخيص |
|---|---|---|---|---|---|
| Bayan (صوت مراد) | 0.00% | 4.30% | 0.867 | 0.99 | NVIDIA Open |
| Chatterbox Multilingual v2 | 0.00% | 2.53% | 0.830 | 1.06 | MIT |
| XTTS-v2 | 0.97% | 5.28% | 0.718 | 0.31 | CPML (غير تجاري) |
| MMS-TTS Arabic | 2.24% | 4.71% | 0.407 | 0.03 | CC-BY-NC |
| MagpieTTS الأصلي (Jason) | 0.00% | 4.30% | 0.299 | 1.03 | NVIDIA Open |
Bayan وChatterbox تعادلا نصياً بعد تطبيع الأرقام، وتفوق Bayan في تشابه الصوت. الفروق في CER الخام سببها تنسيق Whisper للأرقام.
استمع وقارن: compare_models/index.html —
والمنهجية في compare_models/README.md.
الاستخدام السريع
pip install "nemo_toolkit[tts]" soundfile
python inference.py --text "أَهْلًا بِكَ، كَيْفَ حَالُكَ الْيَوْمَ؟" --out-dir out
أو من Python:
import soundfile as sf
from nemo.collections.tts.models import MagpieTTSModel
model = MagpieTTSModel.restore_from("Bayan-Arabic-TTS-v1.0.nemo", map_location="cuda", strict=False).eval()
model.inference_parameters.cfg_scale = 2.5
model.inference_parameters.temperature = 0.6
model.inference_parameters.topk = 80
audio, audio_len = model.do_tts(
"إِنَّ الْعِلْمَ نُورٌ يُضِيءُ طَرِيقَ الْإِنْسَانِيَّةِ.",
language="ar-MSA",
apply_TN=False,
use_cfg=True,
speaker_index=5, # 5 = مراد، 0-4 أصوات النموذج الأصلية
)
sf.write("out.wav", audio[0, : int(audio_len[0])].float().cpu().numpy(), 22050)
التفاصيل الكاملة: INSTALL.md وUSAGE.md.
تفاصيل النموذج
| الاسم / الإصدار | Bayan-Arabic-TTS-v1.0 (بيان) |
| ملف النموذج | Bayan-Arabic-TTS-v1.0.nemo — 1.36 GiB |
| النموذج الأساسي | nvidia/magpie_tts_multilingual_357m (v2607) |
| المعمارية | Transformer decoder + NanoCodec (22.05 kHz، 21.5 fps) |
| طريقة التكيّف | LoRA r=32، α=64، dropout=0.05 على 133 طبقة + صف speaker سادس |
| عدد المعاملات المدرَّبة | 13.91M (12.91M LoRA + 1.00M embedding) |
| الصوت | «مراد»، ذكر |
| اللغة | ar-MSA مع tokenizer arabic_MSA_chartokenizer |
| البيانات | 633 مقطعاً / 71.6 دقيقة (متوسط 6.8 ثانية) |
| التقسيم | 601 تدريب / 32 تحقق (مرتّب حسب المدة) |
| العتاد | AMD RX 6700 XT 12 GB، ROCm 6.3، fp32 |
| التدريب | 47 epoch (أفضل نتيجة عند 40)، ~85 ثانية/epoch، ذروة VRAM 7.9 GB |
طريقة التدريب الكاملة، المشاكل والحلول، وأوامر إعادة الإنتاج في
TRAINING.md.
لماذا صف speaker سادس؟
إصدار v2607 أزال zero-shot voice cloning ولا يحتوي أوزان context encoder.
الحل: إضافة صف سادس إلى baked_context_embedding (217×768) مهيّأ من صوت
مدمج، وتدريبه مع LoRA. هذا يعمل كـvoice prompt ويسمح بتعلّم بصمة صوت جديدة
دون إعادة تدريب النموذج كاملاً.
الاستخدام على AMD (ROCm)
export HSA_OVERRIDE_GFX_VERSION=10.3.0 # gfx1031 (RX 6700 XT)
export MIOPEN_FIND_MODE=FAST # يمنع توقفات autotuning
بدون MIOPEN_FIND_MODE=FAST قد يتوقف التوليد 30–50 ثانية عند كل طول جديد.
على بطاقات NVIDIA لا حاجة لهذه المتغيرات.
القيود
- التشكيل مهم: التدريب جرى على نصوص مشكّلة بالكامل. النص غير المشكّل يعمل، لكن الدقة أفضل بكثير مع التشكيل (خصوصاً أواخر الكلمات).
- النموذج مُقيَّم أساساً على الفصحى المشكّلة.
- البيانات اصطناعية بالكامل من محرك TTS واحد؛ قد تظهر محدودية في العواطف القصوى أو الضحك أو الهمس.
- الحد الأقصى للجملة ~37 ثانية (
max_decoder_steps=800)؛ قسّم النصوص الطويلة. - قد يخطئ في أسماء أجنبية مُعرَّبة غير شائعة (مثل الأسماء الكورية).
- 22.05 kHz أحادية.
الترخيص
النموذج مشتق من nvidia/magpie_tts_multilingual_357m ويخضع لترخيص
NVIDIA Open Model License.
راجع NOTICE.md قبل الاستخدام التجاري.
الإشارة إلى النموذج الأساسي
إن استخدمت هذا النموذج في عمل منشور، اذكر النموذج الأساسي MagpieTTS (NVIDIA NeMo) بالإضافة إلى هذا المستودع.
النشر على Hugging Face
المستودع المستهدف: anwar-dev/Bayan-Arabic-TTS-v1.0.
hf auth login
./push_to_hub.sh anwar-dev/Bayan-Arabic-TTS-v1.0
ينشئ السكربت المستودع إن لم يكن موجوداً، ثم يرفع بطاقة النموذج والعينات
والتقييمات والملف .nemo (1.36 GiB) عبر Git LFS. إن كان اسم حسابك مختلفاً،
مرّر اسم-المستخدم/Bayan-Arabic-TTS-v1.0 كوسيط للسكربت.
- Downloads last month
- -
Model tree for anwar-dev/Bayan-Arabic-TTS-v1.0
Base model
nvidia/magpie_tts_multilingual_357m