ffmpeg 获取音频文件PCM切片
2016-05-19 本文已影响0人
HelloHan
背景:为测试听歌识曲的sdk是否准确,获取一批测试音频(MP3格式) 的pcm 数据
ffmpeg 工具获取、简介
首先去ffmpeg 官网上获取相应工具
https://ffmpeg.zeranoe.com/builds/
一共有三种类型可供选择,在这里只需要选择 static builds(选择相应系统)
解压后,从bin目录下可以看到有三个可执行文件。大概功能为:
ffmpeg.exe 也是这里的主角,可以负责音频格式的转换。
ffplay.exe 一个播放器
ffprobe.exe 集多媒体文件或流的信息,并以人和机器可读的方式输出
ffmpeg.exe 获取PCM数据
通过调用命令行
ffmpeg -ss 4 -t 16 -i input.mp3 -f s16le -acodec pcm_s16le -b:a 16 -ar 8000 - ac 1 output.raw
相应配置项的解释:
这一段获取的output 文件为 input.mp3 从4s 开始到20s 的数据 ,转存为 采样率8000khz,声道为单声道,位深为16bit 的pcm 原始数据
测试:
结果:
PCM文件如何打开?
这点之前也不知道,后来查看到工具 Adobe Audition
使用该软件打开raw文件,选择相应的编码格式。
选择16位PCM就可以直接播放该PCM数据了
获取的16s切片数据批量获取切片文件(Python)
这里从github 找到了个能获取mp3 时长的库:
https://github.com/devsnd/tinytag
脚本存到在: