Seite 1 von 1

Speaker

Verfasst: Samstag 28. Mai 2011, 22:06
von Newcomer
Hi ich hab heut Abend nochn Code zusammengeflickt:

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()
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