Text to speech GUI convertor using Tkinter in Python

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 :






# 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")
# plcae the widget in gui window
frame1.pack(fill = X)
frame2 = Frame(root, 
               bg = "lightgreen"
               height = "750")
# 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
# cereate 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  
# we can not change the size
# if you want you can change
# start the gui



My Personal Notes arrow_drop_up

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Article Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.