Вот скрипт для перекодирровки mp3 -> wav -> alaw, ulaw, gsm
файл в 377 кб оказался "слишком большим" . поэтому отправляю скрипт-конвертер
Код: Выделить всё
#!/bin/bash
echo "** THIS SCRIPT REQUIRES LAME AND SOX TO WORK!**"
#Convert mp3 files to wav
for i in *.mp3; do
val=${i%.mp3}
echo"** Converting mp3 to wav files if they exist"
lame --decode -m m "$i" "$val.wav"
# rm -f "$i"
echo "** $i MP3 to WAV is complete"
done
#Convert wav files
for i in *.wav; do
val=${i%.wav}
echo "** Checking volume levels for $i"
ampl=`sox "$i" -t wav /dev/null stat -v 2>&1 | grep -v sox:`
echo "============"
echo "input volume $ampl"
echo "============"
echo "** Amplifying volume by $ampl to fake a normalize and converting $val.wav to 16 bit 8000"
# sox -v "$ampl" -t wav "$i" -r 8000 -c 1 -b 16 -t wav "$val.converted.wav"
# sox -v "$ampl" -t wav "$i" -e signed-integer -r 8000 -c 1 -t raw "$val.converted.sln"
sox -v .8 "$i" -V3 -b 64 -r 8000 -c 1 -t wav "$val.converted.wav" treble +6
sox -v .8 "$i" -V3 -b 64 -r 8000 -c 1 -t sln "$val.converted.sln" treble +10
# rm -f "$val.converted.sln" "$val.sln32"
# rm -f "$val.wav"
# echo "** Reducing the volume **"
# sox -v .5 "$val.converted.wav" "$val.wav"
#Convert to gsm
echo "** convert to gsm **"
sox -t sln "$val.converted.sln" -V3 -t gsm "$val.gsm";
#convert to ulaw - note using .ulaw extension as asterisk likes that
echo "** convert to ulaw **"
sox -t sln "$val.converted.sln" -V3 -t ul "$val.ulaw";
#convert to alaw - note using .alaw extension as asterisk likes that
echo "** convert to alaw **"
sox -t sln "$val.converted.sln" -V3 -t al "$val.alaw";
# sox -v .5 "$val.converted.wav" -t sln -c 1 -r 16000 "$val.sln16"
rm -f "$val.converted.wav"
rm -f "$val.converted.sln"
echo "** $i is complete"
done
p.s. После того, как поползал в меню и выбрал мелодию, в строке появилась галочка, и после мелодия заиграла при вызове.
а при выборе дефолтной мелодии в браузере мелодия не выставилась ((