This Wednesday Google released version 11 of the Chrome Browser. One of the most important addition was the support for speech recognition for English. One can enable speech recognition in an input field by adding the x-webkit-speech proprietary attribute, like in this example:
<input type="text" x-webkit-speech />
The result should look like this (of course, in Chrome 11, in the other browsers it looks just like a normal input):
You can press the microphone icon and speak. The browser sends the recording to the Google servers, where the speech is transformed into text, which is then displayed in the input field.
While this all is great, it doesn’t work that well, at least not with the English accent of a Romanian. It does work well with simple text such as “hello world”, “chrome 11”, “a beautiful day” or “show me the money”. However, in my tests, most of the time, the recognition failed. For instance “speech input” is sometimes recognized as “speaking book”. “twenty eleven” was most of the time recognized as 27, and very rarely as 2011. For “this is the year twenty-eleven” I got “this is beer 37”, which is probably the number of beers the service had earlier :). When trying “nothing else matters” I got “smoking a snickers”, “the king of snickers” and “latino snickers” until it finally figured out the correct text. So then I asked the browser “can you handle a longer sentence?” and the answers were “200 number centos”, “can you send unknown person”, “to handle a number sentence”, “200 number sentence”, “can you endorse a number sentence”, “can you handle a medical center”, “can you handle the number symptoms”, “can you pandas syndrome symptoms”, “kings honda center”, etc. etc. No matter what pronunciation I tried, it wasn’t able to pick the right text.
My conclusion is that in theory such a feature is great, but in practice Google still have a lot to work on it.
You can try it out here (with Chrome 11).
You can read more about HTML5 features in this presentation at slides.html5rocks.com.