summaryrefslogtreecommitdiff
path: root/tools/sapi5_voice.vbs
diff options
context:
space:
mode:
authorSteve Bavin <pondlife@pondlife.me>2007-08-09 12:07:42 +0000
committerSteve Bavin <pondlife@pondlife.me>2007-08-09 12:07:42 +0000
commit6bc7da7c1f686096efe1fdd44c53fff59f60c96f (patch)
tree2e595baa94d02c22981060acd0c4514fc1d2cd0e /tools/sapi5_voice.vbs
parentc8c80a5391d028e0ee40432568f0a40eb623b249 (diff)
downloadrockbox-6bc7da7c1f686096efe1fdd44c53fff59f60c96f.tar.gz
rockbox-6bc7da7c1f686096efe1fdd44c53fff59f60c96f.zip
Allow Cygwin users to generate voice files using SAPI 5. Slow, and missing some of the details from the old MakeVoices.vbs method, but better than nothing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14252 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'tools/sapi5_voice.vbs')
-rwxr-xr-xtools/sapi5_voice.vbs68
1 files changed, 68 insertions, 0 deletions
diff --git a/tools/sapi5_voice.vbs b/tools/sapi5_voice.vbs
new file mode 100755
index 0000000000..c37836afb4
--- /dev/null
+++ b/tools/sapi5_voice.vbs
@@ -0,0 +1,68 @@
1'***************************************************************************
2' __________ __ ___.
3' Open \______ \ ____ ____ | | _\_ |__ _______ ___
4' Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5' Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6' Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7' \/ \/ \/ \/ \/
8' $Id: sapi5_voice.vbs$
9'
10' Copyright (C) 2007 Steve Bavin, Jens Arnold, Mesar Hameed
11'
12' All files in this archive are subject to the GNU General Public License.
13' See the file COPYING in the source tree root for full license agreement.
14'
15' This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
16' KIND, either express or implied.
17'
18'***************************************************************************
19' Purpose: Make a voice clip file for the given text
20' Parameters: $0 - text to convert
21' $1 - file to write spoken text into (WAV format)
22
23
24
25'To be done:
26' - Somehow, persist oSpVoice across multiple clips to increase speed
27' - Allow user to override voice, speed and/or format (currently uses Control Panel defaults for voice/speed)
28' - Voice specific replacements/corrections for pronounciation (this should be at a higher level really)
29
30Const SSFMCreateForWrite = 3
31
32Const SPSF_8kHz16BitMono = 6
33Const SPSF_11kHz16BitMono = 10
34Const SPSF_12kHz16BitMono = 14
35Const SPSF_16kHz16BitMono = 18
36Const SPSF_22kHz16BitMono = 22
37Const SPSF_24kHz16BitMono = 26
38Const SPSF_32kHz16BitMono = 30
39Const SPSF_44kHz16BitMono = 34
40Const SPSF_48kHz16BitMono = 38
41
42Dim oSpVoice, oSpFS, nAudioFormat, sText, sOutputFile
43
44sText = Replace(WScript.Arguments(0), "\", "")
45sOutputFile = WScript.Arguments(1)
46nAudioFormat = SPSF_22kHz16BitMono 'Audio format to use, recommended settings:
47 '- for AT&T natural voices, use SPSF_32kHz16BitMono
48 '- for MS voices, use SPSF_22kHz16BitMono
49
50Set oSpVoice = CreateObject("SAPI.SpVoice")
51If Err.Number <> 0 Then
52 WScript.Echo "Error - could not get SpVoice object. " & _
53 "SAPI 5 not installed?"
54 Err.Clear
55 WScript.Quit 1
56End If
57
58Set oSpFS = CreateObject("SAPI.SpFileStream")
59oSpFS.Format.Type = nAudioFormat
60oSpFS.Open sOutputFile, SSFMCreateForWrite, False
61Set oSpVoice.AudioOutputStream = oSpFS
62oSpVoice.Speak sText
63oSpFS.Close
64
65Set oSpFS = Nothing
66Set oSpVoice = Nothing
67Set oArgs = Nothing
68WScript.Quit 0