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

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

by | 64 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

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

    年龄大,知识老化 ,真心 不懂编程 ,博主 能不能 提供 个 winxp 下的exe 文件 ,能 转换 到 wav 就好 , 整个 目录 批处理 就用 你另外 一篇博文 的法子 就很好 ,十分感谢 ,跪求!

    1. MOD回复

      @klp9009090: 额,不好意思,刚刚看到你这条信息,你可以用silk_decoder.exe,在命令行输入:

      silk_decoder in.silk out.wav

      就好了。

      至于win做个小应用,这个没问题,但最近一直都在忙,可能需要晚点有时间再找时间做。

  2. 回复

    博主您好,

    我們家老爺子今年84了,我和他不在同一城市居住,平時只靠電話溝通,老人耳有點背,因為聽不太清楚,電話說不了幾句。

    今年4月份回去,給他換了個能上網的老人手機,學了快一個星期,總算會用微信發口信。
    現在和他一天總會發幾段口信," 早呀,吃過了嘛?" ,"快十一點了,別顧看電視, 早睡覺...."
    因為電話聲音大,口信也能反覆的聽,他也常發口信過來,雖然都是閒話家常,開車往返要注意,多吃肉...." 對我來說都是十分珍貴的記憶。

    我不懂電腦,一直苦無方法保留老人的口信。網上找了很久才找到您這個博客。

    只想對您說一聲:

    十分十分感激 :smile:

    1. MOD回复

      @二禿子: 不客氣,很榮幸聽到這些,感謝您的支持!
      也祝老爺子身體健康,壽比南山!
      :twisted:
      Windows下轉換可以看這篇文章:
      https://kn007.net/topics/batch-convert-silk-v3-audio-files-to-mp3-in-windows/
      目前程式只有簡體中文和英文自適應支持,遲點會加入繁體中文支持。

  3. 回复

    可不可以做个在线版呢

  4. 回复

    :roll: :roll: :roll: :roll: 博主,PCM转silk怎么转?执行命令是什么?请受教,谢谢。

    1. MOD回复

      @wangzl: 进入silk目录,make encoder。
      用encoder in.pcm out.silk来转换。
      如果你是win,建议用这个软件: https://kn007.net/topics/batch-convert-silk-v3-audio-files-to-mp3-in-windows/

    2. 回复

      @kn007: 这个软件我用了。转出来的音乐不是加速就是慢速。不知道什么原因。所以尝试cmd命令转,BUT转完PCM就不会了。。。 :o :o

    3. 回复

      @kn007: 搞定了。谢谢喽。不过话说用WIN下的那个程序做出来的那个声音很快,跟很慢就是没有正常语速
      是什么原因。?

    4. MOD回复

      @wangzl: 不是吧!? :o 加密我确实没测试过,最近出差也没空看了,估计频率有问题。

    5. 回复

      @kn007: 现在有新问题出现,同样的一个音频。提取出来后,解密,然后重新加密,再传回去,在声音结尾处会一直有闪音,不自动停止。
      这么说可能难以理解 比如 一句话:你再干什么? 正常应该停止播放。然而编码后会变成这样:你再干什么?搭搭搭搭搭搭搭搭(类似于卡碟的声音)然后需要手动暂停才可以。

      我分析应该是编码设置问题。 请问应该怎么修改配置?

    6. MOD回复

      @wangzl: 这个问题已定位问题所在,晚点10月前会做个版本解决这个问题。

    7. 回复

      @kn007: 另外想指教 里面的采样率 输入什么代码修改? 尝试 -fs_api 20050 无法修改。是不是我敲错了?还是改不了?

    8. MOD回复

      @wangzl: 这还真没试过,没这个需求。我自己对某个音频编码解码多次,都是正常的,囧

    9. 回复

      @kn007: 你放回手机再听一下,听到结尾就会出现,我试了好几个手机,不是个例呀

    10. 回复

      @wangzl: 不知道是不是编码有BUG,跟你反馈一下。电脑听的确是没有问题的。转完MP3也是没有问题的。就是反编译后,放回手机就出现结尾的问题。
      另外,请教编码更改设置的方法。

    11. MOD回复

      @wangzl: 编译器具体不清楚,我也是取了Skype的codec,所以不清楚。
      你可以看看这贴的评论:
      https://kn007.net/topics/batch-convert-silk-v3-audio-files-to-mp3-in-windows/comment-page-1/#commnents
      也有人是反成silk的,但没反映过你这个问题。
      另外我现在出差也不方便试。

    12. MOD回复

      @wangzl: 你可以尝试下最新版本试试,下载完整包。
      https://kn007.net/topics/batch-convert-audio-files-to-silk-v3-encode-under-windows/

  5. 回复

    博主您好,谢谢你的sh,非常有用哈! 有个问题想请教您,为什么执行了脚步,确不现实执行完毕呢,一直是执行中的状态呢。。 结果是好的,amr 转成了mp3

    1. MOD回复

      @大饼: shell是有这个小bug,具体原因是因为脚本监测ffmpeg进程,而非监控pid。当有ffmpeg进程存在时,脚本就不会继续。
      也就是说这个情况的出现,可能你系统有其他应用正在使用ffmpeg,你可以尝试killall ffmpeg(不保证后果)后,再来运行脚本。

    2. 回复

      @kn007:
      感谢博主答复,恩,我查了,没有多余的 ffmpeg 进程, 我用的mac ,不知道跟系统有无关系呢?

    3. MOD回复

      @大饼: 也有可能,我也没有过多的环境测试,如果你能找到问题所在,欢迎PR。

    4. MOD回复

      @大饼: 我更新了github上的shell脚本,如果你方便并且有空的话,可以帮我测试下,会不会执行完毕却还是执行状态。

    5. 回复

      @kn007: 干的漂亮,mac下已经测试多次,没发现异常。

    6. MOD回复

      @大饼: 好的,非常感谢测试!

  6. 回复

    博主你好,我在Windows环境下,直接使用ffmpeg把微信语音amr格式的文件转换成mp3格式的时候,告诉我语音文件是无效的,不知道是什么原因

    1. MOD回复

      @小泽是逗逼: 因为不是amr

  7. 回复

    博主 您好 能帮我一下吗 ?把微信语音转变成MP3好吗?您说的我不会操作! 万分感谢 !

    1. MOD回复

      @lcxjyp: 如果你是win,建议用这个软件: https://kn007.net/topics/batch-convert-silk-v3-audio-files-to-mp3-in-windows/
      当然,如果数量不多,可以发到我邮箱:kn007@126.com

  8. 回复

    我用win版的转120个silk3,为什么是120个这也是一个bug吧?一次最多可以导入这么多?还有22个是转成0字节?
    我在github上比较过是今天最新版的 :grin:

    1. MOD回复

      @somer: 一般来说,不限制文件数额。跟文件数没关系

    2. 回复

      @kn007: 我用的是win7 64bit系统 :grin:

  9. 回复

    :x 真神奇,你的工具是否有转换进展与后台转换不同步为问题?等一段时间这22个0字节又好了?

    1. MOD回复

      @somer: 可能是系统原因吧,我还是第一次听说。。。 :grin:

  10. 回复

    博主 你好 git上的代码看不太懂 你能否做一个在命令行下运行的 exe文件 ? 类似 silk_decoder in.silk out.wav 这种 把微信的amr转换成mp3格式 可以吗 不胜感激~~

    1. 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