Fork me on GitHub

cdcover by rjp

cdcover analyses MP3s and other audio files, generating a picture of the waveform for each track, suitable as "album art" for an ID3 tag, or for combining as a single "CD cover"

Wholly inspired by Joshua Distler's "Music CD Labeling System" with prompting from Mr P.Mison

Sample output

Esquivel CD Cover Esquivel CD Cover Esquivel CD Cover

Esquivel CD Cover Esquivel CD Cover Esquivel CD Cover

How to run it

./ [flags] [list of audio files]


-o /path/to/output
--outputdir /path/to/output
Output directory
Scale to the longest
-w N
--window N
Moving average over N pixels
Make a 4x4 montage of 150x150 versions
Outline output
Spiky output
Force update of the png


To convert a bunch of mp3s into ./png/esquivel/*.png output files...

./ -e -s -f -w 5 -m -o png/esquivel esquivel/*.mp3


sox, mp3info, ruby, rmagick

Tested with sox v14.0.0, MP3Info 0.8.4, ruby 1.8.6 (2007-09-24 patchlevel 111), RMagick 2.9.1.

It does somewhat assume you've installed RMagick using rubygems and will probably break if you don't have rubygems anywhere. Easily rectified by deleting the first line of cdcover.rb.




rjp (


rjp (


You can download this project in either zip or tar formats.

You can also clone the project with Git by running:

$ git clone git://