Como transformar texto em fala no terminal Linux com o eSpeak

Como transformar texto em fala no terminal Linux com o eSpeak

eSpeak é um software sintetizador de voz para inglês e alguns outros idiomas. Ele pode ser instalado nos sistemas operacionais Linux e Microsoft Windows. eSpeak produz fala em inglês de boa qualidade. Ele usa um método de síntese diferente de outros motores “texto para fala” (text to speech – TTS) de código aberto, e soa bastante diferente. Ele talvez não seja tão natural ou “suave”, mas para alguns, a articulação é clara e fácil de se ouvir por longos períodos.

O eSpeak foi portado para outras plataformas, incluindo Android, Mac OSX e Solaris. Ele pode ser executado em linha de comando para ditar texto de um arquivo ou da entrada padrão.

Características do eSpeak

  • Inclui diferentes vozes, cujas características podem ser alteradas.
  • Pode produzir saída de fala como um arquivo WAV.
  • Pode traduzir texto para códigos fonéticos, sendo então adaptado como uma interface para outros motores de síntese de voz.
  • Potencial para outras línguas. Mais de 40 línguas inclusas.
  • Tamanho compacto. O programa e seus dados totalizam 350 kbytes.
  • Escritos em C++.

O sintetizador de voz eSpeak suporta vários idiomas, no entanto, em muitos casos, são rascunhos iniciais e precisam de mais trabalho para melhorá-los. A assistência de falantes nativos é bem-vinda para esses ou outros novos idiomas. Caso se interesse em ajudar, entre em contato com algum membro do projeto.

Idiomas suportados pelo eSpeak

O eSpeak suporta vários idiomas, uns melhores que outros.

Africâner, albanês, aragonês, armênio, búlgaro, cantonês, catalão, croata, tcheco, dinamarquês, holandês, inglês, esperanto, estoniano, persa, finlandês, francês, georgiano, alemão, grego, hindi, húngaro, islandês, indonésio, irlandês, italiano, kannada, curdo, letão, lituano, lojban, macedônio, malaio, malaiala, mandarim, nepalês, norueguês, polonês, português, punjabi, romeno, russo, sérvio, eslovaco, espanhol, suaíli, sueco, tâmil, turco, vietnamita, galês.

Executar texto em fala no terminal com o eSpeak

Nessa dica utilizamos o Debian, mas poderá ser instalado também em outras distribuições Linux, saiba que o nome do pacote é o mesmo em todas elas.

1. Instalar o eSpeak

A instalação é bem simples, lembrando que qualquer alteração no sistema deverá ter privilégio de root, logo, basta executar o comando:

Terminal
apt install espeak -y

Já no Fedora o comando é:

Terminal
sudo dnf install espeak

2. Como utilizar eSpeak no Linux

Usar o eSpeak é muito fácil, basta digitar entre aspas a frase para que o terminal fale.

Terminal
espeak "Olá, bem vindo ao Sempre Update."

O idioma padrão do eSpeak é o inglês, no entanto para saber a listagem completa disponível execute o comando:

Terminal
espeak --voices

Para saber a variante de determinado idioma execute o comando:

Terminal
espeak --voices=pt

Saída do comando:

Saída do Terminal
Pty Language Age/Gender VoiceName File Other Languages
5 pt-br M brazil pt (pt 5)
5 pt-pt M portugal europe/pt-pt (pt 6)
7 pt M brazil-mbrola-1 mb/mb-br1
7 pt M brazil-mbrola-3 mb/mb-br3
7 pt F brazil-mbrola-4 mb/mb-br4
7 pt F portugal-mbrola-1 mb/mb-pt1

Para o terminal falar com o nosso idioma, usamos a diretiva -v seguido da variante pt (abreviação na coluna File).

Terminal
espeak -v pt "Olá, bem vindo ao Sempre Update."

Por padrão a velocidade do sintetizador é de 160 wpm (words per minute), logo, com a diretiva -s podemos diminuir a velocidade para melhor compreensão da fala. Outra opção é a possibilidade de gravar a saída da fala em um arquivo .wav com a diretiva -w.

Terminal
espeak -v pt -s 140 "Olá, bem vindo ao Sempre Update." -w sempreupdate.wav

Áudio do comando acima.

Caso queira que o terminal leia um arquivo, basta colocar a diretiva -f seguida do nome do arquivo.

Terminal
espeak -v pt -s 140 -f Teste_eSpeak.txt

Pronto! Terminal do GNU/Linux executando texto em fala. Se gostou do tutorial, compartilhe. Para receber atualizações de nosso blog, siga-nos no Twitter. Caso queira comentar, tem alguma dúvida ou algum tipo de problema, faça parte do nosso grupo no Telegram, lá temos todos os tipos de usuário.