Es gibt eine coole Funktion in Windows, mit der Sie Ihren Computer sprechen lassen oder sprechen können, was immer Sie ihm sagen! Diese Methode nutzt eine integrierte API, die auf Windows XP, Vista, 7, 8 und 10 installiert ist und SAPI (Speech Application Programming Interface) genannt wird.
Die Microsoft Speech API wird für die in Windows integrierte Text-zu-Sprache-Barrierefreiheitsfunktion verwendet. Sie können auch Programme schreiben, die die API aufrufen, was es Ihnen ermöglichen würde, Ihre Anwendungen sprechen zu lassen, aber das ist etwas für Entwickler.
Inhaltsverzeichnis
- Text eingeben, Nachricht sprechen
- Konfigurieren Sie die SAPI-Voice-Einstellungen
- Zeitplan-Skriptdatei
Es ist eigentlich ziemlich einfach, Ihren Computer sagen zu lassen, was Sie wollen! In diesem Artikel zeige ich Ihnen, wie Sie ein VBS-Skript erstellen, das eine Texteingabe von einem Benutzer entgegennimmt und diese dann spricht. Ich werde auch erwähnen, wie Sie den Text, den Sie sprechen möchten, fest codieren und dieses Skript dann so planen, dass es bei bestimmten Ereignissen wie dem Starten von Windows oder dem Abmelden ausgeführt wird.
Text eingeben, Nachricht sprechen
Beginnen wir mit einem einfachen Skript, das ein Dialogfeld öffnet, in dem Sie eingeben können, was Windows sprechen soll. Gehen Sie zuerst vor und öffnen Sie Notepad.
Schritt 1: Fügen Sie den folgenden Text in ein neues Dokument ein:
Dim message, sapi
message=InputBox(“Enter the text you want spoken”,”Speak This”)
Set sapi=CreateObject(“sapi.spvoice”)
sapi.Speak message
Beachten Sie, dass die Anführungszeichen Probleme verursachen, wenn Sie Text aus Ihrem Webbrowser kopieren und in Notepad einfügen. Bevor Sie die Datei speichern, müssen Sie jedes Zitat (“) durchgehen und löschen und das Zitat erneut eingeben. Im Beispiel unten gibt es sechs Anführungszeichen. Es sollte ungefähr so aussehen wie das Bild unten.
Wenn Sie jetzt die Datei speichern, geben Sie ihr einen beliebigen Namen, aber stellen Sie sicher, dass Sie auch .VBS nach dem Namen eingeben. Wählen Sie als Nächstes für das Feld Dateityp die Option Alle Dateien anstelle der standardmäßigen Textdokumente aus.
Doppelklicken Sie nun auf die VBS-Datei und Sie sollten ein Eingabefeld sehen, in das Sie den zu sprechenden Text eingeben können! Geben Sie etwas ein und klicken Sie auf OK.
Wenn Sie alles richtig gemacht haben, sollten Sie Ihren Satz entweder von einer männlichen oder einer weiblichen Stimme sprechen hören. Wenn Sie eine Fehlermeldung erhalten, stellen Sie sicher, dass Sie den Text kopieren und erneut einfügen und diese Anführungszeichen ersetzen.
Konfigurieren Sie die SAPI-Voice-Einstellungen
Das macht Spaß, aber wir können unseren kleinen sprechenden Computer auch mit verschiedenen Einstellungen konfigurieren. Wir können die Lautstärke ändern, wie schnell oder langsam die Stimme spricht und das Geschlecht zwischen männlich und weiblich ändern. Hier ist ein Beispielcode, in dem ich ein paar zusätzliche Zeilen hinzugefügt habe.
Dim message, sapi
message=InputBox(“Enter the text you want spoken”,”Speak This”)
Set sapi=CreateObject(“sapi.spvoice”)
Set sapi.Voice = sapi.GetVoices.Item(1)
sapi.Rate = 0
sapi.volume = 100
sapi.Speak message
Die Standardrate ist 0 und der Bereich ist -10 bis 10. Bei -10 spricht die Stimme superlangsam und bei 10 superschnell. Die Lautstärke ist standardmäßig auf 100 eingestellt und der Bereich liegt zwischen 0 und 100. Die Zeile, die mit Set sapi.Voice beginnt , ermöglicht es Ihnen, zu einer anderen Stimme zu wechseln, sofern diese auf Ihrem System installiert ist.
Beachten Sie, dass die Anzahl der Stimmen, aus denen Sie wählen können, vom Betriebssystem abhängt. In Windows 7 gibt es nur eine Stimme, Microsoft Anna.
In Windows 10 gibt es zwei Stimmen: Microsoft David und Microsoft Zira, wie unten gezeigt.
Wenn auf Ihrem System nur eine Stimme installiert ist, müssen Sie diese von sapi.GetVoices.Item(1) in sapi.GetVoices.Item(0) ändern , da Sie sonst eine Fehlermeldung erhalten, wenn Sie versuchen, das Skript auszuführen. Sie können auch ein weiteres Notepad-Dokument erstellen und den folgenden Code einfügen, der Ihnen mitteilt, welche Stimmen installiert sind. Speichern Sie es als .VBS-Datei wie oben gezeigt und führen Sie es aus.
Set VObj = CreateObject(“SAPI.SpVoice”)
For Each Voice In VObj.getvoices
I = I + 1
msgbox “” & (I – 1) & ” – ” & Voice.GetDescription
Next
Bisher haben wir diesen Popup-Dialog verwendet, um Text einzugeben, aber Sie können Ihre Nachricht auch einfach in die Skriptdatei eingeben. Dies wäre nützlich, wenn Sie das Skript so planen möchten, dass es automatisch ausgeführt wird. Offensichtlich kann dies verwendet werden, um Ihren Freunden und Ihrer Familie einen Streich zu spielen, und es funktioniert wirklich gut.
Stellen Sie sich vor, jemand schaltet seinen Computer ein und hört, wie der Computer sagt: „Hallo John, ich bin sehr müde, bitte stören Sie mich heute nicht!“ wenn es hochfährt! Ich kann dir aus Erfahrung versprechen, es ist hysterisch und du solltest es unbedingt ausprobieren.
Um die Nachricht fest zu codieren, ändern Sie einfach die letzte Zeile in etwa so:
sapi.Speak “Hello John, I am very tired today!”
Zeitplan-Skriptdatei
Jetzt, da Sie Ihre Nachricht für Ihr beabsichtigtes Ziel hartcodiert haben, müssen Sie sie einfach ausführen, wann immer Sie wollen. Wenn Sie technisch versiert sind, können Sie ein Programm wie AutoIt verwenden , mit dem Sie extreme Dinge tun können, z. B. das Ausführen Ihrer Skriptdatei, wenn ein bestimmtes Programm geöffnet wird oder wenn ein Fenster maximiert oder minimiert wird.
Ich habe keine Zeit, in diesem Beitrag auf all das einzugehen, aber zum Glück hat Microsoft eine eingebaute Funktion namens Taskplaner, mit der Sie ganz einfach einige ziemlich komplizierte Dinge mit Skripten erledigen können.
Mein vorheriger Beitrag geht ausführlich darauf ein, wie eine Skriptdatei so geplant wird, dass sie ausgeführt wird, wenn bestimmte Ereignisse in Windows auftreten. Wenn Sie Probleme haben, Ihr Skript zum Laufen zu bringen, können Sie gerne einen Kommentar posten, und ich werde versuchen, Ihnen zu helfen. Genießen!