更多创客作品,请关注笔者网站园丁鸟,搜集全球极具创意,且有价值的创客作品
非常感谢ljthink提供的讯飞语音的树莓派SDK下载地址:http://download.csdn.net/download/yanghuan313/9616763。
整合讯飞语音其实非常简单,网友已经开发了相应的ROS 讯飞包,https://github.com/ncnynl/xf-ros,只要按照文中的步骤执行即可。这里只说明几点需要注意的事项及使用体验
- 讯飞在为每个开发者的每一个应用提供一个appid,而且这个id是固化在libmsc.so文件中的,所以在程序中在给appid赋值时要与申请的libmsc.so中的id一直,如果不一直的话编译不会出错,但是在语音识别的时候报错,但不影响语音合成的功能。
- 也许是树莓派本身性能的问题,在使用语音合成的时候合成出来的声音会有断断续续的现象。
- 语音识别有时候会出现乱码的现象,不知道是什么原因。
- 使用语音合成,需要安装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
将此节点放在xfer_asr/scripts/目录下,执行rosrun xfei_asr xfei_xfwords_publish.py,既可以启动该节点,会把控制台输入的汉字以xfwords主题的形式发布出去,配合tts_subscribe_speak使用