תרגום מכונה · המקור באנגלית
ארכיטקטורה
הוראות האינדיאנים TTS
בנה את Native SDK תמיכה ממקור עיקרי Homebrew והודעות CLI נוספות שנבנו מראש עשויים לא לכלול את המנועים האלה עדיין.
פורסם MLXחבילות: aufklarer/FireRedTTS3-Instruct-MLX-fp32 aufklarer/MOSS-VoiceGenerator-MLX-bf16
FireRedTTS3-Instruct — FireRedTTS3TTSFireRedTTS3-Instruct שומרת על מודל Float32 ו-coder Weights.It מחזיר אודיו ספוג: omit --stream. אנגלית וסינית --language alias מתקבלים. דור מגביל מעלה טעות במקום להחזיר הצלחה מחוספסת.
MOSS-VoiceGener — MossVoiceGeneratorTTSשם המחבר: MOSS-VoiceGenerator BF16 משקל שפה ו FP32 סינתזה codec. השתמש --stream PCM. Omit --language דרישות שפה --instructCompletion מרוקן את כל שש עשרה ספרי קוד.
כל שדה טקסט והדרכה מוגבל ל-32,768 UTF-8 Bytes. The Complete שניתנו לקלט מהירות, כולל התבנית שלה, חייב להתאים בתוך 4,096 אסימונים.
איכות מעקב אחר הוראה היא לא מזוקקת.ממדת קצר תיאור ההתקנה נבדקת; הסמכה לעקב מודל קיים נותרת בלתי כוללת.
Breeze TTS 2.
אנגלית / סינית TTS עם עיצוב קול, הפניה משוב וכיוון, ופלט אודיו (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 Runtime- PocketTTS
PocketTTS מוסיף Native CoreML סינתזה דיבור ל speech-swift.כל השלבים חדלו מביצוע CPU בלבד.The English Alba presets 1,920-sample מסגרות ב 24 kHz (80 ms למסגרת).
speech-swift הוא מאורגן כמודולרית Swift חבילה עם פרוטוקולים משותפים, מודולים מודל עצמאי, ו- CLI מאוחדת כל ההקצאה פועלת על-ידי שימוש ב-device. MLX (Metal GPU) או CoreML (Neural Engine).
המונחים: גרף
┌──────────┐
│ AudioCLI │ (entry point)
└────┬─────┘
│
┌──────┴──────┐
│ AudioCLILib │ (commands)
└──────┬──────┘
│
┌─────────┬───────┼───────┬──────────┬──────────────┐
│ │ │ │ │ │
┌────┴───┐ ┌──┴──┐ ┌──┴──┐ ┌─┴────┐ ┌───┴────┐ ┌──────┴───────┐
│Qwen3ASR│ │Qwen3│ │Cosy │ │Perso-│ │Speech- │ │ Speech- │
│Parakeet│ │ TTS │ │Voice│ │naPlex│ │ VAD │ │Enhancement │
└────┬───┘ └──┬──┘ └──┬──┘ └──┬───┘ └───┬───┘ └──────┬───────┘
│ │ │ │ │ │
└────────┴───────┼───────┴─────────┘ │
│ │
┌──────┴──────┐ │
│ Qwen3Common │ (shared layers) │
└──────┬──────┘ │
│ │
┌──────┴──────┐ │
│ AudioCommon │ ◄──────────────────────┘
└─────────────┘ (protocols, audio I/O)MLX תקציב buffer
MLX מודל לרוץ זמן שיתוף ברירת מחדל min(2 GiB, physical RAM / 4) מעומס משקל לאורך כל חיי הדגם.תקציבי שיחות נמוכים יותר, כולל תקציבי קריאה נמוכים יותר, לרבות MLX.Memory.cacheLimit = 0תקציבים ספציפיים מודל נשמרים.הכסף מגביל idle buffers; משקולות פעילות, KV כיס וזיכרון התהליך הכולל יכול לעלות על זה. MLX trims על הקצאה, כך ה- buffer המשוחרר האחרון עשוי באופן זמני לשים את השפם מעל התקציב שלו עד ההקצאה הבאה.
unload() משחרר את הרישום של המודל; זמני ריצה ללא שיטה זו משחררים אותו על הרס.הבעל האחרון משחזר את התקציב של המתקשר, בעוד שלא עומסים קודמים משמרים את תקרת המודלים הנותרים. נתיבי CoreML-רק אינם רוכשים MLX
MOSS Transcribe Diarize
MossTranscribe החזרת לוחות זמנים מותאמים לרמקול באמצעות שני גבות ילידיות. CoreML שימושים קבועים 1,024MLState for Short Recordings MLX שימושים בצמיחה דינמית 131,072המונחים: affine INT5/INT8 משקל קודר, ואופציונלי FP16/INT8 KV caches עבור ברחבי העולם התכתבות ארוך-formal ארוך.שניהם הם לא מקוון, זמני ריצה אגרסיביים ולא סטרימינג מודלים.
VoiceChat 11B
משימות והערות: דיבור מורכב - ל-Speech; SALM-Duplex: Efficient and Direct du Modeling for Speech-to-Speech Language Model (interspeech 2025), שצוטט על ידי NVIDIA של VoiceChat כרטיס מודל.
זמן ריצה שלם, M5 Pro Pro 48 GB, שחרור, 80 תנוחת חיים: הגנה-ראש INT5 RSS הוא על 8.69 GB: שלושה נשלטים על-פילין RTF התוצאות היו 0.96, 0.96ו 0.99אופטימיזציה INT8 הביצועים עדיין לא נעשו מעודנים.
VoiceChat המונחים: whole native MLX דרך אודיו-טו-דיו: תפיסה מהירה-קונפורפורפורר, הנומוטרון-H דופלקס טקסט / ערוצים פונקציונליים, פעמוני טקסט מותנים עם שמונה הרשאות מסיכות, ו ADIT. 22.05 KHz עצבי Codec.סטרימינג שומר על תשומת לב לכל שכבות ו caches מהפכת סיבתיות, בעוד חלון קודק חי קבוע של שמונה מסגרת חי משתמש גרף מואסף. 80 מסגרת קלט של ms מייצרת החלטה שפה, 31 RVQ קודים, ובדיוק 1,764 הדגימות של המטענים דורשות שלמות encoder/ + llm/ + tts/ חבילות ודוחות יצואנים גדולים יותר בלבד. INT5 עכשיו יש לשמר את הצטברות RTF מתחת למטה 1 על הניסוי M5 המונחים: per-frame p95 חדר הראש נשאר צר.
המונחים: backend
| חזרה | חומרה | מודלים |
|---|---|---|
| MLX | Metal GPU | Qwen3-ASR, Qwen3-TTS, Breeze TTS 2, CosyVoice3, IndexTTS2, Qwen3.5-Chat, PersonaPlex, VoiceChat 11B, Omnilingual ASR (300M / M 1B / 3B / 7B) Cohere תגית: Transcribe 2B, Voxtral Mini 3B, MOSS תגית: Diarize Pyannote, Silero VAD, WeSpeakerנאומו שלBrain ECAPA LID Nemotron 3 Diarization, FireRedTTS3-Instructשם מקור: MOSS-VoiceGenerator |
| CoreML | CPU / GPU / Neural Engine (ANE) | Qwen3-ASR קודר (Hbrid) Parakeet TDT, Parakeet סטרימינג, Omnilingual ASR 300M, Kokoro-82M, Qwen3.5-Chat (אופציונלי), diarization מסובפור (Minorformer diarization), DeepFilterNet3, Silero VAD (אופציונלי) WeSpeaker (אופציונלי) MOSS תרגום לעברית עבור: Turscribe Diarize, SpeechBrain ECAPA LID Nemotron 3 Diarization |
| Accelerate | CPU (SIMD) | עיבוד אודיו (STFT, mel, FFT), עיבוד אותות |
מודל משקל
דגמי MLX משתמשים safetensors פורמט עם 4-bit או 8 סיביות קוונטיזציה (גודל הקבוצה 64). CoreML משתמשים במודלים של ZXQ .mlmodelc פורמט: Conversion Scripts in scripts/ להמיר את מחסום PyTorch.
Cohere ו Voxtral גם שימוש MLX Affine INT5 חבילות. MLX לא תומך ב-Affine INT7; INT8 זוהי האפשרות האיכותית הנתמכת.
| מודל מודל | Params | המונחים | גודל בדיסק |
|---|---|---|---|
| Qwen3-ASR 0.6B (MLX) | 600M | 4bit / 8 סיביות | 680 MB / 1.0 GB |
| Qwen3-ASR 0.6B (CoreML) | 186M (encoder) | INT8 | 180 MB |
| Qwen3-ASR 1.7B (MLX) | 1.7B | 4bit / 8 סיביות | 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 אודיו + 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 | 4bit / 8 סיביות | 193 MB / 342 MB |
| Omnilingual-ASR-CTC 1B (MLX) | 1.01B | 4bit / 8 סיביות | 549 MB / 1006 MB |
| Omnilingual-ASR-CTC 3B (MLX) | 3B | 4bit / 8 סיביות | 1.71 GB / 3.16 GB |
| Omnilingual-ASR-CTC 7B (MLX) | 7B | 4bit / 8 סיביות | 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 | 4bit / 8 סיביות | 979 MB / 1.4 GB |
| Qwen3-ForcedAligner 0.6B (CoreML) | 600M | INT4 / INT8 | 630 MB / 1.0 GB |
| Qwen3-TTS 0.6B (MLX) | 600M | 4bit / 8 סיביות | 1.7 GB / 2.4 GB |
| Qwen3-TTS 1.7B (MLX) | 1.7B | 4bit / 8 סיביות | 3.2 GB / 4.8 GB |
| CosyVoice3 0.5B (MLX) | -500M | 4 סיביות LLM | 1.2 GB |
| IndexTTS2 חבילת הרחבה (MLX) | 1.5B-class | FP16 + מודל עזר | 4.8 GB |
| Kokoro-82M (CoreML) | 82M | INT8 (1דלי) | 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 | 4bit / 8 סיביות | 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) |
| נאומו שלBrain 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 ל-Backend |
| (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 - Qwen3-TTS מאגד את הרמקול על השבר הגדל שלה ומדורג את מסגרת החיזוי של קוד 15 קבוצות קבוע כמו גרף אחד עבור סינתזה חד-טאם יחיד.
- Metal ספריית צלר - Pre-compiled Metal lib להימנע - 5x JIT אוסף מעל פני ראש.נבנה באמצעות
scripts/build_mlx_metallib.sh. - Chunked Codec decode TTS דיבור תהליכים קודקודים ב 25-frames עם 10 מסגרות חיבור חופפות כדי להימנע GPU זמן.
- Batch-doubled CFG CosyVoice3 DiT halves זרימה עובר על ידי אצווה תנאי + ללא תנאי יחד.
- RoPE משומש - שימושים
MLXNN.RoPEMetal kernel במקום סיבוב ידני. - ויטמין fusion - WeSpeakerנורמליזציה חדירת Conv2d משקולות בזמן המרה.
עיבוד אודיו
כל אודיו I / O משתמש Float32
| מודל מודל | ריבית צפויה | פורמט Format |
|---|---|---|
| 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 I/O | Mono Float32 |
| Pyannote VAD | 16 kHz | Mono Float32 |
| Silero VAD | 16 kHz | Mono Float32 |
| WeSpeaker | 16 kHz | Mono Float32 |
| שם הסרטון:Brain ECAPA LID | 16 kHz | Mono Float32 |
| ReDimNet2-B6 | 16 kHz | Mono Float32 |
| DeepFilterNet3 | 48 kHz | Mono Float32 |
מקור Structure
Sources/
AudioCommon/ Shared protocols, audio I/O, system-output capture
(SystemAudioTap), HuggingFace downloader,
SentencePieceModel (protobuf reader)
MLXCommon/ MLX utilities: weight loading, QuantizedLinear helpers,
SDPA multi-head attention helper, metal budget
Qwen3Common/ Shared model components (KV cache, RoPE, quantization)
Qwen3ASR/ Qwen3-ASR speech-to-text
ParakeetASR/ Parakeet TDT speech-to-text (CoreML)
ParakeetStreamingASR/ Parakeet EOU 120M streaming dictation (CoreML)
OmnilingualASR/ Meta wav2vec2 + CTC, 1,672 languages
(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 text-to-speech
FireRedTTS3TTS/ FireRedTTS3-Instruct (MLX, Float32)
MossVoiceGeneratorTTS/ MOSS-VoiceGenerator (MLX, BF16 + FP32)
CosyVoiceTTS/ CosyVoice3 text-to-speech
KokoroTTS/ Kokoro-82M text-to-speech (CoreML)
Qwen3Chat/ Qwen3.5-0.8B on-device LLM chat (MLX + CoreML)
PersonaPlex/ PersonaPlex speech-to-speech
SpeechVAD/ VAD (Silero + Pyannote), diarization, speaker embeddings
SpeechLanguageID/ Spoken language identification (SpeechBrain ECAPA, MLX + CoreML, 107 labels)
SpeechEnhancement/ DeepFilterNet3 noise suppression (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 command implementations
AudioCLI/ CLI entry point
scripts/ Model conversion (PyTorch → MLX/CoreML), benchmarking
Tests/ Unit and integration tests
Examples/ Demo apps (PersonaPlexDemo, SpeechDemo)GLiNER2.5-Decideתגית: Native MLX סיווג וישותINT8, FP16 או או FP32 משקלים; לא Python בזמן הקצוב.
Clef-flash: תצוגה מקדימה של החלטות טקסט מקומיות (9B, affine 4bit MLX), עם ראש schema משותף ופלט נפרד מפלט לפני.
MOSS-TTS-Nano
ביטוי הזרמת סינתזה וקול מתעתד עם CoreML, 48 kHz אודיו סטריאו ו 80 ms.
MossTTSNanoModelize בקשות ויוצר מצב CoreML עבור כל מילה.סינתנת סטream לשמר סטריאו; נאונדרציהModel מחזיר מונו למטה.com שפה: nil. Streams לסיים עם סימן סופי ריק.
macOS 15+ / iOS 18+4 גרפים מודפסים 367.6 MB. Prompt, הפניה ומסגרות מבוקשות לחלוק 1,024- המשך ההקשר.הזמן הדוחה על גדותיו מעלה שגיאה אם מקספרמס מגיע לפני סוף טבעי של סוף-סוף. CPU ברירת מחדל; היתרי gpu CPU+GPU ביצוע. PCG64 דגימה משתמשת בזרעים מתואמים של NumPy; הבדלים מספריים חוזרים יכולים עדיין לשנות את התפוקה.
אינדיאנית מקומית
הסוכן האופטימי טוען כי הוא מוקרן Gemma 4 12B Unified INT4 מודל טקסט לצד E4Bהשתמש במודל: "gemma4-12b-itעבור צ'אט עם כלים מקומיים, תוצאות היסטוריה וביטול. E4B נשאר זמין עבור בקשות אחרות. Gemma4UnifiedChat שימוש ב- pinned MLX יישום טקסט ומשחרר כל אחד מהבקשות של KV cache. Response parsing מסיר ערוץ דלימירים מטקסט מוחזר.המכונים נדריני כלי נדחו כתגובה מופרכת.
שירות Native סידורי צ'אט, סינתזה, ותעתיק; קל משקל VAD יש מצב זר נפרד. Gemma שימושים prefill 256- אצילות, בקשת KV המדינה שוחררה, ואת המדינה MLX שפם קפץ 128 MiB עם 20 GB allocator Limit.
בעלות מודל אופטי
דיבור Runtime מספק טעינה משותפת, כניסה ל-FIFO והוצאה להורג סדרתית Qwen3ASRRuntime בוחרת MLX או מלא CoreML באמצעות פקודות מפורשות; ממשקי API ו- CLI נותרו זמינים.
שרת השמע מחזיקה ברישיון הוצאה להורג אחד בכל בקשה מלאה, כולל פלט מפלט, עם עד 32 בקשות לחכות. ASR כישלונות לייצר שגיאות HTTP או WebSocket אירועים; תמלילים ריקים נותרו מוצלחים.
Voxtral TTS
Voxtral 4B TTS 2603 פועל באופן מקומי על Apple Silicon דרך מודול Voxtral TTS: 20 קולות מוקדמים, תשע שפות ו-24 דיבור מונו הרץ.
VoxtralTTS → 26-layer LM → 3-layer acoustic transformer → 24 kHz PCMקולות מוקדמים בלבד; שיבוט הפניה-קולי אינו זמין. SDKCLI, WebSocket ו-HTTP PCM. לספק את הטקסט המלא של קלט למעלה הקדמי.מודל משקולות להשתמש CC BY-NC 4.0.
Fish Audio דרמה 3
תמיכה ניסיונית MLX לדרמה 3 זמינה דרך FishAudioDrama3ModelA 35B Hybrid-attention MoE backbone, מגדל אודיו זמני ו- Fish DAC Codec לייצר 44.1 אודיו מונו הרץ 4מחסוםביט עבר גלפור ועצמאי ASR בדיקות עבור דור טקסט בלבד, הפנה משובץ ו- CLI פלט על Apple M5 Pro. 8-bit and BF16 נשאר בלתי חוקי.
ברירת המחדל balanced מצב trims idle MLX buffers מעל 512 MiB בגבולות שלב.הכובע המשותף ב-Fache-Time cache חל גם, שמירה על תקציבי שיחות נמוכים יותר; לא שליטה מגבילה את זיכרון התהליך הכולל. --fish-drama3-memory-mode unrestricted או או memoryOptions: .unrestricted עומס משקולות בלהיטות ומלג על שלב שלישיט, תוך שמירה על מכסה החיים.
דור טקסט בלבד מפרש 794.4 MiB של משקל קודר.המונח הראשון נטען ושומר אותם, כך לשמור codec.safetensors זמין עד אז.computed קודים לא צריך את הקידוד.
FishAudioTTS: FishAudioDrama3Model · backbone.model.* · semantic_head.* · tower.* · codec.safetensors
נבנה עם Fish Audio. Bundles לשמור על רישיון הקהילה ו הערה.
PCM הזרמת זמין באמצעות generateStreaming, generateStream ו --stream. ברירת המחדל מכילה 3 מסגרות Codec, בערך 139 ms של אודיו. שתף טקסט ארוך-טקסט וזרימת טקסט נשאר בלתי זמין.
כל חוברת קוד המגדל משתמשת 4,096 ערכים אסימונים. Buffered וסטרימינג דגים DAC decoding הן קודים של clamp לקוד של 1,024-הכניסה של קודים חוזרים לשמור על ערכי המגדל המקוריים.
מידות ריקות לא יסרבו לפני שמדפי מודל טעינה.