What is it

You know what, I am ridiculously tired of writing the same code over and over again. Would it not be better if somebody else wrote them for me?? This is where Diane comes into play. This Amazon Alexa-inspired helper with a voice interface is qualified coder that will save you the effort of writing endless "print hello worlds" and create an ideal environment for your creativity.

What it does

Listens patiently for you to give it pseudo-code to translate into a programming language (Java, C and Python supported so far), as well as acting as a vocal command line interface to save you typing all those "cd"'s and "mkdir"s.

How we built it

Diane is a parser that uses the sphinx4 Java library to parse voice input from either a microphone or a wav file into pseudo code or bash commands, which then get executed.

Challenges we ran into

To reliably recognise human speech, sphinx4 has to be trained on a specific human's voice, which requires a large dataset of recordings and a knowledge of machine learning. We avoided that problem by narrowing down the dictionary to the bare minimum needed, which, as we found out, makes the speech recognition more reliable. We have also had to dance around homonyms such as "four" and "for" and "two" and "to". Eventually Diane should be smart enough to deal with ambiguity from context, but that is beyond the scope of a 24-hour hackathon.

Accomplishments that we're proud of

We have familiarised ourselves with a speech recognition library and strengthened our knowledge in parsing.

What we learned

Speech recognition is a fiddly tool and natural language parsing is much harder than it seems!

What's next for Diane

Support for more expressions, commands and languages, as well as better AI and the ability to deal with ambiguity.

Built With

Share this project: