MP3do - a powerful bash script

MP3do is an "all in one" bash script useful to decode many audio files types (i.e. OGG/Vorbis, MP3, WAV, AU...) and burn it on a audio CD.

MP3do is a "host" script that split his works in four different phases:

  1. check for audio file type
  2. calculate for total song's time duration
  3. decode (changing format)
  4. burn

At the beginning and at the end of each phase can be executed a number of plugins to modify input files. Thanks to his "pluggable" nature this script is completely independent from programs that handle input and output format file. To add a new format file still not supported must be only coded a new plugin (it's very easy), and MP3do will use it every time it's needed. Actually it uses plugin to handle OGG/Vorbis, MP3, all format files supported by sox, and CD audio track. There are many other plugins to perform normalize, leadin/leadout control, check for available disk space, and CD-cover making.
To write a CD-R, MP3do use cdrecord or cdrdao, and uses gettext to print localized output messages.
With this script it's really quick and easy to create a CD with your favourite songs.

With following command

MP3do -s ~/mysongs/*.ogg cdda:1,4,5 --normalize -w -a
you will:
  1. decode all OGG files in ~/mysongs/ dir to WAV
  2. rip track number 1,4 and 5 from audio CD in default reader
  3. auto convert poor quality audio files to 44100Hz stereo for a proper mastering process
  4. check whether all files fits on CD in default mastering device
  5. normalize all WAV files adjusting volumes to a standard volume level
  6. Burn a CD with cdrecorder.

This project is still in developement phase, and features will came when I'll have time. If you have to support questions, send them to me. I'll respond as quick as i can.

Handled Plugins


NameTypeDescription
cdda2wav General Handle input/output audio file.
Input: CDA
Output: wav cdr au aiff aifc sun raw
cdparanoia General Handle input/output audio file.
Input: CDA
Output: wav aiff aifc raw
dagrab General Handle input/output audio file.
Input: CDA
Output: wav
madplay General Handle input/output audio file.
Input: mp3
Output: wav cdr aiff snd raw
mp3funcs.inc General Handle input/output audio file.
Input:
Output:
mpg123 General Handle input/output audio file.
Input: mp3
Output: wav cdr au
mpg321 General Handle input/output audio file.
Input: mp3
Output: wav cdr au
ogg123 General Handle input/output audio file.
Input: ogg
Output: wav raw
old General Handle input/output audio file.
Input:
Output:
atip Phase 2 (end) Check wheter all playlist's songs fits on a CD
diskspace Phase 3 (begin) Check for available hard disk space to decode songs
normalize Phase 3 (end) Adjust WAV files to a standard volume
cdl Phase 4 (end) Create a CD cover from an item list using cdl.pl
cdlabelgen Phase 4 (end) Create a CD cover from an item list using cdlabelgen
disc_cover Phase 4 (end) Create a CD cover from an item list using disc-cover
multiple_cd Phase 4 (end) Makes specified number of copies of CD

Related links


Stefano Falsetto




Valid HTML 4.01! Valid CSS!
Last modified: Mon Dec 9 08:28:34 CET 2002