Почему не работает озвучивание PDF

Вы открыли PDF, нажали «читать вслух», и ничего не произошло. Приложение не сломалось. Скорее всего, в этом файле нечего читать.

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

Первое: в сканированном PDF нет текста

PDF умеет хранить две разные вещи — текст и картинки.

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

По той же причине не работают поиск, копирование и увеличение шрифта. Если не работает одно, обычно не работает и остальное.

Проверка за две секунды

Попробуйте выделить пальцем предложение.

Слова выделяются по отдельности — текстовый слой есть. Ничего не выделяется или страница выделяется целиком как картинка — перед вами изображение.

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

Дореволюционные издания и научная периодика попадают в эту категорию почти поголовно.

Как всё-таки получить текст

Нужен OCR — распознавание. Делать его удобнее на компьютере.

С дореволюционной орфографией точность заметно падает: «ять» и «i» распознаются плохо, а старые шрифты сбивают распознаватель. Иногда быстрее поискать уже набранный текст той же книги. Где искать.

Второе: русский текст читается английским голосом

Это происходит и с нормальными PDF, и с EPUB, и с FB2. Либо тишина, либо неразборчивый набор звуков.

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

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

Сменить язык в приложении нельзя. Внутри такая возможность есть, но её не вызывает ни один экран. Заведено как ошибка; до исправления рассчитывать на озвучивание русских книг не стоит.

Что проверить по порядку

  1. Выделяется ли предложение. Нет — это скан, и дело в файле.
  2. Выделяется — текст есть, и остаётся вопрос языка голоса.
  3. Установлен ли русский голос в настройках синтеза речи Android, посмотреть можно, но приложение его сейчас всё равно не выберет.
Все статьи