Конвертировать WAV (записи Asterisk) в MP3

У меня есть большая коллекция WAV. Они есть:

  • RIFF, little-endian
  • ВОЛНА аудио
  • GSM 6.10
  • Моно 8000 Гц
  • эффективный битрейт 13,6

Мне нужно конвертировать их в MP3. Тока я вынужден сначала отправить файл через sox:

sox input.wav -s input-pcm.wav

Потом через хромого

lame input-pcm.wav output.mp3

Есть несколько проблем с этим, 1 МБ файл занимает 5 секунд, а MP3 звучит как дерьмо. Это в основном понятно, не очень статично, но просто низкого качества.

Кто-нибудь успешно конвертировал между этим конкретным WAV и MP3 так быстро и без ужасного качества звука? Заранее спасибо.

3 ответа

Вы можете попробовать с ffmpeg:

ffmpeg -i file.wav file.mp3

Если у вас есть доступ к файлам с помощью Linux-бокса с графическим интерфейсом, SoundConverter очень хорошо работает для пакетных транскодов. Тогда вам также не придется делать сценарий-фу.

Вы можете распараллелить выполнение на многоядерном процессоре:

  • создать `/tmp/wav2mp3.sh`:
    T=`mktemp /dev/shm/wav2mp3.XXXXXX.wav`
    #/dev/shm is a tmpfs - a filesystem in memory
    sox "$1" -s "$T"
    lame --silent "$T" "$2"
    rm -f "$T"
  • конвертировать все файлы WAV в текущем каталоге и подкаталогах:
    find -name \*.wav -print0 | xargs -0 -i -P 4 sh /tmp/wav2mp3.sh {} {}.mp3
Другие вопросы по тегам