Inspiration
Did you know that 77% of the general public fear public speaking? We know how it feels to struggle with public speaking, and also how hard it is to ask for help from others. So, we decided to develop a resource that can help people polish their public speaking skills! We want to make this resource more accessible to people of all walks in life, so everyone can practice their speaking skills anywhere!
What it does
Retorica takes in a user audio input and analyzes the following parameters: loudness, pitch, pauses, and filler words. It gives users suggestions based on these four factors to help improve their talking skills. It also compares the user's audio to their script, and can suggest random scripts to help practice.
How we built it
All of our code is running on the Python coding language. This allows us to utilize a language we are familiar with to build the best app possible. Through python, we researched and incorporated models such as pydub.silence, Streamlit, numpy, and such imports as def functions to simplify and organize our code. For the backend, we utilized the google speech recognition as an import to help analyze the speech, since it already has factors that can analyze speech. For the front-end, we utilized Streamlit, which allows us to give a nice and clean user interface.
Challenges we ran into
We ran into a lot of challenges throughout the course of the project, the biggest being with the imports. We often imported so much stuff that it was hard to keep track of what import belonged to which line of code. Additionally, sometimes the imports acted up because the programs we had installed were either out of date or not in working condition. Additionally, each program we used had a different syntax for analyzing things, so it was hard to blend two programs together. Also, some of the errors were because of the fact that one line of code was formatted incorrectly, so we had to keep debugging and plugging in random print statements to get to the center of the issue. Another challenge we ran into was comparing the transcript: we had to figure out a way to get the transcript to ignore capitalization (which we solved easily using the .lower command), but also to get it to ignore punctuation.
Accomplishments that we're proud of
We're pretty proud of being able to integrate everything we had hoped by the given time. We had also managed to explore a lot of new things like working with new components such as speech recognition functions and using UI designs to represent our data efficiently.
What we learned
We learned how to handle and utilize voice inputs. There were various modules available to us, but working with some of them were quite difficult. Finally, we found speech_recognition, and going forth I think using this would be most handy for us.
What's next for Retorica
There are many more features we wanted to add to our app which we are hoping we could in the future. Firstly, we want to make Retorica accessible to people with disabilities; for example, reading the script out loud to the visually impaired and guiding their memorization process. Not only that, we also want to help people memorize and give suggestions as to how they could start improving: practice exercises or giving suggestions for their script. We had begun to touch on that and provide generated speeches for practice and offer the results, but I think there is room for more improvement.
Built With
- google-speech-recognition
- python
- streamlit
Log in or sign up for Devpost to join the conversation.