My music library is around 24k files, mostly FLAC and some 320kbps MP3s. I use the following tools to organise my music library:
dbPoweramp CD Ripper – https://www.dbpoweramp.com/cd-ripper.htm
Bandcamp Collection Downloader – https://github.com/Ezwen/bandcamp-collection-downloader
Soulseek – http://www.slsknet.org
Backup and sync:
Google Drive Backup & Sync
Ultrasearch – https://www.jam-software.com/ultrasearch_free
Serato DJ Pro
dbPoweramp CD Ripper
I have found this to be the fastest and most reliable CD ripper. It is commercial but is a very small cost and contains access to a lot of metadata services. I rip all my CDs to FLAC.
Bandcamp Collection Downloader
This is so useful. It required a few tweaks to get to work reliably under Windows, and if you haven’t got any scripting skills then it will be a pain, but it has been hugely useful in syncing my Bandcamp purchases, of which I have over 200. It checks whether it has downloaded a purchase before as well, so you don’t need to re-download everything, just what has been added recently to your collection. I use the following settings in a batch file which works reliably. If you want to use it you will have to replace ‘socialistsynthesis’ to be your bandcamp username.
java -jar bandcamp-collection-downloader.jar -f=flac -j=1 -r=3 socialistsynthesis
I make a genuinely huge attempt to purchase all the music I play for my stream. I have spent SO much money on digital and physical copies of music over the years. When something is not available for purchase, or I have an old MP3 rip from a CD and I want a FLAC, then I use Soulseek. Whether you do is up to you, just know that it is there.
I use Picard to tag, rename and move my music files. It is amazingly powerful. I use the following plugins:
Last.FM – for getting the artists genre from Last.FM db
Feat. Artists removed – for removing featured artists from the artist name (e.g. “Fatboy Slim feat. Bruce Wayne – Some track”)
Amazon Cover Art – for using Amazon’s cover art for the embedded cover art
AcousticBrainz Tonal Rhythm – for setting the key and BPM of each track
AcousticBrainz Mood and Genre – for setting mood and genre tags, genre is very important, mood is not really used by Serato but nice to have
After reading this article on how the total file path size affects Serato virtual memory usage, this is the file structure I use for my music collection:
For all singles and albums:
/<Artist>/<Artist> – <Track title> <BPM>.<file extension>
For all tracks from compilations:
/<Artist>/Comps/<Artist> – <Track title> <BPM>.<file extension>
That’s it. No albums or genres subdivision. All the files have tags for genre and album name in the metadata added by Picard, so when they are loaded by Serato they will have all that information there anyway and it will be searchable. The reason I separate compilation tracks from the singles and albums is because I favour the original singles and album tracks over the compilation tracks usually when I’m DJing.
To get MusicBrainz to automatically rename and structure my file collection like this, I use the following settings:
The file rename mask I use is this one:
%artist%$if($eq(%compilation%,1),/Comps/,/)%artist% - %title% %bpm%
I use the Beets command line organiser to do two things:
Remove Duplicate Files
This is important because I often have duplicates in tracks because of the way I am consolidating all the tracks by an artist under the artist directory. You can configure Beets to select the duplicates with a lower bitrate to delete.
Set ReplayGain Tag
I am not sure whether Serato actually uses the ReplayGain tag but it is useful for other music players, and I hope Serato takes some notice of it.
You can do a ton more stuff with Beets. It hasn’t been updated in a while but it’s very powerful. Something I also want to use in future is ‘The The’ plugin, which removes ‘A’ and ‘The’ from artist names and puts them at the end, so ‘The Chemical Brothers’ becomes ‘Chemical Brothers, The’. Which is how I structure my vinyl library and how I prefer it.
Mixed in Key 8
I would love this software so much if it actually worked reliably for large music libraries. But it doesn’t. It seems to choke on libraries above a few thousand, and it is very slow. So I use it mainly on planned sets – sometimes I will put aside less than 100 files that I want to play for a planned set, and it is very good with that. I don’t know if they have made it reliable in later versions, the current version as of writing is 10.
Rekordcloud – https://rekord.cloud/
This has so much potential but I haven’t dug into it yet properly. My subscription expired so now I have to wait until I have enough money to get another one. It is the only thing I know of apart form MIK that can automically set cue points, and I hope to use it as a possible replacement.
This is a free Windows-only program that searches for files extremely quickly. It is so fast that I can get results from all my media files in a couple of seconds when I am searching for something while I am DJing on Twitch.
Google Backup and Sync
This is the most cost effective and reliable way I have found of backing up my music collection and any other files I want to backup. I have it bandwidth rate limited so it runs in the background on all my computers slowly syncing everything up to my Google Drive without impacting on the other stuff I am doing on the computer.
I was a big fan of Winamp in the day, and this is the modern version. It is free, very configurable and very fast.
Serato DJ Pro
This is what I use for my DJing when playing live. I analyze all my files to set the beatgrid although I don’t set the key – Picard handles that. I have a 2TB external USB 2.0 hard disk so analyzing my entire library takes a couple of days of leaving my Macbook Pro on. But for new smaller additions it is much faster.
I use Serato autocrates a lot to mine the large amount of metadata I’ve added as part of my process. I have seperate autocrates for each 10 BPM division, e.g. 71-80 BPM, 81-90 BPM etc. I also have autocrates set by release date – I have music released in the 80s, music released in the 90s, music released in the 00s…etc. There is so much you can do with autocrates if you have properly set metadata.