使用 LAME 将 .wav(CCITT A-Law 格式)转换为 .mp3

使用 LAME 将 .wav(CCITT A-Law 格式)转换为 .mp3

我想使用 lame 编码器 (lame.exe) 将 wav 文件转换为 mp3。wav 文件按照以下规格录制:

比特率:64kbps
音频样本大小:8 位
频道:1(单声道)
音频采样率:8 千赫
音频格式:CCITT A 法律

如果我尝试使用 lame 转换这样的 wav 文件,我会收到以下错误消息:

Unsupported data format: 0x0006

有人能给我提供一个使用 lame.exe 的命令行字符串,使我能够转换这些类型的 wav 文件吗?

答案1

您想使用 SoX 将 A-law 输入数据转换为更标准的 PCM 数据,以供 LAME 处理。

sox -A -c 1 -r 8000 input.8khz-mono-alaw.wav ouput.wav

现在 output.wav 应该包含标准 PCM WAV 数据。在此上运行 LAME 命令(添加您喜欢的任何选项):

lame output.wav output.mp3

或者,将 SoX 输出直接导入 LAME:

sox -A -c 1 -r 8000 input.8khz-mono-alaw.wav - | lame - output.mp3

答案2

下载并编译 libsndfile 我使用的是 1.0.17 版本,下载 lame 的源代码,然后使用此配置设置

./configure --with-fileio=sndfile

然后

make && make install

现在它可以工作了。

答案3

以下是对我有用的答案:

我使用以下命令转换了 WAV 文件:

sox 文件.wav 文件.cdr

sox -t cdr 文件.cdr -t wav - | lame -b 32 -m mono - 文件.mp3

这些命令使用我的 WAV 文件生成 32 kbit/s、22050 Hz 单声道格式的 MP3 文件。lame 命令的参数经过自定义,可生成与上一篇文章中提到的命令生成的文件类似的文件:

sox 文件.wav 文件.mp3

在我的计算机上执行命令:

sox 文件.wav 文件.mp3

在 23 分钟内转换 WAV 文件,生成 130 MB 的 MP3 文件。

和命令:

sox 文件.wav 文件.cdr sox -t cdr 文件.cdr -t wav - | lame -b 32 -m mono - 文件.mp3

在 39 分钟内转换 WAV 文件,生成 131 MB 的 MP3 文件。

第一种方法更快,但需要修补 sox。

相关内容