Мне нужно разработать программное обеспечение для распознавания речи, поэтому я использую Pocketsphinx с Python. Я хочу распознать всего несколько слов, поэтому я использую список ключевых фраз с пороговыми значениями, чтобы отклонить слова, не входящие в грамматику. У меня есть этот код до сих пор:
#!/usr/bin/env python
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,
lm=False,
hmm= os.path.join(model_path,'en-us'),
#lm= '/home/paulo/PycharmProjects/VoiceRecognition/Data/TAR4858/4858.lm',
dic = '/home/paulo/PycharmProjects/VoiceRecognition/Data/TAR4858/4858.dic',
kws = '/home/paulo/PycharmProjects/VoiceRecognition/Data/TAR4858/keyphrase.list'
)
for phrase in speech:
frase = str(phrase)
print frase
Это мой словарь:
BROWSER B R AW Z ER
COMPUTER K AH M P Y UW T ER
HELLO HH AH L OW
HELLO(2) HH EH L OW
MUSIC M Y UW Z IH K
OFF AO F
ON AA N
ON(2) AO N
OPEN OW P AH N
TURN T ER N
Вот мой keyphrase.list
:
OPEN BROWSER /1e-1/
TURN ON MUSIC /1e-20/
TURN OFF MUSIC /1e-20/
TURN OFF COMPUTER /1e-25/
HELLO COMPUTER /1e-25/
Это работает, но я видел на cmu sphinx
веб-сайте о списках ключевых слов, которые мне нужны для настройки этих пороговых значений с помощью команды
pocketsphinx_continuous -infile <your_file.wav> -keyphrase <your keyphrase> \
-kws_threshold <your_threshold> -time yes
Но как я могу это сделать с pocketsphinx
, установленным для python?