Skip to content

Repository files navigation

Spicy EX

Animated synced lyrics inside Spotify, as an Xposed/LSPosed module.
Unofficial community project — not affiliated with Spotify or Spicy Lyrics.
For the desktop version, check out spicy-lyrics. Xiaomi HyperOS 3 lockscreen/AOD integration: HyperGlow

Spicy EX lyrics demo

What's new in v1.58.181

  • Rebuilt in-Spotify settings with a cleaner section layout, Lucide icons, status badges and smoother panel motion.
  • Introduced the new opt-in AI feature set: separate Meaning and Sound lanes for translation and pronunciation/transliteration.
  • New AI setup supports Gemini, official OpenAI and custom OpenAI-compatible providers with provider-scoped credentials, model checks and visible request status.
  • New layered results can show a Google preliminary result immediately, then let accepted AI translation or reading supersede it.
  • New review and cache handling lets accepted AI results be reused without re-running paid work.
  • Improved Arabic/Hebrew right-to-left and mixed-script lyric layout.

Features

  • Full-screen synced lyrics — Spicy karaoke wash, per-word animation, interludes.
  • Live current line in the player, with a ♪ placeholder on no-lyric tracks.
  • Transliteration: Japanese (furigana / romaji / both), Chinese (pinyin / jyutping), Korean / Cyrillic / Greek — optionally per-word.
  • Google Translate.
  • Optional AI translation and pronunciation/transliteration features.
  • In-Spotify settings; works even when Spotify itself has no lyrics.
  • Read more

Install

APK from Releases.

Download language models in Settings to enable readings. Lyrics remain available without the pack.

Rooted (LSPosed): install, enable, scope to Spotify — you know the drill.

Non-rooted (LSPatch): Spotify enforces Play Integrity during login. Bypass this using the Downgrade-Login-Upgrade method:

  1. Download two Spotify APKs: an older version (e.g., v8.9.18) and the target version (v9.1.28.2252).
  2. Patch both APKs with Spicy EX using LSPatch (ensures matching signatures).
  3. Uninstall current Spotify and install the patched OLD version.
  4. Log in (Email/Password only, no Google/Facebook).
  5. Install the patched NEW version over the old one as an update.

Note

Tested on Spotify v9.1.28.2252.

Warning

May conflicts with ReVanced / modified Spotify or old Spotify Plus

Build

JDK 21 and an Android SDK are required. Gradle wrapper builds should be run with JDK 21; newer JDKs can fail during build-script compilation. The Android app still targets Java 11 bytecode unless that is changed intentionally.

# Build the debug APK and copy the stamped APK into artifacts/.
JAVA_HOME=/path/to/jdk21 ./gradlew :app:assembleDebug

# Run the primary JVM unit suite.
JAVA_HOME=/path/to/jdk21 ./gradlew :app:testDebugUnitTest

The single APK includes transliteration, translation, language dictionaries and extra fonts.

Language models (kuromoji, CharSoup, JMdict) are not in the APK; they are delivered as a separate pack that the app downloads from Settings. Create the versioned archive with :app:packageLanguageModelPack (JMdict sources live in app/language-models/), publish it over HTTPS, and point builds at it with -PLANGUAGE_MODEL_PACK_URL=... and its SHA-256 in -PLANGUAGE_MODEL_PACK_SHA256=....

Docs-only changes do not require unit/device testing. Device behavior remains the final validation path for UI, hook, and Spotify-host integration changes.

Credits

License

AGPL-3.0. See NOTICE for attribution.

About

Spicy EX — native lyrics for Spotify (LSPosed / LSPatch module)

Resources

Stars

33 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages