Maskinöversättning · Engelskt original
Blogg·
Röstkloning
May 17, 2026

Stänga en röst på 48 kHz
med VoxCPM2.

En ny TTS modell landade bara i Soniqo. Den körs på din bärbara dator, utgångar studio-kvalitet 48 kHz ljud, och klonar en röst från ett enda kort klipp. Detta inlägg går igenom vad du kan bygga med det, de tre sätten det låter dig klona en röst och en vänlig titt på hur modellen fungerar inuti.

Vad du kan bygga

Fyra saker som förändras när kloning körs lokalt.

Kör kloning på enheten låser upp fyra egenskaper samtidigt - integritet, offline användning, ingen per-call kostnad och full röst ägande. Var och en av dessa öppnar en klass av produkt som är besvärlig att bygga något annat sätt.

Personliga ljudbok berättare

Rekord 30 sekunder av en förälderläsning. Ljudboksappen berättar sedan alla kapitel i sin röst - samma värme, samma accent, lokalt genererade varje session.

Flerspråkigt skaparinnehåll

YouTubers och podcasters håller en konsekvent röst på 30 språk. Spela in en gång på engelska, skicka samma episod på japanska, spanska och hindi utan en sång.

Tillgänglighet & röstbank

Människor som står inför röstförlust kan banka sin röst i ett kort klipp och fortsätta att tala genom hjälpteknik som låter som dem - inte som en generisk TTS motor.

Produktröster på efterfrågan

Beskriv rösten du vill ha - "ung kvinna, mild och varm" - och modellen designar den utan en referensinspelning. Användbar för spel NPCs, kiosk-anvisningar eller A / B-testning av varumärkesröster.

On-device vs värd

Hur VoxCPM2 jämför med ElevenLabs.

ElevenLabs är det självklara moln-API-alternativet. Avvägningen är det som körs där - och vem äger rösten efteråt.

För produkter som behöver integritetsgarantier, offline-operation eller noll per samtalskostnader är on-device-kloning det enda alternativet - varje ElevenLabs ringer upp ljud till sina servrar.

VoxCPM2 (Soniqo)ElevenLabs
Där det gårPå användarens enhetHosted API
Audio lämnar enhetenInget nejJa (uppladdad till ElevenLabs)
Offline användningJa ja ja ja jaNej (kräver internet)
Per-call kostarIngenPer-karaktär fakturering
ModelllicensApache 2.0, öppna vikterProprietär, SaaS endast
Max output sample rate48 kHz infödd48 kHz (Pro Tier och högre)
Språk3029 (flerspråkig v2) · 70+ (Eleven v3)
Referensklipp krävs5–30 s1 min (Instant) · 30 min (professionell)
Voice design från textJa ja ja ja jaJa ja ja ja ja

Båda motorerna når 48 kHz; båda stöder en liknande språkspridning för vardaglig kloning; båda exponerar röstdesign från en textbeskrivning. Den verkliga skillnaden är om ljudet någonsin lämnar enheten.

Tre kloning lägen

En modell, tre sätt in.

Modellen är densamma i varje samtal. Vilka ändringar är vilka argument du passerar - som bestämmer om du designar en röst från en beskrivning, kopierar en inspelad eller bevarar en accent.

Voice design
När du inte har en referensinspelning.

Beskriv rösten i naturligt språk. Modellen väljer en matchande röst och förblir konsekvent över samtal.

let audio = try await tts.generateVoxCPM2(
    text: "Welcome to the show.",
    instruct: "A young woman, gentle and warm voice."
)
Referens kloning
När du har ett kort klipp av målhögtalaren.

Passera alla 5-30 s rent tal. Modellen kopierar timbre och rytm och syntetiserar ny text i den rösten.

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
När talaren har en distinkt accent och du vill ha den bevarad.

Passa klippet OCH dess utskrift. Modellen kan nu rada upp akustiska funktioner med telefoner - accent och vokal val genomgår.

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

Samma ingångsslot, fylld med olika bitar. Modellen ser aldrig en flagga - den läser sekvensen.

Under huven

Hur VoxCPM2 producerar ljud.

Fyra samarbetsmoduler. Du behöver inte veta något av detta för att använda modellen, men om du är nyfiken på var 48 kHz kommer ifrån - här är det.

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

Rörledningen börjar med en lokal kodare (LocEnc) som smälter texttokens och (valfritt) refererar ljud till en ström av vektorer. Den strömmen matar flödet TSLM - en 28-lager MiniCPM-4 språkmodell som bestämmer vad ljud "patch" ska komma nästa, på samma sätt som en text LM plockar nästa token. En andra passerar genom Ralm raffinerar varje patch.

Fram till denna punkt är allt en transformator. Den intressanta vridningen är LocDiTIstället för att välja från ett fast ordförråd av diskreta ljudtokens, kör den en liten diffusion process för att måla ljud latenta i varje slot. Ingen diskret codec betyder ingen kvantisering flaskhals - vilket är vad som låter den slutliga scenen. AudioVAE V2, avkoda direkt till 48 kHz. Alla andra på-enhet motor i denna stack toppar ut på 24 KHz.

Splittningen är värt att notera: autoregressiv LM är bra på att bestämma vad som ska komma nästa (innehåll, rytm, längd); diffusionshuvudet är bra att måla akustisk detalj (fas, spektrum). VoxCPM2 låter varje göra vad det är bra på. Det är därför modellen håller sin egen på endast 2B-parametrar - arkitekturen tjänar perceptuell kvalitet, inte storleken.

Papperet

Läs den ursprungliga forskningen.

VoxCPM: Tokenizer-Free TTS for Context-Aware Speech Generation and True-to-Life Voice Cloning
OpenBMB · arXiv:2509.24650 · Sept 2025
Visa på arXiv
Bundles

Tre storlekar. Välj på din diskbudget.

Alla tre buntar kör samma arkitektur; de skiljer sig bara i hur aggressivt språkmodellen kvantiseras. int8 bunt är den rekommenderade standarden - den matchar uppströms Python pipeline på 8-sentence rundtur riktmärke samtidigt som den är snabbare och 40% mindre än bf16.

BundleStorlekBäst för
bf16~5.0 GBReferens / felsökning.
int8
Standard
~3.0 GBVarje dag kloning, ljudböcker, podcasts.
int4~1.9 GBDiskbegränsade utplaceringar.
Prova det

Från 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
Där nästa

Fortsätt läsa.