Nesse primeiro post de nosso Estudo de um Assistente Virtual com Python, gostaria de mostrar o pacote e a programação responsável por fazer o Python falar.
Um assistente virtual é um software que auxilia o humano em atividades rotineiras como alarme, buscar informações na rede de internet, controlar casas ou carros e até mesmo um bom bate papo.
E todo bom assistente tem que falar, por isso iremos ensinar como programar o Python para falar, bora lá?
"""
Created on Sat Nov 9 19:30:35 2019
@author: Sandro Mesquita
"""
import pyttsx3
engine = pyttsx3.init()
engine.say("Python com Arduíno!")
engine.runAndWait()
engine.stop()
Para quem está iniciando na linguagem de programação terá que ter um pouco mais de dedicação pois nesse projeto do assistente iremos considerar que você tem o mínimo de conhecimento, mas vamos sempre, na medida do possível explanar cada linha do código.
Da linha 1 até a 4, as aspas dupla (") repetida por 3x (""") garante que o que tiver escrito após as primeiras aspas, linha 1, e a última aspas, linha 4, será um comentário, ou seja, não faz parte do meu código, é apenas um texto ao qual deve me lembrar de algo importante referente a esse código.
Na linha 6 do meu programa eu importa o pacote pyttsx3, responsável por executar o áudio usando o próprio sistema operacional do Windows.
import pyttsx3
O pacote PYTTSX3 é uma biblioteca OFFLINE de texto em fala Python (TTS) que funciona tanto para python3 quanto para python2. Esta biblioteca é muito útil, especialmente se você não deseja nenhum atraso no discurso produzido e não deseja depender apenas da Internet para a conversão de TTS. Ele também suporta vários mecanismos TTS como Sapi5, nsss, espeak.
Podemos baixá-la e instalar usando o comando: pip install pyttsx3 no CMD de seu computador, o link ao lado explica um pouco mais sobre o pacote e como baixá-lo.
E o que é esse TTS? TTS, que significa Text to Speech, nada mais é do que uma técnica de sintetização da fala humana, que converte texto em linguagem normal. Ou seja uma pesquisa sobre um conceito de tecnologia num evento de tecnologia.
Muitos usam esse pacote mas poucos entendem o que realmente significa TTS, agora nós sabemos.
Para instalar em outro sistema operacional eu recomendo a leitura no site https://pyttsx.readthedocs.io/en/latest/install.html
Continuando o desmembramento de nosso código, na linha 7, o meu programa chama a função .init( ) do meu pacote pyttsx, pyttsx.init( ), para inicializar e obter uma referência para o meu pacote de texto que suporta até 2 vozes, uma do sexo feminino e outra do sexo masculino fornecido pelo SAPI5 no caso do Windows, no MAC OSx o mecanismo TTS é o nsss - NSSpeechSynthesizer e para qualquer outro sistema operacional o mecanismo usado será o espeak - eSpeak . Ainda na mesma linha eu crio um novo objeto chamado engine.
engine = pyttsx3.init()
A linha 9, ordena que o Python diga (say em inglês) o que está escrito em parênteses através do objeto engine que foi criado anteriormente e carrega toda a configuração para executar essa tarefa. Logo, tudo que você escrever entre parênteses usando o método .say irá ser dito em voz pelo seu computador, basta escrever a linha baixo no seu código.
engine.say("Python com Arduíno!")
A linha 10, através da função .runAndWait( ) , o seu Python irá pronunciar o texto que foi carregado no objeto engine na linha anterior, esse método é importante pois sua função consiste em duas ações básicas, a ordem de executar a pronuncia do texto e aguardar um tempo para garantir a execução completa.
engine.runAndWait()
Na última linha, a linha 11, é executado o comando de parar o processo de reprodução da fala, deixando assim o programa livre para as próximas ações necessárias.
engine.stop()
Gostou desse código? Se interessou em aprender mais? Pois aguarde que a próxima postagem, no dia 21/11 iremos ensinar ao seu Python a ouvir sua voz.
Escrito por Sandro Mesquita