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/g2p.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/g2p.py')
| -rw-r--r-- | client/g2p.py | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/client/g2p.py b/client/g2p.py index 3225c73..87e8b0d 100644 --- a/client/g2p.py +++ b/client/g2p.py @@ -3,10 +3,22 @@ import os import tempfile import subprocess import re +import yaml PHONE_MATCH = re.compile(r'<s> (.*) </s>') -PHONETISAURUS_PATH = os.environ['JASPER_HOME'] + "/phonetisaurus" +FST_MODEL = None + +# Try to get fst_model 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 'fst_model' in profile['pocketsphinx']: + FST_MODEL = profile['pocketsphinx']['fst_model'] + +if not FST_MODEL: + FST_MODEL = os.environ['JASPER_HOME'] + "/phonetisaurus/g014b2b.fst" def parseLine(line): return PHONE_MATCH.search(line).group(1) @@ -17,8 +29,7 @@ def parseOutput(output): def translateWord(word): - out = subprocess.check_output(['phonetisaurus-g2p', '--model=%s' % - PHONETISAURUS_PATH + "/g014b2b.fst", '--input=%s' % word]) + out = subprocess.check_output(['phonetisaurus-g2p', '--model=%s' % FST_MODEL, '--input=%s' % word]) return parseLine(out) @@ -36,8 +47,7 @@ def translateWords(words): def translateFile(input_filename, output_filename=None): - out = subprocess.check_output(['phonetisaurus-g2p', '--model=%s' % - PHONETISAURUS_PATH + "/g014b2b.fst", '--input=%s' % input_filename, '--words', '--isfile']) + out = subprocess.check_output(['phonetisaurus-g2p', '--model=%s' % FST_MODEL, '--input=%s' % input_filename, '--words', '--isfile']) out = parseOutput(out) if output_filename: |
