Running |espeak --compile=om| on some platforms results in espeak segfaulting intermittently (not reproducible under gdb). When it does, it generates "Unknown keyword: " messages with garbage after it.master
espeak-data/ne_dict \ | espeak-data/ne_dict \ | ||||
espeak-data/nl_dict \ | espeak-data/nl_dict \ | ||||
espeak-data/no_dict \ | espeak-data/no_dict \ | ||||
espeak-data/om_dict \ | |||||
espeak-data/pa_dict \ | espeak-data/pa_dict \ | ||||
espeak-data/pap_dict \ | espeak-data/pap_dict \ | ||||
espeak-data/pl_dict \ | espeak-data/pl_dict \ | ||||
espeak-data/no_dict: src/espeak espeak-data/phontab dictsource/no_list dictsource/no_rules dictsource/no_extra | espeak-data/no_dict: src/espeak espeak-data/phontab dictsource/no_list dictsource/no_rules dictsource/no_extra | ||||
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=no && cd .. | cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=no && cd .. | ||||
om: espeak-data/om_dict | |||||
dictsource/om_extra: | |||||
touch dictsource/om_extra | |||||
espeak-data/om_dict: src/espeak espeak-data/phontab dictsource/om_list dictsource/om_rules dictsource/om_extra | |||||
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=om && cd .. | |||||
pa: espeak-data/pa_dict | pa: espeak-data/pa_dict | ||||
dictsource/pa_extra: | dictsource/pa_extra: | ||||
touch dictsource/pa_extra | touch dictsource/pa_extra |
'zh-yue': 'zhy', | 'zh-yue': 'zhy', | ||||
} | } | ||||
# The 'om' voice file intimitently crashes when compiling on some platforms. | |||||
exclude_voices = ['om'] | |||||
def find_voices(path): | def find_voices(path): | ||||
for filename in os.listdir(path): | for filename in os.listdir(path): | ||||
voice_path = os.path.join(path, filename) | voice_path = os.path.join(path, filename) | ||||
else: | else: | ||||
if filename in special_voices.keys(): | if filename in special_voices.keys(): | ||||
voices.add(special_voices[filename]) | voices.add(special_voices[filename]) | ||||
else: | |||||
elif filename not in exclude_voices: | |||||
voices.add(filename) | voices.add(filename) | ||||
find_voices('espeak-data/voices') | find_voices('espeak-data/voices') |