daanzu / kaldi-active-grammar

Python Kaldi speech recognition with grammars that can be set active/inactive dynamically at decode-time
GNU Affero General Public License v3.0
336 stars 50 forks source link

audio_self_threaded cannot be set from command line #42

Closed ileben closed 3 years ago

ileben commented 3 years ago

Using the command line below, Kaldi reports audio_self_threaded=True on startup.

%PYTHON_PATH%\python -m dragonfly load _caster.py --engine kaldi --engine-options "audio_self_threaded=False" --no-recobs-messages

kaldi-active-grammar 1.8.1 dragonfly2[kaldi] 0.28.1

LexiconCode commented 3 years ago

I can replicate this as well. It seems like any engine parameter that accepts a bool value does not work as expected however anything that accepts an integer does. --engine-options "vad_padding_end_ms=666" versus "audio_self_threaded=False"

Works

python -m dragonfly load-directory . --engine kaldi --engine-options "vad_padding_end_ms=666"

INFO:engine:Kaldi options: {'model_dir': None, 'tmp_dir': None, 'audio_input_device': None, 'audio_self_threaded': True, 'audio_auto_reconnect': True, 'audio_reconnect_callback': None, 'retain_dir': None, 'retain_audio': False, 'retain_metadata': False, 'retain_approval_func': None, 'vad_aggressiveness': 3, 'vad_padding_start_ms': 150, 'vad_padding_end_ms': 666, 'vad_complex_padding_end_ms': 600, 'auto_add_to_user_lexicon': True, 'lazy_compilation': True, 'invalidate_cache': False, 'expected_error_rate_threshold': None, 'alternative_dictation': None, 'cloud_dictation_lang': 'en-US', 'decoder_init_config': None}

Does not

python -m dragonfly load-directory . --engine kaldi --engine-options "audio_auto_reconnect=False"

INFO:engine:Kaldi options: {'model_dir': None, 'tmp_dir': None, 'audio_input_device': None, 'audio_self_threaded': True, 'audio_auto_reconnect': True, 'audio_reconnect_callback': None, 'retain_dir': None, 'retain_audio': False, 'retain_metadata': False, 'retain_approval_func': None, 'vad_aggressiveness': 3, 'vad_padding_start_ms': 150, 'vad_padding_end_ms': 666, 'vad_complex_padding_end_ms': 600, 'auto_add_to_user_lexicon': True, 'lazy_compilation': True, 'invalidate_cache': False, 'expected_error_rate_threshold': None, 'alternative_dictation': None, 'cloud_dictation_lang': 'en-US', 'decoder_init_config': None}
daanzu commented 3 years ago

Oops. That should be an easy fix. I will look at it.

daanzu commented 3 years ago

This is fixed in the latest version of dragonfly2.