美文网首页
如何解析微信的语音文件

如何解析微信的语音文件

作者: 已不再更新_转移到qiita | 来源:发表于2020-02-24 13:43 被阅读0次

    前几天想把微信里的语音文件导出来,就研究了一下,是个麻烦事儿:aud格式不是常见的音频格式(它现在隶属于Skype),拿到电脑上无法直接播放,还是转成wmv、mp3更通用的格式比较方便。

    如何处理微信语音的 aud文件呢?

    1、现在的aud文件本质上是silk格式,只需要去掉第1个字节,后面紧跟着的就是#!SILK_V3
    2、此时使用某种工具,可以将silk文件转换成pcm 音频文件
    3、再将pcm转成wav、mp3等

    经过一番查找,发现了能将 silk文件转为 pcm格式的格式的工具 silk-v3-decoder —— https://github.com/kn007/silk-v3-decoder

    如何使用 silk-v3-decoder

    先 clone silk-v3-decoder, 然后进入 silk文件夹,你会发现 Makefile 文件,直接织编译即可,或者使用项目提供的脚本。

    sh converter.sh 33921.aud.silk mp3
    其中33921.aud.silk是要转换的文件,而mp3是最终转换后输出的格式。

    如果你需要批量转换,比如转换某个目录,那么使用:sh converter.sh input-folder ouput-folder mp3

    其中input-folder是要转换的目录,而ouput-folder是最终转换后音频输出的目录,最后的mp3是最终转换后输出的格式。

    如果想要输出 wmv,自然是 sh converter.sh input-folder ouput-folder wmv

    如何合并多个音频文件

    对于音频来说,有左声道、右声道,用 ffmpeg合并很麻烦,一些合并参数始终没弄明白,于是又找到了一个好工具 SoX

    SoX(即 Sound eXchange)是一个跨平台(Windows,Linux,MacOS 等)的命令行实用程序,可以将各种格式的音频文件转换为需要的其他格式。SoX 还可以对输入的音频文件应用各种 效果,也支持在大多数平台上 播放录制音频文件。

    格式转换

    sox file.wav file.mp3
    将文件的格式由 wav 转为 mp3

    拼接文件

    sox 1.wav 2.wav Full.wav

    1.wav2.wav 合并至 Full.wav 文件,注意合并前的音频文件需保持一致的类型和采样率等。

    sox 的操作比ffmpeg方便了太多,更多的sox技巧请大家参考它的使用文档。


    参考:

    https://zhuanlan.zhihu.com/p/21783890

    http://iosre.com/t/topic/3199

    Extracting Audio Messages from WeChat

    https://github.com/kn007/silk-v3-decoder

    SoX — 音频处理工具里的瑞士军刀

    https://www.jianshu.com/p/cdb9d2e2bc14

    相关文章

      网友评论

          本文标题:如何解析微信的语音文件

          本文链接:https://www.haomeiwen.com/subject/efnmqhtx.html