if [ "$#" -ne 5 ]; then echo "Usage: $0 " exit fi FN_IN=$1 FN_OUT=$2 RATE=$3 STEP=$4 MAX=$5 ITER=0 while true; do if (( $(echo "$RATE > $MAX" | bc -l) )); then break fi let ITER+=1 RATE=`echo "$RATE+$STEP" | bc` sox $FN_IN "tmp_$ITER.wav" speed $RATE done sox tmp_* $FN_OUT rm tmp_*