3D Text to Speech
Text to Speech Tool
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Arial', sans-serif;
background-color: #f2f2f2;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
flex-direction: column;
}
.container {
text-align: center;
background-color: #ffffff;
padding: 30px;
border-radius: 20px;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
transform: perspective(500px) rotateX(5deg);
width: 100%;
max-width: 600px;
}
h1 {
font-size: 36px;
color: #333;
margin-bottom: 20px;
text-transform: uppercase;
letter-spacing: 2px;
text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1);
}
.language-options {
margin-bottom: 20px;
}
.lang-btn {
padding: 15px 30px;
margin: 10px;
border: none;
border-radius: 20px;
cursor: pointer;
font-size: 18px;
color: white;
transition: all 0.3s ease;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.lang-btn#english {
background-color: #007bff;
}
.lang-btn#bangla {
background-color: #ff5722;
}
.lang-btn#hindi {
background-color: #4caf50;
}
.lang-btn:hover {
transform: scale(1.1);
box-shadow: 0 6px 10px rgba(0, 0, 0, 0.2);
}
textarea {
width: 100%;
height: 200px;
margin-top: 20px;
border-radius: 15px;
padding: 20px;
font-size: 18px;
border: 2px solid #ccc;
resize: none;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
transition: all 0.3s ease;
outline: none;
}
textarea:focus {
border-color: #007bff;
}
.controls {
margin-top: 20px;
}
button {
padding: 15px 30px;
margin: 10px;
font-size: 18px;
cursor: pointer;
background-color: #007bff;
color: white;
border: none;
border-radius: 10px;
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
transform: scale(1);
transition: transform 0.2s ease-in-out;
}
button:hover {
transform: scale(1.1);
background-color: #0056b3;
}
audio {
margin-top: 20px;
border-radius: 10px;
width: 100%;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
const speakBtn = document.getElementById("speakBtn");
const downloadBtn = document.getElementById("downloadBtn");
const textInput = document.getElementById("textInput");
const audioElement = document.getElementById("audio");
let selectedLanguage = 'en'; // Default language (English)
document.getElementById("english").addEventListener("click", () => {
selectedLanguage = 'en';
});
document.getElementById("bangla").addEventListener("click", () => {
selectedLanguage = 'bn';
});
document.getElementById("hindi").addEventListener("click", () => {
selectedLanguage = 'hi';
});
speakBtn.addEventListener("click", () => {
const text = textInput.value;
if (text) {
const utterance = new SpeechSynthesisUtterance(text);
utterance.lang = selectedLanguage;
speechSynthesis.speak(utterance);
} else {
alert("Please enter some text.");
}
});
downloadBtn.addEventListener("click", () => {
const text = textInput.value;
if (text) {
const utterance = new SpeechSynthesisUtterance(text);
utterance.lang = selectedLanguage;
const audio = new Audio();
audio.src = URL.createObjectURL(new Blob([utterance], { type: 'audio/wav' }));
audioElement.src = audio.src;
} else {
alert("Please enter some text to download.");
}
});
Comments
Post a Comment