Mp3 文件音频转换成微信语音 Silk
在人生中第一要紧的是发现自己。为了这个目的,各位时常需要孤独和深思 —— 南森
场景需求
我们的业务需求是批量的给其他人员进行发送语音功能,但是微信的语音格式是 silk 格式的这种格式比正常的Mp3 音频格式小的多,所以我们需要想法将 Mp3 语音格式转换成 silk 的语音格式
技术调研
转换流程
Mp3 音频格式转换成 pcm 文件,再将 pcm 转换成 silk 文件
ffmpeg
市面上的音频转换插件常用的就是 ffmpeg ,这个插件主要是进行多媒体音频文件的格式转换,所以我们此次用到了这个第三方软件 ffmpeg,下载地址 www.ffmpeg.org/download.ht…,这个插件的作用是将 Mp3 文件转换成 pcm 文件
silk-v3-decoder
这里我们需要感谢一个开源大佬 github.com/kn007/silk-… 这个是开源插件的地址,这插件主要是将 pcm 转换成 silk 文件
ffmpeg 安装
下载
wget http://www.ffmpeg.org/releases/ffmpeg-3.1.tar.gz
用时 7.4 s 将这个软件下载下来了,后续的步骤就是解压安装这个软件了
解压
tar -zxvf ffmpeg-3.1.tar.gz
安装
指定目录安装
./configure --prefix=/usr/local/ffmpeg
此时提示我们需要安装一个依赖【yasm 是汇编编译器,ffmpeg为了提高效率使用了汇编指令,如MMX和SSE等。所以系统中未安装yasm时,就会报上面错误】
下载yasm依赖
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
解压
tar -zxvf yasm-1.3.0.tar.gz
安装
./configure
make
make install
继续编译 ffmpeg
./configure --prefix=/usr/local/ffmpeg
此时没有问题了,继续进行make 和make install 进行安装就可以了
make && make install
验证
ffmpeg -version
出现这个画面就证明了这个软件已经安装成功了
mp3 转 pcm 验证
ffmpeg -y -i {源文件.mp3} -f s16le -ar 24000 -ac 1 {目标文件.pcm}
指令参数说明
-y 强制覆盖
-i 输入文件
-f s16le 转换格式 s16le
-ar 24000 频率Hz,默认的微信音频频率是24000
-ac 1 频道数
测试
现在系统里面有一个叫 格式转换测试.mp3的文件,我们就把他转换成 pcm 文件
ffmpeg -y -i 格式转换测试.mp3 -f s16le -ar 24000 -ac 1 格式转换测试.pcm
结果展示
此时已经成功一半了已经将 mp3 文件转换成 pcm 文件