It might be possible to share memory (and/or implement message passing) between an application and Tacspeak. Examples of what this might enable:
Tacspeak reads the current state of the application, then activates or deactivates grammar rules based on its availability within the current context
this might improve speech recognition accuracy (by disabling recognition of unavailable commands)
this could enable fallback positions, i.e. partial recognition + actioning
Tacspeak writes the recognised command and related data to a shared memory space, which the application reads and actions
this could enable actions without requiring virtual key presses (faster and more reliable)
this could enable fallback positions, i.e. partial recognition + actioning
There are a number of possible approaches for communicating data between processes (e.g. file disk reads/writes, message passing, sockets, shared memory), all of which are open for consideration and implementation. However, approaches are prioritised by latency, the lower latency the higher the priority, as the main application of Tacspeak is speech recognition for high performance gaming.
Most of the code changes required will be within the modified dragonfly repo located at jwebmeister/dragonfly. New issue(s) should be created within the modified dragonfly repo for specific works.
Tracking
This issue is for high-level tracking of work related to memory sharing (and/or message passing, etc.) between Tacspeak and other applications.
General
[ ] Investigate shared memory (and/or message passing, etc.) from Tacspeak to other applications
[ ] Investigate shared memory (and/or message passing, etc.) from other applications to Tacspeak
[ ] Define scope of changes to modified Dragonfly and create new issue at jwebmeister/dragonfly
[ ] Define scope of changes to Tacspeak, create new issue in jwebmeister/tacspeak
Unreal Engine (+ Ready or Not) - Test case
[ ] Investigate shared memory (and/or message passing, etc.) from Tacspeak to Unreal Engine (+ Ready or Not)
[ ] Investigate shared memory (and/or message passing, etc.) from Unreal Engine (+ Ready or Not) to Tacspeak
[ ] Define scope of changes to modified Dragonfly and create new issue at jwebmeister/dragonfly
[ ] Define scope of changes to Tacspeak, create new issue in jwebmeister/tacspeak
[ ] Define instructions for implementing within Unreal Engine (ideally also Ready or Not or equivalent UE version), create new issue in jwebmeister/tacspeak
Overview
It might be possible to share memory (and/or implement message passing) between an application and Tacspeak. Examples of what this might enable:
There are a number of possible approaches for communicating data between processes (e.g. file disk reads/writes, message passing, sockets, shared memory), all of which are open for consideration and implementation. However, approaches are prioritised by latency, the lower latency the higher the priority, as the main application of Tacspeak is speech recognition for high performance gaming.
Most of the code changes required will be within the modified dragonfly repo located at jwebmeister/dragonfly. New issue(s) should be created within the modified dragonfly repo for specific works.
Tracking
This issue is for high-level tracking of work related to memory sharing (and/or message passing, etc.) between Tacspeak and other applications.
General
Unreal Engine (+ Ready or Not) - Test case