Awtomatikong salin · Orihinal sa Ingles

Kabigha - bighani

Ang Microsoft VibeVoice ay isang long-form, multi-speaker text-to-speech model para sa Ingles at Intsik. Hindi tulad ng short-taillance TTS, ito ay dinisenyo upang lumikha ng podcast-drough diversion, audiobook relatement, at multi-sclaper na mga eksena sa isang solong daanan – hanggang 90 minuto na may hanggang sa 4 iba't ibang boses at hindi pabagu-bago na pagkakakilanlan sa buong barko. Realtime-0.5B para sa low-latency clow at 1.5B para sa katangiang long-form flagship.

Kung ano ito

Arkitektura

Ang apat na sangkap na nagtutulungan ay gumagawa ng audio isang 7.5 Hz lant sa isang panahon:

Nakikipagtulungan Paglalarawan
Hating Qwen2 stand24-layer Qwen2.5 decoder (896 nakatago, GQA 14/2 para sa Realtime-0.5B). Ang modelo ay nahahati: ang ibabang bahagi 4 mga suson ay bumubuo ng isang teksto na LM, ang itaas 20 tumatakbo ang mga suson habang ang TTS Mga bintana ng Text (LM. Text)5 Mga paalala sa isang panahon) ay dumadaloy sa dalawang ito; ang pagsasalita ay dumadaloy lamang sa pamamagitan ng TTS LM.
σ-VAE akustikong totaizer Ang Streaming conv stack na nagreresulta sa 24 kHz audio sa isang 64-dim na advent sa 7.5 Hz (3200×goral downsample) at decodes latents pabalik sa waveform. Ginagamit para sa parehong voice-cache na paglikha at pangwakas na audio decode.
Ulo ng Difision Maliit na 4-layer DDPM ulo na may adaptasyong adaLN. Samples ang bawat single sa pamamagitan ng 20-steep DPM-Solver na may classifier-free series (cfg = 1.3 default para sa Realtime-0.5B, 1.5 para sa 1.5B).
EOS classifierPer-steep binary classifier on the TTS LM's huling nakatagong estado. Kapag ang sigmoid probabilidad ay lumampas sa 0.5, ang henerasyon ay humihinto.

Wika

Mga modelong kard ni Per Microsoft: Ang Realtime-0.5B ay Ingles lamang (Ang mga barkong demo sa itaas ng ilog ay nag-uudyok ng siyam na tinig na hindi-EN bilang exploratory; ang kalidad ay hindi ginagarantiyahan). Sinusuportahan ng 1.5B ang Ingles at Intsik; ang ibang mga wika ay maaaring makagawa ng kapani-paniwala ngunit hindi tapat na audio at dapat na ituring na eksperimental.

Tinig — dalawang magkaibang landas

Ang dalawang variant ay may iba't ibang paraan ng pagkondisyon sa tagapagsalita, at ang bawat landas ay may mga limitasyon na sulit na malaman ang up-front.

Realtime-0.5B — pre-build voice caches

Ang speaker identity ay galing sa precomputed .safetensors voice cache na naglalaman ng conditioning KV caches at nakatagong mga estado para sa isang espesipikong speaker.Ang pagbuhat ng isang cache ay biglaan; ang isang modelong halimbawa ay maaaring magpalitan ng mga tinig nang mura sa pagitan ng mga salinlahi.

Ang Realtime-0.5B checkpoint ay ipinamamahagi na unso-lamang — Hindi nagpapadala ang Microsoft ng akustikal na recimer, kaya ang mga imbakan ng boses ay hindi maaaring gawin mula sa hilaw na audio laban sa modelong ito. Ang pre-build ng Microsoft .pt sound caches (Carter, Davis, Emma, Frank, Grace, Mike, Samuel para sa Ingles, plus exploratory de/fr/it/jp/kr/nl/pl/pt voices), ay tumatag sa mga boses .safetensors Ayusin ang loader na ito inaasahan.

1.5B long-form — voice cloning mula sa hilaw na audio

Ang checkpoint ng 1.5B ay nagbibigay ng ang akustikong taga-ayos ng katawan, kaya ito ay maaaring mag - clone ng isang di - makatuwirang tagapagsalita mula sa isang reperensiyang waveform + transcription sa isang shot. Ang elektrisyon ay naka-link sa bawat tawag ng synthesis — walang hiwalay na voice-cache file na mapangangasiwaan.

FYI: speech vibevoice-encode-voice ay may tarangkahan

Ang ibabaw ng CLI para sa offline voice-cache na paglikha laban sa Realtime-0.5B ay mabilis na mabibigo na may isang pointer sa 1.5B hilaw-audio workflow, dahil ang mga pabigat na periler ay hindi kasama sa 0.5B checkpoint. Hanggang sa mga barkong Microsoft ang mga ito, ito ang tanging dulong-to-end path para sa cloning ng isang tagapamahayag ng kaugalian.

Huwaran

Budburan Pagiging Kuwalente LakiHuggingFace
Realtime-0.5BBF16 (source)°1 GBmicrosoft/VibeVoice-Realtime-0.5B
Realtime-0.5B INT4Qwen2 INT4, tonizer + diffication FP16°350 MB Aufklarer/VibeVoice-Realtime-0.5B-MLX-INT4
Realtime-0.5B INT8Qwen2 INT8°570 MB Aufklarer/VibeVoice-Realtime-0.5B-MLX-INT8
1.5B long-formBF16 (source)°3 GBmicrosoft/VibeVoice-1.5B
1.5B INT4 (produksiyon)Qwen2 INT4 + mga dual grosser°1 GB Aufklarer/VibeVoice-1.5B-MLX-INT4

Ang Quantization ay gumagamit ng MLX group-wise affine quant (32-group). ang mga embeding, pamantayan, akustikong-tokenizer convolutions, at ang EOS classifier ay nananatili sa kanilang source dtype.

Mabilis na pagsisimula

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

Long-form 1.5B (Ibang API)

Ang 1.5B ay may kakaibang arkitektura (di-kilalang Qwen2 LM, dual regulators, LM token tests) kaya ito ay barko bilang isang hiwalay na klase – VibeVoice15BTTSModel. Reference audio + Ang teksto ay nasa iisang tawag:

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
)

Hindi na kailangan ang sound cache — ang modelo ay nag - iimbento ng reperensiyang audio sa pamamagitan ng dalawang ito acoustic_tokenizer (64-dim) at semantic_tokenizer (128-dim, ASR-trained) at binubuo ang mga ito sa mga audio leader na posisyon.Ang Generation ay tumatakbo ng LM na mga table na sanga-sanga <speech_diffusion> / <speech_end> / teksto — ang pagkakalat ng isang akustikong latent lamang kapag inilabas ng LM ang tunog ng talumpati.

ASR-verified on M2 Max INT4 (RTFFx 1.48): para sa input "Hello world". ito ang isang punto na limang bilyong VibeVoice variety ng tekstong Microsoft sa speech model.", isinalin ng Nemotron ang output na gaya ng ginawa "Hello world, ito ang isang punto limang bilyon sa pamamagitan ng voice varity ng microsoft texas speech model". — ang bawat salitang nilalaman ay katugma, ang akustikong mga kahalili lamang ang ginagamit VibeVoice → Sa pamamagitan ng boses at teksto hanggang → tuxas.

Mga tinig sa pagitan ng mga salinlahi

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

Realtime-0.5B na may ginawang Microsoft voice cache (Ingles):

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

1.5B long-form na may hilaw na reference audio + transcription (pagbigkas sa isang di-pangunahin na tagapagsalita, Ingles o Tsino):

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

Mga Bandila: --steps (DPM-Solver steps), --cfg (guidance), --model / --tokenizer Upang maunahan ang HuggingFace IDs, --long-form Upang lumipat sa 1.5B preset, --verbose para sa panahon.

Pagpipitas sa speech-swift TTS modules

Kokoro-82MQwen3-TTSCosyVoice3 Tunay na Panahon ng VibeVoiceVibeVoice 1.5B
Mga Param82M7B7B500M1.5B
LikodCoreML (ANE)MLXMLXMLXMLX
Wika810+10+NT lamangNT + ZH
Pag-clone ng boses Nakatakdang mga presetICL referenceTumutukoy sa Zero-shot Bago-tayong voice caches lamangRaw audio + transcript
Mahabang-anyo Maikli/mediyum Pag - aaksaya Pag - aaksaya Pag - aaksaya Hanggang sa mga nagsasalita ng 90 mi / 4
Pumili ng VibeVoice kapag...

...kailangan mo ang long-form, multi-specker, o podcast/audiobook output sa Ingles o Intsik, na may hindi nagbabagong voice identity sa loob ng ilang minuto ng audio. Para sa short-form multilingual TTS, Qwen3-TTS o CosyVoice3 Ay lalong nararapat. Sapagka't ang iOS-native ay maigsing pananalita, Kokoro ang pinakamaliit na mapagpipilian.