Синтезатор речи PicoTTS – полезный инструмент для озвучивания текста на Android, особенно если вы предпочитаете минималистичные решения. Однако после обновления системы или смены прошивки приложение может внезапно закрываться с ошибкой, как это произошло на Android 9 (arm64). Проблема связана с отсутствием библиотеки libttscompat.so, которую PicoTTS пытается загрузить, но не находит.
К счастью, решение существует, и оно не требует компиляции AOSP или глубоких знаний в разработке. Всё сводится к использованию модифицированной версии приложения, адаптированной под современные версии Android. Расскажу, как это сделать шаг за шагом, а заодно поделюсь нюансами, которые помогут избежать типичных ошибок.
Шаг 1: Скачивание исправленного APK
Первым делом потребуется альтернативная сборка PicoTTS, где устранена проблема с совместимостью. Один из рабочих вариантов – версия из этого репозитория. Здесь разработчик добавил недостающие компоненты и подготовил APK для Android 9 и новее.
1. Перейдите в раздел Releases на GitHub (в правой части страницы) репозитория.
2. Скачайте соответствующий файл apk (версия от 2023 года или новее).
Если ссылка устарела, поищите в Google запрос “PicoTTS patched APK Android 9”. Убедитесь, что источник доверенный – например, XDA Developers или форум 4PDA.
Шаг 2: Установка APK на устройство
Android по умолчанию блокирует установку приложений из неизвестных источников. Чтобы это исправить:
1. Зайдите в Настройки → Безопасность (или Приложения и уведомления).
2. Найдите пункт Установка неизвестных приложений и разрешите его для браузера или файлового менеджера, через который будете открывать APK.
3. Запустите скачанный файл и нажмите Установить.
После завершения процесса не спешите активировать PicoTTS – сначала проверьте, добавлен ли он в список синтезаторов речи:
– Откройте Настройки → Спец. возможности → Синтез речи.
– В разделе Движок синтеза речи должен появиться пункт Pico TTS. Если его нет, перезагрузите устройство.
Шаг 3: Настройка и устранение конфликтов
Иногда даже после успешной установки система продолжает использовать старый движок (например, Google TTS). Чтобы это исправить:
1. В настройках синтеза речи выберите Pico TTS в качестве основного движка.
2. Нажмите на шестерёнку рядом с названием и проверьте параметры:
- Язык – установите нужную локализацию (поддерживаются русский, английский, испанский и другие).
- Скорость речи и Тон – отрегулируйте под свои предпочтения.
Если приложение снова закрывается, очистите кэш через Настройки → Приложения → Pico TTS → Хранилище → Очистить кэш. В крайнем случае удалите APK и переустановите его.
Дополнительная информация
Почему возникает ошибка libttscompat.so?
Исходная версия PicoTTS разрабатывалась для старых Android (до версии 8.0) и содержит жёсткую привязку к библиотекам, которые удалили в новых прошивках. Когда система пытается загрузить libttscompat.so, она ищет его в стандартных каталогах вроде /system/lib64/, но не находит. Исправленная сборка включает эту библиотеку в APK, поэтому ошибка не возникает.
# Пример структуры исправленного APK:
assets/
...
lib/
arm64-v8a/
libttscompat.so # Добавленная библиотека
libttspico.so # Основной движок синтеза
Советы
– Проверка архитектуры: Убедитесь, что APK собран для вашего процессора (arm64, armv7). Если скачали не ту версию, синтезатор не запустится.
– Установка через ADB: Если обычный метод не работает, попробуйте установить приложение через компьютер:
adb install -r --abi arm64-v8a com.svox.pico.apk
– Альтернативы: Если PicoTTS не подошёл, попробуйте Google Text-to-Speech, eSpeak или IVONA.
Что делать, если ничего не помогло?
В редких случаях проблема связана с ограничениями кастомной прошивки (LineageOS, Pixel Experience и т.д.). В таком случае:
1. Установите Magisk (если рутировали устройство).
2. Добавьте модуль Voices for Pico TTS из репозитория Magisk.
3. Перезагрузите устройство и повторите настройку.
Если и это не сработало, напишите в комментариях – постараюсь помочь с нестандартными кейсами. Удачи в настройке!