Speaker
Verfasst: Samstag 28. Mai 2011, 22:06
Hi ich hab heut Abend nochn Code zusammengeflickt:
Ich wollte euch das Sprachmodul "Speech SDK" von Microsoft vorstellen, das man sich von der Microsoft Seite downloaden kann(kostenlos). Dann braucht man noch Pythonwin und win32all, um das Modul zu "installieren", aber ich denke euch ist das ja eh bekannt
Code: Alles auswählen
import win32com.client as wcc
from tkinter import *
class Sprecher(object):
def __init__(self):
self.standard="nichts"
self.speaker=wcc.Dispatch("SAPI.SpVoice")
self.fenster=Tk()
self.frame1=Frame(master=self.fenster,relief=RIDGE,bd=2)
self.frame2=Frame(master=self.fenster,relief=RIDGE,bd=3)
self.speakButton=Button(master=self.frame1,text="Sprechen",command=self.sprechen)
self.speakEntry=Entry(master=self.frame1,width=80)
self.tonScale=Scale(master=self.frame2,from_=10,to=100)
self.schnellScale=Scale(master=self.frame2,from_=-10,to=10)
self.lageScale=Scale(master=self.frame2,from_=-10,to=10)
self.sprechendLabel=Label(master=self.fenster,text="Gesprochen wird: "+self.standard)
self.tonLabel=Label(master=self.frame2,text="Lautstärke bestimmen")
self.schnellLabel=Label(master=self.frame2,text="Tonschnelle bestimmen")
self.lageLabel=Label(master=self.frame2,text="Tonlage bestimmen")
self.frame1.grid(row=1,padx=10,pady=10)
self.frame2.grid(row=2)
self.speakButton.grid(padx=10,pady=10)
self.speakEntry.grid(padx=10,pady=10)
self.tonScale.grid(row=3,column=1,pady=10,padx=10)
self.schnellScale.grid(row=3,column=2,pady=10,padx=10)
self.lageScale.grid(row=3,column=3,pady=10,padx=10)
self.tonLabel.grid(row=4,column=1,pady=5,padx=10)
self.schnellLabel.grid(row=4,column=2,pady=5,padx=10)
self.lageLabel.grid(row=4,column=3,pady=5,padx=10)
self.sprechendLabel.grid(row=4,pady=10,padx=10)
self.fenster.mainloop()
def sprechen(self):
textApp=self.speakEntry.get()
self.sprechendLabel.config(text="Gesprochen wird: "+textApp)
tonSchnelle=int(self.schnellScale.get())
tonLage=int(self.lageScale.get())
tonVolume=int(self.tonScale.get())
self.speaker.Rate=tonSchnelle
self.speaker.Volume=tonVolume
text="""<pitch middle="{0}" > {1} </pitch> """.format(tonLage,textApp)
self.speaker.Speak(text)
a=Sprecher()