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:
- Importing the module – tkinter
- Create the main window (container)
- Add any number of widgets to the main window
- 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" )
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: