spoti-alice
Yandex Station Max (rooted, Android 9) turned into a local Spotify Connect speaker with on-device voice commands and its own LED ring/screen UI.
- Sideload / dev mode
- Alpha
- Medium brick risk
This project hasn't been claimed by its maintainer yet, so its details come from the community. Is it yours? Claim it
Before you start
- How hard is it?
- HardUses the command line or developer tools.
- What you need
- Comfort with the command line
- A computer
- Another hack installed first
- Can it break my device?
- Small chance of trouble, with a way to recover.
- Can I undo it?
- The project doesn't say. Assume you can't.
Did it work for you?
Did spoti-alice work on your Yandex Station?
No reports yet.
One-tap reports from owners. Bricked reports are checked before they count.
Compatibility
Devices: Yandex Station.
No compatibility information yet.
Getting started
From the project's README ("Полная установка с нуля"):
Ниже описан стандартный путь для root-обвязки mysudo su shell. Начинайте из корня репозитория.
- Подключить ADB и проверить root
export ADBDEVICE=<ip-колонки>:5555 adb connect "$ADBDEVICE" adb -s "$ADBDEVICE" shell 'mysudo su shell -c "id"'
В выводе должен быть root (uid=0). Если adb connect или mysudo su shell не работают, сначала исправьте root/ADB на самой колонке.
- Подготовить host-инструменты
На macOS установите Android SDK/NDK и Java любым удобным способом. Если SDK находится не в стандартном macOS-пути:
export ANDROIDSDK=/path/to/Android/sdk export NDK="$ANDROIDSDK/ndk/<версия>"
На Linux задайте оба пути явно, например:
export ANDROIDSDK=$HOME/Android/Sdk export NDK="$ANDROIDSDK/ndk/<версия>"
Если версия build-tools отличается от 34.0.0, задайте:
export ANDROIDBUILDTOOLSVERSION=<версия>
Если Android platform отличается от android-28, это можно переопределить через ANDROIDPLATFORM, но совместимость с Android 9 отдельно не гарантируется.
- Собрать и загрузить проект
ADBDEVICE="$ADBDEVICE" sh voice/deploy.sh
Скрипт собирает voiced, ledd, mic.dex, aaudiopipe, при необходимости скачивает набор негативов для обучения и загружает бинарники и device-side скрипты в:
/data/local/tmp/voice /data/local/tmp/soloist
Эти каталоги можно изменить:
export REMOTEBASE=/data/local/tmp export REMOTEVOICEDIR="$REMOTEBASE/voice" export REMOTESOLOISTDIR="$REMOTEBASE/soloist"
Для нестандартных путей нужно передавать те же SOLOISTBASE и VOICEDIR …
Risk and recovery
- Brick risk
- Medium
- Requires opening the device
- No
From the project's README ("После запуска"):
Веб-панель доступна по адресу:
http://<ip-колонки>:8780
Через неё можно записать и обучить слова команд, настроить громкость, шаг кольца, стили индикации и яркость экрана.
> В панели сейчас нет аутентификации. Порт 8780 слушает на всех интерфейсах, > поэтому не выставляйте его в недоверенную сеть и ограничьте доступ firewall'ом > или локальной сетью.
Если голосовой стек Яндекса мешает, его можно удалить обратимо:
adb -s "$ADBDEVICE" shell -tt
'mysudo su shell -c "pm uninstall -k --user 0 com.yandex.io.sdk"'Вернуть компонент:
adb -s "$ADBDEVICE" shell -tt
'mysudo su shell -c "cmd package install-existing com.yandex.io.sdk"'Стоковые анимации экрана Яндекса в репозиторий не входят. deploy.sh пытается скопировать их из данных io.sdk; отсутствие этих файлов не должно ломать остановку и запуск, но часть анимаций будет недоступна.
Credits, license and support
- License
- MIT