提醒:本文最后更新于 2282 天前,文中所描述的信息可能已发生改变,请仔细核实。
前有《解码转换QQ微信的SILK v3编码音频为MP3或其他格式》和《[进阶]批量解码转换SILK V3编码音频为其他格式》这两篇文章,大概讲述了怎么批量转换Silk v3音频为其他格式,但都是Linux下可用的。
有几个陌生人问如何在Windows使用和转换,还有发邮件给我转换的。有时候不帮忙,又显得有点假清高。想想还是弄个Windows可用的转换程序,直接将Silk v3编码的音频输出为MP3。
正好也很久没用过Autoit写东西了,几个原因凑一起,就弄了个:Github传送门。
求测试、求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测试通过,可正常使用。
另外求个赞助。
MinGW下使用gcc.exe编译出来的可执行文件,跨系统运行可能会报dll丢失。比如提示
无法启动此程序,因为计算机中丢失libgcc_s_dw2-1.dll。尝试重新安装该程序已解决此问题。
或者什么
无法启动此程序,因为计算机中丢失libstdc++-6.dll。尝试重新安装该程序已解决此问题。
等等等等。。。
可以给CFLAGS加个“-static”参数,或者在直接运行gcc.exe编译时,后面带上“-static”参数,来解决这个问题。小坑记录一下。
转载请注明转自: kn007的个人博客 的《Windows下批量转换Silk v3音频文件为MP3格式》



雅蠛蝶~~~神兽出没~~~敬请回避~~~
@小可:
啥
@kn007: 雅蠛蝶:一种神兽的名字咯。
@小可:
真的?
@kn007: 雅蠛蝶、草泥马、法克鱿、菊花蚕、春鸽、吉拔猫、尾身鲸、鹳狸猿、达菲鸡、潜烈蟹、十大神兽!!!
@小可: 刚才一外部测试抽风了,所以进待审核了
@kn007: 草泥马~~~这个也是神兽~~~你连神兽都敢屏蔽~~~哼哼~~~
@小可: 没有啊。。。
没有这样的需求……
@老杨:
说明你老了。。当有异性用语音给你唱歌送祝福什么的,你肯定想保留下来。。。这个需求就出现了。 
@kn007: 好吧,确实老了…
@老杨:
说笑说笑。不过确实有这个需求。。。
你懂的,暧昧总是令人流连。。。
我想要一种软件,把视频文件的音频提取出来,有啥好办法不?
@Meekdai: 用个软件就行,我查一下我的存档目录,收集癖的好处,稍等
@Meekdai: 全能音频转换通 v1.2 能满足你,什么都可以转成音频文件。
@kn007: OK,回头去试试!
@Meekdai: 嗯嗯
不知大神可否研究一下如何反向把MP3文件转换成Silk v3格式文件,不知是否能实现
@Kvkzhi: 编译一下encoder就可以了。
https://github.com/kn007/silk-v3-decoder/blob/master/silk/test/Encoder.c
@kn007: 感谢您能回复我,然而我只是一个不懂编程的小白,并不知道怎么改
,不知您什么时候抽空可以整合到你现有的这个工具中,实现双向转换,这样工具就完美了
@Kvkzhi: 暂时无这个需求。而且工具本身只做解码。晚点有时间可能会看看
@kn007: 好吧,还是感谢能分享这么方便的工具
或者您也可以考虑写一个通俗的反向转换教程
@Kvkzhi: 很简单,你找个工具可以把mp3转换成pcm的,然后用encoder,把pcm编码为silk v3
@kn007: 您好!大神,请问如何反向把MP3文件转换成Silk v3格式文件?或者说如何使用encoder,把pcm编码为silk v3?谢谢
@JeWily: pcm直接转成silk v3,简单啊。直接用github中的encoder编译出来就可以了。你可以看看
@kn007: 非常感谢您的回复!首先呢 主要我是这个小白对编程什么都没学过,我工作和学习都不是跟这个相关的,那些代码指令什么的真不会。但是我对于这些我有一种说不出的喜欢!哈哈,说的有点多了!你说的这个github 我已经安装了,并注册创建了自己的库,但是真不懂得用github中的encoder如何转换呢!可以指点一下吗?如果您有空的话,可以写一个这个程序出来吗?哈哈。。。感激不尽!
@JeWily: 没空,主要是。
直接把silk中的encoder.c编译成程序就可以了。
使用方法:
encoder in.pcm out.slk
@kn007: 真不会
我还是等你有空再写出来吧。总之谢谢你了。
@JeWily: 已做成软件,拿去用吧,当儿童节礼物吧。软件求宣传。
@kn007: 收到了,谢谢你的礼物了。好用的话一定会帮你宣传的,感谢!
@kn007: 您好,使用特殊编码出来的silk语音替换进去微信后,微信发送出来的语音是放慢几百倍的效果,这是为什么?有的替换进去还是发送不出去,请问是什么问题呢?
@JeWily: 我个人没试过,因为无需求。这个语音重新解回mp3正常吗?
@JeWily: 有时候慢,有时候快,正常的时候 放进去结尾会有鬼畜。已经跟作者说了。BUT 好像作者没需求。所以,如果作者不研究的话,基本就烂尾了。。。
@wangzl: 那就不要用。我都说了,我只是基于Skype codec写了程序。出现的问题,概不负责。而且我也强调了几次,出差,没空理这事。
@JeWily: 做了最新版本了,你可以下载完整版试试,在本帖中可以查看到。
发布说明见 https://kn007.net/topics/batch-convert-audio-files-to-silk-v3-encode-under-windows/
@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
@kn007: 昨天收到邮件了,谢谢大神。你辛苦了
@kn007: 系统WIN7 64位,双击打不开软件。两个版本都是打不开,请问是什么原因?
@JeWily: 这是命令行工具。
@kn007: 那这个命令行工具是不是要在cmd那里输入指令才能打开啊?输入什么指令?我看它是exe文件,我以为是直接打开就可用呢
@JeWily: 什么指令,命令行自然有提示。
@kn007: 表示不会运行

@kn007: 能做到像你那个 silk2mp3软件一样吗?直接双击打开,这样就方便很多了。
@JeWily: 。。。没这个需求,说实在的,方法已放在这里,就靠你自己完成了。
当伸手党也不是不可以,前提愿意付费,可以考虑做个程序。解码是因为我有需要,别人也有需要,我分享。编码的话,就几个有少许商业目的的,就要付费做了。
或者你如果不超过3个文件,我可以帮你转一下。
@kn007: 好吧
@Kvkzhi: 你也可以直接编译encoder直接来编译MP3为silk v3,但是要统一赫兹和信道
@kn007:
不懂编程的孩子伤不起,我还是老实等您有空做出工具吧
@Kvkzhi: 已做出来了,当儿童节礼物吧。。。软件求宣传。
很不错的批量转换小软件 收藏
@什么最值买: 欢迎
博主您好,我也想在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
@烈火青蛙: gcc少包了吧,还是编码有问题。我编译一份给你吧
@烈火青蛙: https://dl.kn007.net/directlink/silk_v3_encoder.exe
@kn007: 万分感谢您的迅速回复~感激不尽啊~
@烈火青蛙: 不客气,话说类似mp3这些怎么转换成pcm?你用什么工具?
@kn007: 软件在笔记本上忘记名字了。。不过后来我也没用那个软件了。就用格式工厂转为24KHz的PCM编码WAV格式就可以了。不过有个问题在于QQ的SILK音频,在文件头加了一个字符,如果不包含这个字符,QQ就无法识别音频文件。我是想用MYPCQQ机器人框架发送音频。转换后的音频文件头不符,发出去了无法识别。我现在是用易语言手动修改字节集来实现,不知道你有没有什么便捷的方法能够修改文件头?
@烈火青蛙: 你说的是 ^B 这个符号是吧。。。我还真不知道怎么加,autoit我也没想好怎么加上这个。
不过这个字符有什么定义没有,我可以改一下编译到c自动加。
@烈火青蛙: 你有没有示例文件给我看看?
我自己的微信和QQ语音导出来的貌似头部都不带特殊符号。。。
@kn007: 稍等,我找一个来,家里电脑上好多资源没有。
@烈火青蛙: 行,不急。反正也是试试。如果单纯只是头部加符号,这个很好解决,在c上动动就可以了。不必在终端解决,麻烦,转一个还要改一次,浪费效率。
@烈火青蛙: 你上班还挺近的啊
公司电脑也不关,莫非方便远程么 
@kn007: 公司网络禁止了一切远程。。。要不然直接取回来就方便了。。。你看这个amr文件。www.woaini.us/mypc/test.amr。实际上是silk编码。但是最前面有一个字符。
@烈火青蛙: 好的,等等
@烈火青蛙: 这域名好牛。。。
@kn007: 哈哈。注册的时候检索了一下woaini,发现us居然没被注册。。运气好
@烈火青蛙: 我只能看到^B,你等等我编译到c里面。
@kn007: 我试了好多次,这个分隔符应该没有什么实际意义,纯粹是QQ用来识别语音来源的。
@烈火青蛙: OK了,你测试下。
https://dl.kn007.net/directlink/silk_v3_encoder_for_tencent.exe
@kn007: 已测试,现在转换后,QQ可以识别了!太感谢了,之前在使用字节集替换实在太复杂了。。
@烈火青蛙: 嗯嗯嗯,不客气。
有问题还是可以提出来,有能力会帮忙解决的。
@kn007: 嗯,再次感谢~那么,我先去吃饭啦~安~
@烈火青蛙: 嗯,好的,有作品记得分享哈~我的QQ是890048,有事也可以交流
@kn007: 哈,这话很让我惭愧。。因为我跟编程沾边点的就是易语言。。而且还就是做个插件的层面。。。C什么的其实完全不懂。。
@烈火青蛙: 我也不懂C,但是现有东西改改还是可以的。我只会Autoit和php,都是瞎玩玩。
@烈火青蛙: 我把编码功能集成到程序里了。
@烈火青蛙: 你好,大神。我想请教一下你,请问kn007作者写的这个/silk_v3_encoder_for_tencent.exe命令行工具该怎么打开使用呢?空的话,可不可以教教我,万分感谢。
有什么用呢
@夏天烤洋芋: 就是可以转换提取出来的QQ和微信的语音文件为普通播放器能播放的格式。
@kn007:
并没有人给我发音频。
@夏天烤洋芋: 。。。
支持一下,试用了下,不错。
@bison: 谢谢
你好,能不能做个Linux版本可用,带图形界面的版本?
@gqshine: 我前面的帖子有Linux命令行能用的转换,不过确实没有gui,不懂在linux下做gui诶。。。能力不够
如果要用只能暂时你自己用命令行来转,也是非常方便的。
https://kn007.net/topics/advanced-batch-decoding-silk-v3-encoded-audio-to-other-formats/