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
- Mahabang-anyo sa isang daanan – hanggang 90 minuto ng audio na may hindi pabagu-bago na mga tinig sa buong output; walang per-sentence handoff
- Multi-speaker diyalogo — Mga nagsasalita ng 4, bawat isa'y nakondisyon ng sarili nitong imbakan ng boses
- Tagalog + Tsino — ang sinanay na audio data ay NT/ZH lamang; ang ibang mga wika ay hindi suportado (ang mga ito ay tinatanggap ng kenizer subalit ang output ay hindi nauunawaan)
- 24 kHz mono output — Float32 PCM, drop-in para sa
AudioCommon.WAVWriteratStreamingAudioPlayer - MIT lisensiya — ang modelong mga pabigat at ang ating Swift port ay kapuwa MIT; INT4 quantized hinangong sangkap
Arkitektura
Ang apat na sangkap na nagtutulungan ay gumagawa ng audio isang 7.5 Hz lant sa isang panahon:
| Nakikipagtulungan | Paglalarawan |
|---|---|
| Hating Qwen2 stand | 24-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 classifier | Per-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.
speech vibevoice-encode-voice ay may tarangkahanAng 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 | Laki | HuggingFace |
|---|---|---|---|
| Realtime-0.5B | BF16 (source) | °1 GB | microsoft/VibeVoice-Realtime-0.5B |
| Realtime-0.5B INT4 | Qwen2 INT4, tonizer + diffication FP16 | °350 MB | Aufklarer/VibeVoice-Realtime-0.5B-MLX-INT4 |
| Realtime-0.5B INT8 | Qwen2 INT8 | °570 MB | Aufklarer/VibeVoice-Realtime-0.5B-MLX-INT8 |
| 1.5B long-form | BF16 (source) | °3 GB | microsoft/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-82M | Qwen3-TTS | CosyVoice3 | Tunay na Panahon ng VibeVoice | VibeVoice 1.5B | |
|---|---|---|---|---|---|
| Mga Param | 82M | 7B | 7B | 500M | 1.5B |
| Likod | CoreML (ANE) | MLX | MLX | MLX | MLX |
| Wika | 8 | 10+ | 10+ | NT lamang | NT + ZH |
| Pag-clone ng boses | Nakatakdang mga preset | ICL reference | Tumutukoy sa Zero-shot | Bago-tayong voice caches lamang | Raw audio + transcript |
| Mahabang-anyo | Maikli/mediyum | Pag - aaksaya | Pag - aaksaya | Pag - aaksaya | Hanggang sa mga nagsasalita ng 90 mi / 4 |
...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.