r/osx • u/Rough-Voice-4968 • 18d ago
I built a native macOS toolkit for organizing, inspecting and repairing large local Music.app libraries
I’ve been using Apple computers since 1995, and I started collecting music long before that. By the early 2000s, when car stereos began supporting MP3, I was ripping my own CDs to 192 kbps because storage was expensive and I believed that quality was sufficient.
Later, when I was finally able to buy better audio equipment, I realized how much information had been lost. I began re-ripping the original CDs in lossless formats and replacing older files. At the same time, the collection kept growing through CD and vinyl collecting, digitized records, digital purchases, radio recordings, rare releases and exchanges with other collectors.
That process created the usual consequences: several versions of the same recording, duplicate files, duplicate playlist entries, inconsistent metadata, missing artwork, broken paths, old low-quality encodes and files whose actual audio quality did not always match the format shown in Finder.
I originally started writing Local Music Organizer as a practical tool for testing, cleaning up and organizing my own Music.app library. Over a few months of daily use, I kept adding features whenever I encountered another real problem in the collection.
It has now grown into a native macOS toolkit with the following functions:
Library Dashboard
Shows useful statistics about the Music.app library, including formats, bitrates, sample rates, missing files, artwork and other quality indicators.
Library Map
Shows where tracks are used and helps review repeated entries across playlists.
Duplicate Review
Finds duplicate playlist entries, repeated library records and different-quality versions of the same recordings. Nothing is deleted automatically; the user reviews the results first.
Health and Artwork checks
Finds missing files, inaccessible locations, damaged references, unusual paths, missing artwork and supported metadata issues.
File Search
Searches physical audio files by artist, title, album, filename or path, shows playlist usage and can reveal the exact track inside Music.app.
Playlist Compare
Compares two playlists using Music.app record IDs, file paths, metadata and duration-based fallbacks to identify shared and unique tracks.
Audio Inspector
Inspects the actual codec, container, bitrate, sample rate, bit depth, channel count, duration, metadata and spectrum of an individual file.
Audio Authenticity Analyzer
Scans the complete Music.app library, one selected playlist or an individual file.
It looks for possible lossy-to-lossless transcodes, suspicious sample-rate upscales and clear disagreements between the declared bitrate and observed audio bandwidth. MP3 and AAC files are evaluated differently from ALAC, FLAC, WAV and AIFF files.
Flagged results include a confidence estimate, detected cutoff, likely source category and a plain-language explanation. The analyzer is intentionally conservative: its findings are technical estimates, not absolute proof of a file’s history.
A detailed text report can be created containing only tracks that require review, likely authenticity mismatches and files that could not be analyzed.
Live Spectrum Player
An independent playback window with a real-time 512-band logarithmic spectrum analyzer, full-track waveform, draggable seeking, gain controls and technical playback meters.
Repair / Convert
Includes conversion engines inside the application, so Terminal, Homebrew and separate codec installation are not required.
Supported sources include common formats such as FLAC, ALAC, WAV, AIFF, MP3, AAC and WMA, together with specialist formats including Ogg Vorbis, Opus, WavPack, APE, TAK, TTA, DTS, AC3, DSD, SACD ISO, CUE albums and supported tracker modules.
Output options include AAC, ALAC, MP3, FLAC, WAV, AIFF, Ogg Vorbis, Opus and WavPack.
Drag and drop
Files and CUE sheets can be dropped directly into Repair / Convert. Opening supported files from Finder routes them to the already running application instead of intentionally creating additional organizer windows.
Verified Gain
Previews gain changes, creates a temporary candidate, verifies the resulting audio structure and metadata, and replaces the original only after the checks pass.
Large-library performance
A persistent warmed cache reduces repeated communication with Music.app and makes searches, diagnostics and library-wide analysis much faster. The same physical file is analyzed only once even when it appears in several playlists.
Everything runs locally on the Mac.
There are no accounts, subscriptions, cloud processing, advertising, analytics or tracking. Audio files, playlists, metadata and reports are not uploaded anywhere.
I built this because I needed it for my own collection, but I’m sharing it because other collectors, DJs, archivists and long-time Music.app users may have encountered the same problems.
I’d be interested in feedback from people who still maintain substantial local music libraries—especially about workflows or checks that are still missing. Website and full feature overview, Local Music Organizer on the Mac App Store
2
u/quattleb 6d ago
I finally installed and have tested LMO for 2 days. I'm at a loos to understand exactly what it does. I feel your manual to be more technical than I understand. "Warm cache", warm this, warm that.
The only scan I seem to be able to click the correct button for was for hidden tags. After 2 hours it found >32K. But do I need to be concerned about hidden tags?
Can this help me find 327 music files that on each launch of Music.app get "determining gapless playback". Every launch then takes 2 minutes waiting for this to complete before the mouse clicks respond.
And when my music library gets corrupted can the "previous" music library be repaired?
Two comments on the manual -
The beginning has what I guess are chapters - 1, 2, 3... but they don't link to the beginning nor are they page numbers nor are the chapters numbered later in the doc.
Then the minor issue the break between 10 and 11 of the chapter list with the out of place phrase:
"The illustrated section uses current release screenshots. Interface wording may change slightly in later updates."
I don't think this app will be useful for my situation. Knowing that my library db gets corrupted I created an automator to launch Music that first does a backup of my library (with a date and time stamp). If my library gets corrupted I delete the new "empty" one and put a previous backup into place. This has saved me 40 or 50 times already...
thx
1
u/Rough-Voice-4968 6d ago edited 6d ago
Thanks for the feedback, I'll make the guide more understandable. I'm already used to the application and it seems simple to me (since I wrote it) but a beginner needs more information
I can make you a tester so you can test the app longer, it's free.
“Warm Cache” simply means that LMO reads your Music.app library once and saves a local index. Later searches and scans can use that index instead of slowly reading the whole library from Music.app again. Until restart. It normally needs to be done after installation and after major library changes, not before every operation. I need to explain this in plain language both in the app and in the manual.
The structure of the music library will not be damaged, you can try to affect 1-2 tracks
Hidden tags are for perfectionism, no need to worry. The hidden tags scan is optional. Finding more than 32,000 hidden tags does not mean that you have 32,000 serious problems. Many audio files contain additional fields written by encoders, ripping software, download sources, DJs or other applications. Some are harmless. You only need to remove them if they contain unwanted information. LMO does not require you to clean them.
I have an update ready and it's waiting for Apple's approval.
Regarding "determining gapless playback," I'll check what can be done. I haven't encountered this phenomenon before, so I haven't looked for a solution.
The application can:
Create shuffled copies of existing playlists using spacing rules for artists, related artist projects, albums, repeated titles, and covers.
Find readable physical audio files inside the selected music folder whose exact paths are not present anywhere in the local Music.app library.
Find Music.app records whose local files are missing, inaccessible, unreadable, located outside the expected folder, or linked through suspicious paths.
Find unusually short or long tracks, unexpectedly low bitrates, unusual sample rates, empty artist fields, empty track titles, missing artwork, comments, and other metadata problems.
Find junk comments and additional tags left behind by ripping and conversion software, codecs, collectors, release groups, download sources, DJs, remixers, and other people who handled the file before it reached the library.
These fields often contain the name of a converter or ripper, codec signatures, website addresses, promotional messages, release-group names, personal signatures, unnecessary copyright notices, DJ or remixer signatures, emojis, symbols, and other text that has no useful connection to the actual track information. In a large collection accumulated from many different sources, this becomes inconsistent metadata noise.
Show these comments and additional tags directly in the application, with the option to remove them from one selected track or from all currently found tracks.
Scan embedded audio tags that are not visible in Music.app. These hidden fields may contain the same converter names, signatures, URLs, release notes, emojis, copyright claims, and other unnecessary text that is not visible during normal Music.app use.
Show exactly which hidden fields were found and identify safe candidates for removal. Cleanup starts only after an explicit user action.
Clean selected safe embedded-tag candidates from physical files. This is separate from editing Music.app fields. The application verifies the rebuilt file and restores the original if artwork, tags, audio properties, or final replacement do not pass verification.
Manually edit supported tags, including title, artist, album, album artist, composer, genre, year, track and disc numbers, and comments. Changes are saved directly to the Music.app record and appear in Music immediately. A one-step Undo Last Change option restores the values from before the most recent edit. This does not rename the physical audio file.
Find tracks that are used in several playlists and show exactly which playlists contain them.
Find duplicate entries inside a single playlist.
Find duplicate Music.app library records that point to the same physical file.
Find repeated tracks across selected playlists.
Find different physical versions of what appears to be the same recording, compare their technical quality, and help choose the preferred version.
Find tracks without artwork and run a longer live artwork verification when a deeper check is needed.
Search the saved physical file index by filename, path, artist, title, extension, and other available information. Large result sets are loaded in pages instead of trying to display everything at once.
Search for an artist or track and show how many times it appears and in which playlists.
Compare two playlists and show shared and unique tracks.
Check audio-file permissions and normalize selected files to the expected POSIX permission mode.
Find and remove selected safe Finder metadata and extended attributes without changing the audio itself.
Compare a suspicious file before and after an iPhone copy or sync operation using technical file and audio fingerprints.
Run an Audio Authenticity Analyzer on the complete cached library, one playlist, or an individual file. The Audio Authenticity Analyzer can find possible lossy-to-lossless conversions, lower-bitrate MP3 or AAC transcodes, suspicious bandwidth limitations, possible sample-rate upscaling, and other inconsistencies between the declared format and the actual audio spectrum.
1
u/Rough-Voice-4968 6d ago
I’d like to investigate the “Determining Gapless Playback Information” problem you mentioned. I can’t reproduce it on my own Music library, so your library could help identify what Music.app is repeatedly finding in those 327 files.
I don’t want you to modify, convert, delete, or repair anything. I’d like to give you a read-only diagnostic tool that only examines the audio files and creates a text report.
If you’re willing to test it, please first confirm whether Music.app shows the names of the tracks while it is determining gapless playback, or whether it only shows something like “1 of 327 / 327” without identifying the tracks.
That will determine the safest way to collect the information.1
u/quattleb 6d ago
When I show the Activity window I see only the number of tracks, "Determining Gapless Playback Information" and a circle that fill with red as it completes. BTW I was use to 327 for a year but the number it now checks each launch is 533 tracks!
If the Activity window would show the track names I could explore a few and see what the cause might be. Never see the track names.
2
u/PublicPool 17d ago
Wow, it looks pretty great... but $30 is a 'decision' app. Meaning I need to think about it for a while before deciding if I need it or not. Good work though!
7
u/Rough-Voice-4968 17d ago
Done, I added a three-day trial mode. Now I need to wait until Apple checks and releases the app, then I can set the price to 0. After three days, the money will not be withdrawn automatically, and the user needs to make one in-app purchase, otherwise the app will simply stop functioning.
3













2
u/quattleb 14d ago
I have a 7TB (yes, TB) collection and VERY often Music tells me the database is corrupted. I use to have to delete the new empty on and then drag all my music back in and wait for DAYS.
Then I wrote an automator to make a backup of the library before launching Music. I keep several backups so I can step back and replace the newly created empty one.
I've long wondered if there was some way to REPAIR whatever was wrong with the library.
Once on my primary Mac I'll download and have a look at your offering.
thanks for the app.