LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (http://www.linuxquestions.org/questions/linux-software-2/)
-   -   trying to encode wav => mp3 with SOX, bitrate problems. (http://www.linuxquestions.org/questions/linux-software-2/trying-to-encode-wav-%3D-mp3-with-sox-bitrate-problems-429862/)

salviadud 03-29-2006 10:49 PM

trying to encode wav => mp3 with SOX, bitrate problems.
 
I have lots of wav files that are recorded at 128 kbit/8Hz. I want them converted to mp3 with sox. I know it's simple, i just do
Code:

sox inputfile.wav outputfile.mp3
But, sox converts the file to 8kbit, and that's not cool... how do i make sox convert it to mp3 with 128 kbit (as in the original)?

kencaz 03-29-2006 11:27 PM

If you have Lame try using the ./mlame script: It works great for me and will do multiple .wav to .mp3 conversions at any bitrate you want using:


mlame -r -o "-v -V 0 -b 128" *.wav *.mp3




#!/bin/bash
#!/usr/local/bin/bash
############################################################################
#
# Run the LAME encoder on multiple files, with option to delete .wav files
# after encoding. "mlame -h" will give instructions.
#
# Robert Hegemann <Robert.Hegemann@gmx.de>
#
############################################################################

mp3coder="lame"
options="-h -d -m j -b 128"
rmsrc=false

helptext="\
\nThis script runs the LAME mp3 encoder on multiple files: \n\n\
$0 [options] <file 1> ... <file n>\n\
\n\
options:\n\
-h this help text\n\
-r remove files after encoding\n\
-o \"<lame options>\" overrides script default options \"${options}\"\n\
\n\
example:\n\
$0 -r -o \"-v -V 0 -b 112\" a*.wav z*.aif\n\
\n\
"

# process command-line options
# this could be extended to fake the
# commandline interface of the mp3encoder

while getopts ":o:r" optn; do
case $optn in
o ) options=$OPTARG # replace default options
;;
r ) rmsrc=true
;;
\? ) printf "$helptext"
exit 1
;;
esac
done
shift $(($OPTIND - 1))

# process input-files

for filename in "$@"; do
case $filename in
*[*?]* ) # means shell couldnīt extend *.wav, etc.
echo "warning: no $filename file(s) found"
;;
*[.][wW][aA][vV] )
name=${filename%[.][wW][aA][vV]}
if $mp3coder $options "$filename" "${name}.mp3"
then
if [ $rmsrc = true ]; then
rm -f "$filename"
fi
fi
;;
*[.][aA][iI][fF] )
name=${filename%[.][aA][iI][fF]}
if $mp3coder $options "$filename" "${name}.mp3"
then
if [ $rmsrc = true ]; then
rm -f "$filename"
fi
fi
;;
* )
if $mp3coder $options "$filename" "${filename}.mp3"
then
if [ $rmsrc = true ]; then
rm -f "$filename"
fi
fi
;;
esac
done

salviadud 03-30-2006 02:18 AM

thanx a lot dude :)


All times are GMT -5. The time now is 01:38 PM.