391
13.6
Den Computer zum Sprechen bringen – Sprachsynthese
13.6.1 Buchstabieren
Das folgende Skript ist ein Buchstabiertrainer. Es werden nacheinander englische Wörter
vorgelesen. Nach jedem Wort wartet das Programm auf eine Eingabe über die Tastatur.
Wenn das englische Wort in korrekter Schreibweise eingegeben wurde, antwortet das Sys-
tem (hörbar auf Englisch) »Correct«, ansonsten »Sorry, not correct«. Nach fünf Wörtern
wird ein (gesprochenes) Trainingsergebnis geliefert.
Skript:
# vokabelsprecher.py
from win32com.client import constants
import win32com.client
import random
class Vokabelgenerator(object):
""" Aus einer Textdatei wird eine Vokabelliste generiert."""
def __init__(self, datei):
f = open(datei,'r')
text = f.read()
liste = text.split() #1
self.__vokabeln = [] #2
for wort in liste: #3
if wort.isalpha()and len(wort) > 3:
self.__vokabeln.append(wort.lower())
def getVokabel(self):
""" Liefert zufällige Vokabel"""
return self.__vokabeln[random.randint(1,
len(self.__vokabeln))]
# Hauptprogramm
speaker = win32com.client.Dispatch("SAPI.SpVoice")
speaker.Voice = speaker.GetVoices().Item(1) #4
vokabeln = Vokabelgenerator('/python35/README.txt')
punkte = 0
fehler = 0
print('Listen to the words and spell them')
speaker.Speak('Listen to the words and spell them') #5
for i in range(5):
wort = vokabeln.getVokabel()
speaker.Speak(wort)
eingabe = input('Spell the word: ')
if eingabe.lower() == wort:
speaker.Speak('Correct.')

Get Python 3 - Lernen und professionell anwenden now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.