Repository navigation
Releases: spicylyrics/mobile
Releases · spicylyrics/mobile
Release list
Spicy Lyrics Mobile v0.11.1
Fixes
- Lyrics no longer fall further behind every time you pause and resume Spotify (Free and Premium). Spotify changed how it resumes, and the app's old correction for it was holding the lyrics back more with each pause. The app now follows Spotify's own position
- Google translation no longer stops with "busy" after a song or two. The app was asking Google too often when a song came back oddly, which got the connection blocked for a while. It now asks less, uses a second Google endpoint, and if Google does limit your connection it waits and tells you instead of retrying
- Don't translate (Settings → Romanization & Translation) opened an empty sheet. It's now a dropdown where you tick the languages you read
- The Romanization & Translation page has headings for each group
Limitations
- If Google has already blocked your connection, it can take a while to lift. DeepL with your own free key works in the meantime
- Google can't translate the odd line; that line stays untranslated
- Spotify Free over some Bluetooth earbuds can start each song a different amount ahead of the lyrics; the phone speaker isn't affected
- Spotify playing on another device (Spotify Connect) isn't tuned for sync
Full Changelog: v0.11.0...v0.11.1
Spicy Lyrics Mobile v0.11.0
Translation
- Translate the lyrics into your language: tap the new translate button (next to romanize), or turn on Translate automatically in Settings → Romanization & Translation
- Google Translate by default, no key needed, or DeepL with your own free API key
- Where Genius has a human translation, it's used for the sections that line up with the original; the rest is machine-translated. Tapping translate tells you what was used
- Show the translation under each line or in place of it. Background vocals are translated too, and songs already in your language are skipped
- If a song's language is detected wrong, set it in Quick settings
- The first time, it asks before sending anything: the lyric lines go to Google or DeepL, and the song's title and artist to Genius. Translation adds no analytics
Romanization
- Romanization can now sit under each line instead of replacing it, and it lights up as it's sung
- Romanization and translation settings now live together in one section
Other changes
- New: Settings → Device → System bars. Hide both (as before), or keep the status bar, the navigation bar or both on screen
- Lyrics no longer freeze partway through a line that runs right to the end of a song
- When a player adds a lot of buttons, the extra ones go in a ⋯ menu instead of squeezing the row
- Floating buttons are grouped: romanize and translate sit together
- Copy debug info now says where the romanization and translation came from
Limitations
- Google can't translate the odd line; that line stays untranslated
- Genius translations are used only for sections that match the original line for line, so most songs mix Genius and machine translation
- Spotify Free over some Bluetooth earbuds can start each song a different amount ahead of the lyrics; the phone speaker isn't affected
- Spotify playing on another device (Spotify Connect) isn't tuned for sync
Full Changelog: v0.10.0...v0.11.0
Spicy Lyrics Mobile v0.10.0
Spicy Player is now Spicy Lyrics Mobile
- New name, and a new home in the Spicy Lyrics GitHub organization: https://github.com/spicylyrics/mobile
- It's the same app: it updates in place and keeps your settings. Settings backups made before still restore
Lyrics sources
- On by default: Spicy Lyrics, plus the lyrics services whose public APIs say any app may use them: LRCLIB, AMLL TTML DB, Unison, LRCMux, lrc.red and BiniLyrics
- Kugou, NetEase, QQ Music, Kuwo, Genius, YouTube transcripts and RMM Revival are now off by default. Turning one on first shows who it asks and what it sends (the song's title and artist, sometimes its length; never account or device details)
- If you had any of those on, this update switches them off once and tells you which; your other sources and their order stay as they were. Human romanizations, which ask Genius, work the same way
- Musixmatch is gone
- Lyrics LRCMux finds now rank as the source it found them at (KuGou, LRCLIB, Genius or YouTube Music), and its word timing is used as is. The "Ignore LRCMux word sync" setting is gone
- Lyrics saved before this update are looked up again once
Limitations
- Spotify Free over some Bluetooth earbuds can start each song a different amount ahead of the lyrics. We're looking into it; the phone speaker isn't affected
- Spotify playing on another device (Spotify Connect) isn't tuned for sync
Full Changelog: v0.9.1...v0.10.0
Spicy Player v0.9.1
Fixes
- Songs where QQ Music or Kuwo sent lyrics labelled as synced but without real timing no longer show "These lyrics couldn't be displayed" or every line at once. Those answers now count as unsynced, so a source with real timing wins. Lyrics saved before this update are looked up again
- The floating lyrics window no longer shows the full lyrics screen squeezed into it after the system rebuilds the app in the background
Debug info
- Settings → Advanced → Copy debug info now ends with the last few dozen sync events. If the lyrics drift for you, copy it right after a song that was off and send it in the Discord thread or a GitHub issue
Limitations
- Spotify Free over some Bluetooth earbuds can start each song a different amount ahead of the lyrics. We're looking into it; the phone speaker isn't affected
- Spotify playing on another device (Spotify Connect) isn't tuned for sync
Full Changelog: v0.9.0...v0.9.1
Spicy Player v0.9.0
Apple Music lyrics style
- Settings → Lyrics → Lyrics Style → Apple Music gives the lyrics the look and motion of Apple Music's: lines rise and settle with springs, the line you're on is sharp while the rest soften and dim, held words swell, and background vocals fade in around their line
- The Spicy Lyrics style is still the default; Simple and Minimal modes belong to it
Floating lyrics
- Leave the app with a song playing and the lyrics shrink into a small floating window over your other apps, with previous, play/pause and next. Tap it to come back
- Android 12 and newer do this on their own when you go home. On Android 8 to 11 the app does it as you leave
- Settings → Device → Floating lyrics turns the automatic version off. Settings → Controls → Floating lyrics button adds a button that opens it by hand; it's on by default only before Android 12, where there is no automatic way in
- It only happens from the lyrics screen: never over Settings, a pop-up or the first-run introduction
First run
- New installs get a short introduction: notification access, the optional usage stats choice, a few look settings and the gestures. Settings can replay it
Fixes
- Spotify no longer desyncs the lyrics after a pause, a resume or a seek
- Seeking back no longer leaves the lines ahead half-way through their animation
- The About card's GitHub button now says "Star on GitHub". It's the same link
Limitations
- The floating window needs Android 8 or newer and a phone that supports picture-in-picture
- Spotify playing on another device (Spotify Connect) isn't tuned for sync
- Some launchers move or drop the home-screen icon when you switch app icons
Full Changelog: v0.8.0...v0.9.0
Spicy Player v0.8.0
New look
- Settings and the pop-ups now come in the purple theme Spicy Lyrics just introduced: lavender text, a deep purple background, and the logo big in the corner. Toasts match it as a small purple pill
- Settings → Theme switches Settings and the pop-ups back to the plain glass, separately
- New purple app icon. The pride icon is still there in Settings → Theme → App Icon, and the icon swaps once you leave the app
- Songs without a cover show the logo of the icon you picked
Your own lyrics sources
- Custom sources: Settings → Sources → Custom sources adds any lyrics API you have an address for. The song's title, artist, album, length or Spotify ID go into the address, and the answer can be TTML, LRC or plain text, as is or inside JSON. Test it against the playing song, then share it; a shared copy never includes your keys
- Lyrics folder: link a folder in the Lyrics Manager and its .ttml and .lrc files (subfolders too) are used where they are. New and changed files are picked up when you come back to the app or tap Rescan
- The Lyrics Manager takes .lrc files too, and word-timed (enhanced) LRC stays word-synced
- lrc.red is a new source for Apple Music's lyrics
Quick settings
- The player's queue is in quick settings now, with covers and the playing song marked; tap a song to jump to it. Spotify doesn't list its queue to other apps, but Premium still takes the jump
- The Lyrics Manager moved into quick settings too. Its floating button is off by default, and a new Queue button can be turned on
- Pop-ups show a placeholder while they open, so they open smoothly
Animations
- Skip and play/pause buttons animate like Apple Music's, the queue animates as songs change, and pop-ups grow to fit their content
- Settings → Device → Interface animations turns them off; low performance mode does too
Fixes
- Instrumentals show "no lyrics" instead of an error
- Spotify covers no longer slide in twice when you skip
- Restoring a settings backup can't crash the app any more, and it reloads the playing song's lyrics with the restored sources
- A custom source's keys only go to the server you saved them for, even after restoring a backup or following a redirect
- Stopping the music no longer hides your custom sources in Settings
- Importing lyrics for the current song only is refused if the song changes before they're ready, instead of landing on the next song
Limitations
- Spotify playing on another device (Spotify Connect) isn't tuned for sync
- Some launchers move or drop the home-screen icon when you switch app icons
Full Changelog: v0.7.1...v0.8.0
Spicy Player v0.7.1
Your own Spicy Lyrics key
- Spicy Player is now in the Spicy Lyrics app catalog. Sign in, tap Add, and paste the client key in Settings → Sources → Spicy Lyrics key. Your key has its own rate limit, so lyrics keep loading when lots of people are using the app, and it doesn't use one of your application slots
- Settings → Sources shows which key is in use, has a button to get your own, and can switch back to the built-in key
- A pasted secret key (
sl_sk_) or anything that isn't a client key is refused, with a reason - If Spicy Lyrics is busy on the shared key, the app suggests getting your own (once per session)
Anonymous usage stats
- Spicy Player now sends anonymous usage stats to its own server, to see how many people use it and which features are worth working on. Nothing is sent until you answer a one-time notice, and Settings → Advanced → Privacy turns it off any time
- Never sent: what you listen to, lyrics, anything you type, keys, or device IDs. The README's Privacy section lists every field that is sent
- Turning it off deletes the random install ID and any counts not yet sent. Your answer isn't included in settings backups
Limitations
- Spotify playing on another device (Spotify Connect) isn't tuned for sync
- The animated background uses mobile data for each new album's loop, so it's off by default
Full Changelog: v0.7.0...v0.7.1
Spicy Player v0.7.0
Bugs and ideas
- Report a bug from the card at the bottom of Settings: the GitHub form opens pre-filled with your app version and debug info
- Copy debug info (Settings → Advanced) to paste in the Discord thread
- The card at the bottom of Settings links to GitHub, the Discord thread, bug reports and ideas, shows the build channel and update status, and has a Check for updates button
Lyrics sources
- NetEase word timing is fixed: words drifted later and later through each song. Credit lines no longer show up in its lyrics either
- Unison credits open the submitter's profile and show their avatar
- Settings → This song says where Spicy Lyrics got the lyrics: Apple Music, Spotify or its community
- Apple Music in the source list now sets where Apple Music lyrics from Spicy Lyrics and RMM Revival rank (it used to ask AMLL a second time). Spotify lyrics passed on the same way rank with Musixmatch
- New default source order for new installs; your order is kept
Fixes
- Settings → Advanced → Session shows how the song was matched to Spotify instead of "Matching…" forever
Limitations
- Saved lyrics are fetched again once after updating
- Spotify playing on another device (Spotify Connect) isn't tuned for sync
- The animated background uses mobile data for each new album's loop, so it's off by default
Full Changelog: v0.6.0...v0.7.0
Spicy Player v0.6.0
Sync
- Tap to the beat (Settings → Scroll & Sync): tap along to the song and it sets the delay for your headphones or speaker
- Quick settings: a new floating button over the lyrics for the song's own delay and the output's, tuned while the song keeps playing. Both delays now reach ±5 s
- Per-song delays are saved and add to the output's delay (also in Settings → This song)
Lyrics sources
- Musixmatch and LRCMux word timing is ignored by default and their line timing used instead, since it's often wrong. Settings → Sources → Musixmatch turns it back on
- Settings → Sources says why Spicy Lyrics is resting and when it tries again
Settings
- Back up and restore your settings, source order, delays and Spotify links to a file (Settings → Advanced → Backup)
- The player's extra buttons (like, shuffle modes…) are off by default for new installs
Fixes
- Words before and after the sung one no longer look slightly smaller than they should with boosted word motion
- With no player running, the logo shows straight away
- Music haptics follow the drums more closely and feel steadier, on phones that support them
Limitations
- Spotify playing on another device (Spotify Connect) isn't tuned for sync
- The animated background uses mobile data for each new album's loop, so it's off by default
Full Changelog: v0.5.1...v0.6.0
Spicy Player v0.5.1
Battery
- Much lighter in the background: about 0.6% of a CPU core, down from 3–4%. The cover is no longer redone every few seconds, and nothing keeps ticking while the lyrics screen is closed
- Smoother motion (Device) now says it uses slightly more battery
Lyrics sources
- Spicy Lyrics no longer loses to RMM Revival when RMM Revival is ordered above Apple Music. RMM Revival passes on Spicy Lyrics' lyrics, so its answers now rank by where they really come from
- When Spicy Lyrics can't find the song on Spotify, RMM Revival's copy of a Spicy Lyrics community sync is used, with its credits
- Spicy Lyrics answers faster: it checks all of a song's Spotify releases at once instead of one after another
- Settings shows which source is still being checked while the lyrics on screen may still change
- Fixed a rare case where a lyrics lookup never finished
Good to know
- Each song's lyrics are looked up again the first time it plays after updating
Limitations
- Spotify playing on another device (Spotify Connect) isn't tuned for sync
- The animated background uses mobile data for each new album's loop, so it's off by default
Full Changelog: v0.5.0...v0.5.1