webkitSpeechRecognition
Research Mozilla's speech recognition web API
by humanzing
HTML
<!DOCTYPE HTML>
<html lang = "ru-RU">
<head>
<title>speechrecognitiondemo.html</title>
<meta charset = "UTF-8" />
</head>
<body>
<h1>Web Speech API Demo</h1>
<textarea id = "myTextArea" rows = "30" cols = "80"></textarea>
</body>
</html>
JavaScript
var name = "ok";
var recognition;
if ('webkitSpeechRecognition' in window) {
recognition = new webkitSpeechRecognition();
// Option, false is meaning that when the user stops talking, speech recognition will end
recognition.continuous = true;
// Выбираем русский язык в качестве целевого
recognition.lang = 'fr-FR';
// Если хотим чтобы распознавание началось ещё до того, как пользователь закончит говорить
recognition.interimResults = true;
recognition.onresult = function(event) {
var result = event.results[event.resultIndex];
var textarea = document.getElementById('myTextArea');
console.log(event.results[0][0].transcript);
if (event.results[0][0].transcript.indexOf("ok") == 0) {
if (result.isFinal) {
if (result[0].transcript.indexOf("ok") == 0) {
textarea.value = 'Вы продикотвали: ' + result[0].transcript;
} else {
recognition.stop();
}
//alert('Вы продикотвали: ' + result[0].transcript);
} else {
textarea.value = 'Промежуточный результат: ' + result[0].transcript;
//console.log('Промежуточный результат: ', result[0].transcript);
}
} else {
recognition.stop();
}
};
recognition.onstart = function() {
/*var textarea = document.getElementById('myTextArea');
textarea.value = "Hello!\nHow are you";*/
}
recognition.onend = function() {
reload();
};
recognition.start();
} else {
alert('webkitSpeechRecognition не поддерживается вашим браузером, используйте Google Chrome или Mozilla Firefox');
}
function reload() {
setTimeout(function() {
recognition.start();
}, 2000);
}
startRecognizer();