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

[Emacspeak] Re: Fwd: API design for espeak voice selection in emacspeak



Krzysztof Drewniak via Emacspeak <emacspeak(a)emacspeak.org> writes:


some additional thoughts around why I suggested pursuing (1):

Espeak has a number of "voice variants", e.g.
various English accents, dialects, and ultimately various languages.

So building on the ability to switch among "available languages" feels
like it will introduce the least friction.

Couple of things to keep in mind:

1. Espeak has a large list of such choices, approx 300+ when I last
   checked after installing mbrola voices.

   2. That sounds like vast riches, but not so much so given that most
      of them will likely never get used by  a single user due to
      quality, user preference etc.

      3. So once we have the basic plumbing in place, we should also
         consider how we would enable the user to pick a prefered voice,
         after having experimented with what is available; during the
         experimentation phase, the user should be able to cycle through
         voices etc ---
> Forwarding the discussion to the list so it gets archived properly (I
> wasn't wanting to clog the list but it's pretty low traffic anyway so)
>
> - Krzysztof
>
> ---------- Forwarded message ---------
> From: T.V Raman <raman(a)google.com>
> Date: Sat, Feb 12, 2022, 20:48
> Subject: API design for espeak voice selection in emacspeak
> To: <krzysdrewniak(a)gmail.com>
> Cc: <raman(a)google.com>
>
> I'd go with (1) so that we dont end up with engine-specific calls on
> the emacspeak end.
>
> Also -- please resend this message to the Emacspeak list so it is in
> the archives, and let's discuss  it on the list -- rather than by
> private email.
>
> Thanks again for taking the initiative on this.
>
> Krzysztof Drewniak writes:
>  > Dr. Raman,
>  > 
>  > I've done some work on allowing users to switch the synthesizer
> voice in
>  > the espeak server. The server itself has been updated to keep track
> of the
>  > synthesizer voice associated with each language and to switch to
> that voice
>  > either on language change or when the user selects a new voice for
> the
>  > language they're currently using.
>  > 
>  > For testing, I added a select_voice name [lang] command to the
> server.
>  > However, I'm not sure how the ability to make this selection should
> be
>  > exposed to users.
>  > 
>  > The first thing I'll note is that, while there's some support for
> setting
>  > the voice using SSML tags, this can't easily be used to access, for
>  > example, the mbrola voices. Therefore, the emacspeak concept of
> voices
>  > doesn't map cleanly to the selection of the synthesizer voice, and
> so I
>  > expect that espeak-voices.el will handle parameters such as pitch
> and
>  > volume but leave the selection of the actual voice to the server.
>  > 
>  > This leaves two options for API changes that I can think of, and
> I'd like
>  > your input on which would be less disruptive for the ecosystem (or
> if there
>  > are other approaches you think would work better):
>  > 
>  > 1. Adding an optional extra parameter to the language selection
> APIs that
>  > carries the desired voice name.
>  > 2. Adding a select_voice-like API to emacspeak that would expose
> "choose
>  > the voice the synthesizer uses" and that is unimplemented on
> non-espeak
>  > servers.
>  > 
>  > I'm personally leaning towards the latter, but I remember you had
> some
>  > objections when it was first proposed.
>  > 
>  > - Krzysztof
>
> -- 
>
> Thanks,
>
> --Raman(I Search, I Find, I Misplace, I Research)
> ♈ Id: kg:/m/0285kf1  🦮

-- 

Thanks,

--Raman(I Search, I Find, I Misplace, I Research)
♈ Id: kg:/m/0285kf1  🦮


|May 1995 - Last Year|Current Year|


If you have questions about this archive or had problems using it, please contact us.

Contact Info Page