[jawsscripts] Re: Saying two messages with a specific period of silence in between
- From: "Sina Sotudehnia" <sina3c@xxxxxxxxx>
- To: <jawsscripts@xxxxxxxxxxxxx>
- Date: Tue, 15 Jul 2008 23:47:05 -0400
Hi friends,
I think the following can be a solution for this problem. Although the
calculation is not doing with high accuracy ,but it is a way to do this job.
In this program, (That is my first time Scripting in jaws), I am using Pause
function to provide two type of delay.
One delay to provide enough time that is required to speech the first
string, and second delay for requested silence time after reading the first
string.
because the speed rate of voice is assigned by user, I get this value by
using the following function that return the current voice speech rate:
GetSettingInformation (V_RATE,VCTX_GLOBAL , MinRate, MaxRate)
The first and second parameters are two Constant which are coming from
hjconst.jsh" header file. (notice to, the "Include" statement before start
of script). and the third and forth parameters ar two variable which get the
minimum and maximum of the speed rate of Voice Context or any things that
is requested by the two first parameters.
after that I am finding the length of the first string. Then in a formula
all this values are combining together with silence time and two other
constant numbers.
The number 28 is for balancing the Rate and the number 6 is for balancing
the requested silence time.
All of them make the total number of the time that we are using the Pause
function.
As I said, the calculation is not very accurate but it works for the
different string length. As you all know, it is easier to convert this
script to a function. In this case the function has to include two
parameters, FirstString and SilenceTime. and the return value, can be an
integer to show if the function end by itself or someone hit a key to end it
manually.
the function "StopSpeech ()", is good for make any speech off before, and
after the using saystring command..
Please let me know if it works for you. I Will be happy to get any
feedback.
----------
include "hjconst.jsh"
Script TestScripting ()
var int count
var int CurrentRate, int MinRate, int MaxRate, int StrLen, int SilenceSecond
var string FirstString, String secondString
let SilenceSecond = 3
let FirstString="The Script Manager is a JAWS script editing program with
all the features necessary for you to create scripts"
let secondString="So, continue Talking."
let CurrentRate=GetSettingInformation (V_RATE,VCTX_GLOBAL , MinRate,
MaxRate)
let StrLen=StringLength (FirstString)
let count = (StrLen / CurrentRate +1) * 28 + SilenceSecond * 6
StopSpeech ()
saystring(FirstString)
While (count > 0) && (not IsKeyWaiting ())
Pause ()
let count = count - 1
EndWhile
StopSpeech ()
SayString (secondString)
EndScript
Regards,
Sina Sotudehnia
Independent Insurance Advisors Group
Email: sina@xxxxxxxxxxx Web: WWW.IIAGROUP.CA
Direct Tel: (416) 496-9300
Office Tel: (905) 479-0888 Ext. 249
Fax: (905) 479-0856
Address: IDC Financial , Toronto East
# 3000 Steeles Ave. East. Suite 103
Markham L3R 4T9
Ontario Canada
----- Original Message -----
From: "Doug Lee" <doug.lee@xxxxxxxxxxxxxxxx>
To: <jawsscripts@xxxxxxxxxxxxx>
Sent: Sunday, July 13, 2008 5:12 PM
Subject: [jawsscripts] Re: Saying two messages with a specific period of
silence in between
> Unfortunately there is no airtight solution to this problem. Even if
> you just consider Eloquence, users can vary the timing by changing the
> speech rate, which renders the pause-with-delay technique ineffective.
> If you take other synthesizers into account, the problem multiplies
> beyond tractability because there is no way at all to detect when some
> synthesizers are done saying something. I think the best solution
> would be to get Freedom Scientific to give us some sort of direct
> access to the active synthesizer's indexing feature, for synthesizers
> that support this. That would be a modification to the JAWS scripting
> language though. I see no sufficiently effective solution without
> such a modification.
>
> On Sat, Jul 12, 2008 at 10:11:01PM -0400, Kamil wrote:
> Hi folks,
>
> I would like JAWS to say two messages with exactly two-second silence in
> between.
> Neither Delay (20), nor twenty Pause () commands works,
> since both starts right after the first message is sent to the TTS, not
> when
> it's completely spoken.
> I tried counting number of words in the first message,
> and calculating the time needed for it to be completely spoken using the
> current speech rate.
> The result varies based on the total number of sylabels in the message.
>
> Can you think of a better solution?
> As far as I know, there is no function such as TtsIsDoneEvent or
> IsTtsBusy.
>
> Thanks,
>
> Camille
>
> __________?
> View the list's information and change your settings at
> http://www.freelists.org/list/jawsscripts
>
> --
> Doug Lee, Senior Accessibility Programmer
> SSB BART Group - Accessibility-on-Demand
> mailto:doug.lee@xxxxxxxxxxxxxxxx http://www.ssbbartgroup.com
> "While they were saying among themselves it cannot be done,
> it was done." --Helen Keller
> __________
> View the list's information and change your settings at
> http://www.freelists.org/list/jawsscripts
>
__________
View the list's information and change your settings at
http://www.freelists.org/list/jawsscripts
- References:
- [jawsscripts] Re: FW: FW: Re: How do you get the Firefox DOM forscripting?
- From: Johnvi Javier
- [jawsscripts] Re: DLGSelectItemInList multi letter navigation
- From: Kamil
- [jawsscripts] Re: DLGSelectItemInList multi letter navigation
- From: Dennis Brown
- [jawsscripts] Re: DLGSelectItemInList multi letter navigation
- From: Kamil
- [jawsscripts] Saying two messages with a specific period of silence in between
- From: Kamil
- [jawsscripts] Re: Saying two messages with a specific period of silence in between
- From: Doug Lee
Other related posts:
- » [jawsscripts] Saying two messages with a specific period of silence in between
- » [jawsscripts] Re: Saying two messages with a specific period of silence in between
- » [jawsscripts] Re: Saying two messages with a specific period of silence in between
- » [jawsscripts] Re: Saying two messages with a specific period of silence in between
- » [jawsscripts] Re: Saying two messages with a specific period of silence in between
- » [jawsscripts] Re: Saying two messages with a specific period of silence in between
- » [jawsscripts] Re: Saying two messages with a specific period of silence in between
- » [jawsscripts] Re: Saying two messages with a specific period of silence in between
- » [jawsscripts] Re: Saying two messages with a specific period of silence in between
- » [jawsscripts] Re: Saying two messages with a specific period of silence in between
- » [jawsscripts] Re: Saying two messages with a specific period of silence in between
- » [jawsscripts] Re: Saying two messages with a specific period of silence in between
- » [jawsscripts] Re: Saying two messages with a specific period of silence in between
- » [jawsscripts] Re: Saying two messages with a specific period of silence in between
- » [jawsscripts] Re: Saying two messages with a specific period of silence in between
- [jawsscripts] Re: FW: FW: Re: How do you get the Firefox DOM forscripting?
- From: Johnvi Javier
- [jawsscripts] Re: DLGSelectItemInList multi letter navigation
- From: Kamil
- [jawsscripts] Re: DLGSelectItemInList multi letter navigation
- From: Dennis Brown
- [jawsscripts] Re: DLGSelectItemInList multi letter navigation
- From: Kamil
- [jawsscripts] Saying two messages with a specific period of silence in between
- From: Kamil
- [jawsscripts] Re: Saying two messages with a specific period of silence in between
- From: Doug Lee