Music collection metadata, lyrics and device sync

1 hour ago 1

09 Nov, 2025

I recently set up Hetzner Storage Share with the goal of consolidating my media collection. This approach has many benefits, the major points being

  • Data stays within the EU, as does the money I pay for the service
  • Supports Nextcloud, an important open source project
  • I have a lot of control on the software side

I'll be writing more about Nextcloud as I'll get to know it better, but here I'll talk about the music collection management workflow this has facilitated - not Nextcloud itself, but the process that happened after I had the backups in place and started to look at the data itself.

The flow that I'm currently satisfied with is this:

  1. Have some music
  2. Fix the metadata using Picard
  3. Download lyrics with LRCGet
  4. Automatically sync the files, including playlists, using Nextcloud Desktop
  5. Listen to it directly from Nextcloud on the browser, VLC on the desktop or as synced files on the phone with Gramophone

As a kid I bought a lot of CDs as that was pretty much the only game in town at that point in technology. From those days, skipping a couple of years of streaming and now back to buying my music from Bandcamp, I've accumulated a nice collection of albums. A big chunk was borrowed from the library and ripped, so not quite copyright-compliant, but at least most have lead to later purchases, so maybe it's not that bad...

Since the history goes back that long, the quality of both the songs and the metadata is questionable at best. There's not much else to do for the songs themselves than to rip them again using better tools or to buy (or else acquire) them again, but the metadata issue is more nuanced - Incorrect song names or album titles, missing album images... Fixing this became the first objective.

Picard is a brilliant, simple but powerful tool for updating music library metadata. The process of identifying errors went pretty much like this:

  1. Load up all my music files in one Android music player or another
  2. Go through the album listing - are there duplicates? Are the artists wrong? Are there missing album images? Are there dumb [Bonus][*][Alternative] -tags that you won't mind gone?
  3. Take up one album at a time through Picard. Load the files, scan them, and pick the best match from the given options
  4. Save, after which they get automatically synced to the phone. Inspect again. If satisfied, move to the next, else go back to Picard and modify

After a few hours of clicking and checking, occasionally messing up and rechecking, I had the most glaring issues fixed and the collection was good enough for the next step.

I don't know how, but I never knew this was an option. There's a standard file format LRC that is used to sync lyrics to the music file that's currently playing. Mindblowing.

There's good tools for doing the syncs yourself and to download and use the work of others from a huge corpus of work. LRCGet is a great one. Basically it scans your library and then provides search and download functionality for fetching the best match - either a fully synced file or just plain text, or doing the work yourself and publishing it for everyone to use.

This highlighted some further metadata issues, as I had a lot of albums with tags like [Bonus], [Japan] or [Re-issue] which did not match the databases of LRCGet, so they went through Picard again and then the automatic downloads found the information they needed.

So now I had my music collection refreshed with correct metadata, extended with lyrics and automatically synced between the desktop, Nextcloud and my phone. The final issue was the phone player - how to make the best use of this refined collection?

I like to create and manage my playlists using the plain .m3u or .m3u8 files. This creates a problem for many Android music players, which operate, at best, like this:

  1. Import a playlist from a file
  2. Create an internal database representation of the playlist
  3. Modifications stay in the database and are not reflected on the file
  4. Possibly allow exporting back to a file (VLC Android does not support even this) This is also a limitation in the Nextcloud Music app, which is unfortunate, but not a key consideration for me.

I like to keep all my music, including playlists, in /Music, so playlist modifications on one device should be available on others. This became a key feature for me when I tried a handful of different apps from F-Droid.

Gramophone is what I'm sticking with for now. It's a pretty basic player, with some rather glaring limitations in e.g. search, but with three important features that made it a winner for me:

  • no import/export steps for playlists
    • limited to reading and adding one song at a time to a playlist file, but more is apparently on the way
  • fast startup and loading of the library
    • sometimes I have to force refresh a scan, which takes ~ a minute
  • lyrics display

Spending the few hours it took to do this maintenance on the collection was very much worth it. I've especially enjoyed reading the song lyrics in Gramophone while the music plays.

Looking back I don't how I tolerated the 'Unknown artist's and having the same album be listed as three different ones, but luckily there's no need to ever go back to that. I have the current collection now stored in three places with all the updates applied, so the work done will not be lost should anything break. Now when I buy new albums, it's easy to run them through the grinder at the start and have them be 'fixed' forever.

If you too happen to have a large collection of digital music, I recommend combing through them with these tools to elevate the library to another level!

Thoughts, comments? Send me an email!

#lyrics #music #nextcloud #tech

Read Entire Article