smmcat-hummingidentify:哼唱识别

填坑来了,由于 ctx.http 用原生方式发送 formata 数据太折磨了。索性自己搭了后端中间接口。希望大家爱惜嗯!

:warning: 该功能暂时只适配 adapter-qq 适配器,因为后端接收的数据是 .silk 数据

开箱即用的 哼唱识别 插件。无需安装 silkffmpeg

当群内发送音频时,会尝试进行声纹匹配并歌曲解析。为了避免误判做了以下操作:

  • 音频小于 8 秒:不做处理
  • 音频大于 2 M:不做处理

效果展示

官方 qqbot 仅适用于私聊状态,而第三方用户则群聊私聊都可用

目前识别源为如下列表

3 个赞

想听

2 个赞

想听 :heart_eyes:

2 个赞

请问可以加一个调试模式开关吗?
我这边好像触发不了识别,但是没有日志可以看。
谢谢劳斯

附环境信息:
System:
OS: macOS 15.4
CPU: (10) x64 Apple M4

Binaries:
Node: 20.12.2
Yarn: 4.1.1

Koishi:
Core: 4.18.7
Console: 5.30.7
Koishi Desktop: 1.1.3

用的lagrange协议

2 个赞

适配器是什么?onebot?

2 个赞

是的onebot

2 个赞

好的,我猜测你的音频数据不是 silk,导致转码那边没法操作

2 个赞

感谢解答 :saluting_face:

2 个赞

image

我不太确定后端那边能否自动明确返回数据的类型,可能后续版本得为 onebot 做一个适配兼容

2 个赞

好滴,那我这边的话这个问题估计是不太方便解决。
等您的后面的消息,不急。
再次感谢

2 个赞

已添加兼容选项,请更新到 koishi-plugin-smmcat-hummingidentify@0.0.5
在插件配置菜单中,勾选兼容 onebot 选项

并,如果您那边方便;想邀请你到我的 测试群,方便后续反馈 onebot 的使用情况

2 个赞

非常感谢
我更新后使用一下看看

测试群我在的,尝试后我会在里面向您反馈 :heart:

2 个赞

更新0.0.5后尝试,似乎还是没什么反应

要不还是加上个调试模式?我看看日志再反馈下

2 个赞

测试了0.0.5版本的插件,开关onebot兼容的情况下均没有效果,控制台无相关日志。
题外话:这是直接识别接收到的全部语音消息就触发吗?可否在后续更新中可选指令触发(例如发送哼唱识别指令后处理发送指令者的下一条语音消息)

2 个赞

你是 npm start 运行的版本,还是客户端的版本?应该每次符合要求的语音都能识别并输出打印后端返回的结果…

如果没触发,可能插件没有在工作?

是的,由于qq把音频压缩的很小,况且群消息大部分情况都是文本。插件会向服务器发送语音进行分析。

目前这个识别适用于你直接录制音乐发送,自己唱歌的识别难度挺大(至少我唱了十首只识别看两首)

2 个赞

是koishi desktop,我能反馈的就是发了语音没反应。你做成指令调用形式的我也许能更详细的给出具体情况

1 个赞