Задача: Исследовать и реализовать локальную TTS-озвучку через локальный сервер
Исследовать и реализовать локальную TTS-озвучку через локальный сервер
Обойти ограничение OpenRouter при озвучке одиночных букв и проверить локальный TTS-пайплайн для вьетнамского языка через собственный сервер.
Контекст
Базовая механика TTS через OpenRouter уже реализована, но обнаружена техническая проблема: при отправке на озвучку одиночной буквы OpenRouter возвращает HTTP 400.
Для букваря это критично, поскольку требуется качественная озвучка отдельных букв, звуков и коротких фонетических единиц.
Цель
Исследовать и реализовать альтернативный локальный TTS-пайплайн через локальный сервер, который сможет стабильно озвучивать одиночные буквы и другие минимальные единицы вьетнамского языка без ограничений OpenRouter.
Что нужно проверить
- какие локальные TTS-модели поддерживают вьетнамский язык;
- умеют ли они корректно синтезировать одиночные буквы, слоги и очень короткие строки;
- качество тонов и фонетики;
- возможность запуска модели на локальном сервере;
- API для вызова из vietnamguru.ru;
- формат аудио и задержки генерации;
- аппаратные требования;
- лицензии и ограничения использования;
- возможность пакетной генерации словаря озвучек;
- совместимость с существующей системой хранения аудиофайлов и метаданных.
Возможная архитектура
vietnamguru.ru → локальный TTS API → локальная модель → аудиофайл → существующий словарь/хранилище озвучек.
Локальный механизм должен рассматриваться как генератор исходного аудио; готовые записи, как и в основном TTS-пайплайне, должны сохраняться и переиспользоваться, а не синтезироваться при каждом воспроизведении.
Критерий результата
Найти и проверить локальный способ генерации, который стабильно принимает одиночные буквы и короткие фонетические элементы вьетнамского языка и даёт звук достаточного качества для дальнейшей проверки носителем.
Ворклоги
Найден рабочий локальный вариант TTS
Локально в Docker поднят VieNeu-TTS, сейчас используется версия 2.
Главный практический результат: модель стабильно озвучивает одиночные вьетнамские графемы, включая формы с тоновыми знаками. Это закрывает ключевую проблему, из-за которой OpenRouter/Gemini не подходил для букваря: минимальные входы вроде одной буквы там давали HTTP 400 или нестабильный результат.
Проверен набор из 18 форм группы a / ă / â с шестью тонами (a á à ả ã ạ, ă ắ ằ ẳ ẵ ặ, â ấ ầ ẩ ẫ ậ). VieNeu-TTS умеет адресно генерировать такие единицы, поэтому его можно использовать как генератор фонетического словаря: графема/слог → сохранённый аудиофайл.
Следующий шаг — прогнать более широкий набор букв, слогов и коротких слов, проверить качество с носителями языка и затем подключить локальный генератор к постоянному хранилищу аудио, чтобы не синтезировать записи повторно при каждом воспроизведении.
Связанная родительская задача: «Разработать собственный пайплайн озвучки вьетнамского языка и словарь аудио».
Первичный рабочий результат
Реализован GraphQL-резолвер для локального вьетнамского TTS. Также сделана админская страница, которая даёт общую картину по буквам, сочетаниям, слогам и их значениям/озвучке.
То есть базовый технический контур уже работает: локальный синтез можно вызывать через API, а учебные единицы можно просматривать и проверять в одном интерфейсе.
До конечной пользовательской системы ещё потребуется доработка интерфейса, структуры данных, качества/валидации озвучек и самого учебного сценария, но первичный рабочий результат уже есть.