Tools and apps for a large music library
April 21, 2024
#music #radio #tipp #tools #software
I’ve been asked which tools and software I use to handle a large, well-tagged music library. Well, here’s the answer, with some links.
_Note:_ This may appear a bit Linux-biased, but I use almost only Linux systems. Many, if not most, of the mentioned tools are also usable on MacOS or Windows.
<!--more-->
## Getting the music
- _Buy CDs._ Yes, still! You even sometimes find mixed lots cheaply and in good condition. _Tip:_ When looking for older albums, the originals are often much better than the so-called "Re-Masters" that are mostly damaged by today’s "Loudness Wars".
- If you are a known or at least serious DJ or web radio, you often get promo material (FLAC or CD) directly from _contact with the bands_ (or their agents) and membership in _promo portals_.
- I also like [_Bandcamp_](
https://bandcamp.com/) for buying FLAC albums, since they pay the artists a much higher commission than Amazon & Co., and you can find rare pearls of music there.
- Fortunately, over the years a bunch of good music shops have appeared that sell albums in FLAC format. Always prefer lossless FLAC over MP3. If there’s no other choice, buy MP3s only in 320 kbit/s format.
- Don’t trust any "converters" or so-called "legal YouTube downloaders". It might be tempting, but you’ll only get one thing: Junk!
- _Never_ upscale music into a "better format", like 128 kbit/s MP3 to 320 kbit/s, or MP3 to FLAC. It just makes garbage _larger_ and doesn’t improve quality in _any_ way. You _can_ convert Apple’s ALAC `.m4a`, WAVE `.wav`, WavPak `.wv`, Monkey’s Audio `.ape` and OptimFROG `.ofr` files to FLAC, though—these are lossless conversions.
## Ripping CDs
You need a PC with a CD drive. Most modern PCs don’t have one anymore, but a USB drive is fine. Get a _good one_. Some models have odd drive offsets, can’t switch off error correction, can’t read CD Text, etc., all resulting in possibly bad rips.
The [_CD Drive Offsets Table_](
http://accuraterip.com/driveoffsets.htm) on the _AccurateRip_ website can help deciding which drive to get. A low _Correction Offset_ and a high number of _Submitted By_ is preferable.
If you also plan to play or rip movies or music videos, a DVD or Blu-ray drive also usually works.
Regarding software, there are really only two choices here:
- On Linux, use [_Whipper_](
https://github.com/whipper-team/whipper?tab=readme-ov-file). You must calibrate your drive once, and you’ll get perfect rips, matched up with _MusicBrainz_ and the _AccurateRip_ database.
- On Windows, use [Exact Audio Copy (EAC)](
https://www.exactaudiocopy.de/) and set up a FLAC profile. Almost always perfect rips, also verifies with _AccurateRip_.
## Pre-processing & organizing
This more or less also reflects my workflow, although I prefer FLAC over MP3.
- Become a member of [_MusicBrainz_](
https://musicbrainz.org/), the world’s best and largest open music encyclopedia, so you can add and edit album and song data. We _all_ profit from that.
- [_MP3 Diags_](
https://mp3diags.sourceforge.net/) — Repair bad MP3 audio files.
- [_rmlyrics3_](
https://github.com/Moonbase59/rmlyrics3) — Lyrics3 remover for MP3.
- [_loudgain_](
https://github.com/Moonbase59/loudgain) — ReplayGain everything, correctly.
- Do _not_ use _mp3gain_. Never. Period. It is _outdated_, and _can_—contrary to popular belief—damage files. It also uses _APEv2_ tags which nobody wants in their MP3 files.
- [_MusicBrainz Picard_](
https://picard.musicbrainz.org/) — Tagging, auto-organizing into folders; using enhanced script and extra tags (available). The _only_ tagging software I really trust, and my last step before the audio file never gets touched again. _Tip:_ Connect your Picard to your MusicBrainz account and get your own _AcoustId API key_.
- [_Clementine_](
https://www.clementine-player.org/) on Debian-based, [_Strawberry_](
https://www.strawberrymusicplayer.org/) on Arch-based systems — Organize/find music.
- [_Quod Libet_](
https://quodlibet.readthedocs.io/en/quodlibet-4.6/) — Organize/find music, ultra-complex searches, preparation of radio playlists using my tools [_ql-playlists_](
https://gist.github.com/Moonbase59/a62363d61a4dcb596bd27d464368a9a4) and [_pl-copyfiles_](
https://gist.github.com/Moonbase59/3ced819f3beb5cfa648d8ed888bc6ad1). Very slow importing large amounts of music (like 160,000 songs), but the functionality outweighs that disadvantage.
- _Notable mention:_ For Windows and MacOS users, [_foobar2000_](
https://www.foobar2000.org/) (not FOSS) can also be a useful tool to organize/find/tag music. Highly customizable, many file formats and add-ons.
- _Notable mention:_ _cue\_file_, part of [autocue](
https://github.com/Moonbase59/autocue) — Analyses and optionally tags an audio file for cue-in, cue-out and "start next song" points and other loudness-related data, using the EBU R128 algorithms. Can also detect in-song silence ("hidden tracks") and provide corresponding "early" cue-out and "start next song" points.
## Backup!
Now that you have organized and tagged your valuable music, it’s time to set up a good backup strategy. Backup often—you don’t want to lose any of your music!
- Unfortunately, for Windows, I never found a 100% working incremental backup. You could maybe use _rsync_ in WSL2.
- On Linux, anything that uses _rsync_ is perfect for local or remote copies. If you want a GUI, [_grsync_](
https://en.wikipedia.org/wiki/Grsync) is quite nice, because you can have profiles for different tasks. _Incremental backups_ can save _enormous_ amounts of time and bandwidth!
- For _synchronizing_ your collection between different machines, also remotely, [_Syncthing_](
https://syncthing.net/) has proven to be a reliable tool. I use it to sync more than 240,000 files in 35,000 folders between 14 machines since about 12 years, and _not one corruption or lost file_ since. Impressive.
## Playout at home
- [_Logitech Media Server, now Lyrion_](
https://lyrion.org/), best for hi-end audio, especially when you still own the Slim Devices/Logitech hardware (Transporter, Receiver, Radio, …). Also great with the lightweight [_squeezelite_](
https://github.com/ralph-irving/squeezelite) software player. [_Squeezer_](
https://play.google.com/store/apps/details?id=uk.org.ngo.squeezer) is a good Android remote control for LMS.
- [_Jellyfin_](
https://jellyfin.org/), also for video and eBooks. Apps (recommended) for almost all platforms, even smartphones, tablets, TVs.
- Almost any other audio player should work fine. On some, you have to manually enable the use of "ReplayGain Track Gain" to achieve a consistent loudness.
## Radio Station Playout
- [_AzuraCast_](
https://www.azuracast.com/) — A "radio station in a box", very well done.
- [_Liquidsoap_](
https://www.liquidsoap.info/) — The underlying audio & video streaming language in nearly all web radio server applications.
## Live DJ-ing, Broadcasting
- [_Mixxx_](
https://mixxx.org/) — DJ-ing software, also for live transmission. DJ controller support, vinyl record control and much more.
- [_IDJC_](
https://idjc.sourceforge.io/) — The Internet DJ Console, great for hosted live shows. Uses the JACK audio system, multiple inputs (guest microphones!), phone line support (VoIP/SIP). 3 players, playlist commands, cartwall, MIDI support (I use a [Korg nanoPAD2](
https://www.korg.com/de/products/computergear/nanopad2/) with it) and much more.
- [_Studio Display_](
https://github.com/Moonbase59/studiodisplay) — Studio monitoring, telemetry and signal tower handling; works great with IDJC.
- _Notable mention:_ [_mAirList_](
https://www.mairlist.com/) (not FOSS, Windows only) — Fantastic radio automation by Torben Weibert, for more professional stations, supports hardware mixers.
That’s about it. Enjoy checking these out, and don’t forget to support the authors of these great Free and Open Source Software programs!