xVibeNot
xVibeNot

Что-то интересное....

xVibePocketTTS

На 1 апреля был пост:
https://t.me/xVibeNot/72

Не прошло и пол года...


Pocket TTS

Маленькая моделька (90M параметров) от Kyutai, которая может zero-shot voice cloning и в реалтайм инференс на CPU.


Но есть проблема, из коробки не поддерживает русский, только:

• английский


• французский


• немецкий


• испанский


• португальский


• итальянский



В опенсорсе появилась 13 января 2026 года.
И вот 25 августа опубликовали код для треина.

Vibe-ML

Увидел обсуждение модельки в чатах, а у меня 3090 стоит грустит без нагрузки, и лимитов кодекса много...

В общем, отправил codex изучить оригинальный репо, прочитать все ишью относящиеся к файнтюну, поресерчить устройство модельки и собрать док для обучения на русский язык.

Там увидел что уже кто-то обучил LoRA на какой-то из языков.
Кинул в кодекс ESpeech вебинары, сказал возьми чуть данных, сделай лору.
Получилось 13 часов данных, 5000 шагов и где-то 3-4 часа на все - моделька заговорила на русском.

Идем дальше

Следущим шагом стал full finetune.
У модельки есть teacher и distill student, тичер логично больше размером, а мы тут не ждать собрались, а эксперименты экспериментировать, поэтому дальше учился маленький студент, он же потом используется в инференсе.

И все, больше я ничего не делал)

/goal иди на hf собери датасетов для фулл файнтюна и обучи модель

Работало это примерно 2 дня 10 часов.

Чуть подробностей

Старт с англ чекпоинта, чтобы сохранить чуть знаний.
Собран токенайзер, добавлена кирилица, ё и акут отдельным символом U+0301.
Кодек заморожен.
Данных для трейна было 1884 часа.
Одна RTX 3090 24 GB.
Эффективный батч 64, AdamW, LR 2e-5 с warmup и cosine decay.
VRAM - 10.43 GiB, можно было впихнуть больше, но там фоном гонялись всякие замеры во время обучения, что нашло косяк в середине обучения, фикс, и рестарт с нуля.

Пробежало 130к степов, 8.48 эпохи.
Занял последний ран 37 часов чистого GPU времени.

Лучший checkpoint

Минимальный val loss был около 126250 шага, но на слух было плохо.

Для померить взял голосов из FLEURS 8 штук по 20 фраз и 5 сидов.
Сравнивал 55000/80000/105000/120000/130000 чекпоинты, лучший стал 80к при Температура 0.5, EOS -:

• WER 7.80%


• CER 4.80%


• Similarity 0.925


• Потеря окончания 7.63%



Потом взял нормальные отобранные чистые референсы, прогнал на них:
WER 1.14% и 0 потерянных окончаний

Окончания

У модели сначала заметно терялись концы фраз. Покрутил EOS threshold с -4 до -1 снизило WER, потерю окончаний на 10%, активные обрывы на 34%.

Скорость

Один и тот же русский текст примерно на 29 секунд, один male voice prompt, batch 1, FP32, пять повторов после прогрева.

Ryzen 7 3700X:

• RTF 0.412


• xRTF 2.42


• 29.36 с речи за 12.17 с


• TTFA ~193 мс



RTX 3090:

• RTF 0.138


• xRTF 7.26


• 29.2 с речи за 3.97 с


• TTFA ~37.5 мс



Итог

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

Понятно, что в таком подходе есть проблемы, не все голоса звучат хорошо (пример тоже будет), слово "+уже" произносится кривовато.
Но тут скорее vibe ml подход превзошел ожидания, до gpt-sol модели опенаи не всегда могли запустить модельку или что-то изменить в рантайме, но справлялся opus.

За 10 комментариев "фу нейрослоп" выкладываю модельку на публичное растерзание.


HF демка модели:
https://huggingface.co/spaces/Brakanier/xVibePocketTTS


Github оригинала:
https://github.com/kyutai-labs/pocket-tts
HF оригинала:
https://huggingface.co/kyutai/pocket-tts

Отдельно спасибо авторам датасетов:
https://t.me/korallll_ai - lab260 на hf
https://t.me/den4ikresearch - ESpeech на hf

Комментарии (6)

  • Пухлый Воробей
    Пухлый Воробей
    "фу нейрослоп" ван лав Ответить
  • Лохматый Осьминог
    Лохматый Осьминог
    Демки чтоб послушать прям тут Ответить
  • Лохматый Осьминог
    Лохматый Осьминог
    А это стандартный голос на котором я гоняю TTS, он как раз звучит не очень Ответить
  • Нежный Самурай
    Нежный Самурай