Inspiration
Memory has been a major interest of mine. Active recall is a great tool for strengthening memory. Speech detection and natural language processing as technologies have also intrigued me. This app borrows from all three disciplines and helps performers memorize their lines.
What it does
Takes in mic input, matches similarity of spoken words to input monologue line, and returns an assessment of how the performer did.
How we built it
Used the Web Speech API to detect voice and speech into a string. Used a public domain algorithm to calculate Levenshtein distance to assess string similarity for determining how close the speaker got to the intended line. Approximated coarse thresholds for the user to manipulate difficulty.
Challenges we ran into
First time using Web Speech API and pretty new to JQuery. This time around knowing how to access HTML elements in my JS files proved tricky, and working with Bootstrap was tricky at first as well. The Web Speech API documentation is great, but took some getting used to the way it works.
From a birds-eye view, the main challenge this program presents is landing on the method by which to determine if a spoken string is similar or dissimilar to an input string, and Levenshtein distance is a very coarse solution as there is more than letter differences that make sentences similar and different for the purpose of testing recall.
Accomplishments that we're proud of
Very happy to have plunged into the domain of natural language processing, as it is an interest I hope to study further.
What we learned
A lot of Bootstrap, JS, jQuery. About the Web Speech API, and NLP as a whole, mostly involving string similarity, fuzzy search and approximate string matching.
What's next for LinePlease
It would be interesting to make this a tool for a complete pipeline of choosing a monologue and detailed directions on how a user can best memorize it. This would have to incorporate more than just the code, but an accurate model of how the memory system works. Spaced repetition would surely end up in the later stages of such a product.

Log in or sign up for Devpost to join the conversation.