centos7 silk转mp3 wav

参考
https://github.com/kn007/silk-v3-decoder
https://blog.csdn.net/lbaihao/article/details/53143524
https://www.cnblogs.com/happycxz/p/7809607.html

下面安装的系统环境是 centos7
注:安装过程需要root权限

1 yum安装gcc (如果已安装,跳过。运行gcc –version 可以查看是否安装)

yum -y install gcc
yum -y install gcc-c++

2 编译安装ffmpeg (如果已经安装了,跳过。运行ffmpeg 可以查看是否安装)

参考 https://blog.csdn.net/lbaihao/article/details/53143524
ffmpeg-3.2.tar.bz2; 下载地址: http://www.ffmpeg.org/download.html
百度网盘链接:https://pan.baidu.com/s/1QTnqeWo2EZg6WI-wPYRRDg
提取码:c8h9

解压 (注意解压的文件名不要弄错了,改你下载的文件名)
tar -jxvf ffmpeg-3.2.14.tar.bz2

如果报错:tar (child): bzip2: Cannot exec: No such file or directory
解决:安装bzip2
yum -y install bzip2

解压ffmpeg-3.2.14.tar.bz2完后,进入解压后的目录 执行
./configure
make
make install

如果报错:
yasm/nasm not found or too old. Use --disable-yasm for a crippled build.
解决:安装yasm (参考 https://blog.csdn.net/qqqq245425070/article/details/83961218 )
切到一个专门下载安装yasm的目录,下载解压安装 yasm
下载: wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
解压:tar -zxvf yasm-1.3.0.tar.gz
进入解压后的目录yasm-1.3.0
./configure
注意:如果权限不足,加上sudo
然后执行 make
然后执行 make install

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

在这里插入图片描述

免责声明:下载下来后,360卫士提示有毒,我自己选择了恢复并信任。如果你们担心确实有毒,那么请删除不要使用。若真有毒,而且对你造成了损失,自行承担。

如果下载不下来,可以尝试用手机4G共享网络下载 或者 下载我提供的百度网盘链接
链接:https://pan.baidu.com/s/1zrO5MXvagROfvbqTIAnK5w
提取码:yg4j

将本地解压后的silk-v3-decoder-master上传到linux 服务器上

4 使用converter.sh 执行转码操作

参考
https://github.com/kn007/silk-v3-decoder
https://www.cnblogs.com/happycxz/p/7809607.html

注:第一次使用converter.sh 命令转码时 ,会自动编译生成Silk v3 Decoder,后面再次执行就不需要再次编译了

这里提供2个测试用的 silk文件,都放在百度网盘,一个我自己录的,一个是下面参考文中提供的
sample0.silk 音频内容是:你在干嘛
链接:https://pan.baidu.com/s/1psacwPJWeXmt64lqE2y12w
提取码:n3gr

sample.silk 音频内容是:从北京到太原有多少公里
链接:https://pan.baidu.com/s/1AAPpyv0SpTOX-ucPdlpQIg
提取码:s2so

下面开始转码
在converter.sh 所在目录下,用 sh converter.sh silk_v3_file/input_folder output_format/output_folder flag(format) 脚本命令转码,
例如我使用这个命令:
sh converter.sh sample.silk mp3

如果报错:[Warning] Convert 1587957414316_23591769251781244.slk false, maybe not a silk v3 encoded file.

原因:
很可能是converter.sh文件需要修改 (原因:silk文件采样率不对,具体原因 见参考文章
https://www.cnblogs.com/happycxz/p/7809607.html ); 还有种情况是你录的音频是用的微信小程序调试程序录的,内容base64加密了,而真机程序录音的silk文件没base64加密。
这2种情况 在文章https://www.cnblogs.com/happycxz/p/7809607.html 中都有指出,并且给出了解决方法。

该参考文章中 修改converter.sh 的内容是在第90行,而我实际修改的是第 70行 (vi 打文件输入:set nu 回车显示行号)
我的操作是将第70行注释,然后添加
ffmpeg -y -f s16le -ar 12000 -ac 2 -i “ 1. p c m " − f w a v − a r 16000 − a c 1 " 1.pcm" -f wav -ar 16000 -ac 1 " 1.pcm"fwavar16000ac1"{1%.*}.$2” > /dev/null 2>&1
如下图:
在这里插入图片描述

修改保存后,再次执行转码 成功了
在这里插入图片描述

转码成功后,会在当前目录下生成同名的.mp3文件,下载到windows 播放内容是正常的,大功告成!

如果想将silk文件转 wav 只要将转码命令后面指定转换成的格式改为wav 即可,其他格式我没验证,mp3 wav都是可以的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值