Inspiration
The Rubber Ducky will always be close to every programmers heart. This project is a tribute to the loyal companion who never failed to alleviate the anxiety and distress of our early programming days. Our Rubber Ducky is designed to be both an entertaining fidget toy and a visualization tool for programmers. We aimed to build what we wish we had when we first started coding.
What it does
The Rubber Ducky listens to you and illustrates your ideas comprehensively in the shape of diagrams. By the end of the process, you will have a well-documented chart of ideas and classes for your programming projects.
How we built it
The Rubber Ducky consists of 4 main components. These components are the voice-to-text interface, the text parsing middleware, the class object visualizer, the class object code recommendation system, and the cyber-physical energetic Rubber Duck right by your side in your time of need. Google's Speech to text API is implemented to render user utterances into Text. These texts will then be parsed into comprehensive class object method signatures that reduce the sample problem into simple object methods. Using these simple object methods, a class diagram will be visualized for the user accompanied by state-of-the-art code snippet recommendations.
Challenges we ran into
- Procuring a reliable and robust speech-to-text model that can correctly interpret user audio
- Parameterizing GPT-2 generative code auto-completions for more generalized coding languages
- Expectation management, not biting more than we can chew
Accomplishments that we're proud of
- Transition from audio to text
- Transition from text to diagram
What we learned
- The use of Google Clouds Speech-to-text API
- Training GPT-2 model
- Automatic diagram generation
- Threading
What's next for The Rubber Ducky that actually listens
The "Rubber Ducky that actually listens" aims to spread joy as a potential solution that enables growth in early coders. With future enhancements, the "Rubber Ducky that actually listens" will be more flexible in the formulation of spoken commands (right now a certain structure is expected) and more versatile when it comes to accents and unusual pronunciation. This Rubber Ducky is not only a programmer-yearned development tool but may be the first of many similar to come.
Built With
- arduino
- autocomplete
- code-generation
- google-cloud
- gpt-2
- pyqt5
- pyreverse
- python
- shlex
- speech-to-text
- subprocess
Log in or sign up for Devpost to join the conversation.