convert_audio now does all the audio conversions

This commit is contained in:
Donald Burr 2015-02-21 12:59:17 -08:00
parent 21855f57fa
commit abaed99625

View file

@ -3,26 +3,54 @@
# #
# use "play" command to play back audio # use "play" command to play back audio
if [ -z "$1" ]; then # store location that this script is in
D="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
RAW_DIR="$D/audio/raw"
COOKED_DIR="$D/audio/cooked"
FLAC_DIR="$D/audio/cooked/flac"
MP3_DIR="$D/audio/cooked/mp3"
cd "$RAW_DIR"
for DIR in *; do
if [ ! -d "$FLAC_DIR/$DIR" ]; then
mkdir -p "$FLAC_DIR/$DIR"
fi
if [ ! -d "$MP3_DIR/$DIR" ]; then
mkdir -p "$MP3_DIR/$DIR"
fi
cd "$DIR"
echo "working in $DIR"
cd ..
for INFILE in *.raw; do for INFILE in *.raw; do
echo "working on $INFILE"
FIX="`echo $INFILE | sed -e 's/^\[.*\] //g'`" FIX="`echo $INFILE | sed -e 's/^\[.*\] //g'`"
OUTFILE="`basename \"$FIX\" .raw`.wav" BASENAME="`basename \"$FIX\" .raw`"
if [ -f "$OUTFILE" ] ; then TEMP_OUTFILE="$BASENAME.wav"
FUDGE="$RANDOM" echo "...converting to intermediate format $TEMP_OUTFILE"
OUTFILE="`basename \"$OUTFILE\" .wav`-$FUDGE.wav"
FIX="`basename \"$FIX\" .raw`-$FUDGE.raw"
fi
echo "converting $INFILE to $OUTFILE"
#sox -r 44100 -e unsigned -b 8 -c 1 <RAW_FILE> <TARGET_FILE> #sox -r 44100 -e unsigned -b 8 -c 1 <RAW_FILE> <TARGET_FILE>
sox -r 22050 -e signed -b 16 -L -c 1 "$INFILE" "$OUTFILE" sox -r 22050 -e signed -b 16 -L -c 1 "$INFILE" "$TEMP_OUTFILE"
mv "$INFILE" "$FIX" echo "...converting it to FLAC"
if [ -f "$FLAC_DIR/$BASENAME.flac" -o "$MP3_DIR/$BASENAME.mp3" ] ; then
FUDGE="$RANDOM"
FLAC_FILE="$FLAC_DIR/$BASENAME-$FUDGE.flac"
MP3_FILE="$FLAC_DIR/$BASENAME-$FUDGE.mp3"
else
FLAC_FILE="$FLAC_DIR/$BASENAME.flac"
MP3_FILE="$FLAC_DIR/$BASENAME.mp3"
fi
if [ ! -f "$FLAC_FILE" ]; then
echo "...converting it to FLAC: $FLAC_FILE"
flac -8 "$TEMP_OUTFILE" "$FLAC_FILE"
else
echo "...already converted"
fi
if [ ! -f "$MP3_FILE" ]; then
echo "...converting it to MP3: $MP3_FILE"
lame --preset studio "$TEMP_OUTFILE" "$MP3_FILE"
else
echo "...already converted"
fi
rm -f "$TEMP_OUTFILE"
done done
else cd ..
INFILE="$1" done
FIX="`echo $INFILE | sed -e 's/^\[.*\] //g'`"
OUTFILE="`basename \"$FIX\" .raw`.wav"
echo "converting $INFILE to $OUTFILE"
#sox -r 44100 -e unsigned -b 8 -c 1 <RAW_FILE> <TARGET_FILE>
sox -r 22050 -e signed -b 16 -L -c 1 "$INFILE" "$OUTFILE"
mv "$INFILE" "$FIX"
fi