Maskinoversettelse · Engelsk original

VoxCPM2 stemmekloning på Mac

Kjør VoxCPM2 lokalt på Apple Silicon med MLX for å klone en stemme eller designe en fra en tekstbeskrivelse. Denne OpenBMB-modellen produserer 48 kHz tale på 30 språk. Lytt til eksemplene, og prøv deretter CLI med referanseopptaket og transkripsjonen.

Lydprøver · Klone en stemme med CLI ·VoxCPM2 vs Qwen3-TTS

Stemmekloning prøver

Disse engelske klippene kommer fra den publiserte FLEURS-sammenligningen. Referansen og generert tale bruker forskjellige setninger. Hver utgang er en representativ prøve; sammenligningsmetrikkene i gjennomsnitt flere klipp.

Reference audioEngelsk · 16 kHz

Reference transkripsjon: En kan bare lure på hva tastaturet vil bli når noe nyere kommer med.

VoxCPM2 bf16 Engelsk · 48 kHz

Opprettet tekst: Mens han jobbet på sykehuset Liggins begynte å undersøke for tidlig arbeid i fritiden.

Qwen3-TTS Base 1.7B bf16 ICL Engelsk · 24 kHz

Opprettet tekst: Mens han jobbet på sykehuset Liggins begynte å undersøke for tidlig arbeid i fritiden.

Klone en stemme med CLI

Last ned Reference audio som reference.wav. Kommandoen bruker sin nøyaktige transkripsjon; erstatte både opptak og transkripasjon når du bruker din egen stemmeprøve.

speech speak "Hello from the cloned voice." \
    --engine voxcpm2 \
    --voxcpm2-variant bf16 \
    --voice-sample reference.wav \
    --voxcpm2-prompt-audio reference.wav \
    --voxcpm2-prompt-text "One can only wonder what the keyboard will become when something newer comes along." \
    --seed 42 \
    --output clone.wav

Hva det er

Arkitektur

Fem samarbeidende komponenter produserer en 48 kHz bølgeform:

Komponent Beskrivelse
MiniCPM-4 base LM28-lag MiniCPM-4 med LongRoPE, GQA (16 Q / 2 KV-hoder, 128 hodedim), og SwigLU MLP. Vilkår på tekstsymboler + lyd latenter.
Residens LM8-lag MiniCPM-4-variant uten roterende innesluttninger. Refenser basis LM skjult tilstand per generert lydpatch.
FSQ + Lokal DiT-estimatorScalar-kvantiserte skjulte tilstander driver en 12-lags Diffusion Transformer (V2) som opererer på 64-dim lyd latenter i flekker på 4. CFG-null-stjerne Euler løser, 10 tidstrinn standard.
AudioVAE V2Causal konvolusjonell dekoder. Leser 16 kHz referanselyd + avgir 48 kHz bølgeform (3× oppprøve bakt i).
Stopp hodetPer-trinn binær klassifier på LM skjult tilstand. Argmax = 1 sluttgenerasjon etter minTokens flekker.

Bundles

Den nåværende CLI støtter bf16 og int8 pakker konvertert fra oppstrøms openbmb/VoxCPM2 kontrollpunkt. Kvantisering gjelder språkmodell- og diffusjonsprojeksjoner; lyddekoderen forblir i full presisjon.

Bundle Kvantisering StørrelseHuggingFace
bf16 Ingen (referanse)~5.0 GBaufklarer/VoxCPM2-MLX-bf16
int8MLX QuantizedLinear, gruppestørrelse 64~3.0 GBaufklarer/VoxCPM2-MLX-int8

Rundstripe ASR (Qwen3-ASR 0.6B, 8-sentens sele, M-serien Apple Silicon):

VariantWERRTF
bf162.04 %1.38
int80.00 %1.02
int4 (tilrettelagt)4.08 %0.83

CLI-standardene til bf16; velg int8 for en mindre nedlasting. int4 er pensjonert og vises i tabellen bare som en historisk måling.

Rask start

import VoxCPM2TTS

let tts = try await VoxCPM2TTSModel.fromPretrained()  // defaults to bf16
let audio = try await tts.generate(text: "Hello from VoxCPM2.", language: "english")
// audio: [Float] at 48 kHz mono

Velg int8 pakke eksplisitt:

let tts = try await VoxCPM2TTSModel.fromPretrained(
    modelId: "aufklarer/VoxCPM2-MLX-int8"
)

Stemmedesign (instrumentdrevet)

Send en naturlig språklig stilbeskrivelse; modellbetingelser syntese på den uten referanselydprøve:

let audio = try await tts.generateVoxCPM2(
    text: "Welcome to the show.",
    instruct: "A young woman, gentle and warm voice."
)

Stemmekloning

Enkeltreferansekloning fra et 16 kHz monoklip:

let ref = try AudioFileLoader.load(url: URL(fileURLWithPath: "speaker.wav"),
                                   targetSampleRate: 16000)
let audio = try await tts.generateVoxCPM2(
    text: "This is a cloned voice.",
    refAudio: ref
)

Ultimate kloning - passere både referanselyd og den matchende transkripsjonen slik at LM kan også tilstand på den leksiske konteksten, bevare prosodi og aksent mer trofast:

let audio = try await tts.generateVoxCPM2(
    text: "Hello from the cloned voice.",
    refAudio: ref,
    promptText: "this is what the reference clip actually said",
    promptAudio: ref
)

CLI

speech speak "Hello there." \
    --engine voxcpm2 \
    --voxcpm2-variant int8 \
    --output hello.wav

# Voice design
speech speak "Welcome to the show." \
    --engine voxcpm2 \
    --voxcpm2-instruct "A young woman, gentle and warm voice." \
    --output design.wav

# Voice cloning
speech speak "This is a cloned voice." \
    --engine voxcpm2 \
    --voice-sample speaker.wav \
    --output clone.wav

Flagg: --voxcpm2-variant {bf16,int8}, --voxcpm2-instruct, --voxcpm2-ref-audio, --voxcpm2-prompt-audio + --voxcpm2-prompt-text, --voxcpm2-cfg-value, --voxcpm2-timesteps, --voxcpm2-max-tokens, --voxcpm2-min-tokens, --seed for reproducerbar syntese.

VoxCPM2 vs Qwen3-TTS

Publisert Engelsk Results for 10 FLEURS referanse/målpar per modell: gjennomsnittlig WER og UTMOS, median RTF. Nedre WER og RTF er bedre; UTMOS Forutsi naturlighet og er ikke en menneskelig vurdering. Disse resultatene ikke etablerer en universell rangering.

ModellWER ↓RTF ↓UTMOS ↑
VoxCPM2 bf161.8%1.112.97
Qwen3-TTS Base 1.7B bf16 ICL2.4%1.703.50

Fyll femspråklig stemme-kloning sammenligning og metode.

Velg blant speech-swift TTS moduler

Kokoro-82MQwen3-TTSCosyVoice3VoxCPM2VibeVoice 1.5B
Params82M0.6 / 1.7 B0.5B2B1,5B
Samplingsrate24 kHz24 kHz24 kHz48 kHz24 kHz
MotorCoreML (ANE)MLX, CoreMLMLXMLXMLX
Språk1010930EN + ZH
StemmedesignFaste forvalg——Instruksjon-drevet—
Stemmekloning—ICL referanseZero-shot referanseReferanse + ultimate Rå lyd + transkripsjon
Langform Kort/mediumStreamingStreaming Strømming av flekkerOpp til 90 min
Velg VoxCPM2 når...

... du trenger 48 kHz-utgang (musikk / kringkast programmer) eller naturlig-språklig stemmedesign uten referanseklipp. For maksimal kvalitet kortform engelsk TTS med mindre nedlasting, CosyVoice3 eller Qwen3-TTS er lettere. For langvarig podcast / lydbok i EN/ZH, VibeVoice 1.5B er hensiktsbygd.

Ansvarlig bruk

Stemmekloning er inkludert. Få samtykke til enhver stemme du kloner og ikke bruk modellen til å personifisere enkeltpersoner, generere desinformation eller begå svindel. Den fulle sikkerhetsveiledningen fra openbmb/VoxCPM2 gjelder.

Lokalt innfødt inferens

VoxCPM2 støtter vektpresisjon: .float16 for et ukvantisert kontrollpunkt. Hovedparametrene bruker FP16; AudioVAE og noen beregninger forblir FP32. INT8 kontrollpunkter blir avvist for denne modusen.

Explicit tokenizerDirectory lasting bruker arrangerte polenizer-filer uten å endre dem eller trenger en separat cache. hevet tale dekoder avgrenset årsaksvinduer mens du beholder AudioVAE venstre kontekst.

Tal med stream: ekte returnerer NDJSON-lydhendelser ved 48 kHz, etterfulgt av gjort eller feil. Avbryt ved forespørselID på /v1/inferens/cancel. GET /v1/inference/capabilities og /v1

API detaljer