如何更改python口袋狮身人面像字典

时间:2016-12-06 22:24:44

标签: python python-2.7 speech-recognition pocketsphinx

我正在努力使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使用我的字典?

1 个答案:

答案 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)

您必须正确指定文件的文件系统路径,它才能正常工作。