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

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

by | 456 Comments

提醒:本文最后更新于 982 天前,文中所描述的信息可能已发生改变,请仔细核实。

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

456 Comments立即评论
  1. 回复

    ;-) --能将wma转slk,吗? 有偿!

    1. MOD回复

      @神一样的男子: 可以啊,已经开源了。

      github编译下silk encoder,如果你是win,直接在win里面下silk_encoder.exe,然后自己看下命令行参数。就可以将wma弄成silk了。

    2. MOD回复

      @神一样的男子: 你如果真的有心,就请赞助页面赞助。
      https://kn007.net/donate/

  2. 回复

    请教下silk_encoder.exe test.silk test.pcm 的命令行的扩张参数都有哪些。比如我想指定采样率怎么设置?例如:ffmpeg 可以用-ar 16000 指定16k采样率。期待回答。

    1. MOD回复

      @esiang: 命令行看参数

    2. 回复

      @kn007: 参数就是采样率,怎么设置?

  3. 回复

    请教下,同样是碰到了maybe not a silk v3 encoded file.的 warning ,但是issue上的方法试了下都没成功
    测试文件: 微信的.amr音频文件

    现象:mac上 测试amr文件和converter.sh 在同级目录 本地使用 sh converter.sh 文件全路径.amr mp3可以finish 但是使用 sh converter.sh 文件名 mp3 就 maybe not a silk v3 encoded file.
    然后按照文件使用全路径名的方式放到了服务器,但是服务器尝试无论使用全路径还是别的,都是报maybe not a silk v3 encoded file.

    按照issue上看到的可能是ffmpeg版本过老,从4.0.2 升级到了 4.2.1还是一样报maybe not a silk v3 encoded file.

    1. MOD回复

      @zmo: 看不懂提示么。。不是silk v3格式的文件。
      你看下是不是普通base64加密的。

  4. 回复

    windows下 mp3特殊编码成silk 替换到微信可以播放,,用cmd命令silk_v3_encoder 1.mp3 1.silk 转换的 替换后不能正常播放。 命令对吗

    1. MOD回复

      @gta: 仔细看说明

    2. 回复

      @kn007: C:\Users\Administrator\Desktop\silk-v3-decoder-master>silk_v3_encoder 4.mp3 4.s
      lk
      ********** Silk Encoder (Fixed Point) v 1.0.9.6 ********************
      ********** Compiled for 32 bit cpu *******************************
      Input: 4.mp3
      Output: 4.silk
      API sampling rate: 24000 Hz
      Maximum internal sampling rate: 24000 Hz
      Packet interval: 20 ms
      Inband FEC used: 0
      DTX used: 0
      Complexity: 2
      Target bitrate: 25000 bps
      Packets encoded: 149
      File length: 2.980 s
      Time for encoding: 0.061 s (2.052% of realtime)
      Average bitrate: 26.062 kbps
      Active bitrate: 26.062 kbps

      想问下哪个参数是特殊编码 支持微信qq的

    3. MOD回复

      @gta: 看说明

    4. 回复

      @kn007: 只有sh 用的解码的说明 编码的在哪 :smile:

  5. 回复

    楼主,用了你开源的代码,很好用。非常感谢,这里想另外请教一个问题。就是 silk转换为pcm数据,除了采样率还有其他属性可以怎么获取到吗。比如是否有 单双声道,比特率,采样精度等属性。好像文件头没有保存这些信息。看到还望回复。谢谢。

  6. 回复

    很好用,非常感谢,不过如果没有点过收藏,就不会生成silk后缀的语音文件,原先的文件转换不了。请教怎么破?

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