易语言制作语音聊天机器人的代码

常量数据表

.版本 2
.常量 对话前, "<文本长度: 7>", , text":"
.常量 对话后, "<文本长度: 2>", , "}
.常量 token前, "<文本长度: 16>", , "access_token":"
.常量 双撇号, "<文本长度: 1>", , "
.常量 apikey, "<文本长度: 24>", , Tc9KWDDFPLm1QNVPgEx7kco6
.常量 Secretkey, "<文本长度: 32>", , DnqP3q2GwOqGuYI9sUhLT4l7uC2f1yVL
.常量 识别返回前, "<文本长度: 10>", , result":["
.常量 识别返回后, "<文本长度: 3>", , "],

语音聊天机器人的代码

此功能需要加载精易模块5.6

.版本 2
.支持库 eMMedia
.支持库 ESpeechEngine
.支持库 internet
.支持库 spec
.支持库 eAPI
.程序集 窗口程序集_启动窗口
.程序集变量 API地址, 文本型
.程序集变量 APIkey, 文本型
.程序集变量 唤醒名, 文本型, , "0"
.程序集变量 音量, 短整数型
.程序集变量 计时, 整数型
.程序集变量 最大频段, 整数型
.程序集变量 发送内容, 文本型
.子程序 _语音识别1_识别到语音
.参数 识别文本, 文本型
.如果真 (寻找文本 (识别文本, 唤醒名 [1], , 假) ≠ -1) ' 识别到唤醒名就开始录音。
 录音音波1.打开 () ' 这个是检测麦克风音量的用的
 最大频段 = 录音音波1.取上限 () - 1
 播放音乐 (#开始声音, )
 设置唤醒按钮.标题 = “正在聆听”
 录音1.录制 () ' 开始录音……
 判断是否说话时钟.时钟周期 = 10 ' 判断是否在说话的时钟。
.如果真结束
.子程序 _设置唤醒按钮_被单击
语音识别1.创建 (0, 1) ' 初始化语音识别引擎,初始化失败的需要下载微软的语音识别引擎Microsoft Speech SDK v5.1
加入成员 (唤醒名, 编辑框1.内容)
语音识别1.加入常用 (唤醒名)
信息框 (“设置成功,请直接对着麦克风呼唤: ” + 编辑框1.内容 + “ 即可开始对话”, 0, )
设置唤醒按钮.禁止 = 真
.子程序 机器人对话, 文本型, , 调用图灵机器人API接口
.参数 发送的内容, 文本型
.局部变量 数据, 文本型
.局部变量 返回内容, 文本型
.局部变量 需要的内容长度, 整数型
数据 = 编码_gb2312到utf8 (发送的内容) ' ——————————先转换成utf8码
返回内容 = 到文本 (HTTP读文件 (“http://www.tuling123.com/openapi/api?key=bad4d07e4c1c439b935a922906176478&info=” + 数据 + “&loc=北京&userid=a1”)) ' ——————————发送给图灵
返回内容 = 编码_utf8到gb2312 (返回内容) ' —————————— 先把返回的数据转成简体中文的编码
调试输出 (返回内容) ' ——————————调试输出一下看看
需要的内容长度 = 取文本长度 (返回内容) - 寻找文本 (返回内容, #对话前, , 假) - 取文本长度 (#对话前) - 取文本长度 (#对话后) + 1 ' 全部的长度 - 前面文本所在位置 - 前面文本长度 - 后面文本长度 + 1,得出来的结果就是需要的文本长度
返回内容 = 取文本中间 (返回内容, 寻找文本 (返回内容, #对话前, , 假) + 取文本长度 (#对话前), 需要的内容长度) ' ——————————起始位置是前面文本所在位置 + 前面文本的长度
编辑框3.内容 = 返回内容 ' ——————————编辑框上显示出来
返回 (返回内容)
.子程序 获取token, 文本型, , 获取百度验证信息
.局部变量 临时数组, 文本型, , "0"
.局部变量 返回的文本, 文本型
.局部变量 token, 文本型
返回的文本 = 到文本 (HTTP读文件 (“https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=” + #apikey + “&client_secret=” + #Secretkey))
临时数组 = 分割文本 (返回的文本, #token前, )
token = 取文本左边 (临时数组 [2], 寻找文本 (临时数组 [2], #双撇号, , 假) - 1)
返回 (token)
.子程序 合成语音, , , 调用百度语音合成API接口
.参数 需要合成的文本, 文本型
.局部变量 句柄, 整数型
.局部变量 z, 文本型
.局部变量 返回的语音, 字节集
z = 需要合成的文本
z = 编码_gb2312到utf8 (z) ' 先转换成utf8编码
z = 编码_URL编码 (z) ' 再进行URL编码
媒体播放1.停止 ()
媒体播放1.关闭 () ' 关闭正在播放的才能写出新的语音
返回的语音 = HTTP读文件 (“http://tsn.baidu.com/text2audio?tex=” + z + “&lan=zh&ctp=1&cuid=” + 取本机网卡物理地址 () + “&tok=” + 获取token () + “&pit=9”)
写到文件 (“C:\Users\Administrator\Desktop\1.mp3”, 返回的语音)
媒体播放1.打开 (“C:\Users\Administrator\Desktop\1.mp3”)
媒体播放1.播放 (-1, )
调试输出 (“合成语音完成”)
设置唤醒按钮.标题 = “完成”
.子程序 _判断播放状态时钟1_周期事件, , , 如果播放完了就关闭文件,这样才能写出新的文件
.判断开始 (媒体播放1.取状态 () = 2)
 媒体播放1.关闭 ()
.默认
.判断结束
.子程序 _判断是否说话时钟_周期事件
录音音波1.取声波值 (音量, 2047)
音量 = 取绝对值 (音量)
.判断开始 (音量 > 200)
 计时 = 0
.判断 (计时 > 100) ' 时钟周期是10,如果连续100次(也就是1秒钟)音量都小于200就结束录音。这个作用就是1秒钟之内没说话就停止录音。
 判断是否说话时钟.时钟周期 = 0
 录音1.停止 ()
 播放音乐 (#结束声音, )
 设置唤醒按钮.标题 = “正在识别”
 录音1.保存文件 (取运行目录 () + “\ly.wav”, 真)
 合成语音 (机器人对话 (识别 ()))
 计时 = 0
.默认
 计时 = 计时 + 1
.判断结束
.子程序 识别, 文本型, , 调用百度语音识别API接口
.局部变量 MAC, 文本型
.局部变量 语言, 文本型, , , 中文=zh、粤语=ct、英文=en,不区分大小写,默认中文
.局部变量 返回内容, 文本型
MAC = 取本机网卡物理地址 ()
语言 = “zh”
返回内容 = 编码_utf8到gb2312 (到文本 (网页_访问 (“http://vop.baidu.com//server_api?lan=” + 语言 + “&format=wav” + “&rate=8000” + “&channel=1” + “&cuid=” + MAC + “&token=” + 获取token (), 1, , , , “Content-Type:audio/wav;rate=8000;Content-length=999999”, , , 读入文件 (取运行目录 () + “\ly.wav”), )))
返回内容 = 取文本中间 (返回内容, 寻找文本 (返回内容, #识别返回前, , 假) + 取文本长度 (#识别返回前), 寻找文本 (返回内容, #识别返回后, , 假) - 寻找文本 (返回内容, #识别返回前, , 假) - 取文本长度 (#识别返回前)) ' 取得需要的文本
调试输出 (“识别后的内容:” + 返回内容)
编辑框2.内容 = 返回内容
返回 (返回内容)

运行结果:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • 易语言调用百度语音平台实现文字转换语音功能的代码

    调用百度语音平台实现文字转换语音功能 此功能需要加载精易模块5.6 .版本 2 .支持库 wmp9 .程序集 窗口程序集1 .子程序 _试听按钮_被单击 播放器1.地址 = "http://tts.baidu.com/text2audio?lan=zh&pid=101&ie=UTF-8&text=" + 编码_URL编码 (内容编辑框.内容, , 真) + "&spd=5&per=4" ' 参数 可需 描述 ' tex 必填

  • 易语言调用TTS语音模块实现文字转换语音功能的代码

    DLL命令表 .版本 2 .DLL命令 CoInitialize, 整数型, "ole32.dll", "CoInitialize" .参数 pvReserved, 整数型 .DLL命令 CoUninitialize, , "Ole32.dll", "CoUninitialize", , 在当前线程,关闭COM库,卸载所有加载的DLL的线程,释放线程保持的任何其他资源,并强制关闭所有的线程上的RPC连接. 利用系统自带的TTS

  • 易语言做语音朗读工具方法

    怎么自己动手做一个语音朗读的小工具呢 1.打开易语言,新建一个易语言窗口程序 2.在右边添加一个媒体播放组件和一个编辑框组件,一个按钮组件. 3.在左边模块菜单添加精易模块 4.在左边属性改下如下属性内容 5.双击启动窗口,写入如下代码 6.双击按钮组件,写入如下代码 7.点击运行,并静态编译成可执行程序.好了,一个小的语音朗读工具做好了 总结:以上就是关于易语言做语音朗读工具方法教学,感谢大家的阅读和对我们的支持.

  • 易语言制作方言版语音合成工具

    麦霸传说语音合成专家 此功能需要加载讯飞云语音模块 .版本 2 .支持库 exui .支持库 iext .程序集 窗口程序集_启动窗口 .程序集变量 音乐, 文本型 .子程序 __启动窗口_创建完毕 云语音_初始化 ("dev.voicecloud.cn:80/index.htm", "5476b55d", "10000", "speex.dll", "2048") 时钟1.时钟周期 = 100 组合框_语

  • 易语言识别语音的方法

    可以调用调用百度语音识别API来识别语音,具体步骤如下 1.首先要去百度开发者中心去申请这个服务 2.进去后找到百度语音识别服务,然后下面有个立即使用,然后如果说你没有创建过应用的话那就先去创建个应用. 3.具体内容自己填写,填写完毕后点击下一步. 4.会发现直接性就申请好了.这时候点击应用管理就可以看到你开通的语音识别服务. 5.这时候,请你拿起笔记下你的AID和APIKey和SecretKey,这个在源码中是需要修改的. 6.然后去这个网站把源码下载下来.http://pan.baidu.c

  • 易语言制作语音聊天机器人的代码

    常量数据表 .版本 2 .常量 对话前, "<文本长度: 7>", , text":" .常量 对话后, "<文本长度: 2>", , "} .常量 token前, "<文本长度: 16>", , "access_token":" .常量 双撇号, "<文本长度: 1>", , " .常量 apikey, &q

  • 易语言制作QQ聊天添加自定义小尾巴工具

    DLL命令表 .版本 2 .DLL命令 SetWindowsHookEx, 整数型, , "SetWindowsHookExA", , 建立钩子 .参数 idHook, 整数型 .参数 lpfn, 子程序指针 .参数 hmod, 整数型 .参数 dwThreadId, 整数型 .DLL命令 CopyMemory, , , "RtlMoveMemory" .参数 Destination, 按键信息, 传址 .参数 Source, 整数型 .参数 Length, 整数型

  • 易语言制作连连看小游戏的代码

    图片资源表 .版本 2 .图片 卡通 .图片 横线 .图片 竖线 .图片 左上 .图片 右上 .图片 左下 .图片 右下 .图片 苹果, , 背景图 连连看的代码 .版本 2 .程序集 窗口程序集1 .程序集变量 显示图片, 字节型, , "0" .程序集变量 上次移动, 字节型 .程序集变量 上次点击, 字节型 .程序集变量 横数, 字节型 .程序集变量 竖数, 字节型 .程序集变量 图片数, 字节型 .程序集变量 可消除, 文本型, , "0" .程序集变量 剩

  • 易语言制作汽车油耗计算器的代码

    汽车油耗计算器 .版本 2 .程序集 窗口程序集_启动窗口 .子程序 _计算按钮_被单击 .局部变量 公里, 双精度小数型 .局部变量 油量, 双精度小数型 .局部变量 油价, 双精度小数型 .局部变量 每公路价格, 双精度小数型 .局部变量 百公里油耗, 双精度小数型 .局部变量 每公升油路程, 双精度小数型 .如果真 (编辑框_公里.内容 = "" 或 编辑框_油箱.内容 = "" 或 编辑框_油价.内容 = "") 信息框 ("信

  • 易语言qq强制聊天功能制作

    用易语言制作强制聊天软件. 即使不加友,不在同一个群也可以给对方发消息! 1.打开易语言添加一个,超文本浏览框 2.再添加一个编辑框.输入号码用的 3.添加按钮,双击按钮写代码. 4.写代码: 超文本浏览框1.地址 = 5.接下来写: "tencent://Message/?menu=no&exe=QQ&uin=" + 编辑框1.内容 + "&websiteName=chaonan. com&info=" 6.tencent://Me

  • 易语言制作随机验证码教学

    如果能帮到你,请支持一下. 易语言制作注册登陆验证码. 随机生成数字字母,大小写字母,易语言验证码! 1.先打开易语言,新建一个窗口. 根据所需绘制基本组件. 我这里绘制的是一个登陆窗口. 2.添加一个分组框,在分组框内添加4个标签,各标签标题大小间距根据需求设置.(注:分组框的目的就是方便同时调整4个标签,在把标签加入到分组框时应该注意,先选中分组框,然后点击组件里面的标签在分组框内绘制.) 3.好了,现在开始写代码了. 打开窗口程序集,Ctrl + L 添加一个程序集变量,验证.文本型 目的

  • 易语言制作国王的勇士辅助步骤

    用易语言制作国王的勇士辅助 1.打开易语言,双击windows窗口程序,这样就进去了 2.进去之后,左边有属性,调整高度和宽度,比国王的勇士窗口大就行.然后在菜单栏找到工具  支持配置库  全选 然后确定 3.在右边找到超文本浏览框 然后放在你的启动窗口里,然后在左边的地址里输入游戏的网址,然后把超文本框拉平,覆盖全屏 4.然后在右边找到选择夹放到你认为合适的地方,然后拉大. 5.然后在左边找到状态条,然后放在一个你觉得合适的地方,然后右击,找到项目设置,进去之后,先插入,点击插入的空白,在内容

  • 易语言制作IP代理程序教学

    IP代理相信大家都比较了解,这里不废话了,这里用易语言制作的也是一个简单的IP代理,只能设置网页的代理,并不能进行全局的IP代理!IP通过网页进行获取! 1.打开易语言,新建windows窗口程序,简单做一个界面,这我们用一个超级列表框来显示获取到的IP 2.先看看采集IP的网址,这里选用快代理,好处就是自带了验证,所以写的软件就不带验证项了. 3.超级列表框设为报表,设置报表列,整行选择为真,显示格线为真! 4.因为用到正则,所以新建一个常量,用于存放匹配表达式,共进行了6处的匹配! 5.看代

  • 易语言制作图标提取器方法

    图标提取器网上也很多这样的工具,这里我们就用易语言自己做一个,本人也是一边学边应用,代码不一定好,只给大家参考学习用 1.我们先做好图标提取器的界面,添加两个按钮,两个编辑框,适当更改一下窗口的标题和标签说明 2.接着增加一个图片框,设置为凹入式,背景颜色为白,添加标签说明接着增加一个图片框,设置为凹入式,背景颜色为白,添加标签说明 3.接着再添加两个通用对话框,通用对话模型1类型设置为"保存文件",通用对话框2类型设置为"打开文件" 4.界面做好了,再看代码部分,

随机推荐