natlink icon indicating copy to clipboard operation
natlink copied to clipboard

Grammar lists do not work correctly with Dragon 15 in some cases

Open drmfinlay opened this issue 3 years ago • 14 comments

Natlink's named/dynamic grammar list functionality does not work correctly with Dragon 15 if used in a stand-alone Python process. However, it works just fine in a command module loaded by natspeak.exe. The related methods are GramObj.appendList() and GramObj.emptyList().

The problem can be replicated by running my sample_list.py Natlink command module. The module will load without issue, but Dragon will fail to match a spoken or mimicked command to the grammar. If one says, for example, "this big red object is good," Dragon will normally output the spoken words instead. It would seem that Dragon is either not receiving or not setting the list words and therefore cannot recognize the command. If the module is loaded into natlink normally via the user directory, it will work properly.

This behaviour occurs in the older Python 2.7 and the newer Python 3.8 versions of Natlink.

I note that this can only be related to the C++ code since Dragonfly, which uses the GramObj class directly, has the same problem.

This issue, if it is indeed fixable and not another Dragon "quirk" we must simply endure, should be considered low priority since Natlink is not normally used in this fashion.

drmfinlay avatar Nov 21 '21 05:11 drmfinlay