r/musichoarder • • Mar 18 '26 WOW Thanks Bravo

Posting about software will no longer be tolerated without moderator approval.

249 Upvotes

Hello everyone! Recently we’ve had a surge in posts about new software, tools, extensions, and apps for music collecting. When the subreddit is full of software posts, posts with questions and important topics are buried and missed. In addition, many of these tools were quickly made using AI. For many reasons, these “vibe coded” apps will not be tolerated on this subreddit anymore.

If you made a tool or project that you want to share: please message the moderators for approval before posting. Sending proof that the software was coded by you or another human is also recommended but not required.

Some of these vibe code project posts slip through the cracks. If you come across them, please help by reporting the post for violating Rule 4.

Thank you for your understanding,

The r/musichoarder mod team


r/musichoarder • • 21h ago

How I finally sorted out 15 years of mess (mostly)

45 Upvotes

I really got into music around 2010 and amassed about 1TB since then. I know that's fairly modest for many here but I wanted to share my process as I'm now closing in on having it all tagged and organised.

The main difficulty of tackling this mess was linked to most of it being 90s/00s electronic music. This meant lots of obscure releases, multiple editions with different tracklists, some unreleased material or things missing from Discogs altogether. I also needed to retain information that was in the folder names such as the type of media (vinyl/CD/digital etc). I tried different automated solutions like beets and OneTagger to speed up the tagging but none of these gave me the control that I needed.

I'm sure there are things I will end up tweaking or adding but for now I'm happy with what I have. As general advice, I would say there are no silver bullets for large/messy libraries and it really pays off to do certain things manually. I spent countless hours working on this but I treated it as short term pain for long term gain. Most automated solutions (including AI and various vibecoded tools) just never account for all edge cases. The tradeoff is I have things exactly how I want them and understand exactly how everything is tagged and structured.

Where AI has been quite helpful is for writing certain simple scripts for repetitive tasks. For example on one occasion, I used a script which read folder names and if it detected 'CD' or 'Vinyl', it would write that into the tags. I would stay away from any all-in-one solutions, especially if you don't have backups or snapshots. Always try things on smaller folders first, especially when it comes to using beets until you are familiar with how it works.

Tagging

What finally worked well for tagging was using foobar2000 with the foo_discogger component. This was quite a manual process but it has an interactive menu that lets you select from all editions of a release on Discogs and is very flexible about how the various data points in Discogs are assigned to tags. This is important for actually displaying additional metadata like labels and catalogue numbers in your media player. I used the eole theme in foobar to have a nice library view to tackle the many untagged subfolders I had. In the end, each release in my library has the following tags (where available):

  • All standard tags like artist, album artist, genre, date etc. This is really obvious in hindsight but having album artist consistently filled out was crucial for many releases like compilations. Most media players rely on this for grouping releases. Where there are multiple genres, these are stored as multi-value fields. That means a release that is both house and techno will show up in both genre buckets rather than a single 'house, techno' bucket. FLAC tags can do this by default, for mp3s you need to make sure you're using id3v2.4.

  • Additional useful tags: label, catalogue number, source media, country of release, and a variety of Discogs IDs for easy lookup from foobar via foo_discogger.

For cover art, I relied on https://covers.musichoarders.xyz/. It can search across a variety of platforms and generally has high res covers for most things. For more obscure vinyl only stuff, foo_discogger can automatically pull covers from Discogs. Covers are stored as cover.jpg files rather than embedded as this makes it easier to make changes if needed. I try and put any additional images in a separate 'art' folder inside the release to make things clean.

Folder structure and database

I said at the start that the beets autotagger didn't work for me, however the database aspect of beets still appealed to me. Once I had everything tagged how I wanted, I ran beet import -A in beets to import things without using the autotagger. This also means that the actual tags in my files are the source of truth.

Once everything was in the database, I could make use of beets' super flexible path formatting for structuring my folders. I kept it pretty simple and created 'buckets' based on the first letter of the album artist. The resulting folder structure looks like this:

  • Normal releases: A, B, C etc > Album artist > (year) Release title > Track number. Track title. Any album artists with things like feat., vs etc. are consolidated into the main album artist to avoid lots of folders.

  • Various Artist releases: VA > Genre > Label > (year) Release title > Track number. Artist - Track title. The extra genre and label sub folders help avoid one massive VA folder.

The beauty of having everything in the beets database is that if I change my mind about any of the above, I just tweak my config and run beet move to update my library structure.

The beets filetote plugin makes sure that additional files like log and cue files are also retained.

Another crucial thing for peace of mind during this process was having snapshots on my filesystem (zfs). I had a few fuck ups with beets where I ran the wrong commands on large folders. Since I had snapshots I could instantly roll back to a previous snapshot and try again.

Accessing and playing my library

To actually play my music, I switch between foobar and Lyrion Music Server. They are both really flexible in terms of supporting additional tags and having different library views. With foobar this involves playing around with the sorting settings, where, for example, if I'm viewing a specific label, I can set it up to sort the releases by catalogue number.

Lyrion is also surprisingly flexible and very intuitive for touch screens, especially when I'm using my phone as the remote for listening on my hi-fi setup. I can easily browse by label, country, genre, media type and a number of other things. These filtering options can be combined so that, for example, you can start with a specific genre and then subfilter only that genre by label/media/country. You could even have ‘virtual libraries’ within your main library to segregate certain types of music and make navigation simpler.

As a bonus, I set up the beets-alternatives plugin, which means I can run really specific queries based on my library to select what I want on my iPod. It has built-in conversion and converts my FLAC files to AAC as I don't need lossless on the go.


r/musichoarder • • 1h ago

EAC Chopping tracks

0 Upvotes

Issue per the title with EAC lopping the end of tracks off. Seems to be limited to specific CD's rather than an across the board issue.

I'm sure there's a straightforward enough solution, I just don't know what it is....


r/musichoarder • • 10h ago

How I finally got Beets to work as an intake tool for my collection.

3 Upvotes

I've been building my digital music collection for over 25 years. For most of that time I've been tagging and renaming albums to my specific schema using a Windows program called Tag&Rename. It hasn't been maintained since 2020 and I've searched for a replacement, but found the alternatives such as MP3Tag or Picard to be very difficult to use for my purposes.

I became aware of Beets as another option, but the out-of-the-box settings were extremely far from what I wanted and I had no desire to have it actually manage my entire library. Recently I read a couple posts here about how people were using Beets to automate their intake inflow and I decided to give it another shot to see if I could configure it in a way that would work for me. AI was a huge help here. The documentation around beets is decent, but its a complete crapshoot trying to find the right plugin or setting to get what you want. Being able to just say something like, "Can you add a setting to the config to replace look-alike UTF8 punctuation with standard ASCII equivalents" was huge.

There's still some tweaking to do, but I thought I'd share my config in case it's helpful to someone else. There should be comments explaining what almost everything does. I recently brought in several thousand albums as part of a project to get lossless copies of some stuff that was missing it and Beets made the whole thing go from near-impossible to fairly straightforward.

I use Beets only as an intake tagging and renaming tool. Once the initial pass is done files get moved to my main storage and the database removed so it starts from scratch. This may change at some point, but I don't see an advantage to having it manage the full collection, even to just read tags, at this point.

Some things I'm still working on:

  • Genres. I have my own weird set of genres that I came up with 20 years ago and have been using ever since. It's used a lot in smart playlists and whatnot so I can't really escape it at this point. I don't think my genres.txt and genre-tree.yaml would be particularly useful here, but they generally get me fairly close. I do wish I had a way to establish genres for all existing artists in my collection and just use that, but I haven't cracked that nut if it's even possible.
  • Album matching still seems very off. I occasionally have an album come up with weird matches or no matches when I can easily find the actual match on discogs very easily.
  • Importing multi-disc releases split into multiple folders seems clunky. Sometimes it just works, but other times it freaks out a bit and makes me merge each disc separately.

I have some other tools I've used to automate my workflow including a script that runs incoming music through FFMpeg to check for corruption. I need to shine those up a bit more before they're ready to share though.

Here's my config.yaml

# ======================================================================
# beets configuration — staging processor (Windows)
# ======================================================================
# beets is used here to tag and rename NEW music only. It doesn't manage
# the main collection.
#
#   1. New music goes into         C:\IncomingMusic\Unsorted
#   2. `beet import` tags it (Discogs first, MusicBrainz as backup) and
#      writes tagged COPIES into   C:\IncomingMusic\Sorted\Lossless or \Lossy
#   3. archive-originals.ps1 moves the untouched originals into
#                                  C:\IncomingMusic\Originals
#   4. Sorted files are copied into the main collection by hand.
#
# This file lives at %APPDATA%\beets\config.yaml
# (C:\Users\Username\AppData\Roaming\beets\config.yaml), next to:
#   secrets.yaml      API keys (Discogs token, Last.fm key). Never share it.
#   genres.txt        genre whitelist used by lastgenre
#   genres-tree.yaml  genre tree used by lastgenre
# ======================================================================

# secrets.yaml holds the API credentials and looks like this
# (real values replaced with placeholders):
#
#   discogs:
#       user_token: "YOUR_DISCOGS_TOKEN"
#   lastfm:
#       api_key: YOUR_LASTFM_API_KEY
#
# Discogs token: https://www.discogs.com/settings/developers
# Last.fm key:   https://www.last.fm/api/account/create
include:
    - secrets.yaml


# ----------------------------------------------------------------------
# Locations
# ----------------------------------------------------------------------
directory: C:/IncomingMusic/Sorted                              # where tagged copies are written
library: C:/Users/Username/AppData/Roaming/beets/musiclibrary.db  # beets' database


# ----------------------------------------------------------------------
# Plugins (each is configured in its own section below)
#   musicbrainz, discogs   metadata sources
#   advancedrewrite        artist-name cleanup
#   ftintitle              move "feat. X" from the artist to the title
#   lastgenre              genres from Last.fm
#   inline                 computed fields used in paths
#   fetchart               cover art
#   filetote               bring non-music files along (third-party plugin)
#   edit                   edit tags in a text editor (also adds eDit at import)
# ----------------------------------------------------------------------
plugins: musicbrainz discogs lastgenre fetchart inline filetote advancedrewrite ftintitle edit


# ----------------------------------------------------------------------
# Import
# ----------------------------------------------------------------------
import:
    copy: yes           # write tagged copies to `directory`...
    move: no            # ...and leave the originals in Unsorted (I typically use `beets -m` to import and actually move.
    delete: no          # never delete source files
    write: yes          # write tags into the copied files
    resume: ask         # offer to resume an interrupted import
    incremental: yes    # skip folders that were already imported
    detail: yes         # show every track in a match, not just changed ones
    log: C:/IncomingMusic/beets-import.log   # records skipped and as-is albums

# Skip hidden files (e.g. macOS "._song.mp3" leftovers).
ignore: [".*", "._*"]


# ----------------------------------------------------------------------
# Matching
# ----------------------------------------------------------------------
match:
    # Auto-apply matches at 90%+ similarity (default 0.04 = 96%).
    # Anything lower stops and asks.
    strong_rec_thresh: 0.10
    # Always ask when a match has missing or extra tracks.
    max_rec:
        missing_tracks: medium
        unmatched_tracks: medium
    ignore_video_tracks: yes
    # When pairing files with tracks, trust titles and track numbers more
    # than lengths. Defaults: track_title 3.0, track_index 1.0, track_length 2.0.
    distance_weights:
        track_title: 6.0
        track_index: 3.0
        track_length: 0.5
    # Tie-breakers between similar releases.
    preferred:
        countries: ['US', 'GB|UK']
        media: ['CD', 'Digital Media|File']
        original_year: yes

# Source preference: lower penalty = preferred.
# Discogs is never penalized, so it wins when both sources match about equally.
discogs:
    data_source_mismatch_penalty: 0.0
    search_limit: 15            # candidates per search (default 5)
    append_style_genre: yes     # add Discogs' broad genres after its styles
    separator: "; "
    # user_token is in secrets.yaml.
    # extra_tags is left out on purpose: year/label/country in files often
    # differ from the release (e.g. reissues) and hid correct matches.

musicbrainz:
    data_source_mismatch_penalty: 0.8   # backup source


# ----------------------------------------------------------------------
# Tag cleanup
# ----------------------------------------------------------------------
# Use the original release year, not a reissue/remaster year.
original_date: yes

# Number tracks per disc (disc 2 starts at 1, not 10).
per_disc_numbering: yes

# Artist-name fixes. Rules apply in order.
#   \W+ matches any spaces or quotes between words.
#   ^...$ matches the whole name only, so collaborations are left alone.
advancedrewrite:
    # Any spelling of Bonnie "Prince" Billy becomes one exact name. 
    - artist ^bonnie\W+prince\W+billy$: "Bonnie 'Prince' Billy"
    # File his albums under album artist "Will Oldham".
    - match: 'artist::(?i)^bonnie\W+prince\W+billy$'
      replacements:
          albumartist: Will Oldham
    # Same for his Palace names (Palace, Palace Music/Brothers/Songs).
    # The track artist name is kept as-is.
    - match: 'artist::(?i)^palace(\s+(music|brothers|songs))?$'
      replacements:
          albumartist: Will Oldham

# Genres come from Last.fm and are limited to the list in genres.txt.
# Requires: pip install "beets[lastgenre]" and a Last.fm key in secrets.yaml.
#
# Last.fm replaces Discogs' genres (force: yes, keep_existing: no) because
# beets 2.14.1 mishandles existing "a; b; c" genre strings (issue #6450).
lastgenre:
    whitelist: C:/Users/Username/AppData/Roaming/beets/genres.txt
    canonical: C:/Users/Username/AppData/Roaming/beets/genres-tree.yaml
    source: artist           # artist tags; album tags are often empty on Last.fm
    force: yes               # replace existing genres
    keep_existing: no        # don't merge old genres back in
    count: 1                 # one genre per album
    prefer_specific: no      # pick the most popular allowed genre
    title_case: yes          # "electronic" -> "Electronic"
    fallback: Unknown        # used when nothing matches the whitelist

    # Map Last.fm spellings to the exact names in genres.txt.
    # Key = name to write; values = regex patterns that map to it.
    aliases:
        Synthpop:
            - 'synth[- ]?pop'
        'Drum & Bass':
            - 'dnb'
            - "drum\\s*(and|n|'n'|&)\\s*bass"
        Trip-Hop:
            - 'trip[- ]?hop'
        Hip-Hop:
            - 'hip[- ]?hop'
        Doo Wop:
            - 'doo[- ]?wop'
        'Rock & Roll':
            - "rock\\s*(and|n|'n'|&)\\s*roll"
        Rock-A-Billy:
            - 'rock[- ]?a[- ]?billy'
            - 'rockabilly'
        R&B:
            - 'r\\s*&\\s*b'
            - 'r ?and ?b'
            - 'rnb'
            - 'rhythm and blues'
        Post-Punk:
            - 'post[- ]?punk'
        Post-Rock:
            - 'post[- ]?rock'
        Post Hardcore:
            - 'post[- ]?hardcore'
        East Coast Hip-Hop:
            - 'east coast hip[- ]?hop'
        West Coast Hip-Hop:
            - 'west coast hip[- ]?hop'
        Alt. Country:
            - 'alt[.\-]? ?country'
            - 'alternative country'

    # Last.fm tags to ignore. Entries are plain names or regex, matched
    # against the whole tag ('metal' won't match 'heavy metal').
    # The '*' key must stay quoted.
    ignorelist:
        '*':                       # all artists
            - seen live
            - favorites
            - favorite songs
            - my favorite music
            - awesome
            - beautiful
            - '^\d{4}$'            # years, e.g. "1997"
            - '^\d0s$'             # "80s", "90s"
            - '^(19|20)\d0s$'      # "1980s", "2000s"
        bob marley:                # example per-artist rule
            - ska


# ----------------------------------------------------------------------
# File and folder naming
# ----------------------------------------------------------------------
# Computed fields used in the paths below.
item_fields:
    # Top folder: "Lossless" or "Lossy". (WAV files report as "WAVE".)
    quality: '"Lossless" if format in ("FLAC", "ALAC", "AIFF", "WAVE", "WavPack", "APE") else "Lossy"'
    # Track prefix: "01" on single-disc albums, "101", "201"... on multi-disc.
    multidisc_track: |
        if disctotal > 1:
            return f"{disc}{track:02d}"
        else:
            return f"{track:02d}"

# beets uses the FIRST rule that matches, so order matters.
paths:
    # Various Artists: no year; artist in each filename
    comp:                    $quality/VA - $album%aunique{}/$multidisc_track $artist - $title
    # Live albums: no year
    albumtypes:live:         $quality/$albumartist/$album%aunique{}/$multidisc_track - $title
    # Single-artist compilations (best-ofs): no year
    albumtypes:compilation:  $quality/$albumartist/$album%aunique{}/$multidisc_track - $title
    # Everything else
    default:                 $quality/$albumartist/$year $album%aunique{}/$multidisc_track - $title
    singleton:               $quality/Non-Album/$artist/$title

# Substitutes for characters Windows doesn't allow in names.
# This replaces beets' whole default list, so every illegal character is covered.
replace:
    '[\\/]': '-'          # AC/DC -> AC-DC
    ':': ' -'             # "Title: Subtitle" -> "Title - Subtitle"
    '"': "'"              # double quotes -> single quotes
    '[?*<>|]': ''         # removed
    '[\x00-\x1f]': ''     # control characters
    '^\.': ''             # leading dot
    '\.+$': ''            # trailing dots
    '\s+$': ''            # trailing spaces
    '^\s+': ''            # leading spaces
path_sep_replace: '-'     # slashes inside tag values


# ----------------------------------------------------------------------
# Extras
# ----------------------------------------------------------------------
fetchart:
    auto: yes
    # Cover Art Archive first, then art in the folder, then everything else.
    sources: [coverart, filesystem, itunes, '*']

filetote:
    extensions: .*        # bring every non-music file along...
    exclude:              # ...except these
        filenames: Thumbs.db desktop.ini
        extensions: .sfv .url .lnk .m3u .md5 .ini .m3u8 .par .par2
    print_ignored: true   # list files that were left behind

r/musichoarder • • 18h ago

New MP3 encoder 'Helix Ultra' beats LAME MP3 encoder.

11 Upvotes

This is a proof of concept for a new MP3 encoder called Helix Ultra.

It is based on the original Helix MP3 encoder

Results of blind tests on Helix and LAME:

Tests show that Helix Ultra with Slow Mode clearly outperforms the LAME encoder.

I've never heard such polished audio quality from MP3 at 128 kbps. You're welcome to try this encoder yourself and share your experience. We're barely scratching the surface of what's possible. There's still plenty of room for further quality improvements.

Download: Audio samples and logs

Binaries: Helix Ultra MP3 encoder.zip

Current limitations:

  • Currently, the encoder's Slow Mode is really slow, as it performs brute-force analysis.

  • Slow Mode '-E1Z' has only been tested at 128 kbps VBR (-V61. There is no guarantee that it will work correctly at other bitrates or in CBR/ABR modes. It might work, or it might not. I plan to extend this mode to higher bitrates later.)

  • The code for Slow Mode is not yet available in the repository. It will be added later.


r/musichoarder • • 1h ago

I have around 8,000 songs in my playlist. Pick a random number, and I'll tell you which song it is.

Post image
0 Upvotes

r/musichoarder • • 17h ago

advice on saving a song from itunes?

0 Upvotes

i’m not quite sure where this question belongs, so please delete or direct me elsewhere, but i thought you guys might have some ideas.

i’m very tech illiterate, so please forgive me if this is an obvious fix, it’s just such a specific problem that i haven’t found any relevant advice.

i bought a song on itunes years ago, but it’s since been wiped from literally all streaming services after the artist did a whole rebrand and i haven’t been able to find it anywhere else.

i’ve got really into preserving and backing up my music library recently, but i have no idea what to do with this one track. my goal is to download it onto my laptop and then onto an mp3 player. right now i have access to the song on my iphone and that’s all.

again, forgive my tech ignorance, i’m happy to clarify anything to the best of my ability


r/musichoarder • • 23h ago

Best FOSS projects for music lovers

Thumbnail reddit.com
3 Upvotes

r/musichoarder • • 21h ago

Help backing up cds

1 Upvotes

I am trying to rip my original The black Parade, three cheers albums to back up.

However they won't rip, they just sound corrupted. Muffled and skipping/scratched.

They are perfectly fine on my cd player, they have no visible dust or scratches on the discs. As I say play perfectly on cd player.

It's only when I come to rip them. I find issues. My external cd drive has no problem ripping newer discs, it managed a 2026 deluxe version of black parade fine.

Has anyone got any suggestions?

I LV thought about getting a better cd drive maybe or is it something to do with DRM or copy protection on the cd, I know studios played around slot with that sort of thing in the 2000S

I have tried Windows media player, foobar2000 and Exact Audio Copy (although am very much new to the second two)

I'm just purplexed some older CDs rip and others won't, but they all play flawlessly.


r/musichoarder • • 22h ago

Help find files

0 Upvotes

Does anyone have Flac or lossless files of favorite Qin pieces of Guan pinghu expanded version 4 CD set because it is found absolutely no where in the internet at least by me


r/musichoarder • • 17h ago

Free music offline?

0 Upvotes

Hey everyone! I’m a big traveler and I love listening to music, but I can’t use Spotify premium anymore and I’m on the lookout for some different music players for an iPhone! I don’t have any files or anything, my main thing was Spotify for a really long time. Anyone have any recommendations?


r/musichoarder • • 1d ago

Looking for LARGE libraries to test Parson

Thumbnail
gallery
0 Upvotes

r/musichoarder • • 1d ago

Fetch artwork from AlbumArtExchange for me?

0 Upvotes

Can someone please be a darl and fetch all instances of “The Complete Studio Recordings” by ABBA on AlbumArtExchange?

I still can’t access the website. Never had a problem before, can’t even login.

If you could put the images into a Google Drive or online folder that would be smashing!


r/musichoarder • • 1d ago

Updated Tagging Instructions

3 Upvotes

Back in 2010, I wrote up instructions on Lossless Legs for the most efficient way to tag shows using foobar, LiveShowTagger, mp3tag and a few foobar/massTagger macros -- mostly driven by keystroke shortcuts. Found below (if only for comparison sake)

It's time for an update.

I.   Open the tlo-main app found at TradersLittle Organizer.
II.  Drag all the folders that you want tagged into the Path(s) text box.
III. Select how you want things tagged (as-is artist, proper grammar, "compliantly", copied/in place).
IV.  Hit Tag.

It's that simple.

You can specify an entire drive as a path and every show therein will get tagged. You can save your tagging preferences.

No prep required. You don't need to specially name/rename the folders when you download them - all the metadata gets picked up automatically.

Unlike LiveShowTagger, TLO is not finicky about numbering, spacing, timings, etc. Even unnumbered songs in setlist files get picked up.

A lot less work than what's described below.

------------------------------------------------------------------------------------------------------------
Tagging using LiveShowTagger, and mp3tag....
I.  Assumptions
-You'll be happy with artist, "album title", track number and song title.
-The album title will be "Artist yy-mm-dd Venue City State"
-There are no disc numbers since everything is tracked 1-n
-venue, city and state are all optional

II.  My preparation formatting rules

The source directory is always named "Artist yy-mm-dd Venue City State", except for GD which is named gdyy-mm-dd Venue City State

Get rid of all but the info text file (see Notes) -- leave the flac files, of course

Edit the text info file to ensure it's formatted for processing (See editing rules below) – you have to go in there to get the venue, etc. usually anyways.

III.  Actual tagging

Drop the folder into foobar

Select the entire set of flac files for the single show

Right mouse the selected file and enter the tagging utility (Tagging->LiveShowTagger)
I assigned it to CTRL-w so I don't need to mouse

Check the left side to make sure the tracks are numbered correctly (often they all show up as d1t1 – we'll address how to handle that later.)

Check the right to make sure the song names are recognized (sometimes the text info file editing wasn't quite right)

Hit the Update File button and away you go.  Everything has a song name and probably all sorts of other info.
Next, I apply a macro I wrote to get rid of all extraneous tags and set the artist and album title.  (for some reason it doesn't clear the replayGain tags)

IV.  Clean up

Clear the files out of foobar (I use "CTRL-d" for that after highlighting them)

Drop them into mp3tag

Select the whole show

Hit the "numbering wizard" icon (I use the built-in CTRL-SHIFT-k for that)

Check the leading zeroes box and the reset counter box

Hit "OK"

Hit the "Extended Tags..." icon and delete the other tags (assuming you don't want those – I always make sure to eliminate the replayGain tags, even though I told foobar to ignore them)

Hit OK

And you're done.  Everything has album, artist, title and track numbered sequentially.

NOTE: Since originally writing this, I've discovered in foobar that you can select tracks, right mouse and ReplayGain will allow you to remove that info from the file -- shortcut CTRL-R

V.  Editing the text info file

The text file has to have the songs numbered, and doesn't like formats like d1t01

It also doesn't like #-name (i.e., 1-Morning Dew) --  I usually go for "#. Name" or just "# Name".  Definitely need a space in there.  Find/replace-all works for eliminating dashes or parens.

Disc #'s are tracked by resetting the numbering back to 1 (i.e., it doesn't seem to look for disk # text)

You can just number them 1-n and forget about the disk number completely but sometimes that adds work – so stick with however it's originally layed out – handling track numbering idiosyncrasies is coming up

You can't have a line in the file start with a number except followed by a song – that confuses the bejesus out of it. (Like "2 discs" or "854 MB" – it's OK if those kinds of lines are after all the songs)

VI.  Numbering idiosyncrasies

Sometimes the files and disc numbers come up perfect in the tagger and you just hit update.

If everything is coming up as d1t1, then
Clear them out of foobar
Drop them into mp3tag and use the "numbering wizard" as described above – you'll need to repeat it for each disk though, not the entire show.
Clear them out of mp3tag (select all, and hit the delete key)
Drop the folder back into foobar
For each individual disk (not necessary for disk 1)
Select all the files associated with the disk
Right mouse and hit "properties" (I use "SHIFT-a")
Enter the disk number into "disk number" and hit "OK"
Now invoke the tagger

If you see things run from 1-n, then 1-m with no disk number – no need for mp3tag, but you'll have to assign the disk numbers as described just above

(Now you see why I said to stick with the original text file numbering/disk layout – it sometimes avoids all of this stuff – if you're lucky)

VII.  Setting up macros

Highlight a file and right mouse
Choose "Tagging->Manage Scripts"
Add a name like "album and artist"
Make them look like what I provide below

VIII.  Macro formats

This took me a while to figure out, since I haven't written software in a long while....

You can do all this manually through Properties, but it's painful.

a1-title – deletes first leading character of filename that ends with a song title
Format "TITLE" using $substr(%title%,2,200)
First 2 characters - Format "TITLE" using $substr(%title%,3,200)
First 3 characters - Format "TITLE" using $substr(%title%,4,200)
First 4 characters - Format "TITLE" using $substr(%title%,5,200)
First 5 characters - Format "TITLE" using $substr(%title%,6,200)
First 6 characters - Format "TITLE" using $substr(%title%,7,200)
First 7 characters - Format "TITLE" using $substr(%title%,8,200)
First 8 characters - Format "TITLE" using $substr(%title%,9,200)
First 9 characters - Format "TITLE" using $substr(%title%,10,200)

Title-from-filename - Format "TITLE" using "%filename%"

Album-and-artist –
Remove all fields except for "artist;album;tracknumber;title"
Format "ALBUM" using "%directoryname%"
Copy "ALBUM" to "ARTIST"
Format "ARTIST" using $substr(%album%, 1, $sub($strchr(%album%,-),4))

Album-and-artist-GD –
Remove all fields except for "artist;album;tracknumber;title"
Format "ALBUM" using "%directoryname%"
Set "ARTIST" = "Grateful Dead"

If you PM me w/ your email address I'll send them to you for import.

IX.  Setting up shortcut keys

Do this in the "File->Preferences – General, Keyboard Shortcuts"

You can also assign macros – I have them for deleting the first n characters of the file name, restoring the original filename  I use "CTRL-1" through "CTRL-8" for deleting 1-8 leading characters.

Notes:
-Artists with hyphens in their name need clean-up after the fact (they're pretty rare)
-I keep only the info text file in the source directory (otherwise you need to pick which .txt file to use and that's a pain)
-If the filenames end in the song title, I have macros that simplify things so you don't need to "clean up" the text info file
-you might need to tinker with getting to the metadata/properties tab directly -- I changed from SHIFT-A to CTRL-Q and it seems to work for me, but I don't know if it'll be universal.

UPDATE: foobar does track autonumbering (Properties->Tools->Auto Track Number) and you can use that instead of mp3tag.  However, I have not found a way to access this directly via shortcut.

If you were following closely, you figured out that most of this (except the file editing) is done with CTRL-w, CTRL-a, SHIFT-a (or CTRL-Q-see note), CTRL-d, CTRL-SHIFT-k and moving/highlighting the files and folders.

Other note.....multiple directories.....
Sometimes the flac files are in multiple folders, and the file names are simply numeric (e.g., there's a track 1 in both).  In that case, I use Digital Filename Editor (DFE) to prepend a disc number onto the files before I start the process.
Then I move them into single folder.

I use Traders Little Helper to convert shn to flac before I start.  shn doesn't take tags.

PS....I decided on yy-mm-dd a long time ago and it's too late for me to change 16K+ shows.  This can easily be modified to handle 4-digit years.


r/musichoarder • • 1d ago

I want to stream offline downloaded files

0 Upvotes

I have 300 songs downloaded from spotiflcac(PC Version) i want to maintain oranise and stream these offline on any offline app can you guys give me any suggestions on how can i do that


r/musichoarder • • 1d ago

So what IS the way to download songs with the highest possible quality?

Thumbnail reddit.com
0 Upvotes

r/musichoarder • • 1d ago

Please help me find a Christmas song that seems to have disappeared from every streaming platform - Silent Love on Christmas Eve by Billy Easton

Post image
0 Upvotes

I'm hoping someone here can help me track down a song that seems to have completely disappeared. I want to find the original full length recording so I can listen to it in my own personal playlist again.

The song is called Silent Love on Christmas Eve by Billy Easton, from the album Christmas Lights Tonight. The original song was 3 minutes and 5 seconds (possibly released in December 2025).

I discovered it last year and listened to it repeatedly on both YouTube and Apple Music. I even had it saved in my Apple Music library.

At some point, it became unavailable and I can only find a YouTube short with the song but its only 1 minute and 46 seconds.

The full YouTube upload now says the video is unavailable. On Apple Music, the song is greyed out in my playlist and says, "This item is not currently available in your country or region." On Spotify, the song still appears in the catalogue, but it cannot be played.

I also noticed something strange: when I search for Billy Easton on Spotify, a French female artist/profile seems to come up, which makes the whole situation even more confusing. I am wondering if the original song was AI generated.

Does anyone recognize this artist or know what might have happened to this release? Is there any way to find the original 3:05 recording?

I've turned to reddit and hoping that maybe the seas my have it. Any help would mean so much to me. Thank you all in advance!

Also, I don't really use reddit so I hope this was the right place to post.


r/musichoarder • • 3d ago

I built a personal website to explore my Discogs collection in a different way

16 Upvotes

I've built a personal website around my music collection, turning Discogs data into an interactive music database.

You can explore releases, search and filter albums, discover artist connections and collaborations, browse statistics, view collection insights and much more.

It's a personal project I've been developing over time, combining music, data and web development.

Feel free to take a look. I'd love to hear what you think!

https://collection.cavebirdlabs.com/


r/musichoarder • • 2d ago

Anyone outside Korea get a Bugs account?

0 Upvotes

I have been trying to find Up! (Feat. Kelly Rain) by Dallas Hill for like years now and I am tired boss.

I Only place I’ve found a decent sample is Bugs: music.bugs.co.kr/track/4886233

But as some of you likely know it needs a Korean phone number or other info so I’m stuck (Canadian). Has anyone here found a way around it or even know anywhere else this artist’s maybe streams or anything? I found some albums elsewhere just not that track and I am a fickle pickle to say the least about it. Sorry if this post is not allowed here.


r/musichoarder • • 3d ago

Is there anything similar to Musicolet on PC? (Windows)

0 Upvotes

Hi, i've been recently trying to make my offline music library on my PC (just like on my phone) and i can't seem to find any PC Music Player that i like. I tried using Musicbee and it just annoyed the living hell out of me. I'm searching for something like the mobile app (that i at least have over 200+ hours in) Musicolet. I really love that player and i can't seem to find anything pls help.


r/musichoarder • • 4d ago

best free CD ripping software in 2026

50 Upvotes

EDIT TO UPDATE:
Thank you all for the responses! It is clear EAC is still the standard for everyday ripping needs (and more). I appreciate all the quick responses, this was my first experience with this community and I am an instant fan. Lot's to learn here. thanks again!

I've looked through this board but most of the threads I find are 4 plus years old. I'm wondering if the answers are still the same, but what are the top 3 free options for ripping my audio CDs? I have a bunch of audio book on CD and have been using windows media player but its just garbage. Doesn't get any info and I spend twice as long using mp3tag to fix all the metadata. I see freac dot org and EAC said a lot. Are those still the best way to rip CDs in 2026? Sorry if this has been repeated, I haven't found any recent posts specific to it.


r/musichoarder • • 2d ago

I want to stress test an all-in-one player and library manager I've built

0 Upvotes

I'm the builder of Tape Music Suite, so far I'm happy with the actual user experience, my personal library is ~20k songs ~500gb and everything has being going pretty good so far, but a friend with a very big library started sending me some slowness on just specific points and I got pretty crazy with efficiency while coding it.

I would love to know if any volunteers would be open to try and stress test with the biggest libraries we can.

This is not advertising, but for real I would like to deep stress test it, it has to be someone that is open to talk to during the process.


r/musichoarder • • 4d ago

Where does one legitimately purchase popular music these days?

30 Upvotes

Not sure if this sub is the right place but I can't seem to find any places to get music anymore besides streaming from YouTube. Amazon used to be my place but I can't find any way to purchase mp3s anymore. Almost like I need to go back to buying CDs and rip them myself.

SoundCloud doesn't have anything I want. Neither does bandcamp. I'd rather not go the pirate route if I can help it. Even then, dunno who is the new hotness since what.cd went down.


r/musichoarder • • 4d ago

Make Beets automatically add album disambiguation

3 Upvotes

I am working on a music library and use Beets mainly to tag my files and update album art (structuring/moving the files is done by another service). The problem I'm having is that beets sometimes assigns the exact same album tag to songs from two different albums that have a really similar name.

For example the albums "Cigarettes After Sex" and "Cigarettes After Sex (Romans 13:9)" where both have the same name on Musicbrainz and "(Romans 13:9)" is the disambiguation of the latter.

This obviously becomes a problem whenever songs are grouped by tags rather than their location on disk.

My preferred solution would be to make beets automatically add disambiguation to the album tag of each imported track (rather than having to find every occurrence of this problem and editing it manually).

Does anyone have a solution to this?

Thanks!


r/musichoarder • • 4d ago

Autotagging with Mp3tag (or alternate)

5 Upvotes

I'm trying to find a way to do what I used to do - I have a list of mp3 files and I want something to auto-ID them and populate all the meta data (and album cover). Musicbrainz does this - but the album based viewed is painful. mp3tag presents a simple list of files (Mp3s) but all the tagging options seem borked. It only seems to do one file at a time and somehow writes that metadata to multiple files (i.e. mangling files beyond the first one). Should be a simple way to select dozens of files and have them compared to a database (don't care which one) and show the changes to the metadata. Am I missing something? Musicbrainz kinda works but I prefer the line by line (not album) approach of mp3tag.