[DECtalk] User dictionary

Kyle kyle at free2.ml
Fri Feb 24 15:19:15 EST 2023


More information about my original issue:

I tried the udic_us and dic_us tools in my build to build the .tab file 
into a user dictionary. The dic_us tool indicates that my dictionary is 
being built with 0 entries and segfaults leaving a temporary file behind 
and an empty dic_us.dic file. The udic_us tool completes with no errors, 
produces by default a .dtu file with the same base filename as the .tab 
file, and I can run strings on the file and see the word whatchamacallit 
that I put in the .tab file with its correct pronunciation. The data 
file does include some non-printable characters, whitespace and other 
things to the right of whatchamacallit. I have tried converting the .tab 
file between DOS and Unix formats before compiling. In all cases, I 
loaded the compiled user dictionary into the say utility like so:

say -d dictionary.dtu

At this point I enter the word whatchamacallit and hear the original 
pronunciation rather than my corrected version that it should see in my 
user dictionary. So it seems that compiled dictionary files are ignored, 
or else .tab files are not being compiled properly. Maybe this is a 
question for anyone contributing to the code, since as I understand it, 
singing was broken and now is fixed, so this may just be a bug, either 
in the dictionary build tool or in the code that loads the user 
dictionary into the say utility.


Looking further into this, I am seeing that say -h indicates that -d is 
supposed to specify the audio device, 0 or 1, but the documentation I 
find at

https://dectalk.github.io/dectalk/idh_nt_apps_dictionary_options.htm

tells me that -d is supposed to load the specified user dictionary file. 
So it seems we have a conflict somewhere. It does in fact appear to be a 
bug. Since I have no Github account, I am not able to report it, 
although I am able to watch it periodically if someone reports it.

~Kyle



More information about the Dectalk mailing list