- From: Glen Shires <gshires@google.com>
- Date: Tue, 9 Oct 2012 22:10:24 -0700
- To: public-speech-api@w3.org
- Message-ID: <CAEE5bcgzdoF6bfzLjKWjyY+RrEk6tv99zLiySW990KbKHmk3MQ@mail.gmail.com>
I propose to add the following 4 examples to the examples section. Note
that this section is non-normative. These are similar to the examples that
I posted earlier [1] [2], with the results / resultIndex references fixed.
If there's no disagreement, I'll add these to the spec tomorrow.
Using speech recognition to fill an input-field and perform a web search.
<script type="text/javascript">
var recognition = new SpeechRecognition();
recognition.onresult = function(event) {
if (event.results.length > 0) {
q.value = event.results[0][0].transcript;
q.form.submit();
}
}
</script>
<form action="http://www.example.com/search">
<input type="search" id="q" name="q" size=60>
<input type="button" value="Click to Speak"
onclick="recognition.start()">
</form>
Using speech recognition to fill an options list with alternative speech
results.
<script type="text/javascript">
var recognition = new SpeechRecognition();
recognition.maxAlternatives = 10;
recognition.onresult = function(event) {
if (event.results.length > 0) {
var result = event.results[0];
for (var i = 0; i < result.length; ++i) {
var text = result[i].transcript;
select.options[i] = new Option(text, text);
}
}
}
function start() {
select.options.length = 0;
recognition.start();
}
</script>
<select id="select"></select>
<button onclick="start()">Click to Speak</button>
Using continuous speech recognition to fill a textarea.
<textarea id="textarea" rows=10 cols=80></textarea>
<button id="button" onclick="toggleStartStop()"></button>
<script type="text/javascript">
var recognizing;
var recognition = new SpeechRecognition();
recognition.continuous = true;
reset();
recognition.onend = reset;
recognition.onresult = function (event) {
for (var i = resultIndex; i < event.results.length; ++i) {
if (event.results.final) {
textarea.value += event.results[i][0].transcript;
}
}
}
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";
}
}
</script>
Using continuous speech recognition, showing final results in black and
interim results in grey.
<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 SpeechRecognition();
recognition.continuous = true;
recognition.interim = 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].final) {
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>
[1] http://lists.w3.org/Archives/Public/public-speech-api/2012Sep/0108.html
[2] http://lists.w3.org/Archives/Public/public-speech-api/2012Sep/0113.html
/Glen Shires
Received on Wednesday, 10 October 2012 05:11:36 UTC