New hotness, speech input. (The demo, the demo)
You get an input:
<input>
You add an x-webkit-speech
attribute
<input x-webkit-speech>
And voila!
Or if you don't have a recent Chrome version, here's what these who have a recent Chrome version see:
Nice.
Textareas
Speech inputs - gotta love them. But in textareas - you can't have them. So you can put an input and a textarea and copy over the content.
html:
<textarea id="txt"></textarea> <input x-webkit-speech id="mike"/>
With some CSS you can remove the border, add pointy cursor, etc make it look like not an input.
#mike { font-size: 25px; width: 25px; height: 25px; cursor:pointer; border: none; position: absolute; margin-left: 5px; outline: none; background: transparent; } #txt { height: 150px; width: 150px; }
Finally a little JavaScript to a/ unfocus the input and b/ carry over the content from the input to the textarea
var mike = document.getElementById('mike'); mike.onfocus = mike.blur; mike.onwebkitspeechchange = function(e) { //console.log(e); // SpeechInputEvent document.getElementById('txt').value = mike.value; };
That's all there is. Click over to the demo.
Here's what you should see in Chrome:
You can see that console.log()
there - it's definitelly worth exploring. The thing is a SpeechInputEvent
type of object is passed to the handler of the onwebkitspeechchange
event. This object has some interesting properties, such as the array results[]
which is number of guesses what you've said and confidence (0 to 1 it seems) in the guess.
Enjoy and go ahead and add these all over the place! 🙂
Comments? Find me on BlueSky, Mastodon, LinkedIn, Threads, Twitter