能否通过包括但不限于模组/服务器插件/原版数据包的方式来进行玩家声音识别(麦克风)来实现以下的功能:
1. 声音识别,检测玩家说话音量大小
2. 声音识别,检测玩家是否说出特定关键词(从而实现类似于说出“咒语”执行不同操作的功能)
(不要求全部答出来,如果能的话希望能指导一下该如何实现)
1. 声音识别,检测玩家说话音量大小
2. 声音识别,检测玩家是否说出特定关键词(从而实现类似于说出“咒语”执行不同操作的功能)
(不要求全部答出来,如果能的话希望能指导一下该如何实现)
这个应该没有吧
这个功能是可以做的,但是需要客户端服务端双支持,而且需要调用到语音识别的ai模块,如果是一般私服,不建议做这种,因为数据的传输,会判定阈值,超过阈值进行录音,录音封包发送至服务端,服务端确认请求后发送至语音识别服务器,识别需要时间,识别完成后返回服务端,服务端处理语音对应文字的功能,然后将功能作用与玩家上.这一轮下来,延迟太高了,除非你服务端就搭建在语音识别服务器的内外,可以降低延迟,否则这个延迟至少都会有50ms.很不推荐,而且涉及面太广,请一个人不一定能做出来,可能要请到一个mod及插件开发,一个语音识别方面的大佬共同来制作
llf0421 发表于 2021-12-25 13:02
这个功能是可以做的,但是需要客户端服务端双支持,而且需要调用到语音识别的ai模块,如果是一般私服,不建议做 ...
①
需要客户端服务端双支持
是指需要魔改客户端和服务端吗
②如果简化一下只是获取麦克风输入并识别音量而不做AI语音识别的话,能否在单机下实现
③语音识别这一块的话,我目前想到的不是最优解的解决方案是直接使用一些云服务商的AI开放平台提供的现成的口语评测API(比对输入音频与“咒语/口令”文本,让云服务商给出得分,如果与某一条“咒语/口令”贴合那么该咒语对应的测评得分会很高)
不是最优解但语音识别就姑且先这样用吧,但遇到的最大的问题还是该如何获取玩家的麦克风输入orz
aa0307bb 发表于 2021-12-26 00:50
①
是指需要魔改客户端和服务端吗
https://github.com/henkelmax/simple-voice-chat
这是个语音聊天的mod,开源项目,可以直接参考这个的mod,插件部分只需参考如何接受客户端数据的部分及编码处理部分。
我能想到的实现功能有以下两种结构
第一种,制作客户端mod,客户端接收麦克风数据,内置语音处理的模块进行短指令的判断,以达到某种效果(比如执行指令)
第二种,客户端mod接收麦克风数据并编码上传语音处理服务器(可以是楼主说的词典完成度匹配,也可是完整的语音识别文字再判断)语音服务器设置数据导向,处理结果直接返回服务端,服务端通过插件接收数据并执行对应动作。
无论哪一种,都是需要客户端mod支持,原版并未设计有麦克风数据获取的api,所以只能通过定制mod实现
llf0421 发表于 2021-12-25 01:47
https://github.com/henkelmax/simple-voice-chat
这是个语音聊天的mod,开源项目,可以直接参考这个的mo ...
意外发现了hpspells这个模组(https://www.minecraftforum.net/f ... lls-with-your-voice或者https://www.curseforge.com/minecraft/mc-mods/hp-spells),它的语音识别居然是离线的,我把模组jar包下载下来发现代码好像已经经过了混淆,不知道是怎么实现的orz