Подготовка звуковых файлов для Asterisk


В очередной раз потребовалось подготовить голосовые файлы для астериска, и так как долго вспоминал как делается, нарисовал скриптик, который это все автоматизирует.

  1. Сначала нормализуем файл, чтобы громкость была правильная
  2. Конвертируем файл в нужные форматы

#!/bin/sh

file=$1
file_ext=${file##*.}
file_name=${file%.*}
ffmpeg_cmd="ffmpeg -loglevel quiet -i "
edit_file=/tmp/${file_name}_$$.wav
#echo ${edit_file} ${file_ext} ${file_name}

${ffmpeg_cmd} $1 ${edit_file}
normalize ${edit_file}
mkdir out
${ffmpeg_cmd} ${edit_file} -acodec pcm_s16le -ar 8000 -ac 1 -y out/${file_name}.wav
${ffmpeg_cmd} ${edit_file} -ar 8000 -ac 1 -ab 64 -f alaw -y out/${file_name}.alaw
${ffmpeg_cmd} ${edit_file} -ar 8000 -ac 1 -ab 64 -f mulaw -y out/${file_name}.ulaw
rm ${edit_file}

Вроде работает. wink

Соответственно, запускаем sound2asterisk.sh имя_файла, после выполнения в каталоге out забираем результат.