ROS交流群
ROS Group
产品服务
Product Service
开源代码库
Github
官网
Official website
技术交流
Technological exchanges
激光雷达
LIDAR
ROS教程
ROS Tourials
深度学习
Deep Learning
机器视觉
Computer Vision

在小强中使用语音识别和语音合成



  • 小强主页

    为小强添加语音识别和语音合成功能,安装之后小强就能说会道了。当然首先要给小强添加话筒和喇叭。

    处理后端可以设置为科大迅飞语音或百度语音。也可以利用audio_capture实时的处理从话筒中收到的数据。

    安装

    cd [到你的工作空间的src文件夹中]
    git clone https://github.com/bluewhalerobot/xiaoqiang_tts
    git clone https://github.com/bluewhalerobot/xiaoqiang_audio
    rosdep install xiaoqiang_audio
    rosdep install xiaoqiang_tts
    sudo pip install requests
    sudo pip install baidu-aip
    sudo apt-get install mplayer
    sudo apt-get install python-scipy
    cd ..
    catkin_make -DCATKIN_WHITELIST_PACKAGES="xiaoqiang_tts"
    

    程序使用的是我自己申请的百度和迅飞参数,最好自己再去百度和迅飞的官网申请一个。迅飞的sdk下载完成后覆盖至src/engines/xunfei/sdk内,注意保留其中的src文件夹。然后在launch文件中设置自己的appid,再catkin_make一下就可以了。

    使用

    使用语音合成功能

    启动百度语音合成

    roslaunch xiaoqiang_tts tts_baidu.launch
    
    输入Topic 消息类型
    /xiaoqiang_tts/text std_msgs/String
    输出Topic 消息类型
    /xiaoqiang_audio/audio audio_common_msgs/AudioData

    发布消息,测试语音

    rostopic pub /xiaoqiang_tts/text std_msgs/String 测试一下语音合成 -1
    

    此时如果正常应该能够听到"测试一下语音合成"的声音

    启动科大迅飞语音合成

    注意要先关闭百度tts节点

    roslaunch xiaoqiang_tts tts_xunfei.launch
    

    测试方法和上面一样。正常应该会听到合成的声音。

    使用语音识别功能

    启动百度语音识别

    roslaunch xiaoqiang_tts asr_baidu.launch
    

    新开一个终端接收语音识别结果

    rostopic echo /xiaoqiang_tts/text
    

    现在可以开始说话了,程序会自动监听环境声音并进行分句。当你停止说话时会开始处理你的这一句的结果。

    输入Topic 消息类型
    /xiaoqiang_audio/audio audio_common_msgs/AudioData
    输出Topic 消息类型
    /xiaoqiang_tts/text std_msgs/String

    启动迅飞语音识别

    roslaunch xiaoqiang_tts asr_xunfei.launch
    

    使用方法和上面的一样

    同时启动语音识别和语音合成

    使用科大迅飞语音合成和语音识别

    roslaunch xiaoqiang_tts tts_xunfei.launch
    roslaunch xiaoqiang_tts asr_xunfei.launch
    

    现在你说一句话机器人就会跟着你说一句话。

    和机器人对话

    roslaunch xiaoqiang_nlp talk_bot.launch
    

    执行这个指令后机器人会和你对话交流,快和它说说话吧。

    参数说明

    详细的参数说明请参照launch文件内的注释

    小强主页
    返回目录



  • 0_1530349379643_1530349342(1).jpg



  • @weijiz 运行rosdep install xiaoqiang_tts 时提示
    ERROR: the following packages/stacks could not have their rosdep keys resolved
    to system dependencies:
    xiaoqiang_tts: Cannot locate rosdep definition for [xiaoqiang_audio]



  • 已经运行了这个 rosdep install xiaoqiang_audio
    #All required rosdeps installed successfully



  • @robot0612 这个错误可以忽略,继续进行



  • This post is deleted!


  • This post is deleted!


  • This post is deleted!


  • This post is deleted!


  • 语音识别,内容过长,比如讲故事,就会报错:可有办法解决
    d4917633-f782-4612-a4df-888c99f10091-image.png



  • @robot0612在小强中使用语音识别和语音合成 中说:

    更新代码到最新版,这个问题已经修复



  • @weijiz 谢谢



  • @weijiz
    您好,运行roslaunch asr_xunfei.launch遇到这个错误该如何解决,感谢您
    File “/home/zhk2/catkin_ws/src/xiaoqiang_tts/src/xiaoqiang_asr_node.py”, line 30, in
    from engines.baidu_tts import BaiduTTS as bd_client
    File “/home/zhk2/catkin_ws/src/xiaoqiang_tts/src/engines/baidu_tts.py”, line 29, in
    from aip import AipSpeech
    File “/usr/local/lib/python2.7/dist-packages/aip/init.py”, line 6, in
    from .ocr import AipOcr
    File “/usr/local/lib/python2.7/dist-packages/aip/ocr.py”, line 12, in
    from .base import AipBase
    File “/usr/local/lib/python2.7/dist-packages/aip/base.py”, line 14, in
    requests.packages.urllib3.disable_warnings()
    AttributeError: ‘module’ object has no attribute ‘packages’
    [xiaoqiang_asr-2] process has died [pid 6074, exit code 1, cmd /home/zhk2/catkin_ws/src/xiaoqiang_tts/src/xiaoqiang_asr_node.py ~audio:=/audio/audio ~text:=/xiaoqiang_tts/text ~audio_status:=/xiaoqiang_audio/audio_status __name:=xiaoqiang_asr __log:=/home/zhk2/.ros/log/dc555cb2-79dc-11e9-a2e6-f4ec3802170a/xiaoqiang_asr-2.log].
    log file: /home/zhk2/.ros/log/dc555cb2-79dc-11e9-a2e6-f4ec3802170a/xiaoqiang_asr-2*.log