更新记录

v1.1(2024-10-31) 下载此版本

第一版本


平台兼容性

Vue2 Vue3
×
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.7.10 app-vue × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

说明

这个只是自己为了方便自己打卡花了两三天研究的小工具,都是采用了开源免费的框架,具体实现思路

思路图

1、前端使用uniapp写了个小模版,结合 nbVoiceRecord长按录音动画组件 这个组件改了一个长按录音的效果;

2、将录音完成后的文件转换成了 base64发到了后端进行语音识别,语音识别用的是百度开源框架,PaddleSpeech,很不错的一个开源框架,可以进行二次自主训练,我是通过自己构建的 docker镜像进行的服务搭建,它可以进行 语音识别(ASR)以及语音合成(TTS)而且还支持流式识别和合成,不过我没有用,测试了一下,流式的识别率效果不是很好,速度倒是挺快;

3、语音识别出来文字后,将文字发送给 Rasa进行解析,Rasa是国外谷歌开源的对话式Ai,有很强的自然语言理解(NLU)能力,在经过几次的训练后,已经教会它可以识别我要打卡的意图,它的主要原理也就是,将我们传过去的文本进行理解,从中识别出来意图以及实体的提取,如:帮我打一下卡 那最终提取出来的意图就是我定义的 clockin 意图,然后可以自定义意图对应的action ,那最终效果就是,发送相关文字信息过去后,它就会到后端自动帮我完成打卡功能完成后回复到前端;

4、定义action以及实现相关代码逻辑都是通过python完成的,不过实际上也很简单,基本思路也就是在python里面写一些其它业务系统的api调用就可以了,最终执行完业务代码后,就会返回对应的结果信息,都可以自定义,比如:已经打卡成功了~ 等;

5、最终Rasa返回后,就可以再将其文字再转换成语音进行播放就可以了。

相关资源

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问