It’s just me or no music player can correctly sort albums by date? I do tag my music using Picard and I had luck just with VLC in that sense (which is ok but I don’t love it for music) but all other apps sucks with this.

  • Blastboom Strice@mander.xyz
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    5 months ago

    [Edit26-2-2023: Ive improved a lot my workflow since] Update

    First, I’ll present the tools I use:

    • I use the site https://free-mp3-download.net/ to download the songs. It fetches flac (and mp3) files from deezer. (I used to use Seal on android or ytDownloader on pc (both open source), but I decided to move away from youtube.

    • I use One Tagger to automatically tag my songs (open source). It can fetch metadata from various platforms, like musicbrainz, deeer, spotify, musixmatch, bandcamp, discogs etc.

    • I use Mp3tag to manually (and batch) edit tags of my downloaded songs (closed source freeware, until recently I thought it was open source… I might replace it with Kid3 if I ever get to know how to use it). Mp3tag has “actions” which help you do batch edit of metadata, like format the filename of a song using the artist and title tags (and with ctrl+a you can select all songs to apply that action).

    • I use fre:ac to convert my files from .flac to .opus (open source). It can do many more, it can also rip CDs etc.

    • Lastly, I use notepad++ for keeping notes and a list of my song.

    • Noteable mentions: Simplest file renamer to batch rename files or get a list of the filenames in a folder (open source) and Libre Office to use the Office calc funtions (open source).

    Now, the workflow:

    1)Download all the songs from free-mp3-downloader.net. I have made a list of my songs on notepad++ which I have edited it to remove weird characters (like " . ,) or text that will confuse the site (like [official video]) and I just copy paste each song to the search bar of the site. I tend to use 3 different pages of the site, as the download process starts after a few seconds and if I go back to search another song before the download has started, it won’t start downloading…

    2)Auto-tag all tags with deezer/one tagger (I start with deezer to achieve a nearly 100% match, since the downloaded songs come from deezer, so they have deezer metadata.

    3)Copy %wwwaudiofile% to %wwwaudiosource% with mp3tag action

    3)Auto-tag artist, ISRC, trackId, releaseId and Url tags with spotify/one tagger

    4)Copy %wwwaudiofile% to %www% with mp3tag action

    5)Auto-tag trackId, releaseId, Url, ISRC and genre tags with musicbrainz/one tagger

    6)Auto-tag genre, style/subgenre, trackId and releaseId tags with bandcamp/one tagger

    7)Auto-tag unsyncedLyrics tag with musixmatch/one tagger

    8)Add audio features with spotify/one tagger

    9)Add 20-100 to %rating% tag, 1-255 to %ratingWMP% tag, [1-5stars] and [f@v] text to %comment% tag with mp3tag actions (the [1-5stars] and the [f@v] from favourite texts in comment act as “custom” tags which later I will copy in the filename.

    1/2/3/4/5 star ratings for each tag: 1/64/128/192/255 for %ratingWMP% tag, 20/40/60/80/100 for %rating% tag

    (better download each star category in seperate folder, apply the approriate rating and then move them all together in a single folder)

    Note: because it may happen that a song may not exist in the free-mp3-downloader.net site, I might add a [yt] tag at the end of the comment to declare that the song is from Youtube (and download it from Youtube using tools I described in the beggining).

    10)Auto rename all files with template (mp3tag action):

    %artist% - %title% [%year%] -- %comment%

    11)I set only the first letter of each genre to capital letter and the rest to small using mp3tag action.

    12)Convert files to .opus using fre:ac and save them in a separate folder. I leave everything deafult in the opus encoder, apart from the bitrate which I set it to 144kbps. Because by default fre:ac will create seperate folders for each file, to prevent this, go to settings/output files/output filenames/filename pattern and type <filename> in the field. There may be an issue with deleting/editing the .opus files on windows, this can be somewhat fixed by following one of the two soltions provided in the comments here on reddit (web archive link).

    14)Copy tags from the folder with .flac files and paste them to the tags of the folder with .opus files using mp3tag (the order of the songs in list must be identical for this to work).

    15)Struggle (maybe manually edit tags that are missing, like genre or lyrics (copy paste the lyrics from a site to the lyrics tag by opening the extended tags in mp3tag and pasting them in the lyrics tag)

    16)ENJOY

    This was the workflow.

    I have omited the structure of the mp3tag actions and the profiles I use in one tagger for each operation, so I will explain them too:

    • One Tagger profiles (I will mention the changes I do from the default settings/profile) (for files that fail to be tagged, I just run the step again till there are 0 successfully tagged files, then I maybe force Shazam and after that I just manually move the failed files to the next folder):

    1. Deezer profile:

    I choose the Deezer platform

    I set the input path to ...\Downloads\1T\0 Raw (1T from One Tagger/1Tagger)

    I select all tags

    I set the album art resolution to 1600 (max)

    I set it to identify tracks without tags with shazam

    I set it to move succefully tagged files to ...\Downloads\1T\1 Deezer

    I set the truck number leading zeroes to 2

    I put the ; (with spaces before and after) as a separators in Vorbis field.

    2. Spotify profile:

    I choose the Spotify platform

    I set the input path to ...\Downloads\1T\1 Deezer

    I select artist, ISRC, trackId, releaseId and Url tags

    I disable overwrite tags and in the field I only select the tags from above

    I set it to identify tracks without tags with shazam

    I set it to move succefully tagged files to ...\Downloads\1T\2 Spotify

    I set the truck number leading zeroes to 2

    I put the ; (with spaces before and after) as a separators in Vorbis field.

    3. Musicbrainz profile:

    I choose the Musicbrainz platform

    I set the input path to ...\Downloads\1T\2 Spotify

    I select trackId, releaseId, Url, ISRC and genre tags

    I disable overwrite tags and in the field I only select the tags from above

    I set it to identify tracks without tags with shazam

    I set it to move succefully tagged files to ...\Downloads\1T\3 Musicbrainz

    I set the truck number leading zeroes to 2

    I put the ; (with spaces before and after) as a separators in Vorbis field.

    4. Bandcamp profile:

    I choose the Bandcamp platform

    I set the input path to ...\Downloads\1T\3 Musicbrainz

    I select genre, style/subgenre, trackId and releaseId tags

    I disable overwrite tags and in the field I only select the tags from above

    I set it to identify tracks without tags with shazam

    I set it to move succefully tagged files to ...\Downloads\1T\4 Bandcamp

    I set the truck number leading zeroes to 2

    I set it to merge genre and style/subgenre in the genre tag

    I put the ; (with spaces before and after) as a separators in Vorbis field.

    5. Musixmatch profile:

    I choose the Musixmatch platform

    I set the input path to ...\Downloads\1T\4 Bandcamp

    I select unsyncedLyrics tag

    I disable overwrite tags and in the field I only select the tags from above

    I set it to identify tracks without tags with shazam

    I set it to move succefully tagged files to ...\Downloads\1T\5 Musixmatch

    I set the truck number leading zeroes to 2

    I put the ; (with spaces before and after) as a separators in Vorbis field.

    • Mp3tag actions (I create custom actions to do my job faster):

    1. wwwaudio to wwwaudiosource:

    I create an action type of format, set the field to WWWAUDIOSOURCE and the format string to %wwwaudiofile%

    2. wwwaudio to www:

    I create an action type of format, set the field to WWW and the format string to %wwwaudiofile%

    3a. Comment and 5 star rating format (similar for any other rating):

    I create 3 actions type of format:

    1st: I set the field to RATING and the format string to 100

    2nd: I set the field to RATING WMP and the format string to 255

    3rd: I set the field to COMMENT and the format string to $char(91)$div(%rating%,20)star$ifgreater(%rating%,20,s,)$char(93)

    $char(91) and $char(93) are the [ ] characters, $div(x,y) does x/y and $ifgreater(%rating%,20,s,) adds an s at the end of star string if the stars are greater than 1

    3b. Comment with 5 star rating and [f@v] format (similar for any other rating):

    I create 3 actions type of format:

    1st: I set the field to RATING and the format string to 100

    2nd: I set the field to RATING WMP and the format string to 255

    3rd: I set the field to COMMENT and the format string to $char(91)$div(%rating%,20)star$ifgreater(%rating%,20,s,)$char(93) $char(91)f$char(64)v$char(93)

    $char(64) is the @ character to create the [f@v] text

    4. Filname renaming artist - title [year] – comment:

    I create an action type of format, set the field to _FILENAME and the format string to %artist% - %title% $char(91)$left(%year%,4)$char(93) -- %comment%

    This creates filenames like All Good Things - Beginning Of The End [2017] -- [5stars] [f@v]

    5. Capitalise Genre:

    I create a case conversion action, I set the field to GENRE, case conversion to Mixed Case and in the field of Words begin from/after any of: I paste this (3 characters the last one is a space): ;/&

    You can also make your own actions, like an action to only add the [f@v] text at the end of the comment tag (create an action type of format, set the field to COMMENT and the format string to %comment% $char(91)f$char(64)v$char(93)).

    Happy tagging!

    • JamesFaero@mastodon.social
      link
      fedilink
      arrow-up
      1
      ·
      9 months ago

      @BlastboomStrice

      Very thorough, thank you!

      (and yes, been creeping for a while on the platform, but have decided to engage more now that I’m convinced this community aligns with my values. I chose you!)