Strojový překlad · Anglický originál

VibeVoice

Microsoft VibeVoice je dlouho-forma, multireproduktor text- to- řeč model pro angličtinu a čínštinu. Na rozdíl od short-utterance TTS, je navržen tak, aby generoval podcast- length dialog, audiokniha vyprávění, a multireproduktor scény v jednom průsmyku - až 90 minut až do 4 různé hlasy a konzistentní identitu po celé. Dvě varianty loď: Realtime-0.5B pro streaming s nízkou latencí a 1.5B pro dlouhotvarovou vlajkovou kvalitu.

Co to je?

Architektura

Čtyři spolupracující komponenty produkují zvuk jeden 7,5 Hz latentní najednou:

SoučástPopis
Split Qwen2 páteř24- vrstva Qwen2.5 dekodér (896 skrytá, GQA 14/2 pro Realtime-0.5B). Model je rozdělen: spodní 4 vrstvy tvoří text LM, horní 20 vrstvy běží jako TTS LM. Textová okna (5 žetony najednou) průtok oběma; generované latenty řeči průtok pouze přes TTS LM.
σ-VAE akustický tokenizerVysílání conv stack, který kóduje 24 kHz audio na 64- dim latent při 7,5 Hz (3200 × time downsamplu) a dekóduje latenty zpět do vlnové délky. Používá se pro tvorbu hlasových cache a finální audio dekódování.
Difuzní hlavaMalé 4-vrstva DDPM hlava s adaLN modulací. Vzorky každé řeči latentní prostřednictvím 20-step DPM-řešitel s bezklasifikovatelným vedením (cfg = 1.3 výchozí hodnota Realtime-0.5B, 1.5 pro 1.5B).
Klasifikace EOSPer- step binární klasifikátor na posledním skrytém stavu TTS LM. Když pravděpodobnost sigmoid překročí 0.5, generace se zastaví.

Jazyky

Podle modelů karet Microsoft: Realtime-0.5B je pouze angličtina (předního demo lodí devět non-EN hlas vyzývá jako průzkumný; kvalita není zaručena). 1.5B podporuje anglicky a čínsky; jiné jazyky mohou produkovat věrohodně znějící, ale nevěrný zvuk a měl by být považován za experimentální.

Hlasová identita - dvě odlišné cesty

Obě varianty mají velmi odlišné přístupy k nastavení reproduktoru, a každá cesta má omezení stojí za to vědět dopředu.

Realtime-0.5B - představěné hlasové cache

Reproduktor identita pochází z předem vypočteného .safetensors hlasová cache obsahující kondicionovací KV cache a skryté stavy pro konkrétní reproduktor. Načítání cache je okamžité; jedna modelová instance může mezi generacemi levně měnit hlasy.

Kontrolní bod Realtime-0.5B je distribuován inference- only - Microsoft nedodává akustický kodér, takže hlasové cache nelze vyrazat ze syrového zvuku proti tomuto modelu. Podporovaný zdroj je jedním z Microsoft je předkonstruován .pt Hlasové kelímky (Carter, Davis, Emma, Frank, Grace, Mike, Samuel pro angličtinu, plus průzkumný de / fr / it / jp / kr / nl / pl / pt hlasy), zploštělý do .safetensors Rozvržení, které tento nakladač očekává.

1.5B long- form - hlasklonování ze syrového zvuku

Kontrolní stanoviště 1.5B dělá odesílat akustický kodér, takže může klonovat libovolný reproduktor z referenční vlny + přepis v jednom záběru. Kódování je uvedeno na každém volání syntézy - není žádný samostatný hlasový-cache soubor spravovat.

Pro tvou informaci: speech vibevoice-encode-voice je uzavřený

Povrch CLI pro tvorbu hlasových cache proti Realtime-0.5B selže rychle s ukazovátkem na rawworkflow 1.5B, protože v kontrolním bodu 0.5Z nejsou přítomny závaží kódéru. Dokud je Microsoft nepošle, je to jediná koncovka pro klonování vlastního reproduktora.

Vzor

BundCity in New York USAKvantizaceVelikostHuggingFace
Realtime-0.5BBF16 (zdroj)~ 1 GBmicrosoft / VibeVoice-Realtime-0.5B
Realtime-0.5B INT4Qwen2 INT4, tokenizer + difuze FP16~ 350 MBaufklarer / VibeVoice-Realtime-0.5B-MLX-INT4
Realtime-0.5B INT8Qwen2 INT8~ 570 MBaufklarer / VibeVoice-Realtime-0.5B-MLX-INT8
1.5B dlouhá formaBF16 (zdroj)~ 3 GBmicrosoft / VibeVoice-1.5B
1.5B INT4 (výroba)Qwen2 INT4 + duální enkodéry~ 1 GBaufklarer / VibeVoice-1.5B-MLX-INT4

Kvantifikace používá MLX group- wise affine quant (32- group). Vložení, normy, akusticko-tokenizer konvoluce, a EOS klasifikátor zůstat v jejich zdrojovém dtype.

Rychlý start

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

Dlouhotrvající forma 1.5B (jiná API)

1.5B má jinou architekturu (sjednocený Qwen2 LM, duální kodéry, LM token vzorkování), takže se přepravuje jako samostatná třída - VibeVoice15BTTSModel. Reference audio + text jít v jednom hovoru:

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
)

Žádný hlasový cache need - model kóduje referenční zvuk pomocí obou acoustic_tokenizer (64- dim) a semantic_tokenizer (128-dim, ASR- vyškolený) a shrnuje je na zvukových pozicích. Generace běží LM token vzorkování rozvětvené na <speech_diffusion> / <speech_end> / text - difuzuje akustický latent pouze v případě, že LM emituje příznak řeči.

ASR- ověřeno na M2 Max INT4 (RTFx 1.48): pro vstup "Ahoj, svět. Toto je jedna z pěti miliard VibeVoice varianty Microsoft textu na model řeči.", Nemotron přepsal výstup jako "Ahoj světe, tohle je 1 bod 5 miliard přes hlasovou variantu mikroměkkého texaského modelu řeči." - každý obsah slovo odpovídá, pouze akustické substituce jsou VibeVoice → prostřednictvím hlasu a text na → texas.

Prohodit hlasy mezi generacemi

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 s konvertovanou hlasovou cache Microsoft (anglicky):

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

1.5B long- form se syrovým referenčním audio + přepis (klonování libovolného reproduktoru, anglicky nebo čínsky):

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

Vlajky: --steps (kroky řešitele DPM-), --cfg (pokyny), --model / --tokenizer přepsat ID HuggingFace, --long-form přepnout na preset 1.5B, --verbose na načasování.

Výběr mezi moduly speech-swift TTS

Kokoro-82MQwen3-TTSCosyVoice3VibeVoice RealtimeVibeVoice 1.5B
Params82M7B7B500 M1.5B
BackendCoreML (ANE)MLXMLXMLXMLX
Jazyky810+10+Pouze ENEN + ZH
Klonování hlasuPevné předvolbyOdkaz na ICLOdkaz na ZeroshotPouze hlasové cacheRaw audio + přepis
Dlouhá formaKrátká / středníStreamingStreamingStreamingAž do 90 min / 4 reproduktorů
Vyberte si VibeVoice, když...

... potřebujete dlouhou formu, multireproduktor, nebo podcast / audiobook výstup v angličtině nebo čínštině, s konzistentní hlasovou identitou přes minuty audio. Pro short-forma vícejazyčné TTS, Qwen3-TTS nebo CosyVoice3 Pro iOS- rodné krátké řeči, Kokoro je ta nejmenší možnost.