无网不进  
软硬件开发

非常感谢ljthink提供的讯飞语音的树莓派SDK下载地址:http://download.csdn.net/download/yanghuan313/9616763。 
整合讯飞语音其实非常简单,网友已经开发了相应的ROS 讯飞包,https://github.com/ncnynl/xf-ros,只要按照文中的步骤执行即可。这里只说明几点需要注意的事项及使用体验

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

另外写了一个通过控制台发送xfwords主题的节点

#!/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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

将此节点放在xfer_asr/scripts/目录下,执行rosrun xfei_asr xfei_xfwords_publish.py,既可以启动该节点,会把控制台输入的汉字以xfwords主题的形式发布出去,配合tts_subscribe_speak使用

版权声明:本文为博主原创文章,未经博主允许不得转载。
posted on 2018-01-11 09:34  无网不进  阅读(226)  评论(0)    收藏  举报