将 WAV(Asterisk 录音)转换为 MP3

将 WAV(Asterisk 录音)转换为 MP3

我有大量 WAV 文件。它们包括:

  • RIFF,小端
  • WAVE 音频
  • 移动通信6.10
  • 单声道 8000Hz
  • 有效比特率为 13.6

我需要将这些转换为 MP3。目前我被迫先通过 sox 发送文件:

sox input.wav -s input-pcm.wav

然后通过跛脚:

lame input-pcm.wav output.mp3

有几个问题,1MB 的文件需要 5 秒,而且 MP3 听起来很糟糕。大部分内容都清晰可懂,不是真正的静态,但质量很差。

有没有人成功地将这种特定的 WAV 和 MP3 进行快速转换,并且不会产生糟糕的音质?提前致谢。

答案1

您可以尝试使用 ffmpeg:

ffmpeg -i file.wav file.mp3

答案2

如果您可以使用带有 GUI 的 Linux 机器访问这些文件,SoundConverter 非常适合批量转码。这样您就不必执行任何脚本了。

答案3

您可以在多核处理器上并行执行:

  • 创建`/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

相关内容