Python: Fazendo a cobra falar

PythonSua aplicação Python está muito silenciosa? Faça ela falar com o usuário usando um módulo de sintetização de voz.

Python é uma linguagem que não só é bastante robusta e eficiente como possui uma gigantesca coleção de bibliotecas para facilitar a vida dos desenvolvedores.

De onde veio esta ideia?

Um dia desses eu estava fazendo uma correção em uma aplicação Python e “meu gurizinho” resolveu sentar no meu colo pra ver o que estava fazendo.

Não levou muitos segundos para eu fechar meu trabalho, abrir um simples interpretador Python e começar a brincar com coisas básicas como prints e inputs, que tiravam gargalhada do moleque curioso e em um momento curiosidade intensa veio a pergunta: “- Papai dá pra fazer o computador falar?”

Eu não podia frustar a curiosidade de uma criança, podia? Imediatamente eu instalei um módulo de sintetização e as gargalhadas levaram mais alguns minutos, até que chegasse a hora de eu suspender a exposição do guri ao uso da tela do computador.

Mais do que servir como entretenimento, os módulos de sintetização de voz possuem utilidade em vários sistemas para auxílio a portadores de limitação visual, aplicações educativas e até mesmo em jogos.

O módulo que usei é bem rudimentar e limitado ao inglês, o que faz com que frases em português sejam pronunciadas com aquele sotaque americano que um “bom dia” soe como “bom daia” e coisas assim mas não deixa de ser interessante para entender como este recurso funciona e então começar a usar outros módulos mais sofisticados.

Instalação do módulo de fala

O módulo que usei foi o PyTTSX3, que pode ser instalado diretamente do repositório pip com o comando:

$ pip install pyttsx3

Como este módulo usa recursos externos ao Python para acesso ao hardware de som, então você pode precisar instalar algumas bibliotecas adicionais no seu sistema para que ele funcione.

No caso do Ubuntu 20.04, que estava usando na época, foi necessário instalar a biblioteca libspeak1, o que pode ser feito com um só comando:

$ sudo apt install libespeak1

Seu código falando

O uso do módulo é muito simples e um pequeno código de exemplo é suficiente para que você comece a se divertir com ele.

import pyttsx3
som = pyttsx3.init()
som.say("Oi menino, pode rir enquanto eu falo.")
som.runAndWait()

Com a ideia era facilitar e entreter um criança de seis anos, eu criei uma pequena função que ele podia usar da mesma forma que o print() e o sucesso foi certo.

def fale(fale_isso):
  som = pyttsx3.init()
  som.say(fale_isso)
  som.runAndWait()

Como vê este módulo é bem simples e sem muita frescura. Olhando a documentação do PyTTSX3, você encontrará como é possível alterar o rítmo da voz (mais lenta ou rápida), o volume e o tom de masculino (padrão) para feminino, mas não há muito mais o que se fazer além disso.

Pronto! Sucesso garantido. Agora todos os dias o guri quer “brincar” com Python.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.