Francisco Chaves

Francisco Chaves

Software Developer.
Chatbot Developer.

© 2024

Modo escuro

Conversor de Texto para Fala com JavaScript

Logo

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.

Visualize o Pen Conversor de Texto em Fala feito por Francisco Chaves (@franciscochaves) em CodePen.

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 😎✌️!

#Compartilhe

Recomendado para você