You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

69 lines
1.9 KiB
JavaScript

let recognition = new webkitSpeechRecognition() || new SpeechRecognition();
let textStorage = localStorage.getItem("speech");
let allTheInterim = "";
let speech = document.getElementById("result");
let process = document.getElementById("process");
startConverting();
function startConverting() {
if ("webkitSpeechRecognition" in window) {
let speechRecognizer = new webkitSpeechRecognition() || new SpeechRecognition();
speechRecognizer.continuous = true;
speechRecognizer.interimResults = true;
speechRecognizer.lang = "en-US";
speechRecognizer.start();
let finalTranscripts = "";
speechRecognizer.addEventListener("end", function () {
console.log("Speech recognition service disconnected");
speechRecognizer.start();
});
speechRecognizer.onsoundstart = function () {
console.log("Some sound is being received");
};
speechRecognizer.onresult = function (event) {
let interimTranscripts = "";
for (let i = event.resultIndex; i < event.results.length; i++) {
let transcript = event.results[i][0].transcript;
// console.log(event.results[i][0]);
transcript.replace("\n", "<br>");
if (event.results[i].isFinal) {
finalTranscripts += transcript;
} else {
interimTranscripts += transcript;
allTheInterim += `<span style="opacity: ${
event.results[i][0].confidence + 0.3
}">${interimTranscripts}</span> `;
}
}
process.innerHTML = allTheInterim;
let final =
finalTranscripts + '<span class="interim">' + interimTranscripts + "</span>";
speech.innerHTML = final;
textStorage += finalTranscripts;
localStorage.setItem("speech", textStorage);
};
speechRecognizer.onerror = function (event) {};
} else {
speech.innerHTML = "oi va su chrome pirla";
}
}
let saveButton = document.getElementById("save");
saveButton.addEventListener("click", () => {
console.log("we");
console.log(localStorage.getItem("speech"));
});