Unfortunately I do not.
I looked into Tarrasch
, Arena Chess
, and Fritz
. Supposedly they allow for text input, but as I'm not familiar with the system, I'm not sure how to use that in a live game, rather than just for setting up the board.
Though, while it's not ideal, 2D systems like these could be set up to use mouse control. The main issue there is that the position of control elements within the application in relative to window size and position; You'd have to "calibrate" it so the mouse cursor moves to the correct position on all squares.
I did come across this online app
, which is supposed to allow for voice input directly, but apparently requires you to use a Chrome-based browser.
It's a bit rough around the edges to say the least, but the attached profile should allow you to play a basic game of 2D chess.
Tested with Arena Chess and working fine. Tested with Fritz as well, but for whatever reason it would let me move some pieces but not others, despite the same delay.
First, make sure you have the game/browser window selected, and calibrate the system by moving the mouse cursor to the approximate center of one of the corner squares and say "calibrate corner 1", then move the cursor to the approximate center of the diagonally opposed corner(E.G. A1 to H8, or H1 to A8) and say "calibrate corner 2".
This should allow interpolation between those two points to figure out where any given square is located
To play, say the initial position of the piece you wish to move, followed by "to", and the target position of the piece you wish to move(E.G. "A2 to A3").
There's also a "click" command, which clicks any target square once(E.G. "click A1").
This is useful in Arena Chess if the selection box is currently on the wrong square(which happens when you try an illegal move, like moving one of your own pieces on top of a square occupied by another of your pieces).
If you rotate the board, and wish to play in that orientation, say "rotate board".
If the board rotation is incorrect, specify which square is now in the top right corner(E.G. "rotate board alpha 1 top right")
There is a command included to set the movement delay, which affects the general delay between each action of moving the cursor and clicking.
If the chess application doesn't accept the move, you can try increasing this(E.G. "movement delay 300" sets it to 300ms; Valid values go from 100 to 900 in 100ms steps).
I didn't have much luck getting individual letters recognized, so the NATO alphabet is also an option(E.G. "Alpha 2 to Alpha 3).
If the chess window retains the same placement between VoiceAttack restarts, there should be no need to recalibrate, calibration data is stored with the profile(though initial calibration is of course required).
The board rotation is not retrieved, as Arena Chess doesn't save it either, but you can re-enable that in the "Profile Setup" command if needed.
As a side note, I ended up using C# because VoiceAttack won't convert fractional numbers that use a comma as the decimal separator(which is a known issue).