Creating mixtapes from computer audio files

IMGP4188

You know how sometimes you really want a collection of tracks for a given occasion? For instance, you want some music to pump you up before hitting the gym, or to put you in a relaxed mood. Well, music lovers have been producing such compilations for decades. They're called mixtapes.

A mixtape is a compilation of songs produced and curated for some purpose. You might create a mixtape for your drive to work, or for your morning jog. Although the name "mixtape" hints at an etymology beginning in the days of physical music media, mixtapes are still produced now and can be part of your computer audio library.

Mixtapes differ from compilations in the sense that they are home made, or they have some sort of personal touch or influence from the personality of the creator. Down the years, mixtapes have often been reproduced and distributed to announce new bands or publicise some mix of songs.

The simplest solution: a playlist

The simplest way of creating a mixtape from computer audio is to use a playlist. I don't mean an abstract list of tracks there; playlists can also be computer files that explicitly list the tracks that make up a playlist. Here's an example M3U file:

#EXTM3U
/mnt/music/Boards_Of_Canada/Tomorrow's_Harvest/8-Sick_Times.flac
/mnt/music/The_Maccabees/Given_to_the_Wild/4-Ayla.flac
/mnt/music/Andrew_Bird/Hands_of_Glory/2-When_That_Helicopter_Comes.flac

It's a simple list of tracks. There're more options when building an M3U file but that's the basic idea. Most music players allow the playlist to be selected and played. This means, of course, that the files must be distributed as well as the playlist. There's a problem here: it would be onerous to replicate the file paths above in the target computer. The solution is relative file paths:

#EXTM3U
8-Sick_Times.flac
4-Ayla.flac
2-When_That_Helicopter_Comes.flac

So long as the playlist and the tracks are in the same folder, that will play and will be the most portable way of distributing your mixtape.

This works. But there are repurcussions for your music library if you distribute the tracks and the playlist. These problems are caused by our old friends: the music tags internal to your music files.

Affecting your mix

If you simply take your music files from your collection as-they-are, they will continue to include metadata about the tracks that may make the destination collection for the mixtape much more messy.

Consider the "album" tag. In the example above, each track comes from a separate album with a different album name. If the above playlist and tracks were imported into another person's music library, these albums will most probably appear in their music player, only with just one track. Having your collection littered with many one-track albums may be annoying to some people.

Copying metadata isn't all bad news. Some of the metadata may continue to be useful, for instance artist names and genres, which are still legitimate track-level data to search a music collection by and find these tracks. It's just that the release-oriented metadata is not applicable for music copied purely for a playlist.

This might not matter to you of course. However, if you want to avoid affecting destination libraries, I suggest you remove the following common tag fields:

  • Album name
  • Album artist
  • Track number
  • Disc number

... along with any other release/album level metadata.

This shows what an effect metadata can have on your music collection. This power afforded by metadata suggests a different way of creating mixtapes...

Using metadata to create a mixtape

You can dispose of the need of a playlist file by using metadata, and customising the release level metadata. Considering the example above, here's how I'd edit the metadata using bliss or any other music tagger:

File Album name Album artist Track number
8-Sick_Times.flac Dan's mix Dan 1
4-Ayla.flac Dan's mix Dan 2
2-When_That_Helicopter_Comes.flac Dan's mix Dan 3

First, I would remove all album level metadata. Then I'd add in the data as in the table above.

A few points: whereas you are losing the one-track albums I suggested to avoid above, you are gaining an artist called "Dan" and an album which is not an official release. This may or may not acceptable.

One extra task may be to re-calculate ReplayGain so the volume levels between tracks in this mix are consistent.

While this method has benefits, I think both approaches can be combined to form the best way to create digital music mixtapes

The best way to create digital music mixtapes

First, we'll use an M3U playlist. This is the standard, most commonly accepted way of distributing mixtapes and most digital music users know what to do with one. Once imported into your library, they'll normally show under 'playlists' or similar.

Next, we customise metadata. We use a music tagger to remove all release level metadata, keeping other metadata that might be useful for the recipient of these tracks. The tags removed are:

  • Album name
  • Album artist
  • Track number
  • Disc number

Next, we change the filename to be in the form [artist name]-[track name]. In the example above, this gives us:

Boards_Of_Canada-Sick_Times.flac
The_Maccabees-Ayla.flac
Andrew_Bird-When_That_Helicopter_Comes.flac

This removes all traces of the former parent releases' track numbers. Remember that the order within the playlist file dictates the order of playback. Oh, and remember that the files must be in the same folder as the playlist.

And finally, if you can be bothered, we can re-run ReplayGain. In reality, I probably only do this if I notice a volume level problem when playing back the mixtape.

That's the way I produce mixtapes!

Thanks to mikael altemark for the image above.
tags: playlist compilations m3u

The Music Library Management blog

Dan Gravell

I'm Dan, the founder and programmer of bliss. I write bliss to solve my own problems with my digital music collection.