תרגום מכונה · המקור באנגלית

ארכיטקטורה

הוראות האינדיאנים TTS

בנה את Native SDK תמיכה ממקור עיקרי Homebrew והודעות CLI נוספות שנבנו מראש עשויים לא לכלול את המנועים האלה עדיין.

Implementation (PR 541): main

פורסם 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; מחקר / רישיון לא מסחרי).

Swift API

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 למסגרת).

Swift ו- CLI Use

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)600M4bit / 8 סיביות680 MB / 1.0 GB
Qwen3-ASR 0.6B (CoreML)186M (encoder)INT8180 MB
Qwen3-ASR 1.7B (MLX)1.7B4bit / 8 סיביות2.1 GB / 3.2 GB
Parakeet-TDT 0.6B (CoreML)600MINT8500 MB
Whisper Large-v3 Turbo (CoreML)809MFP161.6 GB
MOSS Transcribe Diarize 0.9B (MLX)908.5MFP16 אודיו + INT5 / INT8 decoder987.0 MiB / 1,200.1 MiB
MOSS Transcribe Diarize 0.9B (CoreML)900MFP16 / INT8 block-321.7 GB / 1.2 GB
Parakeet-EOU 120M (CoreML)120MINT8120 MB
Omnilingual-ASR-CTC 300M (CoreML)326MINT8312 MB
Omnilingual-ASR-CTC 300M (MLX)326M4bit / 8 סיביות193 MB / 342 MB
Omnilingual-ASR-CTC 1B (MLX)1.01B4bit / 8 סיביות549 MB / 1006 MB
Omnilingual-ASR-CTC 3B (MLX)3B4bit / 8 סיביות1.71 GB / 3.16 GB
Omnilingual-ASR-CTC 7B (MLX)7B4bit / 8 סיביות3.55 GB / 6.63 GB
Cohere Transcribe 2B (MLX)2BFP16 / INT5 / INT83.85/1.62 / 2.25 GiB
Voxtral Mini 3B 2507 (MLX)3BFP16 / INT5 / INT88.71 / 3.77 / 5.18 GiB
Qwen3-ForcedAligner 0.6B (MLX)600M4bit / 8 סיביות979 MB / 1.4 GB
Qwen3-ForcedAligner 0.6B (CoreML)600MINT4 / INT8630 MB / 1.0 GB
Qwen3-TTS 0.6B (MLX)600M4bit / 8 סיביות1.7 GB / 2.4 GB
Qwen3-TTS 1.7B (MLX)1.7B4bit / 8 סיביות3.2 GB / 4.8 GB
CosyVoice3 0.5B (MLX)-500M4 סיביות LLM1.2 GB
IndexTTS2 חבילת הרחבה (MLX)1.5B-classFP16 + מודל עזר4.8 GB
Kokoro-82M (CoreML)82MINT8 (1דלי)89 MB
Qwen3.5-Chat 0.8B (MLX)800MINT4418 MB
Qwen3.5-Chat 0.8B (CoreML)800MINT8981 MB
PersonaPlex 7B (MLX)7B4bit / 8 סיביות4.9 GB / 9.1 GB
VoiceChat 11B (MLX)11BINT5 / INT88.56 GB / 12.11 GB
Pyannote VAD (MLX)1.49Mfloat325.7 MB
Silero VAD v5309Kfloat321.2 MB (MLX & CoreML)
p99 turn-1-mini5.3MFloat3222 MB (CoreML)
VAP (OtoSpeech)5.8MFloat3239 MB (CoreML) / 40 MB (ONNX)
WeSpeaker ResNet346.6Mfloat3225 MB (MLX & CoreML)
נאומו שלBrain ECAPA VoxLingua10721.25MFP1640.6 MiB (MLX) / - 40.8 MiB ( CoreML)
ReDimNet2-B612.3Mfloat1625 MiB (CoreML
Pyannote Community-1 (CoreML)8.35Mfloat32 + Native VBx32 MB
Nemotron 3 Diarization (CoreML / MLX)100MINT8100 MB ל-Backend
(CoreML)—float1650 MB
DeepFilterNet3 (CoreML)2.1MFP164.2 MB
LocalVQE v1.4-AEC (CoreML + C++)200K + 2,742FP16 + FP32732 KB

MLX מודל ראשוניזציה

QuantizedLinear.preQuantized יוצר מצייני מקום מאופסים עבור שכבות ליניאריות מקוונטטות שנטענות מנקודת ביקורת, וכך נמנע מיצירת משקלים אקראיים וגרפי הקוונטיזציה הזמניים שלהם. withThrowawayRandomState מונע מאתחול הנקודה הצפה שנזרק להשפיע על שרשרת המפתחות האקראיים של הקורא. טוענים מורכבים מגדירים תחום נפרד לכל רכיב: T5 ו-EnCodec של MAGNeT, ‏T5Gemma ו-SAME-L של Stable Audio 3, וקודק Mimi של CSM. ההטמעות המקוונטטות של CSM עדיין משתמשות במאתחל המקורי ושומרות על המגבלה הידועה שלו בגרף האתחול.

אופטימיזציה ביצועים

עיבוד אודיו

כל אודיו I / O משתמש Float32

מודל מודלריבית צפויהפורמט Format
Qwen3-ASR16 kHzMono Float32
Cohere Transcribe 2B16 kHzMono Float32
Voxtral Mini 3B16 kHzMono Float32
Qwen3-TTS24 kHz פלטMono Float32
CosyVoice324 kHz פלטMono Float32
Kokoro-82M24 kHz פלטMono Float32
PersonaPlex24 kHz I/OMono Float32
Pyannote VAD16 kHzMono Float32
Silero VAD16 kHzMono Float32
WeSpeaker16 kHzMono Float32
שם הסרטון:Brain ECAPA LID16 kHzMono Float32
ReDimNet2-B616 kHzMono Float32
DeepFilterNet348 kHzMono 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; הבדלים מספריים חוזרים יכולים עדיין לשנות את התפוקה.

MOSS-TTS-Nano

אינדיאנית מקומית

הסוכן האופטימי טוען כי הוא מוקרן 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.

API פרטים

בעלות מודל אופטי

דיבור 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.

קרא את Voxtral TTSמדריך

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 לשמור על רישיון הקהילה ו הערה.

4-bit Index

PCM הזרמת זמין באמצעות generateStreaming, generateStream ו --stream. ברירת המחדל מכילה 3 מסגרות Codec, בערך 139 ms של אודיו. שתף טקסט ארוך-טקסט וזרימת טקסט נשאר בלתי זמין.

כל חוברת קוד המגדל משתמשת 4,096 ערכים אסימונים. Buffered וסטרימינג דגים DAC decoding הן קודים של clamp לקוד של 1,024-הכניסה של קודים חוזרים לשמור על ערכי המגדל המקוריים.

מידות ריקות לא יסרבו לפני שמדפי מודל טעינה.