After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 348210 - Changing rate with Insert Left/Right is Backwards with Cepstral Voices
Changing rate with Insert Left/Right is Backwards with Cepstral Voices
Status: RESOLVED NOTGNOME
Product: orca
Classification: Applications
Component: speech
0.2.x
Other All
: Normal minor
: ---
Assigned To: Orca Maintainers
Orca Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-07-21 05:31 UTC by Joanmarie Diggs (IRC: joanie)
Modified: 2006-09-15 20:04 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Joanmarie Diggs (IRC: joanie) 2006-07-21 05:31:38 UTC
Please describe the problem:
I am using Cepstral David with Festival as my speech synthesizer.  As best as I can tell from test-speech, the rate of this voice ranges from 1 to 400 with 1 being fastest. As a result, when using Insert Right Arrow in Orca to increase the rate, speech slows down.  Similarly, when using Insert Left Arrow to decrease the rate, speech becomes faster.

Steps to reproduce:
1. Install Cepstral David (http://www.cepstral.com/downloads/)
2. Run Cepstral's "Festivalify" script (http://www.cepstral.com/downloads/public/other/festivalify-cepstral-voice)
3. Configure Orca to use the Cepstral voice
4. Use Insert Left/Right to change the rate


Actual results:
Orca indicates that speech is getting slower when in reality it's getting faster, and vice versa.

Expected results:
Ideally, what Orca indicates and what the Cepstral voice was doing would match.

Does this happen every time?
Yes.

Other information:
I realize (assume) that this is a quirk in Cepstral and not Orca.  But it *seems* like a bug from the end-user perspective.  So.... 

Unless there is some easy magic that you can pull off to address this within Orca, I'm submitting this as a heads-up.  Perhaps it is something that should be included in a FAQ and/or the docs upon release of 1.0 to make it clear to the user what is going on?
Comment 1 Willie Walker 2006-07-21 12:21:28 UTC
Please try the following from the festival command line prompt, which you get by running the 'festival' command:

(voice_cepstral_david)
(Param.set "Duration_Stretch" 0.5)
(SayText 'hello)
(Param.set "Duration_Stretch" 2.0)
(SayText 'hello)

With the Duration_Stretch at 0.5, it should speak quickly.  With the Duration_Stretch at 2.0, it shoudl speak slowly.  You can compare and contrast this with the (voice_kal_diphone) voice.  I'm curious if the behavior is different between the two.
Comment 2 Joanmarie Diggs (IRC: joanie) 2006-07-22 00:27:30 UTC
Indeed it is different.

David:       Duration_Stretch at 0.5 - Slowly
             Duration_Stretch at 2.0 - Quickly

Kal_Diphone: Duration_Stretch at 0.5 - Quickly
             Duration_Stretch at 2.0 - Slowly
Comment 3 Willie Walker 2006-07-22 00:30:19 UTC
Thanks!  I think this might be a bug the "fesitvalization" process of the cepstral voices.
Comment 4 Joanmarie Diggs (IRC: joanie) 2006-07-22 02:15:23 UTC
Thank YOU!  Based on the above, I just emailed support at Cepstral to see if they have any ideas/suggestions.  If they do, I'll document it here.
Comment 5 Joanmarie Diggs (IRC: joanie) 2006-09-15 20:00:29 UTC
You know, they never got back to me on this, but based on some conversation on the Orca list I decided to look at the festivalization process.  The following seems to fix it:

In festivalify-cepstral-voice.pl, line 233, change this line:

    (set! wpm (* 170 (Param.get "Duration_Stretch")))

to this line:

    (set! wpm (/ 170 (Param.get "Duration_Stretch")))

Kill all festival processes for the changes to take place.  

Having made the above change, Orca works with the Cepstral voice as I would expect. 

Hope this helps!
Comment 6 Joanmarie Diggs (IRC: joanie) 2006-09-15 20:04:29 UTC
Forgot to mention, you need to re-rerun festivalify-cepstral-voice in order for it to work. :-)