Skip to content
Related Articles

Related Articles

Text to speech GUI convertor using Tkinter in Python

Improve Article
Save Article
Like Article
  • Difficulty Level : Medium
  • Last Updated : 23 Dec, 2021

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:


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!