Blog

Postado em em 7 de novembro de 2023

Leitor de Textos em Python – Com Apenas 5 Linhas de Código

Aprenda a criar um leitor de textos em Python com apenas 5 linhas de código! Dessa forma, você poderá escrever um texto, e o computador o lerá para você.

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Leitor de Textos em Python – Com Apenas 5 Linhas de Código

Nesta aula, vou te mostrar como construir um leitor de textos em Python usando apenas 5 linhas de código!

Com essa ferramenta, você poderá escrever o texto que quiser, e o computador irá lê-lo para você. Em outras palavras, você aprenderá a converter texto em áudio com Python!

Para criar esse leitor de textos com Python, vamos utilizar a biblioteca gTTS e, para executar os áudios gerados, utilizaremos a ferramenta FFmpeg. Dessa forma, seremos capazes de transformar as informações de texto em áudio, que poderá ser executado com Python.

Então, não deixe de fazer o download do material disponível e vamos aprender como criar um leitor de textos em Python!

Instalação e Importação das Bibliotecas

Para construirmos nosso leitor de textos com Python, precisaremos utilizar duas ferramentas.

A primeira delas é a biblioteca gtts (Google Text-to-Speech), que faz a conversão de texto para fala.

Para instalá-la, siga o procedimento padrão. No terminal do seu editor de código, execute o comando:

pip install gtts

A biblioteca gTTS será responsável por converter o texto em um arquivo de áudio. Podemos executar esse arquivo de áudio manualmente ou usar uma ferramenta para isso. Para o nosso exemplo, utilizaremos a ferramenta FFmpeg.

O FFmpeg permite que executemos alguns comandos diretamente no terminal do nosso editor de código. Para verificar se ele está instalado no seu computador, execute o comando ffmpeg no terminal.

Verificando o FFmpeg

Se você não receber uma mensagem de erro e ver as funcionalidades do FFmpeg listadas no seu terminal, isso significa que você já possui a ferramenta instalada no seu computador e poderá usá-la normalmente.

Caso contrário, acesse esta aula para aprender o passo a passo de como instalá-la em seu computador.

Vamos utilizar o FFmpeg apenas na parte final do código para executar o áudio automaticamente. Se você preferir converter o áudio e executá-lo manualmente, não será necessário instalá-lo.

Feita as instalações necessárias, podemos importar a biblioteca gTTS.

from gtts import gTTS

Construindo o Código – Como criar um leitor de textos em Python

Este código é bastante direto. Basicamente, precisamos criar nosso texto e passá-lo para o gTTS para fazer a conversão.

texto = "Siga a Hashtag no YouTube e no Instagram para não perder nada"

Além do texto, precisamos configurar o idioma que será usado para a leitura desse texto, a voz que o nosso programa terá. Você pode conferir a lista completa na documentação da gTTS.

Visualizando os idiomas disponíveis

No nosso caso, vamos utilizar o código referente ao português do Brasil, o qual pode ser definido como uma variável ou passado diretamente para a função gTTS.

lingua = "pt"

Se você desejar definir o sotaque exato em que seu texto será lido, também é necessário passar a informação do tld (Top-level domain). No entanto, para o português do Brasil, isso não é necessário.

Feito isso, podemos criar a conversão do nosso texto para fala, utilizando a função gTTS com o texto e a língua como parâmetros.

tts = gTTS(texto, lang=lingua)

Caso deseje especificar a região desse idioma, você pode passar o tld como terceiro parâmetro:

tts = gTTS(texto, lang=lingua, tld="com.br")

Dessa forma, a faixa de áudio estará criada. Para salvá-la, basta utilizar a função save() com o nome do arquivo e a extensão mp3.

tts.save("audio.mp3")

Código completo do Leitor de Textos em Python:

from gtts import gTTS

texto = "Siga a Hashtag no YouTube e no Instagram para não perder nada"
lingua= "pt"

tts = gTTS(texto, lang=lingua)
tts.save("audio.mp3")

Com essas cinco linhas de código você será capaz de converter qualquer texto em fala gerando um arquivo de áudio no formato mp3.

Áudio gerado

Executando o áudio de forma automática – FFmpeg e Biblioteca OS

Nosso leitor de textos em Python está completo. No entanto, se você deseja que o código gere o áudio e o execute automaticamente ao final do processo, precisaremos utilizar a ferramenta FFmpeg e a biblioteca OS do Python.

A ferramenta FFmpeg é amplamente utilizada e oferece uma aplicação prática para a edição e execução de arquivos de áudio diretamente no terminal.

Para realizar a execução do áudio diretamente do nosso terminal com o FFmpeg, normalmente digitaríamos ffplay audio.mp3. No entanto, com a biblioteca OS, podemos automatizar esse processo dentro do nosso código. Para isso, utilizaremos a função system:

from gtts import gTTS

texto = "Siga a Hashtag no YouTube e no Instagram para não perder nada"
lingua = "pt"

tts = gTTS(texto, lang=lingua)
tts.save("audio.mp3")

import os
os.system('ffplay audio.mp3')

Observe que estamos passando apenas ‘ffplay audio.mp3’, pois o arquivo de áudio está na mesma pasta que o código Python. Caso contrário, você precisaria fornecer o caminho completo para o arquivo, em vez de apenas audio.mp3.

Caminho completo do áudio

Ajustes Finais:

Ao executar o código acima, você notará que, no final da reprodução do áudio, o programa não é encerrado, e uma janela é exibida durante o processo.

Janela de reprodução FFmpeg

Isso é a configuração padrão do FFplay; ele executa o áudio, exibe a janela e não encerra o programa até que você a feche manualmente.

Para corrigir isso, basta adicionar duas novas configurações ao comando da função system. Estes são parâmetros para o FFplay.

from gtts import gTTS

texto = "Siga a Hashtag no YouTube e no Instagram para não perder nada"
lingua = "pt"

tts = gTTS(texto, lang=lingua)
tts.save("audio.mp3")

import os
os.system('ffplay -autoexit -nodisp audio.mp3')

O parâmetro -autoexit fará com que o programa seja encerrado automaticamente ao final da execução do áudio, e o parâmetro –nodisp não exibirá a janela com o áudio sendo reproduzido.

Dessa forma, concluímos o nosso leitor de textos em Python!

Conclusão – Leitor de Textos em Python

Na aula de hoje você aprendeu a construir um leitor de textos em Python com apenas 5 linhas de código.

De forma prática e rápida, você pode escrever o texto desejado, e o computador irá lê-lo para você, permitindo a definição do idioma e do sotaque para a leitura.

Além de ensinar como converter texto em fala usando Python, também demonstramos como utilizar a ferramenta FFmpeg em conjunto com a biblioteca OS para a execução automática dos áudios gerados pela biblioteca gTTS.

Agora, você possui seu próprio leitor de textos em Python, que pode ser aplicado em seus projetos ou utilizado em seus trabalhos.

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?