From 17e03e75a43ff75b2cc20ba794b0f4d3131f4a36 Mon Sep 17 00:00:00 2001 From: Jonas Häggqvist Date: Sat, 25 Aug 2007 22:00:13 +0000 Subject: Replace the voicebuilding with a perl-based approach. Should greatly speed up building on Cygwin. See more in FS#7646. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14457 a1c6a512-1295-4272-9138-f99709370657 --- tools/sapi5_voice_new.vbs | 67 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100755 tools/sapi5_voice_new.vbs (limited to 'tools/sapi5_voice_new.vbs') diff --git a/tools/sapi5_voice_new.vbs b/tools/sapi5_voice_new.vbs new file mode 100755 index 0000000000..96c6e2a720 --- /dev/null +++ b/tools/sapi5_voice_new.vbs @@ -0,0 +1,67 @@ +'*************************************************************************** +' __________ __ ___. +' Open \______ \ ____ ____ | | _\_ |__ _______ ___ +' Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / +' Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < +' Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ +' \/ \/ \/ \/ \/ +' $Id: sapi5_voice.vbs$ +' +' Copyright (C) 2007 Steve Bavin, Jens Arnold, Mesar Hameed +' +' All files in this archive are subject to the GNU General Public License. +' See the file COPYING in the source tree root for full license agreement. +' +' This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY +' KIND, either express or implied. +' +'*************************************************************************** +' Purpose: Make a voice clip file for the given text on stdin + +'To be done: +' - Allow user to override voice, speed and/or format (currently uses Control Panel defaults for voice/speed) +' - Voice specific replacements/corrections for pronounciation (this should be at a higher level really) + +Const SSFMCreateForWrite = 3 + +Const SPSF_8kHz16BitMono = 6 +Const SPSF_11kHz16BitMono = 10 +Const SPSF_12kHz16BitMono = 14 +Const SPSF_16kHz16BitMono = 18 +Const SPSF_22kHz16BitMono = 22 +Const SPSF_24kHz16BitMono = 26 +Const SPSF_32kHz16BitMono = 30 +Const SPSF_44kHz16BitMono = 34 +Const SPSF_48kHz16BitMono = 38 + +Dim oSpVoice, oSpFS, nAudioFormat, sText, sOutputFile + +nAudioFormat = SPSF_22kHz16BitMono 'Audio format to use, recommended settings: +'- for AT&T natural voices, use SPSF_32kHz16BitMono +'- for MS voices, use SPSF_22kHz16BitMono + +Set oSpVoice = CreateObject("SAPI.SpVoice") +If Err.Number <> 0 Then + WScript.Echo "Error - could not get SpVoice object. " & _ + "SAPI 5 not installed?" + Err.Clear + WScript.Quit 1 +End If + +While 1 > 0 + sText = WScript.StdIn.ReadLine + sOutputFile = WScript.StdIn.ReadLine + If sOutputFile = "" Then + Set oSpFS = Nothing + Set oSpVoice = Nothing + Set oArgs = Nothing + WScript.Quit 0 + End If + ' WScript.Echo "Saying " + sText + " in " + sOutputFile + Set oSpFS = CreateObject("SAPI.SpFileStream") + oSpFS.Format.Type = nAudioFormat + oSpFS.Open sOutputFile, SSFMCreateForWrite, False + Set oSpVoice.AudioOutputStream = oSpFS + oSpVoice.Speak sText + oSpFS.Close +Wend -- cgit v1.2.3