ubuntu 16.04下使用百度语音识别库

参考链接:

  1. 【ROS总结】ROS下的百度语音识别应用
  2. ROS下百度语音识别
  3. [ROS总结]ROS下的百度语音识别应用
  4. Python调用百度语音REST API

注意问题:
(1)vlc可以直接安装,也可以按 1. 中下载源码

sudo pip install python-vlc

(2)遇到没有安装requests模块的问题,见 2.

sudo pip install requests

(3)运行simple_speaker.launch成功后,运行simple_voice.launch出现错误,见 3.
先修改voice_node.py,,,在len出加str转换类型;
然后出现了错误3314,增加一句话 3314: ‘param format invalid’
ubuntu 16.04下使用百度语音识别库_第1张图片
(4)要完成实时语音识别修改一些voice.py的代码:(参考 4. 学习python调用百度REST,代码类似)
语音识别的部分在 recode() 函数中,循环部分 while True and NO_WORDS: 也就是说 NO_WORDS==0 时会停止录音,NO_WORDS的初始值在launch文件修改,默认6,我将它改为60。也就是说会循环60s等待语音输入。
  我将launch文件的 UPPER_LEVEL设置默认值从5000改为了1000,因为测试自己说话经常是4000,达不到if语句条件。
  将下面的代码做一些修改,有语音输入后再录制最后6s。

   # 查看是否没有语音输入
   NO_WORDS -= 1
   if np.max(audio_data) > self.UPPER_LEVEL:
    #NO_WORDS=self.NO_WORDS
    NO_WORDS=6
   print 'self.NO_WORDS ', NO_WORDS
   print 'np.max(audio_data) ', np.max(audio_data)

当打印输入
 time_out in 59
 self.NO_WORDS 59
时,语音输入就会被记录.并发布消息,将simple_speaker.py中的节点改为一样的就可以跟着你说的话读出来.
ubuntu 16.04下使用百度语音识别库_第2张图片

你可能感兴趣的:(ROS)