zoukankan      html  css  js  c++  java
  • ROS kinetic语音识别

    1.安装依赖

    1.1安装ros-kinetic-audio-common

    sudo apt-get install ros-kinetic-audio-common
    

    1.2 安装libasound2

    sudo apt-get install libasound2

    1.3 安装libgstreamer0.10

    sudo apt-get install gstreamer0.10-*

    1.4安装python-gst0.10

    sudo apt-get install python-gst0.10

     2.安装 libsphinxbase1

    下载地址:https://packages.debian.org/jessie/libsphinxbase1

    sudo dpkg -i libsphinxbase1_0.8-6_amd64.deb

    3. 安装libpocketsphinx1

    下载地址:https://packages.debian.org/jessie/libpocketsphinx1

    sudo dpkg -i libpocketsphinx1_0.8-5_amd64.deb 

    4.安装gstreamer0.10-pocketsphinx

    下载地址:https://packages.debian.org/jessie/gstreamer0.10-pocketsphinx

    sudo dpkg -i gstreamer0.10-pocketsphinx_0.8-5_amd64.deb

    5.安装pocketsphinx

    5.1进入工作空间,git源码

    cd ~/dev/catkin_ws/src
    git clone https://github.com/mikeferguson/pocketsphinx

    5.2下载英文语音包pocketsphinx-hmm-en-tidigits (0.8-5)

    下载的网站:https://packages.debian.org/jessie/pocketsphinx-hmm-en-tidigits

    sudo dpkg -i pocketsphinx-hmm-en-tidigits_0.8-5_all.deb

    会加压安装到/usr/share/目录如下所示

    /usr/share/doc/pocketsphinx-hmm-en-tidigits/changelog.Debian.gz
    /usr/share/doc/pocketsphinx-hmm-en-tidigits/changelog.gz
    /usr/share/doc/pocketsphinx-hmm-en-tidigits/copyright
    /usr/share/pocketsphinx/model/hmm/en/tidigits/feat.params
    /usr/share/pocketsphinx/model/hmm/en/tidigits/mdef
    /usr/share/pocketsphinx/model/hmm/en/tidigits/means
    /usr/share/pocketsphinx/model/hmm/en/tidigits/sendump
    /usr/share/pocketsphinx/model/hmm/en/tidigits/transition_matrices
    /usr/share/pocketsphinx/model/hmm/en/tidigits/variances
    /usr/share/pocketsphinx/model/lm/en/tidigits.DMP
    /usr/share/pocketsphinx/model/lm/en/tidigits.dic
    /usr/share/pocketsphinx/model/lm/en/tidigits.fsg

    在包pocketsphinx下面建一个model目录,存放语音模型文件

    cd ~/dev/catkin_ws/src/pocketsphinx
    mkdir model

    将下载好的语音文件,解压后,将其中的model文件下的所有文件拷贝到~/dev/catkin_ws/src/pocketsphinx/model下,也可以不复制。

    6 启动pocketsphinx测试

    直接运行pocketsphinx启动脚本命令“roslaunch pocketsphinx robocup.launch”会出现如下错误,

    为此,首先我对recognizer.py的做了如下修改:

    1)注释掉self.asr.set_property('configured', True)

    2)添加lm,dict,hmm支持英语识别(如果是其他语言(如普通话)可以改为别的路径)

    self.asr.set_property('lm', '/usr/share/pocketsphinx/model/lm/en/tidigits.DMP')
    self.asr.set_property('dict', '/usr/share/pocketsphinx/model/lm/en/tidigits.dic')
    self.asr.set_property('hmm', '/usr/share/pocketsphinx/model/hmm/en/tidigits')

    这些安装好之后,可以开始测试pocketsphinx的语音识别功能了:

    1.终端运行launch启动文件:

    roslaunch pocketsphinx robocup.launch

    2.尝试说一些简单的语句,(如果使用英文库,说一些数字;如果使用普通话库讲中文),查看识别结果

    3.用rostopic echo进行查看识别的输出,即ROS发布的结果消息)

    rostopic echo /recognizer/output

    7.也可以下载其他包进行测试

    中文普通话

    pocketsphinx-hmm-zh-tdt https://packages.debian.org/jessie/pocketsphinx-hmm-zh-tdt

    pocketsphinx-lm-zh-hans-gigatdt  https://packages.debian.org/jessie/pocketsphinx-lm-zh-hans-gigatdt

    后期考虑在launch文件中设置参数,在recognizer.py加载参数的读取

     参考:http://blog.csdn.net/x_r_su/article/details/53022746?locationNum=1&fps=1

     http://www.ncnynl.com/archives/201701/1220.html




  • 相关阅读:
    理解字节序(转)
    《逆向分析实战》数据的存储及表示形式
    C语言——内存分配
    C语言编程基础学习字符型数据的ASCII码值为何是负数?
    你知道嵌入式C语言中各变量存储的位置吗?
    stm32入门(从51过渡到32)
    说说M451例程讲解之LED
    说说M451的例程库的说明
    STM32总线结构和存储器
    STM32学习之路入门篇之指令集及cortex——m3的存储系统
  • 原文地址:https://www.cnblogs.com/TooyLee/p/7739783.html
Copyright © 2011-2022 走看看