Hello everyone!
I have been having a hard time finding a solution to my problem of sorting music from both Youtube music and Bandcamp. I have tried Picard and while it is good I have had problems with it. For example it has made songs shorter (they now end to soon.). So far the only solution I have found is to use Picard and manually review every song I own, and since I have thousands of songs It would take quite long.
I’m using Jellyfin with Finamp to play my music, and sometimes add lyrics via the Jellyfin app when they are missing.
How have you people solved this or similar issues? Does someone have a automated setup that works well?
Are you saying Picard is trimming your songs? Because I ditto many other commenters; Picard has never trimmed any of my songs.
My flow back when I used to self-host was (1) get the songs -> (2) tag the songs with Picard, which also renames the files automatically -> (3) place appropriately in my Navidrome server. I know people like to automate acquisition with various arr projects, but I liked curating my library manually.
In thousands of songs, I’ve never noticed Picard doing anything to the length of the files. I tend to manually review every album by running it through Picard and letting it handle the renaming and tagging. That structure used to be Artist/Year Album/Song. I’ve been less strict about naming the songs themselves. It’s always at least track - Title, but sometimes Artist - Album - Disc # - is prepended. Eventually I ran into a situation where I had multiple versions of a release/album with different enough content to warrant keeping both, so now I throw a release ID number (if is exists) after the album name, and inside brackets, for the directory name.
It’s a very flat structure by design, so I’m never quibbling about where I sourced something or what particular genre it is when I’m looking for it. That dramatically reduces the likelihood of duplicates too. Real metadata is better left to tags, since that’s mostly what any player will see anyway.
If I’m having trouble getting Picard to recognize something it always because: musicbrainz.org is missing the release, doesn’t have acoustic ID, or Picard preferred the album track when I’m trying to rename and tag a single or EP. Adding the release info and acoustic ID to musicbrainz is easy and I can usually use the info before the release is even reviewed, but often in trying to add the release I’ll find the correct one and now I can help fill out the data about it.
I treat musicbrainz.org as MY metadata database. If a release is missing or has problems, I do the work to make it better. It’s good digital citizenship and learning about their rules for releases helps me manage my server better.
Different angle on this, and it may or may not fit your setup, but it changed things for me.
I’ve been accumulating audio since the early 2000s. Twenty-some years of ripped CDs, vinyl rips from release groups, random downloads. Several thousand albums. At some point I accepted that tags were never going to be consistent across that pile, because the sources never agreed on anything in the first place: a 1979 vinyl rip tagged by whoever released it, a CD rip from 2004, and a modern FLAC have nothing in common metadata-wise, and no tagger reconciles that without me babysitting it.
So I stopped trying to fix the tags and leaned on the folder structure instead. My tree already carried everything I cared about: genre at the top, then artist, then Artist - Year - Album, with subfolders for live, compilations and singles. That structure took years to build and it’s reliable in a way my tags never were.
I run Velvet (mStream fork) as the server for it. It serves the library by folder structure rather than by tag database, so there’s nothing to scan, nothing to match, nothing to get wrong. And I vibe-coded Sharesonic, an Android client for it, because I wanted to browse my library the way it’s actually organized and share a track, a playlist or an entire folder as a public link without exporting anything. Personal project, it’s on GitHub if anyone wants it.
To be clear about what this does and doesn’t solve: it doesn’t repair your files. If Picard truncated audio on you, that’s a real problem and it needs fixing at the file level, not at the player level. Worth checking whether the audio itself is actually shorter or whether it’s just the duration metadata disagreeing with the stream, because both look identical from the player side and only one of them is destructive.
The trade-off is real. You lose cross-cutting queries: no “everything from 1977 across all artists”, no proper album artist handling for compilations. If that matters, stay on Jellyfin and keep grinding through Picard. If you mostly navigate by “I want to hear that specific album”, folders are faster than any tag database.
I vibecoded my own youtube downloader that does metadata completion via deezer’s api. Before that I was using Jellyfin + Finamp, tried Picard but it a) required downloading something onto my pc b) felt clunky and took ages to complete runs. Fixed it by using a bash script for managing metadata. Now my own platform does it.
I use a manual approach for my music:
First, I use Musicbrainz Picard to tag my music according to their database. Most of the time, “lookup” just works, bacuse the source files are already pre-tagged sufficiently, sometimes I need to “analyze” the files, which is slower, but works with whatever “lookup” didn’t catch.
Then I use kid3 to manually clean up my tags, like fixing Genres. I also use its renaming function to keep the filenames uniform - Artist/YYYY - Album/## - Title.ext
After that, the files get normalized using replaygain/mp3gain.
Only then will the files get moved to my NAS, where every device will be able to access them, and overnight my phone will automatically grab any newly added music and copy it to the phones SD card.
Yeah, at some point, I told Picard to just re-sort everything and that was not a good idea. Some songs got renamed or put under a different artist, because I guess, the actual song is not in the MusicBrainz database.
I do have a backup that I should restore actually, but yeah, difficult to notice such changes and especially to know how much damage was done.I did also figure, I should just add the unknown songs into MusicBrainz, but boy, I added one album and that took more than half an hour…
Definitely leaning more and more towards that unsorted life…
Some songs got renamed or put under a different artist, because I guess, the actual song is not in the MusicBrainz database
How did you manage that? If picard can’t find a song, it won’t put it in the rightmost view and it won’t be processed.
I don’t let Picard move my files, only tag and rename them, because (last time I tried) I couldn’t easily see where it was going to move the files to verify if it’s correct. I run Lidarr pretty much exclusively to sort everything correctly lol.
I guess, it can select the wrong song, if:
- the correct song doesn’t have its acoustic fingerprint in the MusicBrainz database (otherwise it would be the closest match), and
- another song has a similar enough acoustic fingerprint, above a threshold that you can configure in the Picard settings.
I assume, it has to be a threshold, because you might have slight variations for the same song/recording, like silence at the end trimmed or volume normalized or whatever.
And yeah, Picard’s UI is certainly a bit of a hurdle. Conveying information for so many changes is definitely not easy, so I don’t want to complain.
But you know, if it would have detected that some of my songs will get renamed not just with a few capitalization fixes, but rather completely different words, and it would have prompted me for those, then I wouldn’t have misnamed songs now…
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
Fewer Letters More Letters NAS Network-Attached Storage Plex Brand of media server package SMB Server Message Block protocol for file and printer sharing; Windows-native
3 acronyms in this thread; the most compressed thread commented on today has 13 acronyms.
[Thread #127 for this comm, first seen 13th Oct 2026, 19:40] [FAQ] [Full list] [Contact] [Source code]
- Obtain flac cd-ripped originals
- Convert to 256bit center-weighted opus
- Use Picard to tag music, save to artist - album/song file & folder pattern
- Sync to my subsonic-compatible server
I group my albums by artist, and I sort them by artist, then year of release, then album name.
Each song in the album is sorted by track number.Music/Albums/Pink Floyd/Pink Floyd (1973) - The Dark Side of the Moon/06 Pink Floyd - Money.flacI also make sure all tags are set correctly so that they get sorted correctly in programs like Jellyfin and Finamp
beets with a whole bunch of custom scripts. I tried using picard but found it to be completely useless, it rarely finds a match and when it does it decides it belongs to multiple album editions rather than just 1.
If you find it does that, like:
Album1 7/12 tracks
Album2 1/15 tracks
Album3 4/21 tracks
I just click and drag Album2 and Album3 into Album1
that gets tedious, fast. Much easier to use beets that does none of that silly stuff.
I use Picard, I never had a issue of it changing the actual file, just adding mp3 tags and cover images. I didn’t even know it could mess with the length of the song, maybe check your settings? Most issues I’ve had with Picard have been connection issues, but that usually gets fixed with clicking the refresh thingy.
Anyway, I spent like a week doing 4-8 hours of “work” per day to get my existing music library tags and filenames sorted with Picard. Since then, all new music that gets added to the PC is put into a temp folder, ran through Picard and only then moved into the music library folder.
For the file tags I use the defaults that Picard comes with, I also have a plugin that adds additional musician information into the song. Picard also changes the directory and filenames into /Artist Name/Album Year - Album Name/01. Title.flac, so for example /Björk/1993 - Debut/01. Human Behaviour.flac
Recently I started adding lyrics as .lrc files, but that looks like its going to be more work than its worth. If I wanted all songs to have lyrics files, I’d have to go through most of my non-English language songs manually, the apps seem to have some issues with that. Also, for stuff like Kent, who have 2 albums in Swedish and English, the apps don’t seem to understand that and insist on using the English lyrics for the Swedish versions.
from the sounds of it it’s not changing the actual file, just changing the duration tag which is then being read by whichever wonky app OP is using. Why does picard change the duration tag rather than just rely on the file? who knows.
I’ve spent hours trying to satisfy Jellyfin and it never fully works correctly.
So, I don’t.
beets.io, with a a good chunk imported as is
picard was pita, beets takes some getting used to but can run on a potato and eat tb’s of music at a time
I don’t
- Music directory -> directory for each artist -> directory for each album
- All files are properly tagged, also contain album art
- Lrc or text lyrics files next to mp3/flac files
- Locally, directory is reachable on SMB network share and DLNA for network players
- Navidrome serves the whole thing for streaming on the internet when I’m not home and presents everything in a browser for convenience when no app is used, on android I listen with Tempus
- Nextcloud can also reach it
- lrcget used for lyrics, mp3tag used for tagging
- Generally deal with full albums only






