到目前为止,我已经可以使用Webspeech API将大约4-5个单词从语音转换为文本。
我的来源看起来像这样;
var SpeechRecognition = SpeechRecognition || webkitSpeechRecognition
var recognition = new SpeechRecognition();
recognition.lang = 'en-US';
recognition.interimResults = false;
recognition.maxAlternatives = 1;
document.body.onclick = function() {
recognition.start();
}
recognition.onresult = function(event) {
var i = event.results.length-1;
var j = event.results[i].length-1;
var text = event.results[i][j].transcript;
diagnostic.textContent = 'Result received: ' + text + '.';
console.log('Confidence: ' + event.results[i][j].confidence);
}
recognition.onspeechend = function() {
recognition.stop();
}
recognition.onerror = function(event) {
diagnostic.textContent = 'Error occurred in recognition: ' + event.error;
}
因此,当我说出 5-6以外的单词时,我会得到Error occurred in recognition: network error
。
如果我说的话更少的话,则效果很好。
我还尝试设置recognition.continuous
变量,因为它的价值不起作用。
我是否无法使用免费的语音转文本API在浏览器中将长语音转换为文本?
如果是的话,请指明方向。
还是应该通过将音频发送到后端将记录的音频转换为后端中的文本?如果可以的话,该怎么做?