Блог·
Клонирование голоса
May 17, 2026

Клонирование голоса на 48 кГц
с VoxCPM2.

В Soniqo только что появилась новая модель TTS. Она работает на вашем ноутбуке, выдаёт аудио студийного качества на 48 кГц и клонирует голос из одного короткого клипа. Этот пост проходит по тому, что можно на ней построить, по трём способам клонировать голос и по дружелюбному разбору того, как модель устроена внутри.

Что можно построить

Четыре вещи, которые меняются, когда клонирование идёт локально.

Клонирование на устройстве разом открывает четыре свойства — приватность, работу офлайн, отсутствие оплаты за вызов и полное владение голосом. Каждое открывает класс продуктов, которые иначе строить неудобно.

Личные дикторы аудиокниг

Запишите 30 секунд, как родитель читает. Приложение аудиокниг затем озвучивает любую главу его голосом — та же теплота, тот же акцент, локально в каждой сессии.

Многоязычный контент авторов

Ютуберы и подкастеры сохраняют один устойчивый голос на 30 языках. Запишите один раз по-английски и выпускайте тот же эпизод на японском, испанском и хинди без голосового каста.

Доступность и банк голоса

Люди перед потерей голоса могут сохранить его в коротком клипе и продолжать говорить через ассистивные технологии, которые звучат как они, а не как обобщённый движок TTS.

Продуктовые голоса по запросу

Опишите нужный голос — "молодая женщина, мягкий и тёплый голос" — и модель спроектирует его без референсной записи. Полезно для NPC в играх, подсказок киосков или A/B-тестов брендовых голосов.

На устройстве против хостинга

Как VoxCPM2 сравнивается с ElevenLabs.

ElevenLabs — очевидная альтернатива с облачным API. Компромисс в том, что где работает — и кому потом принадлежит голос.

Для продуктов, которым нужны гарантии приватности, работа офлайн или нулевая оплата за вызов, клонирование на устройстве — единственный вариант: каждый вызов ElevenLabs загружает аудио на их серверы.

VoxCPM2 (Soniqo)ElevenLabs
Где работаетНа устройстве пользователяХостируемый API
Аудио покидает устройствоНетДа (загружается в ElevenLabs)
Работа офлайнДаНет (нужен интернет)
Оплата за вызовНетОплата за символ
Лицензия моделиApache 2.0, открытые весаПроприетарная, только SaaS
Макс. частота вывода48 кГц нативно48 кГц (уровень Pro и выше)
Языки3029 (Multilingual v2) · 70+ (Eleven v3)
Нужен референсный клип5–30 с1 мин (Instant) · 30 мин (Professional)
Дизайн голоса из текстаДаДа

Оба движка достигают 48 кГц; оба поддерживают схожий набор языков для повседневного клонирования; оба дают дизайн голоса из текстового описания. Настоящая разница — покидает ли аудио устройство вообще.

Три режима клонирования

Одна модель, три входа.

Модель одна и та же в каждом вызове. Меняются передаваемые аргументы — они решают, проектируете ли вы голос из описания, копируете записанный или сохраняете акцент.

Дизайн голоса
Когда у вас нет референсной записи.

Опишите голос естественным языком. Модель выбирает подходящий голос и остаётся согласованной между вызовами.

let audio = try await tts.generateVoxCPM2(
    text: "Welcome to the show.",
    instruct: "A young woman, gentle and warm voice."
)
Клонирование по референсу
Когда у вас есть короткий клип целевого диктора.

Передайте любые 5–30 с чистой речи. Модель копирует тембр и ритм и синтезирует новый текст этим голосом.

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
)
Предельное клонирование
Когда у диктора выраженный акцент и вы хотите его сохранить.

Передайте клип И его транскрипцию. Теперь модель может сопоставить акустические признаки с фонемами — акцент и выбор гласных переносятся.

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

Тот же входной слот, заполненный разными частями. Модель никогда не видит флаг — она читает последовательность.

Под капотом

Как VoxCPM2 производит аудио.

Четыре взаимодействующих модуля. Знать это, чтобы пользоваться моделью, не нужно, но если вам любопытно, откуда берутся 48 кГц — вот оно.

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

Конвейер начинается с локального энкодера (LocEnc), который сплавляет токены текста и (опционально) референсное аудио в один поток векторов. Этот поток питает TSLM — 28-слойную языковую модель MiniCPM-4, которая решает, какой аудио-"патч" идёт следующим, так же как текстовая LM выбирает следующий токен. Второй проход через RALM уточняет каждый патч.

До этого места всё — трансформер. Интересный поворот — это LocDiT: вместо выбора из фиксированного словаря дискретных аудио-токенов он запускает небольшой диффузионный процесс, чтобы «нарисовать» аудиолатент в каждом слоте. Отсутствие дискретного кодека означает отсутствие узкого места квантования — именно это позволяет финальной стадии, AudioVAE V2, декодировать прямо в 48 кГц. Любой другой движок на устройстве в этом стеке упирается в 24 кГц.

Разделение стоит отметить: авторегрессионная LM отлично решает, что должно идти дальше (содержание, ритм, длина); диффузионная голова отлично рисует акустические детали (фаза, спектр). VoxCPM2 позволяет каждому делать то, в чём он хорош. Поэтому модель держит уровень всего при 2B параметров — воспринимаемое качество зарабатывает архитектура, а не размер.

Статья

Читайте оригинальное исследование.

VoxCPM: Tokenizer-Free TTS for Context-Aware Speech Generation and True-to-Life Voice Cloning
OpenBMB · arXiv:2509.24650 · Sept 2025
Открыть на arXiv
Сборки

Три размера. Выбирайте по бюджету диска.

Все три сборки работают на одной архитектуре; они различаются лишь тем, как агрессивно квантована языковая модель. Сборка int8 — рекомендуемая по умолчанию: она совпадает с upstream-конвейером на Python в бенчмарке кругового обхода из 8 предложений, оставаясь быстрее и на 40% меньше, чем bf16.

СборкаРазмерЛучше для
bf16~5.0 GBРеференс / отладка.
int8
по умолч.
~3.0 GBПовседневное клонирование, аудиокниги, подкасты.
int4~1.9 GBРазвёртывания при нехватке диска.
Попробуйте

Из 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
Что дальше

Читайте дальше.