kn007的个人博客
♥ You are here: > > > 更新了Silk2MP3

更新了Silk2MP3

by | 104 Comments

1e53914311cabfe6

Silk2MP3的作用主要是在Windows下批量转换Silk v3音频文件为其他格式(不单是MP3),也可以反向编码音频文件为Silk v3音频文件。支持兼容微信、QQ(常见后缀有slk、silk、aud、amr)。

目前最新发布的版本详见:Silk2MP3

1.0.2.0版本,支持转换微信小程序语音,包括编码、解码。免费。

最新版本图片:

在1.0.1.0版本中,主要解决以下问题:
1.修复编码后,微信播放完,会有杂音。
2.修复无法转换缺失AMR头部的音频文件。
3.新增输出格式自定义。
4.修复一些Bug和一些逻辑错误。

比较重要的应该是第1点吧,发现有许多人用于把音频转成微信可读的语音信息在微信发送(偏商业目的,大部分利用了微信的API)。虽然本软件是免费,但是若你因此盈利,希望能赞助下博主

本来这一版本号应为1.0.0.7,但因为重写了部分逻辑,且测试多次没有问题。

经过这一次比较大的修正,遂跳过编译版本号,直接自增修正版本号。所以版本号为1.0.1.0。

如无特大问题,不会再更新,望请周知。

项目Github传送门,拉到下面有中文说明。程序下载地址、Hash值、更新历史详见之前文章

该程序由Autoit3编写,可能会被杀软误报,请自行鉴别。

最新的程序图奉上一张:
20160928221726


居然还有人找我要Sublime Text 3 3126注册码,license key的。

不知道你怎么看出来我在用的。。话说找license的直接百度谷歌不就行了,居然伸手党伸到这来了,我也是醉了。有能力的情况下,请支持正版,非常感谢。

给个关键词:Free Communities Consultoria em Informática Ltda

转载请注明转自:kn007的个人博客的《更新了Silk2MP3

donate
有所帮助?

Comments

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

    我用silk_v3_decoder成功将silk 解码,然后用ffmpeg.exe -i 转换失败,怎么回事?我是要将微信里的silk转换成mp3,是不是先用silk_v3_decoder解码,然后再转换,可以提示转换失败

    1. MOD回复

      @小宏: 什么意思?
      decoder 先转换为pcm嘛
      然后ffmpeg再转成mp3嘛。
      ffmpeg需要什么参数,github的代码不是写的很清楚么。

    2. MOD回复

      @小宏: 兄弟网站可以的。

    3. 回复

      @kn007: 加个QQ呗,57190086

    4. MOD回复

      @小宏: 加QQ就算了吧。代码在Github都有。
      有什么问题在这里说就行了

    5. 回复

      @kn007: 15KB的silk文件解码后变成360KB,然后用ffmpeg就出错了

    6. MOD回复

      @小宏: silk本来就是极度压缩的格式。PCM本来就是类似WAV,无损格式大是正常的。
      ffmpeg出错,提示什么?你先确认参数是不是正确的,参数错是无法正常转换的。
      如果你不介意,也可以发过来,我转了给你。

    7. 回复

      @kn007: 好啊,我没做程序,我直接用cmd进行本机转换,我把文件和代码发给你,怎么发?给个邮箱?

    8. 回复

      @小宏: F:\Desktop\silk-v3-decoder-master\windows\silk_v3_decoder.exe F:\Desktop\silk-v3-decoder-master\windows\636207651651815576.silk F:\Desktop\silk-v3-decoder-master\windows\636207651651815576_.pcm

      F:\Desktop\silk-v3-decoder-master\windows\ffmpeg.exe -i F:\Desktop\silk-v3-decoder-master\windows\636207651651815576_.pcm F:\Desktop\silk-v3-decoder-master\windows\636207651651815576_.mp3

    9. MOD回复

      @小宏: 你这明显参数不对,哥们。

      看下github好吧。。。。你这样只是浪费你自己的时间。

      ffmpeg -y -f s16le -ar 24000 -ac 1 -i 源文件 目标文件

      参数,参数。多留点心。

    10. 回复

      @kn007: Estimating duration from bitrate, this may be inaccurate
      Guessed Channel Layout for Input Stream #0.0 : mono
      已经成功输出mp3了,但是这个警告是什么 意思?

    11. MOD回复

      @小宏: 我的理解是语音文件有多通道,它选择了一条。
      我记得有三种通道类型吧,通过channel_layout可以选。
      不过没选过,以前语言没出现过这个。能正常就行了。

    12. 回复

      @kn007: 好的,谢谢你 ;-) ;-)

    13. MOD回复

      @小宏: 不客气

  2. 回复

    首先感谢分享!想请教下,我在cmd下执行:
    silk_v3_decoder.exe 3.amr 3t.pcm 8000
    提示Error: unrecognized setting: 8000
    是不支持8000的采样率,还是我setting的方式写错了?试过 -8000也不对,16000也不对...
    感谢!

    1. MOD回复

      @拜特瑞斯: ...你可以看下说明的。。
      -Fs_API 8000

    2. 回复

      @kn007: 好使了,多谢...
      我傻了,我看说明里写-Fs_API,然后我就写的-Fs_API...一看不对,然后又看default:24000,我心想,应该是直接写数字的意思吧,于是...哈哈

    3. MOD回复

      @拜特瑞斯: 因为默认是24000要说明出来。所以那样写了

    4. 回复

      @kn007: 非常感谢,这个应用我的确用于商业项目了。在此特别呼吁用于商业项目的网友自觉捐赠。金额不在多少,希望中国的互联网精神继续下去。再次感谢。 :mrgreen:

    5. MOD回复

      @拜特瑞斯: 非常感谢你的赞助!
      也谢谢你这番话。

  3. 才发现有Silk v3这么个东西 。看样子是decode之后再调用 lame编码成mp3吧? :roll:

    1. MOD回复

      @荒野無燈: 嗯,主要是decoder,我都已经调试好,发出来源码

  4. 回复

    闪电健身mini小程序用到你的程序编码的silk文件,谢谢你的工作。

    估计一大波开发小程序的作者正在赶来... ;-)

    1. MOD回复

      @fabware: 哈,感谢赞助,已添加在特别鸣谢

      有很多表达谢意的朋友,也有顺带捐助的小伙伴,无论如何都非常感谢。
      每一笔捐款,我都会在特别鸣谢注明。谢谢大家。 :!:

    2. MOD回复

      @fabware: 话说,兄弟。。你们公司名是真的吗!? :arrow:
      卖个萌科技(深圳)有限公司 :mrgreen:

    3. MOD回复

      @fabware: 还真有,我查到了。。。 :o
      可以的,很强势!

    4. 回复

      @kn007: 现在的版本用的网络地址播放语音,体验真差。

      现在的版本正在改为用slk文件,下周应该可以上线,很期待新版本。 :smile:

  5. 回复

    报error wrong Header ata :audi错 什么意思?

    1. MOD回复

      @小马: 自己用记事本打开就知道了。你这是小程序的吧。

  6. 回复

    decoder 先转换为pcm就失败了,是微信silk升级了解不了了吗

    1. MOD回复

      @小马: 小程序有不同的加密方式,微信提取的仍然是一样的。

    2. 回复

      @kn007: fs.readFile("../uploads/files/e358efa489f58062f10dd7316b65649e19634727.silk",'utf8',function(err,data){

      console.log(data);
      var bitmap = new Buffer(data, 'base64');
      fs.writeFileSync("../uploads/files/sdasdasdas.txt",bitmap);

      })
      我把小程序base64解码,然后生成.slik 然后再用ffmpeg转吗

    3. MOD回复

      @小马: 对,直接-i进ffmpeg,但最好你看下是哪种加密方式的文件

    4. MOD回复

      @小马: win新版本已经支持微信小程序语音转换。

    5. 回复

      @kn007: 卧槽,那有什么解决办法吗

  7. 回复

    请问目前微信小程序录音生成的silk文件不能转MP3了吗?使用silk2mp3-full工具1.0.1.2版本进行转换时,提示“转换失败,转换为MP3失败”

    1. MOD回复

      @尼古拉屎: 看前人的回复。
      小程序的需要先base64解码后,ffmpeg再转,解码后有几种格式,有些格式ffmpeg要最新版本才能转得了。

    2. 回复

      @尼古拉屎: 已经成功转化成MP3了 大小差不多但是不能播放,这是为什么? :cry:

    3. MOD回复

      @小马: 不能正常播放,指杂音?还是无法播放?

    4. 回复

      @kn007: 不能播放

    5. MOD回复

      @尼古拉屎: win新版本已经支持微信小程序语音转换。

  8. 回复

    @kn007 有人成功将小程序中的录音的silk(用base64加密)文件,转码为mp3的吗?我已经折腾了几天了,还是没弄出来 :x

    1. MOD回复

      @Sam: 非常多的人啊。
      非常简单的步骤,解码,转换。

    2. 回复

      @Sam: data:audio/webm;base64,GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQJChYECGFOAZwH/////////FUmpZpkq17GDD0JATYCGQ2hyb21lV0GGQ2hyb21lFlSua7uuudeBAXPFhxo7Fn1LKNmDgQKGhkFfT1BVU2Oik09wdXNIZWFkAQEAAIC7AAAAAADhibWERzuAAJ+BAR9DtnUB/////////+eBAKNBo4EAAID7g8Zqf5jD27T9LWWa0IOzORAYdYr3LzQyx93aRxr97xQIrFiYztEanCX7bw8Dz2v9zPyrywNz7Gc9Ma7fVCSn4+Gj29LZOiIcj8NJ9iPA9y3GMUuCHNMbVVexmE088FUJjerJyigpXONECVL1pWgREYOnbQQtCde0EPLHikyVJWP+rQgY7mWwLMRr5QFkCCQJbT6pZMEM/nr9HUXVjC/4tjeu7jXL2z+aVYf
      微信silk是这种格式,直接解base64,要不要把data:audio/webm;base64,头去掉再解码生成mp3是大小0k,但是不去掉生成mp3无法播放,这是什么原因 :cry:

    3. MOD回复

      @小马: 。。。这不是很清楚的格式吗。。。

      先base64解码,然后用支持webm编码的解码器解码,转换为mp3

    4. 回复

      @小马: 你的问题搞定了吗?

    5. MOD回复

      @Sam: win新版本已经支持微信小程序语音转换。

    6. 回复

      @kn007: 为什么新版本的silk_v3_decoder.exe执行时将silk转pcm还是会报错呢,但是silk2mp3已经可以转换小程序的录音了啊

    7. MOD回复

      @zby: 因为小程序语音不是silk v3啊,自然silk v3 decoder就不能解码啊。

      至于win为什么可以,看新文章有说。
      https://kn007.net/topics/2017-june-talk-about-recently/

  9. 回复

    sh silk-v3-decoder-master/converter.sh song/msg_131941f6283106.amr mp3
    [Warning] Convert song/msg_131941f6283106.amr false, maybe not a silk v3 encoded file.
    在centos6.5下执行的,帮分析下是什么问题导致的?

    1. MOD回复

      @lorin: 首先,你这个文件是从手Q或手机微信提取出来的吗?
      是,那么提供下文件头来看看。
      否,那文件可能不是silk v3编码,自然就转换不了。
      比如小程序并不是silk v3,大多数是webm编码后,用base64编码。

    2. 回复

      @kn007: 我遇到和他一样的问题,文件头是#!SILK_V3 ,Debian8.0,gcc 4.9.2的,记事本打开并不是base64那种编码的格式

    3. MOD回复

      @aimuz: 他是小程序语音啊,你用win能转换吗? :sad:
      我发现现在用linux的人挺多的啊 :grin:

    4. 回复

      @kn007: 我的也是小程序, :smile: :smile: ,但是用记事本打开看到的并不是那种base64编码的形式,win可以转换的 :!: :!: linux用做服务器要多一点。 :?:

    5. MOD回复

      @aimuz: 服务器。。如果商业目的,希望能赞助一下。

      一般来说是没问题的,如果你确信看到silk头,你重新clone github后,第一次转换的时候,你看编译有没有报错

    6. 回复

      @kn007: 第一次就是提示没有gcc好像,然后我就安装了一下gcc,可以运行,但是一种这种错误-e [Warning] Convert uploads/594bc90657d7e.wx-file.silk false, maybe not a silk v3 encoded file. 在里面看到了#!SILK_V3 :!: :!: :!: :!:

    7. MOD回复

      @aimuz: 你现在有gcc了,重新git clone一下,转换试试

    8. 回复

      @kn007: 好了,谢谢大佬。 :smile: :smile:

    9. MOD回复

      @aimuz: 小程序现在还有silk v3的少见了,一开始全部都是

    10. 回复

      @kn007: 那现在小程序的格式都不固定的吗 ;-) ;-)

    11. MOD回复

      @aimuz: 基本是base64的

    12. 回复

      @kn007: 那这么说。微信好坑啊 :cry: :cry:

    13. MOD回复

      @lorin: win新版本已经支持微信小程序语音转换。

    14. 回复

      @kn007: 对于音频编码这块不太了解,最近公司做小程序需要把微信小程序录音的silk文件转码为mp3或wav,因为不需要做高保真,所以只要普通PC播放器支持就可以了,而且尝试用了Git上提供的sh文件进行转码,结果提示“Convert output/10020170419153432671.silk false, maybe not a silk v3 encoded file”,按照你的思路,那么微信提供的silk文件压根就不是silk v3,那么linux下这个转码过程要如何实现?win版本试过可以进行转码,可以提供一下思路么,exe文件看不到实现过程。

    15. MOD回复

      @leven: 微信小程序的语音问题,我已经重复了无数遍了,在我博客和邮件里。
      base64解码后,支持webm的解码器都可以直接解码。

    16. 回复

      @kn007: :!: 好的,谢谢

    17. 回复

      @kn007: :oops: 转码问题已解决,特此感谢无私分享 :!: 音频转码这块对于我来说是个技术盲区,花了些时间了解,再次感谢~

    18. MOD回复

      @leven: 不客气

  10. 回复

    刚试着把mp3转换到silk,语速都变慢了。。画风突然转变。。 :grin:

    1. MOD回复

      @MeeSii: 说明不是标准频率的silk,软件默认转换频率为24000。
      你可以编译decoder后,加上参数指定频率

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