Где разместить обученную модель речи - PullRequest
1 голос
/ 22 июня 2019

Я тренировал карманного сфинкса, используя сфинкстрин. Проблема в том, что я не знаю, как использовать обученную модель в своем коде.

Моей первой мыслью было просто заменить текущую модель в библиотеке pocketsphinx или каким-либо образом включить обученную модель.

Я много искал, но большая часть того, что я нашел, была основана на использовании tenorflow для обучения или программного обеспечения распознавания Googles, но ничего не касалось использования обученной модели.

Вот базовый пример того, как работает код:

import speech_recognition as sr


r = sr.Recognizer()
with sr.Microphone() as source:
    r.adjust_for_ambient_noise(source)
    audio = r.listen(source)



output = r.recognize_sphinx(audio)
print(output)

1 Ответ

1 голос
/ 23 июня 2019

Я решил проблему с помощью pocketsphinx's LiveSpeech()

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:
    output = phrase.hypothesis()

    if output == 'hello':
        print("recognized")
        print(output)
    else:
        print("not recognized")
        print(output)

В этом примере выходные данные должны выглядеть примерно так для оператора if

recognized
hello

и вот так для оператора else

not recognized
hi
...