最新消息:

ROS机器人Diego制作8-ROS语音系统之科大讯飞语音

ROBOTS/其他机器人 少儿编程 1454浏览 0评论
ROS机器人Diego制作

ROS机器人Diego制作8-ROS语音系统之科大讯飞语音

说明:

  • 介绍如何接入科大讯飞语音
  • 非常感谢ljthink提供的讯飞语音的树莓派SDK下载地址
  • 也提供本站的下载地址:点击树莓派SDK下载地址
  • 整合讯飞语音非常简单,网友已开发了相应的ROS讯飞包(原教程此为无效链接待修正),按照文中的步骤执行即可。
  • 也提供本站集成方法:ROS科大讯飞语音包介绍和下载

注意的事项及使用体验:

  • 讯飞在为每个开发者的每一个应用提供一个appid,而且这个id是固化在libmsc.so文件中
  • 所以在程序中在给appid赋值时要与申请的libmsc.so中的id一致,如果不一致的话编译不会出错
  • 但是在语音识别的时候报错,但不影响语音合成的功能。
  • 也许是树莓派本身性能的问题,在使用语音合成的时候合成出来的声音会有断断续续的现象。
  • 语音识别有时候会出现乱码的现象,不知道是什么原因。
  • 使用语音合成,需要安装mplayer包。

通过控制台发送xfwords主题的节点

  • python代码:
#!/usr/bin/env python
import rospy
from std_msgs.msg import String

if __name__=="__main__":    
    pub = rospy.Publisher('xfwords', String, queue_size = 0)
    rospy.init_node('xfei_xfwords_publish', anonymous=True)
        rate = rospy.Rate(1) # 10hz
    try:        
        while not rospy.is_shutdown():
            input_str = raw_input("Please input your words:n")
        pub.publish(input_str)
            rate.sleep()
    except rospy.ROSInterruptException:
        pass
  • 将此节点放在xfer_asr/scripts/目录下
  • 执行:
rosrun xfei_asr xfei_xfwords_publish.py
  • 既可以启动该节点,会把控制台输入的汉字以xfwords主题的形式发布出去,配合tts_subscribe_speak使用

您必须 登录 才能发表评论!