Public speaking is hard. There are too many small factors that we need to take into account like pace, tone, volume, and so much more. This is far too much for a single person to keep track of, but it's always embarrassing or impractical to practice a speech in front of others. Existing machine learning technologies provide the answer!

What it does

The web app records you giving a speech. During the speech, it will give you helpful comments like "Speak louder" or "Slow down". After your speech is over, you will get your "Speech Score," useful statistics about the entire duration of your speech, and suggestions for improvement.

How I built it

The front-end uses html5, css3, and javascript. To record, display, and download the recording of the speech, we used MediaRecorder. Every few seconds a portion of the recording is downloaded and pushed onto our firebase database. This recording is then analyzed for volume and pace, and a transcript is extracted using Google Cloud Speech API. The extracted information is uploaded to Firebase. We then feed this transcript into Google Cloud Natural Language API to analyze the sentiment of the speech. Once we have statistics from our own code and from Google APIs, we push the data onto firebase and pull it onto our frontend in data visualizations with C3.js and Google Fusion Chats.

Challenges I ran into

We had challenges with connecting the different components of our project. While each component worked as intended, things became complicated when putting the pieces together. Both the machine learning backend and the frontend worked independently, but we needed to dive into firebase, Node.js, and more in order to make the project come together. This was a challenge because we don't have much or any experience with the technologies we used for this.

Accomplishments that I'm proud of

We are proud that we learned and used a lot of new things. Each of our members were experienced in their specific field, but none of us knew how each component filled its place in the overall project. Connecting the pieces was challenge we were proud to overcome.

What I learned

Node.js, Firebase, Google Cloud Platform, more python, more javascript, cleaning up code, linking different components

What's next for Speech Score

Release it onto the web!

Share this project: