Chatterbox TTS: локальный голос и клонирование голоса для AI-ассистента
Chatterbox от Resemble AI — семейство open-source TTS-моделей, которое можно запускать локально и использовать для озвучки AI-ассистента, игр, видео, подкастов и voice interfaces. Проект умеет zero-shot voice cloning по короткому reference audio, поддерживает русский язык через Multilingual V3, а семейство теперь разделено на несколько вариантов: быстрый Turbo 350M, лёгкий Nano 110M и Multilingual V3 500M для 23+ языков.
Chatterbox не «думает» — он превращает готовый текст в речь
В голосовом AI-ассистенте обычно есть минимум три независимых блока: распознавание речи, LLM и синтез речи. Chatterbox закрывает последний слой: получает текст и генерирует audio waveform.
Audio можно генерировать без отправки текста в облачный TTS API.
Reference audio задаёт голос без отдельного training run.
V3 поддерживает 23 языка, включая русский.
Turbo, Nano и Multilingual решают разные задачи.
Выбор Chatterbox зависит от языка, задержки и железа
Turbo и Nano ориентированы прежде всего на English voice-agent use case. Не стоит выбирать Turbo только из-за меньшего размера, если нужен русский output.
Русский язык официально входит в список Multilingual V3
Current README и Hugging Face model card перечисляют
Russian (ru) среди 23 поддерживаемых языков.
Для генерации нужно явно передать language_id="ru".
import torchaudio as ta
from chatterbox.mtl_tts import ChatterboxMultilingualTTS
model = ChatterboxMultilingualTTS.from_pretrained(
device="cuda",
t3_model="v3",
)
text = """
Добрый день. Это локальный синтез речи Chatterbox.
Модель работает на вашем компьютере.
"""
wav = model.generate(
text,
language_id="ru",
)
ta.save("russian.wav", wav, model.sr)
Официальные tips предупреждают:
если reference clip записан на другом языке,
итоговая речь может унаследовать его accent.
Для таких cross-language сценариев иногда помогает уменьшение
cfg_weight вплоть до 0.
Установка Chatterbox
PyPI package требует Python 3.10+, но сами разработчики указывают Python 3.11 / Debian 11 как tested environment. Для первого запуска именно 3.11 остаётся наиболее консервативным выбором.
python -m venv .venv
# Windows PowerShell
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
pip install chatterbox-tts==0.1.7
Установка из текущего source
git clone https://github.com/resemble-ai/chatterbox.git
cd chatterbox
pip install -e .
PyPI current package — 0.1.7.
В GitHub Releases latest tagged release всё ещё v0.1.2,
тогда как master/model cards уже содержат Turbo, Nano и Multilingual V3.
Поэтому для актуальных возможностей нельзя ориентироваться только на вкладку Releases.
Обычная генерация без клонирования голоса
import torchaudio as ta
from chatterbox.tts import ChatterboxTTS
model = ChatterboxTTS.from_pretrained(
device="cuda",
)
text = "Hello from a local text to speech model."
wav = model.generate(text)
ta.save(
"output.wav",
wav,
model.sr,
)
При первом запуске weights будут загружены из model repository. После этого inference выполняется локально, если сама программа не использует дополнительные облачные сервисы.
Чтобы изменить голос, достаточно передать reference audio
AUDIO_PROMPT_PATH = "voice-reference.wav"
wav = model.generate(
text,
audio_prompt_path=AUDIO_PROMPT_PATH,
)
ta.save(
"cloned-voice.wav",
wav,
model.sr,
)
Отдельный fine-tuning для каждого нового голоса здесь не нужен. Reference clip используется как acoustic conditioning. Для практики лучше брать короткую чистую запись без музыки, reverberation и одновременной речи нескольких людей.
Минимум background noise и room echo.
Без второго голоса или музыки поверх речи.
Reference должен быть близок к желаемой манере речи.
Accent reference language способен переноситься в target language.
Технически модель может воспроизводить характеристики голоса по короткому образцу, поэтому использовать её для выдачи синтетической речи за реального человека без его согласия не следует.
Chatterbox Turbo добавляет paralinguistic tags: смех, кашель и другие вокальные события
import torchaudio as ta
from chatterbox.tts_turbo import ChatterboxTurboTTS
model = ChatterboxTurboTTS.from_pretrained(
device="cuda",
)
text = """
Hi, I found the problem [chuckle].
The service was using the old configuration.
"""
wav = model.generate(
text,
audio_prompt_path="voice-reference.wav",
)
ta.save("turbo.wav", wav, model.sr)
Official README называет Turbo streamlined 350M architecture. Он использует single-step speech-token-to-mel decoder вместо прежних 10 steps и позиционируется как основной вариант для low-latency English voice agents.
В открытом issue от 6 сентября 2026 пользователь сообщает,
что часть заявленных tags tokenized корректно,
но не производит слышимого эффекта.
Поэтому конкретные [laugh]/[cough] и другие tags
нужно проверять на текущем checkpoint, а не считать гарантированными.
Nano нужен там, где важнее CPU и latency, чем максимальная универсальность
from chatterbox.tts_turbo import ChatterboxTurboTTS
model = ChatterboxTurboTTS.from_pretrained(
device="cpu",
nano=True,
)
Nano использует ту же архитектурную линию, что Turbo, но сокращён до 110M parameters. Проект заявляет производительность примерно 3× real-time на 8 CPU cores. Это авторское измерение/позиционирование проекта, а не универсальный benchmark для любого процессора.
Если нужна English speech output на небольшом сервере, NAS-adjacent PC или CPU-only VM, Nano логичнее тяжёлой multilingual model.
Multilingual V3 — основной Chatterbox для русского и cross-language voice cloning
V3 сохраняет размер около 500M, а Resemble AI заявляет улучшенную speaker similarity, меньше unwanted continuation/repetition и более естественную разговорную речь по сравнению с предыдущим multilingual checkpoint.
from chatterbox.mtl_tts import ChatterboxMultilingualTTS
model = ChatterboxMultilingualTTS.from_pretrained(
device="cuda",
t3_model="v3",
)
wav = model.generate(
"Теперь этот голос говорит по-русски.",
language_id="ru",
audio_prompt_path="reference.wav",
)
Если t3_model не указывать,
current README объясняет, что используется legacy V2 path;
V3 нужно запросить явно.
В августе появился открытый issue, где пользователь показывает заметную регрессию датского произношения V3 относительно V2. Это не доказывает системную проблему всех языков, но означает: перед миграцией длинного production workflow сравните V2 и V3 именно на своём языке/reference voice.
Качество можно подстраивать, но параметры связаны между собой
Для classic/multilingual Chatterbox официальный README предлагает
начинать примерно с:
exaggeration=0.5 и cfg_weight=0.5.
Default starting point.
Речь становится драматичнее, но часто ускоряется.
Может помочь при слишком быстрой reference voice.
Может уменьшить перенос accent из reference языка.
Настройки нужно сравнивать на одинаковых текстах и reference clip, потому что speaker, punctuation, язык и длина фразы заметно влияют на результат.
Длинный текст лучше дробить
Для audiobook/podcast pipeline практичнее генерировать предложения/абзацы отдельно, затем нормализовать громкость, pauses и склеить audio. Это позволяет повторно сгенерировать только неудачный кусок, а не весь часовой файл.
На Windows главная сложность обычно не модель, а PyTorch/CUDA dependency stack
Current package metadata поддерживает Python 3.10+, но официальный README говорит, что development/testing выполнялись на Python 3.11 и Debian 11. В GitHub issues есть многочисленные Windows/CUDA reports, особенно у старых package combinations.
Не ставить в общий global Python с десятками AI packages.
nvidia-smi должен видеть GPU до установки Chatterbox.
torch.cuda.is_available() должен вернуть True.
Так проще локализовать dependency/CUDA issue.
python -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"
PyTorch wheel index зависит от вашей текущей версии PyTorch/CUDA. Используйте current installer selector PyTorch для своей системы, а GitHub issue рассматривайте только как диагностику класса проблемы.
Chatterbox можно поставить как голосовой выход поверх Hermes, OpenClaw или собственного LLM-agent
Сам Chatterbox не обязан жить внутри процесса agent. На практике удобнее поднять его как отдельный local service/API: agent отправляет текст, TTS service возвращает WAV/OGG, а channel adapter отправляет audio пользователю.
Telegram/cron/agent logic остаются в Hermes, Chatterbox отвечает только за speech synthesis.
TTS можно сделать отдельным tool/service рядом с Gateway.
Синтезировать сообщения и отдавать их media player.
Самый простой вариант без сетевого API.
Каждый официальный Chatterbox output получает PerTh audio watermark
Repository прямо указывает, что generated audio содержит PerTh (Perceptual Threshold) neural watermark. Resemble AI заявляет, что он imperceptible, переживает MP3 compression и типичные audio manipulations, сохраняя почти 100% detection accuracy. Последняя цифра — утверждение самого разработчика проекта.
import perth
import librosa
audio, sr = librosa.load(
"generated.wav",
sr=None,
)
watermarker = perth.PerthImplicitWatermarker()
value = watermarker.get_watermark(
audio,
sample_rate=sr,
)
print(value)
Но для архивов, broadcast pipeline и последующего анализа важно знать, что official generation path intentionally маркирует synthetic audio.
После загрузки weights текст и reference voice не обязаны уходить к TTS-провайдеру
При прямом Python inference без cloud API.
Если weights уже загружены и используется local filesystem.
Нужен доступ к model hosting при первом запуске.
Telegram/OpenAI/Anthropic не становятся локальными из-за local TTS.
Даже при локальном inference храните voice samples так же аккуратно, как другие персональные исходные данные: без public web directory, случайного Git commit и общей сетевой папки без необходимости.
Качество высокое, но проект всё ещё имеет реальные edge cases
Есть свежий open report по Danish V3 vs V2.
Open issue сообщает о tags без слышимого эффекта.
Multilingual API требует один language_id на generation.
Есть issue про AlignmentStreamAnalyzer / GPU crash на short input.
Community report описывает постоянный ~4.9 kHz tone/noise floor в части generated audio.
Official tested environment остаётся Debian/Python 3.11.
Для cloning нужен reference audio.
На repository security page сейчас нет SECURITY.md и published advisories.
Numbers и демо не заменяют вашу собственную выборку: короткие ответы, числа, аббревиатуры, адреса, технические термины, длинные предложения и русский текст с ударениями/именами.
В LocalLLaMA TTS снова становится заметной частью local-agent стека
В свежих обсуждениях сентября 2026 пользователи снова спрашивают, чем локально озвучивать модели и AI-ассистентов. Chatterbox регулярно появляется среди практических вариантов именно благодаря voice cloning и multilingual support.
В обсуждении Chatterbox отдельно отмечают за voice cloning по короткому reference sample.
Пользователь применяет Chatterbox Audiobook fork и обсуждает ограничения эмоций/consistency.
LocalLLaMA обсуждает lightweight local speech именно как часть personal-agent pipeline.
Спрос смещается от isolated TTS demo к реальным voice-agent связкам.
Hardware, language, reference voice и требования к latency у всех разные, поэтому community consensus используем как сигнал интереса, а не как доказательство «лучшей модели».
Chatterbox 2026: V3, Turbo, Nano, Python package и реальные issues
Current PyPI package — 0.1.7.
Current repository/model cards рекомендуют Multilingual V3
как general-purpose multilingual model.
GitHub release tags заметно отстают от package/model development.
Chatterbox интересен тем, что закрывает сразу три сценария: local TTS, клонирование голоса и голосовой интерфейс для AI-agent
Для русского personal assistant сейчас логичнее смотреть на Multilingual V3. Для English realtime-agent — на Turbo. Для небольшого CPU-only устройства — на Nano.
Главное преимущество перед облачным TTS — возможность держать text и voice reference локально, а главное ограничение — необходимость самостоятельно управлять железом, зависимостями, качеством конкретного голоса и длинными audio workflows.
Для нашего стека особенно интересна связка: Hermes/OpenClaw + local LLM + Chatterbox. Тогда агент не только думает локально, но и отвечает собственным локальным голосом.
Частые вопросы про Chatterbox TTS
Что такое Chatterbox простыми словами?
Open-source семейство text-to-speech моделей Resemble AI: генерирует речь локально, умеет voice cloning и имеет multilingual вариант.
Поддерживает ли Chatterbox русский язык?
Да. Current Chatterbox Multilingual V3 официально включает Russian с language_id="ru".
Можно ли клонировать голос?
Да. В generate() передаётся audio_prompt_path с reference recording. Отдельный fine-tuning для одного нового голоса не обязателен.
Какая модель подходит для русского?
Multilingual V3 500M. Turbo и Nano в current model zoo ориентированы на English.
Можно ли запускать без видеокарты?
Да. Nano специально ориентирован на CPU/on-device inference; другие варианты также технически могут работать на CPU, но будут тяжелее и медленнее.
Что выбрать для голосового ассистента?
Для English и минимальной latency — Turbo; для русского — Multilingual V3; для слабого CPU — Nano, если English достаточно.
Есть ли управление эмоциями?
Classic/multilingual дают exaggeration/CFG controls. Turbo имеет paralinguistic tags вроде [laugh]/[cough], но current issue reports показывают, что не все tags одинаково надёжны.
Отправляет ли Chatterbox текст в облако?
При прямом local inference — нет. Но weights при первом запуске скачиваются, а другие части вашего AI pipeline могут пользоваться внешними сервисами.
Есть ли watermark?
Да. Official generation path добавляет встроенный PerTh neural audio watermark.
Какая версия актуальна?
На 21 сентября 2026 current PyPI package — chatterbox-tts 0.1.7; latest multilingual model line в repository/model card — Multilingual V3.
Хотите, чтобы Hermes, OpenClaw или свой AI-ассистент отвечал голосом без облачного TTS?
Начать лучше с одной модели и одного чистого reference clip: проверить русский текст, числа, имена, технические термины и длинные предложения, а уже затем подключать TTS к Telegram, Home Assistant или постоянному agent service.
