项目:智能语音对话机器人

您所在的位置:网站首页 编写一个语音助手 项目:智能语音对话机器人

项目:智能语音对话机器人

2024-07-06 03:53| 来源: 网络整理| 查看: 265

技术点:

● C++STL ● http第三方库 ● 图灵机器人 ● 百度语音识别和语音识别 ● Linux系统/网络编程 ● 各种第三方库和第三方工具的安装与使用

项目简介 使用C++编写一个智能AI对话和语音命令执行的语音管理工具,其中可执行命令支持配置。主要采用C++进程编写,当程序启动后,加载配置文件,启动录音功能进行录音,调用百度语音识别平台对所录音文件进行识别;再对所识别到的文字进行判断,是命令还是普通对话,命令则执行系统命令执行模块;普通对话则交给图灵机器人进行交流,所返回的文字交给百度语音合成平台,启动播放功能,则成功进行对话。 准备工作 使用图灵机器人实现对话,需要注册图灵机器人,拥有一个属于自己的机器人使用百度语音识别和语音合成,同样也需要注册,在之后的使用中,我们选择的技术文档为C++SDK,需要下载百度C++语音识别SDK安装jsoncpp、 安装openssl、安装libcurl(需要支持https)还要准备录音和播放工具,在我的Centos 7上有系统自带的录音工具arecord,安装vlc/cvlc播放器 编码过程

● 先建立项目目录,创建工程文件,引入百度语音识别SDK

#mkdir Boyfriend #ls build.sh 构建项目的shell脚本,简单实现 command.etc语音命令配置文件 Boyfriend.cc源文件 Boyfriend.hpp核心代码 Makefile speech百度语音识别SDK temp_file保存临时语音文件目录

核心代码

LInux语音AI相关代码

#Boyfriend.hpp //1、创建相关类,包含相关头文件 #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include "base/http.h" #include "speech.h" //#define TTS_PATH "temp_file/tts.mp3" #define TTS_PATH "temp_file/tts.wav" #define ASR_PATH "temp_file/asr.wav" #define CMD_ETC "command.etc" #define LOG "log.txt" class Util{ private: static pthread_t id; public: static bool Exec(std::string command, bool is_print) { if(!is_print){ command += ">/dev/null 2>&1"; } FILE *fp = popen(command.c_str(), "r"); if(nullptr == fp){ std::cerr


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3