Как распознать бодрствующее слово или если какое-либо слово было сказано - PullRequest
0 голосов
/ 11 июля 2019

Не удалось найти способ запуска оболочки Pocketsphinx, который позволил бы легко узнать, какие слова были сказаны

Часть предоставленного кода выглядит примерно так

from pocketsphinx import LiveSpeech

speech = LiveSpeech(lm=False, keyphrase='forward', kws_threshold=1e-20)
for phrase in speech:
    print(phrase.segments(detailed=True))

Но ничего не работает, и мой вывод терминала буквально ничего не говорит.Просто пробел.Как я могу обнаружить любое слово?

1 Ответ

1 голос
/ 11 июля 2019

Моя работа заключается в том, чтобы создать команду, которая запускает Pocketsphinx в подпроцесс, и направить вывод в мой скрипт на python.

import subprocess
p = subprocess.Popen("pocketsphinx_continuous -inmic yes", stdout=subprocess.PIPE, bufsize=1, shell=True)
for line in iter(p.stdout.readline, b''):
    print line.upper(),
p.stdout.close()
p.wait()

Строка с надписью "print line.upper ()" выглядит как в терминале

INFO: continuous.c(275): Ready...
INFO: continuous.c(261): Listening...
A lot of various pieces of information
THE WORDS YOU SAID

Это работает в режиме реального времени!

...