Open In App

Text to speech GUI convertor using Tkinter in Python

Last Updated : 23 Dec, 2021
Comments
Improve
Suggest changes
Like Article
Like
Report

Prerequisite: Introduction to Tkinter

Tkinter is the standard GUI library for Python. Python when combined with tkinter provides a fast and easy way to create GUI applications.By this library we can make a compelling choice for building GUI applications in Python, especially for applications where a modern sheen is unnecessary, and the top priority is to build something that’s functional and cross-platform quickly.

To create a tkinter application:

  1. Importing the module – tkinter
  2. Create the main window (container)
  3. Add any number of widgets to the main window
  4. Apply the event Trigger on the widgets.

Now, Let’s create a GUI based Text to speech convertor application which convert text into speech.

There are lots of library in python one of them is gTTS (Google Text-to-Speech), a Python library and CLI tool to interface with Google Translate's text-to-speech API.  

To install gTTS simply go to your terminal and type:

pip install gTTS

Below is the implementation :

Python3
# importing required module
from tkinter import *
from gtts import gTTS

# this module helps to 
# play the converted audio  
import os

# create tkinter window
root = Tk()

# styling the frame which helps to  
# make our background stylish
frame1 = Frame(root,
               bg = "lightPink", 
               height = "150")

# place the widget in gui window
frame1.pack(fill = X)


frame2 = Frame(root, 
               bg = "lightgreen", 
               height = "750")
frame2.pack(fill=X)



# styling the label which show the text  
# in our tkinter window
label = Label(frame1, text = "Text to Speech", 
              font = "bold, 30",
              bg = "lightpink")

label.place(x = 180, y = 70)



# entry is used to enter the text  
entry = Entry(frame2, width = 45, 
              bd = 4, font = 14)

entry.place(x = 130, y = 52)
entry.insert(0, "")

# define a function which can 
# get text and convert into audio
def play():

    # Language in which you want to convert  
    language = "en"



   # Passing the text  and language,  
   # here we have  slow=False. Which tells  
   # the module that the converted audio should  
   # have a high speed  

    myobj = gTTS(text = entry.get(),
                lang = language, 
                slow = False)



    # give the name as you want to  
    # save the audio
    myobj.save("convert.wav")
    os.system("convert.wav")

# create a button which holds
# our play function using command = play
btn = Button(frame2, text = "SUBMIT",
             width = "15", pady = 10,
             font = "bold, 15", 
             command = play, bg='yellow')

btn.place(x = 250, 
          y = 130)

# give a title  
root.title("text_to_speech_convertor")



# we can not change the size
# if you want you can change
root.geometry("650x550+350+200")

# start the gui
root.mainloop()

Output:


Next Article

Similar Reads