البنية
TTS أصلي بالتعليمات
ابنِ دعم SDK الأصلي من مصدر main. قد لا تتضمن إصدارات CLI الجاهزة، ومنها Homebrew، هذه المحركات بعد.
حزم MLX المنشورة: aufklarer/FireRedTTS3-Instruct-MLX-fp32 · aufklarer/MOSS-VoiceGenerator-MLX-bf16
FireRedTTS3-Instruct — FireRedTTS3TTS: يحتفظ FireRedTTS3-Instruct بأوزان Float32 للنموذج وفاكّ الترميز. يعيد الصوت كاملًا من الذاكرة: احذف --stream. يقبل --language أسماء الإنجليزية والصينية. بلوغ حد التوليد يسبب خطأ بدل اعتبار الصوت المبتور نجاحًا.
MOSS-VoiceGenerator — MossVoiceGeneratorTTS: يحتفظ MOSS-VoiceGenerator بأوزان لغة BF16 ومرمّز تركيب FP32. استخدم --stream لإخراج PCM تدريجي. احذف --language وضع متطلبات اللغة في --instruct. يُكمل الإنهاء جميع دفاتر الرموز الستة عشر.
يُحدّ كل من حقل النص وحقل التعليمات بـ 32,768 بايت UTF-8. يجب ألا يتجاوز الإدخال الكامل بعد تضمين القالب 4,096 رمزًا. تُرفض المدخلات التي تتجاوز أي حد.
لم تُقيّم جودة اتباع التعليمات بعد. تصف قياسات النصوص القصيرة الإعداد المختبَر؛ ولا تزال شهادة عدم تراجع زمن استجابة النماذج الحالية غير حاسمة.
Breeze TTS 2 · BreezeTTS
تحويل النص إلى كلام بالإنجليزية والصينية مع تصميم الصوت واستنساخه وتوجيهه من تسجيل مرجعي وبث الصوت (MLX BF16/8-bit، 24 kHz؛ للبحث والاستخدام غير التجاري فقط).
speech speak "The quick brown fox jumps over the lazy dog." --engine breeze \
--instruct "A clear, calm English narrator." --stream -o design.wav--breeze-model-id:aufklarer/Breeze-TTS-2-MLX-8bit--breeze-bundle-dir--breeze-cache-limit-mib--breeze-reference-text--breeze-temperature:0.9--breeze-top-k:50--breeze-top-p:1--breeze-cfg-scale:4--breeze-max-frames:750--breeze-seed:42--first-chunk-frames:3--chunk-frames:25
بيئة تشغيل أصلية لأجهزة Apple · PocketTTS
يضيف PocketTTS توليد الكلام الأصلي عبر CoreML إلى speech-swift. تعمل جميع المراحل على CPU فقط افتراضيًا. يبث صوت Alba الإنجليزي إطارات من 1,920 عينة بتردد 24 kHz، أي 80 مللي ثانية لكل إطار.
speech-swift منظَّم كحزمة Swift وحدوية ذات بروتوكولات مشتركة، ووحدات نماذج مستقلة، وواجهة CLI موحَّدة. يجري كل الاستدلال على الجهاز باستخدام MLX (GPU Metal) أو CoreML (Neural Engine).
مخطط اعتماديات الوحدات
┌──────────┐
│ AudioCLI │ (نقطة الدخول)
└────┬─────┘
│
┌──────┴──────┐
│ AudioCLILib │ (الأوامر)
└──────┬──────┘
│
┌─────────┬───────┼───────┬──────────┬──────────────┐
│ │ │ │ │ │
┌────┴───┐ ┌──┴──┐ ┌──┴──┐ ┌─┴────┐ ┌───┴────┐ ┌──────┴───────┐
│Qwen3ASR│ │Qwen3│ │Cosy │ │Perso-│ │Speech- │ │ Speech- │
│Parakeet│ │ TTS │ │Voice│ │naPlex│ │ VAD │ │Enhancement │
└────┬───┘ └──┬──┘ └──┬──┘ └──┬───┘ └───┬───┘ └──────┬───────┘
│ │ │ │ │ │
└────────┴───────┼───────┴─────────┘ │
│ │
┌──────┴──────┐ │
│ Qwen3Common │ (طبقات مشتركة) │
└──────┬──────┘ │
│ │
┌──────┴──────┐ │
│ AudioCommon │ ◄──────────────────────┘
└─────────────┘ (بروتوكولات، إدخال/إخراج صوتي)ميزانية ذاكرة مخازن MLX المؤقتة
تتشارك نماذج MLX حدًا افتراضيًا للمخازن القابلة لإعادة الاستخدام قدره min(2 GiB, physical RAM / 4)، من تحميل الأوزان حتى نهاية عمر النموذج. تُحفظ الميزانيات الأقل التي يحددها المستدعي، بما فيها MLX.Memory.cacheLimit = 0، والميزانيات الحالية الخاصة بالنماذج. يحد ذلك المخازن غير المستخدمة؛ وقد تتجاوز الأوزان النشطة وذاكرة KV وإجمالي ذاكرة العملية هذا الحد. يقلص MLX الذاكرة المؤقتة عند تخصيص الذاكرة، لذلك قد يرفع آخر مخزن محرر حجمها مؤقتًا فوق الميزانية حتى التخصيص التالي.
يحرر unload() تسجيل النموذج، وتحرره النماذج التي لا توفر هذه الطريقة عند إتلاف الكائن. يعيد آخر مالك ميزانية المستدعي، بينما تحافظ عمليات التفريغ السابقة على حدود النماذج المتبقية. لا تسجل المسارات التي تستخدم CoreML فقط ميزانية MLX.
MOSS Transcribe Diarize
يعيد MossTranscribe مقاطع مؤقتة منسوبة إلى المتحدثين عبر CoreML وMLX الأصليين. يستخدم CoreML حالة ثابتة من 1,024 token للتسجيلات القصيرة. ويستخدم MLX سياقا ديناميكيا من 131,072 token وأوزان مفكك affine INT5/INT8 وذاكرة KV اختيارية FP16/INT8. كلاهما يعمل دون اتصال وبفك ترميز ذاتي الانحدار، وليس بالبث.
VoiceChat 11B
المهمة والمرجع: speech-to-speech ثنائي الاتجاه؛ SALM-Duplex: Efficient and Direct Duplex Modeling for Speech-to-Speech Language Model (Interspeech 2025)، كما تستشهد به بطاقة VoiceChat الأصلية من NVIDIA.
runtime كامل، M5 Pro 48 GB، Release، إيقاع حي 80 ms: تبلغ ذروة RSS لـ INT5 برؤوس محمية نحو 8.69 GB؛ وكانت نتائج RTF المضبوطة للمسار الكامل 0.96 و0.96 و0.99. ولم يُعد قياس أداء INT8 المحسّن بعد.
ينفّذ VoiceChat مسار MLX الأصلي الكامل من الصوت إلى الصوت: إدراك FastConformer سببي، وقناتا النص/الوظيفة ثنائيتا الاتجاه في Nemotron-H، وفاك ترميز EAR-TTS مستقل مشروط بالنص مع ثماني دورات MaskGIT، ومرمّز عصبي بتردد 22.05 kHz. يحتفظ البث بذواكر مؤقتة محدودة للانتباه والالتفاف السببي لكل طبقة، بينما تستخدم نافذة المرمّز الحية الثابتة ذات الإطارات الثمانية رسماً مجمّعاً. ينتج كل إطار إدخال 80 ms قراراً لغوياً و31 رمز RVQ و1,764 عينة خرج بالضبط. يتطلب المحمّل bundle كاملاً من encoder/ + llm/ + tts/ ويرفض صادرات الفهم القديمة فقط. يحافظ INT5 الآن على RTF متوسط دون 1 على M5 Pro المختبَر، مع بقاء هامش p95 لكل إطار ضيقاً.
محرّكات الاستدلال الخلفية
| المحرّك الخلفي | العتاد | النماذج |
|---|---|---|
| MLX | GPU Metal | Qwen3-ASR, Qwen3-TTS, Breeze TTS 2, CosyVoice3, IndexTTS2, Qwen3.5-Chat, PersonaPlex, VoiceChat 11B, Omnilingual ASR (300M / 1B / 3B / 7B), Cohere Transcribe 2B, Voxtral Mini 3B, Pyannote, Silero VAD, WeSpeaker, MOSS Transcribe Diarize, SpeechBrain ECAPA LID, Nemotron 3 Diarization, FireRedTTS3-Instruct, MOSS-VoiceGenerator |
| CoreML | CPU / GPU / Neural Engine (ANE) | مُرمِّز Qwen3-ASR (هجين)، Parakeet TDT، Parakeet EOU streaming، Omnilingual ASR 300M، Kokoro-82M، Qwen3.5-Chat (اختياري)، فرز المتحدثين Sortformer، DeepFilterNet3، Silero VAD (اختياري)، WeSpeaker (اختياري), MOSS Transcribe Diarize, SpeechBrain ECAPA LID, Nemotron 3 Diarization |
| Accelerate | CPU (SIMD) | معالجة الصوت الأولية (STFT، mel، FFT) ومعالجة الإشارات |
صيغة أوزان النماذج
تستخدم نماذج MLX صيغة safetensors مع تكميم بـ 4 بت أو 8 بت (حجم المجموعة 64). تستخدم نماذج CoreML الصيغة المُجمَّعة .mlmodelc. تقوم سكربتات التحويل في scripts/ بالتحويل من نقاط حفظ PyTorch.
يوفّر Cohere وVoxtral أيضًا حزم MLX بتكميم INT5 التآلفي. لا يدعم MLX تكميم INT7 التآلفي؛ وINT8 هو خيار الجودة الأعلى المدعوم.
| النموذج | المعاملات | التكميم | الحجم على القرص |
|---|---|---|---|
| Qwen3-ASR 0.6B (MLX) | ~600M | 4-bit / 8-bit | 680 MB / 1.0 GB |
| Qwen3-ASR 0.6B (CoreML) | ~186M (encoder) | INT8 | ~180 MB |
| Qwen3-ASR 1.7B (MLX) | ~1.7B | 4-bit / 8-bit | 2.1 GB / 3.2 GB |
| Parakeet-TDT 0.6B (CoreML) | ~600M | INT8 | 500 MB |
| Whisper Large-v3 Turbo (CoreML) | 809M | FP16 | 1.6 GB |
| MOSS Transcribe Diarize 0.9B (MLX) | 908.5M | FP16 audio + INT5 / INT8 decoder | 987.0 MiB / 1,200.1 MiB |
| MOSS Transcribe Diarize 0.9B (CoreML) | ~900M | FP16 / INT8 block-32 | 1.7 GB / 1.2 GB |
| Parakeet-EOU 120M (CoreML) | ~120M | INT8 | ~120 MB |
| Omnilingual-ASR-CTC 300M (CoreML) | 326M | INT8 | 312 MB |
| Omnilingual-ASR-CTC 300M (MLX) | 326M | 4-bit / 8-bit | 193 MB / 342 MB |
| Omnilingual-ASR-CTC 1B (MLX) | 1.01B | 4-bit / 8-bit | 549 MB / 1006 MB |
| Omnilingual-ASR-CTC 3B (MLX) | ~3B | 4-bit / 8-bit | 1.71 GB / 3.16 GB |
| Omnilingual-ASR-CTC 7B (MLX) | ~7B | 4-bit / 8-bit | 3.55 GB / 6.63 GB |
| Cohere Transcribe 2B (MLX) | 2B | FP16 / INT5 / INT8 | 3.85 / 1.62 / 2.25 GiB |
| Voxtral Mini 3B 2507 (MLX) | 3B | FP16 / INT5 / INT8 | 8.71 / 3.77 / 5.18 GiB |
| Qwen3-ForcedAligner 0.6B (MLX) | ~600M | 4-bit / 8-bit | 979 MB / 1.4 GB |
| Qwen3-ForcedAligner 0.6B (CoreML) | ~600M | INT4 / INT8 | 630 MB / 1.0 GB |
| Qwen3-TTS 0.6B (MLX) | ~600M | 4-bit / 8-bit | 1.7 GB / 2.4 GB |
| Qwen3-TTS 1.7B (MLX) | ~1.7B | 4-bit / 8-bit | 3.2 GB / 4.8 GB |
| CosyVoice3 0.5B (MLX) | ~500M | LLM بـ 4-bit | ~1.2 GB |
| IndexTTS2 expanded bundle (MLX) | 1.5B-class | FP16 + auxiliary models | ~4.8 GB |
| Kokoro-82M (CoreML) | 82M | INT8 (1 bucket) | ~89 MB |
| Qwen3.5-Chat 0.8B (MLX) | ~800M | INT4 | 418 MB |
| Qwen3.5-Chat 0.8B (CoreML) | ~800M | INT8 | 981 MB |
| PersonaPlex 7B (MLX) | ~7B | 4-bit / 8-bit | 4.9 GB / 9.1 GB |
| VoiceChat 11B (MLX) | ~11B | INT5 / INT8 | 8.56 GB / 12.11 GB |
| Pyannote VAD (MLX) | ~1.49M | float32 | ~5.7 MB |
| Silero VAD v5 | ~309K | float32 | ~1.2 MB (MLX وCoreML) |
| p99 turn-1-mini | 5.3M | Float32 | 22 MB (CoreML) |
| VAP (otoSpeech) | 5.8M | Float32 | 39 MB (CoreML) / 40 MB (ONNX) |
| WeSpeaker ResNet34 | ~6.6M | float32 | ~25 MB (MLX وCoreML) |
| SpeechBrain ECAPA VoxLingua107 | 21.25M | FP16 | ~40.6 MiB (MLX) / ~40.8 MiB (CoreML) |
| ReDimNet2-B6 | 12.3M | float16 | ~25 MiB (CoreML) |
| Pyannote Community-1 (CoreML) | 8.35M | float32 + native VBx | ~32 MB |
| Nemotron 3 Diarization (CoreML / MLX) | 100M | INT8 | ~100 MB per backend |
| Sortformer (CoreML) | — | float16 | ~50 MB |
| DeepFilterNet3 (CoreML) | ~2.1M | FP16 | ~4.2 MB |
| LocalVQE v1.4-AEC (CoreML + C++) | 200K + 2,742 | FP16 + FP32 | ~732 KB |
تهيئة نماذج MLX
ينشئ QuantizedLinear.preQuantized مصفوفات مؤقتة من الأصفار للطبقات الخطية المكمّمة التي تُحمّل أوزانها من نقطة تحقق، مما يجنب إنشاء أوزان عشوائية ومخططات تكميم مؤقتة لها. ويعزل withThrowawayRandomState تهيئة الفاصلة العائمة التي ستُستبدل عن سلسلة المفاتيح العشوائية للمستدعي. وتعزل أدوات تحميل النماذج المركبة كل مكوّن: T5 وEnCodec في MAGNeT، وT5Gemma وSAME-L في Stable Audio 3، ومرمّز Mimi في CSM. ولا تزال تضمينات CSM المكمّمة تستخدم أداة التهيئة الأصلية وتحتفظ بالقيد المعروف المتعلق بعمر مخطط التهيئة.
تحسينات الأداء
- MLX compile() — دمج النوى للحلقات ذاتية الانحدار. يستخدم Talker
compile(shapeless: true)، ويستخدم Code Predictorcompile(shapeless: false)بأحجام ذاكرة تخزين مؤقت ثابتة. - مكتبة شيدرات Metal — يتجنّب metallib المُجمَّع مسبقًا حمل تجميع JIT بنحو 5x. يُبنى عبر
scripts/build_mlx_metallib.sh. - فك ترميز الكوديك بالأجزاء — يعالج مفكِّك TTS الكلامَ في أجزاء من 25 إطارًا مع تداخل سياق بـ 10 إطارات لتفادي انتهاء مهلة GPU.
- CFG بمضاعفة الدفعات — يقلِّص DiT في CosyVoice3 تمريرات flow matching إلى النصف بتجميع المشروط واللامشروط في دفعة واحدة.
- RoPE مدموج — يستخدم
MLXNN.RoPEالمدعوم بنواة Metal بدل التدوير اليدوي. - دمج BN — تُدمج batch normalization في WeSpeaker ضمن أوزان Conv2d وقت التحويل.
معالجة الصوت
يستخدم كل إدخال/إخراج صوتي PCM بصيغة Float32. يتولّى إعادة العيّنات الداخلي تحويل الصيغ:
| النموذج | المعدّل المتوقَّع | الصيغة |
|---|---|---|
| Qwen3-ASR | 16 kHz | Mono Float32 |
| Cohere Transcribe 2B | 16 kHz | Mono Float32 |
| Voxtral Mini 3B | 16 kHz | Mono Float32 |
| Qwen3-TTS | 24 kHz للخرج | Mono Float32 |
| CosyVoice3 | 24 kHz للخرج | Mono Float32 |
| Kokoro-82M | 24 kHz للخرج | Mono Float32 |
| PersonaPlex | 24 kHz إدخال/إخراج | Mono Float32 |
| Pyannote VAD | 16 kHz | Mono Float32 |
| Silero VAD | 16 kHz | Mono Float32 |
| WeSpeaker | 16 kHz | Mono Float32 |
| SpeechBrain ECAPA LID | 16 kHz | Mono Float32 |
| ReDimNet2-B6 | 16 kHz | Mono Float32 |
| DeepFilterNet3 | 48 kHz | Mono Float32 |
هيكل الكود المصدري
Sources/
AudioCommon/ بروتوكولات مشتركة، إدخال/إخراج صوتي، التقاط إخراج
النظام (SystemAudioTap)، مُنزِّل HuggingFace،
SentencePieceModel (قارئ protobuf)
MLXCommon/ أدوات MLX: تحميل الأوزان، مساعدات QuantizedLinear،
مساعد انتباه متعدّد الرؤوس SDPA، ميزانية metal
Qwen3Common/ مكوّنات نماذج مشتركة (ذاكرة KV، RoPE، التكميم)
Qwen3ASR/ Qwen3-ASR من الصوت إلى النص
ParakeetASR/ Parakeet TDT من الصوت إلى النص (CoreML)
ParakeetStreamingASR/ إملاء متدفّق Parakeet EOU 120M (CoreML)
OmnilingualASR/ Meta wav2vec2 + CTC، 1,672 لغة
(CoreML 300M + MLX 300M / 1B / 3B / 7B)
CohereTranscribeASR/ Cohere Transcribe 2B speech-to-text (MLX)
VoxtralASR/ Voxtral Mini 3B speech-to-text (MLX)
Qwen3TTS/ Qwen3-TTS من النص إلى الكلام
FireRedTTS3TTS/ FireRedTTS3-Instruct (MLX, Float32)
MossVoiceGeneratorTTS/ MOSS-VoiceGenerator (MLX, BF16 + FP32)
CosyVoiceTTS/ CosyVoice3 من النص إلى الكلام
KokoroTTS/ Kokoro-82M من النص إلى الكلام (CoreML)
Qwen3Chat/ دردشة LLM على الجهاز Qwen3.5-0.8B (MLX + CoreML)
PersonaPlex/ PersonaPlex من الكلام إلى الكلام
SpeechVAD/ VAD (Silero + Pyannote)، فرز المتحدثين، تضمينات المتحدث
SpeechLanguageID/ تحديد لغة الكلام (SpeechBrain ECAPA وMLX + CoreML و107 تسميات)
SpeechEnhancement/ كبت الضوضاء DeepFilterNet3 (CoreML)
SourceSeparation/ Open-Unmix HQ / UMX-L + HTDemucs (Demucs v4) music source separation (MLX, 4 stems)
MAGNeTMusicGen/ MAGNeT text-to-music generation (MLX, 30 s @ 32 kHz, INT4/INT8)
VoxCPM2TTS/ VoxCPM2 text-to-speech (MLX, 48 kHz, voice cloning + voice design)
IndexTTS2TTS/ IndexTTS2 voice cloning (MLX, semantic GPT + emotion/tempo/pause control + S2Mel + BigVGAN)
VibeVoiceTTS/ VibeVoice long-form / multi-speaker TTS (MLX, EN/ZH)
MagpieTTS/ NVIDIA Magpie-TTS Multilingual 357M (MLX INT4/INT8,
9 languages, 5 baked speakers, streaming)
MagpieTTSCoreML/ Magpie CoreML backend (4 .mlmodelc + Swift-side
FSQ inverse; 8 languages, batch-only; hybrid
with MagpieTTS for LocalTransformer + audio
embeddings)
MADLADTranslation/ MADLAD-400 many-to-many translation (MLX, 400+ languages)
GLiNER/ GLiNER2.5-Decide classification + entity spans (MLX, INT8/FP16/FP32)
AudioCLILib/ تنفيذات أوامر CLI
AudioCLI/ نقطة دخول CLI
scripts/ تحويل النماذج (PyTorch → MLX/CoreML)، اختبارات الأداء
Tests/ اختبارات الوحدة والتكامل
Examples/ تطبيقات تجريبية (PersonaPlexDemo, SpeechDemo)GLiNER2.5-Decide: تصنيف ومقاطع كيانات أصلية في MLX (أوزان INT8 أو FP16 أو FP32)؛ دون Python أثناء الاستدلال.
⚠ Translation out of date — English guide. The new Clef section below awaits translation.
Clef-flash: development preview of local text decisions (9B, affine 4-bit MLX), with a joint schema head and a separate output-embedding prior.
MOSS-TTS-Nano
توليد كلام متدفق واستنساخ الصوت عبر CoreML، بصوت ستيريو 48 kHz ومقاطع 80 ms.
ينفذ MossTTSNanoModel الطلبات بالتسلسل وينشئ حالة CoreML جديدة لكل عبارة. يحافظ synthesize وsynthesizeStream على ستيريو، بينما يعيد SpeechGenerationModel مزيجا أحاديا. مرّر language: nil. ينتهي التدفق بعلامة نهائية فارغة.
يلزم macOS 15+ / iOS 18+؛ حجم النماذج المجمعة الأربعة 367.6 MB. يتشارك الطلب والمرجع والمقاطع المطلوبة سياقا من 1,024 صفا. يؤدي التجاوز أو بلوغ maxFrames قبل النهاية الطبيعية إلى خطأ. CPU هو الافتراضي؛ يسمح gpu باستخدام CPU+GPU. بذور PCG64 متوافقة مع NumPy؛ وقد تؤثر الفروق العددية بين المحركات في الناتج.
إدارة اختيارية للنماذج
يوفر SpeechRuntime تحميلًا مشتركًا وقبولًا قابلًا للإلغاء وفق FIFO وتنفيذًا تسلسليًا. يختار Qwen3ASRRuntime بين MLX وCoreML الكامل بواصفات صريحة، وتظل واجهات API الأصلية وخيارات CLI متاحة.
يحتفظ الخادم بإذن تنفيذ طوال الطلب بما في ذلك الإخراج المتدفق، مع انتظار 32 طلبًا كحد أقصى. تنتج إخفاقات ASR أخطاء HTTP أو أحداث خطأ WebSocket، بينما تظل النصوص الفارغة الصحيحة ناجحة. يحتفظ التشغيل بالعينات الزائدة. تستمر النماذج المخزنة مؤقتًا والصوت المنتظر في شغل الذاكرة.
Voxtral TTS
يعمل Voxtral 4B TTS 2603 محليًا على Apple Silicon عبر وحدة VoxtralTTS: 20 صوتًا مُعدًا مسبقًا وتسع لغات وصوت أحادي بتردد 24 kHz.
VoxtralTTS → 26-layer LM → 3-layer acoustic transformer → 24 kHz PCMتتوفر أصوات جاهزة فقط؛ لا يتوفر استنساخ الصوت من تسجيل مرجعي. تُخرج SDK وCLI وWebSocket وHTTP PCM الصوت أثناء التوليد. يجب تقديم نص الإدخال كاملاً في البداية. أوزان النموذج مرخصة بموجب CC BY-NC 4.0.
Fish Audio Drama 3
يتوفر دعم MLX أصلي تجريبي لنموذج Drama 3 عبر FishAudioDrama3Model. يستخدم نموذج MoE بحجم 35 مليار معلمة وانتباه هجين وبرج فك ترميز زمني وبرنامج الترميز Fish DAC لإنتاج صوت أحادي بتردد 44.1 kHz. اجتازت النسخة ذات 4 بت اختبارات الصوت والتعرف المستقل على الكلام للتوليد من النص واستنساخ الصوت المرجعي وإخراج CLI على Apple M5 Pro. لم تُختبر بعد نسختا 8 بت وBF16.
يحرر وضع balanced الافتراضي مخازن MLX غير المستخدمة عندما تتجاوز 512 MiB بين المراحل. ينطبق أيضًا حد الذاكرة المؤقتة المشترك طوال عمر النموذج مع حفظ ميزانيات المستدعي الأقل؛ ولا يحد أي منهما إجمالي ذاكرة العملية. يحمل --fish-drama3-memory-mode unrestricted أو memoryOptions: .unrestricted الأوزان مسبقًا ويتجاوز التنظيف بين المراحل، مع إبقاء حد عمر النموذج.
يؤجل التوليد من النص وحده تحميل 794.4 MiB من أوزان مُرمِّز الصوت المرجعي. تُحمَّل وتُحتفَظ بها عند أول ترميز مرجعي، لذا أبقِ codec.safetensors متاحًا حتى ذلك الحين. لا تحتاج الرموز المرجعية المحسوبة مسبقًا إلى المُرمِّز.
FishAudioTTS: FishAudioDrama3Model · backbone.model.* · semantic_head.* · tower.* · codec.safetensors
تم البناء باستخدام Fish Audio. تحتفظ الحزم بملفي Community License وNOTICE.
يتوفر بث PCM عبر generateStreaming وgenerateStream و--stream. تحتوي الدفعة افتراضياً على 3 إطارات من الترميز، أي نحو 139 مللي ثانية من الصوت. لا يتوفر بعد التقسيم التلقائي للنصوص الطويلة أو الإدخال المتدرج للنص.
يستخدم كل دفتر رموز في برج الصوت 4,096 قيمة رمز. يقيّد فك ترميز Fish DAC، سواء بالتخزين المؤقت أو البث، الرموز المتبقية بنطاق دفاتر الرموز المتبقية في برنامج الترميز، التي تضم 1,024 إدخالاً. تحتفظ دفاتر الرموز المُعادة بقيم البرج الأصلية.
تُرفض الأبعاد غير الصالحة للترميز الموضعي الدوراني قبل تحميل أوزان النموذج.