ROS kinetic语音识别(转)

本文详细介绍如何在ROS环境中安装并配置PocketSphinx语音识别软件,包括必要的依赖库安装、语音模型下载及配置等步骤,并提供了测试语音识别功能的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.安装依赖

1.1安装ros-kinetic-audio-common

1
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.youkuaiyun.com/x_r_su/article/details/53022746?locationNum=1&fps=1

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

转载于:https://www.cnblogs.com/yunxiaguo/p/8780422.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值