Mac पर VoxCPM2 से वॉइस क्लोनिंग

Apple Silicon पर MLX के साथ VoxCPM2 स्थानीय रूप से चलाकर आवाज़ क्लोन करें या लिखित विवरण से नई आवाज़ बनाएँ। OpenBMB का यह मॉडल 30 भाषाओं में 48 kHz ऑडियो बनाता है। उदाहरण सुनें, फिर संदर्भ रिकॉर्डिंग और उसके सटीक ट्रांसक्रिप्ट के साथ CLI आज़माएँ।

ऑडियो नमूने · CLI से आवाज़ क्लोन करें · VoxCPM2 और Qwen3-TTS की तुलना

वॉइस क्लोनिंग के नमूने

ये अंग्रेज़ी क्लिप प्रकाशित FLEURS तुलना से लिए गए हैं। संदर्भ और जनरेट की गई आवाज़ में अलग-अलग वाक्य हैं। हर आउटपुट एक प्रतिनिधि नमूना है; तुलना के आँकड़े कई क्लिप का सार हैं।

संदर्भ ऑडियोअंग्रेज़ी · 16 kHz

संदर्भ ट्रांसक्रिप्ट: One can only wonder what the keyboard will become when something newer comes along.

VoxCPM2 bf16अंग्रेज़ी · 48 kHz

जनरेट किया गया टेक्स्ट: While he was working at the hospital Liggins began to investigate premature labor during his spare time.

Qwen3-TTS Base 1.7B bf16 ICLअंग्रेज़ी · 24 kHz

जनरेट किया गया टेक्स्ट: While he was working at the hospital Liggins began to investigate premature labor during his spare time.

CLI से आवाज़ क्लोन करें

संदर्भ ऑडियो को reference.wav के रूप में डाउनलोड करें। कमांड में उसका सटीक ट्रांसक्रिप्ट है। अपना नमूना इस्तेमाल करते समय रिकॉर्डिंग और ट्रांसक्रिप्ट दोनों बदलें।

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

परिचय

आर्किटेक्चर

पाँच घटक मिलकर 48 kHz वेवफ़ॉर्म तैयार करते हैं:

घटकविवरण
MiniCPM-4 base LM28-लेयर MiniCPM-4, LongRoPE, GQA (16 Q / 2 KV हेड, हेड डिम 128), SwiGLU MLP। टेक्स्ट टोकन + ऑडियो लेटेंट्स पर कंडीशन्ड।
Residual LMरोटरी एम्बेडिंग के बिना 8-लेयर MiniCPM-4 वेरिएंट। हर जेनरेटेड ऑडियो पैच के लिए बेस LM का हिडन स्टेट रिफ़ाइन करता है।
FSQ + Local DiT estimatorस्केलर-क्वांटाइज़्ड हिडन स्टेट्स एक 12-लेयर Diffusion Transformer (V2) को चलाते हैं, जो 64-डिम ऑडियो लेटेंट्स पर 4 के पैचेस में काम करता है। CFG-zero-star Euler सॉल्वर, डिफ़ॉल्ट 10 टाइमस्टेप्स।
AudioVAE V2कौज़ल कन्वोल्यूशनल डिकोडर। 16 kHz रेफ़रेंस ऑडियो लेता है, 48 kHz वेवफ़ॉर्म देता है (3× अपसैंपलिंग बिल्ट-इन)।
Stop हेडLM के हिडन स्टेट पर प्रति-स्टेप बाइनरी क्लासिफ़ायर। argmax = 1 से minTokens पैचेस के बाद जेनरेशन ख़त्म।

बंडल

वर्तमान CLI मूल openbmb/VoxCPM2 चेकपॉइंट से बदले गए bf16 और int8 बंडल का समर्थन करता है। भाषा और डिफ्यूज़न मॉडल के प्रोजेक्शन क्वांटाइज़ किए जाते हैं; ऑडियो डिकोडर पूर्ण प्रिसीज़न में रहता है।

बंडलक्वांटाइज़ेशनआकारHuggingFace
bf16कोई नहीं (रेफ़रेंस)~5.0 GBaufklarer/VoxCPM2-MLX-bf16
int8MLX QuantizedLinear, group size 64~3.0 GBaufklarer/VoxCPM2-MLX-int8

राउंड-ट्रिप ASR (Qwen3-ASR 0.6B, 8-वाक्य हार्नेस, M-सीरीज़ Apple Silicon):

वेरिएंटWERRTF
bf162.04 %1.38
int80.00 %1.02
int4 (हटाया गया)4.08 %0.83

CLI में bf16 डिफ़ॉल्ट है; छोटा डाउनलोड चाहिए तो int8 चुनें। int4 हटा दिया गया है और तालिका में केवल पुराने मापन के रूप में दिखता है।

क्विक स्टार्ट

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

int8 बंडल स्पष्ट रूप से चुनें:

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

वॉइस डिज़ाइन (इंस्ट्रक्शन-ड्रिवन)

एक प्राकृतिक-भाषा स्टाइल विवरण पास करें; मॉडल बिना किसी रेफ़रेंस ऑडियो के उसी पर कंडीशन करेगा:

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

वॉइस क्लोनिंग

16 kHz मोनो रेफ़रेंस क्लिप से सिंगल-रेफ़रेंस क्लोनिंग:

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 cloning — रेफ़रेंस ऑडियो और उसके मेल खाते ट्रांसक्रिप्ट दोनों पास करें, ताकि LM लेक्सिकल कॉन्टेक्स्ट पर भी कंडीशन हो और प्रोसोडी/उच्चारण ज़्यादा सही रहे:

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

फ़्लैग्स: --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।

VoxCPM2 और Qwen3-TTS की तुलना

हर मॉडल के लिए दस FLEURS संदर्भ/लक्ष्य जोड़ों पर प्रकाशित अंग्रेज़ी परिणाम: WER और UTMOS के औसत, RTF का माध्यिका मान। कम WER और RTF बेहतर हैं। UTMOS स्वाभाविकता का अनुमान है, मानव रेटिंग नहीं। ये परिणाम सार्वभौमिक रैंकिंग नहीं हैं।

मॉडलWER ↓RTF ↓UTMOS ↑
VoxCPM2 bf161.8%1.112.97
Qwen3-TTS Base 1.7B bf16 ICL2.4%1.703.50

पाँच भाषाओं में वॉइस क्लोनिंग की पूरी तुलना और विधि.

speech-swift के TTS मॉड्यूल में से चुनना

Kokoro-82MQwen3-TTSCosyVoice3VoxCPM2VibeVoice 1.5B
पैरामीटर82M0.6 / 1.7 B0.5B2B1.5B
सैंपल रेट24 kHz24 kHz24 kHz48 kHz24 kHz
बैकएंडCoreML (ANE)MLX, CoreMLMLXMLXMLX
भाषाएँ1010930EN + ZH
वॉइस डिज़ाइनफ़िक्स्ड प्रीसेट्स——इंस्ट्रक्शन-ड्रिवन—
वॉइस क्लोनिंग—ICL रेफ़रेंसज़ीरो-शॉट रेफ़रेंसरेफ़रेंस + ultimateऑडियो + ट्रांसक्रिप्ट
लॉन्ग-फ़ॉर्मछोटा / मध्यमस्ट्रीमिंगस्ट्रीमिंगपैच स्ट्रीमिंग90 मिनट तक
VoxCPM2 कब चुनें

जब आपको 48 kHz आउटपुट चाहिए (म्यूज़िक / ब्रॉडकास्ट) या बिना किसी रेफ़रेंस क्लिप के प्राकृतिक-भाषा वॉइस डिज़ाइन। छोटे डाउनलोड के साथ अधिकतम-क्वालिटी अंग्रेज़ी शॉर्ट-फ़ॉर्म TTS के लिए CosyVoice3 या Qwen3-TTS हल्के विकल्प हैं। EN/ZH में लंबे पॉडकास्ट / ऑडियोबुक के लिए VibeVoice 1.5B ख़ास तौर से बना है।

ज़िम्मेदार इस्तेमाल

वॉइस क्लोनिंग शामिल है। जिस आवाज़ को क्लोन करें, उसकी सहमति लें। मॉडल का इस्तेमाल किसी की पहचान चुराने, दुष्प्रचार करने या धोखाधड़ी के लिए न करें। पूरा सुरक्षा दिशानिर्देश openbmb/VoxCPM2 पर देखें।