Olá pessoal, hoje vamos criar um programa na linguagem JavaScript para converter texto em fala (Text-to-Speech, ou TTS) no navegador. Com o TTS, é possível transformar texto escrito em áudio, permitindo a criação de experiências mais acessíveis e envolventes.
Text-to-Speech é uma tecnologia que sintetiza a fala humana a partir de texto. É amplamente utilizada em diversas aplicações, desde leitores de tela para pessoas com deficiência visual até assistentes virtuais como Alexa e Google Assistant.
Implementar TTS em uma página web é mais simples do que parece. Vamos utilizar a API Web Speech, que é nativa na maioria dos navegadores modernos.
Código HTML
<!-- HTML -->
<h1>Conversor de Texto em Fala</h1>
<textarea
id="text"
rows="10"
cols="50"
placeholder="Digite seu texto aqui..."
></textarea>
<br />
<button onclick="speak()">Falar</button>
Código CSS
/* CSS */
body {
font-family: Arial, sans-serif;
background-color: #f4f4f4;
color: #333;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100vh;
margin: 0;
}
h1 {
color: #0056b3;
}
textarea {
width: 80%;
max-width: 600px;
padding: 10px;
border: 1px solid #ccc;
border-radius: 5px;
margin-bottom: 20px;
font-size: 16px;
}
button {
background-color: #0056b3;
color: white;
padding: 10px 20px;
border: none;
border-radius: 5px;
cursor: pointer;
font-size: 16px;
}
button:hover {
background-color: #004494;
}
Código JavaScript
// JS
function speak() {
const textArea = document.getElementById('text');
const text = textArea.value;
if ('speechSynthesis' in window) {
const utterance = new SpeechSynthesisUtterance(text);
utterance.lang = 'pt-BR';
speechSynthesis.speak(utterance);
} else {
alert('Desculpe, seu navegador não suporta a API Web Speech.');
}
}
Link para o repositório do projeto: https://gitlab.com/franciscochaves/conversor-de-texto-em-fala
Link para o projeto publicado: https://franciscochaves.gitlab.io/conversor-de-texto-em-fala/
Valeu pessoal 😎✌️!