
4.45 MB
Android 7.0+
19
arm64-v8a
Verified safeScanned with ClamAV, APKiD, and Quark-Engine. No threats detected.
Screenshots



What's New
1.6.1 — MusicBrainz search, OPUS editing, embedded lyrics, and more
MusicBrainz search — five fixes
MusicBrainz lookup from the track info sheet was returning empty results
for obscure artists, even when the song existed in MusicBrainz and you
pasted its exact MusicBrainz ID. Five layered bugs were responsible.
・Fixed: duration filter was silent and always-on. A ±5 second
duration filter was applied to every search even though a setting
existed to toggle it. The filter was never wired to anything — no UI
toggle was ever rendered, and the provider ignored the setting
completely. For small-label recordings that lack duration metadata on
MusicBrainz, this silently dropped every result. The filter is now off
by default (widened to ±15 seconds when enabled) and a "Match
duration" toggle is available in the search overflow menu.
・Fixed: MusicBrainz IDs broken. Pasting a MusicBrainz UUID into the
search field returned nothing because Lucene's query parser treats
hyphens as NOT operators. UUIDs are now detected and routed directly
to MusicBrainz's recording lookup endpoint — exact match, no Lucene.
・Fixed: special characters in track and artist names produced empty
results. Characters like :, -, (, ) and others were passed
straight to Lucene's query parser unescaped. Plain queries are now
escaped automatically; quoted queries (from the tips dialog examples)
pass through so field syntax continues to work.
・Fixed: valid results silently dropped. The response parser required
release track-listing data to be present, but MusicBrainz's search
endpoint often omits it — especially for singles and demos. Missing
media/track data no longer drops the result.
・Fixed: default 25-result limit. MusicBrainz now returns up to 50
results per search, giving more headroom alongside the other fixes.
Lyrics fixes
・Fixed: embedded LRC lyrics were shown as raw text. Files tagged
with LRC-format lyrics (timestamped lines like [00:12.50]Lyric text,
common in J-pop, K-pop, C-pop, and vocaloid music) were displayed as
raw timestamps instead of karaoke-style timed lyrics. The embedded
lyrics reader now parses LRC content the same way the network provider
does, so embedded synced lyrics highlight in time with playback.
・Fixed: compilation albums showed phantom artist entries. The
Artists tab and artist navigation now use the Album Artist tag with
a fallback to Artist, so compilations don't shatter into one-entry
per-track artist listings.
・Fixed: lyric sync scrolled to the wrong line. The lyrics sheet now
scrolls to the currently-synced line rather than the next one, so
you can read what's being sung right now.
OPUS metadata editing
・Fixed: OPUS (.opus) files could not be edited. The metadata editor
(jaudiotagger) has no support for the OPUS format and rejected files
with "No reader associated with this extension:opus." A custom OGG
container-level tag editor now handles OPUS files directly — it
modifies the OpusTags (VorbisComment) packet in-place without touching
the audio data. Title, album, artist, album artist, genre, year,
track number, and lyrics can all be written to OPUS files. Cover art
editing is not yet supported for OPUS.
MusicBrainz field qualifier case normalization
・Fixed: capitalized field names like Artist: or Release: were
treated as literal text because MusicBrainz's Lucene field names are
case-sensitive. The search provider now automatically lowercases
recognized field qualifiers (Artist: → artist:, Release: →
release:, etc.) so the tips-dialog syntax works regardless of
capitalization.
UI and usability improvements
・"Match duration" toggle added to the search overflow menu. The
duration filter (which restricts MusicBrainz results to tracks within
±15 seconds of your file) was previously hidden and always-on. It is
now off by default, and a toggle with a visible checkmark sits in the
three-dot menu of the info-search screen.
・Search tips dialog expanded. Now covers MusicBrainz ID lookup
(paste a UUID to find the exact recording), duration matching (what
the toggle does and when to turn it off), and the existing quote and
field-syntax guidance (artist:"Name", release:"Title", combined
with AND).
・Overwrite button shows a disabled state for unsupported formats.
If a file format can't be written to, the Changes screen now shows a
greyed-out "This file format is not supported for metadata editing"
button instead of letting you tap through to an error.
Description
This is a community continuation of Lotus by dn0ne, who built the original app. All design, branding, and prior work are theirs — huge thanks. Upstream is no longer actively maintained, so this fork picks up bug fixes, stability work, and small features while keeping the app true to its original spirit.
・Upstream repository: https://github.com/dn0ne/lotus
・Upstream license: GPLv3 (preserved)
・Application ID: com.dn0ne.lotus.community (so it can coexist with the upstream build if you already have it installed)
If you are the original author and would prefer any change here, please open an issue — we'll respect your wishes.
Features
・Enjoy your favorite music in a variety of formats, including MP3, FLAC, OGG, WAV, and more
・Easily browse tracks, albums, artists, and genres, and create custom playlists
・Enhance your listening experience with synchronized lyrics from LRCLIB
・Manually update track details or fetch accurate info from MusicBrainz
・Designed with Material You and supports dynamic color palettes
Rate this app
Ratings & reviews
No reviews yet.