Pré-requisito: Introdução ao Tkinter

Tkinter é a biblioteca GUI padrão para Python. Python quando combinado com tkinter fornece uma maneira rápida e fácil de criar aplicativos GUI. Com esta biblioteca, podemos fazer uma escolha atraente para construir aplicativos GUI em Python, especialmente para aplicativos onde um brilho moderno é desnecessário e a prioridade principal é construir algo que é funcional e multiplataforma rapidamente.

Para criar um aplicativo tkinter:

  1. Importando o módulo - tkinter
  2. Crie a janela principal (container)
  3. Adicione qualquer número de widgets à janela principal
  4. Aplique o evento Trigger nos widgets.

Agora, vamos criar um aplicativo de conversão de texto em fala baseado em GUI que converte texto em fala.

Existem muitas bibliotecas em python, uma delas é o gTTS (Google Text-to-Speech), uma biblioteca Python e ferramenta CLI para fazer interface com a API de texto para fala do Google Translate.  



Para instalar o gTTS, basta ir ao seu terminal e digitar:

pip install gTTS

Abaixo está a implementação:

from tkinter import *
from gtts import gTTS 
import os 
root = Tk() 
frame1 = Frame(root, 
               bg = "lightPink"
               height = "150") 
frame1.pack(fill = X) 
  
  
frame2 = Frame(root,  
               bg = "lightgreen"
               height = "750") 
frame2.pack(fill=X) 
  
  
label = Label(frame1, text = "Text to Speech"
              font = "bold, 30", 
              bg = "lightpink") 
  
label.place(x = 180, y = 70) 
  
  
  
entry = Entry(frame2, width = 45
              bd = 4, font = 14) 
  
entry.place(x = 130, y = 52) 
entry.insert(0, "") 
def play(): 
  
    
    language = "en"
  
  
  
   
   
   
   
  
    myobj = gTTS(text = entry.get(), 
                lang = language,  
                slow = False) 
  
  
  
    
    
    myobj.save("convert.wav") 
    os.system("convert.wav") 
btn = Button(frame2, text = "SUBMIT", 
             width = "15", pady = 10, 
             font = "bold, 15"
             command = play, bg='yellow') 
  
btn.place(x = 250
          y = 130) 
root.title("text_to_speech_convertor") 
  
  
root.geometry("650x550+350+200") 
root.mainloop() 

Resultado: