kn007的个人博客
♥ You are here: Home > 软件与网络 > Autoit3 > Windows下批量转换Silk v3音频文件为MP3格式

Windows下批量转换Silk v3音频文件为MP3格式

by | 515 Comments

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

0ec17619ec44feb52e238b54c5718796前有《解码转换QQ微信的SILK v3编码音频为MP3或其他格式》和《[进阶]批量解码转换SILK V3编码音频为其他格式》这两篇文章,大概讲述了怎么批量转换Silk v3音频为其他格式,但都是Linux下可用的。

有几个陌生人问如何在Windows使用和转换,还有发邮件给我转换的。有时候不帮忙,又显得有点假清高。想想还是弄个Windows可用的转换程序,直接将Silk v3编码的音频输出为MP3。

正好也很久没用过Autoit写东西了,几个原因凑一起,就弄了个:Github传送门

kn007/silk-v3-decoder[Skype Silk Codec SDK]Decode silk v3 audio files (like wechat amr, aud files, qq slk files) and convert to other format (like mp3). Batch conversion support.

求测试、求Star。Github地址拉到下面有中文说明。

因为是Autoit写的,或许有一些垃圾杀毒软件会报毒。

终止维护声明:

鉴于很多人总是反映说杀毒软件报毒,我已经不想过多解释了,不相信可以不用。

杀毒软件用好点的牌子,像卡巴斯基等这种,能会报毒么?非要相信那些小厂的误报。

既然你没什么判断能力,还是不要用的好,免得万一发生什么,还要怪到我这。

求你们别用,好吧。

文件下载地址:

文件: silk2mp3.zip
大小: 922254 字节
修改时间: 2020年1月23日, 10:02:56
MD5: 9A156B8D81B87926580D3C7EF1C02DC3
SHA1: ED672C2C231773547AE9CCECCF043819304CFE44
CRC32: E20CD19F

文件: silk2mp3-expansion.zip
大小: 14900840 字节
修改时间: 2019年2月14日, 23:34:07
MD5: 61E3970456682947D0A57B9505161790
SHA1: 37D98991301811564C5871A208E7F3E8D5F4B231
CRC32: 7A40E4AB

文件: silk2mp3-full.zip
大小: 15501268 字节
修改时间: 2020年1月23日, 10:03:58
MD5: 903FB6779BE5F6C821591520B1594E52
SHA1: 607C269B4CD6C9802F063926478825A71C319F44
CRC32: 225F412E

更新历史:
2020-01-23发布1.0.3.3版本:
修复上一版本打包方式导致的win10以下系统不可用问题。

2020-01-04发布1.0.3.2版本:
重新打包程序。

2019-06-17发布1.0.3.1版本:
重新打包程序。

2019-06-17发布1.0.3.0版本:
迫于微软MSE压力,重新打包程序。

2019-05-24发布1.0.2.9版本:
迫于Google压力,重新打包程序。

2019-03-30发布1.0.2.8版本:
重新打包程序。

2019-02-19发布1.0.2.7版本:
修复上一版本一大失误(列表无法显示)。

2019-02-14发布1.0.2.6版本:
重新打包程序。

2017-09-01发布1.0.2.5版本:
优化代码。

2017-08-22发布1.0.2.4版本:
修复一些Bug。

2017-08-22发布1.0.2.3版本:
1.修复一些Bug。
2.去掉拖拽功能。

2017-08-19发布1.0.2.2版本:
修复一些Bug。

2017-06-28发布1.0.2.1版本:
支持拖拽文件进列表框替换待转换文件列表。

2017-05-28发布1.0.2.0版本:
1.“尝试强制AMR编码解码文件”变为可选项。
2.支持微信小程序语音转换(包括编码、解码)。
3.修复一些Bug。

2017-02-19发布1.0.1.2版本:
强制输出固定频率和最大化比特率(主要针对MP3)。

2016-11-03发布1.0.1.1版本:
1. 添加编码输出格式自定义。
2. 修复一些Bug。

2016-09-30发布1.0.1.0版本:
1. 修复缺失AMR头无法转换问题。(但也带来一定量的误转换)
2. 新增关于页。
3. 修复一些Bug。

2016-09-22发布1.0.0.6版本:
1.修复编码后,微信播放完,会有杂音。
2.新增输出格式自定义。(请勿随意修改,除非你确信是对的)
3.修复一些Bug。

2016-07-27发布1.0.0.5版本:
1.最小加载模式。(Silk V3 Encoder和FFmpeg,需要下载Expansion包)
2.当发现程序目录下存在FFmpeg时,启用专业模式。(优先使用FFmpeg,不存在时使用LAME)

2016-06-15发布1.0.0.4版本:
1.添加语言支持,新增繁体中文支持。
2.修复一些Bug。

2016-06-01发布1.0.0.3版本:
1.支持转换音频文件为Silk v3编码。
2.修复一些Bug。

2016-04-29发布1.0.0.2版本:
隐藏转换时弹出的命令行窗口。

2016-04-13发布1.0.0.1版本:
1.添加语言支持,新增英文支持。
2.Fix Some Bugs.

2016-04-12发布1.0.0.0版本:
第一个版本,由Autoit3编译而成。

压缩包内部文件一览:

文件: ffmpeg.exe
大小: 36560896 字节
MD5: 170913E96730ED552392D9C06023515D
SHA1: 41B42AB46A83FBD82B62233CF9F52C950F0C05FD
CRC32: 05C8F349

文件: lame.exe
大小: 653312 字节
文件版本: 3.99 release 5
MD5: 17728C0F48D30E3770ACF6F3FEA3B184
SHA1: 1848CDC71F583B34147AF2D1009F4F9CE19D77D3
CRC32: 3B8F45D9

文件: silk2mp3.exe
大小: 660008 字节
文件版本: 1.0.3.3
MD5: 5956F1AD437FD25F81BD31665F8FA1B6
SHA1: A17C48766B71667D9EB9795EAC11E245D69665BC
CRC32: 7D42B4D1

文件: silk_v3_decoder.exe
大小: 179037 字节
MD5: BB0B72D969293E5D41A3DA6E25B62D1B
SHA1: 22DE4AF082C8AB57C611950264708668CD0815BE
CRC32: EF6BE0F4

文件: silk_v3_encoder.exe
大小: 318514 字节
MD5: 4F253BC1185DA46A18D0CC5EAA146E35
SHA1: AD6250C5CA6ED0A1CB805D1A6F53F421F67A2ED7
CRC32: 6444593C

其中lame.exe是一款不错的MP3编码器,主程序就是通过它将RAW音频编码为MP3;
而ffmpeg.exe是一款更强大的编码解码器,一些LAME做不到的事情,可以交由FFmpeg来做;
silk_v3_decoder.exe是我用MinGW编译Skype Silk Codec而成的,可解码Silk v3音频为RAW;
silk_v3_encoder.exe是我用MinGW编译Skype Silk Codec而成的,可编码RAW音频为Silk v3;
silk2mp3.exe是我用Autoit3写的主程序,负责调用silk_v3_decoder.exe、silk_v3_encoder.exe和lame.exe来批量转换文件。

程序在Windows XP/7/10测试通过,可正常使用。

另外求个赞助

最后丢几张图:
20160413145612
20160413145643


MinGW下使用gcc.exe编译出来的可执行文件,跨系统运行可能会报dll丢失。比如提示

无法启动此程序,因为计算机中丢失libgcc_s_dw2-1.dll。尝试重新安装该程序已解决此问题。

或者什么

无法启动此程序,因为计算机中丢失libstdc++-6.dll。尝试重新安装该程序已解决此问题。

等等等等。。。

可以给CFLAGS加个“-static”参数,或者在直接运行gcc.exe编译时,后面带上“-static”参数,来解决这个问题。小坑记录一下。

转载请注明转自: kn007的个人博客 的《Windows下批量转换Silk v3音频文件为MP3格式

donate
有所帮助?

Comments

515 Comments立即评论
  1. LV6回复

    雅蠛蝶~~~神兽出没~~~敬请回避~~~

    1. MOD回复

      @小可: :o :o :o

    2. LV6回复

      @kn007: 雅蠛蝶:一种神兽的名字咯。

    3. MOD回复

      @小可: :razz: 真的?

    4. LV6回复

      @kn007: 雅蠛蝶、草泥马、法克鱿、菊花蚕、春鸽、吉拔猫、尾身鲸、鹳狸猿、达菲鸡、潜烈蟹、十大神兽!!!

    5. MOD回复

      @小可: 刚才一外部测试抽风了,所以进待审核了

    6. LV6回复

      @kn007: 草泥马~~~这个也是神兽~~~你连神兽都敢屏蔽~~~哼哼~~~

    7. MOD回复

      @小可: 没有啊。。。

  2. LV5回复

    没有这样的需求…… :x

    1. MOD回复

      @老杨: :mrgreen: 说明你老了。。当有异性用语音给你唱歌送祝福什么的,你肯定想保留下来。。。这个需求就出现了。 :mrgreen:

    2. LV5回复

      @kn007: 好吧,确实老了…

    3. MOD回复

      @老杨: :lol: 说笑说笑。不过确实有这个需求。。。
      你懂的,暧昧总是令人流连。。。 :oops:

  3. 我想要一种软件,把视频文件的音频提取出来,有啥好办法不? :roll:

    1. MOD回复

      @Meekdai: 用个软件就行,我查一下我的存档目录,收集癖的好处,稍等

    2. MOD回复

      @Meekdai: 全能音频转换通 v1.2 能满足你,什么都可以转成音频文件。 :roll:

    3. @kn007: OK,回头去试试!

    4. MOD回复

      @Meekdai: 嗯嗯

  4. 回复

    不知大神可否研究一下如何反向把MP3文件转换成Silk v3格式文件,不知是否能实现

    1. MOD回复

      @Kvkzhi: 编译一下encoder就可以了。

      https://github.com/kn007/silk-v3-decoder/blob/master/silk/test/Encoder.c

    2. 回复

      @kn007: 感谢您能回复我,然而我只是一个不懂编程的小白,并不知道怎么改 :o :o :o ,不知您什么时候抽空可以整合到你现有的这个工具中,实现双向转换,这样工具就完美了

    3. MOD回复

      @Kvkzhi: 暂时无这个需求。而且工具本身只做解码。晚点有时间可能会看看

    4. 回复

      @kn007: 好吧,还是感谢能分享这么方便的工具

  5. 回复

    或者您也可以考虑写一个通俗的反向转换教程

    1. MOD回复

      @Kvkzhi: 很简单,你找个工具可以把mp3转换成pcm的,然后用encoder,把pcm编码为silk v3

    2. LV1回复

      @kn007: 您好!大神,请问如何反向把MP3文件转换成Silk v3格式文件?或者说如何使用encoder,把pcm编码为silk v3?谢谢

    3. MOD回复

      @JeWily: pcm直接转成silk v3,简单啊。直接用github中的encoder编译出来就可以了。你可以看看

    4. LV1回复

      @kn007: 非常感谢您的回复!首先呢 主要我是这个小白对编程什么都没学过,我工作和学习都不是跟这个相关的,那些代码指令什么的真不会。但是我对于这些我有一种说不出的喜欢!哈哈,说的有点多了!你说的这个github 我已经安装了,并注册创建了自己的库,但是真不懂得用github中的encoder如何转换呢!可以指点一下吗?如果您有空的话,可以写一个这个程序出来吗?哈哈。。。感激不尽! :razz:

    5. MOD回复

      @JeWily: 没空,主要是。
      直接把silk中的encoder.c编译成程序就可以了。
      使用方法:
      encoder in.pcm out.slk

    6. LV1回复

      @kn007: 真不会 :cry: 我还是等你有空再写出来吧。总之谢谢你了。

    7. MOD回复

      @JeWily: 已做成软件,拿去用吧,当儿童节礼物吧。软件求宣传。

    8. LV1回复

      @kn007: 收到了,谢谢你的礼物了。好用的话一定会帮你宣传的,感谢!

    9. LV1回复

      @kn007: 您好,使用特殊编码出来的silk语音替换进去微信后,微信发送出来的语音是放慢几百倍的效果,这是为什么?有的替换进去还是发送不出去,请问是什么问题呢?

    10. MOD回复

      @JeWily: 我个人没试过,因为无需求。这个语音重新解回mp3正常吗?

    11. 回复

      @JeWily: 有时候慢,有时候快,正常的时候 放进去结尾会有鬼畜。已经跟作者说了。BUT 好像作者没需求。所以,如果作者不研究的话,基本就烂尾了。。。

    12. MOD回复

      @wangzl: 那就不要用。我都说了,我只是基于Skype codec写了程序。出现的问题,概不负责。而且我也强调了几次,出差,没空理这事。

    13. MOD回复

      @JeWily: 做了最新版本了,你可以下载完整版试试,在本帖中可以查看到。
      发布说明见 https://kn007.net/topics/batch-convert-audio-files-to-silk-v3-encode-under-windows/

    14. MOD回复

      @JeWily: pcm到silk v3用这个:
      https://dl.kn007.net/directlink/silk_v3_encoder.exe
      如果你是给QQ或微信用的,用这个
      https://dl.kn007.net/directlink/silk_v3_encoder_for_tencent.exe

    15. LV1回复

      @kn007: 昨天收到邮件了,谢谢大神。你辛苦了

    16. LV1回复

      @kn007: 系统WIN7 64位,双击打不开软件。两个版本都是打不开,请问是什么原因?

    17. MOD回复

      @JeWily: 这是命令行工具。

    18. LV1回复

      @kn007: 那这个命令行工具是不是要在cmd那里输入指令才能打开啊?输入什么指令?我看它是exe文件,我以为是直接打开就可用呢

    19. MOD回复

      @JeWily: 什么指令,命令行自然有提示。

    20. LV1回复

      @kn007: 表示不会运行 :cry: :cry:

    21. LV1回复

      @kn007: 能做到像你那个 silk2mp3软件一样吗?直接双击打开,这样就方便很多了。

    22. MOD回复

      @JeWily: 。。。没这个需求,说实在的,方法已放在这里,就靠你自己完成了。
      当伸手党也不是不可以,前提愿意付费,可以考虑做个程序。解码是因为我有需要,别人也有需要,我分享。编码的话,就几个有少许商业目的的,就要付费做了。
      或者你如果不超过3个文件,我可以帮你转一下。

    23. LV1回复

      @kn007: 好吧

    24. MOD回复

      @Kvkzhi: 你也可以直接编译encoder直接来编译MP3为silk v3,但是要统一赫兹和信道

    25. 回复

      @kn007: :o 不懂编程的孩子伤不起,我还是老实等您有空做出工具吧

    26. MOD回复

      @Kvkzhi: 已做出来了,当儿童节礼物吧。。。软件求宣传。

  6. 很不错的批量转换小软件 收藏

    1. MOD回复
  7. 回复

    博主您好,我也想在WIN平台下将PCM转换为SILK。看了您的回复。我尝试编译encoder.c。可是确提示错误。想求教下是什么原因呢?
    C:\silk>gcc Encoder.c -o Encoder
    In file included from SKP_Silk_control.h:31,
    from SKP_Silk_SDK_API.h:31,
    from Encoder.c:40:
    SKP_Silk_typedef.h:107:7: warning: no newline at end of file
    In file included from SKP_Silk_SDK_API.h:31,
    from Encoder.c:40:
    SKP_Silk_control.h:91:7: warning: no newline at end of file
    In file included from SKP_Silk_SDK_API.h:33,
    from Encoder.c:40:
    SKP_Silk_errors.h:89:7: warning: no newline at end of file
    In file included from Encoder.c:40:
    SKP_Silk_SDK_API.h:152:7: warning: no newline at end of file
    C:\Users\FireFrog\AppData\Local\Temp/ccIVhaaa.o(.text+0x5aa):Encoder.c: undefine
    d reference to `SKP_Silk_SDK_get_version'
    C:\Users\FireFrog\AppData\Local\Temp/ccIVhaaa.o(.text+0x760):Encoder.c: undefine
    d reference to `SKP_Silk_SDK_Get_Encoder_Size'
    C:\Users\FireFrog\AppData\Local\Temp/ccIVhaaa.o(.text+0x7b4):Encoder.c: undefine
    d reference to `SKP_Silk_SDK_InitEncoder'
    C:\Users\FireFrog\AppData\Local\Temp/ccIVhaaa.o(.text+0x9a1):Encoder.c: undefine
    d reference to `SKP_Silk_SDK_Encode'
    collect2: ld returned 1 exit status

    1. MOD回复

      @烈火青蛙: gcc少包了吧,还是编码有问题。我编译一份给你吧

    2. MOD回复

      @烈火青蛙: https://dl.kn007.net/directlink/silk_v3_encoder.exe

    3. 回复

      @kn007: 万分感谢您的迅速回复~感激不尽啊~

    4. MOD回复

      @烈火青蛙: 不客气,话说类似mp3这些怎么转换成pcm?你用什么工具? :?:

    5. 回复

      @kn007: 软件在笔记本上忘记名字了。。不过后来我也没用那个软件了。就用格式工厂转为24KHz的PCM编码WAV格式就可以了。不过有个问题在于QQ的SILK音频,在文件头加了一个字符,如果不包含这个字符,QQ就无法识别音频文件。我是想用MYPCQQ机器人框架发送音频。转换后的音频文件头不符,发出去了无法识别。我现在是用易语言手动修改字节集来实现,不知道你有没有什么便捷的方法能够修改文件头?

    6. MOD回复

      @烈火青蛙: 你说的是 ^B 这个符号是吧。。。我还真不知道怎么加,autoit我也没想好怎么加上这个。
      不过这个字符有什么定义没有,我可以改一下编译到c自动加。

    7. MOD回复

      @烈火青蛙: 你有没有示例文件给我看看?
      我自己的微信和QQ语音导出来的貌似头部都不带特殊符号。。。

    8. 回复

      @kn007: 稍等,我找一个来,家里电脑上好多资源没有。

    9. MOD回复

      @烈火青蛙: 行,不急。反正也是试试。如果单纯只是头部加符号,这个很好解决,在c上动动就可以了。不必在终端解决,麻烦,转一个还要改一次,浪费效率。 :|

    10. MOD回复

      @烈火青蛙: 你上班还挺近的啊 :o 公司电脑也不关,莫非方便远程么 :razz:

    11. 回复

      @kn007: 公司网络禁止了一切远程。。。要不然直接取回来就方便了。。。你看这个amr文件。www.woaini.us/mypc/test.amr。实际上是silk编码。但是最前面有一个字符。

    12. MOD回复

      @烈火青蛙: 好的,等等

    13. MOD回复

      @烈火青蛙: 这域名好牛。。。

    14. 回复

      @kn007: 哈哈。注册的时候检索了一下woaini,发现us居然没被注册。。运气好

    15. MOD回复

      @烈火青蛙: 我只能看到^B,你等等我编译到c里面。

    16. 回复

      @kn007: 我试了好多次,这个分隔符应该没有什么实际意义,纯粹是QQ用来识别语音来源的。

    17. MOD回复

      @烈火青蛙: OK了,你测试下。
      https://dl.kn007.net/directlink/silk_v3_encoder_for_tencent.exe

    18. 回复

      @kn007: 已测试,现在转换后,QQ可以识别了!太感谢了,之前在使用字节集替换实在太复杂了。。

    19. MOD回复

      @烈火青蛙: 嗯嗯嗯,不客气。
      有问题还是可以提出来,有能力会帮忙解决的。

    20. 回复

      @kn007: 嗯,再次感谢~那么,我先去吃饭啦~安~

    21. MOD回复

      @烈火青蛙: 嗯,好的,有作品记得分享哈~我的QQ是890048,有事也可以交流

    22. 回复

      @kn007: 哈,这话很让我惭愧。。因为我跟编程沾边点的就是易语言。。而且还就是做个插件的层面。。。C什么的其实完全不懂。。

    23. MOD回复

      @烈火青蛙: 我也不懂C,但是现有东西改改还是可以的。我只会Autoit和php,都是瞎玩玩。

    24. MOD回复

      @烈火青蛙: 我把编码功能集成到程序里了。

    25. LV1回复

      @烈火青蛙: 你好,大神。我想请教一下你,请问kn007作者写的这个/silk_v3_encoder_for_tencent.exe命令行工具该怎么打开使用呢?空的话,可不可以教教我,万分感谢。 :smile:

  8. 有什么用呢 :?:

    1. MOD回复

      @夏天烤洋芋: 就是可以转换提取出来的QQ和微信的语音文件为普通播放器能播放的格式。

    2. @kn007: :cry: 并没有人给我发音频。

    3. MOD回复

      @夏天烤洋芋: 。。。

  9. 回复

    支持一下,试用了下,不错。

    1. MOD回复

      @bison: 谢谢 :grin:

  10. 回复

    你好,能不能做个Linux版本可用,带图形界面的版本?

    1. MOD回复

      @gqshine: 我前面的帖子有Linux命令行能用的转换,不过确实没有gui,不懂在linux下做gui诶。。。能力不够 :o 如果要用只能暂时你自己用命令行来转,也是非常方便的。
      https://kn007.net/topics/advanced-batch-decoding-silk-v3-encoded-audio-to-other-formats/

;-):|:x:twisted::smile::shock::sad::roll::razz::oops::o:mrgreen::lol::idea::grin::evil::cry::cool::arrow::???::?::!: