Created on 11th February 2024
•
Over 80 million people worldwide experience stuttering, a difficulty in the flow of speech production. This number is especially prevalent in young adolescent children, where according to the National Institutes of Health, nearly 10% of children will experience some form of stuttering during the ages of 2-6, a crucial period for language acquisition and development. This is especially important as instances of stuttering are known to negatively impact psychological, social, and emotional relations within society.
Our app aims to provide an inclusive, personalized solution towards stuttering in the form of a friendly chat. With the “microphone” feature, users can record an audio input, and have it analyzed with our Sequential Neural Network Model to generate personalized speech practice questions, focusing on improving common stuttering issues including blocks, word repetition, sound repetition, interjection, and prolongation. Overall, this app offers greater accessibility to those who struggle with stuttering via a personalized approach to improving speech clarity and smoothness.
One of our most time-consuming bugs occurred while trying to use React to collect user audio input and save it to be processed by our ML model. When we initially developed the button and its functionality to record and playback audio, we found that the file that the program returned to us was either null, or it was returning an audio from an older take (for example, we would record a take and when trying to retrieve it, the program would give us a null file, but when trying to collect a second take, the program would finally return to us the audio file from first take). We realized that the function we had written that was collecting our audio input was an asynchronous function, and found, on further research, that this was allowing for the rest of our program to run even before the data could be properly collected and output.
To fix this, we decided to use a UseEffect, which is a React hook that lets you perform an action when a certain event occurs in the program. As a fix, we moved the section of our code in our initial asynchronous function that returned the URL of the audio file into the UseEffect function, and added the condition that this URL would only be returned if the length of the recorded file was over 0.
Tracks Applied (5)
Carelon
traversaal.ai
Major League Hacking
Technologies used