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

VibeVoice

Microsoft VibeVoice היא מודל טקסט-ל-ל-speech עבור אנגלית וסינית. TTSזה נועד ליצור דיאלוג באורך פודקאסט, קריין של ספרי אודיו, וסצנות מרובות-רמקולים במעבר יחיד - עד 90 דקות עם עד 4 קולות שונים וזהות עקבית לאורך כל הספינה: Realtime-0.5B עבור זרימה דלת-latency 1.5B איכות הדגל לטווח ארוך.

מה זה

ארכיטקטורה

ארבעה מרכיבים לשיתוף פעולה מייצרים אודיו אחד 7.5 Hz מאוחר יותר בזמן:

המונחיםתיאור תיאור
פיצול Qwen2 עמוד השדרה24-layer Qwen2.5 קודר (Duncoder)896 חבוי, GQA 14/2 עבור Realtime-0.5Bהמודל מתחלק: התחתון 4 שכבות יוצרות טקסט LM, העליון 20 שכבות לרוץ כמו TTS חלונות טקסט (WEB5 אסימונים בזמן) זורמים דרך שניהם; יצר דיבור מאוחרים זורם רק דרך TTS LM.
תגית: VAE אקוסטית tokenizerערימה של סטרימינג מקודמת 24 אודיו kHz עד 64-dim מאוחר יותר ב 7.5 הרץ (3200 × temporal downsample) וקודמים מאוחרנים חזרה לגלפור.שימוש הן ליצירת קול-cache והן אודיו הסופי דה קוד.
ראש Diffusionקטן קטן 4ראשי התיבות של AdaLN Modulation. 20שלב DPM-Solver עם הדרכה ללא מתווך (cfg = =) 1.3 ברירת מחדל Realtime-0.5B, 1.5 עבור 1.5B).
תגית: EOS ClassifierPer-step binary Classifier on the TTS המדינה הנסתרת האחרונה של LM.כאשר הסתברות של סיגמאואיד עולה על 0.5, הדור מפסיק.

שפות

כרטיסי מודל של Microsoft: Realtime-0.5B הוא אנגלי רק (הגרסה למעלה של ספינות 9 קולות לא-EN מהירות כמו exploratory; איכות אינה מובטחת) 1.5B תומך אנגלית וסינית; שפות אחרות עשויות לייצר plaus-siblesounding but Unful וכדאי להיחשב אודיו ניסיוני.

זהות קולית – שתי דרכים נפרדות

שתי הגרסאות נוקטות גישות שונות מאוד למיזוג הדוברים, ולכל נתיב יש מגבלות ששווה לדעת מראש.

Realtime-0.5B - קפיות קול שנבנו מראש

זהות הדוברת מגיעה מ- .safetensors עמוד קול המכיל את המיזוג KV caches ומצבים נסתרים עבור דובר מסוים.

מחסום Realtime-0.5B מופץ בהקצאה בלבד - Microsoft אינה שולחת את הקוד האקוסטי, כך שחצני קול לא יכולים להימנות מדיו גולמי נגד המודל הזה. Microsoft's pre-Build .pt קול צ'יפס (קרטר, דייוויס, אמה, פרנק, גרייס, מייק, שמואל לאנגלית, בתוספת בירור דה/פרי/זי/קרי/שיר/נד/פל/קולות), השתמטו לקולות. .safetensors הפריסה הזו מצפה.

1.5B ארוך-form - קול משובץ מ אודיו גולמי

המחסום 1.5B Does ספינה הקוקוס האקוסי, כך שהוא יכול לשכט דובר שרירותי מ גלפורש הפניה + תמליל בנורה אחת.האנתרופולוגיה מוקצה על כל שיחת סינתזזה - אין קובץ קול-cache נפרד כדי לנהל.

FYI: speech vibevoice-encode-voice הוא שערק

פני השטח CLI ליצירת קול-קוקה לא מקוונת נגד Realtime-0.5B ייכשלו במהירות עם מצביע על זרימת העבודה של 1.5B הגולמית, שכן משקל קודר אינם נוכחים במחסום 0.5B. עד ש- Microsoft אוניות אותם, זהו הנתיב היחיד מקצה לקצה עבור שיבוט דובר מותאם אישית.

מודל מודל

BundleהמונחיםגודלHuggingFace
Realtime-0.5BBF16 (מקור)1 GBmicrosoft/VibeVoice-Realtime-0.5B
Realtime-0.5B INT4Qwen2 INT4, tokenizer + diffusion FP16350 MBaufklarer/VibeVoice-Realtime-0.5B-MLX-INT4
Realtime-0.5B INT8Qwen2 INT8570 MBaufklarer/VibeVoice-Realtime-0.5B-MLX-INT8
1.5B ארוך-formBF16 (מקור)3 GBmicrosoft/VibeVoice-1.5B
1.5B INT4 (ייצור)Qwen2 INT4 + קוד זדוני1 GBaufklarer/VibeVoice-1.5B-MLX-INT4

Quantization משתמש MLX קבוצה-wise קוונטית (32-קבוצה) Embeddings, נורמות, קונסטרוקציות אקוסטיות-טוkenizer, ואת מחלקת ה- EOS להישאר במקור שלהם dtype.

התחלה מהירה

import VibeVoiceTTS

let tts = try await VibeVoiceTTSModel.fromPretrained()
try tts.loadVoice(from: "/path/to/voice_cache/en-Mike_man.safetensors")
let pcm = try await tts.generate(text: "Hello world.")
// pcm: [Float] at 24 kHz mono

1.5B (שונה API)

1.5B יש ארכיטקטורה שונה (לאified Qwen2 LM, קודים כפולים, LM token sampling) כך שהיא אוניות כמעמד נפרד - VibeVoice15BTTSModel

let tts = try await VibeVoice15BTTSModel.fromPretrained()
let pcm = try await tts.generate(
    text: "Long English script.",
    referenceAudio: refSamples,    // [Float] mono speech, any rate
    referenceTranscript: "",
    sampleRate: 24000
)

שום שפם קולי לא צריך - המודל מקודש את אודיו ההתייחסות דרך שניהם. acoustic_tokenizer (64-dim) semantic_tokenizer (128-dim, ASR-מוגבל) ו מסכם אותם בעמדות מהירות אודיו.דור פועל LM token samplinged על sampinged על <speech_diffusion> / <speech_end> טקסט - מאריך את המאוחר האקוסטי רק כאשר ה-LM פולט את אות הדיבור.

ASR-verified on M2 Max INT4 (RTFx 1.48): עבור קלט "שלום העולם, זו אחת מ-5 מיליארד גרסאות וייבקול של הטקסט של Microsoft למודל דיבור".Nemotron תיאר את הפלט כ- "שלום העולם, זו הנקודה החמישית של 5 מיליארד באמצעות גרסה קולית של מודל הדיבור המיקרו רך". כל מילת תוכן תואמת, רק תחליף אקוסטי. VibeVoice ו תגית: texas.

קולות בין הדורות

try tts.loadVoice(from: "en-Mike_man.safetensors")
let a = try await tts.generate(text: "First speaker line.")
try tts.loadVoice(from: "en-Emma_woman.safetensors")
let b = try await tts.generate(text: "Second speaker line.")

CLI C

Realtime-0.5B עם מטמון קולי של Microsoft מומר (אנגלית):

speech vibevoice "Hello world." \
    --voice-cache voice_cache/en-Mike_man.safetensors \
    --output hello.wav

1.5B ארוך-form עם אודיו + תמליל (כולל דובר שרירותי, אנגלית או סינית):

speech vibevoice "Long paragraph ..." \
    --long-form \
    --reference-audio voice.wav \
    --reference-transcript "what was actually said in voice.wav" \
    --max-tokens 4000 \
    --output episode.wav

דגלים: --steps (DPM-Solver Steps) --cfg (צילום) --model / --tokenizer עקבו אחרי HuggingFace IDs --long-form כדי לעבור ל- 1.5B preset, --verbose לתזמון.

איסוף בין speech-swift TTS

Kokoro-82MQwen3-TTSCosyVoice3VibeVoice בזמן אמתוייבקול 1.5B
Params82M7B7B500 מיליון1.5B
חזרהCoreML (ANE)MLXMLXMLXMLX
שפות810+10+EN רקתגית + ZH
שיבוט קולהמונחים: presetsהמונחים:תגית: Zero-shotראשי תיבות של Voice caches OnlyRaw Audio + תמליל
לטווח ארוךקצר / mdiumהזרמת הזרמתסטרימינגהזרמת הזרמתסטרימינגהזרמת הזרמתסטרימינג90 דקות / 4
בחרו את VibeVoice כאשר...

אתה צריך רפורמות ארוכות, רב-רמקול, או פודקאסט/קולנוע באנגלית או סינית, עם זהות קולית עקבית לאורך דקות של אודיו. עבור multilingual TTS, Qwen3-TTS או או CosyVoice3 הם מתאימים יותר לביטויים קצרים של iOS, Kokoro זו האפשרות הקטנה ביותר.