[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Silence with the Dectalk software




Gilles --
Thanks for the note.

I'm happy to fix the dtk-soft script as you indicate.
could you tell me the difference between TTS_NORMAL and TTS_RESET?
Also, you may want to report the bugs you found the Fonix directly
since 
it's probably symptomatic of something more serious in their engine
given that you observe the difference between English and French.

I would be happy to make the changes for now, but it might only end up
hiding the real problem.
>>>>> "Gilles" == Gilles Casse <gcasse@helis.org> writes:

    Gilles> Hi, I would be very grateful to T. V. Raman and to the
    Gilles> emacspeak ml members, to give your opinion about the
    Gilles> following changes related to the DECtalk software.  These
    Gilles> changes are aimed to fix a painful issue for the french
    Gilles> TTS.  I would like to know if these changes do not
    Gilles> decrease the quality of the voice. You probably use the
    Gilles> english TTS but it could be spanish, german or even
    Gilles> french.

    Gilles> In fact, with emacspeak and the DECtalk software, we
    Gilles> observed a distinct behavior between the english and the
    Gilles> french TTS.  if the user presses the up arrow key when the
    Gilles> current line is said, then the voice stops and the
    Gilles> previous line is sayed.

    Gilles> With the french TTS, there were nearly two seconds of
    Gilles> silence before starting to hear the previous line.  With
    Gilles> the english TTS, this long silence doesn't exist.

    Gilles> In my opinion, here are the original calls of the DECtalk
    Gilles> API which work with english but cause a silence with
    Gilles> french:

    Gilles> 1. In file tcldtk.c, the Stop() function calls
    Gilles> TextToSpeechReset() then TextToSpeechSpeak() to force an
    Gilles> inline command:

    Gilles> TextToSpeechReset(dtkHandle, FALSE);
    Gilles> TextToSpeechSpeak(dtkHandle, "[:phoneme arpabet speak on
    Gilles> :say clause]", TTS_FORCE);

    Gilles> 2. In file dtk-soft, each call to the speach_task function
    Gilles> sends the following inline command to the DECtalk
    Gilles> software:

    Gilles>     say "\[_]\[:sa c]\[:np]\[:ra $r]\[:pu $mode]"
  
    Gilles>    Here [:ra $r] means "the value of the rate equals $r"

    Gilles> For the french TTS, we only change these lines:

    Gilles> 1. In the Stop() function (file tcldtk.c), TTS_NORMAL
    Gilles> replaces TTS_FORCE

    Gilles> TextToSpeechReset(dtkHandle, FALSE);
    Gilles> TextToSpeechSpeak(dtkHandle, "[:phoneme arpabet speak on
    Gilles> :say clause]", TTS_NORMAL);

    Gilles> 2. In the tcl file, we supply the rate only if it is
    Gilles> actually modified.  Something like that:

    Gilles>     if {$rate_old != $r } { say "\[:ra $r]" set rate_old
    Gilles> $r }

    Gilles> Here is the related <a
    Gilles> href="http://gcasse.free.fr/dtk/dtk-soft">dtk-soft</a>
    Gilles> Many thanks for your notices and sorry for this verbose
    Gilles> email,

    Gilles> Gilles

    Gilles> -----------------------------------------------------------------------------
    Gilles> To unsubscribe from the emacspeak list or change your
    Gilles> address on the emacspeak list send mail to
    Gilles> "emacspeak-request@cs.vassar.edu" with a subject of
    Gilles> "unsubscribe" or "help"

-- 
Best Regards,
--raman

      
Email:  raman@cs.cornell.edu
WWW: http://www.cs.cornell.edu/home/raman/             
AIM: TVRaman
PGP:    http://www.cs.cornell.edu/home/raman/raman.asc 

-----------------------------------------------------------------------------
To unsubscribe from the emacspeak list or change your address on the
emacspeak list send mail to "emacspeak-request@cs.vassar.edu" with a
subject of "unsubscribe" or "help"


Emacspeak Files | Subscribe | Unsubscribe | Search