Kaldi errors when training, poketsphinx works ok

pi4 master with pizeroW satellite, latest docker 2.5.11 on both
all works well after running the home assistant slot program, limited to the light & input boolean domains…however after adding a few custom words and needing to retrain, kaldi errors out.
switching to pocketsphinx and retraining works fine, but the stt is hit and miss and i’d like to see if kaldi is better.
error:
raise TrainingFailedException(reason=asr_response.error)
rhasspyserver_hermes.TrainingFailedException: Command ‘[‘bash’, ‘/usr/lib/rhasspy/.venv/lib/kaldi/egs/wsj/s5/utils/prepare_lang.sh’, ‘/profiles/en/kaldi/model/data/local/dict’, ‘’, ‘/profiles/en/kaldi/model/data/local/lang’, ‘/profiles/en/kaldi/model/data/lang’]’ returned non-zero exit status 1.
[ERROR:2021-08-10 14:57:41,510] rhasspyserver_hermes: AsrError(error=“Command ‘[‘bash’, ‘/usr/lib/rhasspy/.venv/lib/kaldi/egs/wsj/s5/utils/prepare_lang.sh’, ‘/profiles/en/kaldi/model/data/local/dict’, ‘’, ‘/profiles/en/kaldi/model/data/local/lang’, ‘/profiles/en/kaldi/model/data/lang’]’ returned non-zero exit status 1.”, site_id=‘default’, context=None, session_id=‘463d9a8a-b3c6-4093-920a-5a1138052c18’)

full log from starting training:

[ERROR:2021-08-10 14:57:41,511] rhasspyserver_hermes: Command ‘[‘bash’, ‘/usr/lib/rhasspy/.venv/lib/kaldi/egs/wsj/s5/utils/prepare_lang.sh’, ‘/profiles/en/kaldi/model/data/local/dict’, ‘’, ‘/profiles/en/kaldi/model/data/local/lang’, ‘/profiles/en/kaldi/model/data/lang’]’ returned non-zero exit status 1.
Traceback (most recent call last):
File “/usr/lib/rhasspy/.venv/lib/python3.7/site-packages/quart/app.py”, line 1821, in full_dispatch_request
result = await self.dispatch_request(request_context)
File “/usr/lib/rhasspy/.venv/lib/python3.7/site-packages/quart/app.py”, line 1869, in dispatch_request
return await handler(**request_.view_args)
File “/usr/lib/rhasspy/rhasspy-server-hermes/rhasspyserver_hermes/main.py”, line 1313, in api_train
result = await core.train()
File “/usr/lib/rhasspy/rhasspy-server-hermes/rhasspyserver_hermes/init.py”, line 472, in train
raise TrainingFailedException(reason=asr_response.error)
rhasspyserver_hermes.TrainingFailedException: Command ‘[‘bash’, ‘/usr/lib/rhasspy/.venv/lib/kaldi/egs/wsj/s5/utils/prepare_lang.sh’, ‘/profiles/en/kaldi/model/data/local/dict’, ‘’, ‘/profiles/en/kaldi/model/data/local/lang’, ‘/profiles/en/kaldi/model/data/lang’]’ returned non-zero exit status 1.
[ERROR:2021-08-10 14:57:41,510] rhasspyserver_hermes: AsrError(error=“Command ‘[‘bash’, ‘/usr/lib/rhasspy/.venv/lib/kaldi/egs/wsj/s5/utils/prepare_lang.sh’, ‘/profiles/en/kaldi/model/data/local/dict’, ‘’, ‘/profiles/en/kaldi/model/data/local/lang’, ‘/profiles/en/kaldi/model/data/lang’]’ returned non-zero exit status 1.”, site_id=‘default’, context=None, session_id=‘463d9a8a-b3c6-4093-920a-5a1138052c18’)
[DEBUG:2021-08-10 14:57:41,507] rhasspyserver_hermes: Handling AsrError (topic=hermes/error/asr, id=7f7c2a76-94c8-4a77-a42c-d9c85386fab1)
[DEBUG:2021-08-10 14:57:38,417] rhasspyserver_hermes: Handling NluTrainSuccess (topic=rhasspy/nlu/default/trainSuccess, id=7f7c2a76-94c8-4a77-a42c-d9c85386fab1)
[DEBUG:2021-08-10 14:57:38,387] rhasspyserver_hermes: Publishing 3753 bytes(s) to rhasspy/nlu/default/train
[DEBUG:2021-08-10 14:57:38,387] rhasspyserver_hermes: → NluTrain
[DEBUG:2021-08-10 14:57:38,382] rhasspyserver_hermes: Publishing 3753 bytes(s) to rhasspy/asr/default/train
[DEBUG:2021-08-10 14:57:38,381] rhasspyserver_hermes: → AsrTrain
[DEBUG:2021-08-10 14:57:38,375] rhasspyserver_hermes: Finished writing /profiles/en/intent_graph.pickle.gz
[DEBUG:2021-08-10 14:57:38,225] rhasspyserver_hermes: Writing /profiles/en/intent_graph.pickle.gz
[DEBUG:2021-08-10 14:57:37,564] rhasspynlu.slots: Running program for slot hass/entities,cover: [’/profiles/en/slot_programs/hass/entities’, ‘cover’]
[DEBUG:2021-08-10 14:57:36,936] rhasspynlu.slots: Running program for slot hass/entities,light: [’/profiles/en/slot_programs/hass/entities’, ‘light’]
[DEBUG:2021-08-10 14:57:36,237] rhasspynlu.slots: Running program for slot hass/entities,input_boolean: [’/profiles/en/slot_programs/hass/entities’, ‘input_boolean’]
[DEBUG:2021-08-10 14:57:36,233] rhasspynlu.ini_jsgf: Loaded ini file
[DEBUG:2021-08-10 14:57:36,231] rhasspyserver_hermes: Generating intent graph
[DEBUG:2021-08-10 14:57:36,230] rhasspyserver_hermes: Loading sentences from [PosixPath(’/profiles/en/sentences.ini’)]
[INFO:2021-08-10 14:57:36,229] rhasspyserver_hermes: Starting training

i’ve deleted the kaldi folder and redownloaded a couple of times, but that didn’t fix it.

any insight or help would be gratefully recieved!

2 Likes

@danpow Did you find the solution for this?

1 Like

I have the same problem running Home Assistant and Rhasspy in docker.

[ERROR:2022-08-16 13:55:24,685] rhasspyserver_hermes: Command '['bash', '/usr/lib/rhasspy/.venv/lib/kaldi/egs/wsj/s5/utils/prepare_lang.sh', '/profiles/en/kaldi/model/data/local/dict', '<unk>', '/profiles/en/kaldi/model/data/local/lang', '/profiles/en/kaldi/model/data/lang']' returned non-zero exit status 1.
Traceback (most recent call last):
  File "/usr/lib/rhasspy/.venv/lib/python3.7/site-packages/quart/app.py", line 1821, in full_dispatch_request
    result = await self.dispatch_request(request_context)
  File "/usr/lib/rhasspy/.venv/lib/python3.7/site-packages/quart/app.py", line 1869, in dispatch_request
    return await handler(**request_.view_args)
  File "/usr/lib/rhasspy/rhasspy-server-hermes/rhasspyserver_hermes/__main__.py", line 1313, in api_train
    result = await core.train()
  File "/usr/lib/rhasspy/rhasspy-server-hermes/rhasspyserver_hermes/__init__.py", line 472, in train
    raise TrainingFailedException(reason=asr_response.error)
rhasspyserver_hermes.TrainingFailedException: Command '['bash', '/usr/lib/rhasspy/.venv/lib/kaldi/egs/wsj/s5/utils/prepare_lang.sh', '/profiles/en/kaldi/model/data/local/dict', '<unk>', '/profiles/en/kaldi/model/data/local/lang', '/profiles/en/kaldi/model/data/lang']' returned non-zero exit status 1.
[ERROR:2022-08-16 13:55:24,685] rhasspyserver_hermes: AsrError(error="Command '['bash', '/usr/lib/rhasspy/.venv/lib/kaldi/egs/wsj/s5/utils/prepare_lang.sh', '/profiles/en/kaldi/model/data/local/dict', '<unk>', '/profiles/en/kaldi/model/data/local/lang', '/profiles/en/kaldi/model/data/lang']' returned non-zero exit status 1.", site_id='default', context=None, session_id='af119c03-03e4-43c4-b0bb-2c58f40df1e1')
[DEBUG:2022-08-16 13:55:24,683] rhasspyserver_hermes: Handling AsrError (topic=hermes/error/asr, id=c684130a-ab74-4e81-aac1-862b237b4164)
[DEBUG:2022-08-16 13:55:20,888] rhasspyserver_hermes: Handling NluTrainSuccess (topic=rhasspy/nlu/default/trainSuccess, id=c684130a-ab74-4e81-aac1-862b237b4164)
[DEBUG:2022-08-16 13:55:20,777] rhasspyserver_hermes: Publishing 6507 bytes(s) to rhasspy/nlu/default/train
[DEBUG:2022-08-16 13:55:20,776] rhasspyserver_hermes: -> NluTrain
[DEBUG:2022-08-16 13:55:20,770] rhasspyserver_hermes: Publishing 6507 bytes(s) to rhasspy/asr/default/train
[DEBUG:2022-08-16 13:55:20,769] rhasspyserver_hermes: -> AsrTrain
[DEBUG:2022-08-16 13:55:20,763] rhasspyserver_hermes: Finished writing /profiles/en/intent_graph.pickle.gz
[DEBUG:2022-08-16 13:55:20,476] rhasspyserver_hermes: Writing /profiles/en/intent_graph.pickle.gz
[DEBUG:2022-08-16 13:55:19,890] rhasspynlu.slots: Running program for slot hass/entities,light: ['/profiles/en/slot_programs/hass/entities', 'light']
[DEBUG:2022-08-16 13:55:19,500] rhasspynlu.slots: Running program for slot hass/entities,switch: ['/profiles/en/slot_programs/hass/entities', 'switch']
[DEBUG:2022-08-16 13:55:19,090] rhasspynlu.slots: Running program for slot hass/entities,cover: ['/profiles/en/slot_programs/hass/entities', 'cover']
[DEBUG:2022-08-16 13:55:18,909] rhasspynlu.slots: Running program for slot rhasspy/number,0,100,1: ['/usr/lib/rhasspy/rhasspy-profile/rhasspyprofile/profiles/en/slot_programs/rhasspy/number', '0', '100', '1']
[DEBUG:2022-08-16 13:55:18,898] rhasspynlu.slots: Loading slot hass/colors from /profiles/en/slots/hass/colors
[DEBUG:2022-08-16 13:55:18,887] rhasspynlu.ini_jsgf: Loaded ini file
[DEBUG:2022-08-16 13:55:18,885] rhasspyserver_hermes: Generating intent graph
[DEBUG:2022-08-16 13:55:18,884] rhasspyserver_hermes: Loading sentences from [PosixPath('/profiles/en/sentences.ini'), PosixPath('/profiles/en/intents/homeassistant.ini')]
[INFO:2022-08-16 13:55:18,883] rhasspyserver_hermes: Starting training

I know this is a bit old…just wanted to say anyone with this issue should first check the friendly names of their entities and make sure they are words. If you have lights and switches or more like media players etc in your sentences file …make a copy of it for backup…then remove down to one entity type ie.lights and see if it still errors out…if so
check the friendly names of those entities.

1 Like