audio - 如何将音频文件设置为某些特征?
问题描述
如何将 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 命令。
解决方案
您的目标是转换为 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)完全取决于您。读入文件时,无论如何您都必须自己提供编码。
推荐阅读
- javascript - 同源是否禁止域加载的第三方脚本向该域发送请求?
- mysql - 使用另一个数据库中的表 SQL 更新表
- r - 按组在 r 中使用 SMA 或 EMA 预测未来季度
- wordpress - 自定义帖子类型正在破坏页面层次结构
- c# - 使用 LIKE 将 Oracle 查询转换为 SQL Server 查询
- python - 部署后 Heroku 错误(没有名为 '_tkinter' 的模块)
- angular - 如何在我的模板中访问范围选择器的“isComplete()”方法?
- mysql - 选择每年的平均价格
- c# - 所有 url/查询参数的日期时间转换
- bdd - 如何将场景大纲与给定子句 BDD 中的路径参数匹配