Nhiệm vụ: Nghiên cứu và triển khai tính năng lồng tiếng TTS cục bộ qua máy chủ nội bộ

Nghiên cứu và triển khai tính năng lồng tiếng TTS cục bộ qua máy chủ nội bộ

19.09.2026vietnamguru.ru

Vượt qua giới hạn của OpenRouter khi lồng tiếng cho các chữ cái đơn và kiểm thử đường ống TTS cục bộ cho tiếng Việt thông qua máy chủ riêng.

Ngữ cảnh

Cơ chế TTS cơ bản thông qua OpenRouter đã được triển khai, nhưng một vấn đề kỹ thuật đã phát sinh: khi gửi một chữ cái đơn để tạo giọng đọc, OpenRouter trả về mã lỗi HTTP 400.

Điều này rất quan trọng đối với sách vỡ lòng (primer), vì hệ thống yêu cầu chất lượng lồng tiếng cao cho các chữ cái riêng lẻ, âm thanh và các đơn vị ngữ âm ngắn.

Mục tiêu

Nghiên cứu và triển khai đường ống TTS cục bộ thay thế qua máy chủ nội bộ, có khả năng tạo giọng đọc ổn định cho các chữ cái đơn và các đơn vị tối thiểu khác của tiếng Việt mà không bị giới hạn bởi OpenRouter.

Những điểm cần kiểm tra

  • những mô hình TTS cục bộ nào hỗ trợ tiếng Việt;
  • liệu chúng có khả năng tổng hợp chính xác các chữ cái đơn, âm tiết và chuỗi rất ngắn hay không;
  • chất lượng thanh điệu và ngữ âm;
  • khả năng chạy mô hình trên máy chủ cục bộ;
  • API để gọi từ vietnamguru.ru;
  • định dạng âm thanh và độ trễ tạo tệp;
  • yêu cầu phần cứng;
  • giấy phép và giới hạn sử dụng;
  • khả năng tạo hàng loạt từ điển lồng tiếng;
  • khả năng tương thích với hệ thống lưu trữ tệp âm thanh và siêu dữ liệu hiện tại.

Kiến trúc khả dĩ

vietnamguru.ru → API TTS cục bộ → mô hình cục bộ → tệp âm thanh → từ điển/kho lưu trữ lồng tiếng hiện có.

Cơ chế cục bộ nên được xem xét như một trình tạo âm thanh nguồn; các bản ghi hoàn chỉnh, giống như trong đường ống TTS chính, cần được lưu lại và tái sử dụng thay vì tổng hợp lại mỗi lần phát lại.

Tiêu chí kết quả

Tìm kiếm và kiểm tra phương pháp tạo cục bộ có thể chấp nhận ổn định các chữ cái đơn và các yếu tố ngữ âm ngắn của tiếng Việt, đồng thời mang lại âm thanh đủ chất lượng để người bản xứ tiếp tục kiểm tra.

Ворклоги

Найден рабочий локальный вариант TTS

Локально в Docker поднят VieNeu-TTS, сейчас используется версия 2.

Главный практический результат: модель стабильно озвучивает одиночные вьетнамские графемы, включая формы с тоновыми знаками. Это закрывает ключевую проблему, из-за которой OpenRouter/Gemini не подходил для букваря: минимальные входы вроде одной буквы там давали HTTP 400 или нестабильный результат.

Проверен набор из 18 форм группы a / ă / â с шестью тонами (a á à ả ã ạ, ă ắ ằ ẳ ẵ ặ, â ấ ầ ẩ ẫ ậ). VieNeu-TTS умеет адресно генерировать такие единицы, поэтому его можно использовать как генератор фонетического словаря: графема/слог → сохранённый аудиофайл.

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

Связанная родительская задача: «Разработать собственный пайплайн озвучки вьетнамского языка и словарь аудио».

Первичный рабочий результат

Реализован GraphQL-резолвер для локального вьетнамского TTS. Также сделана админская страница, которая даёт общую картину по буквам, сочетаниям, слогам и их значениям/озвучке.

То есть базовый технический контур уже работает: локальный синтез можно вызывать через API, а учебные единицы можно просматривать и проверять в одном интерфейсе.

До конечной пользовательской системы ещё потребуется доработка интерфейса, структуры данных, качества/валидации озвучек и самого учебного сценария, но первичный рабочий результат уже есть.