音频转为silk的工具

想着开发一个鬼畜姬,意思是将收集到的鬼畜音频并作者信息做成json文件,并存放到云端。通过 koishi 可以当用户发送关键词时候发送一段鬼畜。

由于 腾讯 只支持 规定格式的 silk 音频文件的发送

希望有个插件能专门做这样转码的事情;如果有大佬开发就非常感谢了!

另外,从良才是最后的归属。

5 个赞

@idanran 叶大神有打算写个插件吗

3 个赞

要是能集成在QQ适配器里就好了
S~8H~HH(_AMW)%LI6KJ{)~V

6 个赞

这个肯定不可能,不是所有人都希望几KB的适配器为了加一个自己用不到的功能变成10MB

不如说 Koishi 的「可选服务」功能就是为了解决这种问题的,你需要用的话自己装个独立插件

4 个赞

silk-wasm的体积为200kB左右,如果可以的话,我希望能集成进适配器。不行的话,我愿意写个服务。

4 个赞

后续可能会在 satori 侧引入服务生态,允许适配器(可选)依赖某些服务运行。

另一种方法是加一个发送钩子,允许插件在发送媒体文件前对其修改。

5 个赞

不管行不行,你都可以先写个服务;先写服务总是有益的

就算集成了也没法完全解决发送语音的问题,还是先有服务更好

3 个赞

好,近期会写一个出来

2 个赞

koishi-plugin-silk 写好了

4 个赞

有使用教程吗,这个我已经安装了。我以为它是会自动识别音频转silk(

2 个赞

2 个赞

假如以前是这样方式插入的是网络音频链接:例如

<audio url="http://xxxx/xx.mp3" /> 这个得改写成什么格式?

ctx.silk.encode() 我看到了,但这个我还是太明白

3 个赞
h.audio(res.data, 'audio/amr')
3 个赞

好的!

3 个赞

抱歉,能再给个简单的demo吗… 我可能有点理解有误。

使用了目前我使用 koishi 俩个月的经验去做能理解的操作,似乎都会报红,我不敢再往下进行。

4 个赞

h是一个koishi的函数,详见文档

import { h } from 'koishi'
session.send(h.audio(res.data, "audio/amr"))
4 个赞

你好,我这边经过一些梳理。不过目前仍然无法发送音频。想再向您请教一下。

这是发送后的报错

encode 应该返回确定的类型而不是 |

3 个赞
h.audio(datas.data, "audio/amr")

另外,我建议你先学一下 TypeScript
TypeScript: Documentation - Everyday Types (typescriptlang.org)

3 个赞

好的,感谢指引,我确实刚刚接触TS。之前一直是 JavaScript

4 个赞