389
13.6
Den Computer zum Sprechen bringen – Sprachsynthese
#8: Dieser String kann aus mehreren Sätzen bestehen. Deshalb wird der String in Sätze
gespalten. Der Trennstring wird durch
r3 spezifiziert und besteht aus Satzzeichen wie
Punkt, Ausrufungszeichen und so weiter. Uns interessiert nur der erste Satz, der mit
alle
beginnt. Er ist das erste Element der Liste.
#9: Dieser Satz wird in Wörter zerlegt. Die Variable restsatz erhält den Satz ohne die ers-
ten beiden Wörter.
Programmlauf:
13.6 Den Computer zum Sprechen bringen – Sprachsynthese
Mit dem Speech SDK von Microsoft können Sie (auf MS-Windows-Plattformen) Skripte mit
Sprachausgabe schreiben. Dazu benötigen Sie die (kostenlose) Entwicklungsumgebung
Pythonwin von Mark Hammond. Suchen Sie in Sourceforge nach winpy und wählen Sie die
Version, die zu Ihrer Python-Version passt.
In der Entwicklungsumgebung Pythonwin müssen Sie einmal im Menü TOOLS die Funktion
COM M
AKEPY UTILITY anklicken und dann MICROSOFT SPEECH OBJECT LIBRARY auswählen.
Abb. 13.6: Erfolgsmeldung nach dem Import des Microsoft Speech SDK
Hallo, ich bin Mini-Eliza.
Sie: Alle lachen über mich!!!
Wer lacht über Sie? Denken Sie an bestimmte Personen?
Sie: Zum Beispiel meine Mutter ...
Erzählen Sie mir mehr über Ihre Familie.
Sie: Lieber nicht
Denken Sie nicht ein bisschen negativ?
Kapitel 13
Verarbeitung von Zeichenketten
390
Im interaktiven Modus können Sie jetzt den Computer zum Sprechen bringen. Probieren
Sie es aus:
Wenn Sie Windows 10 verwenden, klang das vermutlich etwas sonderbar. Der Grund ist,
dass der Text von Hedda, der deutschen Stimme von Microsoft, vorgelesen wurde. Das ist
so voreingestellt. Sie können aber die Stimme ändern. Mit dem folgenden Skript finden Sie
heraus, welche Stimmen auf Ihrem System installiert sind:
Skript:
Erläuterung:
#1: Die Methode GetVoices() liefert ein iterierbares Objekt (eine Kollektion), das alle ver-
fügbaren Stimmen enthält.
#2: Die Kollektion der Stimmen wird durchlaufen.
#3: Die Beschreibung einer Stimme wird ausgegeben.
#4: Eine neue Stimme wird zugeordnet.
Ausgabe (Beispiel):
Weitere Stimmen für verschiedene Sprachen können Sie bei Microsoft herunterladen
(
https://www.microsoft.com/en-us/download/details.aspx?id=27224).
>>> import win32com.client
>>> speaker = win32com.client.Dispatch("SAPI.SpVoice")
>>> speaker.Speak("There is music in the air")
1
import win32com.client
text = """Hello, my friend.
Ich muss lachen."""
speaker = win32com.client.Dispatch('Sapi.SpVoice')
voices = speaker.GetVoices() #1
for voice in voices: #2
print(voice.GetDescription()) #3
speaker.Voice = voice #4
speaker.Speak(text)
Microsoft Hedda Desktop – German
Microsoft Zira Desktop - English (United States)

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.