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?

all 45 comments

sorted by: hot top controversial new old

I've spent hours trying to satisfy Jellyfin and it never fully works correctly.

So, I don't.

  • source
  • [–] 2 points 7 hours ago

    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

  • source
  • [–] 5 points 9 hours ago

    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.

  • source
  • [–] [B] 2 points 8 hours ago* (last edited 7 hours ago)

    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 6 acronyms.

    [Thread #127 for this comm, first seen 13th Oct 2026, 19:40] [FAQ] [Full list] [Contact] [Source code]

  • source
  • [–] 1 point 8 hours ago
    [–] 3 points 11 hours ago

    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.

  • source
  • [–] 2 points 10 hours ago
    1. Obtain flac cd-ripped originals
    2. Convert to 256bit center-weighted opus
    3. Use Picard to tag music, save to artist - album/song file & folder pattern
    4. Sync to my subsonic-compatible server
  • source
  • [–] 1 point 8 hours ago
    • 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
  • source
  • [–] 1 point 8 hours ago*

    I have a TBO (to be organized) folder where I dump things that I can't clearly categorize right away. Eventually, I spend a few hours sorting everything manually. I sort my music by genre, not by artist or year, so when im in the mood for say, some DnB, I don't have to recall the artist or album, I just hit shuffle on my DnB folder

    I don't rely on auto-taggers, because I discover artists from soundcloud and YouTube that may not have their info readily available on such websites.

  • source
  • [–] 3 points 13 hours ago

    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.

  • source
  • [–] 17 points 20 hours ago (6 children)

    I've gone back and forth on this, but ultimately, I enjoy the tagging process and accept it as part of my workflow.

    When i'm adding a release to my collection, I throw it into a temo directory, open the album folder in MP3Tag, query MusicBrainz (or Discogs if necessary) for the basics, replace the cover image if I'm not happy with the one from the source, add additional genre tags and do cleanup, auto renumber tracks/discs. Once it all looks good, I use the tags-to-filename feature to rename everything to AlbumArtist/[OriginalYear] Album/### - Title (### - Artist - Title for multi artist releases) then copy it to my library.

    It sounds like a lot, but it isn't bad. Like I said, I enjoy it.

    Updating tags shouldn't change the actual music though. That seems really strange and like something else is going on.

  • source
  • hideshow 6 child comments
  • [–] 5 points 20 hours ago (1 child)

    You know you can automate all of that into a single ‘action’ in mp3tag

  • source
  • parent
  • hideshow 1 child comment
  • [–] 3 points 17 hours ago

    TBH, I know the functionality is there, but I have never taken the time to look at it. It looks like more than it is. It's a few clicks to search and find the right release, make my edits, 2 clicks to auto number, 2 clicks to rename. Sometimes I let the rename move the files for me too. Depends on the format.

  • source
  • parent
  • [–] [S] 2 points 20 hours ago (2 children)

    Yeah I might just need to start the process and then have like a monthly time to sort it. Do you know if there is any way to do something like this form the web/phone? Thinking I could then fix stuff on the go easier aka when I spot a error on some song.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 17 hours ago

    I haven't figured that part out. I try to just remember to fix things the next time I'm at the computer. My issue is that all my music is kept on the server and any tagging app I've found is for local files.

    There are web accessible versions of beets and Picard, but I have found them more trouble than they're worth.

  • source
  • parent
  • [–] 1 point 11 hours ago

    This is a recurring, and I never see wrtag mentioned. Has anyone tried it?

    It also uses MusicBrainz. Unlike beets, it stores metadata in the music files. It is from the author of Gonic.

  • source
  • [–] 11 points 20 hours ago (4 children)

    I just started properly tagging new music at some point and now my library is largely tagged correctly.

    For tagging I use kid3, great KDE application for that.

    I also sort my music into a folder layout like this to know where I got it from and potentially upgrade the quality.

    MusicRaw
      - Artist1
        - Bandcamp
          - Album1
        - Tidal
          - Album2
          - Album3
        - Youtube
          - ytrip album
      - Artist2
        - Album1 (not moved to a separate source)
        - Tidal
          - Album2
          - Album3
        - ytrip album
    

    I then have a script to loudness-normalize (come fight me) all music and write it to another subfolder.
    A second script takes those normalized files and symlinks them into a structure like this:

    Music
      - Artist1
          - Album1
          - Album2
          - Album3
          - ytrip album
      - Artist2
          - Album1
          - Album2
          - ytrip album
    

    I tried switching to Picard, but for somewhat obvious reasons it doesn't support my insane structure.

  • source
  • hideshow 4 child comments
  • [–] 6 points 18 hours ago (2 children)

    Why not use ReplayGain tags to capture the normalisation information and let your player adjust non-destructively? Of course I don't care if you do it by actually re-normalising – they're your files. Just curious!

  • source
  • parent
  • hideshow 2 child comments
  • [–] 4 points 17 hours ago

    Depending on what device/software/etc. you use, your player might not be able to read that normalization info. For that reason alone, I still use mp3gain to actually modify my files, I don't have to worry about whether or not the player will use the replaygain info, or not.

  • source
  • parent
  • [–] 3 points 17 hours ago*

    That feature didn't exist when I started and I haven't bothered to change it yet. Since this also needs support on all clients, it's somewhat less portable than my solution.

    Edit: Reason 2 I'm not sure how different clients handle the dynamic adjustments

  • source
  • parent
  • [–] 14 points 21 hours ago* (last edited 18 hours ago) (2 children)

    Usually beets is the solution but it uses the same source as picard. Songs shouldn't get shorter though? Sorting should be the same though, independent of the software.

    Music/artist/release/title

    I gave up a couple of years ago. It is too much work for too little gain.

  • source
  • hideshow 2 child comments
  • [–] 3 points 17 hours ago

    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.

  • source
  • [–] 3 points 18 hours ago (2 children)

    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...

  • source
  • hideshow 2 child comments
  • [–] 1 point 13 hours ago (1 child)

    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.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 8 hours ago

    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...

  • source
  • parent
  • [–] 2 points 17 hours ago* (last edited 11 hours ago)

    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.flac

    I also make sure all tags are set correctly so that they get sorted correctly in programs like Jellyfin and Finamp

  • source
  • [–] 4 points 21 hours ago

    By Artist and Album, then let Plex handle the rest. It's pretty much the standard format for torrents so 95% is just drop in and done. I occasionally do youtube DLs for very recent releases but those I rename and sort by hand.

  • source
  • For the more mainstream music I have I went through and used Picard and manually reviewed everything and altered accordingly before saving the changes. This was only around 10km tracks so wasn't too bad, just slowly chipped away at it over time. Now it is in a good place anything new I add I can just do the same and it doesn't take too long.

    I tried a few automated ways but they are all unreliable. I don't believe this is really anything you can automate and still get accurate results, tou have to put in the time.

    My DJ library which is mostly stuff that would never be recognised by any software is about 25k songs and growing. I went through and systematically loaded all the tracks in batches into mp3tag and manually reviewed and edited every track to be tagged correctly and within the naming convention I had chosen whilst at the same time giving me the opportunity to cull anything I didn't want.

    It was extremely time consuming but ultimately the only way I was going to achieve what I wanted.

    After that they would all be run through mixed in key. So now anything new I get goes through the same process of mp3tag to mixed in key to the library and now I'm in a good place.

    Note for anyone else doing this, always do mp3tag first, if you run mixed in key first then even just opening the tracks in mp3tag it will often overwrite your key tagging (if you are using comments tag to contain keys) so you'll have to run mixed in key again. Even if you dont edit any of the tags on that track.

    Ultimately I think you have to put in the time to get what you want, any automated solution is going to give you lots of incorrect results and end up tagging your stuff into a worse position than you were in to start with.

  • source
  • [–] 1 point 16 hours ago

    i have 3 separate folders in one Navidrome folder: one for bandcamp because they have good ID3 tags (just good old download and copy), one for lidarr and a beets folder for any music i acquire outside of the first two. Navidrome shows everything as one library.

  • source
  • [–] 2 points 19 hours ago (2 children)

    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.

  • source
  • hideshow 2 child comments
  • [–] 3 points 21 hours ago

    Alphabetically.

  • source
  • [–] 2 points 19 hours ago (1 child)

    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.

  • source
  • hideshow 1 child comment
  • [–] 3 points 19 hours ago

    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.

  • source
  • parent
  • [–] 1 point 17 hours ago

    I just sort by Artist and Album.

  • source
  • [–] 2 points 20 hours ago (2 children)

    i get flac files from legal and illegal sources. convert them to opus. one copy stays on the pc, one copy stays on the phone. both are played with foobar.

  • source
  • hideshow 2 child comments
  • [–] 0 points 17 hours ago

    I'm working on a script that checks my files, dir structure, and audio metadata for issues. For basic problems that can be fixed with a command, the script outputs a suggested command in a csv. I've cleaned up many issues with the script so far...

    Been thinking of sharing it but it's still very much a WIP.

  • source