diff options
| author | schneefux <schneefux+commit@schneefux.xyz> | 2014-09-12 17:57:30 -0400 |
|---|---|---|
| committer | schneefux <schneefux+commit@schneefux.xyz> | 2014-09-12 17:57:30 -0400 |
| commit | c74b76df557c9063f66a4ca3193becae19ed4625 (patch) | |
| tree | e7e99036772c59ad92a0b43a2e6cc95a4acc49ab /client/stt.py | |
| parent | eb93be0cd774627d0511ae60ec9cf625d23db755 (diff) | |
| parent | d24204caa73906a7ad98488281caac8aad6bcaec (diff) | |
| download | jasper-client-c74b76df557c9063f66a4ca3193becae19ed4625.tar.gz jasper-client-c74b76df557c9063f66a4ca3193becae19ed4625.zip | |
Merge pull request #170 from Holzhaus/avoid-hardcoded-paths
Make HMM dir and FST model configurable.
Diffstat (limited to 'client/stt.py')
| -rw-r--r-- | client/stt.py | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/client/stt.py b/client/stt.py index e14ab26..d012245 100644 --- a/client/stt.py +++ b/client/stt.py @@ -1,8 +1,10 @@ #!/usr/bin/env python2 # -*- coding: utf-8-*- +import os import traceback import json import requests +import yaml """ The default Speech-to-Text implementation which relies on PocketSphinx. @@ -31,13 +33,24 @@ class PocketSphinxSTT(object): except: import pocketsphinx as ps - hmdir = "/usr/local/share/pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k" + hmm_dir = None + + # Try to get hmm_dir from config + profile_path = os.path.join(os.path.dirname(__file__),'profile.yml') + if os.path.exists(profile_path): + with open(profile_path, 'r') as f: + profile = yaml.safe_load(f) + if 'pocketsphinx' in profile and 'hmm_dir' in profile['pocketsphinx']: + hmm_dir = profile['pocketsphinx']['hmm_dir'] + + if not hmm_dir: + hmm_dir = "/usr/local/share/pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k" if lmd_music and dictd_music: - self.speechRec_music = ps.Decoder(hmm=hmdir, lm=lmd_music, dict=dictd_music) + self.speechRec_music = ps.Decoder(hmm=hmm_dir, lm=lmd_music, dict=dictd_music) self.speechRec_persona = ps.Decoder( - hmm=hmdir, lm=lmd_persona, dict=dictd_persona) - self.speechRec = ps.Decoder(hmm=hmdir, lm=lmd, dict=dictd) + hmm=hmm_dir, lm=lmd_persona, dict=dictd_persona) + self.speechRec = ps.Decoder(hmm=hmm_dir, lm=lmd, dict=dictd) def transcribe(self, audio_file_path, PERSONA_ONLY=False, MUSIC=False): """ |
