提醒:本文最后更新于 1811 天前,文中所描述的信息可能已发生改变,请仔细核实。
SILK v3编码是Skype向第三方开发人员和硬件制造商提供免版税认证(RF)的Silk宽带音频编码器,Skype后来将其开源。具体可见Wikipedia。
但是现在很难找齐源码,或者说懒得找。
一年前寻找的时候,很少看到。今年过年正好要转换QQ的语音信息(去年又是微信的语言信息),就找了下,顺便做成Shell脚本,具体可见Github项目地址:https://github.com/kn007/silk-v3-decoder。
需要gcc和ffmpeg。gcc是拿来编译silk v3 decoder源码,ffmpeg是拿来转换格式的。
调用很简单,只需一句命令:
sh convert.sh 33921FF3774A773BB193B6FD4AD7C33E.slk mp3
其中:“33921FF3774A773BB193B6FD4AD7C33E.slk”是你要转换的源文件(QQ常见为slk,微信常见为amr);后面的“mp3”是你要输出的格式。
首次使用会编译silk v3 decoder,第二次以后就不用了。
其他的没什么。略微改下,利用nginx+lua或直接用python都可以做成在线版本,暂时没什么时间,就先不搞了。反正本地能用就达到目的了。
注:如果你使用了该代码于商业目的,希望你能赞助我,谢谢!
彩蛋,33921FF3774A773BB193B6FD4AD7C33E.slk.mp3,调试时唱的歌(掩面,太难听。。。
那些忽悠帮你们写功能开发,然后不给钱的,已经好几起了。只想说这样搞,我是不会再更新了。
转载请注明转自: kn007的个人博客 的《解码转换QQ微信的SILK v3编码音频为MP3或其他格式》


新春快乐!猴年大吉!
@某非: 谢谢,同乐,大吉大利
@be.truth: 销魂过头吓死人。
看样子不错,感觉有点小难。。
@咸菜一点米: 不难
小白求问这个怎么调用,我也很想转这个但是对编程基本不懂
@陆道甍: 这么简单的事,也要问。直接按照博主写的命令执行就行啊。
@Limited: 抱歉我并没有学过编程,只是一个普通人,十分抱歉碍着您眼了
@陆道甍: 满足以下条件可转:
1.在LINUX类系统下。
2.有gcc、ffmpeg。
3.输入源必须为Silk v3编码(微信QQ一般默认就是silk v3编码,但微信有少部分是AMR编码,请直接用ffmpeg转换即可)。
@kn007: 谢谢
才看到你chatbox留言,这个搞成在线版应该会方便很多人吧
@ArchiTech: 是啊,不过暂时没时间想太多。。
话说,听声音可以猜出你的长相
@郑永: 。。。真的么。。。
又回来听了一次,哈哈。。。感觉你的声音很像 功夫足球 那个跳舞 那段 那个 ,忘了哪个,想起来再说。
@郑永: 哪个??
怎么在用java做这种转码嘛? 能实现吗?
@销魂: 可以,但我不懂Java,你可以拿我的github项目地址去问下别人。
@kn007: 哦哦,谢谢,在做这个东西,不知道怎么搞。
求教博主,在win平台下该如何使用呢,能否告知下思路,谢谢
@leeson: 很多啊。。
1.编译为win版可用的exe
2.VM
3.docker
4.在线版
...
@kn007: 谢谢回复,我已经将silk源码编译成了dll,但不知道该如何使用了,是否有sdk文档可以参考呢。。
@kn007: 将你test目录中的文件编译成exe后测试可用,非常感谢
@leeson: 不客气
问题来了,web环境下权限问题如何解决呢,不想开放系统级权限,是否有c++ lib可以代替ffmpeg进行解码?谢谢
@leeson: 这还真不知道,我之前也想写win版本,因为简单。但是想到要转换为最终格式又傻眼了,不过我记得有mp3还是wav的dll可以调用。你不妨搜索一下,有什么情况欢迎沟通。
@kn007: 好的,我去找找,谢谢回复
@kn007: 层主,请问你在win下有什么进展吗,可以给点思路借鉴一下吗
@二院荣誉院长: win下?
win下有程序支持:https://kn007.net/topics/batch-convert-silk-v3-audio-files-to-mp3-in-windows/