语音聊天机器人源码混音版

易语言 2019-11-04 20:57:16

语音聊天机器人源码混音版

.子程序 _判断是否说话时钟_周期事件, , , 麦克风音量连续1秒钟小于200,就说明停止说话了。

录音音波1.取声波值 (音量, 2047)
音量 = 取绝对值 (音量)
.判断开始 (音量 > 200) ' 如果不停止录音可以把这个值设大一点比如:音量 > 400
计时 = 0
.判断 (计时 > 100) ' 时钟周期是10,如果连续100次(也就是1秒钟)音量都小于200就结束录音。这个作用就是1秒钟之内没说话就停止录音。
判断是否说话时钟.时钟周期 = 0
录音1.停止 ()
播放音乐 (#结束声音, )
按钮1.标题 = “正在识别”
录音1.保存文件 (取运行目录 () + “\ly.wav”, 真)
合成语音 (机器人对话 (识别 ())) ' 这个就是关键了,先把你说的话识别成文本,然后发给图灵机器人,再把图灵机器人的对话合成为语音并播放。
是否在录音 = 假
计时 = 0
.默认
计时 = 计时 + 1

数据 = 编码_gb2312到utf8 (发送的内容) ' ——————————先转换成utf8码
数据 = 编码_URL编码 (数据, , ) ' ——————————再进行URL编码
返回内容 = 到文本 (HTTP读文件 (“http://www.tuling123.com/openapi/api?key=bad4d07e4c1c439b935a922906176478&info=” + 数据 + “&loc=北京&userid=a1”)) ' ——————————发送给图灵
返回内容 = 编码_utf8到gb2312 (返回内容) ' —————————— 先把返回的数据转成简体中文的编码
调试输出 (返回内容) ' ——————————调试输出一下看看
需要的内容长度 = 取文本长度 (返回内容) - 寻找文本 (返回内容, #对话前, , 假) - 取文本长度 (#对话前) - 取文本长度 (#对话后) + 1 ' 全部的长度 - 前面文本所在位置 - 前面文本长度 - 后面文本长度 + 1,得出来的结果就是需要的文本长度
返回内容 = 取文本中间 (返回内容, 寻找文本 (返回内容, #对话前, , 假) + 取文本长度 (#对话前), 需要的内容长度) ' ——————————起始位置是前面文本所在位置 + 前面文本的长度
编辑框3.内容 = 返回内容 ' ——————————编辑框上显示出来
调试输出 (“对话结果:” + 返回内容)
返回 (返回内容)