תרגום מכונה · המקור באנגלית
CosyVoice3
Run CosyVoice3 מקומי ב Mac עם MLX עבור דיבור בתשע שפות ושמיעה קולית מהקלטה קצרה. הקשב לדוגמאות, משובצות וסטייל מבוקרות, ולאחר מכן נסה לשכט עם התייחסות אודיו ואת התמליל המדויק שלה.
דוגמיות אודיו · קול עם CLI · שפות תמיכה · השוואה ומתודולוגיה קול-קולית מלאה
דוגמיות אודיו
הקשב לקול ברירת המחדל הקיים, ההטמעה שנעשתה מ Kokoro af_heart, והדוגמה הנשלטת על ידי סגנון.דוגמה CLI להלן משתמשת בהפניה נפרדת FLEURS הפניה.
8 סיביות CosyVoice3 סינתזה עם זרע קבוע.
CosyVoice3 משוב מתוך Kokoro Af_heart Reference קליפ.
משלוח בהיר ומרגש באמצעות --cosy-instruct.
קול עם CLI
הורד Reference Audio כהערה.wav. הפקודה משתמשת בתעתיק המדויק שלה; להחליף הן את הקלטת והן את תמליל בעת שימוש במדגם הקול שלך.
speech speak "Hello from the cloned voice." \
--engine cosyvoice \
--cosyvoice-variant bf16 \
--voice-sample reference.wav \
--cosy-reference-transcript "One can only wonder what the keyboard will become when something newer comes along." \
--seed 42 \
--output clone.wav
CosyVoice 3 לעומת 3.5 זמינות
מדריך זה ו Soniqo's Runtime Support the Open Fun-CosyVoice 3-0.5B (3.0) קו.The קוד פתוח רשמי כיום מפרסם ומסמכים 3.0 - כולל Fun-CosyVoice3-0.5B-2512- ואינו חושף את משקלו של CosyVoice 3.5 או קוד ההקצאה. cosyvoice-v3.5-plus שם הוא מודל של Alibaba Cloud Model Studio API, לא מחסומים שניתן להורידם ב-Expository הזה, כך Soniqo אינו טוען תמיכה מקומית 3.5.
שפות תמיכה
| שפה | קוד קודקוד |
|---|---|
| סין הסינית | סין |
| אנגלית אנגלית | אנגלית |
| יפן יפנית | יפן |
| קוריאה הקוריאנית | korean |
| גרמניה גרמנית | גרמניה גרמניה גרמניה |
| ספרדית | המונחים: |
| צרפתית צרפתית צרפתית | צרפתית צרפתית |
| איטלקי איטלקי איטלקי איטלקי | איטלקית איטלקית איטלקית איטלקית יפנית איטלקית איטלקית איטלקית |
| רוסיה רוסיה | רוסיה |
המונחים:
CosyVoice3 בשלוש שלבים:
- LLM - Qwen2.5-0.5B עמוד השדרה יוצר את FSQ (Finite Scalar Quantization) דיבור אסימונים מטקסט
- DiT Flow Matching - A 22-layer Diffusion Transformer ממיר אסימוני דיבור לתוך spectrograms אבטיח באמצעות שילוב ODE
- HiFi-gan - Neural Filter Source vocoder ממיר spectrograms לתוך 24 kHz גלפורות
ארכיטקטורה
LLM (Qwen2.5-0.5B)
זמן הריצה הנוכחי תומך bf16 (default), 8bit ו- 8bit-מלא. בחר חבילה עם --cosyvoice-variant.מודל השפה יוצר דיבור דיסקרטי לסימון אוטומטי.
| Parameter | ערך |
|---|---|
| שכבות | 24 |
| ממד נסתר | 896 |
| ראשי קווירי | 14 |
| ראשי מפתח / Value | 2 (GQA) |
| אוצר מילים FSQ | 6561 |
| המונחים | bf16 / 8 סיביות |
DiT Flow
ה Diffusion Transformer מחדד את הדיבור לתוך ספקטרוגרמה של אבטיח באמצעות זרימה מותנית התאמה עם הדרכה ללא מרשם.
| Parameter | ערך |
|---|---|
| שכבות | 22 |
| המימד המימד | 1024 |
| שימו לב | 16 |
| המונחים: | AdaLN (AdaLN) (AdalN) |
| ODE Solr | אוילר, 10 צעדים |
| שיעור CFG | 0.7 |
HiFi-gan Vocoder
מקור נידור (NSF) vocoder שממיר spectrograms mel כדי גלפורות.
| Parameter | ערך |
|---|---|
| הרמוניים | 8 |
| יחס Upsample | 480x (8 x 5 x 3 x ISTFT 4 |
| ISTFT | n_fft=16, הופ=4 |
| המונחים: rate | 24 kHz |
משקל מודל
| משתנה | LLM | DiT | גודל | HuggingFace |
|---|---|---|---|---|
8bit | int8, קבוצה=64 | bf16 | 1.4 GB | aufklarer/CosyVoice3-0.5B-MLX-8bit |
8bit-full | int8, קבוצה=64 | int8, קבוצה=64 | 1.6 GB | aufklarer/CosyVoice3-0.5B-MLX-8bit-full |
bf16 | bf16 | bf16 | -2.1 GB | aufklarer/CosyVoice3-0.5B-MLX-bf16 |
כל חבילה כוללת את LLM, DiT זורם coder, HiFi-gan vocoder, ואת ה- S3-Tokenizer הפנה קודר נדרש עבור קול אפס-shot שיבוט. bf16 כאשר LLM/DiT קוונטיזציה רעש הופכת לבעיה (סינתזה לטווח ארוך, קולי שיבוט נאמנות).
CLI Usage
# Default bf16 bundle
.build/release/speech speak "Hallo Welt" --engine cosyvoice --language german -o output.wav
# Pick a variant via --cosyvoice-variant
.build/release/speech speak "Hallo Welt" --engine cosyvoice --cosyvoice-variant bf16 --language german -o output.wav
דוגמאות
# English
.build/release/speech speak "Hello, how are you?" --engine cosyvoice -o hello_en.wav
# Chinese
.build/release/speech speak "你好世界" --engine cosyvoice --language chinese -o hello_cn.wav
# Spanish
.build/release/speech speak "Hola, buenos días" --engine cosyvoice --language spanish -o hello_es.wav
# French
.build/release/speech speak "Bonjour le monde" --engine cosyvoice --language french -o hello_fr.wav
שכפול קול
Clone כל קול מדגימה אודיו קצרה תוך שימוש ב- --voice-sample דגל CosyVoice3 משתמש ברמקול CAM ++קודר כדי לחלץ 192-dim המטביע את התנאים האלה מודל זרימת DiT.
# Voice cloning
.build/release/speech speak "Hello in your voice" --engine cosyvoice --voice-sample reference.wav --cosy-reference-transcript "One can only wonder what the keyboard will become when something newer comes along." -o cloned.wav
# Cross-language: clone voice, speak in German
.build/release/speech speak "Guten Tag" --engine cosyvoice --voice-sample reference.wav --cosy-reference-transcript "One can only wonder what the keyboard will become when something newer comes along." --language german -o german.wav
איך זה עובד
- רמקול ++ coder תמצית 192-dim המטביעה מהשמע ההתייחסות באמצעות CoreML (Neural Engine)
- Affine Projection (192 80) תנאים זרימת DiT התאמה של קודקוד על קול היעד
- HiFi-gan vocoder ממיר את spectrogram מותאמת הדובר עד 24kHz אודיו
תגית: Encoder
| רכוש | ערך |
|---|---|
| מודל מודל | CAM++ (Context-Aware Masking++) |
| Embedding | 192 ממדים |
| חזרה | CoreML (Neural Engine, FP16) |
| גודל | 14 MB |
| HuggingFace | aufklarer/CamPlusPlus-Speaker-CoreML |
מודל CAM++ הורד באופן אוטומטי על השימוש הראשון של --voice-sample. ראה את Cloning מדריך לטיפים אודיו ו Swift API.
דיאלוג רב-דבר
שיחות סינת גודל בין דוברים מרובים באמצעות תגי דוברים ברשת.כל דובר מוקצה קול מקובץ אודיו הפניה באמצעות דגל --speakers.
# Two-speaker dialogue with voice cloning
.build/release/speech speak "[S1] Hello there! [S2] Hey, how are you?" \
--engine cosyvoice --speakers s1=alice.wav,s2=bob.wav -o dialogue.wav
# Three speakers
.build/release/speech speak "[A] Welcome. [B] Thanks! [C] Glad to be here." \
--engine cosyvoice --speakers a=host.wav,b=guest1.wav,c=guest2.wav -o panel.wav
שמות הדוברים בתגיות הם רגישים במקרה ותואמים למפתחי המיפוי. פער שתיקה חד-משמעי (default 0.2s) מוכנס בין סיבובים.
| אפשרות | Default | תיאור תיאור |
|---|---|---|
--speakers | מיפוי: s1=file.wav,s2=file.wav | |
--turn-gap | 0.2 | שתיקה בין סיבובים (שניים) |
--crossfade | 0.0 | Crossfade חפיפה בין סיבובים (שניים) |
Emotion & סטיילס
לשלוט בסגנון הדיבור על פלח תוך שימוש בתגי רגש פנימיים. CosyVoice3 משתמשת בקידומת הטקסט לפני <|endofprompt|>
# Emotion tags
.build/release/speech speak "(excited) Wow, amazing! (sad) But I have to go..." \
--engine cosyvoice -o emotion.wav
# Combined with speakers
.build/release/speech speak "[S1] (happy) Great news! [S2] (surprised) Really?" \
--engine cosyvoice --speakers s1=alice.wav,s2=bob.wav -o combined.wav
# Freeform instruction as tag
.build/release/speech speak "(Speak like a pirate) Ahoy matey!" \
--engine cosyvoice -o pirate.wav
# Global instruction (applies to all segments without emotion tags)
.build/release/speech speak "Hello world" \
--engine cosyvoice --cosy-instruct "Speak cheerfully" -o cheerful.wav
תגיות: Built-in Emotion
| Tag Tag | הוראה |
|---|---|
happy / excited | דברו בשמחה ובהתרגשות. |
sad | לדבר בעצב עם טון מלנכוליה. |
angry | לדבר עם כעס ועוצמה. |
whispers / whispering | לדבר בלחש רך ועדין. |
laughs / laughing | דברו בזמן צחוק. |
calm | דברו בשלווה ובשקט. |
surprised | לדבר עם הפתעה ומדהימה. |
serious | לדבר בטון רציני ופורמלי. |
תגים לא ידועים עוברים כהנחיות חינם, כך (Speak in a slow, dramatic voice) עובד כמו-is.
מודל בקרת Tokens (fl_ אסימונים)
באופן פנימי, CosyVoice3 LLM משתמש ב אסימוני בקרה מיוחדים - prefixededed fl_ - כדי לעבור בין מצבים (תיקון אפסי, סינתזת הוראה, שמירת רמקול, וכו ') אסימונים אלה הם חלק מהפטרון Upstream FunAudioLLM tokenizer; The The the the the tokenizers; the the the the upstream FunAullier; the Upstream Fun AudioLLM Tokenizer. Soniqo זמן ריצה פולט את הדבר הנכון באופן אוטומטי על בסיס דגל CLI או Swift API התקשרו אליכם, לכן אתם אף פעם לא כותבים אותם ביד.
| המונחים: | מצב Mode | איך להגות Soniqo |
|---|---|---|
<|fl_speaker_clone|> | קול Zero-shot משובץ מדגימה אודיו | מעבר --voice-sample reference.wav על CLI, או להגדיר voiceSample: Swift API |
<|fl_speaker_instruct|> | סינתזה מותנית של הוראה או סגנון עם קול ברירת מחדל | לעבור --cosy-instruct "Speak cheerfully" או להשתמש בקו Inline (happy) תג ללא --voice-sample. |
<|fl_speaker_instruct2|> | סינתזת הוראה בשילוב עם קול הפניה משובץ | שלב --voice-sample reference.wav עם --cosy-instruct "..." (או תג רגש פנימי) באותה שיחה. |
<|fl_save_speaker|> | Persist a Speaker's הטמיע לשימוש חוזר מבלי להחזיר את אודיו ההתייחסות לכל שיחה | לא להיחשף ישירות ב Soniqo CLI - הטמעת קידוד לכל שיחה. to cache, לחלץ את 192-dim CAM + ו- CAM באמצעות דבר Embeddings מודול ולהעביר אותו קדימה. |
<|fl_speaker_clone_zh|>, <|fl_speaker_clone_en|>, … | שפה ספציפית אפס-shot cloning רמזים בשימוש על ידי tokenizer | שלב --voice-sample עם --language german|spanish|chinese|... Soniqo בוחר את הרמז בשפה הנכונה מן הדגל --language. |
השולחן מעל המפות כל זרם fl_ שליטה על ה- Soniqo שווה ערך.You Never Need to splice fl_ אסימונים לתוך עצמך המהיר - להעביר את דגלי CLI ברמה גבוהה או Swift API טיעונים ואת הזמן לרוץ פולטים את הרצף הנכון: השיבוט, כדי ללמד instruct2, להציל_רמקולer.
פשטות
שלב LLM משתמש בתצורת הדגימה הבאה:
| Parameter | ערך |
|---|---|
| Top-k | 25 |
| Top-p | 0.8 |
| Repetition Aware Sampling | Enabled (window=10, tau_r=0.1) |
Repetition Aware Sampling (RAS), מ-VALL-E 2, מעניש אסימונים שהופיעו ב-10 האחרון שנוצר אסימונים.זה מונע פריטים אודיו חוזרים ומשפר את יציבות התפוקה.
ביצועי ביצועים
על M2 Max, CosyVoice3 משיגה RTF של כ-0.5 - מהר יותר מאשר בזמן אמת.
| שלב השלב | חוסר יציבות |
|---|---|
| LLM (מעודכן) | 13 ms/token |
| DiT Flow | 370 - 520 מ"ס |
| HiFi-gan | 50 - 170 ms |
הגרסאות LLM (8-bit / 8 סיביות-bit-מלא) compile(shapeless: true) עבור לולאה autoregressive, אשר מבטלת recompilation overhead על פני אורך רצף משתנה. bf16 גרסאות לדלג כי להרכיב - MLX-Swift חסר צורה לא יכול להפר את צורת הפלט של הזדומולה חד-משמעית כי ברור כי ברור זה ברור כי פשוט Linear שימושים - ומנהלים את הדור לולאה בשקיקה. halved CFG halves את המספר של DiT קדימה עובר 20 ל 10 בכל הגרסאות.
Qwen3-ASR דיבור-אל-טקסט · Parakeet TDT דיבור לטקסט · Kokoro-82M TTS