BeagleBoard/GSoC/ModernSpeak-Spell

=Modern "Speak & Spell" using Pocketbeagle =

Student: Jyothirmayee Donthineni Mentors: Jason Kridner Code: https://github.com/jyothidonthineni/Modern_Speak-Spell Wiki: https://www.elinux.org/BeagleBoard/GSoC/ModernSpeak-Spell GSoC: Not Applicable

=Status= This project is currently just a proposal.

=Proposal=

Task Completion: A "Hello World" application has been created,cross-compiled using GCC-ARM tool chain and executed using QEMU. A Pull request has been generated for the same.Please find the link here.

About you
IRC: jm_donthineni,jyothi Github:https://github.com/jyothidonthineni School: National Institute of Technology,Karnataka,Surathkal Country: India Primary language (We have mentors who speak multiple languages): English Typical work hours (We have mentors in various time zones): 2:30 AM to 11.30 AM UTC Previous GSoC participation: No previous experience but excited to join the open source community.

About your project
Project name: Modern "Speak & Spell" using PocketBeagle

Description
This project motto is to implement an updated "Speak&Spell" using PocketBeagle for modern day preschoolers with improved games/puzzles and better hardware interfaces like I2C gpio expander.Previously used VF display will be replaced with an OLED display and instead of using keypad everytime,speech recognition will be implemented. Current Proposal for the project aims at building an open source reproducible Linux application that can be implemented by downloading the code anywhere for its real time implementation so that it can be promoted for usage in commercial purposes. Since the current Speak&Spell's basic games are not sophisticated enough for present day preschoolers,the updated puzzles will help improving their Spelling skills.Puzzles will be implemented using python in 2 levels(PyGame library will be used).For text to voice generation,a light open source program engine called 'CMU Flite' will be used. Flite is specially built for embedded systems and has an added advantage of changing to multiple accents.For adding the speech recognition feature,we use TIesr libraries.To acquire good recognition of single words(to respond to the voice commands from outside--Chatbot feature),we create word based acoustic models rather than the default TIesr phonetic based models.Phonetic based models will be used when the beagle has to recognise the spelling of a word as spelt by the user.

Level-1 game: This level basically compares the word spelt out by the player with the original spelling and gives feedback accordingly.

Level-2 game: A rough image of how this game is implemented is shown in the below picture.



This project will be implemented in 3 phases. Phase 1: Phase 2: Phase 3:
 * Install the Flite program for text to speech generation.
 * Install TI Embedded speech recognition libraries for speech recognition.
 * Build Level 1 puzzle: Implement the basic 'spell the word' puzzle.
 * Build Level 2 puzzle: Fill the missing letters in a word within specified time (This will be implemented as a dynamic game with graphics)
 * Improving the Chatbot functionality in terms of giving feedback after every puzzle.The puzzles are invoked by giving commands through voice.It will also be able to give suggestions to improve user's performance.This way it will be developed as a teaching aid.
 * Implement the complete model by adding a keyboard,audio in/out and an OLED display.
 * Bug fixing and Documentation of the project.

Timeline
Community bonding period (2018-04-23 - 2018-05-14):
 * Refine the weekly plan with suggestions from the mentor and community.
 * Familiarise myself with Pocketbeagle.

2018-05-14: 2018-05-21: Implementing the voice recognition system 2018-05-28: Implement basic "spell the word" game in python 2018-06-04: Implement level 2 game and documenting the finished code for Phase-1 evaluation 2018-06-11: 2018-06-18: Develop level 2 game 2018-06-25: Build Chatbot with feedback feature 2018-07-02: Develop the Chatbot into a Teaching aid and document the finished work for Phase-2 evaluation 2018-07-09: Improve the Chatbot features based on feedback after phase-2 evaluation 2018-07-16: Make a demo adding a keyboard,OLED display and an audio IN/OUT 2018-07-23:
 * Install flite for text to speech generation.
 * Start developing an efficient voice recognition system using TIesr libraries.
 * Improve the code based on feedback after phase-1 evaluation.
 * Implement level 2 game.
 * BUG fixing and documentation for final evaluation(Phase-3)
 * Prepare final presentation slides and video.

Stretch goals: Add a level-3 game in which misspelt words are to be detected  and corrected from a set of words given.

After GSoC,I will make sure that I remain in touch with the community and keep contributing to the organisation the best I can.

Experience and approach
I have done projects on Raspberry Pi before and therefore will be comfortable enough to implement this project on a Pocketbeagle.I will get my hands-on with Pocketbeagle before the project starts since I have free time after my semester exams.I am quite new to Speech recognition,so I have been doing required background work to implement these functionalities on Pocketbeagle and therefore can assure you that I will be able to complete the Phase-1 in planned time. I had only done some basic projects on python before and therefore planning to spend most of Phase-2 to build the games.

Contingency
I will ensure that probability of this happening is less by keeping in regular touch with my mentor and make sure I know about his unavailability beforehand .I will also check with the community if they have a backup mentor provision.I will communicate my coding issues with the community or students working on similar projects to see if someone can help. Else I will contact the organisation administrator to talk about the issue and make sure the work is not delayed in the mean time by documenting the finished work.

Benefit
"Speak&Spell" was more than just a popular kids toy,it should be better described as a blueprint for the devices we use today.Until its invention, real time speech synthesis was defined to be impossible.Implementing and updating its functionality for the present day kids is a perfect way to celebrate its importance in the development of current Signal processing technology. “ Basically, the ideas was to re-brain a speak-and-spell with a PocketBeagle to celebrate the 40th anniversary. Speak-and-Spell was a great educational tool and bringing it back into the public. Generate open-source code around the Speak-and-Spell functionality.Plus we can get one of the creators (Gene Frantz) to then promote it.”

Suggestions
I am currently pursuing my Bachelor's degree in Electronics and Communication Engineering and I am good in C and Python programming.I have no other commitments this summer and can dedicate my entire time for the project.