Also, if I could also be pointed toward a way to
encode my 96khz wave
files at 92, 89, 43.2 and 5000.66 KhZ that would be great...
I'm unclear about what you mean exactly.
By 96Khz, do you mean 96Khz sampling rate? Or do you mean a bitrate,
implying some compression.
You can use sox to do sample conversion using any of three different
techniques. Your given "rate" figures look a bit strange... 5000.66Khz?!
Please be explicitly clear about what you're talking about.
The only commonly used sampling rates I've heard of are (all in KHz):
8, 11.025, 12, 16, 22.05, 24, 32, 44.1, 48, 96.
I don't know what 89, 43.2, 92, or 5,000.66KHz would be useful for.
As for bitrate selections, you have more choices with "MPEG 2"
Official "ISO-approved" bitrates are as follows:
For MPEG1 (sampling frequencies of 32, 44.1 and 48 kHz)
n = 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320
For MPEG2 (sampling frequencies of 16, 22.05 and 24 kHz)
n = 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160
For what it's worth, I've found the following LAME encoder settings to
produce optimally sized and perfect-quality speaker recognition compressions
of phone recordings:
#!/bin/bash
declare -i newscaleint
newscale=`sox "$2.wav" -e stat -v 2>&1 | cut -b1-4`
newscaleint=`echo ${newscale} | cut -f1 -d\.`
if [ ${newscaleint} -gt 20 ] ; then newscale="20.0"; fi
if [ "${newscale}" == "1.00" ] ; then
{
lame -q 2 -h --vbr-new -b 8 -B 32 "$2.wav" "$2.mp3"
}
else
{
lame -q 2 -h --vbr-new --scale $newscale -b 8 -B 32 "$2.wav"
"$2.mp3"
}
fi
You can skip the sox pass if you don't care about normalising the samples.
=MB=
--
A focus on Quality.