繁体   English   中英

如何将丝绸音频文件从微信号转换为amr格式?

[英]How to convert silk audio file from WeChat to amr format?

当我开发微信迷你程序时,我想实现语音控制。 但微信客户提供的音频是丝绸。

我需要将丝绸文件转换为某种格式,可以通过第3种语音检测服务识别。

一些第三服务支持amr格式。 这真的很棒,因为尺寸可能非常小。

步骤如下:

  1. 将丝绸文件上传到您的服务器。
  2. 解码丝绸文件。 多亏了这个项目 ,这是一个很棒的工具,可以将丝绸文件解码为pcm格式。
  3. 安装ffmpeg,因为有些许可狗屎,默认情况下,ffmpeg不支持amr,你必须安装opencore-amr。 最简单的方法是brew install ffmpeg --with-opencore-amr --with-speex
  4. 因为amr格式只支持8kHz,所以项目中的shell(如上所述)不起作用。 我们必须将第70行中的命令更改为ffmpeg -y -f s16le -ar 24000 -ac 1 -i "$1.pcm" -ar 8000 "${1%.*}.$2”

在MacOS上,程序正在将丝绸转换为mp3,你可以稍微操作一下并在其他操作系统上测试amr。

  1. 下载跛脚http://lame.sourceforge.net/ ,运行

    ./configure && make && sudo make install

    如果遇到

      架构x86_64的未定义符号:\n “_lame_init_old”,引自:\n  -exported_symbol [s_list]命令行选项\n ld:找不到架构x86_64的符号\n clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)\n
    ./configure之前从${lame}/include/libmp3lame.sym删除行lame_init_old

  2. http://ffmpeg.org/下载ffmpeg,运行

    ./configure --enable-libmp3lame && make && sudo make install

    如果遇到

      nasm / yasm未找到或太旧。  使用--disable-x86asm进行残缺的构建。\n
    然后在./configure之前运行brew install yasm

  3. 下载https://github.com/kn007/silk-v3-decoder

  4. 运行命令将silk转换为mp3。

    ${your-silk-v3-decoder-folder}/converter.sh {silk file full path} mp3你会看到mp3文件与输入丝相同的路径。 丝绸档案的路径必须是完整的路径。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM