Text-zu-Sprache-GUI-Konverter mit Tkinter in Python
Voraussetzung: Einführung in Tkinter
Tkinter ist die Standard-GUI-Bibliothek für Python. In Kombination mit tkinter bietet Python eine schnelle und einfache Möglichkeit, GUI-Anwendungen zu erstellen. Mit dieser Bibliothek können wir eine überzeugende Wahl für das Erstellen von GUI-Anwendungen in Python treffen, insbesondere für Anwendungen, bei denen ein moderner Glanz nicht erforderlich ist und die oberste Priorität darin besteht, etwas zu erstellen Das ist schnell funktional und plattformübergreifend.
So erstellen Sie eine tkinter-Anwendung:
- Modul importieren - tkinter
- Erstellen Sie das Hauptfenster (Container)
- Fügen Sie dem Hauptfenster eine beliebige Anzahl von Widgets hinzu
- Wenden Sie den Ereignisauslöser auf die Widgets an.
Jetzt erstellen wir eine GUI-basierte Text-zu-Sprache-Konvertierungsanwendung, die Text in Sprache konvertiert.
In Python gibt es viele Bibliotheken. Eine davon ist gTTS (Google Text-to-Speech), eine Python-Bibliothek und ein CLI-Tool zur Schnittstelle mit der Text-to-Speech-API von Google Translate.
Um gTTS zu installieren, gehen Sie einfach zu Ihrem Terminal und geben Sie Folgendes ein :
pip gTTS installieren
Unten ist die Implementierung:
from
tkinter
import
*
from
gtts
import
gTTS
import
os
root
=
Tk()
frame1
=
Frame(root,
bg
=
"lightPink"
,
height
=
"150"
)
frame1.pack(fill
=
X)
frame2
=
Frame(root,
bg
=
"lightgreen"
,
height
=
"750"
)
frame2.pack(fill
=
X)
label
=
Label(frame1, text
=
"Text to Speech"
,
font
=
"bold, 30"
,
bg
=
"lightpink"
)
label.place(x
=
180
, y
=
70
)
entry
=
Entry(frame2, width
=
45
,
bd
=
4
, font
=
14
)
entry.place(x
=
130
, y
=
52
)
entry.insert(
0
, "")
def
play():
language
=
"en"
myobj
=
gTTS(text
=
entry.get(),
lang
=
language,
slow
=
False
)
myobj.save(
"convert.wav"
)
os.system(
"convert.wav"
)
btn
=
Button(frame2, text
=
"SUBMIT"
,
width
=
"15"
, pady
=
10
,
font
=
"bold, 15"
,
command
=
play, bg
=
'yellow'
)
btn.place(x
=
250
,
y
=
130
)
root.title(
"text_to_speech_convertor"
)
root.geometry(
"650x550+350+200"
)
root.mainloop()
Ausgabe: