This commit is contained in:
smirgol 2023-06-29 09:29:21 +02:00 committed by GitHub
commit 4305273e3b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 20 deletions

View File

@ -5,8 +5,7 @@ import threading
import os, pyaudio
import shutil
import re
from pocketsphinx.pocketsphinx import *
from sphinxbase.sphinxbase import *
from pocketsphinx import *
from soundfiles import SoundFiles
@ -22,12 +21,12 @@ class ProfileExecutor(threading.Thread):
self.m_listening = False
self.m_cmdThreads = {}
self.m_config = Decoder.default_config()
self.m_config.set_string('-hmm', os.path.join('model', 'en-us/en-us'))
self.m_config.set_string('-dict', os.path.join('model', 'en-us/cmudict-en-us.dict'))
self.m_config.set_string('-kws', 'command.list')
# you usually don't want all this info stuff as a regular user. it just covers up init messages
self.m_config.set_string('-logfn', '/dev/null')
self.m_config = Config(
hmm=os.path.join('model', 'en-us/en-us'),
dict=os.path.join('model', 'en-us/cmudict-en-us.dict'),
kws='command.list',
logfn='/dev/null'
)
self.m_pyaudio = pyaudio.PyAudio()
self.m_stream = self.m_pyaudio.open(format=pyaudio.paInt16, channels=1, rate=16000, input=True)

View File

@ -15,7 +15,7 @@ from sphinxbase.sphinxbase import *
# keyphrases found in kwlist
WORDS = []
# test case containing multiple occurances
# test case containing multiple occurances
# of words to be used as training audio
TEST_CASE = []
# Threshold values
@ -36,7 +36,7 @@ def preprocess_files(dic_path, kwlist_path):
with open(dic_path) as _f:
_content = _f.readlines()
_content = [x.strip() for x in _content]
with open(kwlist_path) as _f:
WORDS = _f.readlines()
WORDS = [x.strip()[:x.strip().rfind(' ')] for x in WORDS]
@ -188,7 +188,7 @@ def actual_tuning(dic_path, kwlist_path, _z):
_previous_missed.extend(_missed)
_previous_fa = []
_previous_fa.extend(_fa)
_missed, _fa = process_threshold(kws_analysis(dic_path, kwlist_path))
if _z == 1:
@ -224,14 +224,14 @@ def kws_analysis(dic, kwlist):
modeldir = "/usr/local/share/pocketsphinx/model/"
# Create a decoder with certain model
config = Decoder.default_config()
config.set_string('-hmm', os.path.join(modeldir, 'en-us/en-us'))
config.set_string('-dict', dic)
config.set_string('-kws', kwlist)
config.set_string('-dither', "no")
config.set_string('-logfn', '/dev/null')
config.set_string('-featparams', os.path.join(os.path.join(modeldir,
'en-us/en-us'), "feat.params"))
config = Config(
hmm=os.path.join(modeldir, 'en-us/en-us'),
dict=dic,
kws=kwlist,
dither="no",
featparams=os.path.join(os.path.join(modeldir, 'en-us/en-us'), "feat.params"),
logfn='/dev/null'
)
stream = open(OUTPUT_FILENAME, "rb")
@ -291,7 +291,7 @@ def process_threshold(analysis_result):
missed[position_original][1] += 1
print ('Missed ', val)
return missed, false_alarms
if __name__ == '__main__':
DIC_FILE = "/home/pankaj/catkin_ws/src/pocketsphinx/demo/voice_cmd.dic"
KWLIST_FILE = "/home/pankaj/catkin_ws/src/pocketsphinx/demo/automated.kwlist"