Почему не работает озвучивание PDF
Вы открыли PDF, нажали «читать вслух», и ничего не произошло. Приложение не сломалось. Скорее всего, в этом файле нечего читать.
С русскими книгами к этому добавляется вторая, независимая причина: даже когда текст есть, голос выбирается не тот. Разбирать нужно по очереди.
Первое: в сканированном PDF нет текста
PDF умеет хранить две разные вещи — текст и картинки.
Если файл сделан фотографированием или сканированием бумаги, внутри лежат снимки страниц. Глазу это буквы, файлу — пиксели. Взять оттуда строку для озвучивания невозможно.
По той же причине не работают поиск, копирование и увеличение шрифта. Если не работает одно, обычно не работает и остальное.
Проверка за две секунды
Попробуйте выделить пальцем предложение.
Слова выделяются по отдельности — текстовый слой есть. Ничего не выделяется или страница выделяется целиком как картинка — перед вами изображение.
Приложение проверяет это грубо: читает первые три страницы и, если букв набирается меньше пятидесяти, предупреждает, что документ похож на скан. Критерий приблизительный, поэтому это предупреждение, а не отказ.
Дореволюционные издания и научная периодика попадают в эту категорию почти поголовно.
Как всё-таки получить текст
Нужен OCR — распознавание. Делать его удобнее на компьютере.
С дореволюционной орфографией точность заметно падает: «ять» и «i» распознаются плохо, а старые шрифты сбивают распознаватель. Иногда быстрее поискать уже набранный текст той же книги. Где искать.
Второе: русский текст читается английским голосом
Это происходит и с нормальными PDF, и с EPUB, и с FB2. Либо тишина, либо неразборчивый набор звуков.
Причина не в файле, а в приложении. Голос выбирается по началу текста, и проверяется ровно одно: есть ли вьетнамские диакритические знаки. Если нет — назначается английский. Кириллица неизбежно попадает во вторую категорию.
Дальше всё зависит от синтезатора: одни молча пропускают незнакомое письмо, и воспроизведение идёт по книге беззвучно, другие пытаются читать кириллицу по английским правилам.
Сменить язык в приложении нельзя. Внутри такая возможность есть, но её не вызывает ни один экран. Заведено как ошибка; до исправления рассчитывать на озвучивание русских книг не стоит.
Что проверить по порядку
- Выделяется ли предложение. Нет — это скан, и дело в файле.
- Выделяется — текст есть, и остаётся вопрос языка голоса.
- Установлен ли русский голос в настройках синтеза речи Android, посмотреть можно, но приложение его сейчас всё равно не выберет.