VibeVoice

Microsoft VibeVoice अंग्रेज़ी और चीनी के लिए एक लंबे-रूप, बहु-वक्ता टेक्स्ट-टू-स्पीच मॉडल है। छोटे उच्चारणों के TTS के विपरीत, यह एक ही पास में पॉडकास्ट-लंबाई के संवाद, ऑडियोबुक नैरेशन, और बहु-वक्ता दृश्य तैयार करने के लिए डिज़ाइन किया गया है — 90 मिनट तक, 4 अलग-अलग वॉयस तक, और पूरे आउटपुट में एक समान पहचान बनाए रखते हुए। दो वेरिएंट उपलब्ध हैं: कम-लेटेंसी स्ट्रीमिंग के लिए Realtime-0.5B, और लंबे-रूप फ्लैगशिप क्वालिटी के लिए 1.5B

यह क्या है

आर्किटेक्चर

चार सहयोगी घटक एक बार में एक 7.5 Hz लेटेंट के हिसाब से ऑडियो उत्पन्न करते हैं:

घटकविवरण
Split Qwen2 backbone24-layer Qwen2.5 decoder (896 hidden, GQA 14/2 for Realtime-0.5B). The model is split: the lower 4 layers form a text LM, the upper 20 layers run as the TTS LM. Text windows (5 tokens at a time) flow through both; generated speech latents flow only through the TTS LM.
σ-VAE acoustic tokenizerस्ट्रीमिंग conv stack that encodes 24 kHz audio to a 64-dim latent at 7.5 Hz (3200× temporal downsample) and decodes latents back to waveform. Used for both voice-cache creation and final audio decode.
Diffusion headSmall 4-layer DDPM head with adaLN modulation. Samples each speech latent via 20-step DPM-Solver with classifier-free guidance (cfg = 1.3 default for Realtime-0.5B, 1.5 for 1.5B).
EOS classifierPer-step binary classifier on the TTS LM's last hidden state. When sigmoid probability exceeds 0.5, generation stops.

voice-cache के माध्यम से वॉयस क्लोनिंग

जनरेशन के समय वक्ता की पहचान संदर्भ वेवफ़ॉर्म से नहीं आती। बल्कि, प्रत्येक वॉयस एक पूर्व-गणना किए .safetensors voice cache के रूप में आती है जिसमें किसी विशेष वक्ता के लिए कंडीशनिंग KV कैश और हिडन स्टेट होते हैं — संदर्भ ऑडियो को एनकोडर पथ से ऑफ़लाइन गुज़ारकर बनाया जाता है। रनटाइम पर voice cache लोड करना तत्काल है; एक मॉडल इंस्टेंस जनरेशनों के बीच कम लागत में वॉयस बदल सकता है।

उदाहरण voice caches (MIT-लाइसेंसित): mzbac/vibevoice.swift/voice_cache — Carter, Davis, Emma, Frank, Grace, Mike और भारतीय एक्सेंट वाला Samuel सहित 7 अंग्रेज़ी वॉयस।

मॉडल

बंडलक्वांटाइज़ेशनसाइज़HuggingFace
Realtime-0.5BBF16 (source)~1 GBmicrosoft/VibeVoice-Realtime-0.5B
Realtime-0.5B INT4Qwen2 INT4, tokenizer + diffusion FP16~350 MBaufklarer/VibeVoice-Realtime-0.5B-MLX-INT4
Realtime-0.5B INT8Qwen2 INT8~570 MBaufklarer/VibeVoice-Realtime-0.5B-MLX-INT8
1.5B long-formBF16 (source)~3 GBmicrosoft/VibeVoice-1.5B
1.5B INT4Qwen2 INT4~1 GBaufklarer/VibeVoice-1.5B-MLX-INT4

क्वांटाइज़ेशन models/vibevoice/export/convert.py द्वारा MLX ग्रुप-वार एफ़ाइन क्वांट (32-ग्रुप) से उत्पन्न होता है। एम्बेडिंग्स, नॉर्म्स, acoustic-tokenizer कॉन्वोल्यूशन और 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 प्रीसेट

let config = VibeVoiceTTSModel.Configuration.longForm1_5B
let tts = try await VibeVoiceTTSModel.fromPretrained(configuration: config)
try tts.loadVoice(from: "voices/narrator.safetensors")
let pcm = try await tts.generate(text: longTranscript)  // up to ~90 min

longForm1_5B प्रीसेट maxSpeechTokens को 4000 और cfgScale को 1.5 तक बढ़ाता है, ताकि लंबे-रूप का आउटपुट उच्च-फ़िडेलिटी का हो।

जनरेशन के बीच वॉयस बदलें

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

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

# लंबे-रूप 1.5B
audio vibevoice "Long paragraph ..." \
    --voice-cache voices/narrator.safetensors \
    --long-form \
    --max-tokens 4000 \
    --output episode.wav

फ़्लैग: --steps (DPM-Solver स्टेप्स), --cfg (गाइडेंस), --model / --tokenizer HuggingFace IDs को ओवरराइड करने के लिए, --long-form 1.5B प्रीसेट पर स्विच के लिए, --verbose टाइमिंग के लिए।

speech-swift TTS मॉड्यूल्स में से चुनाव

Kokoro-82MQwen3-TTSCosyVoice3VibeVoice RealtimeVibeVoice 1.5B
पैरामीटर82M7B7B500M1.5B
बैकएंडCoreML (ANE)MLXMLXMLXMLX
भाषाएँ810+10+EN/ZHEN/ZH
वॉयस क्लोनिंगतय प्रीसेटICL संदर्भज़ीरो-शॉट संदर्भvoice cachevoice cache
लंबे-रूपछोटा/मध्यमस्ट्रीमिंगस्ट्रीमिंगस्ट्रीमिंग90 मिनट तक / 4 वक्ता
VibeVoice चुनें जब…

…आपको अंग्रेज़ी या चीनी में लंबे-रूप, बहु-वक्ता, या पॉडकास्ट / ऑडियोबुक आउटपुट चाहिए, और कई मिनटों के ऑडियो में एक समान वॉयस पहचान बनाए रखनी हो। छोटे-रूप बहुभाषी TTS के लिए Qwen3-TTS या CosyVoice3 बेहतर हैं। iOS-नेटिव छोटे उच्चारणों के लिए सबसे छोटा विकल्प Kokoro है।