最近看一个综艺《向往的生活》被百度的产品小精灵小度所吸引,春招的时候百度来线下宣讲我怎么没举手回答问题拿到这等福利,失手了失手了。本人之前做过一个基于网络通信的Linux聊天室,可能因为做的太挫了,也没人和我用,受这个激发在百度上搜了搜居然可以用小度的文本识别的接口,又找了个语音识别的接口且当自娱自乐就完成了下面这个对话语音小精灵(总算是有人和我聊天了),等有空了接到聊天室里看看好使不。
GIT源码:https://github.com/GreenDaySky/_AIchat
涉及技术:C++ STL、http第三方库、图灵机器人、百度语音识别和语音合成、Linux系统/网络编程、各种第三方库和第三方工具的安装与使用
实现功能:在Linux下和操作系统进行语音对话交流,使其能够和操作者进行语音聊天或者完成一些本地操作
演示部分
(这个语音对话的实际上不好演示,这里机器人说话的同时也打了字幕)
我的程序是Lewis,启动他以后是我与他的对话,在网络良好的情况下百度语音识别的准确度还是蛮高的。
接下来是我在本地定义的一些关键词启动命令和程序,首先是配置文件(commmand.etc)
没有写很多,如果各位看官愿意扩展喜欢倒置这块还是挺有意思的,这里的a.out是本地编译的一个有趣的打印小程序
笔芯发射
查看当前文件下目录及文件
实现过程
首先这里我们的程序主体功能基本全封装在了Lewis.hpp这个文件当中,主要有以下几个类提供服务
class TuringRT
这个类的主要作用就是和远端图灵机器人进行连接进行本文内容的交互
这是我建立的小机器人Lewis
官网:http://www.turingapi.com/ (关于接口的信息可以上官网查询)
class TuringRT{
private:
//图灵机器人的请求地址
string url = "http://openapi.tuling123.com/openapi/api/v2";
//机器人信息
string api_key = "67a04c4097594cb3bd6c3722b8569524";
//用户id
string user_id = "1";
//这里请求发送的方式采用现成的百度语音识别Http Client
aip::H