fork download
  1. import * import ctypes,os from PIL
  2. import ImageTk, Image
  3. import tkinter.messagebox as tkMessageBox
  4. import speech_recognition as sr
  5. import pyttsx3
  6. import threading as td from deep_translator
  7. import GoogleTranslator from gtts import gTTS from pydub
  8. import AudioSegment from pydub.playback
  9. import play
  10. # Initialize the recognizer r = sr.Recognizer()
  11. main = Tk() main.title("Voiceprint Translator")
  12. main.geometry("940x570") main.config(bg="#C7F8FF")
  13. main.resizable(0,0) lt = ["English","Hindi","Tamil","Gujrati","Marathi"] v1 =
  14. StringVar(main)
  15. v1.set(lt[0]) v2 = StringVar(main)
  16. v2.set(lt[1]) Label(main,text="Translate Language via Voice Commands",font=("",18,"bold"),bg="#C7F8FF",fg="black").place(x=240,y=20) flag=False can =
  17. Canvas(main,width=400,height=450,bg="#17C3B2",relief="solid",bd=1,highlig
  18. htthickness=0) can.place(x=30,y=80)
  19. Label(main,text="Input Box
  20. :",font=("",12,"bold"),bg="#17C3B2",fg="black").place(x=44,y=70)
  21. can =
  22. Canvas(main,width=400,height=450,bg="#17C3B2",relief="solid",bd=1,highlig
  23. htthickness=0) can.place(x=490,y=80)
  24. Label(main,text="Output Box
  25. :",font=("",12,"bold"),bg="#17C3B2",fg="black").place(x=780,y=60)
  26. txtbx =
  27. Text(main,width=40,height=7,font=("",12,"bold"),relief="solid",bd=0,highlightt hickness=0)
  28. txtbx.place(x=50,y=100) txtbx2 =
  29. Text(main,width=40,height=7,font=("",12,"bold"),relief="solid",bd=0,highlightt hickness=0)
  30. txtbx2.place(x=510,y=100)
  31. def speak(): global txtbx2 tx = txtbx2.get("1.0",END)
  32. code = ["en","hi","ta","gu","mr"] language =
  33. code[lt.index(v2.get())] myobj = gTTS(text=tx,
  34. lang=language, slow=False) try:
  35. os.remove("temp.mp3")
  36. except: pass
  37. myobj.save("temp.mp3") song =
  38. AudioSegment.from_mp3("temp.mp3") play(song)
  39. def translate():
  40. global txtbx,txtbx2 txtbx2.delete("1.0","end-1c") tx = txtbx.get("1.0",END)
  41. code = ["en","hi","ta","gu","mr"] lang = code[lt.index(v2.get())] translated =
  42. GoogleTranslator(source='auto', target=lang).translate(tx) txtbx2.insert("end1c",translated) def detect():
  43. global flag,txtbx
  44. while(1): if
  45. flag==True:
  46. print("breaked") break try:
  47. with sr.Microphone() as source2:
  48. r.adjust_for_ambient_noise(source2, duration=0.2) audio2 =
  49. r.listen(source2)
  50. MyText = r.recognize_google(audio2)
  51. MyText = MyText.lower() txtbx.insert("end1c", MyText)
  52. except sr.RequestError as e:
  53. tkMessageBox.showinfo("warning","Could not request results; {0}".format(e))
  54. break
  55. except sr.UnknownValueError:
  56. tkMessageBox.showinfo("warning","unknown error occured")
  57. break def start(): global flag,b1 flag=False b1["text"]= "Stop Speaking"
  58. b1["command"] = stop td.Thread(target=detect).start()
  59. def stop():
  60. global flag,b1 b1["text"] = "Give
  61. Voice Input" b1["command"] = start
  62. flag=True
  63. b1 = Button(main,text="Give Voice
  64. Input",font=("",12,"bold"),width=35,height=1,bg="#FEF9EF",fg="black",comm
  65. and=start,relief="solid",bd=4,highlightthickness=0) b1.place(x=50,y=250)
  66. Button(main,text="Speak
  67. Text",font=("",12,"bold"),width=35,height=1,bg="#FEF9EF",fg="black",comma
  68. nd=speak,relief="solid",bd=4,highlightthickness=0).place(x=510,y=250)
  69. Button(main,text="Translate",font=("",15,"bold"),width=71,height=3,bg="#FE
  70. F9EF",fg="black",command=translate,relief="solid",bd=3,highlightthickness=0
  71. ).place(x=30,y=446)
  72. Label(main,text="Select Language
  73. :",font=("",12,"bold"),bg="#17C3B2",fg="black").place(x=50,y=300)
  74. Label(main,text="Select Language
  75. :",font=("",12,"bold"),bg="#17C3B2",fg="black").place(x=510,y=300)
  76. o1 = OptionMenu(main,v1,*lt)
  77. o1.config(font=("",12,"bold"),width=36,bg="#FEF9EF",fg="black",relief="solid"
  78. ,bd=1,highlightthickness=0) o1.place(x=50,y=340) o2 = OptionMenu(main,v2,*lt)
  79. o2.config(font=("",12,"bold"),width=36,bg="#FEF9EF",fg="black",relief="solid"
  80. ,bd=1,highlightthickness=0) o2.place(x=510,y=340)
  81. main.mainloop()
Success #stdin #stdout 0.04s 25752KB
stdin
Standard input is empty
stdout
import * import ctypes,os from PIL 
import ImageTk, Image 
import tkinter.messagebox as tkMessageBox 
import speech_recognition as sr 
import pyttsx3 
import threading as td from deep_translator 
import GoogleTranslator from gtts import gTTS from pydub
import AudioSegment from pydub.playback 
import play
# Initialize the recognizer r = sr.Recognizer()
main = Tk() main.title("Voiceprint Translator")
main.geometry("940x570") main.config(bg="#C7F8FF")
main.resizable(0,0) lt = ["English","Hindi","Tamil","Gujrati","Marathi"] v1 =
StringVar(main)
v1.set(lt[0]) v2 = StringVar(main)
v2.set(lt[1]) Label(main,text="Translate Language via Voice Commands",font=("",18,"bold"),bg="#C7F8FF",fg="black").place(x=240,y=20) flag=False can =
Canvas(main,width=400,height=450,bg="#17C3B2",relief="solid",bd=1,highlig
htthickness=0) can.place(x=30,y=80)
Label(main,text="Input Box
:",font=("",12,"bold"),bg="#17C3B2",fg="black").place(x=44,y=70)
can =
Canvas(main,width=400,height=450,bg="#17C3B2",relief="solid",bd=1,highlig
htthickness=0) can.place(x=490,y=80)
Label(main,text="Output Box
:",font=("",12,"bold"),bg="#17C3B2",fg="black").place(x=780,y=60)
txtbx =
Text(main,width=40,height=7,font=("",12,"bold"),relief="solid",bd=0,highlightt hickness=0)
txtbx.place(x=50,y=100) txtbx2 =
Text(main,width=40,height=7,font=("",12,"bold"),relief="solid",bd=0,highlightt hickness=0)
txtbx2.place(x=510,y=100)
def speak(): global txtbx2 tx = txtbx2.get("1.0",END)
code = ["en","hi","ta","gu","mr"] language =
code[lt.index(v2.get())] myobj = gTTS(text=tx,
lang=language, slow=False) try:
os.remove("temp.mp3")
except: pass
myobj.save("temp.mp3") song =
AudioSegment.from_mp3("temp.mp3") play(song)
def translate():
global txtbx,txtbx2 txtbx2.delete("1.0","end-1c") tx = txtbx.get("1.0",END)
code = ["en","hi","ta","gu","mr"] lang = code[lt.index(v2.get())] translated =
GoogleTranslator(source='auto', target=lang).translate(tx) txtbx2.insert("end1c",translated) def detect():
global flag,txtbx
while(1): if
flag==True:
print("breaked") break try:
with sr.Microphone() as source2:
r.adjust_for_ambient_noise(source2, duration=0.2) audio2 =
r.listen(source2)
MyText = r.recognize_google(audio2)
MyText = MyText.lower() txtbx.insert("end1c", MyText)
except sr.RequestError as e:
tkMessageBox.showinfo("warning","Could not request results; {0}".format(e))
break
except sr.UnknownValueError:
tkMessageBox.showinfo("warning","unknown error occured")
break def start(): global flag,b1 flag=False b1["text"]= "Stop Speaking"
b1["command"] = stop td.Thread(target=detect).start()
def stop():
global flag,b1 b1["text"] = "Give
Voice Input" b1["command"] = start
flag=True
b1 = Button(main,text="Give Voice
Input",font=("",12,"bold"),width=35,height=1,bg="#FEF9EF",fg="black",comm
and=start,relief="solid",bd=4,highlightthickness=0) b1.place(x=50,y=250)
Button(main,text="Speak
Text",font=("",12,"bold"),width=35,height=1,bg="#FEF9EF",fg="black",comma
nd=speak,relief="solid",bd=4,highlightthickness=0).place(x=510,y=250)
Button(main,text="Translate",font=("",15,"bold"),width=71,height=3,bg="#FE
F9EF",fg="black",command=translate,relief="solid",bd=3,highlightthickness=0
).place(x=30,y=446)
Label(main,text="Select Language
:",font=("",12,"bold"),bg="#17C3B2",fg="black").place(x=50,y=300)
Label(main,text="Select Language
:",font=("",12,"bold"),bg="#17C3B2",fg="black").place(x=510,y=300)
o1 = OptionMenu(main,v1,*lt)
o1.config(font=("",12,"bold"),width=36,bg="#FEF9EF",fg="black",relief="solid"
,bd=1,highlightthickness=0) o1.place(x=50,y=340) o2 = OptionMenu(main,v2,*lt)
o2.config(font=("",12,"bold"),width=36,bg="#FEF9EF",fg="black",relief="solid"
,bd=1,highlightthickness=0) o2.place(x=510,y=340)
main.mainloop()