Voice Control For Banshee
Short description: The idea is to add voice control for Banshee media player to improve the accessibility. Many portable media player devices can be controlled using the human voice and it has resulted in the users having a rich accessibility interface. The plan is to let the user do basic controls through his voice which will be helpful for the people who can't use the normal mouse controls
Additional info: http://www.tecstuf.blogspot.com/
- What is your e-mail address and IRC nick?
email@example.com , udesh
- Do you have a web page, blog, or microblog?
- What is your academic background?
I'm a final year research student at Department Of Computer Science Engineering, University Of Moratuwa. In completing the course I have been gone through object oriented concepts, data structures and algorithms, software engineering, database, theory of computing, computer security, compiler theory, etc.
- What is the ultimate goal of your proposal?
The Banshee media player has become my favorite open source project
since starting my involvement last year. I actively started my
committing work to the project since January 2012. My final year
research project is voice analysis related, so I reasoned that
contributing voice controls would make the Banshee media player even
better and widen its reach and functionality while furthering my
- What components/modules will the proposed work modify or create?
There would be two main components in the proposed idea.
1. Getting the voice cut of the user and take the attributes of it.
2. Feed the data to a neural network for classifying and pattern matching.
- What benefits does your proposed work have for GNOME and its community?
Gnome has proposed that 2012 the year of accessibility. With the
advent of GNOME 3, Gnome has started down an exciting new path in
terms of usability, which will include users of all ages and
abilities. This drive is not only necessary for those with
disabilities but is also increasingly needed for our devices work for
any user. The GNOME accessibility team is working hard, but its
resources remain limited meaning not every application will receive
attention. So this project will be beneficial in covering an
application that would otherwise not be receiving special attention in
There is excitement in the Banshee community for the feature and a
mentor (Alexander Kojevnikov) has already volunteered for the project.
- Why are you the right person to work on this project?
I have been registered in the developer mailing list since last year
April and following the discussions. I actively participated in
Banshee work since this year January. I successfully completed a GSoC
2011 project which was related to the Selenium organization. My final
year project also related to voice analysis which provides me with the
required knowledge and skill set to implement voice controls for
I would love to increase my knowledge and experience in developing
using GNOME components. This is a big project and thus carries a big
responsibility, but my existing qualifications, my record and the
pleasant interaction with the Banshee development team gives me
confidence that through hard labor I will rise to challenge and make
GNOME better for it. I am not afraid of hard work, I work well with
the Banshee community and have a driven determination to become a
valuable contributor to the GNOME project.
- How do you plan to achieve completion of your project?
I would use IRC channel, email, gtalk and skype to have regular
conversation with my mentor and other valuable resource people. I’m
planning to give a schedule with dates and important
milestones/deliveries in two weeks increments. This would be plan
aligning with the timeline of GSoC program. I will also deliver
regular weekly updates on my blog to allow outsiders to follow my
Mentoring organizations review and rank student proposals; where necessary, mentoring organizations may request further proposal detail from the student applicant.
Accepted student proposals announced on the Google Summer of Code 2012 site.
April 24- May 2
Read documentation and perform a literature review, get up to speed to begin working the project. Update the blog with relevant progress. Fix some bugs related playback of an audio.
May 2 - May 9
Study about Neural network and try existing framework to identify the pros and cons of using them. Discuss the findings with the community and choose the relevant framework to be used. Update the blog with the relevant details.
May 9 - May 23
Study about the GUI used in Banshee and go through the code base to identify the functionality it has provided. Discuss the problems I may occur with the community and help them to fix some bugs related to user interface. Update the blog with progress I have made.
May 23 - June 10:
Begin coding to implement the Banshee voice control. Implement the code to get the voice input from user through the microphone and save it as .wav file inside the Banshee folder.
June 10 - June 14
Test the implemented code and share it with the community for reviewing it. Update the blog with information I gained by implementing up to this level.
June 14 - June 26
Extract the attributes of the voice input and save them. Test the system and ensure that the values which extracted are accurate.
June 26 - July 02
As suggested by the Banshee community I will be participating in Banshee GNOME & Mono Hackfest. http://live.gnome.org/Hackfests/GNOMEandMonoFestivalofLove2012 . I will get 5 day intensive face to face experience with my mentor and key members of Banshee community and Mono community who are familiar with GNOME components. So the code I implemented can be reviewed and I will be able to speed up my work in this valuable time period. Do the design of neural network get the help of the community for it.
July 02 - July 09
Do test on the implemented part and do the changes according the reviews done by the community. Update the blog with relevant information.
July 09 - July 13
Submit the mid evaluation and start implementing next part of the project.
July 13 - 26
using the confirmed framework the neural network should be implemented.By using the values extracted from the sound inputs neural network should be trained.
July 26 - August 01
Participate in the GUADEC and present the project. Discus about the project and get the help from valuable resource persons meet there. Update the blog with relevant information.
August 01 - August 13
Connect the neural network to Banshee code base. The GUI for taking the voice input and neural network part should be connected. Share the implementation in Banshee developer list and ask others to test it. Get the review of the community and upgrade the blog with relevant information.
Suggested 'pencils down' date. Do various kind of test to analyze possible failures. Do appropriate changes suggested in reviews by the community. Document the work I implemented and clean the code.
Firm 'pencils down' date.
Final evaluation deadline
Final results of GSoC 2012 announced
- What will showable at mid-term ?
There would be main two components in the proposed idea. For the midterm I would like to extract the attributes of the input voice clip of a user. So theses data can be fed into the neural network which will be implemented as the second phase.
- What are your past experiences with the open source world as a user and as a contributor?
I successfully completed Gsoc 2011 for Selenium organization and involved in its work. After completing this year GSoc project I’m planning to contribute to JBoss implementing a similar idea. I have been involved in various open source projects Apache Derby, Android application development, joomla, wordpress. I have an experience in using Apache software foundation open source projects and using jira, maven, etc.
- Please include a link to the bug you fixed for the GNOME module your proposal is related to.
This is a bug I fixed in Banshee. These are bugs now I’m working on to fix.
- If available, please include links to any other code you wrote for GNOME or other open source projects.
I implemented a plugin for Selenium IDE for GSoc 2011 project and successfully completed it. This is the reference for it. http://www.google-melange.com/gsoc/project/google/gsoc2011/udesh/26001
I helped for the Banshee release 2.3.5 .reference for it. http://banshee.fm/download/archives/2.3.5/
- What other relevant projects have you worked on previously and what knowledge you gained from working on them?
A java project I did in my first year https://github.com/udesh1107/Library_System . In the second year I did data structures and algorithm projects which I had to use searching and other algorithms. In addition I have done small java project to chat in a local network. https://github.com/udesh1107/Chat_Application_Using_Java
I have involved in developing Android mobile applications to benefit the open source community with the knowledge I’ve got. http://code.google.com/p/android-intel-sms/ is an android application to manage sms with integrating advanced features that is not available in prevailing release of Android mobile platform. This is an Android application which will protect your mobile phone being theft. https://github.com/udesh1107/Android-Phone-Protector.
I worked as a trainee software engineer at Navantis IT (Pvt) Ltd which is using cutting edge technologies of Microsoft. (www.navantis.com) so I've used C# in developing various kinds of applications.
This is a windows application I developed to get the live cricket score and show in the working window title using C#. https://github.com/udesh1107/Cricket_LiveScore_On_windows_title in this project I’m reading the RSS www.cricinfo.com live matches and list the matches and user can choose the cricket match. After choosing the match I’m reading the live score from the particular URL from minute to minute and updating the title of the working window with live score.
By doing GSoc 2011 project I got a great experience .The exposure to professionals and interacting with them to resolve real world problems. I got to know existing open source projects and it is great way for knowledge sharing. A great way to contribute to large scale of people .