百度语音识别api QT window下 调试应用

使用百度提供的C++sdk调试语音识别

1. 安装工具有perl(安装openssl),QT(编写QT界面程序),VS2017(用于编译openssl,QT使用其编译器),curl(百度语音sdk需要此库的服务), jsoncpp

2. openssl安装见我的另一篇文章 VS2017+OpenSSL_1_1_0-stable VC-WIN64A编译安装  Ubuntu16.04编译安装,链接:https://mp.csdn.net/postedit/81414441

3. 使用QT官方安装包,我已经安装的版本为5.9.1

4. per在openssl安装中提到

5. 比较费劲的curl安装,指导文档少,将下载curl-7.61.0.tzip的包,解压到一个文件目录,进入winbuild目录,此目录为window工程配置目录,查看readme可看到安装方法,安装过程如下:

     1)打开VS2017开发人员X64的本机工具命令提示(我的全套配置均是基于X64平台完成)

     2)将2中编译出来的openssl库文件放到curl-7.61.0\deps\lib目录下

    3)切到winbuild目录 ,在命令行执行nmake /f Makefile.vc mode=dll VC=15 WITH_DEVEL=盘符路径\curl-7.61.0\deps\lib   WITH_SSL=dll ENABLE_SSPI=no ENABLE_IPV6=no  WITH_NGHTTP2=dll

     4)  测试直接在命令行中运行生成的curl.exe+要访问的网址,比如curl.exe     www.baidu.com  和 curl.exe https://mail.qq.com,分别测试对http和https协议的访问能力

6.  jsoncpp,这个比较简单,我才用的是直接加载实现文件的方式,并没有使用其编译库文件,jsoncpp的源码我们直接从 https://github.com/open-source-parsers/jsoncpp下载 ,执行 python.exe amalgamate.py(前提是要安装python)可以在dist目录生成所需要的文件,把dist下的json目录和jsoncpp.cpp复制到json-cpp目录下,并把jsoncpp.cpp添加进工程即可,不需要添加lib

7. 测试工程搭建

   1)我的目录结构

  2)QT工程配置文件

  

3)调试关键点,speech.h文件不要include在其他头文件中,会导致

base64_encode这一些列函数的重复定义,我将该文件包含在实现文件中引用,

4)实现的几个关键点列在途中

6) 效果展示(界面未做其他任何处理)

 7)代码资源链接https://download.csdn.net/download/qq_36517978/10653134

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 在Qt中,QJsonObject是一种用于处理JSON数据的类。结合Qt5、百度语音API和图灵机器人API,我们可以创建一个智能语音聊天机器人。 首先,我们需要使用Qt5的功能来录制和播放音频。通过QAudioFormat类和QAudioInput和QAudioOutput类,我们可以实现音频的录制和播放功能。在录制音频之后,我们可以将它发送到百度语音API进行语音识别。 百度语音API提供了语音识别的功能,它接受音频数据并将其转换为文本。我们可以使用Qt的网络功能发送音频数据到百度的服务器,并接收返回的识别结果。QNetworkAccessManager类和QNetworkRequest类可以用于发送和接收网络请求。 接下来,我们可以使用图灵机器人API实现对话的功能。图灵机器人API能够处理人类语言,并提供回答、解析意图等功能。我们可以使用Qt的网络功能发送用户输入的文本到图灵机器人的服务器,并获取机器人的回复。同样地,我们可以使用QNetworkAccessManager类和QNetworkRequest类来进行网络请求。 最后,我们可以将图灵机器人的回答转换为语音,然后用QAudioOutput类将其播放出来。这样用户就能听到机器人的回复了。 总结来说,基于Qt5、百度语音API和图灵机器人API,我们可以创建一个智能语音聊天机器人。通过Qt的音频录制和播放功能以及网络功能,我们能够将用户的语音输入发送到百度语音API进行语音识别,并将识别结果发送到图灵机器人API进行对话处理。最后,将机器人的回答转换为语音并播放给用户。 ### 回答2: 在Qt上使用QJsonObject类可以基于Qt5,通过集成百度语音API和图灵机器人API实现智能语音聊天机器人。 首先,我们需要使用Qt的网络模块与百度语音API进行交互。通过构建HTTP请求,在发送请求时传入音频数据,将其发送给百度语音API进行语音识别。返回的结果可以使用QJsonObject类进行解析和处理。可以获取识别出的文本,并将其传递给图灵机器人API进行下一步处理。 其次,通过Qt的网络模块,通过HTTP请求与图灵机器人API进行交互,将百度语音识别出的文本发送给图灵机器人API,获取其回复的文本信息。同样,可以使用QJsonObject类对返回的数据进行解析和处理。 最后,将图灵机器人API返回的回复文本再次发送给百度语音API进行语音合成。通过QJsonObject类解析返回的音频数据,将其播放出来,用户可以听到机器人的回复。 通过使用QJsonObject类,我们可以方便地对百度语音API和图灵机器人API返回的JSON数据进行解析和处理,并根据需要进行相应的操作和回应。这样,就可以实现一个基于Qt5的智能语音聊天机器人。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值