MOSS-VoiceGenerator
ابنِ دعم SDK الأصلي من مصدر main. قد لا تتضمن إصدارات CLI الجاهزة، ومنها Homebrew، هذه المحركات بعد.
تصميم صوت عبر MLX أصلي انطلاقًا من النص الدقيق وتعليمات الصوت. خرج PCM أحادي بتردد 24 kHz دون الحاجة إلى تسجيل مرجعي.
يحتفظ MOSS-VoiceGenerator بأوزان لغة BF16 ومرمّز تركيب FP32. استخدم --stream لإخراج PCM تدريجي. احذف --language وضع متطلبات اللغة في --instruct. يُكمل الإنهاء جميع دفاتر الرموز الستة عشر.
بناء SDK من المصدر
git clone --single-branch --branch main https://github.com/soniqo/speech-swift.git
cd speech-swift
make buildحزم MLX المنشورة: aufklarer/MOSS-VoiceGenerator-MLX-bf16
سطر الأوامر
.build/release/speech speak "The little boat crossed the quiet lake before sunset." \
--engine moss-voicegenerator \
--moss-voicegenerator-model-id aufklarer/MOSS-VoiceGenerator-MLX-bf16 \
--instruct "A warm adult female voice, speaking English slowly." \
--stream --seed 42 --output moss.wavقدّم نصًا واحدًا و--instruct ودليل حزمة أو معرّف نموذج متوافق، أحدهما فقط. الصوت المرجعي والمتحدثون الثابتون وإدخال الدفعات غير مدعومة.
يُحدّ كل من حقل النص وحقل التعليمات بـ 32,768 بايت UTF-8. يجب ألا يتجاوز الإدخال الكامل بعد تضمين القالب 4,096 رمزًا. تُرفض المدخلات التي تتجاوز أي حد.
واجهة Swift
import MossVoiceGeneratorTTS
let model = try await MossVoiceGeneratorModel.fromPretrained(
modelId: "aufklarer/MOSS-VoiceGenerator-MLX-bf16")
let output = try await model.generate(
text: "The little boat crossed the quiet lake before sunset.",
instruction: "A warm adult female voice, speaking English slowly.",
options: .init(maxFrames: 150, seed: 42))
let pcm = output.samples
model.unload()قياسات تشغيل لنصوص قصيرة
M5 Pro، ذاكرة 48 GiB، إصدار Release. نص محايد قصير لكل لغة؛ وسيط ثلاثة طلبات بعد الأول. لا يشمل التحميل والتحقق من الأوزان؛ ذاكرة الملفات المؤقتة مهيأة. RTF = زمن التشغيل / مدة الصوت، والأقل أسرع. الذاكرة الفعلية أعلى قيمة للعملية أثناء التحميل وأربعة طلبات، بوحدة GB العشرية.
| النص | الصوت (s) | أول PCM بعد الإحماء (s) | RTF | ذروة الذاكرة الفعلية (GB) |
|---|---|---|---|---|
| الإنجليزية | 3.44 | 0.470 | 0.610 | 8.448 |
| الماندرين | 4.88 | 0.457 | 0.572 | 8.619 |
يوجد خلاف غير محسوم في صوت التوقيت الإنجليزي: يضيف Parakeet كلمة “and” في النهاية، بينما يطابق Qwen3-ASR النص كاملًا. احتُفظ بالنتيجتين.
نطاق التحقق
لم تُقيّم جودة اتباع التعليمات بعد. تصف قياسات النصوص القصيرة الإعداد المختبَر؛ ولا تزال شهادة عدم تراجع زمن استجابة النماذج الحالية غير حاسمة.