Blue Flower

Hier ein VBS-Code zur Sprachausgabe von Text

 

Option Explicit
'*****************************************************************************
' Srachausgabe eines Textes
' Ab Windows 10 (ggf. auch schon ab 8) gibt es auch eine deutsche Sprachausgabe
' Umlaute und ß werden Buchstabiert :-(
' Zu finden unter:
' 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 auszugenben.

Option Explicit
'*****************************************************************************
' Srachausgabe eines Text-Datei
'*****************************************************************************
Dim oSapi, SVoice, Speaker, sTextToSpeak
dim sTextToSpeakFile, SVSFIsFilename, SVSFlagsAsync
'On Error resume next
Set oSapi = CreateObject("SAPI.spVoice")

'Steuerung das der Eintrag 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