JSFiddle - React, Tailwind, and code Playground
by Tgwizman
JavaScript
var SPEECH = (function() {
function SPEECH() {
this.getVoices();
}
SPEECH.prototype.listen = function(f) {
var recognition = new webkitSpeechRecognition();
recognition.start();
recognition.onresult = function(event) {
if (typeof f == 'function') f(event.results[0][0].transcript);
};
};
SPEECH.prototype.say = function(str, f, voice) {
var msg = new SpeechSynthesisUtterance(str);
msg.voice = this.voices[(typeof voice == 'number')? voice : 10];
msg.onend = function() {
if (typeof f == 'function') f();
};
window.speechSynthesis.speak(msg);
};
SPEECH.prototype.getVoices = function() {
this.voices = window.speechSynthesis.getVoices();
};
return SPEECH;
})();
var jarvis = new SPEECH();
setTimeout(function() {
jarvis.getVoices();
jarvis.say('Holy shit. Circut Scribe looks amazing. Thank you for showing me, Erin.');
}, 10);