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
- 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.
- 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
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:
- Download two Spotify APKs: an older version (e.g.,
v8.9.18) and the target version (v9.1.28.2252). - Patch both APKs with Spicy EX using LSPatch (ensures matching signatures).
- Uninstall current Spotify and install the patched OLD version.
- Log in (Email/Password only, no Google/Facebook).
- 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
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:testDebugUnitTestThe 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.
- LeNerd46/SpotifyPlus
- Spikerko/Spicy Lyrics
- surfbryce/beautiful-lyrics
- boidushya/better-lyrics (+ kawarp background)