This would be an important addition to Sugar's capabilities.
What does it take to make a GStreamer plugin?
Can you explain better how the keyboard speaker would work?
Homunq 00:39, 31 March 2009 (UTC)
Well first of all I want to apologize that I am answering this question so late. The main reason is my unawareness of this talk page. (Don't take it as an excuse I know I am my own culprit)
My idea is to use the keyboard speaker in two different ways.
1. speaking characters:
In this option, the speaker will simply speak the keyboard characters typed by the user. It will speak all the alphabets a-z, digits 0-9, special characters like *(asterisk), &(ampersand), #(hash) etc, other keys like tab, alt, control, shift etc.
The child using this facility can easily learn and memorize the alphabets. The symbols are in front of him and he presses any of the key or symbol the facility is telling him how to pronounce it. This will also create a interest in the child and this playful activity will become a learning tool. Not only alphabets, the child can learn the names of the special characters easily.
2. speaking words:
In this option, the facility will speak the words typed by the user. The words can be typed anywhere in any window or in any activity like write activity. To achieve this I will be hooking the keyboard or tapping the keystrokes. I will store the characters typed by the user until space is pressed. As the user presses the space, the entire word will be sent to TTS for speaking. The main advantage is that this facility will be system side and will run in background without interfering with any other activity.
This facility will help the child to type or learn the correct spelling of the word. It is natural for a human mind to memorize the sound of a word more easily than its exact spelling. So if he types the word incorrect then as the speaker will speak the wrongly typed word and it will not match with the sound he heard, he can easily correct the spelling. In this manner the speech can be incorporated in the existing sugar write activity.
Now these two options can be given in the GUI under the keyboard speaker option.
The first option is very easy implement.
For the second option I have written a sample keyboard_speaker.py only for demonstration purpose. It will be great if you test this script and give your comments.
The zip folder containig keyboard_speaker.py can be downloaded from