kn007的个人博客
♥ You are here: > > > 解码转换QQ微信的SILK v3编码音频为MP3或其他格式

解码转换QQ微信的SILK v3编码音频为MP3或其他格式

by | 436 Comments

skype-silk-v3

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或其他格式

donate
有所帮助?
Tags: , , ,

Comments

436 Comments立即评论
Loading...
  1. 回复

    你好,请问windows下能否使用命令行批量解码呢?谢谢~

    1. MOD回复

      @088: 可以,我那github repo有

  2. 回复

    你好,请问能给这个程序加上高DPI支持吗?谢谢~

  3. 回复

    麻烦问下作者,windows下 silk2mp3.exe 这个程序可以使用,但是需要点击,是否有命令行的工具?

    1. MOD回复

      @jason: 看github。

    2. 回复

      @kn007: 不好意思,我是从github 过来的。
      sh converter.sh silk_v3_file/input_folder output_format/output_folder flag(format)
      里面 是针对linux 平台写的吧?

    3. MOD回复

      @jason: 里面不是有windows目录,不是有silkv3的exe么,命令行执行就行了。

  4. 回复

    我从网上下载的一些silk的测试音频文件可以转成功 二进制头是0223 2153 494c 4b5f 5633,但最近开发小程序,下载下来的音频文件用这个工具转失败了二进制头是0023 2153 494c 4b5f 5633。能否告知原因

  5. 回复

    Version:20160922 Build By kn007 (kn007.net)
    Github: https://github.com/kn007/silk-v3-decoder

    usage: silk_v3_decoder.exe in.bit out.pcm [settings]

    in.bit : Bitstream input to decoder
    out.pcm : Speech output from decoder
    settings:
    -Fs_API : Sampling rate of output signal in Hz; default: 24000
    -loss : Simulated packet loss percentage (0-100); default: 0
    -quiet : Print out just some basic values

    两个参数,in.bit 和 out.pcm 不知道咋玩...
    希望的是输入的是 xx.amr,输出的是 xx.mp3.

    麻烦博主了

  6. 回复

    大佬。我再linux下。命令行中直接执行转换的代码是ok的。 但是用在php的shell_exec中就会报错
    [0;33m[Warning][0m Convert /www/wwwroot/bns.bdjiayu.cn/data/upload/default/20180920/5ba30f95e450c.silk false, maybe ffmpeg no format handler for wav.

    1. MOD回复

      @追风少年: php没有权限调用ffmpeg

    2. 回复

      @kn007: 大佬,我和上边一样问题,但是我还有问题 为什么我转换silk mp3后mp3 文件一直都是大小 0kb啊?ffmpeg 3.1 是版本太低吗

    3. MOD回复

      @兔子: 权限问题

    4. 回复

      @kn007: 谢谢大佬,但是目前还没解决,不知道如何弄权限。。还有转换文件可以是绝对路径吗?谢谢谢谢。

    5. MOD回复

      @兔子: 可以

icon_wink.gificon_neutral.gificon_mad.gificon_twisted.gificon_smile.gificon_eek.gificon_sad.gificon_rolleyes.gificon_razz.gificon_redface.gificon_surprised.gificon_mrgreen.gificon_lol.gificon_idea.gificon_biggrin.gificon_evil.gificon_cry.gificon_cool.gificon_arrow.gificon_confused.gificon_question.gificon_exclaim.gif