Hier ein VBS-Code zur Sprachausgabe von Text
Wichtige Anmerkung:
Damit die Sprachausgabe der Umlaute und ß korrekt ausgesprochen wird muss die Datei, welche den Text zur Sprachausgabe enthält, im ANSI-Format gespeichert werden.
Im 1. BSP die VBS-Datei im 2. BSP. die Text-Datei.
Option Explicit
'*****************************************************************************
' Srachausgabe eines Textes
' Ab Windows 10 (ggf. auch schon ab 8) gibt es auch eine deutsche Sprachausgabe
' Systemsteuerung > Erleichterte Bedienung > Spracherkennung
' > (Menü links) "Erweiterte Sprachoptionen" > Register Text-in-Sprache
' > Stimmenauswahl zeigt die möglichen Stimmen
'*****************************************************************************
Dim oSapi, SVoice, Speaker, sTmp, iCounter, iDefault, sTextToSpeak
'On Error resume next
Set oSapi = CreateObject("SAPI.spVoice")
sTextToSpeak = "Hallo, Guten Morgen zusammen. Wie geht's euch allen denn so?"
iCounter = - 1 'Die Anzahl der Specher
iDefault = 0
For Each Speaker In oSapi.GetVoices
iCounter = iCounter + 1
if instr(1, Speaker.GetDescription, "german", vbTextCompare) or instr(1, Speaker.GetDescription, "deutsch", vbTextCompare ) then
iDefault = iCounter
end if
sTmp = sTmp & iCounter & " <- " & Speaker.GetDescription & vbcrlf
Next
if iCounter > 0 then
iCounter = Inputbox(sTmp, "Welche Stimme soll verwendet werden", iDefault)
end if
with oSapi
Set .voice = .GetVoices.Item(iCounter)
.Volume = 100 'Lautstärke 0..100
.Rate = 1 'Sprechgeschwindigkeit 1..?
.speak sTextToSpeak
end with
Hier ein Script um den Inhalt einer Text-Datei auszugeben.
Option Explicit
'*****************************************************************************
' Srachausgabe eines Text-Datei
'*****************************************************************************
Dim oSapi, SVoice, Speaker, sTextToSpeak
dim sTextToSpeakFile, SVSFIsFilename, SVSFlagsAsync
'On Error resume next
Set oSapi = CreateObject("SAPI.spVoice")
'Ausgabeanweisung: Der Eintrag ist kein Text sondern ein Verweis auf eine Textdatei
SVSFIsFilename = 4
'Textdatei die vorgelesen werden soll
sTextToSpeakFile = "c:\test\TextToSpeach.txt"
with oSapi
'Set .voice = 0 'Es soll die default Sprache verwendet werden
.Volume = 100 'Lautstärke 0..100
.Rate = 1 'Sprechgeschwindigkeit 1..?
.Speak sTextToSpeakFile, SVSFIsFilename
end with