导航

    蓝鲸ROS机器人论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 热门
    ROS交流群
    ROS Group
    产品服务
    Product Service
    开源代码库
    Github
    官网
    Official website
    技术交流
    Technological exchanges
    激光雷达
    LIDAR
    ROS教程
    ROS Tourials
    深度学习
    Deep Learning
    机器视觉
    Computer Vision

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

    产品服务
    百度语音 ros 科大讯飞 语音识别 语音合成
    7
    19
    11662
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • weijiz
      weijiz 最后由 weijiz 编辑

      小强主页

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

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

      安装,小强已经默认安装好了

      cd [到你的工作空间的src文件夹中]
      git clone https://gitee.com/BluewhaleRobot/xiaoqiang_tts
      # 对于python3环境需要切换至python3分支
      cd xiaoqiang_tts
      git checkout python3
      git clone https://gitee.com/BluewhaleRobot/xiaoqiang_audio
      cd xiaoqiang_audio
      git checkout noetic
      cd ../..
      catkin_make -DCATKIN_WHITELIST_PACKAGES="xiaoqiang_tts"
      

      程序使用的是我自己申请的百度和迅飞参数,最好自己再去百度和迅飞的官网申请一个。然后在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文件内的注释

      小强主页
      返回目录

      robot0612 1 条回复 最后回复 回复 引用 0
      • Yangoogle
        Yangoogle 最后由 编辑

        0_1530349379643_1530349342(1).jpg

        1 条回复 最后回复 回复 引用 0
        • robot0612
          robot0612 @weijiz 最后由 编辑

          @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]

          weijiz 1 条回复 最后回复 回复 引用 0
          • robot0612
            robot0612 最后由 编辑

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

            1 条回复 最后回复 回复 引用 0
            • weijiz
              weijiz @robot0612 最后由 编辑

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

              robot0612 zhk15951 5 条回复 最后回复 回复 引用 0
              • robot0612
                robot0612 @weijiz 最后由 编辑

                此回复已被删除!
                1 条回复 最后回复 回复 引用 0
                • robot0612
                  robot0612 @weijiz 最后由 编辑

                  此回复已被删除!
                  1 条回复 最后回复 回复 引用 0
                  • robot0612
                    robot0612 @weijiz 最后由 编辑

                    此回复已被删除!
                    1 条回复 最后回复 回复 引用 0
                    • robot0612
                      robot0612 @weijiz 最后由 编辑

                      此回复已被删除!
                      1 条回复 最后回复 回复 引用 0
                      • robot0612
                        robot0612 最后由 编辑

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

                        weijiz 1 条回复 最后回复 回复 引用 0
                        • weijiz
                          weijiz @robot0612 最后由 编辑

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

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

                          robot0612 1 条回复 最后回复 回复 引用 0
                          • robot0612
                            robot0612 @weijiz 最后由 编辑

                            @weijiz 谢谢

                            1 条回复 最后回复 回复 引用 0
                            • zhk15951
                              zhk15951 @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

                              1 条回复 最后回复 回复 引用 0
                              • joy
                                joy 最后由 编辑

                                ubuntu20.04 ros-noetic版本,python3.8,编译xiaoqiang_tts时报错:
                                /home/lly/catkin_ws/src/xiaoqiang_tts/src/engines/xunfei/sdk/src/xunfei_tts.cpp:231:8: error: ‘StaticInit’ was not declared in this scope
                                231 | if (!StaticInit())
                                请问这个该如何解决呢?貌似是python版本的问题

                                weijiz 1 条回复 最后回复 回复 引用 0
                                • weijiz
                                  weijiz @joy 最后由 编辑

                                  @joy checkout到python3版本再编译

                                  1 条回复 最后回复 回复 引用 0
                                  • 林林林语
                                    林林林语 最后由 编辑

                                    你好,请问输入roslaunch xiaoqiang_tts asr_xunfei.launch指令会出现如下问题:ImportError: No module named aip
                                    [xiaoqiang_tts-2] process has died [pid 5287, exit code 1, cmd /home/cyl/catkin_ws/src/xiaoqiang_tts/src/xiaoqiang_tts_node.py ~audio:=/xiaoqiang_audio/audio __name:=xiaoqiang_tts __log:=/home/cyl/.ros/log/5cf44666-297d-11eb-bcc9-000c29c76404/xiaoqiang_tts-2.log].
                                    log file: /home/cyl/.ros/log/5cf44666-297d-11eb-bcc9-000c29c76404/xiaoqiang_tts-2*.log

                                    weijiz 1 条回复 最后回复 回复 引用 0
                                    • weijiz
                                      weijiz @林林林语 最后由 编辑

                                      @林林林语 你的依赖包没有安装

                                      sudo pip install baidu-aip
                                      
                                      1 条回复 最后回复 回复 引用 0
                                      • lpa
                                        lpa 最后由 编辑

                                        3b399ca5-30a0-4101-acbf-ac5f332ab7e9-image.png

                                        1 条回复 最后回复 回复 引用 0
                                        • lpa
                                          lpa 最后由 编辑

                                          语音合成测试,运行成功,但是一直处于time.sleep中,出不来了,怎么办?

                                          1 条回复 最后回复 回复 引用 0
                                          • 1 / 1
                                          • First post
                                            Last post
                                          Copyright © 2015-2023 BlueWhale community