我正在努力使pocketphinxs实时语音识别更准确,因为我只会说几个选择的单词。我在网上搜索,似乎我应该能够使用此网站上的工具创建自己的字典: http://www.speech.cs.cmu.edu/tools/lmtool-new.html 这似乎有用,但是在创建文件后我无法找到如何处理文件。从python口袋里的sphinx网站:https://pypi.python.org/pypi/pocketsphinx我觉得我应该可以为这样的现场语音识别器设置新的词典:
import os
from pocketsphinx import LiveSpeech, get_model_path
model_path = get_model_path()
speech = LiveSpeech(
verbose=False,
sampling_rate=16000,
buffer_size=2048,
no_search=False,
full_utt=False,
hmm=os.path.join(model_path, 'en-us'),
lm=os.path.join(model_path, 'en-us.lm.bin'),
dic=os.path.join(model_path, 'cmudict-en-us.dict')
)
for phrase in speech:
print(phrase)
但是我不清楚在这段代码中输入我自己的字典数据究竟要做些什么。我已经尝试将字典的model_path更改为我从网站下载的字典的路径,但这给出了一个错误:
RuntimeError: new_Decoder returned -1
我需要在此代码中更改什么才能让pocketSphinx使用我的字典?
答案 0 :(得分:2)
你应该得到像8569.lm
这样的语言模型和8659.dic
- 字典。你把它们放在文件系统中并使用如下:
import os
from pocketsphinx import LiveSpeech, get_model_path
model_path = get_model_path()
speech = LiveSpeech(
sampling_rate=16000,
hmm=os.path.join(model_path, 'en-us'),
lm='/home/user/8569.lm',
dic='/home/user/8569.dic'
)
for phrase in speech:
print(phrase)
您必须正确指定文件的文件系统路径,它才能正常工作。