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') |