[Freeswitch ASR] 使用Pocket Sphinx进行英文语音识别
Song •
4008 次浏览 •
0个评论 •
2018年08月29日
Sphinx
是卡内基梅隆大学研究的开源语音识别软件,Pocket Sphinx
则是一个轻量版,主要用于嵌入
式及手持移动设备。FreeSWITCH
中有一个mod_pocketsphinx
模块可以通过PocketSphinx
进行语音识别。
安装mod_pocketsphinx
进入安装包目录,取消掉event_handlers/mod_pocketsphinx
的注释:
vim modules.conf
接下来安装模块:
make mod_pocketsphinx-install
从软件包安装FreeSWITCH
后,在autoload_configs/modules.conf.xml
取消mod_pocketsphinx
注释设置FreeSWITCH
默认加载加载mod_pocketsphinx
:
<load module="mod_pocketsphinx"/>
首次安装可以在FS
中加载:
reloadxml
reload mod_pocketsphinx
使用mod_pocketsphinx实现英文语音识别
在FreeSWITCH
安装目录的grammar
目录下新建yes_no.gram
文件,输入以下内容:
#JSGF V1.0;
/** JSGF Grammar for example */
grammar example;
<yes> = [ yes ];
<no> = [ no ];
public <results> = [ <yes> | <no> ];
该语法文件是根据JSGF
语法写的,它的作用是对照字典组成相关的词语或句子。在此,该语法仅定义
了yes
和no
,因此,它仅能识别英文单词yes
或no
。不过,对于我们演示语言识别的例子来说足
够了。
在下面创建拨号计划:
<extension name="ASR">
<condition field="destination_number" expression="^1234$">
<action application="answer"/>
<action application="set" data="tts_engine=flite"/>
<action application="set" data="tts_voice=kal"/>
<action application="play_and_detect_speech" data="say:please say yes or no detect:pocketsphinx yes_no"/>
<action application="log" data="ERR ${detect_speech_result}"/>
</condition>
</extension>
play_and_detect_speech
是一个App,它的作用是播放一段声音(声音文件或TTS
文本)并进行语音识别。say:please say yes or no
,用于指定播放的TTS
文本detect:pocketsphinx
,表示使用pocketsphinx
进行语音识别yes_no
,指定一个语法文件(即我们刚才创建的语法文件)。 当语音识别完成后,识别的结果将存入detect_speech_result
通道变量中,同时使用log App
将它的内容打印到日志中以便观察识别结果。
2018-08-29 15:41:02.785093 [ERR] mod_dptools.c:1787 <?xml version="1.0"?>
<result grammar="yes_no">
<interpretation grammar="yes_no" confidence="100">
<input mode="speech">yes</input>
</interpretation>
</result>
用户评论
当前暂无评价,快来发表您的观点吧...
更多相关好文
当前暂无更多相关好文推荐...
-
微信公众号文章/菜单添加小程序时路径如何获取? 2021-12-22
-
如何轻松获取微信小程序路径path? 2021-12-22
-
cannot import name 'CUDA_HOME' from 'mmcv.utils' 2021-12-05
-
vgg的loss一轮达到ln(1/n)阈值,如何解决 2021-11-21
-
如何下载使用utils库 2021-10-27
热门文章
-
微信公众号文章/菜单添加小程序时路径如何获取? 2021-12-22
-
如何轻松获取微信小程序路径path? 2021-12-22
-
python/MySQL分页查询方法与性能优化 2021-06-23
-
mitmproxy & python 忽略所有的https/ssl请求 2021-04-19
-
如何使用邮件/邮箱推广微信公众号/小程序? 2021-01-28
栏目最新文章
公告提示
- pytorch中文文档
- pytorch官方文档
提交评论