语音识别基础篇(二) - pocketsphinx在windows下的编译和运行

2023-10-08 23:20

本文主要是介绍语音识别基础篇(二) - pocketsphinx在windows下的编译和运行,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

如需转载请标明出处:http://blog.csdn.net/itas109 

QQ技术交流群:129518033

相关文章

语音识别基础篇(一) - CMU Sphinx简介

http://blog.csdn.net/itas109/article/details/78568591

1.编译环境

操作系统:windows 7 64Bit SP1

编译器:Viual Studio 2013

pocketsphinx版本:5prealpha

编译版本:Debug

下载地址:

CMU Sphinx - Browse /sphinxbase/5prealpha at SourceForge.net

CMU Sphinx - Browse /pocketsphinx/5prealpha at SourceForge.net

下载完成解压后目录如下图

2.编译sphinxbase

pocketsphinx依赖于sphinxbase,因此需要先编译sphinxbase。

使用VS2013打开sphinxbase.sln,直接点击生成解决方案即可

输出结果

3.编译pocketsphinx

使用VS2013打开pocketsphinx.sln,直接点击生成解决方案,结果报错了。。。

看错误估计是路径不对,然后右键pocketsphinx查看属性

经过查看果然路径有问题,将sphinxbase-master文件夹修改为sphinxbase文件夹,继续编译就通过了。

至此,pocketsphinx的编译工作结束了

4.运行

将sphinxbase.dll复制到pocketsphinx运行目录下,不然会报缺少DLL的错误。

如果有麦克风可以运行一下命令:

pocketsphinx_continuous.exe -inmic yes -hmm model\en-us\en-us -lm model\en-us\en-us.lm.bin -dict model\en-us\cmudict-en-us.dict

也可以直接读取文件:

pocketsphinx_continuous.exe -infile test\data\goforward.raw -hmm model\en-us\en-us -lm model\en-us\en-us.lm.bin  -dict model\en-us\cmudict-en-us.dict

这里我们使用文件来运行:

pocketsphinx_continuous.exe -infile D
:\ASR\pocketsphinx-master\test\data\cards\004.wav -hmm D:\ASR\pocketsphinx-maste
r\model\en-us\en-us -lm D:\ASR\pocketsphinx-master\model\en-us\en-us.lm.bin -dic
t D:\ASR\pocketsphinx-master\model\en-us\cmudict-en-us.dict


运行结果如下:

D:\ASR\pocketsphinx-master\bin\Debug\Win32>pocketsphinx_continuous.exe -infile D
:\ASR\pocketsphinx-master\test\data\cards\004.wav -hmm D:\ASR\pocketsphinx-maste
r\model\en-us\en-us -lm D:\ASR\pocketsphinx-master\model\en-us\en-us.lm.bin -dic
t D:\ASR\pocketsphinx-master\model\en-us\cmudict-en-us.dict
INFO: pocketsphinx.c(152): Parsed model-specific feature parameters from D:\ASR\
pocketsphinx-master\model\en-us\en-us/feat.params
Current configuration:
[NAME]                  [DEFLT]         [VALUE]
-agc                    none            none
-agcthresh              2.0             2.000000e+000
-allphone
-allphone_ci            yes             yes
-alpha                  0.97            9.700000e-001
-ascale                 20.0            2.000000e+001
-aw                     1               1
-backtrace              no              no
-beam                   1e-48           1.000000e-048
-bestpath               yes             yes
-bestpathlw             9.5             9.500000e+000
-ceplen                 13              13
-cmn                    live            batch
-cmninit                40,3,-1         41.00,-5.29,-0.12,5.09,2.48,-4.07,-1.37,
-1.78,-5.08,-2.05,-6.45,-1.42,1.17
-compallsen             no              no
-dict                                   D:\ASR\pocketsphinx-master\model\en-us\c
mudict-en-us.dict
-dictcase               no              no
-dither                 no              no
-doublebw               no              no
-ds                     1               1
-fdict
-feat                   1s_c_d_dd       1s_c_d_dd
-featparams
-fillprob               1e-8            1.000000e-008
-frate                  100             100
-fsg
-fsgusealtpron          yes             yes
-fsgusefiller           yes             yes
-fwdflat                yes             yes
-fwdflatbeam            1e-64           1.000000e-064
-fwdflatefwid           4               4
-fwdflatlw              8.5             8.500000e+000
-fwdflatsfwin           25              25
-fwdflatwbeam           7e-29           7.000000e-029
-fwdtree                yes             yes
-hmm                                    D:\ASR\pocketsphinx-master\model\en-us\e
n-us
-input_endian           little          little
-jsgf
-keyphrase
-kws
-kws_delay              10              10
-kws_plp                1e-1            1.000000e-001
-kws_threshold          1e-30           1.000000e-030
-latsize                5000            5000
-lda
-ldadim                 0               0
-lifter                 0               22
-lm                                     D:\ASR\pocketsphinx-master\model\en-us\e
n-us.lm.bin
-lmctl
-lmname
-logbase                1.0001          1.000100e+000
-logfn
-logspec                no              no
-lowerf                 133.33334       1.300000e+002
-lpbeam                 1e-40           1.000000e-040
-lponlybeam             7e-29           7.000000e-029
-lw                     6.5             6.500000e+000
-maxhmmpf               30000           30000
-maxwpf                 -1              -1
-mdef
-mean
-mfclogdir
-min_endfr              0               0
-mixw
-mixwfloor              0.0000001       1.000000e-007
-mllr
-mmap                   yes             yes
-ncep                   13              13
-nfft                   512             512
-nfilt                  40              25
-nwpen                  1.0             1.000000e+000
-pbeam                  1e-48           1.000000e-048
-pip                    1.0             1.000000e+000
-pl_beam                1e-10           1.000000e-010
-pl_pbeam               1e-10           1.000000e-010
-pl_pip                 1.0             1.000000e+000
-pl_weight              3.0             3.000000e+000
-pl_window              5               5
-rawlogdir
-remove_dc              no              no
-remove_noise           yes             yes
-remove_silence         yes             yes
-round_filters          yes             yes
-samprate               16000           1.600000e+004
-seed                   -1              -1
-sendump
-senlogdir
-senmgau
-silprob                0.005           5.000000e-003
-smoothspec             no              no
-svspec                                 0-12/13-25/26-38
-tmat
-tmatfloor              0.0001          1.000000e-004
-topn                   4               4
-topn_beam              0               0
-toprule
-transform              legacy          dct
-unit_area              yes             yes
-upperf                 6855.4976       6.800000e+003
-uw                     1.0             1.000000e+000
-vad_postspeech         50              50
-vad_prespeech          20              20
-vad_startspeech        10              10
-vad_threshold          3.0             3.000000e+000
-var
-varfloor               0.0001          1.000000e-004
-varnorm                no              no
-verbose                no              no
-warp_params
-warp_type              inverse_linear  inverse_linear
-wbeam                  7e-29           7.000000e-029
-wip                    0.65            6.500000e-001
-wlen                   0.025625        2.562500e-002INFO: feat.c(715): Initializing feature stream to type: '1s_c_d_dd', ceplen=13,
CMN='batch', VARNORM='no', AGC='none'
INFO: acmod.c(162): Using subvector specification 0-12/13-25/26-38
INFO: mdef.c(518): Reading model definition: D:\ASR\pocketsphinx-master\model\en
-us\en-us/mdef
INFO: mdef.c(531): Found byte-order mark BMDF, assuming this is a binary mdef fi
le
INFO: bin_mdef.c(336): Reading binary model definition: D:\ASR\pocketsphinx-mast
er\model\en-us\en-us/mdef
INFO: bin_mdef.c(516): 42 CI-phone, 137053 CD-phone, 3 emitstate/phone, 126 CI-s
en, 5126 Sen, 29324 Sen-Seq
INFO: tmat.c(149): Reading HMM transition probability matrices: D:\ASR\pocketsph
inx-master\model\en-us\en-us/transition_matrices
INFO: acmod.c(113): Attempting to use PTM computation module
INFO: ms_gauden.c(127): Reading mixture gaussian parameter: D:\ASR\pocketsphinx-
master\model\en-us\en-us/means
INFO: ms_gauden.c(242): 42 codebook, 3 feature, size:
INFO: ms_gauden.c(244):  128x13
INFO: ms_gauden.c(244):  128x13
INFO: ms_gauden.c(244):  128x13
INFO: ms_gauden.c(127): Reading mixture gaussian parameter: D:\ASR\pocketsphinx-
master\model\en-us\en-us/variances
INFO: ms_gauden.c(242): 42 codebook, 3 feature, size:
INFO: ms_gauden.c(244):  128x13
INFO: ms_gauden.c(244):  128x13
INFO: ms_gauden.c(244):  128x13
INFO: ms_gauden.c(304): 222 variance values floored
INFO: ptm_mgau.c(475): Loading senones from dump file D:\ASR\pocketsphinx-master
\model\en-us\en-us/sendump
INFO: ptm_mgau.c(499): BEGIN FILE FORMAT DESCRIPTION
INFO: ptm_mgau.c(562): Rows: 128, Columns: 5126
INFO: ptm_mgau.c(594): Using memory-mapped I/O for senones
INFO: ptm_mgau.c(837): Maximum top-N: 4
INFO: phone_loop_search.c(114): State beam -225 Phone exit beam -225 Insertion p
enalty 0
INFO: dict.c(320): Allocating 138824 * 20 bytes (2711 KiB) for word entries
INFO: dict.c(333): Reading main dictionary: D:\ASR\pocketsphinx-master\model\en-
us\cmudict-en-us.dict
INFO: dict.c(213): Dictionary size 134723, allocated 1016 KiB for strings, 1679
KiB for phones
INFO: dict.c(336): 134723 words read
INFO: dict.c(358): Reading filler dictionary: D:\ASR\pocketsphinx-master\model\e
n-us\en-us/noisedict
INFO: dict.c(213): Dictionary size 134728, allocated 0 KiB for strings, 0 KiB fo
r phones
INFO: dict.c(361): 5 words read
INFO: dict2pid.c(396): Building PID tables for dictionary
INFO: dict2pid.c(406): Allocating 42^3 * 2 bytes (144 KiB) for word-initial trip
hones
INFO: dict2pid.c(132): Allocated 21336 bytes (20 KiB) for word-final triphones
INFO: dict2pid.c(196): Allocated 21336 bytes (20 KiB) for single-phone word trip
hones
INFO: ngram_model_trie.c(354): Trying to read LM in trie binary format
INFO: ngram_search_fwdtree.c(74): Initializing search tree
INFO: ngram_search_fwdtree.c(101): 791 unique initial diphones
INFO: ngram_search_fwdtree.c(186): Creating search channels
INFO: ngram_search_fwdtree.c(323): Max nonroot chan increased to 152609
INFO: ngram_search_fwdtree.c(333): Created 723 root, 152481 non-root channels, 5
3 single-phone words
INFO: ngram_search_fwdflat.c(157): fwdflat: min_ef_width = 4, max_sf_win = 25
INFO: continuous.c(307): pocketsphinx_continuous.exe COMPILED ON: Nov 20 2017, A
T: 20:33:32INFO: cmn_live.c(120): Update from < 41.00 -5.29 -0.12  5.09  2.48 -4.07 -1.37 -
1.78 -5.08 -2.05 -6.45 -1.42  1.17 >
INFO: cmn_live.c(138): Update to   < 64.76 -3.10 -9.74  0.89 -10.79 -0.03 -8.38
-4.40 -7.83  7.06 -2.24  5.81 -2.96 >
INFO: ngram_search_fwdtree.c(1550):     4674 words recognized (30/fr)
INFO: ngram_search_fwdtree.c(1552):   494454 senones evaluated (3190/fr)
INFO: ngram_search_fwdtree.c(1556):  3563622 channels searched (22991/fr), 864781st, 209626 last
INFO: ngram_search_fwdtree.c(1559):     9899 words for which last channels evalu
ated (63/fr)
INFO: ngram_search_fwdtree.c(1561):   460667 candidate words for entering last p
hone (2972/fr)
INFO: ngram_search_fwdtree.c(1564): fwdtree 3.87 CPU 2.496 xRT
INFO: ngram_search_fwdtree.c(1567): fwdtree 3.87 wall 2.495 xRT
INFO: ngram_search_fwdflat.c(302): Utterance vocabulary contains 176 words
INFO: ngram_search_fwdflat.c(948):     2436 words recognized (16/fr)
INFO: ngram_search_fwdflat.c(950):   189379 senones evaluated (1222/fr)
INFO: ngram_search_fwdflat.c(952):   291055 channels searched (1877/fr)
INFO: ngram_search_fwdflat.c(954):    14721 words searched (94/fr)
INFO: ngram_search_fwdflat.c(957):    11844 word transitions (76/fr)
INFO: ngram_search_fwdflat.c(960): fwdflat 0.33 CPU 0.211 xRT
INFO: ngram_search_fwdflat.c(963): fwdflat 0.32 wall 0.209 xRT
INFO: ngram_search.c(1250): lattice start node <s>.0 end node </s>.125
INFO: ngram_search.c(1276): Eliminated 1 nodes before end node
INFO: ngram_search.c(1381): Lattice has 511 nodes, 1221 links
INFO: ps_lattice.c(1374): Bestpath score: -4996
INFO: ps_lattice.c(1378): Normalizer P(O) = alpha(</s>:125:153) = -402730
INFO: ps_lattice.c(1435): Joint P(O,S) = -415426 P(S|O) = -12696
INFO: ngram_search.c(872): bestpath 0.02 CPU 0.010 xRT
INFO: ngram_search.c(875): bestpath 0.01 wall 0.008 xRT
five five
INFO: ngram_search_fwdtree.c(429): TOTAL fwdtree 3.87 CPU 2.512 xRT
INFO: ngram_search_fwdtree.c(432): TOTAL fwdtree 3.87 wall 2.511 xRT
INFO: ngram_search_fwdflat.c(176): TOTAL fwdflat 0.33 CPU 0.213 xRT
INFO: ngram_search_fwdflat.c(179): TOTAL fwdflat 0.32 wall 0.210 xRT
INFO: ngram_search.c(303): TOTAL bestpath 0.02 CPU 0.010 xRT
INFO: ngram_search.c(306): TOTAL bestpath 0.01 wall 0.008 xRT


我们在倒数7行看到了five five。这就是识别结果。

在下一篇里面我们将介绍一下中文语音识别。

Reference:

Building an application with PocketSphinx – CMUSphinx Open Source Speech Recognition

觉得文章对你有帮助,可以用微信扫描二维码捐赠给博主,谢谢!


 

 如需转载请标明出处:http://blog.csdn.net/itas109 

QQ技术交流群:12951803

这篇关于语音识别基础篇(二) - pocketsphinx在windows下的编译和运行的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/168675

相关文章

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

maven 编译构建可以执行的jar包

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」👈,「stormsha的知识库」👈持续学习,不断总结,共同进步,为了踏实,做好当下事儿~ 专栏导航 Python系列: Python面试题合集,剑指大厂Git系列: Git操作技巧GO

AI基础 L9 Local Search II 局部搜索

Local Beam search 对于当前的所有k个状态,生成它们的所有可能后继状态。 检查生成的后继状态中是否有任何状态是解决方案。 如果所有后继状态都不是解决方案,则从所有后继状态中选择k个最佳状态。 当达到预设的迭代次数或满足某个终止条件时,算法停止。 — Choose k successors randomly, biased towards good ones — Close

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出 在数字化时代,文本到语音(Text-to-Speech, TTS)技术已成为人机交互的关键桥梁,无论是为视障人士提供辅助阅读,还是为智能助手注入声音的灵魂,TTS 技术都扮演着至关重要的角色。从最初的拼接式方法到参数化技术,再到现今的深度学习解决方案,TTS 技术经历了一段长足的进步。这篇文章将带您穿越时

在 Windows 上部署 gitblit

在 Windows 上部署 gitblit 在 Windows 上部署 gitblit 缘起gitblit 是什么安装JDK部署 gitblit 下载 gitblit 并解压配置登录注册为 windows 服务 修改 installService.cmd 文件运行 installService.cmd运行 gitblitw.exe查看 services.msc 缘起