Gil Desmarais

‹ back to the overview

Handling, organizing and listening to music

Table of contents

Getting music

There are several ways to obtain music nowadays:

  1. Rip it from CDs Use ExactAudioCopy on a windows machine with an optical disc reading device (they still exist outside museums).
  2. Rip it from vinyl Use a turntable, a good analog to digital audio converter and use Audacity to record it. Audacity offers some filters to reduce noise and remove cracks and pops.
  3. Download from web 2.01 websites youtube-dl is the swiss-army-knife for downloading from those sites. Check if your local radio stations have a player or Mediathek.
  4. Some radio stations provide their shows as podcasts.
  5. Some DJs run their own podcast to promote themselves.
  6. Buy it online.

Before the import

Transcode to a supported format

These tools come in handy:

If you want lossless encodes in a iTunes library, there’s no other choice than to transcode the files to Apple Lossless. XLD handles this case nicely.

Set and clean ID3 tags

Import files to library and organizing

All my music files are managed by iTunes. iTunes is really good in dealing with large music collections. I subscribed to iTunes Match to have the music available on all of my devices.

iTunes Match restrictions

iTunes Match is sometimes slow.

It matches clean versions of lyrically explicit tracks. It’s annoying, but since voices annoy me in music and I rarely listen to rap, it does not affect me much. Also I keep the original files instead of replacing them with the matched version.

If you listen to DJ mixes, you will hit iTunes Match’s 2 hour or 200MB file size limit. Most of these mixes are distributed as MP3. mp3splt splits the files evenly without re-encoding.

Rating with a schema

After the import of new tracks, I start rating the tracks. Over time I’ve developed a rating schema (on a scale of 0 to 5 stars).

Stars is useful to rate music via hotkey.

Accurate genre field

I try to set specific genres: Instead of Rock I narrow it down to Rock/Metal or even Rock/Metal/Black. Here are a few other specific examples:

Tagging something as Pop is basically avoiding to set a genre. For Pop I started adding the decade like this: Pop/60, Pop/70, …, Pop/00, Pop/10, Pop/20.3

Clean up the iTunes library with beaTunes

beaTunes not only analyzes the content of each track, but also inspects the iTunes library. The inspection detects illogical tags, missing compilation tags, different notations of the same artist, finds duplicates, etc.

Go through the results and commit the results.

Determining the Key and Energy with Mixed in Key

Mixed in Key analyses the key and energy of music files.4

Create a smart playlist MiK todo which lists all files without Energy or BPM and a rating of greater or equal than 2 stars.

Creating playlists

Creating smart playlists makes so much more sense with the rated and analyzed tracks. I recommend naming them wisely. I tend to follow the BEM naming convention5 and name them roughly like this:

Smart playlists

Scaffold a handful of smart playlists:

  1. for Energy levels (filter rules depend on your Mixed in Key configuration)
  2. for each possible rating (Stars 0, Stars 1, …, Stars 5)
  3. for Added in the last x weeks/months. I have those for 4 weeks and 6 months and call them added-4w and added-6m.

My rating scheme (see above) leads to two special Star playlists:

Now you can create smart playlist like these:

Using beaTunes

In beaTunes you can setup some criteria like Instrumentation, Key, Speed etc. and let it create a playlist for you based on a seed track selection. That is super nice and the results are good. Time showed, I do not use that feature much. I’m fine with the smart playlists.


  1. I use rsync to sync the Music folder to my NAS:
rsync --archive --verbose --human-readable \
 --itemize-changes --progress \
 --prune-empty-dirs --delete \
 -e ssh ~/Music/iTunes me@NAS:~/backup/Music
  1. export the playlists with Doug’s Batch Export Playlists script. ⚠️ Make sure to export your Stars playlists! iTunes does not save the rating in the files’ tags! With those playlists you can recover your ratings.
  2. Add the exported playlists to a git repository and commit the changes, push to a remote host.

Playing music


With iTunes match I can listen to my music on any of my  devices.

On desktop, I work with my the smart playlists and the Column Browser in the Song view mode:

iTunes showing its song column

with MPD and Cantata

To play music on my stereo I launch Cantata to control the MPD which is connected to it via HDMI. It plays the files from my NAS. I scp the exported playlists (with corrected file urls) to the playlists folder of the mpd.

DJ set preparation

When creating a DJ set, I have a playlist of A tracks to play which acts like a track pool. Traktor reads my iTunes library and I usually just pick tracks out of that pool and go with it.

Some mixes may need more preparation. Then I create a plain old playlist in iTunes first and use that in Traktor Pro 3.

  • A laptop with a DJ software playing the song 'The End'
  1. A term coined in 2003 for the social web and user-generated content sites, etc. 

  2. freedb is a GNU GPL licensed track database. 

  3. This is collision-free until the year 2049. The first Pop songs I own are from the 1950s (Pop/50). 

  4. And more, like BPM. It can also set cue points to use with DJ standard software. 

  5. A naming convention for CSS.