MusicResync

Verified safeOpen sourceExclusive
No reviews reviews
23
downloads
5.0
android

AI summary

Synced-lyrics fetcher for local music with broken or missing tags. Uses multi-strategy matching with confidence scoring to find correct .lrc files for messy rips, includes a Samsung-Music-style lyrics player with adjustable timing, and auto-fixes SnapTube _private.lrc files. v1.6.3 fixes wrong-lyrics bugs for short titles and improves smooth scrolling in the lyrics player.

Generated by AI. May contain inaccuracies.

About this app

Smart synced-lyrics fetcher for Android — built for music with bad or missing metadata.

MusicResync scans a folder of local music (even messy SnapTube/YouTube rips with broken tags) and finds time-synced .lrc lyrics for every song, using a confidence-scored multi-strategy matching engine. It's a heavily reworked fork of the excellent SongSync with a smarter matching brain, a cleaner UI, and a built-in Samsung-Music-style lyrics player.

✨ What makes it different

🧠 Smart matching for bad metadata

Most lyric apps just send your (often wrong) tags to a provider and accept the first result. MusicResync doesn't:

- Multi-strategy candidate ladder — tries tags, then Artist - Title / Title - Artist filename parsing, primary-artist extraction (Coby X Teodora → Coby), remix/version loosening, and a title-only fallback. - Noise stripping — removes (MP3_320K), (Official Video), [HD], ft. …, track numbers, underscores, and other junk before searching. - Confidence scoring (title 40% · artist 30% · duration 20% · album 10%) with a duration tiebreak — the track length from your file is matched against each candidate, so the right song wins and a wrong "first result" (e.g. a random remix) is rejected. - Tiers: ≥85% auto-accept · 60–84% verify · <60% manual.

On a real corpus of messy SnapTube rips this lifts the auto-match rate from ~50% to 75–80% — including non-English tracks — before any manual work.

📥 _private.lrc auto-fix (SnapTube)

SnapTube saves lyrics as Song(MP3_320K)_private.lrc, which players like Samsung Music ignore because the name doesn't match the audio. MusicResync detects these on load and strips the _private suffix automatically — no network needed. Songs that already have correct .lrc files land straight in Has Lyrics.

🎤 Built-in synced lyrics player

Tap any song with lyrics to open a Samsung-Music-style player: your audio plays while the current lyric line highlights and auto-scrolls. An offset slider lets you fine-tune timing — adjusting it seeks the track ~2.5s back so you immediately hear and see whether the new offset lines up.

🗂️ Organised + one-tap

- Tabs: All / Has Lyrics / No Lyrics with live counts and green/red note indicators per song. - A centered Batch download lyrics button: one tap fetches lyrics for everything that needs them. - Pre-batch dialog keeps the two choices that matter up top (skip songs that already have lyrics, save .lrc next to the song); everything else (embed into the file, correct the metadata, auto-try other providers) lives under a single More options section.

🛡️ Robust providers

Every request uses exponential backoff + jitter (1→2→4→…→30s) with retries and a hard timeout, plus graceful fallback: if your selected provider errors or times out (e.g. a Spotify API change), MusicResync quietly falls through the others instead of throwing an error at you. Providers: LRCLib (default, no auth, returns duration + lyrics in one request), Netease, Apple Music, Spotify, QQ Music. Spotify's rotating security keys are fetched from several independent mirrors and cached locally, so a single source going down doesn't break it — and none of this blocks app launch.

📄 License

GNU General Public License v3.0

What's new

v1.6.3Jul 20, 2026
  • Fixed: wrong lyrics saved for songs with short, generic titles
  • v1.6.2's looser matching (which judges hits against the parsed filename, not just the raw tags) opened a precision hole: a song whose title matches some unrelated track exactly — "PETROV - RARI" getting the German "Rari" by lil doggo, "Numero - BMW" getting "BMW" by Cecilio G., "UKIC X PETROV - A TI?" getting "A Ti" by Dyango, "QuESt - Automatic" getting a Japanese "Automatic (Live)" — could ride in on the title alone, because the artist-less view of the track had nothing left to object to the wrong singer.
  • New wrong-singer veto: whenever your file gives the matcher any artist guess (from the tags or the parsed filename) and a provider's result names an artist that agrees with none of those guesses, the result is rejected — across the normal search, the plain-lyrics fallback, and the last-resort rescue. An exact runtime match still overrides a disagreeing artist (that trust is what makes junk-tagged rips matchable at all), and a result with no artist at all is unaffected. A provider artist written in a different script (e.g. CJK vs. a Latin filename) now counts as disagreeing too.
  • Fixed: lyrics player not following the song / janky scrolling
  • The synced-lyrics player (the adjust-timing screen) only scrolled once the highlighted line left a visibility window, which looked like the list wasn't following the song at all — and then it lurched a whole screen at a time. It now glides continuously: each new line smoothly eases the list so the active line settles just above centre, Samsung-Music style. Seeks and taps on the progress bar still jump straight to the right spot.
  • Renamed leftovers
  • All user-facing "SongSync" texts now say MusicResync — including the [by:] tag written into generated .lrc files, the settings/about texts, and the welcome screen (all languages). The credit to the original SongSync project by Lambada10 remains, as it should.
  • Install over your existing app — it's signed with the same key, so it upgrades in place.

About this version

Version
1.6.3 (163)
Size
5.09 MB
Requires Android
5.0
Target SDK
21
Architecture
arm64-v8a, armeabi-v7a, x86, x86_64
Downloads
23
Updated
Jul 20, 2026
Package
com.dynamycsound.musicresync

Ratings & reviews

0 ratings
  • 5
    0
  • 4
    0
  • 3
    0
  • 2
    0
  • 1
    0

Write a review

Tap a star to rate this app