Сервис преобразования книг в аудио с доставкой в Telegram
Система принимает книгу, извлекает текст, делит его на части, синтезирует аудио и собирает готовую запись с контролем статуса обработки.
Задача
Текстовые книги часто не имеют готовой аудиоверсии, а длинный документ нельзя надёжно отправить в синтез речи одним запросом. Требовался процесс, который принимает файл, сохраняет состояние задачи и продолжает обработку по частям без ручной нарезки.
Решение
Разбор книги и очередь обработки
Сервис читает TXT, PDF, EPUB и FB2, очищает извлечённый текст и делит его на управляемые фрагменты. Для книги и каждого аудиофрагмента хранится отдельный статус, поэтому обработку можно контролировать и восстанавливать.
Синтез и сборка аудио
Фоновый worker последовательно создаёт MP3-фрагменты, проверяет их наличие и объединяет завершённые части через FFmpeg. Уведомления о ходе задачи можно отправлять в Telegram.
Результат
Проверяемый конвейер вместо одного долгого запроса
Каждый этап — загрузка, разбор, синтез и сборка — виден отдельно. Ошибка одного фрагмента не скрывает состояние всей книги.
Основа для пользовательского сервиса
Готовый конвейер можно подключить к веб-интерфейсу или Telegram-боту, добавить выбор голоса, языка и правила хранения файлов.
Стек
TypeScript · Express · SQLite · OpenAI-compatible TTS · FFmpeg