Re: Making gnome speak



On Thu, Aug 26, 1999 at 01:43:16PM -0700, Erik Walthinsen wrote:
> There is a program in CVS called gspeech that does just that.  It's not
> very polished, but it does use festival to speak buttons and whatnot.
> 
> Both the cool thing about it and the problem is that it runs as a GTK
> plugin.  That means all you have to to do enable an app to use speech
> output is add --gtk-module=gspeech to the commandline of the program. 
> That's it.  Where that breaks down is the simple fact that all
> applications are going to have different requirements when it comes to
> speaking to the user.  There is no such information available in GTK.

Well, gtk+ provides a lot with its signal system. Basically all
the things that trigger a signal emission can be converted to
a useful speech or audio feedback: this covers 90+% of what is happening
in a gtk+ application. The problem is completely different if you're 
trying to "drive" the application with voice commands.

> I would propose that Gtk+ be extended to make it easier to tie in the bits
> of information that are needed to properly describe a GUI in terms of
> voice control and output, and probably extend Glade and libglade to set up
> all this information.

Some extensions may be needed, but the things really important are
good design and extensive use of the signal system for me. For voice
control you may need additional information.
The single thing that is most needed by both of us, though, is a way 
to know the language used in the labels etc.: maybe we can define a 
convention that in each toplevel there is a "__language" data?
The value should not be translated, but changed, ie:

gtk_object_set_data(GTK_OBJECT(toplevel_window), "__language", _("english"));

will be "translated" to: "italian", "french" and so on...
This way we can use the proper voice/dictionary...

lupus

-- 
lupus@debian.org
Se devo emigrare in America, come mio nonno, prendo il tram!        [F.G.]
If I have to emigrate to America, like my grandfather, I'll take the tram.



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