VimSpeak by "AshleyF" is a program that allows you to speak to Vim:
You can say "select three words" to type
v3wor "change surrounding brackets to parens" to type
cs])or crazy things like "change occurrences of 'foo' into 'bar', globally, ignore case, confirm" to type
:%s/foo/bar/gic. Of course in insert mode you may dictate whatever you like. To learn the grammar, have a look at the unit tests and the code.
There's an introduction video on YouTube that explains how the source for VimSpeak works, and how to use it:
The code that maps spoken words to Vim's grammar is surprisingly detailed -- most of my commonly used commands have been implemented as far as I can tell. The speech grammar itself is limited based on the current mode, so regular text can be dictated when in Insert mode. Speaking "escape" will put the editor back in Normal mode, just as you'd expect. Command and dictation grammars can be mixed as well -- saying "search test" will run