Open In App
Related Articles

Text to speech GUI convertor using Tkinter in Python

Like Article
Save Article
Report issue

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")
# place 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") = 180, y = 70)
# entry is used to enter the text 
entry = Entry(frame2, width = 45,
              bd = 4, font = 14) = 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"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') = 250,
          y = 130)
# give a title 
# we can not change the size
# if you want you can change
# start the gui



Last Updated : 23 Dec, 2021
Like Article
Save Article
Share your thoughts in the comments
Similar Reads