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

Сначала идея выглядела просто: извлечь текст и отправить его в синтез речи. На практике между PDF и хорошим аудио обнаружился целый производственный процесс.

Почему кнопки «озвучить PDF» недостаточно

PDF — это контейнер, а не гарантированно чистый текст. Внутри могут одновременно находиться цифровые страницы, изображения, колонтитулы, сноски, таблицы и разорванные переносами слова.

Если отдать такой материал голосовой модели напрямую, она честно прочитает мусор: номера страниц, повторяющиеся заголовки, обрывки подписей и неверный порядок колонок.

Главная инженерная задача — не озвучить текст. Сначала нужно доказать, что текст собран полностью и в правильном порядке.

Конвейер вместо одного промпта

Я разделил работу на этапы, у каждого из которых есть свой вход, выход и проверка.

1. Инвентаризация документа

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

2. Извлечение и очистка

Текст извлекается вместе с привязкой к страницам. Затем убираются повторяющиеся колонтитулы, склеиваются переносы и восстанавливается порядок чтения. Источник каждого фрагмента сохраняется, чтобы спорное место можно было найти в оригинале.

3. ИИ-редактура

Модель получает не всю книгу целиком, а управляемые фрагменты. Она отделяет авторский текст от реплик, исправляет очевидный OCR-шум и готовит материал к чтению. При этом нельзя разрешать ей свободно «улучшать» содержание.

4. Подготовка к синтезу

Текст делится на устойчивые по размеру части. Для каждой фиксируются голос, роль, паузы и порядок. Если процесс прерывается, готовые части не нужно создавать заново.

5. Аудиосборка и контроль

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

Что оказалось самым ценным

Не скорость сама по себе, а управляемость. Я могу остановить конвейер после извлечения, вручную проверить сложную главу, заменить голос и продолжить с нужного места.

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

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

Во что превратилась личная задача

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

Это хороший пример моего подхода: начинать не с технологии, а с живой ситуации, а затем постепенно собирать вокруг неё рабочую инфраструктуру.

Есть сложный поток документов?

Можно разобрать, где теряется структура и какой минимальный конвейер сделает процесс управляемым.

Обсудить задачу с Дмитрием →