Dictating your thoughts to your computer and/or issuing voice commands to it isn't science fiction. What is more, you can do it under Linux as well.
Voice Recognition, Speech Recognition, Dictation Software
Before we move to the list of best free voice recognition dictation software, we need to first clarify what this means. Voice recognition, speech recognition, and dictation software are very similar, yet they are not the same.
Voice recognition is the lowest level and many applications and application components offer, in some form or another. Speech recognition is more advanced. Speech recognition software captures separate words and transcribes them (or executes commands, if the speech patterns are commands). Dictation software also captures the words in the speech and transcribes them to text. Generally, these types of programs are the most advanced ones and you can use them to dictate your thoughts.
Free Voice Recognition Dictation Software
If you are familiar with speech recognition and dictation software for Windows, then you must have heard (and probably used) about Dragon Naturally Speaking. Dragon Naturally Speaking is a great application and it really works. If you are looking for the Linux equivalent of Dragon Naturally Speaking, then you might be a bit disappointed because currently there is not such an application yet. It's true that there are a lot of free voice recognition dictation software for Linux, but even the best of these programs do not come close to Dragon Naturally Speaking.
Dictation software is a lot of work to make and this is the reason why there aren't numerous, feature-rich Linux free voice recognition dictation software applications. Still, there are some decent ones you might want to try. Here are some of them:
CMU Sphinx: Sphinx is one of the most popular speech recognition applications for Linux and it can correctly capture words. Still, it is far from a viable solution, if you want to use it for dictation of complex texts. One of the good things about it is that it comes with precompiled binaries for Ubuntu and derivatives, so if you want to spare yourself the hassle of compiling it from source code, you can use the ready-made packages. Additionally, it has many language models (mostly Voxforge models but there are others as well), so you can use it for many human languages.
Simon Listens: Simon Listens is a decent alternative, if you want to use voice commands to work with your computer. However, it's not a dictation software, so if you are looking for a speech recognition software for dictations, this is not it. The good news is that Simon works with any dialect.
Perlbox: Perlbox is another application for voice control of your computer. Again, it is not a dictation program but you can use it to perform common tasks. You can also add new commands to it.
Xvoice: Xvoice can be used both for dictation and for voice commands. Xvoice is free and open source, but in order to function properly, it needs ViaVoice form IBM (which is not free).
Julius: You can use Julius for speech recognition but you need to have a language model and an acoustic model. The site offers a Japanese language model and an English one but the second has many limitations. Julius started as a speech engine for Japanese and this is why the choice of languages is really limited, but still it is better than nothing.
If you see that none of these are working for you and you desperately need voice recognition dictation software (and you have a license for Dragon Naturally Speaking) the last resort is to deploy Dragon in Wine (the Windows emulator). However, this doesn't guarantee that your problems are over because Dragon in Wine has many issues. Sometimes you might wonder if this is the least objectionable option you have to use dictation software under Linux.