Я новичок в JavaScript. Я использую NodeJS и электрон для создания веб-приложения для распознавания речи. Теперь я знаю, что в vanila JavaScript есть объект SpeechRecognition, но он не поддерживается в электронном формате. Но MediaRecorder разрешен. Теперь моя цель - записать аудио от пользователя и преобразовать его в текст. Итак, я использовал объект MediaRecorder для записи аудио от пользователя и преобразования его в объект blob, а затем преобразовал его в аудио объект. Теперь я хочу сохранить аудио в виде файла. Или как-то напрямую преобразовать его в текст.
Вот мой код: (JavaScript) (средство визуализации. js)
window.onload = () => {
document.querySelector("#b").addEventListener("click", sttr);
console.log(document.querySelector("#b"));
var c = document.querySelector('#c');
function sttr() {
navigator.mediaDevices.getUserMedia({ audio: true })
.then(stream => {
const mediaRecorder = new MediaRecorder(stream);
mediaRecorder.start();
const audioChunks = [];
mediaRecorder.addEventListener("dataavailable", event => {
audioChunks.push(event.data);
});
mediaRecorder.addEventListener("stop", () => {
const audioBlob = new Blob(audioChunks);
console.log(audioBlob)
const audioUrl = URL.createObjectURL(audioBlob);
console.log(audioUrl)
const audio = new Audio(audioUrl);
audio.play();
});
setTimeout(() => {
mediaRecorder.stop();
}, 3000);
});
}
}
(HTML) (index. html):
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello World!</title>
<script>
window.nodeRequire = require;
delete window.require;
delete window.exports;
delete window.module;
</script>
</head>
<body>
<h1>Speech Recognition!</h1>
<br>
<p>Demo speech recognition with html javascript, nodejs and electron!</p>
<button id="b">Start Recording</button>
<button id="s">Stop Recording</button>
<br>
<p id="c"></p>
<a></a>
<audio></audio>
<script src="./renderer.js"></script>
</body>
</html>
Скажите, пожалуйста, что мне делать.