https://elinux.org/api.php?action=feedcontributions&user=AnirbanBanik1998&feedformat=atomeLinux.org - User contributions [en]2024-03-29T09:36:01ZUser contributionsMediaWiki 1.31.0https://elinux.org/index.php?title=BeagleBoard/GSoC/2018_Projects&diff=471586BeagleBoard/GSoC/2018 Projects2018-07-23T16:35:35Z<p>AnirbanBanik1998: Updating links to docs.</p>
<hr />
<div>==Links==<br />
* Status reports: https://groups.google.com/forum/#!forum/beagleboard-gsoc<br />
* Live chat: http://webchat.freenode.net/?channels=beagle-gsoc<br />
* GSoc site: https://summerofcode.withgoogle.com/<br />
* Meeting minutes: http://elinux.org/BeagleBoard/GSoC/Meetings<br />
*YouTube Playlist BeagleBoard.org GSoC 2018: https://www.youtube.com/playlist?list=PLzq-XagGEZreWjg2TLQDiUBdKGRy9TFVF<br />
<br />
==Project: [[Template Project, please copy first and then edit]] ==<br />
{{#ev:youtube|fL_XMieanSc||right|Video Title}}<br />
“Project Name”. add your project description here.<br />
* Student: Joe Template<br />
* Mentors: Shirley Temple<br />
* Code: https://github.com/...<br />
* Wiki: https://github.com/.../wiki<br />
* Blog: http://<url_here>/ (not mandatory)<br />
* GSoC site: https://summerofcode.withgoogle.com/<your_project_here<br />
<div style="clear:both;"></div><br />
<br />
<br />
==Project: [[BeagleBoot]] ==<br />
{{#ev:youtube|/rlj-k4zyPN0||right|Intro Video: BeagleBoot - Google Summer of Code 2018 under BeagleBoard.org}}<br />
Integrate node-beagle-boot to Etcher and add features like U-boot console on boot up, TCT/IP proxy server, grab latest images from beagleboard.org to BeagleBoot (electron app), developed last year during GSoC.<br />
<br />
* Student: Ravi Kumar Prasad<br />
* Mentors: Kumar Abhishek, Jason Kridner<br />
* Code: User mode daemon: https://github.com/induarun9086/gPTPd (need to update)<br />
* Code: Kernel: https://github.com/induarun9086/beagleboard-linux/ (need to update)<br />
* Wiki: http://elinux.org/BeagleBoard/GSoC/BeagleBoneAVB (need to update)<br />
* GSoC site: https://summerofcode.withgoogle.com/dashboard/project/5934527680086016/overview/<br />
<div style="clear:both;"></div><br />
<br />
<iframe width="560" height="315" src="https://www.youtube.com/embed/rlj-k4zyPN0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe><br />
<br />
==Project: [[Fixing Bugs in BoneScript and Improve BeagleBone UI]] ==<br />
{{#ev:youtube|ZKOccMBiL5s||right|Fixing Bugs in BoneScript and Improve BeagleBone UI GSoC 2018 Intro Video}}<br />
BoneScript is an existing Node.js library specifically optimized for the Beagle family and featuring familiar Arduino function calls, exported to the browser.The BoneScript library provides several functions for easy interaction with hardware which otherwise would have required the users to manipulate the SysFs files directly(assuming use of no other libraries),which is obviously confusing for a beginner-level user.<br />
BoneScript library even though being widely used by BeagleBone users has compatibility issues across boards, some bugs and unfinished features.The primary aim of my project is to solve most of the open issues reported and add some more features which will be of benefit to the users.<br />
A secondary objective of my project is to add Improvements to the BeagleBone User Interface to provide a similar interface for PocketBeagle that can also support the BaconBits cape examples, so as to provide PocketBeagle beginners a Graphical User Interface from which they can try out the example codes easily(similar to BBUI). Detailed Proposal at :https://elinux.org/BeagleBoard/GSoC/fix-bugs-bonescript<br />
<br />
* Student: Vaishnav M.A.<br />
* Mentors: Michael Welling(m_w), Anuj Deshpande, Jason Kridner<br />
* Code: https://github.com/pmezydlo/BeagleWire (need to update)<br />
* Wiki: TBD (need to update)<br />
* GSoC site: https://summerofcode.withgoogle.com/dashboard/project/6558422816784384/overview/<br />
<div style="clear:both;"></div><br />
<br />
<br />
<iframe width="560" height="315" src="https://www.youtube.com/embed/ZKOccMBiL5s" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe><br />
<br />
==Project: [[Modern Speak and Spell using PocketBeagle]] ==<br />
{{#ev:youtube|N7utUIQZjM0I||right|Modern Speak and Spell using PocketBeagle GSoC 2018 Intro Video }}<br />
This project is basically to re-brain the previous Speak and Spell by Texas Instruments, and generate open source code for it . This is a Linux application which can be reproduced. The added features include offline speech recognition...using CMU Sphinx...to provide more robust features. Here I am working to reproduce the games with added features to appeal to the present day children... specifically the preschoolers. This almost totally a software project...only to be deployed in a PocketBeagle...with some wiring to be done...and display to be enhanced. My future goal is to extend this project to other languages...so that this wonderful device can be used more extensively.<br />
<br />
<br />
* Student: Anirban Banik<br />
* Mentors: Erik Welsh, Hunyue Yau, Anuj Deshpande, Andrew Henderson<br />
* Code: https://github.com/AnirbanBanik1998/Modern_Speak_and_Spell<br />
* Wiki: https://github.com/AnirbanBanik1998/Modern_Speak_and_Spell/wiki<br />
* GSoC site: https://summerofcode.withgoogle.com/dashboard/project/5684045455818752/overview/<br />
<div style="clear:both;"></div><br />
<br />
==Project: [[Update to PyPRUSS - Python API for the PRUs]] ==<br />
{{#ev:youtube|vHxpa6JwqqI||right|Intro Video - Update to PyPRUSS - GSoC 2018 project under BeagleBoard.org}}<br />
The PyPRUSS is a python binding/API for controlling the PRUs . It provides an easy to use python-based interface for loading firmware, controlling execution and interrupts/memory management for the PRUs, therefore shortening the learning curve for users new to PRU programming. Currently, the PyPRUSS uses PASM for its examples and communicates using the older Userspace IO (UIO) Driver. The goal of this project is to update the API to use the remoteproc/rpsmg interfaces for interacting with the PRUs, port the existing examples to gnupru since PASM is no longer supported by TI) and add DMA Support to the API, since it will enable the users to program both the PRUs for their application, instead of reserving one for ARM-PRU communication(as needed in case of rpmsg).<br />
<br />
* Student: Mohammed Muneeb<br />
* Mentors: Kumar Abhishek, Patryk Mężydło, ZeekHuge, S. Lockwood-Childs<br />
* Code: (Server) https://github.com/ravikp7/node-beagle-boot , (Tool) https://github.com/ravikp7/BeagleBoot (to be updated)<br />
* Wiki: TBD (to be updated)<br />
* GSoC site: https://summerofcode.withgoogle.com/dashboard/project/6673723025784832/overview/<br />
<div style="clear:both;"></div><br />
<br />
<br />
<iframe width="560" height="315" src="https://www.youtube.com/embed/vHxpa6JwqqI" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe></div>AnirbanBanik1998https://elinux.org/index.php?title=BeagleBoard/GSoC/Modern_Speak_and_Spell&diff=466521BeagleBoard/GSoC/Modern Speak and Spell2018-03-27T04:51:35Z<p>AnirbanBanik1998: Minor</p>
<hr />
<div>[[Category: BeagleBoard]]<br />
[[Category: GSoC]]<br />
[[Category: GSoCProposal]]<br />
<br />
=[[BeagleBoard/GSoC/ProposalTemplate|ProposalTemplate]] =<br />
<br />
Recreating and improving the functionality of the previous Speak and Spell toy by Texas Instruments, and generate open-source code for it.<br />
<br />
''Student'': Anirban Banik <br><br />
''Mentors'': Jason Kridner<br><br />
''Code'': https://github.com/AnirbanBanik1998/Modern_Speak_and_Spell<br><br />
''Wiki'': https://www.elinux.org/BeagleBoard/GSoC/ModernSpeak-Spell<br><br />
<br />
<div style="clear:both;"></div><br />
<br />
=Status=<br />
To celebrate the 40th anniversary of the “Speak & Spell” from Texas instruments, this proposal was accepted in order to create an updated “Speak & Spell” using a PocketBeagle. <br />
<br />
=Tasks Done=<br />
<br />
I have completed the task required as described on the ideas page, and created a pull request, as listed [https://github.com/jadonk/gsoc-application/pull/98 here]<br />
<br />
==About Me==<br />
''IRC'': AnirbanBanik1998 || Anirban<br><br />
''Github'': https://github.com/AnirbanBanik1998 <br><br />
''E-Linux Username'': AnirbanBanik1998<br />
''School'': NIT Durgapur, Durgapur, West Bengal<br><br />
''Country'': India[https://en.wikipedia.org/wiki/India India]<br><br />
''Primary language'': English,Hindi,Bengali<br><br />
''Typical work hours'': 9:30 - 23:00 IST [https://www.worldtimebuddy.com/?qm=1&lid=2643743,1275339,5128581,5391959&h=2643743&date=2018-3-4&sln=4-18.5 GMT/EST/PST to Ist Adjusted Time]<br><br />
''Previous GSoC participation'': This is my first GSoC participation. Got interested in open-source the day I started with it, and naturally learnt about GSoC soon. Really excited to work with an open-source community, and generate useful open-source code. <br />
<br />
Skills: C,Python,HTML,CSS,JavaScript and Java <br />
<br />
Tools(proficient) : Git,Linux<br />
<br />
Experience : C,Python,Java,HTML,CSS,JavaScript,Arduino<br />
<br />
Hardware Skills : Arduino, Raspberry Pi(basic)<br />
<br />
== Modern “Speak & Spell” using PocketBeagle ==<br />
''Project name'': Modern “Speak & Spell” using PocketBeagle <br><br />
<br />
=== Introduction ===<br />
<br />
To rebrain the Speak and Spell with a general Linux application, that can be reproduced, and is not an one-off build.<br />
<br />
My approach to this problem will be more in the software domain, and some basic wirings in the hardware domain.<br />
<br />
=== Modern “Speak & Spell” project overview===<br />
<br />
The Speak & Spell was an electronic hand-held computer first introduced in 1978, and instantly becoming a favourite of children and adults alike. that consisted of a TMC0280 linear predictive coding speech synthesizer, a keyboard, and a receptor slot to receive one of a collection of ROM game. The improvements that I am trying to bring forth in this project are, Speech to Text along with Text to Speech functionality. For the former, I am thinking of using CMU Sphinx, and for the latter I will use CMU Flite which is specifically designed for small-scale embedded systems. <br />
I am aiming at implementing speech-recognition for not only recognizing the spelling of the user, but also as a voice launcher for launching the games at the user's command. This can be specifically helpful for those who don't have a keyboard or don't want to use it. This is, of course, an added functionality, as the typing functionality will always be there. <br />
<br />
=== Detailed Description ===<br />
<br />
Basically, there are four games to be implemented on this device, "Spell It", "Hangman", "Encrypter" and "Crossword".<br />
On Starting the Application:<br />
<br />
1. The user will be prompted to select a game among the given list of games. He can either launch the game using his voice or keyboard. Thus the voice-launcher <br />
scheme works here.<br />
<br />
2. The "Spell It" game prompts the user to speak out the spelling of a word spoken out by the application. The word is from <br />
an already created dictionary. Here Text to Speech works.<br />
<br />
3. The "Hangman" game has two levels. In level 1 it will ask the user to fill in the blanks to create a word. <br />
This game is so made that if any letter is entered or spoken by the user, which is repeated in the answer, then <br />
the letter is placed at every blank it is supposed to be in one go. In level 2, the letters are visible, but in a jumbled way. <br />
The user has just to move each letter to it's actual position before the time runs out.<br />
<br />
4. The "Encrypter" game is a multi-user game. One encrypts a word in a certain way, and the other has to decrypt it <br />
to get back the original word. <br />
<br />
5. In the "Crossword" game, the user has only to specify where he is going to work, i.e. which row or column, <br />
then proceed as in the "Hangman" game level 1, the difference being just that each word generates another word in another row or column. <br />
<br />
<br />
[[File:CROSSWORD.png|800px|center|frameless]]<br />
<br />
A rough diagram of the "Crossword" game.<br />
<br />
Finally, scores will be generated for every game along with suggestions to improve.<br />
<br />
===Progress till now===<br />
<br />
I have started working on this project in order to brush up my understanding about how this application is going to work. Firstly, I started with recreating the original games, so that I might be able to add more functionality to them later. Finished building two games, the "Spell It" and "Hangman" and have started work on "Encrypter".<br />
Regarding the usage of CMU Sphinx, till now I have restricted myself to only the English Speak and Spell which I aim to extend to the other languages as well. The usage of CMU Sphinx requires a dictionary of words to be recognized be made. I have done it manually, and made a phonetic dictionary of it from the CMU Sphinx website. This dictionary contains words to start and stop games, and alphabets A to Z for aid in Spelling.<br />
<br />
<br />
[[File:Game.png|800px|center|frameless]]<br />
<br />
A rough functioning of the Hangman Game.<br />
<br />
Started with implementation of Speech to text. Gradual progress is being made in it, adding to my experience as well. We have to work in two terminals simultaneously, one for launching the PocketSphinx, and another for the actual games.<br />
<br />
===Timeline:===<br />
<br />
I have already started work on this project and will try to extend this project to other languages as well as develop the project on beaglebone once selected.<br />
<br />
==== Community Bonding Period ==== <br />
<br />
Get acquainted with the documentation of beaglebone, improving on my previous code, and discussing about any further improvements in depth with the mentors. <br />
<br />
===== Week 1 ===== <br />
<br />
Preparing the introductory presentation slides and video. Deploying the CMU Sphinx and CMU Flite on PocketBeagle, to be used later.<br />
<br />
===== Week 2 =====<br />
<br />
Getting the OLED/Display working and working on interfacing with an I2C GPIO expander.<br />
<br />
===== Week 3 - 4 =====<br />
<br />
Working on a web-crawler to crawl the Wikitionary. This can be used to parse Wikitionary pages, thereby generating the wordlists that can be used later.<br />
<br />
===== Week 5 =====<br />
<br />
Improving the "Spell It" game from it's previous version. I will change from "espeak" to "CMU Flite" because it has the extended functionality of accent, so that people from different areas can understand it's speech.<br />
<br />
===== Week 6 - 7 =====<br />
<br />
Working on the User Interface of the "Hangman" game. In level 1, I will work on improvising on the "time constraint" to make the game interesting. In level 2, I will have to work on the Speech-Processing unit a bit more, because giving such commands over the microphone is challenging.<br />
<br />
===== Week 8 - 9 =====<br />
<br />
Building the "Encrypter" game, adding multi-user gaming functionality. Creating a database to store data about the various ciphers and creating functions to encrypt the words accordingly. Allowing addition to the database from time to time.<br />
<br />
===== Week 10 - 11 =====<br />
<br />
Building the "Crossword" game, as an extension of the "Hangman" game, and creating pop-ups providing hints at specific points of time, help users in case they are stuck.<br />
<br />
===== Week 12-13 =====<br />
Testing, fixing bugs, merging. Improving documentation for more widespread use by the open-source community. <br />
<br />
===== Week 14 =====<br />
<br />
Prepare the final presentation slides and video.<br />
<br />
== Final Goals: == <br />
<br />
A Modern Speak and Spell using PocketBeagle, all of whose parts are reproducible, and generating open-source code for it, for utilizing it in a more widespread way. <br />
<br />
== Experience == <br />
<br />
Though I had Computer Science as a subject in my school, yet was never really aware of all the things going on in this domain, till I reached college. Was fascinated by the progress occurring in this field. I was particularly impressed by the freedom one gets in Open-Source. I would like to contribute to this community, not only because of my interest in hardware in general, but because this project as a whole appealed to me.<br />
<br />
=== Previous Contributions to Open-Source ===<br />
<br />
* Maintained a repository on Socket-Programming in Python for HacktoberFest. https://github.com/lugnitdgp/Socket-Programming<br />
<br />
* Made a multi-client Chat-Server on a single host computer in Node.js as a learning process. https://github.com/AnirbanBanik1998/Chat-Server<br />
<br />
* Made a Cleanup application to cleanup memory space filled up by unused apps. https://github.com/AnirbanBanik1998/Cleanup<br />
<br />
* As a part of GSoC-Heat, contributed to MemeFinder, a search engine to store memes scraped from Reddit.com https://github.com/NITDgpOS/MemeFinder/commit/bed08441e8a75b0e6aa6afa12ce42ef10dcbe891 https://github.com/NITDgpOS/MemeFinder/commit/04c4ff1c3a407327be7f1918052c8626cf0eea2e<br />
<br />
=== Contributions to this project ===<br />
<br />
As there was no upstream repository to contribute to, I started recreating the games myself, and worked on adding Speech to Text and vice-versa functionalities. https://github.com/AnirbanBanik1998/Speak_and_Spell<br />
<br />
=== Participations ===<br />
<br />
* Participated in GSoC Heat contest in our college, and got selected for a mini experience of the actual GSoC. Completed the tasks given in my proposal successfully.<br />
<br />
=== Approach === <br />
<br />
During entire period of GSoC I won't be having any academic duties to fulfill since the summer break would be pretty long. Thus i can devote my whole time to the project. This will in-turn help me in increasing my experience building projects on open-source hardware, and open-source in general.<br />
<br />
I would enjoy working on this project and pour in all of the hardwork and passion required. <br />
<br />
<br />
== Benefit ==<br />
<br />
This device has always been aimed at pre-schoolers, and they will surely find it intriguing as well as educative. The new added functionalities will provide for more robust usage of this device.<br />
<br />
=== What community members speak ===<br />
<br />
A voice recognition SnS would be kinda cool.<br />
Jason Kridner(jkridner[m]) <br />
<br />
This could help with learning english, but could also be extended to other languages. ie<br />
have a chinese speak-and-spell, french speak-and-spell, etc.<br />
Erik Welsh(erik.welsh) <br />
<br />
<br />
== Future Contributions == <br />
<br />
I will be active in the community, contributing to more open-source projects, gaining more valuable experience, and help newcomers get acquainted with beaglebone in general, the way I was helped when I first asked out in the group.</div>AnirbanBanik1998https://elinux.org/index.php?title=BeagleBoard/GSoC/Modern_Speak_and_Spell&diff=466516BeagleBoard/GSoC/Modern Speak and Spell2018-03-27T04:49:44Z<p>AnirbanBanik1998: Minor</p>
<hr />
<div>[[Category: BeagleBoard]]<br />
[[Category: GSoC]]<br />
[[Category: GSoCProposal]]<br />
<br />
=[[BeagleBoard/GSoC/ProposalTemplate|ProposalTemplate]] =<br />
<br />
Recreating and improving the functionality of the previous Speak and Spell toy by Texas Instruments, and generate open-source code for it.<br />
<br />
''Student'': Anirban Banik <br><br />
''Mentors'': Jason Kridner<br><br />
''Code'': https://github.com/AnirbanBanik1998/Modern_Speak_and_Spell<br><br />
''Wiki'': https://www.elinux.org/BeagleBoard/GSoC/ModernSpeak-Spell<br><br />
<br />
<div style="clear:both;"></div><br />
<br />
=Status=<br />
To celebrate the 40th anniversary of the “Speak & Spell” from Texas instruments, this proposal was accepted in order to create an updated “Speak & Spell” using a PocketBeagle. <br />
<br />
=Tasks Done=<br />
<br />
I have completed the task required as described on the ideas page, and created a pull request, as listed [https://github.com/jadonk/gsoc-application/pull/98 here]<br />
<br />
==About Me==<br />
''IRC'': AnirbanBanik1998 || Anirban<br><br />
''Github'': https://github.com/AnirbanBanik1998 <br><br />
''E-Linux Username'': AnirbanBanik1998<br />
''School'': NIT Durgapur, Durgapur, West Bengal<br><br />
''Country'': India[https://en.wikipedia.org/wiki/India India]<br><br />
''Primary language'': English,Hindi,Bengali<br><br />
''Typical work hours'': 9:30 - 23:00 IST [https://www.worldtimebuddy.com/?qm=1&lid=2643743,1275339,5128581,5391959&h=2643743&date=2018-3-4&sln=4-18.5 GMT/EST/PST to Ist Adjusted Time]<br><br />
''Previous GSoC participation'': This is my first GSoC participation. Got interested in open-source the day I started with it, and naturally learnt about GSoC soon. Really excited to work with an open-source community, and generate useful open-source code. <br />
<br />
Skills: C,Python,HTML,CSS,JavaScript and Java <br />
<br />
Tools(proficient) : Git,Linux<br />
<br />
Experience : C,Python,Java,HTML,CSS,JavaScript,Arduino<br />
<br />
Hardware Skills : Arduino, Raspberry Pi(basic)<br />
<br />
== Modern “Speak & Spell” using PocketBeagle ==<br />
''Project name'': Modern “Speak & Spell” using PocketBeagle <br><br />
<br />
=== Introduction ===<br />
<br />
To rebrain the Speak and Spell with a general Linux application, that can be reproduced, and is not an one-off build.<br />
<br />
My approach to this problem will be more in the software domain, and some basic wirings in the hardware domain.<br />
<br />
=== Modern “Speak & Spell” project overview===<br />
<br />
The Speak & Spell was an electronic hand-held computer first introduced in 1978, and instantly becoming a favourite of children and adults alike. that consisted of a TMC0280 linear predictive coding speech synthesizer, a keyboard, and a receptor slot to receive one of a collection of ROM game. The improvements that I am trying to bring forth in this project are, Speech to Text along with Text to Speech functionality. For the former, I am thinking of using CMU Sphinx, and for the latter I will use CMU Flite which is specifically designed for small-scale embedded systems. <br />
I am aiming at implementing speech-recognition for not only recognizing the spelling of the user, but also as a voice launcher for launching the games at the user's command. This can be specifically helpful for those who don't have a keyboard or don't want to use it. This is, of course, an added functionality, as the typing functionality will always be there. <br />
<br />
=== Detailed Description ===<br />
<br />
Basically, there are four games to be implemented on this device, "Spell It", "Hangman", "Encrypter" and "Crossword".<br />
On Starting the Application:<br />
<br />
1. The user will be prompted to select a game among the given list of games. He can either launch the game using his voice or keyboard. Thus the voice-launcher <br />
scheme works here.<br />
<br />
2. The "Spell It" game prompts the user to speak out the spelling of a word spoken out by the application. The word is from <br />
an already created dictionary. Here Text to Speech works.<br />
<br />
3. The "Hangman" game has two levels. In level 1 it will ask the user to fill in the blanks to create a word. <br />
This game is so made that if any letter is entered or spoken by the user, which is repeated in the answer, then <br />
the letter is placed at every blank it is supposed to be in one go. In level 2, the letters are visible, but in a jumbled way. <br />
The user has just to move each letter to it's actual position before the time runs out.<br />
<br />
4. The "Encrypter" game is a multi-user game. One encrypts a word in a certain way, and the other has to decrypt it <br />
to get back the original word. <br />
<br />
5. In the "Crossword" game, the user has only to specify where he is going to work, i.e. which row or column, <br />
then proceed as in the "Hangman" game level 1, the difference being just that each word generates another word in another row or column. <br />
<br />
<br />
[[File:CROSSWORD.png|800px|center|frameless]]<br />
<br />
A rough diagram of the "Crossword" game.<br />
<br />
Finally, scores will be generated for every game along with suggestions to improve.<br />
<br />
===Progress till now===<br />
<br />
I have started working on this project in order to brush up my understanding about how this application is going to work. Firstly, I started with recreating the original games, so that I might be able to add more functionality to them later. Finished building two games, the "Spell It" and "Hangman" and have started work on "Encrypter".<br />
Regarding the usage of CMU Sphinx, till now I have restricted myself to only the English Speak and Spell which I aim to extend to the other languages as well. The usage of CMU Sphinx requires a dictionary of words to be recognized be made. I have done it manually, and made a phonetic dictionary of it from the CMU Sphinx website. This dictionary contains words to start and stop games, and alphabets A to Z for aid in Spelling.<br />
<br />
<br />
[[File:Game.png|800px|center|frameless]]<br />
<br />
A rough functioning of the Hangman Game.<br />
<br />
Started with implementation of Speech to text. Gradual progress is being made in it, adding to my experience as well. We have to work in two terminals simultaneously, one for launching the PocketSphinx, and another for the actual games.<br />
<br />
===Timeline:===<br />
<br />
I have already started work on this project and will try to extend this project to other languages as well as develop the project on beaglebone once selected.<br />
<br />
==== Community Bonding Period ==== <br />
<br />
Get acquainted with the documentation of beaglebone, improving on my previous code, and discussing about any further improvements in depth with the mentors. <br />
<br />
===== Week 1 ===== <br />
<br />
Preparing the introductory presentation slides and video. Deploying the CMU Sphinx and CMU Flite on PocketBeagle, to be used later.<br />
<br />
===== Week 2 =====<br />
<br />
Getting the OLED/Display working and working on interfacing with an I2C GPIO expander.<br />
<br />
===== Week 3 - 4 =====<br />
<br />
Working on a web-crawler to crawl the Wikitionary. This can be used to parse Wikitionary pages, thereby generating the wordlists that can be used later.<br />
<br />
===== Week 5 =====<br />
<br />
Improving the "Spell It" game from it's previous version. I will change from "espeak" to "CMU Flite" because it has the extended functionality of accent, so that people from different areas can understand it's speech.<br />
<br />
===== Week 6 - 7 =====<br />
<br />
Working on the User Interface of the "Hangman" game. In level 1, I will work on improvising on the "time constraint" to make the game interesting. In level 2, I will have to work on the Speech-Processing unit a bit more, because giving such commands over the microphone is challenging.<br />
<br />
===== Week 8 - 9 =====<br />
<br />
Building the "Encrypter" game, adding multi-user gaming functionality. Creating a database to store data about the various ciphers and creating functions to encrypt the words accordingly. Allowing addition to the database from time to time.<br />
<br />
===== Week 10 - 11 =====<br />
<br />
Building the "Crossword" game, as an extension of the "Hangman" game, and creating pop-ups providing hints at specific points of time, help users in case they are stuck.<br />
<br />
===== Week 12-13 =====<br />
Testing, fixing bugs, merging. Improving documentation for more widespread use by the open-source community. <br />
<br />
===== Week 14 =====<br />
<br />
Prepare the final presentation slides and video.<br />
<br />
== Final Goals: == <br />
<br />
A Modern Speak and Spell using PocketBeagle, all of whose parts are reproducible, and generating open-source code for it, for utilizing it in a more widespread way. <br />
<br />
== Experience == <br />
<br />
Though I had Computer Science as a subject in my school, yet was never really aware of all the things going on in this domain, till I reached college. Was fascinated by the progress occurring in this field. I was particularly impressed by the freedom one gets in Open-Source. I would like to contribute to this community, not only because of my interest in hardware in general, but because this project as a whole appealed to me.<br />
<br />
=== Previous Contributions to Open-Source ===<br />
<br />
* Maintained a repository on Socket-Programming in Python for HacktoberFest. https://github.com/lugnitdgp/Socket-Programming<br />
<br />
* Made a multi-client Chat-Server on a single host computer in Node.js as a learning process. https://github.com/AnirbanBanik1998/Chat-Server<br />
<br />
* Made a Cleanup application to cleanup memory space filled up by unused apps. https://github.com/AnirbanBanik1998/Cleanup<br />
<br />
* As a part of GSoC-Heat, contributed to MemeFinder, a search engine to store memes scraped from Reddit.com https://github.com/NITDgpOS/MemeFinder/commit/bed08441e8a75b0e6aa6afa12ce42ef10dcbe891 https://github.com/NITDgpOS/MemeFinder/commit/04c4ff1c3a407327be7f1918052c8626cf0eea2e<br />
<br />
=== Contributions to this project ===<br />
<br />
As there was no upstream repository to contribute to, I started recreating the games myself, and worked on adding Speech to Text and vice-versa functionalities. https://github.com/AnirbanBanik1998/Speak_and_Spell<br />
<br />
=== Participations ===<br />
<br />
* Participated in GSoC Heat contest in our college, and got selected for a mini experience of the actual GSoC. Completed the tasks given in my proposal successfully.<br />
<br />
=== Approach === <br />
<br />
During entire period of GSoC I won't be having any academic duties to fulfill since the summer break would be pretty long. Thus i can devote my whole time to the project. This will in-turn help me in increasing my experience building projects on open-source hardware, and open-source in general.<br />
<br />
I would enjoy working on this project and pour in all of the hardwork and passion required. <br />
<br />
<br />
== Benefit ==<br />
<br />
This device has always been aimed at pre-schoolers, and they will surely find it intriguing as well as educative. The new added functionalities will provide for more robust usage of this device.<br />
<br />
=== What community members speak ===<br />
<br />
A voice recognition SnS would be kinda cool.<br />
Jason Kridner(jkridner[m]) <br />
<br />
This could help with learning english, but could also be extended to other languages. ie have a chinese speak-and-spell, french speak-and-spell, etc.<br />
Erik Welsh(erik.welsh) <br />
<br />
<br />
== Future Contributions == <br />
<br />
I will be active in the community, contributing to more open-source projects, gaining more valuable experience, and help newcomers get acquainted with beaglebone in general, the way I was helped when I first asked out in the group.</div>AnirbanBanik1998https://elinux.org/index.php?title=BeagleBoard/GSoC/Modern_Speak_and_Spell&diff=466411BeagleBoard/GSoC/Modern Speak and Spell2018-03-26T16:03:49Z<p>AnirbanBanik1998: Minor</p>
<hr />
<div>[[Category: BeagleBoard]]<br />
[[Category: GSoC]]<br />
[[Category: GSoCProposal]]<br />
<br />
=[[BeagleBoard/GSoC/ProposalTemplate|ProposalTemplate]] =<br />
<br />
Recreating and improving the functionality of the previous Speak and Spell toy by Texas Instruments, and generate open-source code for it.<br />
<br />
''Student'': Anirban Banik <br><br />
''Mentors'': Jason Kridner<br><br />
''Code'': https://github.com/AnirbanBanik1998/Modern_Speak_and_Spell<br><br />
''Wiki'': https://www.elinux.org/BeagleBoard/GSoC/ModernSpeak-Spell<br><br />
<br />
<div style="clear:both;"></div><br />
<br />
=Status=<br />
To celebrate the 40th anniversary of the “Speak & Spell” from Texas instruments, this proposal was accepted in order to create an updated “Speak & Spell” using a PocketBeagle. <br />
<br />
=Proposal=<br />
<br />
I have completed the task required as described on the ideas page, and created a pull request, as listed [https://github.com/jadonk/gsoc-application/pull/98 here]<br />
<br />
==About Me==<br />
''IRC'': AnirbanBanik1998 || Anirban<br><br />
''Github'': https://github.com/AnirbanBanik1998 <br><br />
''School'': ST. Xavier's Institution, Panihati, Kolkata<br><br />
''Country'': [https://en.wikipedia.org/wiki/India India]<br><br />
''Primary language'': English,Hindi,Bengali<br><br />
''Typical work hours'': 9:30 - 23:00 IST [https://www.worldtimebuddy.com/?qm=1&lid=2643743,1275339,5128581,5391959&h=2643743&date=2018-3-4&sln=4-18.5 GMT/EST/PST to Ist Adjusted Time]<br><br />
''Previous GSoC participation'': This is my first GSoC participation. Got interested in open-source the day I started with it, and naturally learnt about GSoC soon. Really excited to work with an open-source community, and generate useful open-source code. <br />
<br />
Skills: C,Python,HTML,CSS,JavaScript and Java <br />
<br />
Tools(proficient) : Git,Linux<br />
<br />
Experience : C,Python,Java,HTML,CSS,JavaScript,Arduino<br />
<br />
Hardware Skills : Arduino, Raspberry Pi(basic)<br />
<br />
== Modern “Speak & Spell” using PocketBeagle ==<br />
''Project name'': Modern “Speak & Spell” using PocketBeagle <br><br />
<br />
=== Introduction ===<br />
<br />
To rebrain the Speak and Spell with a general Linux application, that can be reproduced, and is not an one-off build.<br />
<br />
My approach to this problem will be more in the software domain, and some basic wirings in the hardware domain.<br />
<br />
=== Modern “Speak & Spell” project overview===<br />
<br />
The Speak & Spell was an electronic hand-held computer first introduced in 1978, and instantly becoming a favourite of children and adults alike. that consisted of a TMC0280 linear predictive coding speech synthesizer, a keyboard, and a receptor slot to receive one of a collection of ROM game. The improvements that I am trying to bring forth in this project are, Speech to Text along with Text to Speech functionality. For the former, I am thinking of using CMU Sphinx, and for the latter I will use CMU Flite which is specifically designed for small-scale embedded systems. <br />
I am aiming at implementing speech-recognition for not only recognizing the spelling of the user, but also as a voice launcher for launching the games at the user's command. This can be specifically helpful for those who don't have a keyboard or don't want to use it. This is, of course, an added functionality, as the typing functionality will always be there. <br />
<br />
=== Detailed Description ===<br />
<br />
Basically, there are four games to be implemented on this device, "Spell It", "Hangman", "Encrypter" and "Crossword".<br />
On Starting the Application:<br />
<br />
1. The user will be prompted to select a game among the given list of games. He can either launch the game using his voice or keyboard. Thus the voice-launcher <br />
scheme works here.<br />
<br />
2. The "Spell It" game prompts the user to speak out the spelling of a word spoken out by the application. The word is from <br />
an already created dictionary. Here Text to Speech works.<br />
<br />
3. The "Hangman" game has two levels. In level 1 it will ask the user to fill in the blanks to create a word. <br />
This game is so made that if any letter is entered or spoken by the user, which is repeated in the answer, then <br />
the letter is placed at every blank it is supposed to be in one go. In level 2, the letters are visible, but in a jumbled way. <br />
The user has just to move each letter to it's actual position before the time runs out.<br />
<br />
4. The "Encrypter" game is a multi-user game. One encrypts a word in a certain way, and the other has to decrypt it <br />
to get back the original word. <br />
<br />
5. In the "Crossword" game, the user has only to specify where he is going to work, i.e. which row or column, <br />
then proceed as in the "Hangman" game level 1, the difference being just that each word generates another word in another row or column. <br />
<br />
<br />
[[File:CROSSWORD.png|800px|center|frameless]]<br />
<br />
A rough diagram of the "Crossword" game.<br />
<br />
Finally, scores will be generated for every game along with suggestions to improve.<br />
<br />
===Progress till now===<br />
<br />
I have started working on this project in order to brush up my understanding about how this application is going to work. Firstly, I started with recreating the original games, so that I might be able to add more functionality to them later. Finished building two games, the "Spell It" and "Hangman" and have started work on "Encrypter".<br />
Regarding the usage of CMU Sphinx, till now I have restricted myself to only the English Speak and Spell which I aim to extend to the other languages as well. The usage of CMU Sphinx requires a dictionary of words to be recognized be made. I have done it manually, and made a phonetic dictionary of it from the CMU Sphinx website. This dictionary contains words to start and stop games, and alphabets A to Z for aid in Spelling.<br />
<br />
<br />
[[File:Game.png|800px|center|frameless]]<br />
<br />
A rough functioning of the Hangman Game.<br />
<br />
Started with implementation of Speech to text. Gradual progress is being made in it, adding to my experience as well. We have to work in two terminals simultaneously, one for launching the PocketSphinx, and another for the actual games.<br />
<br />
===Timeline:===<br />
<br />
I have already started work on this project and will try to extend this project to other languages as well as develop the project on beaglebone once selected.<br />
<br />
==== Community Bonding Period ==== <br />
<br />
Get acquainted with the documentation of beaglebone, improving on my previous code, and discussing about any further improvements in depth with the mentors. <br />
<br />
===== Week 1 ===== <br />
<br />
Preparing the introductory presentation slides and video. Deploying the CMU Sphinx and CMU Flite on PocketBeagle, to be used later.<br />
<br />
===== Week 2 =====<br />
<br />
Getting the OLED/Display working and working on interfacing with an I2C GPIO expander.<br />
<br />
===== Week 3 - 4 =====<br />
<br />
Working on a web-crawler to crawl the Wikitionary. This can be used to parse Wikitionary pages, thereby generating the wordlists that can be used later.<br />
<br />
===== Week 5 =====<br />
<br />
Improving the "Spell It" game from it's previous version. I will change from "espeak" to "CMU Flite" because it has the extended functionality of accent, so that people from different areas can understand it's speech.<br />
<br />
===== Week 6 - 7 =====<br />
<br />
Working on the User Interface of the "Hangman" game. In level 1, I will work on improvising on the "time constraint" to make the game interesting. In level 2, I will have to work on the Speech-Processing unit a bit more, because giving such commands over the microphone is challenging.<br />
<br />
===== Week 8 - 9 =====<br />
<br />
Building the "Encrypter" game, adding multi-user gaming functionality. Creating a database to store data about the various ciphers and creating functions to encrypt the words accordingly. Allowing addition to the database from time to time.<br />
<br />
===== Week 10 - 11 =====<br />
<br />
Building the "Crossword" game, as an extension of the "Hangman" game, and creating pop-ups providing hints at specific points of time, help users in case they are stuck.<br />
<br />
===== Week 12-13 =====<br />
Testing, fixing bugs, merging. Improving documentation for more widespread use by the open-source community. <br />
<br />
===== Week 14 =====<br />
<br />
Prepare the final presentation slides and video.<br />
<br />
== Final Goals: == <br />
<br />
A Modern Speak and Spell using PocketBeagle, all of whose parts are reproducible, and generating open-source code for it, for utilizing it in a more widespread way. <br />
<br />
== Experience == <br />
<br />
Though I had Computer Science as a subject in my school, yet was never really aware of all the things going on in this domain, till I reached college. Was fascinated by the progress occurring in this field. I was particularly impressed by the freedom one gets in Open-Source. I would like to contribute to this community, not only because of my interest in hardware in general, but because this project as a whole appealed to me.<br />
<br />
=== Previous Contributions to Open-Source ===<br />
<br />
* Maintained a repository on Socket-Programming in Python for HacktoberFest. https://github.com/lugnitdgp/Socket-Programming<br />
<br />
* Made a multi-client Chat-Server on a single host computer in Node.js as a learning process. https://github.com/AnirbanBanik1998/Chat-Server<br />
<br />
* Made a Cleanup application to cleanup memory space filled up by unused apps. https://github.com/AnirbanBanik1998/Cleanup<br />
<br />
* As a part of GSoC-Heat, contributed to MemeFinder, a search engine to store memes scraped from Reddit.com https://github.com/NITDgpOS/MemeFinder/commit/bed08441e8a75b0e6aa6afa12ce42ef10dcbe891 https://github.com/NITDgpOS/MemeFinder/commit/04c4ff1c3a407327be7f1918052c8626cf0eea2e<br />
<br />
=== Contributions to this project ===<br />
<br />
As there was no upstream repository to contribute to, I started recreating the games myself, and worked on adding Speech to Text and vice-versa functionalities. https://github.com/AnirbanBanik1998/Speak_and_Spell<br />
<br />
=== Participations ===<br />
<br />
* Participated in GSoC Heat contest in our college, and got selected for a mini experience of the actual GSoC. Completed the tasks given in my proposal successfully.<br />
<br />
=== Approach === <br />
<br />
During entire period of GSoC I won't be having any academic duties to fulfill since the summer break would be pretty long. Thus i can devote my whole time to the project. This will in-turn help me in increasing my experience building projects on open-source hardware, and open-source in general.<br />
<br />
I would enjoy working on this project and pour in all of the hardwork and passion required. <br />
<br />
<br />
== Benefit ==<br />
<br />
This device has always been aimed at pre-schoolers, and they will surely find it intriguing as well as educative. The new added functionalities will provide for more robust usage of this device.<br />
<br />
=== What community members speak ===<br />
<br />
A voice recognition SnS would be kinda cool.<br />
Jason Kridner(jkridner[m]) <br />
<br />
This could help with learning english, but could also be extended to other languages. ie have a chinese speak-and-spell, french speak-and-spell, etc.<br />
Erik Welsh(erik.welsh) <br />
<br />
<br />
== Future Contributions == <br />
<br />
I will be active in the community, contributing to more open-source projects, gaining more valuable experience, and help newcomers get acquainted with beaglebone in general, the way I was helped when I first asked out in the group.</div>AnirbanBanik1998https://elinux.org/index.php?title=BeagleBoard/GSoC/Modern_Speak_and_Spell&diff=466406BeagleBoard/GSoC/Modern Speak and Spell2018-03-26T16:01:19Z<p>AnirbanBanik1998: Minor Changes</p>
<hr />
<div>[[Category: BeagleBoard]]<br />
[[Category: GSoC]]<br />
[[Category: GSoCProposal]]<br />
<br />
=[[BeagleBoard/GSoC/ProposalTemplate|ProposalTemplate]] =<br />
<br />
Recreating and improving the functionality of the previous Speak and Spell toy by Texas Instruments, and generate open-source code for it.<br />
<br />
''Student'': Anirban Banik <br><br />
''Mentors'': Jason Kridner<br><br />
''Code'': https://github.com/AnirbanBanik1998/Modern_Speak_and_Spell<br><br />
''Wiki'': https://www.elinux.org/BeagleBoard/GSoC/ModernSpeak-Spell<br><br />
<br />
<div style="clear:both;"></div><br />
<br />
=Status=<br />
To celebrate the 40th anniversary of the “Speak & Spell” from Texas instruments, this proposal was accepted in order to create an updated “Speak & Spell” using a PocketBeagle. <br />
<br />
=Proposal=<br />
<br />
I have completed the task required as described on the ideas page, and created a pull request, as listed [https://github.com/jadonk/gsoc-application/pull/98 here]<br />
<br />
==About Me==<br />
''IRC'': AnirbanBanik1998 || Anirban<br><br />
''Github'': https://github.com/AnirbanBanik1998 <br><br />
''School'': ST. Xavier's Institution, Panihati, Kolkata<br><br />
''Country'': [https://en.wikipedia.org/wiki/India India]<br><br />
''Primary language'': English,Hindi,Bengali<br><br />
''Typical work hours'': 9:30 - 23:00 IST [https://www.worldtimebuddy.com/?qm=1&lid=2643743,1275339,5128581,5391959&h=2643743&date=2018-3-4&sln=4-18.5 GMT/EST/PST to Ist Adjusted Time]<br><br />
''Previous GSoC participation'': This is my first GSoC participation. Got interested in open-source the day I started with it, and naturally learnt about GSoC soon. Really excited to work with an open-source community, and generate useful open-source code. <br />
<br />
Skills: C,Python,HTML,CSS,JavaScript and Java <br />
<br />
Tools(proficient) : Git,Linux<br />
<br />
Experience : C,Python,Java,HTML,CSS,JavaScript,Arduino<br />
<br />
Hardware Skills : Arduino, Raspberry Pi(basic)<br />
<br />
== Modern “Speak & Spell” using PocketBeagle ==<br />
''Project name'': Modern “Speak & Spell” using PocketBeagle <br><br />
<br />
=== Introduction ===<br />
<br />
To rebrain the Speak and Spell with a general Linux application, that can be reproduced, and is not an one-off build.<br />
<br />
My approach to this problem will be more in the software domain, and some basic wirings in the hardware domain.<br />
<br />
=== Modern “Speak & Spell” project overview===<br />
<br />
The Speak & Spell was an electronic hand-held computer first introduced in 1978, and instantly becoming a favourite of children and adults alike. that consisted of a TMC0280 linear predictive coding speech synthesizer, a keyboard, and a receptor slot to receive one of a collection of ROM game. The improvements that I am trying to bring forth in this project are, Speech to Text along with Text to Speech functionality. For the former, I am thinking of using CMU Sphinx, and for the latter I will use CMU Flite which is specifically designed for small-scale embedded systems. <br />
I am aiming at implementing speech-recognition for not only recognizing the spelling of the user, but also as a voice launcher for launching the games at the user's command. This can be specifically helpful for those who don't have a keyboard or don't want to use it. This is, of course, an added functionality, as the typing functionality will always be there. <br />
<br />
=== Detailed Description ===<br />
<br />
Basically, there are four games to be implemented on this device, "Spell It", "Hangman", "Encrypter" and "Crossword".<br />
On Starting the Application:<br />
<br />
1. The user will be prompted to select a game among the given list of games. He can either launch the game using his voice or keyboard. Thus the voice-launcher <br />
scheme works here.<br />
<br />
2. The "Spell It" game prompts the user to speak out the spelling of a word spoken out by the application. The word is from <br />
an already created dictionary. Here Text to Speech works.<br />
<br />
3. The "Hangman" game has two levels. In level 1 it will ask the user to fill in the blanks to create a word. <br />
This game is so made that if any letter is entered or spoken by the user, which is repeated in the answer, then <br />
the letter is placed at every blank it is supposed to be in one go. In level 2, the letters are visible, but in a jumbled way. <br />
The user has just to move each letter to it's actual position before the time runs out.<br />
<br />
4. The "Encrypter" game is a multi-user game. One encrypts a word in a certain way, and the other has to decrypt it <br />
to get back the original word. <br />
<br />
5. In the "Crossword" game, the user has only to specify where he is going to work, i.e. which row or column, <br />
then proceed as in the "Hangman" game level 1, the difference being just that each word generates another word in another row or column. <br />
<br />
<br />
[[File:CROSSWORD.png|800px|center|frameless]]<br />
<br />
A rough diagram of the "Crossword" game.<br />
<br />
Finally, scores will be generated for every game along with suggestions to improve.<br />
<br />
===Progress till now===<br />
<br />
I have started working on this project in order to brush up my understanding about how this application is going to work. Firstly, I started with recreating the original games, so that I might be able to add more functionality to them later. Finished building two games, the "Spell It" and "Hangman" and have started work on "Encrypter".<br />
Regarding the usage of CMU Sphinx, till now I have restricted myself to only the English Speak and Spell which I aim to extend to the other languages as well. The usage of CMU Sphinx requires a dictionary of words to be recognized be made. I have done it manually, and made a phonetic dictionary of it from the CMU Sphinx website. This dictionary contains words to start and stop games, and alphabets A to Z for aid in Spelling.<br />
<br />
<br />
[[File:Game.png|800px|center|frameless]]<br />
<br />
A rough functioning of the Hangman Game.<br />
<br />
Started with implementation of Speech to text. Gradual progress is being made in it, adding to my experience as well. We have to work in two terminals simultaneously, one for launching the PocketSphinx, and another for the actual games.<br />
<br />
===Timeline:===<br />
<br />
I have already started work on this project and will try to extend this project to other languages as well as develop the project on beaglebone once selected.<br />
<br />
==== Community Bonding Period ==== <br />
<br />
Get acquainted with the documentation of beaglebone, improving on my previous code, and discussing about any further improvements in depth with the mentors. <br />
<br />
===== Week 1 ===== <br />
<br />
Preparing the introductory presentation slides and video. Deploying the CMU Sphinx and CMU Flite on PocketBeagle, to be used later.<br />
<br />
===== Week 2 =====<br />
<br />
Getting the OLED/Display working and working on interfacing with an I2C GPIO expander.<br />
<br />
===== Week 3 - 4 =====<br />
<br />
Working on a web-crawler to crawl the Wikitionary. This can be used to parse Wikitionary pages, thereby generating the wordlists that can be used later.<br />
<br />
===== Week 5 =====<br />
<br />
Improving the "Spell It" game from it's previous version. I will change from "espeak" to "CMU Flite" because it has the extended functionality of accent, so that people from different areas can understand it's speech.<br />
<br />
===== Week 6 - 7 =====<br />
<br />
Working on the User Interface of the "Hangman" game. In level 1, I will work on improvising on the "time constraint" to make the game interesting. In level 2, I will have to work on the Speech-Processing unit a bit more, because giving such commands over the microphone is challenging.<br />
<br />
===== Week 8 - 9 =====<br />
<br />
Building the "Encrypter" game, adding multi-user gaming functionality. Creating a database to store data about the various ciphers and creating functions to encrypt the words accordingly. Allowing addition to the database from time to time.<br />
<br />
===== Week 10 - 11 =====<br />
<br />
Building the "Crossword" game, as an extension of the "Hangman" game, and creating pop-ups providing hints at specific points of time, help users in case they are stuck.<br />
<br />
===== Week 12-13 =====<br />
Testing, fixing bugs, merging. Improving documentation for more widespread use by the open-source community. <br />
<br />
===== Week 14 =====<br />
<br />
Prepare the final presentation slides and video.<br />
<br />
== Final Goals: == <br />
<br />
A Modern Speak and Spell using PocketBeagle, all of whose parts are reproducible, and generating open-source code for it, for utilizing it in a more widespread way. <br />
<br />
== Experience == <br />
<br />
Though I had Computer Science as a subject in my school, yet was never really aware of all the things going on in this domain, till I reached college. Was fascinated by the progress occurring in this field. I was particularly impressed by the freedom one gets in Open-Source. I would like to contribute to this community, not only because of my interest in hardware in general, but because this project as a whole appealed to me.<br />
<br />
=== Previous Contributions to Open-Source ===<br />
<br />
* Maintained a repository on Socket-Programming in Python for HacktoberFest. https://github.com/lugnitdgp/Socket-Programming<br />
<br />
* Made a multi-client Chat-Server on a single host computer in Node.js as a learning process. https://github.com/AnirbanBanik1998/Chat-Server<br />
<br />
* Made a Cleanup application to cleanup memory space filled up by unused apps. https://github.com/AnirbanBanik1998/Cleanup<br />
<br />
* As a part of GSoC-Heat, contributed to MemeFinder, a search engine to store memes scraped from Reddit.com https://github.com/NITDgpOS/MemeFinder/commit/bed08441e8a75b0e6aa6afa12ce42ef10dcbe891 https://github.com/NITDgpOS/MemeFinder/commit/04c4ff1c3a407327be7f1918052c8626cf0eea2e<br />
<br />
=== Contributions to this project ===<br />
<br />
As there was no upstream repository to contribute to, I started recreating the games myself, and worked on adding Speech to Text and vice-versa functionalities. https://github.com/AnirbanBanik1998/Speak_and_Spell<br />
<br />
=== Participations ===<br />
<br />
* Participated in GSoC Heat contest in our college, and got selected for a mini experience of the actual GSoC. Completed the tasks given in my proposal successfully.<br />
<br />
=== Approach === <br />
<br />
During entire period of GSoC I won't be having any academic duties to fulfill since the summer break would be pretty long. Thus i can devote my whole time to the project. This will in-turn help me in increasing my experience building projects on open-source hardware, and open-source in general.<br />
<br />
I would enjoy working on this project and pour in all of the hardwork and passion required. <br />
<br />
<br />
== Benefit ==<br />
<br />
This device has always been aimed at pre-schoolers, and they will surely find it intriguing as well as educative. The new added functionalities will provide for more robust usage of this device.<br />
<br />
What community members speak -<br />
<br />
A voice recognition SnS would be kinda cool.<br />
Jason Kridner(jkridner[m]) <br />
<br />
This could help with learning english, but could also be extended to other languages. ie have a chinese speak-and-spell, french speak-and-spell, etc.<br />
Erik Welsh(erik.welsh) <br />
<br />
<br />
=== Future Contributions === <br />
<br />
I will be active in the community, contributing to more open-source projects, gaining more valuable experience, and help newcomers get acquainted with beaglebone in general, the way I was helped when I first asked out in the group.</div>AnirbanBanik1998https://elinux.org/index.php?title=BeagleBoard/GSoC/Modern_Speak_and_Spell&diff=466226BeagleBoard/GSoC/Modern Speak and Spell2018-03-25T20:35:12Z<p>AnirbanBanik1998: A proposal</p>
<hr />
<div>[[Category: BeagleBoard]]<br />
[[Category: GSoC]]<br />
[[Category: GSoCProposal]]<br />
<br />
=[[BeagleBoard/GSoC/ProposalTemplate|ProposalTemplate]] =<br />
<br />
Recreating and improving the functionality of the previous Speak and Spell toy by Texas Instruments, and generate open-source code for it.<br />
<br />
''Student'': Anirban Banik <br><br />
''Mentors'': Jason Kridner<br><br />
''Code'': https://github.com/AnirbanBanik1998/Modern_Speak_and_Spell<br><br />
''Wiki'': https://www.elinux.org/BeagleBoard/GSoC/ModernSpeak-Spell<br><br />
<br />
<div style="clear:both;"></div><br />
<br />
=Status=<br />
To celebrate the 40th anniversary of the “Speak & Spell” from Texas instruments, this proposal was accepted in order to create an updated “Speak & Spell” using a PocketBeagle. <br />
<br />
=Proposal=<br />
I have completed the task required as described on the ideas page, and created a pull request, as listed [https://github.com/jadonk/gsoc-application/pull/98 here]<br />
<br />
==About Me==<br />
''IRC'': AnirbanBanik1998 || Anirban<br><br />
''Github'': [https://github.com/AnirbanBanik1998] <br><br />
''School'': ST. Xavier's Institution, Panihati, Kolkata<br><br />
''Country'': [https://en.wikipedia.org/wiki/India India]<br><br />
''Primary language'': English,Hindi,Bengali<br><br />
''Typical work hours'': 9:30 - 23:00 IST [https://www.worldtimebuddy.com/?qm=1&lid=2643743,1275339,5128581,5391959&h=2643743&date=2018-3-4&sln=4-18.5 GMT/EST/PST to Ist Adjusted Time]<br><br />
''Previous GSoC participation'': This is my first GSoC participation. Got interested in open-source the day I started with it, and naturally learnt about GSoC soon. Really excited to work with an open-source community, and generate useful open-source code. <br />
<br />
Skills: C,Python,HTML,CSS,JavaScript and Java <br />
<br />
Tools(proficient) : Git,Linux<br />
<br />
Experience : C,Python,Java,HTML,CSS,JavaScript,Arduino<br />
<br />
Hardware Skills : Arduino, Raspberry Pi(basic)<br />
<br />
==Modern “Speak & Spell” using PocketBeagle==<br />
''Project name'': Modern “Speak & Spell” using PocketBeagle <br><br />
<br />
===Description===<br />
<br />
To celebrate the 40th anniversary of the “Speak & Spell” from Texas instruments, create an updated “Speak & Spell” using a PocketBeagle. This should be a general Linux application that can be reproduced and should not be a one-off build.<br />
<br />
My approach to this problem will be more in the software domain, and some basic wirings in the hardware domain.<br />
<br />
=== Modern “Speak & Spell” project overview===<br />
<br />
The Speak & Spell was an electronic hand-held computer first introduced in 1978, and instantly becoming a favourite of children and adults alike. that consisted of a TMC0280 linear predictive coding speech synthesizer, a keyboard, and a receptor slot to receive one of a collection of ROM game. The improvements that I am trying to bring forth in this project are, Speech to Text along with Text to Speech functionality. For the former, I am thinking of using CMU Sphinx, and for the latter I will use CMU Flite which is specifically designed for small-scale embedded systems. <br />
I am aiming at implementing speech-recognition for not only recognizing the spelling of the user, but also as a voice launcher for launching the games at the user's command. This can be specifically helpful for those who don't have a keyboard or don't want to use it. This is, of course, an added functionality, as the typing functionality will always be there. <br />
<br />
=== Detailed Description ===<br />
<br />
Basically, there are four games to be implemented on this device, "Spell It", "Hangman", "Encrypter"and "Crossword".<br />
On Starting the Application:<br />
1. The user will be prompted to select a game among the given list of games. He can either launch the game using his voice or keyboard. Thus the <br />
voice-launcher scheme works here.<br />
<br />
2. If the "Spell It" game launches, it will prompt the user to speak out the spelling of a word spoken out by the application. The word is from <br />
an already created dictionary. Here Text to Speech works.<br />
<br />
3. If the "Hangman" game launches, it will ask the user to fill in the blanks to create a word. This game is so made that <br />
if any letter is entered or spoken by the user, which is repeated in the answer, then the letter is placed at every blank it is supposed to be in one go.<br />
<br />
4. If the "Encrypter" game starts, then it is a multi-user game. One encrypts a word in a certain way, and the other has to decrypt it <br />
to get back the original word. <br />
<br />
5. In the "Crossword" game, the user has only to specify where he is going to work, i.e. which row or column, then proceed as in the "Hangman" game. <br />
<br />
<br />
[[File:CROSSWORD.png|800px|center|frameless]]<br />
<br />
A rough diagram of the "Crossword" game.<br />
<br />
===Progress till now===<br />
<br />
I have started working on this project in order to brush up my understanding about how this application is going to work. Firstly, I started with recreating the original games, so that I might be able to add more functionality to them later. Finished building two games, the "Spell It" and "Hangman" and have started work on "Encrypter".<br />
Regarding the usage of CMU Sphinx, till now I have restricted myself to only the English Speak and Spell which I aim to extend to the other languages as well. The usage of CMU Sphinx requires a dictionary of words to be recognized be made. I have done it manually, and made a phonetic dictionary of it from the CMU Sphinx website. This dictionary contains words to start and stop games, and alphabets A to Z for aid in Spelling.<br />
<br />
<br />
[[File:Game.png|800px|center|frameless]]<br />
<br />
A rough functioning of the Hangman Game.<br />
<br />
Started with implementation of Speech to text. Gradual progress is being made in it, adding to my experience as well. We have to work in two terminals simultaneously, one for launching the PocketSphinx, and another for the actual games.<br />
<br />
===Timeline:===<br />
<br />
I don't have any commitments during the period of GSoC, therefore I can devote 50+ hours per week for this project. <br />
<br />
I have already started work on this project and will try to increase the reach of this project to other languages as well as develop the project on beaglebone once selected, reading as much documentation i can get on my hands about beaglebone in the process. <br />
<br />
==== Community Bonding Period ==== <br />
<br />
Get acquainted with the documentation of beaglebone, improving on my previous code, and discussing about any further improvements in depth with the mentors. <br />
<br />
===== Week 1 - 2 ===== <br />
<br />
Working on a web-crawler to crawl the Wikitionary to get the vocabulary of words of various languages. Preparing the introductory presentation slides and video.<br />
<br />
===== Week 3 =====<br />
<br />
Working on building the "Spell It" game, for multiple languages.<br />
<br />
===== Week 4- 5 =====<br />
<br />
Rebuilding the "Hangman" game, deployment on pocketbeagle, in multiple languages. <br />
<br />
===== Week 6 - 8 =====<br />
<br />
Building the "Encrypter" game, adding multi-user functionality. Adding the functionality to encrypt words based on the user's discretion, including new types of encryptions, and creating a database to use them later.<br />
<br />
===== Week 9 - 10 =====<br />
<br />
Building the "Crossword" game, as an extension of the "Hangman" game, and generating scores based on how much of the puzzle is filled up.<br />
<br />
===== Week 11 =====<br />
<br />
Buffer Week.<br />
<br />
===== Week 12-13 =====<br />
Testing, fixing bugs, merging, improving documentation. <br />
<br />
===== Week 14 =====<br />
<br />
Prepare the final presentation slides and video.<br />
<br />
== Final Goals: == <br />
<br />
A Modern Speak and Spell using PocketBeagle, all of whose parts are reproducible, and generating open-source code for it, for utilizing it in a more widespread way. <br />
<br />
== Experience == <br />
<br />
Though I had Computer Science as a subject in my school, yet was never really aware of all the things going on in this domain, till I reached college. Was fascinated by the progress occurring in this field. I was particularly impressed by the freedom one gets in Open-Source. I would like to contribute to this community, not only because of my interest in hardware in general, but because this project as a whole appealed to me.<br />
<br />
=== Previous Contributions to Open-Source ===<br />
<br />
* Maintained a repository on Socket-Programming in Python for HacktoberFest. https://github.com/lugnitdgp/Socket-Programming<br />
<br />
* Made a multi-client Chat-Server on a single host computer in Node.js as a learning process. https://github.com/AnirbanBanik1998/Chat-Server<br />
<br />
* Made a Cleanup application to cleanup memory space filled up by unused apps. https://github.com/AnirbanBanik1998/Cleanup<br />
<br />
* As a part of GSoC-Heat, contributed to MemeFinder, a search engine to store memes scraped from Reddit.com https://github.com/NITDgpOS/MemeFinder/commit/bed08441e8a75b0e6aa6afa12ce42ef10dcbe891 https://github.com/NITDgpOS/MemeFinder/commit/04c4ff1c3a407327be7f1918052c8626cf0eea2e<br />
<br />
=== Contributions to this project ===<br />
<br />
As there was no upstream repository to contribute to, I started recreating the games myself, and worked on adding Speech to Text and vice-versa functionalities. https://github.com/AnirbanBanik1998/Speak_and_Spell<br />
<br />
=== Participations ===<br />
* Participated in GSoC Heat contest in our college, and got selected for a mini experience of the actual GSoC. Completed the tasks given in my proposal successfully.<br />
<br />
=== Approach === <br />
During entire period of GSoC I won't be having any academic duties to fulfill since the summer break would be pretty long. Thus i can devote my whole time to the project. This will in-turn help me in increasing my experience building projects on open-source hardware, and open-source in general.<br />
<br />
I believe that I should be chosen for this project because of my love for tinkering around with hardware and interest in open-source contributions as a whole. I would enjoy working on this project and pour in all of the hardwork and passion required. <br />
<br />
<br />
== Benefit ==<br />
<br />
This device has always been aimed at pre-schoolers, and they will surely find it intriguing as well as educative. The new added functionalities will provide for more robust usage of this device.<br />
<br />
What community members speak -<br />
<br />
A voice recognition SnS would be kinda cool.<br />
Jason Kridner(jkridner[m]) <br />
<br />
This could help with learning english, but could also be extended to other languages. ie have a chinese speak-and-spell, french speak-and-spell, etc.<br />
Erik Welsh(erik.welsh) <br />
<br />
<br />
=== Future Contributions === <br />
<br />
I will be active in the community, contributing to more open-source projects, gaining more valuable experience, and help newcomers get acquainted with beaglebone in general, the way I was helped when I first asked out in the group.</div>AnirbanBanik1998https://elinux.org/index.php?title=File:CROSSWORD.png&diff=466221File:CROSSWORD.png2018-03-25T20:16:25Z<p>AnirbanBanik1998: </p>
<hr />
<div></div>AnirbanBanik1998https://elinux.org/index.php?title=BeagleBoard/GSoC/Modern_Speak_and_Spell&diff=466216BeagleBoard/GSoC/Modern Speak and Spell2018-03-25T19:59:31Z<p>AnirbanBanik1998: </p>
<hr />
<div>[[Category: BeagleBoard]]<br />
[[Category: GSoC]]<br />
[[Category: GSoCProposal]]<br />
<br />
=[[BeagleBoard/GSoC/ProposalTemplate|ProposalTemplate]] =<br />
<br />
Recreating and improving the functionality of the previous Speak and Spell toy by Texas Instruments, and generate open-source code for it.<br />
<br />
''Student'': Anirban Banik <br><br />
''Mentors'': Jason Kridner<br><br />
''Code'': https://github.com/AnirbanBanik1998/Speak_and_Spell<br><br />
''Wiki'': https://www.elinux.org/BeagleBoard/GSoC/ModernSpeak-Spell<br><br />
<br />
<div style="clear:both;"></div><br />
<br />
=Status=<br />
To celebrate the 40th anniversary of the “Speak & Spell” from Texas instruments, this proposal was accepted in order to create an updated “Speak & Spell” using a PocketBeagle. <br />
<br />
=Proposal=<br />
I have completed the task required as described on the ideas page, and created a pull request, as listed [https://github.com/jadonk/gsoc-application/pull/98 here]<br />
<br />
==About Me==<br />
''IRC'': AnirbanBanik1998 || Anirban<br><br />
''Github'': [https://github.com/AnirbanBanik1998] <br><br />
''School'': ST. Xavier's Institution, Panihati, Kolkata<br><br />
''Country'': [https://en.wikipedia.org/wiki/India India]<br><br />
''Primary language'': English,Hindi,Bengali<br><br />
''Typical work hours'': 9:30 - 23:00 IST [https://www.worldtimebuddy.com/?qm=1&lid=2643743,1275339,5128581,5391959&h=2643743&date=2018-3-4&sln=4-18.5 GMT/EST/PST to Ist Adjusted Time]<br><br />
''Previous GSoC participation'': This is my first GSoC participation. Got interested in open-source the day I started with it, and naturally learnt about GSoC soon. Really excited to work with an open-source community, and generate useful open-source code. <br />
<br />
Skills: C,Python,HTML,CSS,JavaScript and Java <br />
<br />
Tools(proficient) : Git,Linux<br />
<br />
Experience : C,Python,Java,HTML,CSS,JavaScript,Arduino<br />
<br />
Hardware Skills : Arduino, Raspberry Pi(basic)<br />
<br />
==Modern “Speak & Spell” using PocketBeagle==<br />
''Project name'': Modern “Speak & Spell” using PocketBeagle <br><br />
<br />
===Description===<br />
<br />
To celebrate the 40th anniversary of the “Speak & Spell” from Texas instruments, create an updated “Speak & Spell” using a PocketBeagle. This should be a general Linux application that can be reproduced and should not be a one-off build.<br />
<br />
My approach to this problem will be more in the software domain, and some basic wirings in the hardware domain.<br />
<br />
=== Modern “Speak & Spell” project overview===<br />
<br />
The Speak & Spell was an electronic hand-held computer first introduced in 1978, and instantly becoming a favourite of children and adults alike. that consisted of a TMC0280 linear predictive coding speech synthesizer, a keyboard, and a receptor slot to receive one of a collection of ROM game. The improvements that I am trying to bring forth in this project are, Speech to Text along with Text to Speech functionality. For the former, I am thinking of using CMU Sphinx, and for the latter I will use CMU Flite which is specifically designed for small-scale embedded systems. <br />
I am aiming at implementing speech-recognition for not only recognizing the spelling of the user, but also as a voice launcher for launching the games at the user's command. This can be specifically helpful for those who don't have a keyboard or don't want to use it. This is, of course, an added functionality, as the typing functionality will always be there. <br />
<br />
=== Detailed Description ===<br />
<br />
On Starting the Application:<br />
1. The user will be prompted to select a game among the given list of games. He can either launch the game using his voice or keyboard. Thus the voice-launcher scheme works here.<br />
2. If the "Spell It" game launches, it will prompt the user to speak out the spelling of a word spoken out by the application. The word is from an already created dictionary. <br />
Here Text to Speech works.<br />
3. If the "Hangman" game launches, it will ask the user to fill in the blanks to create a word. This game is so made that if any letter is entered or spoken by the user, <br />
which is repeated in the answer, then the letter is placed at every blank it is supposed to be in one go.<br />
4. If the "Encrypter" game starts, then it is a multi-user game. One encrypts a word in a certain way, and the other has to decrypt it to get back the original word. <br />
<br />
===Progress till now===<br />
<br />
I have started working on this project in order to brush up my understanding about how this application is going to work. Firstly, I started with recreating the original games, so that I might be able to add more functionality to them later. Finished building two games, the "Spell It" and "Hangman" and have started work on "Encrypter".<br />
Regarding the usage of CMU Sphinx, till now I have restricted myself to only the English Speak and Spell which I aim to extend to the other languages as well. The usage of CMU Sphinx requires a dictionary of words to be recognized be made. I have done it manually, and made a phonetic dictionary of it from the CMU Sphinx website. This dictionary contains words to start and stop games, and alphabets A to Z for aid in Spelling.<br />
<br />
<br />
[[File:Game.png|800px|center|frameless]]<br />
<br />
A rough functioning of the Hangman Game.<br />
<br />
Started with implementation of Speech to text. Gradual progress is being made in it, adding to my experience as well. We have to work in two terminals simultaneously, one for launching the PocketSphinx, and another for the actual games.<br />
<br />
===Timeline:===<br />
<br />
I don't have any commitments during the period of GSoC, therefore I can devote 50+ hours per week for this project. <br />
<br />
I have already started work on this project and will try to increase the reach of this project to other languages as well as develop the project on beaglebone once selected, reading as much documentation i can get on my hands about beaglebone in the process. <br />
<br />
==== Community Bonding Period ==== <br />
<br />
Get acquainted with the documentation of beaglebone, improving on my previous code, and discussing about any further improvements in depth with the mentors. <br />
<br />
===== Week 1 - 2 ===== <br />
<br />
Working on a web-crawler to crawl the Wikitionary to get the vocabulary of words of various languages. Preparing the introductory presentation slides and video.<br />
<br />
===== Week 3 =====<br />
<br />
Working on building the "Spell It" game, for multiple languages.<br />
<br />
===== Week 4- 5 =====<br />
<br />
Rebuilding the "Hangman" game, deployment on pocketbeagle, in multiple languages. <br />
<br />
===== Week 6 - 8 =====<br />
<br />
Building the "Encrypter" game, adding multi-user functionality. Adding the functionality to encrypt words based on the user's discretion, including new types of encryptions, and creating a database to use them later.<br />
<br />
===== Week 9 - 10 =====<br />
<br />
Building the "Crossword" game, as an extension of the "Hangman" game, and generating scores based on how much of the puzzle is filled up.<br />
<br />
===== Week 11 =====<br />
<br />
Buffer Week.<br />
<br />
===== Week 12-13 =====<br />
Testing, fixing bugs, merging, improving documentation. <br />
<br />
===== Week 14 =====<br />
<br />
Prepare the final presentation slides and video.<br />
<br />
== Final Goals: == <br />
<br />
A Modern Speak and Spell using PocketBeagle, all of whose parts are reproducible, and generating open-source code for it, for utilizing it in a more widespread way. <br />
<br />
=== Future Goals === <br />
<br />
<br />
<br />
== Experience == <br />
<br />
Though I had Computer Science as a subject in my school, yet was never really aware of all the things going on in this domain, till I reached college. Was fascinated by the progress occurring in this field. I was particularly impressed by the freedom one gets in Open-Source. I would like to contribute to this community, not only because of my interest in hardware in general, but because this project as a whole appealed to me.<br />
<br />
=== Previous Contributions to Open-Source ===<br />
<br />
* Maintained a repository on Socket-Programming in Python for HacktoberFest. https://github.com/lugnitdgp/Socket-Programming<br />
<br />
* Made a multi-client Chat-Server on a single host computer in Node.js as a learning process. https://github.com/AnirbanBanik1998/Chat-Server<br />
<br />
* Made a Cleanup application to cleanup memory space filled up by unused apps. https://github.com/AnirbanBanik1998/Cleanup<br />
<br />
* As a part of GSoC-Heat, contributed to MemeFinder, a search engine to store memes scraped from Reddit.com https://github.com/NITDgpOS/MemeFinder/commit/bed08441e8a75b0e6aa6afa12ce42ef10dcbe891 https://github.com/NITDgpOS/MemeFinder/commit/04c4ff1c3a407327be7f1918052c8626cf0eea2e<br />
<br />
=== Contributions to this project ===<br />
<br />
As there was no upstream repository to contribute to, I started recreating the games myself, and worked on adding Speech to Text and vice-versa functionalities. https://github.com/AnirbanBanik1998/Speak_and_Spell<br />
<br />
=== Participations ===<br />
* Participated in GSoC Heat contest in our college, and got selected for a mini experience of the actual GSoC. Completed the tasks given in my proposal successfully.<br />
<br />
=== Approach === <br />
During entire period of GSoC I won't be having any academic duties to fulfill since the summer break would be pretty long. Thus i can devote my whole time to the project. This will in-turn help me in increasing my experience building projects on open-source hardware, and open-source in general.<br />
<br />
I believe that I should be chosen love for tinkering around with hardware. I would enjoy working on this project and pour in all of the hardwork and passion required. <br />
<br />
<br />
<br />
== Benefit ==<br />
<br />
The weather station shall be beneficial to students,teachers and researchers who are currently plagued by the cost of commercial hardware available.Even if researchers with large amount of funds do have acess to equipment they still have to spend more money to retrieve it after deployment.Where as given the cost,size and portability of this project it can be airdropped,used and forgotten about.Transporting,storing it would be easy on aircraft's,ships that already have limited space and often researchers have to sacrifice supplies for equipment.Can also be strapped to drones to be deployed since the weight is negligible. <br />
<br />
<br />
What community members speak -<br />
<br />
Great project for the Aspiring Weather Scientist.<br />
Michael Welling(m_w) <br />
<br />
A working/documented FOSS implementation would be a huge<br />
plus for both the open source and weather communities.<br />
Steve Arnold(nerdboy) <br />
<br />
<br />
<br />
***Mentors!!! please add your Quote here.***<br />
<br />
===Suggestions===<br />
Is there anything else we should have asked you?</div>AnirbanBanik1998https://elinux.org/index.php?title=File:Game.png&diff=466211File:Game.png2018-03-25T18:45:07Z<p>AnirbanBanik1998: </p>
<hr />
<div></div>AnirbanBanik1998https://elinux.org/index.php?title=BeagleBoard/GSoC/Modern_Speak_and_Spell&diff=465821BeagleBoard/GSoC/Modern Speak and Spell2018-03-24T20:00:06Z<p>AnirbanBanik1998: Created page with "Category: BeagleBoard Category: GSoC Category: GSoCProposal =ProposalTemplate = Recreating and improving the functionality..."</p>
<hr />
<div>[[Category: BeagleBoard]]<br />
[[Category: GSoC]]<br />
[[Category: GSoCProposal]]<br />
<br />
=[[BeagleBoard/GSoC/ProposalTemplate|ProposalTemplate]] =<br />
<br />
Recreating and improving the functionality of the previous Speak and Spell toy by Texas Instruments, and generate open-source code for it.<br />
<br />
''Student'': Anirban Banik <br><br />
''Mentors'': Jason Kridner<br><br />
''Code'': https://github.com/AnirbanBanik1998/Speak_and_Spell<br><br />
''Wiki'': https://www.elinux.org/BeagleBoard/GSoC/ModernSpeak-Spell<br><br />
<br />
<div style="clear:both;"></div><br />
<br />
=Status=<br />
To celebrate the 40th anniversary of the “Speak & Spell” from Texas instruments, this proposal was accepted in order to create an updated “Speak & Spell” using a PocketBeagle. <br />
<br />
=Proposal=<br />
I have completed the task required as described on the ideas page, and created a pull request, as listed [https://github.com/jadonk/gsoc-application/pull/98 here]<br />
<br />
==About Me==<br />
''IRC'': AnirbanBanik1998 || Anirban<br><br />
''Github'': [https://github.com/AnirbanBanik1998] <br><br />
''School'': ST. Xavier's Institution, Panihati, Kolkata<br><br />
''Country'': [https://en.wikipedia.org/wiki/India India]<br><br />
''Primary language'': English,Hindi,Bengali<br><br />
''Typical work hours'': 9:30 - 23:00 IST [https://www.worldtimebuddy.com/?qm=1&lid=2643743,1275339,5128581,5391959&h=2643743&date=2018-3-4&sln=4-18.5 GMT/EST/PST to Ist Adjusted Time]<br><br />
''Previous GSoC participation'': This is my first GSoC participation. Got interested in open-source the day I started with it, and naturally learnt about GSoC soon. Really excited to work with an open-source community, and generate useful open-source code. <br />
<br />
Skill(proficient): C,Python,HTML,CSS,JavaScript and Java <br />
<br />
Tools(proficient) : Git,Linux<br />
<br />
Experience : C,Python,Java,HTML,CSS,JavaScript,Arduino<br />
<br />
Hardware Skills : Arduino, Raspberry Pi(basic)<br />
<br />
==Modern “Speak & Spell” using PocketBeagle==<br />
''Project name'': Modern “Speak & Spell” using PocketBeagle <br><br />
<br />
===Description===<br />
<br />
To celebrate the 40th anniversary of the “Speak & Spell” from Texas instruments, create an updated “Speak & Spell” using a PocketBeagle. This should be a general Linux application that can be reproduced and should not be a one-off build.<br />
<br />
My approach to this problem will be more in the software domain, and some basic wirings in the hardware domain.<br />
<br />
=== Modern “Speak & Spell” project overview===<br />
<br />
The Speak & Spell was an electronic hand-held computer first introduced in 1978, and instantly becoming a favourite of children and adults alike. that consisted of a TMC0280 linear predictive coding speech synthesizer, a keyboard, and a receptor slot to receive one of a collection of ROM game. The improvements that I am trying to bring forth in this project are, Speech to Text along with Text to Speech functionality. For the former, I am thinking of using CMU Sphinx, and for the latter I will use CMU Flite which is specifically designed for small-scale embedded systems. <br />
I am aiming at implementing speech-recognition for not only recognizing the spelling of the user, but also as a voice launcher for launching the games at the user's command. This can be specifically helpful for those who don't have a keyboard or don't want to use it. This is, of course, an added functionality, as the typing functionality will always be there. <br />
<br />
=== Detailed Description ===<br />
<br />
On Starting the Application:<br />
1. The user will be prompted to select a game among the given list of games. He can either launch the game using his voice or keyboard. Thus the voice-launcher scheme works here.<br />
2. If the "Spell It" game launches, it will prompt the user to speak out the spelling of a word spoken out by the application. The word is from an already created dictionary. <br />
Here Text to Speech works.<br />
3. If the "Hangman" game launches, it will ask the user to fill in the blanks to create a word. This game is so made that if any letter is entered or spoken by the user, <br />
which is repeated in the answer, then the letter is placed at every blank it is supposed to be in one go.<br />
4. If the "Encrypter" game starts, then it is a multi-user game. One encrypts a word in a certain way, and the other has to decrypt it to get back the original word. <br />
<br />
===Progress till now===<br />
<br />
I have started working on this project in order to brush up my understanding about how this application is going to work. Firstly, I started with recreating the original games, so that I might be able to add more functionality to them later. Finished building two games, the "Spell It" and "Hangman" and have started work on "Encrypter".<br />
Regarding the usage of CMU Sphinx, till now I have restricted myself to only the English Speak and Spell which I aim to extend to the other languages as well. The usage of CMU Sphinx requires a dictionary of words to be recognized be made. I have done it manually, and made a phonetic dictionary of it from the CMU Sphinx website. This dictionary contains words to start and stop games, and alphabets A to Z for aid in Spelling.<br />
<br />
<br />
[[File:Hangman.png|800px|center|frameless]]<br />
<br />
A rough functioning of the Hangman Game.<br />
<br />
Started with implementation of Speech to text. Not quite reaped the results, but gradual progress is being made, adding to my experience as well. We have to work in two terminals, one for launching the PocketSphinx, and another for the actual games.<br />
<br />
===Timeline:===<br />
<br />
I have my Finals till may 30th,after that i can commit 55+ hours a week to this project.During finals there's a gap of 4~5 days between each subject exam so during that time i can commit around 35 hours a week.<br />
<br />
I will be starting work on this project asap once accepted by reading as much documentation i can get on my hands about beaglebone and the sensors. <br />
<br />
==== Acceptance Mail ==== <br />
<br />
Commence building of the physical anemometer to save time,order stuff. <br />
<br />
=====Week 1:===== <br />
<br />
During this week i will try out the older code and the basic portable anemometer build.Study all the pinout diagrams,spec sheets and test all the hardware and sensors.<br />
<br />
===== Week 2 - 3 =====<br />
<br />
By now i should know all of technical stuff and armed with that i shall begin writing the framework for rest of the addon modules(barometer,temp, humidity).<br />
<br />
Deliverables : All of the core modules for the added sensors shall be ready and tested individually and a working anemometer <br />
===== Week 4- 6 =====<br />
<br />
Begin developing the remote connection module,test the networking side of things and write the basic framework required to upload data.<br />
<br />
===== Week 6 - 9 =====<br />
<br />
Test the remote connectivity module by isolating it on my homelabs virtual network,start work on the user end gui.Add individual control functionality by end of week 9 with a database setup to store the data locally.<br />
<br />
Deliverable : Successful connectivity remotely and Designed prototype of the user end gui,database setup.<br />
<br />
===== Week 10 =====<br />
<br />
Add graph generation functionality and connect to a local database to store the graphs.add setup scripts and begin polishing for final package installation. <br />
<br />
This is going to be a fun week since i plan to go to my mud trail where i bike on everyday.Its a swamp with high humidity and temperature. i plan to deploy it and camp out [https://www.google.co.in/maps/place/19%C2%B008'49.1%22N+72%C2%B057'45.7%22E/@19.1450162,72.9603883,2076m/data=!3m1!1e3!4m6!3m5!1s0x0:0x0!7e2!8m2!3d19.1469833!4d72.9626954?hl=en&authuser=0 Here] the whole day to test the remote connectivity and sensors.<br />
<br />
Deliverable's : Testing of package code,deployed beaglebone in a swamp location and testing of over 5 hours.<br />
<br />
===== Week 11 =====<br />
<br />
Buffer week<br />
<br />
===== Week 12-13 =====<br />
Test,bugfixing merging <br />
<br />
===== Week 14 =====<br />
<br />
Prepare the final presentation slides and video.<br />
<br />
== Final Goals: == <br />
<br />
A Working Weather station prototype that can be deployed quickly in any environmental condition. The weather station shall be able to gather Wind speed,Air pressure,temperature,humidity,gas detection(methane for global warming) and whatever the user decides to add to it further.The station shall be capable of sending the data to a remote server and the user shall be able to access the data from multiple machines. <br />
<br />
=== Future Goals === <br />
<br />
More complex web based interface that has more functionality,user groups.This can be sold as a commercial kit,with the front end software being opensource and free to download.<br />
<br />
== Experience and Approach == <br />
<br />
Though I had Computer Science as a subject in my school, yet was never really aware of all the things going on in this domain, till I reached college<br />
<br />
=== Projects ===<br />
<br />
* Smart CryptoPriceTracker : Used couple of api's and the requests framework to keep track of various crypto currencies set by the user.The user was able to set the minimum and maximum targets for the specific user defined currencies and whenever the target set was achieved. A sms,mail and call with all of the information would be sent to the user. The program has no limit on amount of currencies that can be tracked in realtime. It's basically a bot that does all the tracking work for you,you just have to tell it what currency track.<br />
<br />
<br />
* Automatic Water Dispenser : Indian summers are hot and harsh thus using a rpi and soil moisture detectors a script was developed that would dispense water whenever required. <br />
<br />
=== Participations ===<br />
* Participated in GSoC Heat contest in our college, and got selected for a mini experience of the actual GSoC. Completed the tasks given in my proposal successfully.<br />
<br />
=== Approach === <br />
During majority of the gsoc i won't be having any academic duties to fulfil since the summer break would be pretty long.Thus i can devote my whole time to the project.This shall also help me enhance my database managment and remote networking knowledge which would be required for the remote connectivity part of the project.<br />
<br />
Since much of the groundwork has already been laid i am going to jump directly to adding the sensors and completing the software part of it which had been promisied in both previous gsocs but was never achieved.<br />
<br />
The reason i believe i should be chosen,is my interest for iot and love for tinkering around with hardware.As i have mentioned above i have a lot of experience in sysadmin/devop side of things.These things came naturally to me as a teenager and and i would enjoy working on this project and pour in all of the hardwork and passion required.I do like reading weather charts,graphs and radar data so this was the first gsoc idea that caught my eye.<br />
<br />
== Contingency == <br />
As mentioned above i am proficient in most of the concepts that are going to be utilised in this project.In case i cant contact my mentor due to some reason,i can always turn to my experienced faculty of my college and my family members since everyone in the extended family is a software engineer.Reddit and stackexchange are always there to help,i have learned a lot from both sites and lastly google.<br />
<br />
There are things that can go wrong like sensors not working,mentor being busy and medical emergencies like food poising.Thus my plan is to start asap once accepted than to wait for later.Sensors going kaput can be replaced quickly since i have check on my local amazon and ebay and almost everything seems to be available and since i live in major city of india express next day delivery wont be a problem.<br />
<br />
== Benefit ==<br />
<br />
The weather station shall be beneficial to students,teachers and researchers who are currently plagued by the cost of commercial hardware available.Even if researchers with large amount of funds do have acess to equipment they still have to spend more money to retrieve it after deployment.Where as given the cost,size and portability of this project it can be airdropped,used and forgotten about.Transporting,storing it would be easy on aircraft's,ships that already have limited space and often researchers have to sacrifice supplies for equipment.Can also be strapped to drones to be deployed since the weight is negligible. <br />
<br />
<br />
What community members speak -<br />
<br />
Great project for the Aspiring Weather Scientist.<br />
Michael Welling(m_w) <br />
<br />
A working/documented FOSS implementation would be a huge<br />
plus for both the open source and weather communities.<br />
Steve Arnold(nerdboy) <br />
<br />
and the best one award goes to...<br />
<br />
I'll be tempted to build one!<br />
Jonathan Cameron(jic23)<br />
<br />
***Mentors!!! please add your Quote here.***<br />
<br />
===Suggestions===<br />
Is there anything else we should have asked you?</div>AnirbanBanik1998https://elinux.org/index.php?title=File:Hangman.png&diff=465816File:Hangman.png2018-03-24T19:43:40Z<p>AnirbanBanik1998: </p>
<hr />
<div></div>AnirbanBanik1998