Automatische vertaling · Engels origineel
Blog·
Stemklonen
May 17, 2026

Een stem klonen op 48 kHz
met VoxCPM2.

Een nieuw TTS model is net geland in Soniqo. Het draait op je laptop, geeft studio-kwaliteit 48 kHz audio uit, en kloont een stem van een enkele korte clip. Deze post loopt door wat je ermee kunt bouwen, de drie manieren waarop je een stem kunt klonen, en een vriendelijke blik op hoe het model binnenin werkt.

Wat je kunt bouwen

Vier dingen die veranderen als het klonen lokaal loopt.

Het klonen op het apparaat ontgrendelt vier eigenschappen tegelijk, privacy, offline gebruik, geen per-call kosten, en volledige spraak eigendom. Elk van deze opent een klasse van product dat is ongemakkelijk om een andere manier te bouwen.

Persoonlijke audioboekvertellers

Neem 30 seconden van een ouder lezen. De audioboek app vertelt dan elk hoofdstuk in hun stem . . dezelfde warmte, hetzelfde accent, lokaal gegenereerd elke sessie.

Inhoud van de meertalige maker

YouTubers en podcasts houden één consistente stem in 30 talen. Neem één keer op in het Engels, stuur dezelfde aflevering in het Japans, Spaans en Hindi zonder een vocale cast.

Toegankelijkheid & spraakbankieren

Mensen die geconfronteerd worden met verlies van spraak kunnen hun stem in een korte clip bankieren en blijven spreken door middel van behulpzame tech die klinkt als hen en niet als een generieke TTS engine.

Productstemmen op aanvraag

Beschrijf de stem die u wilt . "jonge vrouw, zacht en warm" en het model ontwerpt het zonder een referentie opname. Nuttig voor spel NPC's, kiosk prompts, of A/B testen merk stemmen.

On-device vs gehost

Hoe VoxCPM2 vergelijkt met ElevenLabs.

ElevenLabs is het voor de hand liggende cloud-API alternatief. De trade-off is wat er draait waar en wie de stem nadien bezit.

Voor producten die privacygaranties nodig hebben, offline werken of nul kosten per oproep, is klonen op het apparaat de enige optie die elke ElevenLabs call-uploads audio naar hun servers bevat.

VoxCPM2 (Soniqo)ElevenLabs
Waar het loopt.Op het apparaat van de gebruikerGehost API
Audio verlaat het apparaat NeeJa (geüpload naar ElevenLabs)
Offline gebruikJa. Nee (vereist internet)
Kosten per oproep GeenFacturering per karakter
ModellicentieApache 2,0, open gewichten Alleen voor SaaS
Max. uitvoermonstersnelheid48 kHz native48 kHz (Pro tier en hoger)
Talen3029 (meertalig v2) · 70+ (Eleven v3)
Referentieclip vereist5–30 s1 min (Instant) · 30 min (Professioneel)
Stemontwerp uit tekstJa.Ja.

Beide motoren bereiken 48 kHz; beide ondersteunen een vergelijkbare taalspreiding voor dagelijks klonen; beide stellen spraakontwerp bloot aan een tekstbeschrijving. Het echte verschil is of de audio ooit het apparaat verlaat.

Drie kloonmodi

Eén model, drie ingangen.

Het model is hetzelfde in elke oproep. Welke veranderingen is welke argumenten je passeert .. die beslissen of je een stem ontwerpt van een beschrijving, een opgenomen kopie maakt, of een accent behoudt.

Stemontwerp
Als je geen referentie opname hebt.

Beschrijf de stem in natuurlijke taal. Het model kiest een bijpassende stem en blijft consistent over gesprekken.

let audio = try await tts.generateVoxCPM2(
    text: "Welcome to the show.",
    instruct: "A young woman, gentle and warm voice."
)
Referentieklonen
Wanneer u een korte clip van de doelluidspreker heeft.

Passeer eender welke 5–30 Het model kopieert het timbre en ritme en synthetiseert nieuwe tekst in die stem.

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
)
Uiteindelijk klonen
Wanneer de spreker een onderscheidend accent heeft en u wilt het behouden.

Geef de clip EN het transcript. Het model kan nu lijn-up akoestische functies met fonemen .. accent en klinker keuzes dragen door.

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
)
Three cloning modes, same modelEach mode arranges different pieces in the input sequence before the model. Voice design adds a written description, reference cloning adds an audio prefix, and ultimate cloning adds a paired audio-and-transcript example.Voice design(description)text to sayReference cloningreference audiotext to sayUltimate cloningreference audiotranscripttext to sayprompt audioaudio framestext conditiontext to synthesise

Dezelfde invoer slot, gevuld met verschillende stukken. Het model ziet nooit een vlag . . Het leest de volgorde.

Onder de motorkap

Hoe VoxCPM2 audio produceert.

Vier samenwerkende modules. Je hoeft niet om dit alles te weten om het model te gebruiken, maar als je nieuwsgierig bent waar de 48 kHz vandaan komt . Hier is het.

VoxCPM2 architectureText and optional voice prompts feed an autoregressive language model and a residual refiner. A local diffusion transformer produces audio latents which the AudioVAE V2 decodes to a 48 kHz waveform.TextVoice prompt audioVoice instructionPrompt transcriptLocEncaudio + text fused into one streamTSLM · MiniCPM-4 backbone28-layer autoregressive LMdecides what audio patch comes nextRALMrefines each patch for prosodic detailLocDiT · diffusion estimatorpaints the audio latent in each slotAudioVAE V2 → 48 kHz waveform

De pijplijn begint met een local encoder (LocEnc) die teksttekens en (optioneel) referentieaudio in één vectorstroom verbindt. Die stream voedt de TSLM een 28-laag MiniCPM-4 taalmodel dat bepaalt welke audio "patch" hierna moet komen, op dezelfde manier als een tekst LM het volgende token kiest. Een tweede pas door het RALM verfijnt elke patch.

Tot nu toe is alles een transformator. De interessante twist is de LocDiT: in plaats van te kiezen uit een vaste woordenschat van discrete audiotekens, wordt er een klein diffusieproces uitgevoerd om het audio latente in elke sleuf te schilderen. Geen discrete codec betekent geen quantsation bottleneck . Dit is wat het laatste stadium toelaat, AudioVAE V2, decoderen recht naar 48 kHz. Elke andere on-device motor in deze stack tops op 24 kHz.

De split is het vermelden waard: de autoregressieve LM is geweldig in het bepalen wat er nu moet komen (inhoud, ritme, lengte); de diffusiekop is geweldig in akoestisch detail (fase, spectrum). VoxCPM2 laat elk doen waar het goed in is. Daarom houdt het model zijn eigen op slechts 2B parameters .De architectuur verdient de perceptuele kwaliteit, niet de grootte.

Het papier

Lees het originele onderzoek.

VoxCPM: Tokenizer-Free TTS for Context-Aware Speech Generation and True-to-Life Voice Cloning
OpenBMB · arXiv:2509.24650 · Sept 2025
Weergave op arXiv
Bundels

Drie maten, kies je schijfbudget.

Alle drie de bundels draaien dezelfde architectuur; ze verschillen alleen in hoe agressief het taalmodel is gequantiseerd. De int8 bundel is de aanbevolen standaard . Het komt overeen met de upstream Python pijpleiding op de 8-sence ronde-trip benchmark terwijl het sneller en 40% kleiner is dan bf16.

Bundel Grootte Beste voor
bf16~5.0 GB Referentie / debuggen.
int8
standaard
~3.0 GB Elke dag klonen, audioboeken, podcasts.
int4~1.9 GBDisk-gehandicapte implementaties.
Probeer het.

Van de CLI.

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

# Reference cloning — 5–30 s clean clip
speech speak "This is a cloned voice." \
    --engine voxcpm2 \
    --voxcpm2-variant int8 \
    --voice-sample speaker.wav \
    --output clone.wav
Waar volgende

Blijf lezen.