pocketsphinx-keyword_entries: Почему так много повторяющихся слов

avatar
crs
1 июля 2021 в 20:00
31
0
0

Я начинаю с принятого ответа на [https://coderhelper.com/questions/47243349/pocketsphinx-cuts-words][1]

Я внес небольшое изменение в ответ, чтобы включить использование списка ключевых слов. Когда я говорю «раз, два, три», ожидая ответа «раз, два, три», я получаю следующий ответ:

ответ: два один четыре два четыре два один четыре два один четыре три четыре два три два четыре один один четыре три два два четыре три два один три четыре два

Мой код:

# recognize_sphinx_keywords.py
# from: https://coderhelper.com/questions/47243349/pocketsphinx-cuts-words
# Expand for keyword list
import speech_recognition
import pyttsx3

speech_engine = pyttsx3.init('sapi5') 
speech_engine.setProperty('rate', 150)

def speak(text):
     speech_engine.say(text)
     speech_engine.runAndWait()

recognizer = speech_recognition.Recognizer()

def listen(keyword_entries=None):
    """ listen for keywords
    :keyword_entries: list of (word(text), probability)
            default: no list
    """
    with speech_recognition.Microphone() as source:
        recognizer.adjust_for_ambient_noise(source)
        audio = recognizer.listen(source)

    try:
        return recognizer.recognize_sphinx(audio,
                    keyword_entries=keyword_entries)

    except speech_recognition.UnknownValueError:
        print("Could not understand audio")
    except speech_recognition.RequestError as e:
        print("Recog Error; {0}".format(e))

    return ""

def_prob = 1e-10
keywords = [
    ("one", def_prob),
    ("two", def_prob),
    ("three", def_prob),
    ("four", def_prob),
    ]
speak("Say something!")
resp = listen(keyword_entries=keywords)
print(f"response: {resp}")
speak("I heard you say " + resp)
print(listen())
Источник

Ответы (0)