@synesthesiam @kaykoch @Martin_Maier
Hey guys,
after several weeks of trying to get V2.5 run the time has now come to ask for your help.
I am succesfully running a 2.4.19 master/satellite system and would like to migrate this to 2.5 now. The satellite is a Pi4 with a Matrix Voice mic array and the master an Odroid H2, where my ioBroker is running in parallel. My MQTT server is an instance of ioBroker and it is located on a separate Pi4.
No problems with 2.4.19 with this configuration.
According to the Voltron tutorial (https://rhasspy.github.io/rhasspy-voltron/tutorials.html#getting-started-guide) I pulled the latest version as of today and installed it on the satellite and on the master using the respective commands. Both installations ran strait forward and did not cause any problems.
I then configured the systems as recommended by @kaykoch here: Rhasspy 2.5 Pre-Release
Kaldi download on the master was completed succesfully.
In order to use the relevant config files from 2.4.19 I then copied kaldi_custom_words.txt, sentences.ini and the slots folder to ~/.config/rhasspy/master/de
All files were immediately available in 2.5. However the master showed the error message “string index out of range” when I copied the kaldi_custom_words.txt. Also training fails (the blue bar remains endlessly) and the log shows:
[ERROR:2020-04-07 08:15:18,696] rhasspyserver_hermes: string index out of range
Traceback (most recent call last):
File “/usr/lib/rhasspy-voltron/.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-voltron/.venv/lib/python3.7/site-packages/quart/app.py”, line 1869, in dispatch_request
return await handler(**request_.view_args)
File “/usr/lib/rhasspy-voltron/rhasspy-server-hermes/rhasspyserver_hermes/main.py”, line 1208, in api_train
result = await core.train()
File “/usr/lib/rhasspy-voltron/rhasspy-server-hermes/rhasspyserver_hermes/init.py”, line 285, in train
word_transform=word_transform,
File “/usr/lib/rhasspy-voltron/rhasspy-server-hermes/rhasspyserver_hermes/train.py”, line 87, in sentences_to_graph
slot_visitor=word_visitor,
File “/usr/lib/rhasspy-voltron/rhasspy-nlu/rhasspynlu/slots.py”, line 72, in get_slot_replacements
sentence = Sentence.parse(line)
File “/usr/lib/rhasspy-voltron/rhasspy-nlu/rhasspynlu/jsgf.py”, line 112, in parse
parse_expression(s, text)
File “/usr/lib/rhasspy-voltron/rhasspy-nlu/rhasspynlu/jsgf.py”, line 333, in parse_expression
if text[next_index] == “(”:
IndexError: string index out of range
[DEBUG:2020-04-07 08:15:18,695] rhasspynlu.slots: Loading slot device_name_switch from /profiles/de/slots/device_name_switch
[DEBUG:2020-04-07 08:15:18,694] rhasspynlu.slots: Loading slot synonyms_time from /profiles/de/slots/synonyms_time
[DEBUG:2020-04-07 08:15:18,604] rhasspynlu.slots: Running program for slot rhasspy/number,5,30,1: [’/usr/lib/rhasspy-voltron/rhasspy-profile/rhasspyprofile/profiles/de/slot_programs/rhasspy/number’, ‘5’, ‘30’, ‘1’]
[DEBUG:2020-04-07 08:15:18,603] rhasspynlu.slots: Loading slot device_name_blind from /profiles/de/slots/device_name_blind
[DEBUG:2020-04-07 08:15:18,602] rhasspynlu.slots: Loading slot shopping_item from /profiles/de/slots/shopping_item
[DEBUG:2020-04-07 08:15:18,601] rhasspynlu.slots: Loading slot device_name_dimmer from /profiles/de/slots/device_name_dimmer
[DEBUG:2020-04-07 08:15:18,600] rhasspynlu.slots: Loading slot device_name_thermostat from /profiles/de/slots/device_name_thermostat
[DEBUG:2020-04-07 08:15:18,511] rhasspynlu.slots: Running program for slot rhasspy/number,1,100,1: [’/usr/lib/rhasspy-voltron/rhasspy-profile/rhasspyprofile/profiles/de/slot_programs/rhasspy/number’, ‘1’, ‘100’, ‘1’]
[DEBUG:2020-04-07 08:15:18,510] rhasspynlu.slots: Loading slot synonyms_change_command from /profiles/de/slots/synonyms_change_command
[DEBUG:2020-04-07 08:15:18,509] rhasspynlu.slots: Loading slot device_name_window from /profiles/de/slots/device_name_window
[DEBUG:2020-04-07 08:15:18,501] rhasspynlu.ini_jsgf: Loaded ini file
[DEBUG:2020-04-07 08:15:18,500] rhasspyserver_hermes: Generating intent graph
[DEBUG:2020-04-07 08:15:18,499] rhasspyserver_hermes: Loading sentences from [PosixPath(’/profiles/de/sentences.ini’)]
[INFO:2020-04-07 08:15:18,498] rhasspyserver_hermes: Starting training
Maybe it’s because I have several hundred entries in the kaldi dictionary already.
Consequently it is not possible to trigger any intents via the satellite’s command line. The log says:
[ERROR:2020-04-07 08:17:57,538] rhasspyserver_hermes:
Traceback (most recent call last):
File “/usr/lib/rhasspy-voltron/.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-voltron/.venv/lib/python3.7/site-packages/quart/app.py”, line 1869, in dispatch_request
return await handler(**request_.view_args)
File “/usr/lib/rhasspy-voltron/rhasspy-server-hermes/rhasspyserver_hermes/main.py”, line 1208, in api_train
result = await core.train()
File “/usr/lib/rhasspy-voltron/rhasspy-server-hermes/rhasspyserver_hermes/init.py”, line 369, in train
timeout_seconds=self.training_timeout_seconds,
File “/usr/lib/rhasspy-voltron/rhasspy-server-hermes/rhasspyserver_hermes/init.py”, line 854, in publish_wait
result_awaitable, timeout=timeout_seconds
File “/usr/lib/python3.7/asyncio/tasks.py”, line 449, in wait_for
raise futures.TimeoutError()
concurrent.futures._base.TimeoutError
Just another remark: I haven’t made any UDP settings yet.
I hope with these informations I enabled you to give me any hints, how I can resolve these issues and can come to a working system.
Best
Thomas





