🎄 Telegram Chat Recap 2025
Кажется, в этом году стало особенно модно делать всякие рекапы и итоги года.
А ещё мне этот год запомнился таким явлением как vibe coding - хоть сейчас это уже не так круто и все стали context engineer'ами, я всё же решил совместить эти штуки.
Представляю вашему вниманию тул для создания рекапа любого вашего чата в Telegram
https://brakanier.github.io/tgrecap/
По ссылке вы можете загрузить экспорт сообщений вашего чата (инструкция внутри) и получить итоги за 2025 (любой) год.
🎉 Всех с наступающим новым годом!
Кажется, в этом году стало особенно модно делать всякие рекапы и итоги года.
А ещё мне этот год запомнился таким явлением как vibe coding - хоть сейчас это уже не так круто и все стали context engineer'ами, я всё же решил совместить эти штуки.
Представляю вашему вниманию тул для создания рекапа любого вашего чата в Telegram
https://brakanier.github.io/tgrecap/
По ссылке вы можете загрузить экспорт сообщений вашего чата (инструкция внутри) и получить итоги за 2025 (любой) год.
🔒 Приватность: Все данные остаются у вас в браузере, никуда не отправляются. Код полностью открыт.
🎉 Всех с наступающим новым годом!
🔥9❤2
Добавил поддержку ударений в FastCosyVoice
Модель понимает юникод символ ударения
Выглядит это так:
Но поскольку расставлять его неудобно, добавил общепринятый
Добавил параметр auto_stress (по дефолту False).
Он использует silero-stress для расстановки ударений по всему тексту.
Но есть проблема, модель явно не обучалась с ударениями на русском языке, а генерализировала их по примерам из других языков. В итоге ситуация такая, если расставлять ударения прям в каждом слове, то становится хуже, чем без ударений совсем.
Поэтому рекомендую ставить ударения только там, где модель сама не справляется. Часто это какие-то необычные слова или имена собственные, а-ля
Примеры с ударениями под постом в комментариях.
https://github.com/Brakanier/FastCosyVoice/releases/tag/0.1.2
Модель понимает юникод символ ударения
\u0301.Выглядит это так:
замо́кНо поскольку расставлять его неудобно, добавил общепринятый
+ перед ударной гласной, он автоматом конвертируется в "акут" (название символа) после ударной гласной.Добавил параметр auto_stress (по дефолту False).
Он использует silero-stress для расстановки ударений по всему тексту.
Но есть проблема, модель явно не обучалась с ударениями на русском языке, а генерализировала их по примерам из других языков. В итоге ситуация такая, если расставлять ударения прям в каждом слове, то становится хуже, чем без ударений совсем.
Поэтому рекомендую ставить ударения только там, где модель сама не справляется. Часто это какие-то необычные слова или имена собственные, а-ля
сестры Б+ене-Г+ессерит.Примеры с ударениями под постом в комментариях.
https://github.com/Brakanier/FastCosyVoice/releases/tag/0.1.2
🔥8
Добавил поддержку Blackwell (50xx серия) архитектуры.
Да, оказывается ее не было, и у меня не было девайса потестить, а теперь есть, но об этом будет отдельный пост.
Поправил немного бенчмарки, прогрев моделей, убрал логирование vram pytorch (не видит tensorrt/tensorrt-llm потребление, в итоге бесполезно).
Поправил автозагрузку моделей.
И главное добавил результаты бенчмарков на rtx 5060ti.
И они немного спорные, точнее спорные результаты 3090, но дело в cpu и wsl.
Все уже доступно на github:
https://github.com/Brakanier/FastCosyVoice/releases/tag/0.1.3
Да, оказывается ее не было, и у меня не было девайса потестить, а теперь есть, но об этом будет отдельный пост.
Поправил немного бенчмарки, прогрев моделей, убрал логирование vram pytorch (не видит tensorrt/tensorrt-llm потребление, в итоге бесполезно).
Поправил автозагрузку моделей.
И главное добавил результаты бенчмарков на rtx 5060ti.
И они немного спорные, точнее спорные результаты 3090, но дело в cpu и wsl.
Все уже доступно на github:
https://github.com/Brakanier/FastCosyVoice/releases/tag/0.1.3
❤5👍1
LEMAS TTS
Появилась еще одна tts с поддержкой русского языка.
Построена поверх f5 с изменениями, отличия от f5 можно почитать в их paper:
https://arxiv.org/abs/2601.04233
Поддерживает 10 языков:
- Chinese
- English
- Spanish
- Russian
- French
- German
- Italian
- Portuguese
- Indonesian
- Vietnamese
Представлено 2 варианта весов, базовая модель и prosody вариант, который понимает извлеченные из референса просодии.
По качеству синтеза на русском, мне кажется хуже файтюнов f5 от misha24-10 и ESpeech.
Конечно же в комментариях можно послушать примеры.
Github:
https://github.com/LEMAS-Project/LEMAS-TTS
HF:
https://huggingface.co/LEMAS-Project/LEMAS-TTS
Демки:
https://lemas-project.github.io/LEMAS-Project/
https://huggingface.co/spaces/LEMAS-Project/LEMAS-TTS
Но это не все, в релизе есть еще такая штука - система редактирования речи.
Она позволяет заменять отдельные слова или предложения в речи.
Можно сделать свой вариант fabric details, пример в комментариях.
Github:
https://github.com/LEMAS-Project/LEMAS-Edit
HF:
https://huggingface.co/LEMAS-Project/LEMAS-Edit
Демки:
https://lemas-project.github.io/LEMAS-Project/ (внизу страницы)
https://huggingface.co/spaces/LEMAS-Project/LEMAS-Edit
Появилась еще одна tts с поддержкой русского языка.
Построена поверх f5 с изменениями, отличия от f5 можно почитать в их paper:
https://arxiv.org/abs/2601.04233
Поддерживает 10 языков:
- Chinese
- English
- Spanish
- Russian
- French
- German
- Italian
- Portuguese
- Indonesian
- Vietnamese
Представлено 2 варианта весов, базовая модель и prosody вариант, который понимает извлеченные из референса просодии.
По качеству синтеза на русском, мне кажется хуже файтюнов f5 от misha24-10 и ESpeech.
Конечно же в комментариях можно послушать примеры.
Github:
https://github.com/LEMAS-Project/LEMAS-TTS
HF:
https://huggingface.co/LEMAS-Project/LEMAS-TTS
Демки:
https://lemas-project.github.io/LEMAS-Project/
https://huggingface.co/spaces/LEMAS-Project/LEMAS-TTS
Но это не все, в релизе есть еще такая штука - система редактирования речи.
Она позволяет заменять отдельные слова или предложения в речи.
Можно сделать свой вариант fabric details, пример в комментариях.
Github:
https://github.com/LEMAS-Project/LEMAS-Edit
HF:
https://huggingface.co/LEMAS-Project/LEMAS-Edit
Демки:
https://lemas-project.github.io/LEMAS-Project/ (внизу страницы)
https://huggingface.co/spaces/LEMAS-Project/LEMAS-Edit
🔥4
Qwen3-TTS
Сегодня дропнули веса Qwen3-TTS и там есть поддержка русского языка.
Полный список языков которые поддерживает модель:
- Китайский (Chinese)
- Английский (English
- Японский (Japanese)
- Корейский (Korean)
- Немецкий (German)
- Французский (French)
- Русский (Russian)
- Португальский (Portuguese)
- Испанский (Spanish)
- Итальянский (Italian)
Внутри 5 весов для разных целей, но интересны только 3, пойдем по порядку.
Qwen3-TTS-12Hz-1.7B-CustomVoice
Предназначена для использования со встроенными голосами (таблица голосов в комментариях), но поддерживает instruct, через который можно задать эмоции/интонацию/управлять настроением.
Есть младшая версия 0.6B параметров.
Qwen3-TTS-12Hz-1.7B-VoiceDesign
Тоже поддерживает instruct, но уже для другой цели. Позволяет создать голос по описанию.
Qwen3-TTS-12Hz-1.7B-Base
И по классике, моделька просто умеющая клонировать голос.
Ее и пощупаем первой.
Тоже есть младшая версия 0.6B параметров.
Прогретые модели (1.7B) из коробки дают RTF ~1.9 на RTX 3090. Конечно без каких-либо оптимизаций, код взят с HF, используется только, bfloat16 как в примерах.
Принимает на вход 24kHz, отдает такую же частоту.
Ударения иногда путает, расставлять не пробовал.
С длинными аудио какие-то проблемы, можно услышать в примере.
Примеры синтезов с клонированием - как всегда в комментариях.
Github:
https://github.com/QwenLM/Qwen3-TTS
HF:
https://huggingface.co/collections/Qwen/qwen3-tts
Демка:
https://huggingface.co/spaces/Qwen/Qwen3-TTS
Сегодня дропнули веса Qwen3-TTS и там есть поддержка русского языка.
Полный список языков которые поддерживает модель:
- Китайский (Chinese)
- Английский (English
- Японский (Japanese)
- Корейский (Korean)
- Немецкий (German)
- Французский (French)
- Русский (Russian)
- Португальский (Portuguese)
- Испанский (Spanish)
- Итальянский (Italian)
Внутри 5 весов для разных целей, но интересны только 3, пойдем по порядку.
Qwen3-TTS-12Hz-1.7B-CustomVoice
Предназначена для использования со встроенными голосами (таблица голосов в комментариях), но поддерживает instruct, через который можно задать эмоции/интонацию/управлять настроением.
Есть младшая версия 0.6B параметров.
Qwen3-TTS-12Hz-1.7B-VoiceDesign
Тоже поддерживает instruct, но уже для другой цели. Позволяет создать голос по описанию.
Qwen3-TTS-12Hz-1.7B-Base
И по классике, моделька просто умеющая клонировать голос.
Ее и пощупаем первой.
Тоже есть младшая версия 0.6B параметров.
Прогретые модели (1.7B) из коробки дают RTF ~1.9 на RTX 3090. Конечно без каких-либо оптимизаций, код взят с HF, используется только, bfloat16 как в примерах.
Принимает на вход 24kHz, отдает такую же частоту.
Ударения иногда путает, расставлять не пробовал.
С длинными аудио какие-то проблемы, можно услышать в примере.
Примеры синтезов с клонированием - как всегда в комментариях.
Github:
https://github.com/QwenLM/Qwen3-TTS
HF:
https://huggingface.co/collections/Qwen/qwen3-tts
Демка:
https://huggingface.co/spaces/Qwen/Qwen3-TTS
🔥5❤1
С формальной частью покончили, переходим к интересностям.
CustomVoice - инструкции действительно влияют на синтез, не как у CosyVoice3, а прям заметно, любые описания, писал инструкции на английском. Но только встроенные голоса, хотя они достаточно качественные.
Но самая прикольная штука - это VoiceDesign, она конечно давно есть у alibaba в API, но не думал, что мне так зайдет генерить штук 40 голосов с разным описанием и слушать что получилось.
Генерит не всегда хорошо, напоминает работу с картинками, надо сразу штуки 4 примера по описанию создавать и выбирать более подходящий.
И кажется это может очень зайти инди разработчикам, генеришь голоса для персонажей, потом клонируешь под нужные реплики.
Тонна примеров эмоций (по 2 на каждый голос) с встроенными голосами CustomVoice и еще одна тонна примеров голосов с VoiceDesign - конечно же в комментариях.
CustomVoice - инструкции действительно влияют на синтез, не как у CosyVoice3, а прям заметно, любые описания, писал инструкции на английском. Но только встроенные голоса, хотя они достаточно качественные.
Но самая прикольная штука - это VoiceDesign, она конечно давно есть у alibaba в API, но не думал, что мне так зайдет генерить штук 40 голосов с разным описанием и слушать что получилось.
Генерит не всегда хорошо, напоминает работу с картинками, надо сразу штуки 4 примера по описанию создавать и выбирать более подходящий.
И кажется это может очень зайти инди разработчикам, генеришь голоса для персонажей, потом клонируешь под нужные реплики.
Тонна примеров эмоций (по 2 на каждый голос) с встроенными голосами CustomVoice и еще одна тонна примеров голосов с VoiceDesign - конечно же в комментариях.
🔥4
Хайп хайп хайп
clawdbot.com
https://github.com/clawdbot/clawdbot
В общем пощупал я этого clawdbot'а и чет Hytakoe.
Возможно если поставить его прям в систему и отдать все права, то он сможет что-то сделать, но у меня по планам еще использовать этот пк, а не отдать на растерзание эйай слопу.
Поднял в докере, вроде натыкал всяких скиллов, думал они поставятся автоматом, так как есть отдельный
Но увы, скиллов не появилось, кое-как настроил телегу, добавил в чат, там попросили сделать
Внутри настроил GLM, так как взял подписку на z.ai, там скидочки до конца января, не реклама, просто дешево за ведро токенов.
Попросил создать скилл, он сказал, что прочитал скилл "как создавать скиллы" и готов, что за скилл создать. После описания скилла просто проигнорил и ничего не создал.
Но он точно смог написать в файл заметку и потом прислать файл в телегу.
А еще показать файлы которые у него есть в воркспейсе. Победа.
Получается либо сидеть и долго настраивать, ставить руками скиллы, может каких-то агентов, интеграции и тд, либо не юзать.
Я думал наконец наступил век агентов и он сам себя благополучно настроит - ну в чате говорить ему что ставить, что не ставить, склонировать документацию с гита, чтобы он грепал по ней и понимал что делать, но пока увы.
Если у кого получилось завести эту чудо машину и она прям полезная, поделитесь пожалуйста кейсами в комментах.
clawdbot.com
https://github.com/clawdbot/clawdbot
В общем пощупал я этого clawdbot'а и чет Hytakoe.
Возможно если поставить его прям в систему и отдать все права, то он сможет что-то сделать, но у меня по планам еще использовать этот пк, а не отдать на растерзание эйай слопу.
Поднял в докере, вроде натыкал всяких скиллов, думал они поставятся автоматом, так как есть отдельный
docker-setup.sh для этого и есть онбординг, чтобы все настроить.Но увы, скиллов не появилось, кое-как настроил телегу, добавил в чат, там попросили сделать
rm -rf ./* ./.*, он уточнил, ему сказали точно сделай (раза 3), все, больше ничего не произошло. И нет, он не удалил себя, просто заигнорил.Внутри настроил GLM, так как взял подписку на z.ai, там скидочки до конца января, не реклама, просто дешево за ведро токенов.
Попросил создать скилл, он сказал, что прочитал скилл "как создавать скиллы" и готов, что за скилл создать. После описания скилла просто проигнорил и ничего не создал.
Но он точно смог написать в файл заметку и потом прислать файл в телегу.
А еще показать файлы которые у него есть в воркспейсе. Победа.
Получается либо сидеть и долго настраивать, ставить руками скиллы, может каких-то агентов, интеграции и тд, либо не юзать.
Я думал наконец наступил век агентов и он сам себя благополучно настроит - ну в чате говорить ему что ставить, что не ставить, склонировать документацию с гита, чтобы он грепал по ней и понимал что делать, но пока увы.
Если у кого получилось завести эту чудо машину и она прям полезная, поделитесь пожалуйста кейсами в комментах.
🔥4
VibeVoice
Наконец-то добрался пощупать VibeVoice от Microsoft, флагман в open-source по размеру, а может и по качеству.
Релиз модели был еще в конце августа 2025, а уже 4 сентября 2025 репозитории с моделью удалили.
Причина:
Получилось слишком хорошо и без watermark-ов или иных вариантов защиты от deepfake.
Позже репозитории восстановили, но только с 1.5B моделью и пачкой ограничений.
Но, что попало в интернет, там и остается, поэтому есть комьюнити форк и веса 7B модели, которая нас и интересует.
В декабре 2025 еще релизнули 0.5B модель для реалтайм синтеза, с заявленным TTFB 300ms, но не дали encoder от acoustic tokenizer, только 1 голос и создать клон голоса не получится.
В итоге имеем 1.5B и 7B модели для оффлайн синтеза.
Запускаем, по классике, на RTX 3090:
Из коробки получаем одинаковую скорость, перепроверил, ошибок не нашел.
По качеству 1.5B явно хуже 7B, дальше гонял только 7B модель.
Заметил, что по дефолту включен flash attention, но его не было в зависимостях, падало на sdpa, поставил, немного лучше - RTF: 1.0504.
Попробовал torch.compile, ничего не дало, убрал.
Идем искать и пробовать кванты:
Кванты динамические, да они съедают меньше VRAM, но слои восстанавливают точности при генерации, это накладные расходы, получаем замедление.
Если у вас мало VRAM, 12-16 gb - это вариант, но 4-bit квант уже заметно сказывается на качестве, не советую.
Посмотрел еще раз примеры и README, есть возможность генерировать сразу до 4-х разных спикеров, значит у нас есть некий батчинг из коробки и нам ничего не мешает заменить 4 спикера на 4 одинаковых спикера.
Идем тестить:
Получается для оффлайн синтеза больших текстов нет смысла синтезировать весь текст или чанки одним спикером. Просто бьем текст на 4 чанка, подаем на вход 4 раза один и тот же голос и получаем результат гораздо быстрее. Останется только склеить 4 сэмпла.
Кванты в батчинге посыпались, у меня почему то именно во втором сэмпле на выходе артефакты в виде музыки или каких-то посторонних шумов.
Еще что интересно, даже если подавать в батчинг тексты разной длинны, он все равно хорошо отрабатывает, как по скорости, так и по качеству - лог с подробностями будет в комментах.
Наконец-то добрался пощупать VibeVoice от Microsoft, флагман в open-source по размеру, а может и по качеству.
Релиз модели был еще в конце августа 2025, а уже 4 сентября 2025 репозитории с моделью удалили.
Причина:
VibeVoice is an open-source research framework intended to advance collaboration in the speech synthesis community. After release, we discovered instances where the tool was used in ways inconsistent with the stated intent. Since responsible use of AI is one of Microsoft's guiding principles, we have disabled the repo until we are confident that out-of-scope use is no longer possible.
Получилось слишком хорошо и без watermark-ов или иных вариантов защиты от deepfake.
Позже репозитории восстановили, но только с 1.5B моделью и пачкой ограничений.
Но, что попало в интернет, там и остается, поэтому есть комьюнити форк и веса 7B модели, которая нас и интересует.
В декабре 2025 еще релизнули 0.5B модель для реалтайм синтеза, с заявленным TTFB 300ms, но не дали encoder от acoustic tokenizer, только 1 голос и создать клон голоса не получится.
В итоге имеем 1.5B и 7B модели для оффлайн синтеза.
Запускаем, по классике, на RTX 3090:
Model: vibevoice/VibeVoice-1.5B
RTF: 1.224
Audio duration: 41.867 sec
Total time: 51.249 sec
Model: vibevoice/VibeVoice-7B
RTF: 1.247
Audio duration: 38.533 sec
Total time: 48.039 sec
Из коробки получаем одинаковую скорость, перепроверил, ошибок не нашел.
По качеству 1.5B явно хуже 7B, дальше гонял только 7B модель.
Заметил, что по дефолту включен flash attention, но его не было в зависимостях, падало на sdpa, поставил, немного лучше - RTF: 1.0504.
Попробовал torch.compile, ничего не дало, убрал.
Идем искать и пробовать кванты:
Results (Full precision bfloat16):
Generation time: 11.20s
Audio duration: 10.67s
RTF: 1.0504
Peak VRAM allocated: 17.50 GB
Results (8-bit INT8 quantization - fabio):
Model: FabioSarracino/VibeVoice-Large-Q8
Generation time: 70.05s
Audio duration: 17.60s
RTF: 3.9802
Peak VRAM allocated: 11.01 GB
Results (8-bit INT8 quantization):
Model: marksverdhai/vibevoice-7b-bnb-8bit
Model load time: 125.74s
Generation time: 42.81s
Audio duration: 13.33s
RTF: 3.2105
Peak VRAM allocated: 11.44 GB
Results (4-bit NF4 quantization):
Model: marksverdhai/vibevoice-7b-bnb-4bit
Model load time: 6.28s
Generation time: 28.47s
Audio duration: 15.20s
RTF: 1.8731
Peak VRAM allocated: 8.70 GB
Кванты динамические, да они съедают меньше VRAM, но слои восстанавливают точности при генерации, это накладные расходы, получаем замедление.
Если у вас мало VRAM, 12-16 gb - это вариант, но 4-bit квант уже заметно сказывается на качестве, не советую.
Посмотрел еще раз примеры и README, есть возможность генерировать сразу до 4-х разных спикеров, значит у нас есть некий батчинг из коробки и нам ничего не мешает заменить 4 спикера на 4 одинаковых спикера.
Идем тестить:
BATCHING SUMMARY (Full precision bfloat16)
Number of samples: 4
Sequential time: 19.08s
Batched time: 8.63s
Speedup: 2.21x
Throughput improvement: +140.4%
VRAM increase: +1.6%
Sequential throughput: 0.80x realtime
Batched throughput: 1.91x realtime
Получается для оффлайн синтеза больших текстов нет смысла синтезировать весь текст или чанки одним спикером. Просто бьем текст на 4 чанка, подаем на вход 4 раза один и тот же голос и получаем результат гораздо быстрее. Останется только склеить 4 сэмпла.
Кванты в батчинге посыпались, у меня почему то именно во втором сэмпле на выходе артефакты в виде музыки или каких-то посторонних шумов.
Еще что интересно, даже если подавать в батчинг тексты разной длинны, он все равно хорошо отрабатывает, как по скорости, так и по качеству - лог с подробностями будет в комментах.
🔥6💩1
Качество синтеза достойное, можете сами послушать. Примеры, как всегда, в комментариях под постом.
Ударения пока не проверял.
Минус лишь в размере, не в каждую видеокарту влезет.
Есть еще реалтайм реализация от Tensor Banana, подробности в посте:
https://t.me/tensorbanana/1236
Ее не щупал, так как не рассматриваю VibeVoice для реалтайм задач.
Оригинальный github:
https://github.com/microsoft/VibeVoice
Github комьюнити форка (вам нужен именно это репозиторий):
https://github.com/vibevoice-community/VibeVoice
HF от комьюнити со всеми весами:
https://huggingface.co/vibevoice
HF кванты:
https://huggingface.co/marksverdhai/vibevoice-7b-bnb-8bit
https://huggingface.co/FabioSarracino/VibeVoice-Large-Q8
Ударения пока не проверял.
Минус лишь в размере, не в каждую видеокарту влезет.
Есть еще реалтайм реализация от Tensor Banana, подробности в посте:
https://t.me/tensorbanana/1236
Ее не щупал, так как не рассматриваю VibeVoice для реалтайм задач.
Оригинальный github:
https://github.com/microsoft/VibeVoice
Github комьюнити форка (вам нужен именно это репозиторий):
https://github.com/vibevoice-community/VibeVoice
HF от комьюнити со всеми весами:
https://huggingface.co/vibevoice
HF кванты:
https://huggingface.co/marksverdhai/vibevoice-7b-bnb-8bit
https://huggingface.co/FabioSarracino/VibeVoice-Large-Q8
🔥4👍3💩1
Вас обманули и роботы захватят мир (или только ed tech), правильный ответ "Обе"
1 - cosy voice
2 - vibe voice
1 - cosy voice
2 - vibe voice
❤5🔥3⚡1🤯1
Еще дней 10 назад пощупали в чате MOSS-TTS от OpenMOSS-Team, решил оформить в артефакт (пост).
Интересна тем, что это не одна модель, а пять чекпоинтов:
- реалтайм стриминг с клонированием
- оффлайн синтез на 1.7B и 8B
- генерация голоса по описанию (VoiceGenerator)
- генерация звуковых эффектов (SoundEffect)
Тестим как обычно на RTX 3090.
Streaming Realtime
Самая маленькая модель, предназначена для реалтайм синтеза с клонированием голоса. Ну как маленькая, съедает 12 GB VRAM.
Streaming Realtime:
Warmup time: 402.77s
Generation time: 13.86s
Audio duration: 10.72s
TTFB: 1.024s
RTF: 1.29x
Warmup почти 7 минут. RTF 1.29x, то есть медленнее реалтайма, TTFB больше секунды. Для реалтайм модели как-то не очень реалтайм.
Но главная проблема не в скорости, а в качестве. Речь ощутимо уплывает в акцент, причем чем дальше по тексту - тем сильнее. К третьему семплу акцент уже прям заметный. Качество стриминга в целом ниже, чем у оффлайн моделей.
Offline 8B
Самая большая модель семейства. Еле влезла в 24 GB на RTX 3090.
Offline 8B:
Generation time: 77.51s
Audio duration: 14.80s
Вот тут уже более-менее. Звучит нормально, акцент не так бросается в уши, как у стриминговой модели. Из всего семейства - единственный претендент на что-то приличное для русского языка. Но 24 GB VRAM дороговато за "нормально".
Offline 1.7B
Младшая оффлайн модель. Споткнулась при тестировании, результат нестабильный. Детально гонять не стал, после 8B и стриминга уже было понятно, что не очень.
VoiceGenerator
Генерация голоса по текстовому описанию.
Русский язык выходит с заметным акцентом.
Пробовал через демку на HF и локально, из того что послушал - пока мимо, qwen3 tts с подобной моделью справляется лучше.
SoundEffect
А вот это было самым интересным для меня.
Генерация звуковых эффектов по текстовому описанию, открытых решений такого плана я особо не видел (да и закрытых тоже).
Ожидал большего. Результат шумный и грязный. Для продакшена точно не годится, но как proof of concept - любопытно. Если доработают качество, может получится что-то годное.
Итого
Из всего семейства MOSS-TTS для русского языка 0 претендентов на топы. Единственная модель, которая звучит более-менее - 8B оффлайн, но она огромная и не быстрая. Реалтайм модель уплывает в акцент, VoiceGenerator тоже, SoundEffect грязно звучит.
Примеры синтезов, как всегда в комментариях.
Github:
https://github.com/OpenMOSS/MOSS-TTS
Демка простого синтеза с клонированием:
https://huggingface.co/spaces/OpenMOSS-Team/MOSS-TTS
HF со всеми весами и демками:
https://huggingface.co/OpenMOSS-Team
Интересна тем, что это не одна модель, а пять чекпоинтов:
- реалтайм стриминг с клонированием
- оффлайн синтез на 1.7B и 8B
- генерация голоса по описанию (VoiceGenerator)
- генерация звуковых эффектов (SoundEffect)
Тестим как обычно на RTX 3090.
Streaming Realtime
Самая маленькая модель, предназначена для реалтайм синтеза с клонированием голоса. Ну как маленькая, съедает 12 GB VRAM.
Streaming Realtime:
Warmup time: 402.77s
Generation time: 13.86s
Audio duration: 10.72s
TTFB: 1.024s
RTF: 1.29x
Warmup почти 7 минут. RTF 1.29x, то есть медленнее реалтайма, TTFB больше секунды. Для реалтайм модели как-то не очень реалтайм.
Но главная проблема не в скорости, а в качестве. Речь ощутимо уплывает в акцент, причем чем дальше по тексту - тем сильнее. К третьему семплу акцент уже прям заметный. Качество стриминга в целом ниже, чем у оффлайн моделей.
Offline 8B
Самая большая модель семейства. Еле влезла в 24 GB на RTX 3090.
Offline 8B:
Generation time: 77.51s
Audio duration: 14.80s
Вот тут уже более-менее. Звучит нормально, акцент не так бросается в уши, как у стриминговой модели. Из всего семейства - единственный претендент на что-то приличное для русского языка. Но 24 GB VRAM дороговато за "нормально".
Offline 1.7B
Младшая оффлайн модель. Споткнулась при тестировании, результат нестабильный. Детально гонять не стал, после 8B и стриминга уже было понятно, что не очень.
VoiceGenerator
Генерация голоса по текстовому описанию.
Русский язык выходит с заметным акцентом.
Пробовал через демку на HF и локально, из того что послушал - пока мимо, qwen3 tts с подобной моделью справляется лучше.
SoundEffect
А вот это было самым интересным для меня.
Генерация звуковых эффектов по текстовому описанию, открытых решений такого плана я особо не видел (да и закрытых тоже).
Ожидал большего. Результат шумный и грязный. Для продакшена точно не годится, но как proof of concept - любопытно. Если доработают качество, может получится что-то годное.
Итого
Из всего семейства MOSS-TTS для русского языка 0 претендентов на топы. Единственная модель, которая звучит более-менее - 8B оффлайн, но она огромная и не быстрая. Реалтайм модель уплывает в акцент, VoiceGenerator тоже, SoundEffect грязно звучит.
Примеры синтезов, как всегда в комментариях.
Github:
https://github.com/OpenMOSS/MOSS-TTS
Демка простого синтеза с клонированием:
https://huggingface.co/spaces/OpenMOSS-Team/MOSS-TTS
HF со всеми весами и демками:
https://huggingface.co/OpenMOSS-Team
🔥6👍1
А еще мы пробили 100 подписчиков!
Ушло на это ровно 90 дней, с 18 ноября по 16 февраля.
Немного итогов
Чуть сдвинулся вектор, планировал писать в целом про voice assistant с ASR/STT и LLM частями, но успел только пощупать все актуальные модели для синтеза речи.
Пощупал 9 моделей, прям развернул и пощупал руками локально, не по всем есть отдельный пост, и f5 считал за 2 модели (файнтюны от Misha и ESpeech).
Сделан форк CosyVoice3 с конвертацией в tensorrt инференс, что позволяет хорошо так разогнаться.
Навайбкодил Recap для тг чатов.
Собрал себе сервер для инференса, маленький, но уже удобнее чем одна 3090 (подробнее расскажу в отдельном посте).
Дропнул один пет проект, сделал другой пет проект (думаю тоже будет пост).
И есть небольшие планы
Они конечно могут поменяться, но пока выглядят так:
Обновить пост с общим списком всех актуальных tts моделей для ру языка, в идеале собрать бы общую демку.
Хочется построить общий пайплайн тестирования моделек, чтобы иметь свой топ моделей, WER, CER, similarity голосов, померить все что можно померить.
Добавить тестов ASR/STT (пока под вопросом, так как мало их юзаю).
Не забывать про AI век, multi-swarm-coding-giga-mega agents, шарить интересные (или мне так показалось) пайплайны и подходы. К примеру, я отфильтровал ~200к семплов из датасетов, чтобы получить 40+ лучших и разных голосов для клонирования, не написав ни одной строчки кода руками.
Всем спасибо, всем ЭйАй!
Ушло на это ровно 90 дней, с 18 ноября по 16 февраля.
Немного итогов
Чуть сдвинулся вектор, планировал писать в целом про voice assistant с ASR/STT и LLM частями, но успел только пощупать все актуальные модели для синтеза речи.
Пощупал 9 моделей, прям развернул и пощупал руками локально, не по всем есть отдельный пост, и f5 считал за 2 модели (файнтюны от Misha и ESpeech).
Сделан форк CosyVoice3 с конвертацией в tensorrt инференс, что позволяет хорошо так разогнаться.
Навайбкодил Recap для тг чатов.
Собрал себе сервер для инференса, маленький, но уже удобнее чем одна 3090 (подробнее расскажу в отдельном посте).
Дропнул один пет проект, сделал другой пет проект (думаю тоже будет пост).
И есть небольшие планы
Они конечно могут поменяться, но пока выглядят так:
Обновить пост с общим списком всех актуальных tts моделей для ру языка, в идеале собрать бы общую демку.
Хочется построить общий пайплайн тестирования моделек, чтобы иметь свой топ моделей, WER, CER, similarity голосов, померить все что можно померить.
Добавить тестов ASR/STT (пока под вопросом, так как мало их юзаю).
Не забывать про AI век, multi-swarm-coding-giga-mega agents, шарить интересные (или мне так показалось) пайплайны и подходы. К примеру, я отфильтровал ~200к семплов из датасетов, чтобы получить 40+ лучших и разных голосов для клонирования, не написав ни одной строчки кода руками.
Всем спасибо, всем ЭйАй!
2❤11🔥3👍2
GPU сервер
Выше обещал рассказать про gpu сервер, так вот.
Сидел я значит где-то в начале января за пк и понял, что хочется иногда что-нибудь из моделек стартануть фоново, чтоб не забивать основную карту и с ней можно было экспериментировать дальше.
Зная примерную цену аренды gpu (еще раз чекнул) - стало грустно.
Выход один - собираем свою коробку.
Материнка
Пошел искать мать проц, что там модно для домашнего инференса, нашел всякие threadripper, epyc и прочее серверное, абсолютно незнакомые сокеты и матери.
Посерчил авито, вроде что-то есть, но надо долго нудно подбирать и будет на заказ, доставка недели 2, а то и месяц, но ведь уже захотелось.
Начал искать матери из потребительского сегмента, так как это привычнее и понятнее.
Из требований ddr5, 2 gpu слота, для начала должно хватить, ну и bifurcation x8x8 или x4x4x4x4
Оказалось таких материнок не очень много:
- ASUS ROG CROSSHAIR X670E EXTREME - 70к
- MSI MEG X670E GODLIKE - 120к
- MSI MPG X670E CARBON WIFI - 50к
- ASUS PROART X870E-CREATOR WIFI - 50к
Поддержку bifurcation стоит перепроверять, если будете искать, так как какие-то я проверил спецификацию/документацию, а какие-то даже не смотрел (например за 120к).
Выбор пал на ASUS PROART X870E-CREATOR WIFI, так как есть линии прямо до cpu от двух слотов и режим x8x8 из коробки.
GPU
Тут выбор большой, но если учитывать цены, то не большой.
Фактически думал над вариантами:
- RTX 5090 32gb x1
- RTX 3090 24gb x2
- RTX 5060 Ti 16gb x2
Тут стоит обратить внимание на планируемую нагрузку, обучать что-то большое не планирую, кажется проще взять в аренду A100 какую-нибудь. Большие LLM тоже стартовать не планирую, для кода есть вкусные подписки, для проектов API явно дешевле и проще. А вот TTS, ASR, всякие denoise, upscale audio и прочие небольшие, но интересные модельки - это как раз то, что я планировал крутить на сервере.
Вывод был примерно такой:
3090 - у меня одна есть, ну может 2 и найду по городу, но надо их как-то проверять, чистить, вдруг помрут, будет грустно, будто бы хватит и 32 гб vram
5060 ti - дешево, простенько, но вдруг совсем медленно
5090 - вкусно, можно потом вторую воткнуть и вообще красота, давай прикинем цены, ага, одна карта будет стоить как весь сервер с двумя 5060 ti
В итоге взял RTX 5060 Ti 16gb две штуки.
CPU
Нам нужно 16 линий PCI-E.
Что-то очень дорогое или максимальное на am5 сокете брать смысла не вижу, тем более у нас там 2 маленькие видяхи. Но и 8/16 ядер у меня уже есть, хочется пощупать что-то посильнее.
Взял Ryzen 9 7900, главным преимуществом считаю TDP 65W, он тупо не ест питание, соотвественно не греется.
RAM
Тут все просто - дорого.
Мне много памяти вроде не нужно, берем самую дешевую ноунейм из тех что получится найти, потом если что обновим, одна плашка 32gb.
Все остальное менее интересно, фулл конфигурацию с ценами положу в комментариях, там же будут фото.
У кого есть домашние железки, делитесь под постом: что за железо, для чего собирали.
Суммарно коробка вышла: 258к
Выше обещал рассказать про gpu сервер, так вот.
Сидел я значит где-то в начале января за пк и понял, что хочется иногда что-нибудь из моделек стартануть фоново, чтоб не забивать основную карту и с ней можно было экспериментировать дальше.
Зная примерную цену аренды gpu (еще раз чекнул) - стало грустно.
Выход один - собираем свою коробку.
Материнка
Пошел искать мать проц, что там модно для домашнего инференса, нашел всякие threadripper, epyc и прочее серверное, абсолютно незнакомые сокеты и матери.
Посерчил авито, вроде что-то есть, но надо долго нудно подбирать и будет на заказ, доставка недели 2, а то и месяц, но ведь уже захотелось.
Начал искать матери из потребительского сегмента, так как это привычнее и понятнее.
Из требований ddr5, 2 gpu слота, для начала должно хватить, ну и bifurcation x8x8 или x4x4x4x4
Оказалось таких материнок не очень много:
- ASUS ROG CROSSHAIR X670E EXTREME - 70к
- MSI MEG X670E GODLIKE - 120к
- MSI MPG X670E CARBON WIFI - 50к
- ASUS PROART X870E-CREATOR WIFI - 50к
Поддержку bifurcation стоит перепроверять, если будете искать, так как какие-то я проверил спецификацию/документацию, а какие-то даже не смотрел (например за 120к).
Выбор пал на ASUS PROART X870E-CREATOR WIFI, так как есть линии прямо до cpu от двух слотов и режим x8x8 из коробки.
GPU
Тут выбор большой, но если учитывать цены, то не большой.
Фактически думал над вариантами:
- RTX 5090 32gb x1
- RTX 3090 24gb x2
- RTX 5060 Ti 16gb x2
Тут стоит обратить внимание на планируемую нагрузку, обучать что-то большое не планирую, кажется проще взять в аренду A100 какую-нибудь. Большие LLM тоже стартовать не планирую, для кода есть вкусные подписки, для проектов API явно дешевле и проще. А вот TTS, ASR, всякие denoise, upscale audio и прочие небольшие, но интересные модельки - это как раз то, что я планировал крутить на сервере.
Вывод был примерно такой:
3090 - у меня одна есть, ну может 2 и найду по городу, но надо их как-то проверять, чистить, вдруг помрут, будет грустно, будто бы хватит и 32 гб vram
5060 ti - дешево, простенько, но вдруг совсем медленно
5090 - вкусно, можно потом вторую воткнуть и вообще красота, давай прикинем цены, ага, одна карта будет стоить как весь сервер с двумя 5060 ti
В итоге взял RTX 5060 Ti 16gb две штуки.
CPU
Нам нужно 16 линий PCI-E.
Что-то очень дорогое или максимальное на am5 сокете брать смысла не вижу, тем более у нас там 2 маленькие видяхи. Но и 8/16 ядер у меня уже есть, хочется пощупать что-то посильнее.
Взял Ryzen 9 7900, главным преимуществом считаю TDP 65W, он тупо не ест питание, соотвественно не греется.
RAM
Тут все просто - дорого.
Мне много памяти вроде не нужно, берем самую дешевую ноунейм из тех что получится найти, потом если что обновим, одна плашка 32gb.
Все остальное менее интересно, фулл конфигурацию с ценами положу в комментариях, там же будут фото.
У кого есть домашние железки, делитесь под постом: что за железо, для чего собирали.
Суммарно коробка вышла: 258к
🔥8❤2
На одном вполне себе обычном домашнем графическом процессоре H200, который может позволить себе каждый человек и тем более каждая компания, мы достигаем 0.195 RTF 🙂
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4🤯1
S2 Pro от Fish Audio
Прошлая модель в опенсорсе от них была s1-mini и для русского языка была не очень.
Новая моделька конечно получше, но и размером сильно больше.
Умеет в русский и клонирование.
Духота
Decoder-only трансформер в связке с RVQ-аудиокодеком (10 кодбуков, ~21 фрейм/сек).
Используется схема Dual-Autoregressive (Dual-AR):
- Slow AR (4B параметров) - работает вдоль временной оси, предсказывает основной семантический кодбук
- Fast AR (400M параметров) - на каждом временном шаге генерирует оставшиеся 9 residual кодбуков, восстанавливая мелкие акустические детали
Фичи
Модель поддерживает управление эмоциями, заявлены как уникальные теги, так и описание обычным текстом, вот в таком формате:
В реальности завелся [whisper], а остальные мало заметны, но если сменить референс на другой, там чуть заметнее.
Мультиспикер тоже есть, пример формата:
Но его не пробовал.
Главная проблема кажется размер, кодек + трансформер пишет usage 21.4gb, по факту у меня не влезла в RTX 3090 24gb, но я тестил под wsl, а там винда отъедает немного vram.
Поэтому отдельно запускал кодек, потом трансформер, потом опять кодек.
Отдельно запуск трансформера съедает 17.38 GB.
Там из коробки KV-cache расчитан на ~20 минут генерации, что конечно же слишком, можно порезать и думаю влезет с кодеком.
Примеры синтезов, как обычно, в комментариях.
Github:
https://github.com/fishaudio/fish-speech
HF:
https://huggingface.co/fishaudio/s2-pro
Doc:
https://speech.fish.audio/install/
Прошлая модель в опенсорсе от них была s1-mini и для русского языка была не очень.
Новая моделька конечно получше, но и размером сильно больше.
Умеет в русский и клонирование.
Духота
Decoder-only трансформер в связке с RVQ-аудиокодеком (10 кодбуков, ~21 фрейм/сек).
Используется схема Dual-Autoregressive (Dual-AR):
- Slow AR (4B параметров) - работает вдоль временной оси, предсказывает основной семантический кодбук
- Fast AR (400M параметров) - на каждом временном шаге генерирует оставшиеся 9 residual кодбуков, восстанавливая мелкие акустические детали
Фичи
Модель поддерживает управление эмоциями, заявлены как уникальные теги, так и описание обычным текстом, вот в таком формате:
[pause] [emphasis] [laughing] [inhale] [chuckle] [tsk] [singing] [excited] [laughing tone] [interrupting] [chuckling] [excited tone] [volume up] [echo] [angry] [low volume] [sigh] [low voice] [whisper] [screaming] [shouting] [loud] [surprised] [short pause] [exhale] [delight] [panting] [audience laughter] [with strong accent] [volume down] [clearing throat] [sad] [moaning] [shocked]
В реальности завелся [whisper], а остальные мало заметны, но если сменить референс на другой, там чуть заметнее.
Мультиспикер тоже есть, пример формата:
<|speaker:0|>Тут текст первого.
<|speaker:1|>Это текст второго.
Но его не пробовал.
Главная проблема кажется размер, кодек + трансформер пишет usage 21.4gb, по факту у меня не влезла в RTX 3090 24gb, но я тестил под wsl, а там винда отъедает немного vram.
Поэтому отдельно запускал кодек, потом трансформер, потом опять кодек.
Отдельно запуск трансформера съедает 17.38 GB.
Там из коробки KV-cache расчитан на ~20 минут генерации, что конечно же слишком, можно порезать и думаю влезет с кодеком.
Примеры синтезов, как обычно, в комментариях.
Github:
https://github.com/fishaudio/fish-speech
HF:
https://huggingface.co/fishaudio/s2-pro
Doc:
https://speech.fish.audio/install/
👏2🔥1