<html>
<head>
</head>
<body>
<div id="messages"></div>
<script>
function speak(text) {
// Create a new SpeechSynthesisUtterance instance
const utterance = new SpeechSynthesisUtterance(text);
// Set voice properties (optional)
utterance.lang = 'en-US'; // Set language (adjust as needed)
utterance.pitch = 1; // Adjust pitch (0 to 2)
utterance.rate = 1; // Adjust rate/speed (0.1 to 10)
utterance.volume = 1; // Adjust volume (0 to 1)
// Speak the text
window.speechSynthesis.speak(utterance);
}
let recognition;
function startSpeechRecognition() {
// Check if the Web Speech API is supported
if (!('SpeechRecognition' in window || 'webkitSpeechRecognition' in window)) {
console.error('Web Speech API is not supported in this browser.');
return;
}
// Initialize SpeechRecognition
recognition = new (window.SpeechRecognition || window.webkitSpeechRecognition)();
// Configure SpeechRecognition
recognition.lang = 'en-US'; // Set the desired language
recognition.continuous = true; // Allow continuous recognition
recognition.interimResults = true; // Capture interim results
// Event listener for speech recognition results
recognition.onresult = (event) => {
let transcript = '';
for (let i = event.resultIndex; i < event.results.length; i++) {
transcript += event.results[i][0].transcript;
}
console.log('Recognized Speech:', transcript);
};
// Handle errors
recognition.onerror = (event) => {
console.error('Speech Recognition Error:', event.error);
};
// Automatically restart recognition if it stops
recognition.onend = () => {
console.log('Speech recognition stopped. Restarting...');
recognition.start();
};
// Start speech recognition
recognition.start();
console.log('Speech recognition started.');
}
// Start the speech recognition loop
startSpeechRecognition();
</script>
</body?>
</html>