Skip to content

Latest commit

 

History

History
97 lines (82 loc) · 3.85 KB

README.md

File metadata and controls

97 lines (82 loc) · 3.85 KB

Project Prerequisites

Tkinter is a standard GUI Python library that is one of the fastest and easiest ways to build GUI applications.
gTTS (Google Text-to-Speech) is a Python library, which is a very easy library that converts the text into audio.
The playsound module is used to play audio files. With this module, we can play a sound file with a single line of code.

Initializing window

root = Tk()
root.geometry("350x300") 
root.configure(bg='ghost white')
root.title("TEXT TO SPEECH")
  • Tk() to initialized tkinter which will be used for GUI
  • geometry() used to set the width and height of the window
  • configure() used to access window attributes
  • bg will used to set the color of the background
  • title() set the title of the window
Label(root, text = "TEXT_TO_SPEECH", font = "arial 20 bold", bg='white smoke').pack()
Label(text ="Avi", font = 'arial 15 bold', bg ='white smoke' , width = '20').pack(side = 'bottom')

Msg = StringVar()
Label(root,text ="Enter Text", font = 'arial 15 bold', bg ='white smoke').place(x=20,y=60)

entry_field = Entry(root, textvariable = Msg ,width ='50')
entry_field.place(x=20,y=100)

Label() widget is used to display one or more than one line of text that users can’t able to modify.

  • root is the name which we refer to our window
  • text which we display on the label
  • font in which the text is written
  • pack organized widget in block
  • Msg is a string type variable
  • Entry() used to create an input text field
  • textvariable used to retrieve the current text to entry widget
  • place() organizes widgets by placing them in a specific position in the parent widget

Function to Convert Text to Speech

filename = 1
def Text_to_speech():
    global filename
    Message = entry_field.get()
    speech = gTTS(text = Message)
    speech.save(str(filename) + '.mp3')
    playsound(str(filename) + '.mp3')
    filename += 1
  • Message variable will stores the value of entry_field
  • text is the sentences or text to be read.
  • lang takes the language to read the text. The default language is English.
  • slow use to reads text more slowly. The default is False.

As we want the default value of lang, so no need to give that to gTTS.

  • speech stores the converted voice from the text
  • speech.save(str(filename) + '.mp3') will saves the converted file as a mp3 file and each time the Text_to_speech() function will execute the filename number will increased by 1 to solve the duplicate filename problem.
  • playsound() used to play the sound

Function to Exit

def Exit():
    root.destroy()

root.destroy() will quit the program by stopping the mainloop().

Function to Reset

def Reset():
    Msg.set("")

Reset function set Msg variable to empty strings.

Define Buttons

Button(root, text = "PLAY", font = 'arial 15 bold' , command = Text_to_speech ,width = '4').place(x=25,y=140)

Button(root, font = 'arial 15 bold',text = 'RESET', width = '6' , command = Reset).place(x=100 , y = 140)

Button(root, font = 'arial 15 bold',text = 'EXIT', width = '4' , command = Exit, bg = 'OrangeRed1').place(x=250 , y = 140)

Button() widget used to display button on the window.

Run Program

root.mainloop()

root.mainloop() is a method that executes when we want to run our program.

Output