Speech Pathology Application

The goal of this project is to build off of last year's Speech Therapy App, adding additional features such as a Database and GUI. This setup should allow for much easier access to child speech data. The database should allow the program to be easily expanded upon.

=Problem Definition= This project is a continuation of a project from the 2017-2018 school year. In their project, they created the majority of the speech recognition processes with a basic GUI. The existing program provides prompts for users, and informs them of the phones that were not pronounced correctly. It also provides waveform and frequency visualizations of their speech patterns,which is less for the child and more for a therapist who would understand the diagrams. The program recognizes all English phones, and is based on a speech recognition library called Sphinx. The team’s duty for this year is to build off the last team’s work. Faced with a number of possible courses of action, they chose to build a better GUI and implement a database. As it is, the GUI is not exceptionally visually appealing, nor is it very child friendly. The intention is to retain the features of the program, but present them in different ways depending on who is using the program, the child or the therapist. The database, on the other hand, is a portion of the original project that just wasn’t obtainable within the timeframe given. With it, the team intends to provide an efficient way to store the children’s speech data, so that it is easy to find and sort. The team would also like to provide a way of creating a sort of “profiles” for the various children, making it easier for the therapist to switch between multiple patients.

=Background= Around 1 in 12 children require speech therapy in the US. Our sponsor’s daughter began speech therapy, and soon after, he recognized the need for readily available speech therapy tools. This led Eric Booth and Ujjwal Roy to begin a project to do just that. Research has shown that the effectiveness of speech therapy directly correlates to the number of quality repetitions the participant does. They also found that, although many speech analysis tools exist, they are all lacking in the same way. They are not nearly as effective on children as they are on adults. In part, this is due to the unpredictable changes in children’s speech, but the main problem is the lack of data. Child speech is covered by numerous laws such as COPPA and HIPAA that make the collection and use of data difficult. This program can help people better understand what children with impediments are struggling with. The fact it is planned to be open source leads to even more possibilities. It provides the chance for communities of developers to alter it for use in other regions. On top of that, its convenience allows more time for children to work on their speech.

=Deliverables=  Secure database that stores account information and vocal recordings Different User Accounts  Therapist Care Giver Researcher Developer   Ability to sort and display specific data sets</li> Ability for researchers to submit speech data to the database</li> Ability to port database to different services</li> </ul>

=Specifications=  Cloud based system</li>  Has set up the environment for our application</li> Must have a 12 month free period</li> Must scale easily</li> Must be able to use and port to other services</li> </ul> </ul>

Database Diagram


=Project Learning=

Databases
 MySQL</li>  Open-source relational database management system (RDBMS)</li> Using Structured Query Language (SQL)</li> Small size, fast speed, low cost of ownership</li> <li>SQL: Grammar (CREATE TABLE my_table; to create a table)</li> <li>Functions (AVG (numericTerm),The average (mean) value.)</li> <li>Data Types (CHAR Type,A fixed length String)</li> </ul> </ul>

Cloud Platforms
<ul> <li>Choices: </li> <ul> <li>Amazon Web Services (AWS)</li> <li>Google Cloud Platform (GCP)</li> <li>Microsoft Azure.</li> </ul> <li>Flexible: price, location, time, and cloud configuration</li> <li>Provide many related service for our chosen product (security, and disaster recovery for cloud database product)</li> <li>The cloud provides multiple layers of security including, but not limited to data communication encryption, identity management, and threat detection.</li> </ul>

Security
<ul> <li>One of the primary concerns with this project is conforming to laws such as COPPA and HIPPA, meaning that security is a necessity. This team is examining a number of different methods of maintaining the security of the database.</li> <li>Backups</li> <ul> <li>“Regular backups protect against the risk of damage or loss due to hardware failure, software or media faults, viruses or hacking, power failure, or even human errors.” -https://www.library.cmu.edu/datapub/dms/data/secure</li> </ul> <li>Password hashing</li> <ul> <li>Encryption is two way, so less safe</li> <li>Hashing is a one way function and therefore more secure</li> <li>The figure below shows the general structure of hashing passwords for the database</li> </ul> <li>Privacy level accesses</li> <ul> <li>Certain facilitator types can only access a subset of information.</li> </ul> <li>Hashing Algorithms</li> <ul> <li>Normal algorithms like SHA and MD5 are good, but are actually too efficient, leading us to seek a different algorithm</li> <li>Ended up settling on an algorithm called BCrypt</li> <li>BCrypt is viewed as a standard as far as password hashing algorithms go</li> <li>Allows the users to decide how many times the algorithm will be run on a password, changing the runtime of the function.</li> </ul> </ul>



=Team Members=

=Additional Documentation=

Project Schedule

Schedule: Updated 12-4-18

Meeting Minutes

9-14-18 9-26-18 9-28-18 10-1-18 10-2-18 10-3-18 10-12-18 10-15-18 10-19-18 10-24-18 10-26-18 11-2-18 11-7-18 11-9-18 11-26-18 11-30-18 12-7-18 1-28-19 2-12-19 2-27-19

Presentations

CDR #1 Powerpoint Slides Engineering Release Review