Just gotta say... Voice Attack rocks! For us Rifters, keyboards are reduced to a couple of useful keys and if it wasn't for VA, rifting would be so much more frustrating for games with lots of buttons :-)
I started putting together a profile for Elite Dangerous specifically for the Rift a few weeks ago. There are lots of ED profiles out there, but most of them assumed you were using a monitor, and there are certain functions you can do on a monitor that won't work in the Rift. But that's another topic for another group....
While I was putting together command strings, I wanted to make the interpreter as realistic as possible by giving speakers lots of leeway in terms of how people phrase a command. Accounting for all the variations makes voice interaction much more robust. Fortunately, VA lets us compose a command string from lots of different ways to say a command. For example you could say:
Lights.
Light on.
Lights on.
Turn lights on.
Turn the lights on.
Turn the ship lights on.
Turn the light on.
Enable lights.
Enable the light.
Enable the spotlight.
Enable the headlights
... and on and on...
I started working through an example and discovered that there are hundreds of ways to phrase the same command that would make sense in the English language. When I'm in the middle of a game, I don't wan't to have to guess the exact phrasing I programmed into the profile. "Landing gear down.. wait... Deploy the landing gear... no wait... Deploy landing gear... crap, what was it.... Put the landing gear down... hmmm... *CRASH*!! Noooooooo!!"
VA currently has a limited way to combine phrase permutations - a Prefix and a Suffix. That essentially divides the number of permutations you have to type in by two. The beta version recently added wildcard support for full commands (not prefix or suffix). That helps too, but it doesn't fully cover a lot of cases in natural language.
Last weekend I coded an application that helps me generate all the permutations for various phrases. I called it Phrase Walker :-) It's fugly, a bit clunky, and some of the buttons don't work, but it has enough functionality such that I used it to nearly complete the Rift-VA profile I'd been working on.
Here's a screenshot:

On the light example, I uses the phrase:
set [The] [Ship] [Light][S] [ToEnabled]
turn [The] [Ship] [Light][S] On
[TurnOn] [The] [Ship] [Light][S]
let there be light
Anywhere that an item in brackets is used, it gets replaced with an incremented value in the series that it represents. So [The] equates to (*, the), where the * means empty. Light resolves to (light, spotlight, headlight, light switch).
As you can see in the screenshot, the "Light" example actually came out to 433 permutations - that would have been a lot of typing! The average phrases turned into about 10 to 20 commands. It makes your .vap file massive though because VA stores each synonym phrase as a separate command in its XML.
All the permutations of your phrase are displayed as you modify settings. The settings get saved to an XML so you can share them and load them up later for editing. In theory it should handle Unicode. I did add support for incremented series of floats and integer values as well, but they probably won't get used much.
I am thinking of making the system into a VA plugin. Right now there's a button to copy the results into a semicolon separated list, which you then paste into VA. Pasting works OK, but maybe there's a way to sync with it via the plugin system. I'll look into the API a bit closer this weekend.
Gary - if you want to build something like this into the core I can send you the source code. It's C++, but the main algorithm is completely separated from the GUI so it wouldn't be hard to translate that part of it to C#. The GUI is written with Qt. Or perhaps there's a better way to implement a command substitution system in the core with a similar syntax that handles the speech as it comes in, as opposed to generating all the phrases beforehand. Whatever you do, I think VA could benefit immensely by having the ability to translate more language variations into commands. PhraseWalker is a very specialized application so I don't really know if it would be of much use to the general gamer, but I could throw together a quick installer if enough people are interested.
--luke