Downloads · 30 days
0
genvoice/xVibePocketTTS
xVibePocketTTS is a text-to-speech model from genvoice. Use it when you need text read aloud. It is set up for pocket-tts.
<div align="center" <h1 style="font-size: 2em; margin: 0 0 8px;"xVibePocketTTS</h1 <p style="margin: 0 0 12px;"Full fine-tune Pocket TTS на русской речи</p <p style="margin: 0 0 20px;"<a href="https://huggingface.co/s…
Downloads · 30 days
0
Access
Public
Updated Sep 6, 2026
Repo size
457 MB
Likes
6
Public
Click a slice to open those files.
.safetensors457 MB · 100%
From the Hugging Face model README
xVibePocketTTS — лёгкая модель синтеза речи (TTS), рассчитанная на эффективную работу на CPU. Для генерации аудио не нужны видеокарта или внешние API: речь можно синтезировать локально, установив библиотеку и вызвав функцию Python.
В демо доступны три готовых голоса, загрузка собственного образца и настройка ударений.
В 2,42 раза быстрее реального времени на Ryzen 7 3700X и в 7,26 раза — на RTX 3090.
| Оборудование | RTF ↓ | Скорость относительно реального времени ↑ | Первый аудиофрагмент (TTFA) ↓ | Весь фрагмент |
|---|---|---|---|---|
| Ryzen 7 3700X · CPU | 0,412 | 2,42× | ≈193 мс | 29,36 с речи за 12,17 с |
| RTX 3090 · GPU | 0,138 | 7,26× | ≈37,5 мс | 29,2 с речи за 3,97 с |
Условия: step80000, температура 0.5, EOS −1, FP32, batch 1; один и тот же русский текст и один мужской голосовой референс. Показаны медианы пяти повторов после прогрева. Загрузка модели и подготовка состояния голоса измерялись отдельно и в эти значения не входят.
RTF — время синтеза, делённое на длительность аудио: чем меньше, тем быстрее. TTFA — время до первого аудиофрагмента при потоковом синтезе.
Код для запуска — GenVoice/xVibePocketTTS на GitHub. Пакет устанавливает Pocket TTS и RUAccent, автоматически загружает русские веса и включает три готовых голоса.
Установите uv, затем выполните:
git clone https://github.com/GenVoice/xVibePocketTTS.git
cd xVibePocketTTS
uv sync --python 3.12 --extra demo --frozen
uv run xvibe-tts generate --text "Привет! Это проверка русской речи." --output output.wav
Для локального веб-демо запустите uv run xvibe-tts serve и откройте http://127.0.0.1:7860. При первом запуске веса и ресурсы RUAccent скачиваются автоматически и сохраняются в кэше.
Пример Python — сохраните в example.py и выполните uv run python example.py из папки проекта:
import soundfile as sf
from xvibe_pocket_tts import RussianTTS
tts = RussianTTS()
audio = tts.generate("Привет! Это проверка русской речи.", voice="male_deep")
sf.write("output.wav", audio.numpy(), tts.sample_rate)
Готовые голоса: male_deep, female_silky, male_authoritative.
В GitHub-репозитории есть WAV-референс male_deep. Пример клонирования из аудиофайла после клонирования репозитория и установки пакета:
uv run xvibe-tts generate --text "Этот голос клонирован из аудиообразца." --voice examples/voices/male_deep.wav
В Python передайте voice="examples/voices/male_deep.wav" в tts.generate(). Для собственного голоса замените путь на путь к вашему аудиообразцу.
RUAccent включён по умолчанию. Ручное ударение можно задать плюсом перед гласной (з+амок) или символом U+0301 после неё (за́мок); оно имеет приоритет над автоматическим. Обработка текста выполняется в пакете — сами веса автоматически ударения не расставляют. Примеры потокового синтеза, работы на GPU и дополнительных настроек — в README проекта.
Стартовали с английского checkpoint english_2026-04, сохранив знания базовой модели. Выполнено полное дообучение FlowLM и обучающих голов; аудиокодек Mimi оставался замороженным. Русский токенизатор поддерживает кириллицу, «ё» и явное ударение U+0301.
| Параметр | Значение |
|---|---|
| Обучающая выборка | 1 884,72 часа русской речи |
| Оборудование | Одна RTX 3090, 24 ГБ |
| Эффективный batch | 64 |
| Оптимизатор | AdamW, LR 2e-5, warmup и cosine decay |
| Финальный обучающий запуск | ≈130 тыс. шагов, 8,48 эпохи |
| Активное время обучения | 37 ч 14 мин |
| Выбранный checkpoint | step80000 — по результатам прослушивания и оценки |
На проверке из 800 генераций при температуре 0.5 и EOS −1: WER 7,80%, CER 4,80%, потеря окончания 7,63%. Порог EOS подбирался на этой же выборке, поэтому это результаты калибровки, а не независимого финального теста.
Качество зависит от голоса и чистоты референса. Некоторые голоса и отдельные слова могут звучать неудачно; ошибки произношения и потеря окончаний полностью не устранены.
model/model.safetensors — веса модели.model/tokenizer.model, model/tokenizer.vocab — русский токенизатор.voices/ — три готовых состояния голоса для этого checkpoint.config.yaml — конфигурация со ссылками на закреплённую версию весов и токенизатора.RUNTIME.json — параметры генерации и происхождение версии.SHA256SUMS — контрольные суммы весов, токенизатора и голосов.Базовые веса Kyutai Pocket TTS заявлены под CC BY 4.0, исходный код — MIT.