Awtomatikong salin · Orihinal sa Ingles
VoxCPM2 voice cloning sa Mac
Run VoxCPM2 Local on Apple Silicon na may MLX upang mag - clone ng isang tinig o disenyo mula sa isang paglalarawan ng teksto. Ang OpenB na modelong ito ay gumagawa ng 48 kHz na pagsasalita sa 30 wika. Makinig sa mga halimbawa, pagkatapos ay subukan ang CLI na may reperensiyang rekording at ang mga transcripsiyon nito.
Mga sampol ng audio · Isara ang isang tinig na may CLI · VoxCPM2 vs Qwen3-TTS
Mga sampol ng "voice cloning "
Ang mga clip na ito sa Ingles ay mula sa inilathalang FLEURS kumpara. Ang reperensiya at palalikhang pananalita ay gumagamit ng iba't ibang pangungusap. bawat output ay isang representative sampol; ang paghahambing ng mga metriko ay katamtamang multiple clips.
Listahan ng mga reperensiya: Ang isa ay maaaring mag - isip kung ano kaya ang mangyayari sa teklado kapag may dumating na mas bagong bagay.
Naka - Generated na teksto: Habang nagtatrabaho siya sa ospital ay nagsimulang magsuri si Liggins ng maagang pagtatrabaho sa panahon ng kaniyang libreng panahon.
Naka - Generated na teksto: Habang nagtatrabaho siya sa ospital ay nagsimulang magsuri si Liggins ng maagang pagtatrabaho sa panahon ng kaniyang libreng panahon.
Isara ang isang tinig na may CLI
Ibabang download Reference audio Ginagamit ng utos ang eksaktong kopya nito; palitan kapuwa ang rekording at ang transcript kapag ginagamit ang iyong sariling sampol ng boses.
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
Kung ano ito
- 48 kHz output – ang tanging on-device engine sa salansan na ito na may studio sampol rate. Bawat iba pang TTS module maxes sa 24 kHz.
- Disenyo ng Boses — Pagkontrol ng istilo ng natural-wika:
--voxcpm2-instruct "young female voice, warm and gentle". Walang ibang makina ang naglalantad nito. - Boses cloning — single-reference cloning mula sa isang 16 kHz clip; "ultimate cloning" (reference audio + transcription) para sa prosody preserbasyon.
- 30 mga wika – Ingles, Tsino, Indonesian, Hapones, Koreano, at higit pa. Auto-detect mula sa teksto.
- Apache 2.0 — Ang modelong mga pabigat ay nagmamana ng lisensya sa gawing itaas ng ilog; ang aming daungan ng Swift ay pareho.
Arkitektura
Limang nagtutulungang bahagi ang gumagawa ng 48 kHz waveform:
| Nakikipagtulungan | Paglalarawan |
|---|---|
| MiniCPM-4 base LM | 28-layer MiniCPM-4 na may LongRoPE, GQA (16 Q / 2 KV heads, 128 head dirp), at SwiGLU MLP. Mga kondisyon sa teksto ay nagmememorya ng + audio latents. |
| Muling Pag - uulit ng LM | 8-layer MiniCPM-4 variant na walang torry embedings.Pakintabin ang baseng nakatagong estado ng LM sa bawat lumilikha ng audio pattern. |
| FSQ + Lokal na DiT stasimator | Ang Scalar-quantased na mga nakatagong estado ay nagpapatakbo ng isang 12-layer Diffication Transformer (V2) na nagpapatakbo sa 64-dim audio latents sa mga patse ng 4. CFG-zero-star Euler proper, 10 time shoeps default. |
| AudioVAE V2 | Ang Causal convolutional decoder.basa ang 16 kHz reference audio + ay naglalabas ng 48 kHz waveform (3× upsample hinurn in). |
| Ihinto ang ulo | Ang Per-steep binary classifier sa LM nakatagong estado. Argmax = 1 ay nagtatapos sa henerasyon pagkatapos ng minTokens na mga patse. |
Mga Buto
Ang kasalukuyang mga suporta ng CLI bf16 at int8 mga bungkos na ginagawa mula sa itaas ng ilog openbb/VoxCPM2 Ang checkpoint. Quantization ay kumakapit sa language-model at diffication projections; ang audio decoder ay nananatili sa ganap na prekwensiya.
| Budburan | Pagpapakahulugan | Laki | HuggingFace |
|---|---|---|---|
| bf16 | Wala (pagwawalang - bahala) | °5.0 GB | Aufklarer/VoxCPM2-MLX-bf16 |
| int8 | MLX QuantizedLinear, sukat ng grupo 64 | °3.0 GB | Aufklarer/VoxCPM2-MLX-int8 |
Round-trip ASR (Qwen3-ASR 0.6B, 8-sentence guest, M-series Apple Silicon):
| Kaurian | WER | RTF |
|---|---|---|
| bf16 | 2.04 % | 1.38 |
| int8 | 0.00 % | 1.02 |
| int4 (retired) | 4.08 % | 0.83 |
Ang CLI defaults to bf16; pumili ng int8 para sa mas maliit na download. int4 ay retirado at lumilitaw lamang sa mesa bilang isang makasaysayang sukat.
Mabilis na pagsisimula
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
Piliin nang malinaw ang int8 brock:
let tts = try await VoxCPM2TTSModel.fromPretrained(
modelId: "aufklarer/VoxCPM2-MLX-int8"
)
Disenyo ng boses (teleksiyon-tributionn)
Dadaan ang isang natural-wikang paglalarawan ng estilo; ang modelong kondisyon ay nagreresulta rito nang walang reperensiyang audio sampol:
let audio = try await tts.generateVoxCPM2(
text: "Welcome to the show.",
instruct: "A young woman, gentle and warm voice."
)
Pag-clone ng boses
Single-reference cloning mula sa 16 kHz mono clip:
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
)
Ang Ultimate cloning — ay nagpapasa kapuwa ng reperensiyang audio at ng katugmang transcript upang ang LM ay maaari ring magkaroon ng kondisyon sa kontekstong lexical, anupat pinananatiling mas matapat ang prosody at tuldik:
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
Mga Bandila: --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 para sa reproducible synthesis.
VoxCPM2 vs Qwen3-TTS
Inilathala sa Ingles ang mga resulta para sa sampung FLEURS reference/target pares kada modelo: ibig sabihin WER at UTMOS, median RTF. Lower WER and RTF ay mas mabuti; UTMOS ang humuhula ng naturalidad at hindi isang taong rating. Ang mga resultang ito ay hindi nagtatatag ng isang unibersal na ranggo.
| Huwaran | WER ↓ | RTF ↓ | UTMOS ↑ |
|---|---|---|---|
| VoxCPM2 bf16 | 1.8% | 1.11 | 2.97 |
| Qwen3-TTS Base 1.7B bf16 ICL | 2.4% | 1.70 | 3.50 |
Buong limang-wikang voice-cloning na paghahambing at metolohiya.
Pagpipitas sa speech-swift TTS modules
| Kokoro-82M | Qwen3-TTS | CosyVoice3 | VoxCPM2 | VibeVoice 1.5B | |
|---|---|---|---|---|---|
| Mga Param | 82M | 0.6 / 1.7 B | 0.5B | 2B | 1.5B |
| Bilang ng Sample | 24 kHz | 24 kHz | 24 kHz | 48 kHz | 24 kHz |
| Likod | CoreML (ANE) | MLX, CoreML | MLX | MLX | MLX |
| Wika | 10 | 10 | 9 | 30 | NT + ZH |
| Disenyo ng Boses | Nakatakdang mga preset | — | — | Tagubilin-Salita | — |
| Pag-clone ng boses | — | ICL reference | Tumutukoy sa Zero-shot | Tumutukoy + sukdulan | Raw audio + transcript |
| Mahabang-anyo | Maikli/mediyum | Pag - aaksaya | Pag - aaksaya | Mga patseng pambasag | Hanggang 90 mi |
...kailangan mo ang 48 kHz output (music / broadcast applications) o natural-wikang disenyo ng boses nang walang reference clip. Para sa maximum-quality short-form English TTS na may mas maliit na download, CosyVoice3 o Qwen3-TTS ay mas magaan. para sa long-form podcast / audiobook sa NT/ZH, VibeVoice 1.5B ay purpose-build.
May pananagutang paggamit
Kasama rito ang Voice cloning, pagsang - ayon sa anumang boses na na - clone mo at hindi mo ginagamit ang modelo upang gayahin ang mga indibiduwal, lumikha ng di - magagandang impresyon, o mandaya. openbb/VoxCPM2 ay kumakapit.
Ang lokal na katutubong pahiwatig
VoxCPM2 ay sumusuporta sa pag-aayos ng timbang: .float16 Para sa isang nonquantized checkpoint. Ang pangunahing mga parameter nito ay gumagamit ng mga pangunahing parameter FP16; Ang AudioVAE at ang ilang kalkulasyon ay nananatili FP32. INT8 Ang mga checkpoint ay tinatanggihan dahil sa pamamaraang ito.
Ang explicit tomatzer Directory loading ay gumagamit ng mga naka-i-record na mga talaksang tokenizer nang hindi binabago ang mga ito o nangangailangan ng isang hiwalay na cache. Incremental speech decodes na nakatali sa mga bintanang causal samantalang pinananatili ang AudioVAE kaliwang konteksto.
Pagsasalita na may kasamang agos: tunay na nagbabalik ang NDJSON audio na mga pangyayari sa 48 KHz, sinundan ng ginawa o pagkakamali. Cancel by requestID sa /v1/inference/cancel. HAT /v1/ kawalang - galang/kabisayaan at /v1/inference/provence report model proccious, parameter dtypes, asset pins, at memory counters.