John-Mark Bell wrote:
On Sat, 29 Mar 2008 14:14:39 +0100, Miloud <[EMAIL PROTECTED]> wrote:
John-Mark Bell wrote:

It's as beneficial to have a generic way of talking to a TTS engine as
we currently have for presenting content in a visual medium. This supports our portability goal.
Well I get it, of course a generic API is the best.
I see an API like:
tts_initialize();
tts_say (const char* buffer);

I think this should take a length argument, too -- some of the strings in
NetSurf's core aren't guaranteed to be terminated. Note also that all text
within NetSurf is UTF-8 encoded. I think text passed through this API
should be as well. (If the actual TTS engine wants something different,
then we'll just have to change the text encoding within our binding to the
engine)

tts_Set (ttsOption opt, int toggle /*on/off*/);

I think a binary toggle is probably too simplistic. For example, you might
want to change the pitch or speed of the speech. I guess it depends how
much configuration we want to be able to do. An alternative possibility
would be to have this API for global TTS options and pass another argument
to tts_say() to define how the text is spoken. I don't think I mind either
way, actually.

Other than that, I think this looks good.

Anyway, the harder stuff is to write the implementation for all
platforms and each tts engine.

Indeed.

No more informations ?

I can't think of anything.


J.




Hi :)
The prototypes I showed were just an approach, I believe we can't imagine the API functions at this time because first we need to make a listing of all features/options that we need and then write an API prototypes by considering the encoding issues and non terminated strings...etc Well, I'll submit my application and then I'll read much more documentation about different TTS engines and then gather subtleties that need to be handled carefully.
Thanks a lot for your feedbacks :)
Miloud

Reply via email to