diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/sapi_voice.vbs | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/tools/sapi_voice.vbs b/tools/sapi_voice.vbs index a8b98ac924..c6c2c69372 100644 --- a/tools/sapi_voice.vbs +++ b/tools/sapi_voice.vbs | |||
@@ -39,6 +39,7 @@ Const STDERR = 2 | |||
39 | Dim oShell, oArgs, oEnv | 39 | Dim oShell, oArgs, oEnv |
40 | Dim oFSO, oStdIn, oStdOut | 40 | Dim oFSO, oStdIn, oStdOut |
41 | Dim bVerbose, bSAPI4, bList | 41 | Dim bVerbose, bSAPI4, bList |
42 | Dim bMSSP | ||
42 | Dim sLanguage, sVoice, sSpeed, sName, sVendor | 43 | Dim sLanguage, sVoice, sSpeed, sName, sVendor |
43 | 44 | ||
44 | Dim oSpVoice, oSpFS ' SAPI5 voice and filestream | 45 | Dim oSpVoice, oSpFS ' SAPI5 voice and filestream |
@@ -60,6 +61,7 @@ bVerbose = (oEnv("V") <> "") | |||
60 | 61 | ||
61 | Set oArgs = WScript.Arguments.Named | 62 | Set oArgs = WScript.Arguments.Named |
62 | bSAPI4 = oArgs.Exists("sapi4") | 63 | bSAPI4 = oArgs.Exists("sapi4") |
64 | bMSSP = oArgs.Exists("mssp") | ||
63 | bList = oArgs.Exists("listvoices") | 65 | bList = oArgs.Exists("listvoices") |
64 | sLanguage = oArgs.Item("language") | 66 | sLanguage = oArgs.Item("language") |
65 | sVoice = oArgs.Item("voice") | 67 | sVoice = oArgs.Item("voice") |
@@ -121,20 +123,25 @@ If bSAPI4 Then | |||
121 | 123 | ||
122 | ' Speed selection | 124 | ' Speed selection |
123 | If sSpeed <> "" Then oTTS.Speed = sSpeed | 125 | If sSpeed <> "" Then oTTS.Speed = sSpeed |
124 | 126 | ||
125 | ' Get vendor information | 127 | ' Get vendor information |
126 | sVendor = oTTS.MfgName(nMode) | 128 | sVendor = oTTS.MfgName(nMode) |
127 | 129 | ||
128 | Else ' SAPI5 | 130 | Else ' SAPI5 |
129 | ' Create SAPI5 object | 131 | ' Create SAPI5 object |
130 | Set oSpVoice = CreateObject("SAPI.SpVoice") | 132 | If bMSSP Then |
133 | Set oSpVoice = CreateObject("speech.SpVoice") | ||
134 | Else | ||
135 | Set oSpVoice = CreateObject("SAPI.SpVoice") | ||
136 | End If | ||
131 | If Err.Number <> 0 Then | 137 | If Err.Number <> 0 Then |
132 | WScript.StdErr.WriteLine "Error - could not get SpVoice object." _ | 138 | WScript.StdErr.WriteLine "Error " & Err.Number _ |
139 | & " - could not get SpVoice object." _ | ||
133 | & " SAPI 5 not installed?" | 140 | & " SAPI 5 not installed?" |
134 | WScript.Quit 1 | 141 | WScript.Quit 1 |
135 | End If | 142 | End If |
136 | 143 | ||
137 | If bList Then | 144 | If bList Then |
138 | ' Just list available voices for the selected language | 145 | ' Just list available voices for the selected language |
139 | For Each nLangID in LangIDs(sLanguage) | 146 | For Each nLangID in LangIDs(sLanguage) |
140 | sSelectString = "Language=" & Hex(nLangID) | 147 | sSelectString = "Language=" & Hex(nLangID) |