Re: [orca-list] Orca, Gnome-speech and eSpeak: using voice variants



To give some information about espeak and variants, I understand any
variant can be applied to any voice, that is what separates the variant
data from the voice data, eg. a Lancaster accent can only be applied to
a British voice (it would sound wrong applied to another language) so
the Lancaster voice is made as another voice (although building on the
standard British voice), but any voice can be made to sound female (and
the parameters for changing to female are normally the same for
different languages) so female is a variant. A topic along this line was
mentioned on the nvda-dev mailing list, I suggested that may be variant
should be controlled separately to voice (eg. it could be done through a
tone control (to give it a generic name, which may alter other tone
parameters for other synths if variants aren't available)). I don't know
if all voices and variants should be listed in the voice list as this
would present the user with one huge list which I feel would be better
separated into two categories so the user may select the Scotish voice
and then choose the female variant for example rather than having to
wade through one list to find female Scotish.

As variants can be applied to any voice, I think there isn't a function
to return variants as these are always the same regardless of voice (eg.
always within the range 1 to 13, but I think there is a technique you
can use to check when you have found the top one by when the variant
becomes the same as the first one).

I hope this is useful, I think there is a full description of this topic
on the nvda-dev list, but I am not sure if the archives for the list are
public (hopefully they are).

From
Michael Whapples
On Mon, 2007-05-21 at 09:44 -0400, Willie Walker wrote:
Just to follow up on this, eSpeak has a method to get the available
voices.  This is what the gnome-speech driver uses to determine which
voices are available:

const espeak_VOICE **espeak_ListVoices(espeak_VOICE *voice_spec);
/* Reads the voice files from espeak-data/voices and creates an array of espeak_VOICE pointers.
   The list is terminated by a NULL pointer

   If voice_spec is NULL then all voices are listed.
   If voice spec is give, then only the voices which are compatible with the voice_spec
   are listed, and they are listed in preference order.
*/

The call being done in the gnome-speech driver is:

    voices = espeak_ListVoices(NULL);

Thus, all voices should be obtained.  It appears as though voice
variants are not returned as a part of this call, though.  I'm not sure
if this is a bug or not.  I'm BCC'ing the eSpeak folks to get their
opinion on this.

Will






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