PDA

View Full Version : HOWTO: Script to burn MP3 files to CD



Dave_Bechtel
06-04-2003, 11:54 AM
--I did some googling on the subject and adapted a script from one of the suse forums, as well as incorporating some code from another site. The object is to burn the mp3 files themselves to CDR (rather than converting to .wav) in order to get more than the usual 79 minutes of audio.

--This method works in my $30 Audiophase portable MP3 player (I think it was from Target.)

Requires: mkisofs, cdrecord.

Note: the variables CDR_DEVICE and CDR_SPEED are set in my environment, you should export them yourself either in this code (don't forget to chmod +x it) or in your own environment:

export CDR_DEVICE='0,1,0' #== Detect with ' cdrecord -scanbus '
export CDR_SPEED='16 driveropts=burnfree '



#!/bin/bash
#
# This is a CD-R script for burning mp3 files directly to CD.
# The mpg123 program converts mp3s to cdr format, and cdrecord burns
# the tracks on the CD.
#

cd /mnt/cdtemp/audio/

# cvt all fnames to locase:
##for i in *.[Mm][Pp]3; do mv "$i" `echo $i | tr '[A-Z]' '[a-z]'`; done

# cvt spaces to dashes
for i in *.mp3; do mv "$i" `echo $i | tr ' ' '-'`; done

# cvt to std extensions
for i in *.MP3; do mv "$i" "`basename "$i" .MP3`.mp3"; done

# When decoding 22khz MP3 files the output of mpg123 may be distorted. To
# fix this, use:
##for i in *.mp3; do mpg123 --rate 44100 --stereo --buffer 3072 --resync \
# -w `basename $i .mp3`.wav $i; done

/bin/ls

# Burn OTF as .wav (no space savings.:(
#for I in *.mp3
# do
# mpg123 --cdr - "$I" | \
# cdrecord dev=$CDR_DEVICE -audio -pad -v -speed=$CDR_SPEED -nofix gracetime=5 -
#done
#cdrecord -eject -v dev=$CDR_DEVICE gracetime=2 -fix

####
#> Best Regards,
#> Keith

# This does what we want, which is create an ISO with mp3 files to save spc:
mkisofs -J *.mp3 |\
cdrecord -eject -v dev=$CDR_DEVICE speed=$CDR_SPEED -data -

##mkisofs -J -o /tmp/mymp3s.iso /home/greg/mp3s/
#cdrecord dev=1,0,0 speed=16 /tmp/mymp3s.iso