Changes

Jump to navigation Jump to search
354 bytes added ,  10:47, 2 April 2009
no edit summary
Line 3: Line 3:  
Q.1:  '''What is your name?
 
Q.1:  '''What is your name?
   −
A:   Chirag Jain
+
A:     Chirag Jain
    
----
 
----
Line 9: Line 9:  
Q.2:  '''What is your email address?
 
Q.2:  '''What is your email address?
   −
A:   chiragjain1989{AT}gmail{DOT}com
+
A:     chiragjain1989{AT}gmail{DOT}com
    
----
 
----
Line 15: Line 15:  
Q.3:  '''What is your Sugar Labs wiki username?
 
Q.3:  '''What is your Sugar Labs wiki username?
   −
A:   chiragjain1989
+
A:     chiragjain1989
    
----
 
----
Line 21: Line 21:  
Q.4:  '''What is your IRC nickname?
 
Q.4:  '''What is your IRC nickname?
   −
A:   chirag
+
A:     chirag
    
----
 
----
Line 27: Line 27:  
Q.5:  '''What is your primary language? (We have mentors who speak multiple languages and can match you with one of them if  you'd prefer.)
 
Q.5:  '''What is your primary language? (We have mentors who speak multiple languages and can match you with one of them if  you'd prefer.)
   −
A:   Hindi and English
+
A:     Hindi and English
    
----
 
----
Line 33: Line 33:  
Q.6:  '''Where are you located, and what hours do you tend to work? (We also try to match mentors by general time zone if possible.)
 
Q.6:  '''Where are you located, and what hours do you tend to work? (We also try to match mentors by general time zone if possible.)
   −
A:   I am located in India, Delhi 5:30+GMT. I can work from early morning to late midnight.
+
A:     I am located in India, Delhi 5:30+GMT. I can work from early morning to late midnight.
:collaborating with any mentor wouldn't be a big deal.   
+
:     collaborating with any mentor wouldn't be a big deal.   
    
----
 
----
Line 40: Line 40:  
Q.7:  '''Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those  projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?
 
Q.7:  '''Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those  projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?
   −
A:   I was not aware of a thing like open source before I stepped into my college. But then I heard a lot about this stuff from my seniors. Then I started participating in coding events and my first open source event was AI Challenge organized during our technical fest.  
+
A:     I was not aware of a thing like open source before I stepped into my college. But then I heard a lot about this stuff from my seniors. Then I started participating in coding events and my first open source event was AI Challenge organized during our technical fest.  
:   I did write a simulator code for the event.
+
:     I did write a simulator code for the event.
 
   
 
   
:   Link: http://code.google.com/p/artificial-intelligence.
+
:     Link: http://code.google.com/p/artificial-intelligence.
   −
:   Then I also made a Sudoku solver in open source using a back tracking method in C++. The algorithm has complexity which is exponential in nature.
+
:     Then I also made a Sudoku solver in open source using a back tracking method in C++. The algorithm has complexity which is exponential in nature.
 
   
 
   
:   Link: http://code.google.come/p/sudoku-crazy
+
:     Link: http://code.google.come/p/sudoku-crazy
   −
:   I also actively participate at SPOJ programming contest site: http://www.spoj.pl/
+
:     I also actively participate at SPOJ programming contest site: http://www.spoj.pl/
:   Currently I am at world rank 756.
+
:     Currently I am at world rank 756.
   −
:Link: http://www.spoj.pl/users/chiragjain1989
+
:     Link: http://www.spoj.pl/users/chiragjain1989
:   Now after knowing a lot about open source I want to gain some real time experience in open source development. The GSoC is an opportunity where I can apply my technical skills, can learn new things and at the same time can contribute something to the society.  
+
:     Now after knowing a lot about open source I want to gain some real time experience in open source development. The GSoC is an opportunity where I can apply my technical skills, can learn new things and at the same time can contribute something to the society.  
      Line 60: Line 60:  
Q.8:  '''What is the name of your project?
 
Q.8:  '''What is the name of your project?
   −
A:   Speech Synthesis
+
A:     Speech Synthesis
    
----
 
----
   −
Q.9:  '''My project description. What are you making?     
+
Q.9:  '''My project description. What I am making?     
 +
A:    My project aims at creating a framework that will generate speech in core sugar. I want to implement speech as a basic functionality in sugar.
 +
:      Let me become more clear. I am using some case scenarios to elaborate my proposal. Imagine any window containing some text is open in sugar. Now what I will do is to provide speech to the text in that window. User will have the freedom to listen the text he has selected. This framework will speak the complete text that the user has selected.
   −
A:   I want to integrate speech in the core sugar. Means I want to create a framework which can provide speech synthesis as a basic functionality in sugar.
+
:     Now how user can do this is very simple.  
:    Let me become more clear. I am using case scenarios to clear my proposal. Imagine any window containing some text is open in sugar. Now what I will do is to provide speech to the text in that window. And of-course user has the freedom to listen the text he has selected. Means this framework will speak either the complete text contained in the window or the user selected text.
     −
:   Now how user can do this is very simple.  
+
:     First he have to select the text he wants to listen then he can simply press a keyboard shortcut (key combination like Alt+s or something else) or a button provided in the sugar like the home button. From now onwards I will call this button as speech button. This button can be made as a permanent which is showed up on moving the mouse pointer to the top left corner of the screen.
   −
:   First he have to select the text he wants to listen then he can simply press a keyboard shortcut (key combination like Alt+s) or a button provided in the sugar like the home button. From now onwards I will call this button as speech button. This button can be made as a permanent which is showed up on moving the mouse pointer to the top left corner of the screen.
+
:     I will also provide a configuration management tool with a simple GUI. Simple because our target users are small children of age group 3-15.
   −
:   I will also provide a configuration management tool with a simple GUI. Simple because our target users are small children of age group 3-15.
+
:     Now what you can do with this tool is that you can configure the speech. Like you can increase or decrease the volume, can change the language, can change the accent, pitch, male or female voice, rate of speech etc.
   −
:   Now what you can do with this tool is that you can configure the speech. Like you can increase or decrease the volume, can change the language, can change the '''accent, pitch, male or female voice, rate of speech etc.
+
:     I will also provide karaoke style coloring or captioning to the words being spoken. Like for example write activity is open up in sugar with some text. Then the user selects the text and presses the speech button. Now a separate window containing the selected text will open up. The captioning will be achieved in that separate window while the framework is reading the text.
 
+
:    I will also provide karaoke style coloring or captioning to the words being spoken. Like for example write activity is open up in sugar with some text. Then the user selects the text and presses the speech button. Now the framework will start speaking the selected text.  
+
:    One more thing which I am aims at is a keyboard speaker. In the configuration tool, the user will be provided with an option of turning on or off the keyboard speaker. So if the key board speaker is turned on, then as the user presses any keyboard key, the framework will speak it. Like if user presses Tab key then the framework will speak 'Tab', on pressing caps lock it will speak 'caps lock' and so on.
   −
:   The word which is currently being spoken will be captioned so that user can keep the track of the word.
+
:     Now after describing so many features of this framework, I think that why not to make it a useful thing for the blind users too. So here is an idea.
   −
:   One more thing which I am including is a keyboard speaker. In the configuration tool, the user will be provided with an option of turning on or off the keyboard speaker. So if the key board speaker is turned on, then as the user presses any keyboard key, the framework will speak it. Like if user presses Tab key then the framework will speak 'Tab', on pressing caps lock it will speak 'caps lock' and so on.
+
:     ICON READER. Now what is icon reader is simple. As the blind user is browsing the XO, he can keep track of the current position of the mouse pointer. Suppose at present the mouse pointer is at Home button. Then as the user presses a pre-defined keyboard key the framework will speak 'Home'. Similarly if pointer is at desktop the framework will speak 'desktop'.
   −
:   Now after describing so many features of this framework, I think that why not to make it a useful thing for the blind users. So here is an idea.
+
:     If sugar labs likes this idea then they can provide a simple change in the XO hardware by creating that predefined keyboard key feel-able for the blind user. Like for example there are two keys j and f having a slight projection for feel. This functionality can be a boon for blind users.  
   −
:   ICON READER. Now what is icon reader is simple. As the blind user is browsing the XO, he can keep track of the current position of the mouse pointer. Suppose at present the mouse pointer is at Home button. Then as the user presses a pre-defined keyboard key the framework will speak 'Home'. Similarly if pointer is at desktop the framework will speak 'desktop'.
+
:     Here again I am pointing the main features of my proposal:
   −
:    If sugar labs likes this idea then they can provide a simple change in the XO hardware by creating that predefined keyboard key feel-able for the blind user. Like for example there are two keys j and f having a slight projection for feel. This functionality can be a boon for blind users.  
+
*    ''' Providing speech to text opened in any window in any activity in sugar.
   −
:    Here again I am pointing the main characteristics of my proposal:
+
*    ''' Providing a configuration Panel with GUI from which speech configuration can be changed. 
   −
*   ''' Providing speech to text opened in any window in any activity in sugar.
+
*     ''' Karoake style coloring of the text being spoken.
   −
*   ''' Providing a configuration Panel with GUI from which speech configuration can be changed.
+
*     ''' Key board speaker.
   −
*   ''' Karoake style coloring of the text being spoken.
+
*     ''' Icon reader.
   −
*    ''' Key board speaker.
+
:    '''Who are you making it for?
   −
*    ''' Icon reader. 
+
:     According to eye-tracking research it can be shown that ‘’viewers naturally synchronize the auditory and textual information while watching a film song with SLS. When SLS is integrated into popular TV entertainment, reading happens automatically and subconsciously.’’  
 
  −
:   '''Who are you making it for?
  −
 
  −
According to eye-tracking research it can be shown that ‘’viewers naturally synchronize the auditory and textual information while watching a film song with SLS. When SLS is integrated into popular TV entertainment, reading happens automatically and subconsciously.’’  
      
:    Language learning can be a great experience if done with speech. The literacy rate can be increased by 6-10% if speech is also included with text because this is the ability of our brain to easily remember sounds rather than text. So I am making this framework for children of age group 3-15 so that learning language can become easier for them.
 
:    Language learning can be a great experience if done with speech. The literacy rate can be increased by 6-10% if speech is also included with text because this is the ability of our brain to easily remember sounds rather than text. So I am making this framework for children of age group 3-15 so that learning language can become easier for them.
   −
:    Not only this, XO can now become a boon or a useful thing for blind children too.
+
:    Not only this, XO will now become a boon for blind children too.
    
:    '''Why do they need it?
 
:    '''Why do they need it?
Line 115: Line 112:  
:    Not only this, now the blind students or children can also use the XO which will be like a boon for them. Blinds also want to study...
 
:    Not only this, now the blind students or children can also use the XO which will be like a boon for them. Blinds also want to study...
   −
:   '''What technologies (programming languages, etc.) will you be using?
+
:   '''What technologies (programming languages, etc.) will you be using?
   −
:   I discussed a lot with alsroot, assimd and besmac on IRC about this project. The main points of discussion are:  
+
:   I discussed a lot with alsroot, assimd and besmac on IRC about this project. The main points of discussion are:  
 +
 
 +
:    Some rough ideas of implementation:
 +
 
 +
:    Below I am showing the basic structure of my framework i.e., the speech synthesizing framework.
   −
:  Some rough ideas of implementation:
   
                                                     --------------
 
                                                     --------------
 
                                                         Speech   
 
                                                         Speech   
Line 161: Line 161:       −
*  '''On the top level is the speech engine (espeak) producing the speech.
+
*  '''On the bottom level is the speech engine (espeak) producing the speech.
    
*  '''There are two options for using a layer over TTS engine espeak, one is a speech dispatcher which was created as last year GSoC project and other is the gstreamer plugin.  
 
*  '''There are two options for using a layer over TTS engine espeak, one is a speech dispatcher which was created as last year GSoC project and other is the gstreamer plugin.  
Line 173: Line 173:  
*  '''For the keyboard speaker, we can simply store the keystrokes in a file and then send the file to the speech generator.
 
*  '''For the keyboard speaker, we can simply store the keystrokes in a file and then send the file to the speech generator.
   −
*  '''A small code snippet which I have prepared for demonstration purpose is shown below. You can copy paste this and try it. First select some text and then run the code trough terminal. The code will speak the text. This is a very basic thing which we want to achieve in sugar'''
+
*  '''A small code snippet which I have prepared for demonstration purpose is shown below. You can try it. But first please download the espeak.py code from the following link:
 +
    http://git.sugarlabs.org/projects/listen-spell/repos/mainline/blobs/master/espeak.py
 +
    '''First select some text and then run the code trough terminal. The code will speak the text. This is a very basic thing which we want to achieve in sugar'''
    
                         import gtk
 
                         import gtk
Line 181: Line 183:  
                         text=clip.wait_for_text()
 
                         text=clip.wait_for_text()
 
                         if text==None:
 
                         if text==None:
                        obj.speak("Sorry! No text is selected")
+
                            obj.speak("Sorry! No text is selected")
 
                         else:
 
                         else:
                        obj.speak(text)
+
                            obj.speak(text)
    
:  '''You can select the text anywhere in the sugar. Although I have created this code using espeak directly but in future I will be using gstreamer plugin.
 
:  '''You can select the text anywhere in the sugar. Although I have created this code using espeak directly but in future I will be using gstreamer plugin.
 +
 
----   
 
----   
 
    
 
    
Q.10:   '''What is the timeline for development of your project? The Summer of Code work period is 7 weeks long, May 23 - August 10; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it's good to have a plan at the beginning so you have an idea of where you're headed.) Note that you should probably plan to have something "working and 90% done" by the midterm evaluation (July 6-13); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.
+
Q.10: '''What is the timeline for development of your project? The Summer of Code work period is 7 weeks long, May 23 - August 10; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it's good to have a plan at the beginning so you have an idea of where you're headed.) Note that you should probably plan to have something "working and 90% done" by the midterm evaluation (July 6-13); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.
   −
A:   '''April 21-March 22
+
A:   '''April 21-March 22
:   During this period I will remain in constant touch with my mentor and sugar community. I will remain active on IRC and mailing list to discuss the design details and further improvements that can be incorporated in this project.
+
:     During this period I will remain in constant touch with my mentor and sugar community. I will remain active on IRC and mailing list to discuss the design details and further improvements that can be incorporated in this project.
   −
:   I will also study a relatively new things called STARDICT and ORCA. These can be very useful for sugar.  
+
:     I will also study a relatively new things called STARDICT and ORCA. These can be very useful for sugar.  
   −
:   Up to this time I will become absolutely clear on my further approach. But now I am providing a rough plan.
+
:     Up to this time I will become absolutely clear on my further approach. But now I am providing a rough plan.
   −
:   '''May 24 - June 5
+
:     '''May 24 - June 5
 
*    Will work on implementing the command line interface of the framework.
 
*    Will work on implementing the command line interface of the framework.
*    Will complete the basic architecture in which user can select and listen the text from command line interface.
+
*    complete the basic architecture in which user can select and listen the text from command line interface.   
*    Will discuss the UI design for configuration manager on IRC.   
     −
:    '''June 6- June 15
+
:    '''June 6- June 15    
*    Will work on implementing the keyboard reader. (Command line)
+
*    Discuss the GUI design for configuration manager on IRC.
*    Will design the finalized GUI of the configuration manager.
+
*    Design the finalized GUI of the configuration manager.
 
*    Will release the snapshots of the GUI on wiki page.
 
*    Will release the snapshots of the GUI on wiki page.
    
:    '''June 16 - June 25
 
:    '''June 16 - June 25
*    Will implement the configuration manger.
+
*    Implement the configuration manger.
*    Will link the various options I already described in the GUI.
+
*    linking the various options I already described in the GUI.
    
:    '''June 18 - June 25
 
:    '''June 18 - June 25
*    Will release the basic configuration manager.  
+
*    Implementation of the keyboard speaker.
 +
*    Releasing the basic configuration manager.  
    
:    '''June 26- July 7
 
:    '''June 26- July 7
*    Will implement the keyboard speaker.
+
*    implementation of the icon reader.
*    Work on the implementation of the icon reader.
      
:    '''July 8-July12
 
:    '''July 8-July12
*    Will finalize an alpha release of the framwork.
+
*    finalize an alpha release of the framwork.
    
:    '''July 13
 
:    '''July 13
Line 236: Line 238:     
:    '''August 14 - August 22
 
:    '''August 14 - August 22
*    Will release the beta version
+
*    Start the documentation work
    
:    '''August 23 onwards
 
:    '''August 23 onwards
 +
*    Continue Working on beta release.
 
*    I will continue working on this to make it available in official sugar distros.  
 
*    I will continue working on this to make it available in official sugar distros.  
   Line 246: Line 249:     
A:  I am currently pursuing my B.E. in Computer science from Netaji Subash Institute of Technology, New Delhi.
 
A:  I am currently pursuing my B.E. in Computer science from Netaji Subash Institute of Technology, New Delhi.
:  I have already described some of my past achievements like AI challenge whose simulator code I prepared just in a time span of 15 days.
+
:  I already have a bit of coding experience in real events like AI challenge whose simulator code I prepared just in a time span of 15 days.
 
:  Link: http://code.google.com/p/artificial-intelligence.
 
:  Link: http://code.google.com/p/artificial-intelligence.
 
   
 
   
Line 254: Line 257:  
:  A lot of students from my college have been associated with OLPC for development work. Like:
 
:  A lot of students from my college have been associated with OLPC for development work. Like:
 
   
 
   
*  '''Food Force which is still in its developing phase. We are working hard to achieve collaboration in Food Force.
+
*  '''Food Force which is still in its developing phase. Recently we have achieved collaboration in Food Force. Mr. Deepank and Mr. Mohit Taneja (both are my seniors) are involved with this OLPC project from last one year.  
*  '''Listen and Spell. This project was started at GSoC 2008 and is still in progress to remove speech dispatcher dependencies from it.
+
*  '''Listen and Spell. This project was started at GSoC 2008 by Mr. Assim Deodia (Senior) and has recently achieved progress to remove speech dispatcher dependencies from it.
*  '''Speech dispatcher. This project was completed by my senior at GSoC 2008.
+
*  '''Speech dispatcher. This project was completed by my senior Mr. Hemant Goyal at GSoC 2008.
:  So by giving these examples what I am trying to say is that I have got many helping seniors, who have a lot of experience and who are ready to help me in every possible way they can. So I can get a lot of guidance and ready help in any case. My chances of stucking at any point are very low.
+
:  So by giving these examples what I am trying to convey is that I have got many helping seniors, who have a lot of experience and who are ready to help me in every possible way they can. So I can get a lot of guidance and ready help in any case of technical designs or other sort of work. My chances of stucking at any point are very low.
      Line 265: Line 268:     
A:  According to me, the main aim of sugar labs is to spread the fruit of literacy in developing nations. It is a common experience that we learn very fast on listening things then reading them. Providing speech in core sugar will be like making the sugar 10-15% more efficient. When children of age group 3-15 and who are learning languages will hear the speech again and again they will be able to learn it very fast. Not only this, now they will be able to hear a story or any other text than just reading it. One more potential advantage is for blind students which can't read the texts but can learn the language by listening it and feeling the words.
 
A:  According to me, the main aim of sugar labs is to spread the fruit of literacy in developing nations. It is a common experience that we learn very fast on listening things then reading them. Providing speech in core sugar will be like making the sugar 10-15% more efficient. When children of age group 3-15 and who are learning languages will hear the speech again and again they will be able to learn it very fast. Not only this, now they will be able to hear a story or any other text than just reading it. One more potential advantage is for blind students which can't read the texts but can learn the language by listening it and feeling the words.
  −
:    '''According to Edward Cherlin <echerlin@gmail.com>
  −
:    "call our text coloring engine to mark the word being spoken. That's designed for the pre-literate, on the model of Same-Language Subtitling in India."
  −
:    Means the people in developing nations like India can learn the language or text faster if same language subtitling model is employed.
      
:    '''According to Philip Wagner <Philip5147@aol.com>
 
:    '''According to Philip Wagner <Philip5147@aol.com>
Line 278: Line 277:  
There are many more words that are used in books and on the internet than we use to speak with.
 
There are many more words that are used in books and on the internet than we use to speak with.
 
In English we use about ninety thousand words for speaking. An estimate of the total words in English is more than five-hundred-thousand.  One dictionary has five-hundred-thousand entries.
 
In English we use about ninety thousand words for speaking. An estimate of the total words in English is more than five-hundred-thousand.  One dictionary has five-hundred-thousand entries.
The more a child learns the more the child will learn. We cannot depend on teachers to teach enough words to children.
+
The more a child learns the more the child will learn. We cannot depend on teachers to teach enough words to children. I am very much encouraged that someone is working toward preparing the speech synthesizer in Sugar."  
  −
:  '''I am very much encouraged that Chirag Jain is working toward preparing the speech synthesizer in Sugar."  
   
   
 
   
  −
  −
   
----
 
----
   Line 331: Line 325:  
Q.19:  '''Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?
 
Q.19:  '''Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?
   −
A:  [TODO]
+
A:   I think that most of the things I have already mentioned. One last point I would like to emphasize is that speech synthesis in sugar is indispensable. So if for any reasons you think that I should not be given a chance then please consider this project always in the future sugar developments.    
    
<noinclude>[[Category:2009 GSoC applications]]</noinclude>
 
<noinclude>[[Category:2009 GSoC applications]]</noinclude>
    
[[Category:GSoC]]
 
[[Category:GSoC]]

Navigation menu