1 百度语音模块

参考http://blog.csdn.net/u011118482/article/details/55001444

1.1 百度语音识别包

git clonehttps://github.com/DinnerHowe/simple_voice.git 

在catkin下编译

1.2 安装pyaudio播放器

sudo apt-get install python-pyaudio 

1.3 安装python所需环境

sudo apt-get install vlc

1.4 测试安装

roslaunch simple_voicesimple_voice.launch 

测试语音合成

rostopic pub /speak_string std_msgs/String-- '请让一下'

会在home中生成Xbot文件,里面按合成的语句的固定字节截断作为名字存放下载的合成语音。如果两段话前几句相同,会相互覆盖。

roslaunch simple_voice simple_voice.launch

1.5 建议

可以改写成服务比节点好。

2 图灵聊天机器人模块

图灵机器人只支持一轮对话,而且不提供sdk,如果有条件可以自己开发聊天机器人。

目前聊天机器人基本还是模板匹配,依靠检索问答,使用通配符或者文本相似度。

目前免费,收费版也很便宜,免费版有次数限制。

1.1 注册

1.2 机器人个性

设置一些属性,以及在线训练。

1.3 私有语料库

语料库基于相似度匹配,但有时智障,一摸一样的句子,它会回答自己的语料库,而不是你的私有语料库

1.4 机器人技能

机器人的一些技能拓展。

1.5 后台分析

1.6 图灵聊天机器人原理

问句输入后,进入筛选器,筛出机器人技能,就是计算和天气之类的,匹配使用文本相似度。中间可以使用一些特定命令进入一些成语接龙游戏。

以检索式结构为主,应用一些机器学习处理。

数据来源是爬取的百度知道,百科,可能有各大论坛,和以前人人网小黄鸡的语料。

3 聊天机器人搭建

在百度语音包中新建start.py。之后运行

rosrun baidu_speech start.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import rospy
from std_msgs.msg import String
from simple_voice.srv import *
import urllib
import json state = 0
LAN = 0
file_strs =[] def getHtml(url):
page = urllib.urlopen(url)
html = page.read()
return html def listener():
rospy.Subscriber("Rog_result", String, callback) rospy.spin() def str_fix(str):
global file_strs
result = ""
for file_str in file_strs:
file_strs_left= file_str.split('|')[0]
strs = file_strs_left.split(',')
b = True
for ele in strs:
if ele not in str:
b=False
break
if b:
pub_msg(file_str.split('|')[2])
return file_str.split('|')[1]
return str
def callback(data): words=data.data
if words !='识别错误':
s=get_ans(words)
pub.publish(s)
rospy.loginfo(s) def get_ans(info):
key = '###############此处为密钥###################'
api = 'http://www.tuling123.com/openapi/api?key=' + key + '&info='
request = api + info
response = getHtml(request)
dic_json = json.loads(response)
result = dic_json['text']
return result if __name__ == '__main__':
rospy.init_node("Main")
rospy.loginfo('开始')
pub = rospy.Publisher('speak_string', String, queue_size=10) # str=raw_input("press to publish")
listener()

4 案例源码

https://github.com/fengmao31/ros-demo

ros实例_百度语音+图灵的更多相关文章

  1. ros下基于百度语音的,语音识别和语音合成

    代码地址如下:http://www.demodashi.com/demo/13153.html 概述: 本demo是ros下基于百度语音的,语音识别和语音合成,能够实现文字转语音,语音转文字的功能. ...

  2. unity3d百度语音+图灵机器人

    using NAudio.Wave; using System; using System.Collections; using System.Collections.Generic; using S ...

  3. Android 通过调用系统,如接口 谷歌语音、百度语音、科大讯飞语音等语音识别方法对话框

    现在app在发展过程中会集成一些语音识别功能,不具有其自己的显影剂一般正在开发的语音识别引擎,所以在大多数情况下,它是选择一个成熟的语音识别引擎SDK集成到他们的app在. 平时,这种整合被分成两个, ...

  4. BaiduSpeechDemo【百度语音SDK集成】(基于v3.0.7.3)

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 本Demo将百度语音SDK(其中一部分功能)和自定义的UI对话框封装到一个module中,便于后续的SDK版本更新以及调用. 本De ...

  5. 利用百度语音API进行语音识别。

    由于项目需要,这几天都在试图利用百度语音API进行语音识别.但是识别到的都是“啊,哦”什么的,我就哭了. 这里我只是分享一下这个过程,错误感觉出现在Post语音数据那一块,可能是转换问题吧. API请 ...

  6. Docker入门实战_正版电子书在线阅读_百度阅读

    Docker入门实战_正版电子书在线阅读_百度阅读 Docker入门实战

  7. RCMTM _百度百科

    RCMTM _百度百科 RCMTM

  8. 火狐解决 OCSP 回应包含过期信息的问题_firefox吧_百度贴吧

    火狐解决 OCSP 回应包含过期信息的问题_firefox吧_百度贴吧 火狐解决 OCSP 回应包含过期信息的问题

  9. 您好,想问一下目前哪些营业厅可以办理NFC-SIM卡的更换业务?_百度知道

    您好,想问一下目前哪些营业厅可以办理NFC-SIM卡的更换业务?_百度知道     您好,想问一下目前哪些营业厅可以办理NFC-SIM卡的更换业务?    2013-06-14 10:39 maxre ...

随机推荐

  1. linux下记录入站请求

    将内网机器通过frp映射到公网后,内网主机受到大量ssh爆破攻击,攻击来源为frp的服务端,仅在内网机器上无法追踪到真实的攻击来源的ip.下面记录了在frp服务端监控指定端口的入站数据,找到真正的攻击 ...

  2. 多进程 multiprocessing 模块进程并发Process;Pool ;Queue队列 、threading模块;

    multiprocessing 模块中的 Process类提供了跨平台的多进程功能,在windows和linux系统都可以使用. 1.首先要实例化一个类,传入要执行的函数. 实例名 = Process ...

  3. response 返回js的alert()语句,中文乱码如何解决

    response 返回js的alert()语句,中文乱码如何解决, 步骤1:在后台加上如下代码: response.setCharacterEncoding("utf-8"); r ...

  4. ACwing1211. 蚂蚁感冒

    题目: 长 100 厘米的细长直杆子上有 n 只蚂蚁. 它们的头有的朝左,有的朝右. 每只蚂蚁都只能沿着杆子向前爬,速度是 1 厘米/秒. 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行. 这些蚂蚁 ...

  5. 聊一下 TS 中的交叉类型

    交叉类型不能完全按照传统编程中的 与 来理解. 交叉类型的定义:将多个类型合并为一个类型,包含了所有类型的特性,而且要同时满足要交叉的所有类型. 后半段话不是很好理解,看一下接口类型和联合类型的交叉类 ...

  6. nim_duilib(16)之xml学习实战(GTAV加载窗口实现)

    本文的目标 使用配置xml实现下面的结果 布局 整体采用水平布局,左边显示文字区域设置为垂直布局. lets go stage 1 创建一个空白窗体,并设置为半透明:同时,使得整个窗口可以移动,则 将 ...

  7. 【LeetCode】283. Move Zeroes 解题报告(Java & Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 方法一:首尾指针 方法二:头部双指针+双循环 方法三 ...

  8. Fast Matrix Operations(UVA)11992

    UVA 11992 - Fast Matrix Operations 给定一个r*c(r<=20,r*c<=1e6)的矩阵,其元素都是0,现在对其子矩阵进行操作. 1 x1 y1 x2 y ...

  9. 教学日志:javaSE-面向对象2

    一.局部变量和成员变量 package class4.oop1; /** * @Auther: Yu Panpan * @Date: 2021/12/10 - 12 - 10 - 14:47 * @D ...

  10. Kernel PCA and De-Noisingin Feature Spaces

    目录 引 主要内容 Kernel PCA and De-Noisingin Feature Spaces 引 kernel PCA通过\(k(x,y)\)隐式地将样本由输入空间映射到高维空间\(F\) ...