cdda2mp3
上传用户:xiejiait
上传日期:2007-01-06
资源大小:881k
文件大小:2k
- # !/bin/sh
- # Demo script for processing all audio tracks with a mp3 decoder
- # based on a news article by Tom Kludy
- # This variant uses named pipes in order to save space.
- # There is another variant of this script, which uses temporary
- # wav files (see cdda2mp3.new).
- #
- # usage: cdda2mp3 <name prefix for all mp3 files>
- #
- # list_audio_tracks is a (symbolic) link to cdda2wav
- # and used to generate a list of audio track numbers and start
- # sectors, which in turn are used in a loop to spawn cdda2wav
- # and the post processor on a track by track basis.
- # specify the audio track listing program and its options
- LAT=list_audio_tracks
- LAT_OPTIONS=
- # specify the sampling program and its options
- # do not specify the track option here!
- CDDA2WAV=cdda2wav
- CDDA2WAV_OPTS='-Owav -H -P0 -q'
- # for normal use, comment out the next line
- #DEBUG='-d1'
- # the post processor is fed through a named pipe to avoid space waste
- # specify the post processing program and its options
- MP_CODER=l3enc
- #MP_OPTIONS='2>/dev/null 1>/dev/null'
- MP_OPTIONS='-br 128000'
- #MP_OPTIONS='-hq'
- # name of the named pipe
- NPIPEPREFIX='npipe'$$
- NPIPE=$NPIPEPREFIX".wav"
- FILEPREFIX=${1:-audiotrack}
- mkfifo $NPIPE
- # clean up named pipe on exit, abort, ...
- trap "rm -rf $NPIPE" 0 2 3 4 6 7 8 10 11 12 13 15
- # feed track numbers and start sectors into loop
- $LAT $LAT_OPTIONS | while read TRACK STARTSECTOR;
- do
- $CDDA2WAV $CDDA2WAV_OPTS -t$TRACK $DEBUG $NPIPE &
- # echo n | $MP_CODER $NPIPE $FILEPREFIX$TRACK.mp3 $MP_OPTIONS
- $MP_CODER $NPIPE $FILEPREFIX$TRACK.mp3 $MP_OPTIONS
- # check result code
- RES=$?
- if [ $RES = 0 ] ; then
- echo File $FILEPREFIX$TRACK.mp3 finished successfully.
- else
- echo File $FILEPREFIX$TRACK.mp3 failed (result $RES). Aborted. >&2
- break
- fi
- done