Este tutorial abordará como converter texto em fala usando JavaScript usando WebSpeechAPI. Contará com uma interface simples onde o usuário adiciona o texto a ser falado e clica em um botão para gerar a fala correspondente.
Nossa demonstração de conversão de texto em fala
Aqui está o que vamos construir. Digite o que quiser na área de texto, selecione o idioma em que você escreveu e clique no botão para ouvir o resultado!
Estrutura HTML
Ok, vamos começar a construir. A Estrutura HTML consistirá nos seguintes elementos:
a
9
10
class="form-group">
11
12
13
14
15
16
17
Estilo adicional com CSS
Bootstrap cuida de praticamente todo o estilo para nós. Mas vamos adicionar algumas propriedades CSS personalizadas ao nosso design. Isso nos dará uma fonte personalizada, um contêiner, algum espaçamento extra para os elementos do formulário e uma regra para ocultar nossa mensagem de alerta.
Nós definimos display:none ao componente de alerta para que ele apareça apenas se houver mensagens de erro para exibir.
Funcionalidade JavaScript
Como expliquei na introdução, podemos obter vozes usando o speechSynthesis.getVoices() método; vamos começar obtendo e armazenando-os em um array como este.
1
constvozes=[
2
{name:"Google Deutsch",lang:"de-DE"},
3
{name:"Google US English",lang:"en-US"},
4
{name:"Google UK English Female",lang:"en-GB"},
5
{name:"Google UK English Male",lang:"en-GB"},
6
{name:"Google español",lang:"es-ES"},
7
{name:"Google español de Estados Unidos",lang:"es-US"},
8
{name:"Google français",lang:"fr-FR"},
9
{name:"Google हिन्दी",lang:"hi-IN"},
10
{name:"Google Bahasa Indonesia",lang:"id-ID"},
11
{name:"Google italiano",lang:"it-IT"},
12
{name:"Google 日本語",lang:"ja-JP"},
13
{name:"Google 한국의",lang:"ko-KR"},
14
{name:"Google Nederlands",lang:"nl-NL"},
15
{name:"Google polski",lang:"pl-PL"},
16
{name:"Google português do Brasil",lang:"pt-BR"},
17
{name:"Google русский",lang:"ru-RU"},
18
{name:"Google 普通话(中国大陆)",lang:"zh-CN"},
19
{name:"Google 粤語(香港)",lang:"zh-HK"},
20
{name:"Google 國語(臺灣)",lang:"zh-TW"}
21
];
Identifique os elementos necessários
Em seguida, use o Document Object Model (DOM) para obter os elementos de alerta, seleção e botão.