This worked for me on an XP3 machine.
Does it work on yours? Vista?
local hObj = com.create_object("SAPI.SpVoice")
;SAPI.SpVoice Properties:
;.Pause = pause speaking
;.resume = resume after pause
;.Rate = speed at which voice speaks
;.Voice = you can use set and a voice value
; to change the voice (if multiple exist on machine)
;.Volume = volume of voice (not system volume, just voice)
;.WaitUntilDone = wait until done - dont know how else to say that ;)
local hVoice
local i = 1
win.debug("voices available:")
win.debug("")
for each hVoice In hObj.getvoices
win.debug(i ++ " - " ++ hVoice.GetDescription)
; necessary to release objects
i++
hVoice.release
endfor
local sMsg = input("Voice Box")
If (sMsg eq "")
quit
hObj.Volume = 100
hObj.Speak(sMsg)
hObj.release