提醒:本文最后更新于 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格式》



很久前就关注过博主的项目,无奈当时还没有win版的程序,又是小白,只能作罢…最近又有这方面需求,又找到这里来了,工具非常好用,非常感谢!
@回到過去: 很高兴能用得上。
很感谢,我也是小白,这几天一直在捣鼓QQ语音,这工具对我帮助很大,谢谢啦。
@QSong: 不客气。
有这方面的需求,但我是小白,编程对于我来说非常困难。看到您发的这个程序真是太棒了。但有个问题再请教您,因为我从手机在导出amr或者silk文件的时候,有时候不是单个,是多个。在是多个文件的时候,语音有前后顺序,但文件名又没有顺序可寻,这个问题有解决的办法吗?
@mengcheng: 这个没办法。
但是有些朋友利用我这个源码做的插件,可以去提需求,毕竟很多是有抢红包和防撤回的,他们在提取的时候可以通过读时间修改文件名,这样就有顺序了。
我这个只是在有文件的情况下转换。
hi there , i am using silk decoder to decoder rtp payloads of network packets ,when calling from skype for business to skype for business but only noise comes not any voice can you please tell me how microsoft skype for business is making rtp payloads of packets from audio sample to silk encoder and to rtp payloads
@Adeel Ahmed: Sorry, I do not know about this.
老哥,怎么下载不了了呢!
@神舟: 怎么会。。。我试了下都很正常。
@kn007: 我用QQ浏览器下载的,下载失败。
@神舟: 不行,就去github下吧。
@kn007: 我想把MP3转换为silk编码的AMR 需要怎么做批处理文件。。
@王龙: 用软件转换后,把后缀改为amr
请问一下。你的软件转成腾讯的silk是先转成wav对吗?那么ffmpeg的命令是什么?我怎么转都不对。
@LCloud: 忘记了,跟decode一样,要选择编码和频率。
只记得lame只需要用频率参数就行了。
主文件不能打开提示,没有找到设备或无访问权限
@深蓝: 我的软件没有这种提示设定,这个提示到像windows自己的一种提示。你先确认是在我这下的,然后看下权限问题。
您好博主 , windows在本地环境下silk转pcm一切正常 , 但是在服务器上could not open input file 无法打开什么情况呢?
读写权限都已是最高 , 我用的是PHP exec执行的silk_v3_decoder 难道是因为php没有扩展ffmpeg插件的问题吗? 插件和ffmpeg.exe 应该是独立的把? 这是我的报错文件麻烦您看下大概是什么原因
C:\Windows\system32>D:/wwwroot/jghy/wwwroot/wx_small/shici/ffmpeg/silk_v3_decode
r.exe 20170207165318_c025ba160bc8.silk 20170206142055_dbd8f4ac0cae.pcm
********** Silk Decoder (Fixed Point) v 1.0.9.6 ********************
********** Compiled for 32 bit cpu *******************************
Input: 20170207165318_c025ba160bc8.silk
Output: 20170206142055_dbd8f4ac0cae.pcm
Error: could not open input file 20170207165318_c025ba160bc8.silk
@alone: 一般是php用户权限跟文件权限不一致,导致控制不了问题。
错误提示文件不存在。程序跟ffpmeg没关系,相互独立。
@kn007: 您好博主 , 服务器上文件是存在的 打印exec不执行返回NULL 本地一切正常 ,推测是exec没执行 或者还是权限问题 ,请教下您懂PHP的权限吗 cmd还有文件的权限都已经给了读写
@alone: 对win serv不熟,对centos很熟。
没法帮你。
这跟php没关系,就是系统这方面的授权问题。没授给php足够的权限。
谢谢博主了,winServer+iis中已成功把silk转为MP3
@alone: 好的,恭喜~
希望你能分享这个项目,如果你不是以盈利为目的的话。
如果是的话,有机会你可以赞助我下,谢谢~
@kn007: 这是一个好项目 正在论坛要把它分享出去 让更多的朋友看到您的原创 肯定会赞助的
@alone: 非常感谢支持,谢谢!
@kn007: 微信已赞助 ,一点心意不成敬意 , 希望别嫌少 , 感谢您的帮助和项目
@alone: 客气了!
已在特别鸣谢注明。
你好,最近在测试微信小程序的录音文件语音识别,小程序的录音是**.silk格式的,不过感觉录音的**.silk文件不纯正,经过了base64加密,也没有#!SILK_V3标志,博主有没有对微信小程序的录音文件进行测试?
@jd: 不做相关开发,不大清楚。
我记得频率不太一样。