如何更改python袖珍狮身人面像字典

How to change python pocket sphinx dictionary

我正在尝试使 pocketsphinxs 的实时语音识别更加准确,因为我只会说几个 select 单词。我在网上搜索了一下,似乎我应该可以使用这个网站上的工具来创建自己的词典: http://www.speech.cs.cmu.edu/tools/lmtool-new.html 这似乎有效,但是在创建文件后我找不到如何处理这些文件。来自 python pocket 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 使用我的词典?

您应该得到类似 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)

您必须正确指定文件的文件系统路径,它才会起作用。