GNOME Bugzilla – Bug 570833
gnomespeechfactory backend should use linear conversion from acss rate/pitch
Last modified: 2009-02-24 21:40:26 UTC
As found by Mike and Attila, when the rate/pitch sliders change (bug #419123), it is not the same as the end result when apply/ok is pressed. The to be attached patch uses linear scaling for rate and pitch.
Created attachment 128129 [details] [review] rev 1 Please test alongside the latest patch for bug #419123
A thing to make sure is handled correctly here is the default value for the parameters. This is derived from the 'parameter.current' value that is returned by gnome-speech when it is first started. The ACSS values in Orca makes the middle of the scale (e.g., 5.0, 50, etc.) be the default value, which is pretty much what I understood Raman to want. The idea is that you could toss the middle values of the scale and end up with the default voice parameters as set by the speech engine provider. So the current implementation provides a linear scale to the left of the middle value and a potentially different linear scale to the right of the middle value. Going to a linear conversion across the entire range will change the meaning of the middle values since the default value is usually never likely to be in the middle of the range supported by the engine. In addition, I think this change might end up resulting in people getting new and unexpected voice changes from their existing user-settings.py files. So, I'm not really comfortable with this change for 2.26 just yet.
Since the user is seeing a slider, which is linear, would it not be logical to have linear output? It is really strange to have two virtual scales, one to the left and one to the right of "5.0". As for the users, the change is not that radical in my opinion. Mike, how does things sound to you?
(In reply to comment #3) > Since the user is seeing a slider, which is linear, would it not be logical to > have linear output? > It is really strange to have two virtual scales, one to the left and one to the > right of "5.0". I agree it is strange. But, here's the effect on end users of making it completely linear. Assume the user has a value of 50 or 51 for rate. This will be somewhere near the default value for the speech engine. Let's say that's something like 120wpm. Now, let's say the actual rate for the engine ranges from 70 to 500 words per minute. By changing the meaning of the value in gnomespeechfactory.py, instead of something at or close to 120wpm for 50, they will end up getting closer to 250wpm, which is a pretty big change. The net effect is that anyone who has set up their preferences will need to set them up again after the gnomespeechfactory.py change has been made. It also makes the default values of 5.0 and 50 very unreliable and arbitrary. So, the code needs to be changed everywhere it makes assumptions that 5.0 and 50 represent the default values for the engine.
I am perfectly OK with this change.
Spoke with Mike and he's OK with leaving things as is. Closing.