summaryrefslogtreecommitdiffstats
path: root/tools/sapi_voice.vbs
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2012-09-09 11:31:05 +0200
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2012-09-09 12:07:53 +0200
commita1b780e670a0a3c7e7a32b7e62cf8d3e371d6d4b (patch)
tree41ca343074c02db94df553ee302cf5b414a13a2c /tools/sapi_voice.vbs
parent469a614349070eb5731acf96988186b2a95493ad (diff)
downloadrockbox-a1b780e670a0a3c7e7a32b7e62cf8d3e371d6d4b.tar.gz
rockbox-a1b780e670a0a3c7e7a32b7e62cf8d3e371d6d4b.tar.bz2
rockbox-a1b780e670a0a3c7e7a32b7e62cf8d3e371d6d4b.zip
Add support for Microsoft Speech Platform.
MSSP is accessible via vbs by simply changing the object to be used (both SAPI5 and MSSP use the ISpVoice COM interface). Add command line parameter to sapi_voice.vbs to switch the COM object used, and add the necessary implementation of the SAPI class to Rockbox Utility. Important: you will need to install the Speech Runtime separately and install the version matching the bitsize of Rockbox Utility. I.e. you will need to install the x86 version even on a x64 machine (unless you build a 64bit binary of Rockbox Utility). Change-Id: If760cd69c556c17a2ae539965d0941d16fdc10e1
Diffstat (limited to 'tools/sapi_voice.vbs')
-rw-r--r--tools/sapi_voice.vbs17
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
Dim oShell, oArgs, oEnv
Dim oFSO, oStdIn, oStdOut
Dim bVerbose, bSAPI4, bList
+Dim bMSSP
Dim sLanguage, sVoice, sSpeed, sName, sVendor
Dim oSpVoice, oSpFS ' SAPI5 voice and filestream
@@ -60,6 +61,7 @@ bVerbose = (oEnv("V") <> "")
Set oArgs = WScript.Arguments.Named
bSAPI4 = oArgs.Exists("sapi4")
+bMSSP = oArgs.Exists("mssp")
bList = oArgs.Exists("listvoices")
sLanguage = oArgs.Item("language")
sVoice = oArgs.Item("voice")
@@ -121,20 +123,25 @@ If bSAPI4 Then
' Speed selection
If sSpeed <> "" Then oTTS.Speed = sSpeed
-
+
' Get vendor information
sVendor = oTTS.MfgName(nMode)
Else ' SAPI5
' Create SAPI5 object
- Set oSpVoice = CreateObject("SAPI.SpVoice")
+ If bMSSP Then
+ Set oSpVoice = CreateObject("speech.SpVoice")
+ Else
+ Set oSpVoice = CreateObject("SAPI.SpVoice")
+ End If
If Err.Number <> 0 Then
- WScript.StdErr.WriteLine "Error - could not get SpVoice object." _
+ WScript.StdErr.WriteLine "Error " & Err.Number _
+ & " - could not get SpVoice object." _
& " SAPI 5 not installed?"
WScript.Quit 1
End If
-
- If bList Then
+
+ If bList Then
' Just list available voices for the selected language
For Each nLangID in LangIDs(sLanguage)
sSelectString = "Language=" & Hex(nLangID)