首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >失踪声学模型定义(mdef)与pocketsphinx

失踪声学模型定义(mdef)与pocketsphinx
EN

Stack Overflow用户
提问于 2016-03-03 13:37:39
回答 1查看 2.4K关注 0票数 3

我最近在Lubuntu15.10上安装了pocketsphinx-python,并希望在音频文件(最好是8kH)上进行语音识别。虽然我不明白,但我收到了一条错误消息,因为我的文件夹/usr/share/pocketsphinx/model/hmm/en_US/中有一个名为/usr/share/pocketsphinx/model/hmm/en_US/的文件,它说我没有:

代码语言:javascript
复制
INFO: feat.c(715): Initializing feature stream to type: '1s_c_d_dd', ceplen=13, CMN='current', VARNORM='no', AGC='none'
INFO: cmn.c(143): mean[0]= 12.00, mean[1..12]= 0.0
ERROR: "acmod.c", line 83: Folder 'pocketsphinx/model/en_us/hub4wsj_sc_8k/' does not contain acoustic model definition 'mdef'
Traceback (most recent call last):
  File "web_speech_api.py", line 16, in <module>
    decoder = Decoder(config)
  File "/home/ingrid/.local/lib/python3.4/site-packages/pocketsphinx/pocketsphinx.py", line 271, in __init__
    this = _pocketsphinx.new_Decoder(*args)
RuntimeError: new_Decoder returned -1

这是我的Python3脚本:

代码语言:javascript
复制
#!/usr/bin/env python
from os import environ, path

import sys
from pocketsphinx.pocketsphinx import *
from sphinxbase.sphinxbase import *

MODELDIR = "pocketsphinx/model"
DATADIR = "pocketsphinx/test/data"

# Create a decoder with certain model
config = Decoder.default_config()
config.set_string('-hmm', path.join(MODELDIR, 'en_us/hub4wsj_sc_8k/'))
config.set_string('-lm', path.join(MODELDIR, 'en_us/hub4.5000.DMP'))
config.set_string('-dict', path.join(MODELDIR, 'en_us/cmu07a.dic'))
decoder = Decoder(config)

# Decode streaming data.
decoder = Decoder(config)
decoder.start_utt()
stream = open(path.join(DATADIR, 'goforward.raw'), 'rb')
while True:
   buf = stream.read(1024)
   if buf:
      decoder.process_raw(buf, False, False)
   else:
      break
decoder.end_utt()
print ('Best hypothesis segments: ', [seg.word for seg in decoder.seg()])

我是完全偏离了代码的轨道,还是还需要做些什么才能让它正常工作呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-03 16:49:32

你需要找到一条通向模型的正确路径。如果模型位于/home/ingrid/ model /en-us中,则需要编写:

代码语言:javascript
复制
 config.set_string('-hmm', "/home/ingrid/model/en-us")

请注意,即使是路径中的单个字母差异,例如"_“而不是"-”,也会阻止计算机找到路径。你得精确一点。如果不确定什么是相对路径,则可以指定绝对路径。您可以从本教程了解更多有关路径的信息。

hub4是一个旧的模型,不建议使用它。对于8khz,您可以使用这个模型

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35773734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档