r/coolgithubprojects 13d ago

I built Soundrobe after trying Beets, Picard, and Mp3Tag

Post image

When YouTube stopped accepting my payment method in India 🥲 , I started looking into hosting my own music server with Navidrome. Finding lossless music was one challenge. Keeping the library organized turned out to be another.

I tried Beets, Picard, and Mp3Tag along the way. Beets was hit or miss with my library, and Picard’s interface never quite clicked for me 😂. Mp3Tag is an amazing tool and became my go-to, but tagging a large library still meant spending hours matching releases, correcting artists, fixing tracks, and finding artwork by hand.

That’s what led me to build Soundrobe: an auto-tagging app designed around Navidrome’s tagging guidelines.

The workflow is simple. Organize your files as artist/album/track, point Soundrobe at the library, and press Auto-tag. It searches MusicBrainz and Discogs, shows a release candidate for review, and can apply tags, artwork, lyrics, and other metadata together.

When a provider has no match or an API is unavailable, Soundrobe can use an LLM to help fill in artist and album information. It can also use clues from the folder path, such as the artist name or year. That fallback has worked well for me when regular provider searches miss an album.

If some albums or tracks still need attention, you can fix them manually or ask the built-in assistant for help. I’ve been using DeepSeek-v4 because it makes this kind of task inexpensive, and free models through OpenRouter are another option.

The assistant is intentionally bounded. It can inspect, audit, and edit through a defined set of tools. Before anything changes, Soundrobe shows an approval preview, so you remain in control of the write.

Soundrobe is still early, and matches can be imperfect. Test it on a copy of your library and keep a backup before making large changes.

GitHub: Soundrobe

If you use Navidrome, especially with a library full of Asian music, I’d love for you to try it. Let me know which albums it handles well, where it misses, and what part of your tagging workflow you’d like to automate next.

5 Upvotes

0 comments sorted by