Используя CmuSphinx, Pocketsphinx в raspy 4 - PullRequest
0 голосов
/ 02 мая 2020

Здравствуйте, ребята, в прошлый раз, когда я использовал мой raspi 3b + для распознавания речи с использованием CmuSphinx / PocketSphinx. Но я обнаружил, что распи 3b + процессор слишком медленный для декодирования. Кто-нибудь уже пробовал использовать raspi 4 и успех?

Я приложу код, который я использую в raspi 3b +, и ошибка

from os import environ, path

from pocketsphinx import *
from sphinxbase import *

MODELDIR = "/usr/local/lib/python3.7/dist-packages/pocketsphinx/model"

config = Decoder.default_config()
config.set_string('-hmm', path.join(MODELDIR, 'en-us'))
config.set_string('-lm', path.join(MODELDIR, 'en-us.lm.bin'))
config.set_string('-dict', path.join(MODELDIR, 'cmudict-en-us.dict'))
config.set_string('-logfn', '/dev/null')

decoder = Decoder(config)

import pyaudio
p = pyaudio.PyAudio()
stream = p.open(format=pyaudio.paInt16,
channels=1,
rate=16000 ,#rate=16000,
input=True,
frames_per_buffer=1024,
input_device_index =2)
stream.start_stream()

in_speech_bf = False
decoder.start_utt()
print("Check")
while True:
buf = stream.read(1024)
if buf:
decoder.process_raw(buf, False, False)
print("CHECKPOINT 1")
if decoder.get_in_speech() != in_speech_bf:
in_speech_bf = decoder.get_in_speech()
print("CHECKPOINT 2")
if not in_speech_bf:
decoder.end_utt()
print ('Result:', decoder.hyp().hypstr)
decoder.start_utt()
else:
break
decoder.end_utt()

И ошибка

[Errno -9981] Переполнен ввод

...