This is an old revision of the document!

<!DOCTYPE html> <html lang=“en”> <head>

<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Talking Tom Clone</title>
<style>
  body {
    font-family: Arial, sans-serif;
    text-align: center;
    background: #f0f0f0;
    padding: 40px;
  }

Advertisement

  img {
    width: 300px;
    border-radius: 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  }
  button {
    margin-top: 20px;
    padding: 15px 30px;
    font-size: 20px;
    background-color: #4CAF50;
    color: white;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: background 0.3s;
  }
  button:hover {
    background-color: #45a049;
  }
  #status {
    margin-top: 15px;
    font-weight: bold;
  }
</style>

Advertisement

</head> <body>

<h1>Talking Tom Clone</h1>
<img src="https://freeimage.host/images/2024/05/15/3rFyMyF.png" alt="Talking Tom" />
<br>
<button id="toggleButton">Play</button>
<div id="status">Press play to start listening</div>
<script>
  const button = document.getElementById("toggleButton");
  const statusText = document.getElementById("status");
  let listening = false;
  let recognition;
  if ("webkitSpeechRecognition" in window) {
    recognition = new webkitSpeechRecognition();
    recognition.continuous = false;
    recognition.lang = "en-US";
    recognition.interimResults = false;
    recognition.onstart = () => {
      statusText.textContent = "Listening...";
    };
    recognition.onresult = (event) => {
      const transcript = event.results[0][0].transcript;
      speak(transcript);
    };
    recognition.onerror = (event) => {
      console.error("Speech recognition error:", event.error);
      statusText.textContent = "Error occurred: " + event.error;
    };
    recognition.onend = () => {
      if (listening) {
        recognition.start(); // auto-restart
      }
    };
  } else {
    alert("Speech recognition not supported in this browser.");
  }

Advertisement

  function speak(text) {
    const utterance = new SpeechSynthesisUtterance(text);
    speechSynthesis.speak(utterance);
    statusText.textContent = "Repeating: " + text;
  }
  button.onclick = () => {
    if (!listening) {
      recognition.start();
      listening = true;
      button.textContent = "Stop";
    } else {
      recognition.stop();
      listening = false;
      button.textContent = "Play";
      statusText.textContent = "Stopped listening";
    }
  };
</script>

</body> </html>

Last modified: by 152.56.137.48