Skip to content

Instantly share code, notes, and snippets.

@kesor
Last active April 29, 2020 02:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kesor/99d7d6af35e8bab51dd20d04390d234a to your computer and use it in GitHub Desktop.
Save kesor/99d7d6af35e8bab51dd20d04390d234a to your computer and use it in GitHub Desktop.
use speech recognition and output captions into console
<html>
<body>
<button id="button" onclick="toggleStartStop()"></button>
<div style="border:dotted;padding:10px">
<span id="final_span"></span>
<span id="interim_span" style="color:grey"></span>
</div>
<script type="text/javascript">
var recognizing;
var recognition = new (window['SpeechRecognition'] || window['webkitSpeechRecognition'])
recognition.continuous = true
recognition.interimResults = true
reset()
recognition.onend = reset
recognition.onresult = function (event) {
var final = ""
var interim = ""
for (var i = 0; i < event.results.length; ++i) {
if (event.results[i].isFinal) {
final += event.results[i][0].transcript
} else {
interim += event.results[i][0].transcript
}
}
final_span.innerHTML = final
interim_span.innerHTML = interim
}
function reset() {
recognizing = false
button.innerHTML = "Click to Speak"
}
function toggleStartStop() {
if (recognizing) {
recognition.stop()
reset()
} else {
recognition.start()
recognizing = true
button.innerHTML = "Click to Stop"
final_span.innerHTML = ""
interim_span.innerHTML = ""
}
}
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment