The ABC’s of creating MP3s
Being content with GUI ripping software was something that didn’t happen to me using Linux. I had expected my music player software to handle `the task but I can’t remember any that did (not remembering to me is the same as working poorly I’m discovering). As for stand-alone rippers I haven’t heard any that were notable. Because I’m a big fan of software being efficient and to the point (do one thing and do it well) I was a bit nonplussed when I began wondering how I was going to import my CDs to MP3s. A good number of tasks that I had regularly done through the GUI, I discovered are better done through the command line and though I haven’t tested every MP3-related application this looks like it may be true for them as well. Here’s a complete-ish guide to ripping, organizing, repairing, and volume normalizing an audio collection well, done mostly through the CLI.
RipIT is program that can do just about anything that a GUI version to do. It’s default options will be good enough for most cases (running
ripit is all that is needed). Having a greater amount of control however can save time in the end. A wrapper script can be created to help with this:
ripcd script below defines:
- The ripping preset (extreme here because storage space isn’t an issue).
- The directory creation template. RipIT goes online and gets the album tag information which can be used organize directories by tag (here the common
- Looping (prompts when for new CD when ripping is done)
- Ripping priority so RipIT plays nice with other programs.
- Query the MusicBrainz music database instead as it is usually more accurate (editor approval required).
- The Audio sub-directory to rip it (my Audio directory is divided as such:
# ls ~/Audio/ Audiobooks Music Others Podcasts)
Normalizing audio means to adjust the volume of audio files to a standard level. This is often a good idea as average volumes levels per album usually differ to some degree. A great program called
mp3gain can do this easily. I created a script for this that first normalizes by type (either Music collection, or Audiobook collection… since there are usually differing recording standards for each), then normalize relative to other albums in that catagory. Here’s the script:
Lame is used by RipIT for encoding of the audio files and does a very good job of it, occasionally though I’ve found it to make a mistake. For these MP3s, previous rips, and for MP3s that have been previously downloaded it is good idea to check them and see if they are in good shape. An excellent tool called MP3 Diags can test MP3s and fix common problems. Repairing MP3s I’ve discovered makes inter-operability between different players play nice. MP3 Diags also includes a very nice (though basic) tag editor.