I want make an AI voice assistant in an html website, however, I also want it to only speak out of one voice, whenever I run the code for it (below) I always have the voice changing. I want the voice to be static and not changing.
const btn = document.querySelector('.talk');
const content = document.querySelector('.content');
//
const hru = ['I am fine', "I feel fine"];
const hello = ['Hi', 'Hello', 'Hey'];
const SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;
const recognition = new SpeechRecognition();
recognition.onstart = function () {
console.log('Voice is activated, you can use the microphone');
};
recognition.onresult = function(event){
const current = event.resultIndex;
const transcript = event.results[current][0].transcript;
content.textContent = transcript;
readOutLoud(transcript)
};
// add the listener to the btn
btn.addEventListener('click', () =>{
recognition.start();
});
function readOutLoud(message){
const speech = new SpeechSynthesisUtterance();
speech.text = 'What did you say?';
if(message.includes('how are you')){
const finalhru = hru[Math.floor(Math.random() * hru.length)];
speech.text = finalhru;
}
if(message.includes('hello', 'hi', 'hey')){
const finalhello = hello[Math.floor(Math.random() * hello.length)];
speech.text = finalhello;
}
speech.volume = 1;
speech.rate = 1;
speech.pitch = 1;
window.speechSynthesis.speak(speech)
}