#!/bin/bash # Signed 16 bit Little Endian, Rate 22050 Hz, Mono # # use "play" command to play back audio # 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 echo "working on $INFILE" FIX="`echo $INFILE | sed -e 's/^\[.*\] //g'`" BASENAME="`basename \"$FIX\" .raw`" TEMP_OUTFILE="$BASENAME.wav" echo "...converting to intermediate format $TEMP_OUTFILE" #sox -r 44100 -e unsigned -b 8 -c 1  sox -r 22050 -e signed -b 16 -L -c 1 "$INFILE" "$TEMP_OUTFILE" 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 cd .. done