![将 WAV(Asterisk 录音)转换为 MP3](https://linux22.com/image/585249/%E5%B0%86%20WAV%EF%BC%88Asterisk%20%E5%BD%95%E9%9F%B3%EF%BC%89%E8%BD%AC%E6%8D%A2%E4%B8%BA%20MP3.png)
我有大量 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