I cant implement it into VA.
Which part are you getting stuck on?
I'll try to walk you though it:
Start off by clicking
, then click "New Command".
Enter a phrase that will eventually trigger the command in the "When I say" textbox(I went with "Type as I speak").
Next, we'll start adding actions: Click "Other >", go to "Advanced >", go to "Add a Loop Start >", click "Single Condition (While Loop)".
In the "Loop Start" dialog that just opened, click the "Text" tab if it's not selected already, enter "{STATE_KEYSTATE:ENTER}" into the "Variable Name / Token" textbox, and enter "0"(zero) into the "Text" textbox.
Click "OK" to add the action to your command, you should now see this at the top of the action list:
Start Loop While : [{STATE_KEYSTATE:ENTER}] Equals '0'
Adding a loop start action will also create
End Loop
All other actions go in between these two actions(The top actions should automatically be highlighted, meaning any other actions you add are inserted under that).
Click "Other >", go to "Dictation >", click "Start Dictation Mode".
Check the box next to "Clear dictation buffer before starting dictation mode".
Click "OK" to add the action to your command, you should now see this as the second line in the action list:
Start Dictation Mode (Clearing Dictation Buffer)
Click "Other >", go to "Advanced >", go to "Add a Loop Start >", click "Single Condition (While Loop)".
Again in the "Text" tab, which should already be selected(VoiceAttack remembers what you used last), enter "{EXP:{DICTATION} + {STATE_KEYSTATE:ENTER}}" into the "Variable Name / Token" textbox, and enter "0"(zero) into the "Text" textbox.
Click "OK" to add the action to your command, you should now see this as the third line in the action list:
Start Loop While : [{EXP:{DICTATION} + {STATE_KEYSTATE:ENTER}}] Equals '0'
Again, adding a loop start will also add
End Loop
Because we're not putting anything into this loop(it exists only to make VoiceAttack wait until either something is spoken into the dictation buffer, or the enter key is pressed), you'll want to click on the fourth action in the list, which should be the first "End Loop" action, to ensure the following actions are added below it.
Click "Other >", go to "Dictation >", click "Stop Dictation Mode".
Make sure "Clear dictation buffer after stopping dictation mode" is NOT checked(otherwise anything you said will be removed before it can be typed out).
Click "OK" to add the action to your command, you should now see this as the fifth line in the action list:
Stop Dictation Mode
Click "Other >", go to "VoiceAttack Action >", click "Quick Input".
Enter "{DICTATION}" into the "Text" textbox.
Into the "Hold keys down for" textbox, you'll want to enter a value that's as fast as your application will accept input, but slow enough that it won't skip any letters. For some applications this can be problematic as they expect a pause between different keypresses, which "Quick Input" does not accommodate.
I use "00.060", which is kind of slow, but seems to work alright for many games.
Click "OK" to add the action to your command, you should now see this as the sixth line in the action list:
Quick Input, '{DICTATION}'
Your action list should now look like this:
Start Loop While : [{STATE_KEYSTATE:ENTER}] Equals '0'
Start Dictation Mode (Clearing Dictation Buffer)
Start Loop While : [{EXP:{DICTATION} + {STATE_KEYSTATE:ENTER}}] Equals '0'
End Loop
Stop Dictation Mode
Quick Input, '{DICTATION}'
End Loop
Click "OK" to save your command, then click "Done" at the bottom of the "Edit a Profile" window.
Now you can test your command by saying "Type as I speak"(or whichever command phrase you typed in earlier).
You should see "Recognized : 'type as i speak'" with a green icon, and "Dictation buffer cleared" with a blue icon, appear in the log(provided you don't have the main window in compact mode, in which case you'll only see "Dictation buffer cleared" without an icon).
Anything you say should be typed out as soon as you stop speaking momentarily, this will keep going until you press the enter key on your keyboard, or stop all VoiceAttack commands(either by using the button on the main window, or pressing a hotkey if you have one assigned).
It's worth keeping in mind that when using dictation, the speech recognition engine is guessing at what you're likely to have said without a frame of reference. This means accuracy may not be very high.