首页 > 解决方案 > 如何将音频文件设置为某些特征?

问题描述

如何将 mp3 文件转换为具有以下特征的文件?

single-channel (monaural)
little-endian
unheadered
16-bit signed
PCM
sampled at 16000 Hz

我试过运行这个命令:

ffmpeg -i audio16000.mp3 -ar 16000 -ac 1 audio16000.wav

当我用这个命令检查文件时:

sox --i audio16000.wav

我得到以下结果:

Input File     : 'audio16000.wav'
Channels       : 1
Sample Rate    : 16000
Precision      : 16-bit
Duration       : 00:05:30.98 = 5295744 samples ~ 24823.8 CDDA sectors
File Size      : 10.6M
Bit Rate       : 256k
Sample Encoding: 16-bit Signed Integer PCM

它没有说它是小端还是无标题。我还认为只有原始文件没有标题,并且 wav 文件有标题,但是我正在阅读的说明告诉我使用上面使用的 ffmpeg 命令。

标签: audioffmpegsox

解决方案


您的目标是转换为 PCM(脉冲编码调制),它本质上是一个原始音频文件。这就是为什么您还需要有关字节顺序、精度等所有额外信息的原因。没有标题可以告诉您,它是unheadered

使用您的命令,您将文件转换为WAVE格式,根据定义,该格式具有定义编码的标头。

你的意思是:

ffmpeg -i audio16000.mp3 -f s16le -ac 1 -ar 16000 audio16000.raw
  • -f s16le- 16 位小端序
  • ac 1- 1 个频道
  • -ar 16000- 16khz

您使用什么扩展名(PCM 或 RAW)完全取决于您。读入文件时,无论如何您都必须自己提供编码。


推荐阅读