Project Description
My goal is to attempt to build a basic speech-to-text app that can execute some basic CLI commands for Epinio simply using voice without touching a keyboard. Examples:
epinio app create sampleapp
epinio app list
I believe that this could be useful not only to ease command typing at times but perhaps be also a nice feature that could add value to Epinio if successful.
Goal for this Hackweek
Some of the goals for this project would be:
- Find some tools that already bring a speech-to-text library
- Put together a basic script that somehow works and can recognize voice.
- Fine-tune the speech recognition as much as possible.
- Transcribe the speech to text
- Execute a successful transcription into a functional command
If all the above works somehow next step would be to attempt a more human-friendly interpretation of a command. For instance, instead of transcribing epinio app create sampleapp
, it would be nice that a sentence like: "Epinio, please create an app named sampleapp", would execute that command producing the same result.
Unrelated to the project, but personally, to grow a bit my coding skills by attempting to put together a minimal POC for this.
Resources
Not sure where I will end, but I am starting here:
- https://geekscoders.com/python-speech-recognition-tutorial-for-beginners/
- https://people.csail.mit.edu/hubert/pyaudio/#downloads
Project repo: https://github.com/mmartin24/epinio-speech-to-command-poc
Comments
-
about 1 year ago by mamartin | Reply
The word "Epinio" is not well recognized by the speech recognition engine. For this problem, I created a parsing script for similar words. Also added a second version of the speech sample script and one to run the speech-sample + word-parsing and lastly to execute the result into a working command. So far it works with simple Epinio commands with an quite sound environment. I will try to improve things a bit more tomorrow.
-
about 1 year ago by mamartin | Reply
Worked a lot in parsing logic. Many falsy terms. Little by little it accepts a more natural language. Now not only works with literal transcription (like:
epinio app create
) but with something like "Epinio create an app called "test" in path sample" and will translate intoepinio push app --name test --path sample
-
about 1 year ago by mamartin | Reply
Refactored and improved the parsing script and README.md. Here you can find a small demo on the results:
Demo 1: Transcription of Epinio commands
Demo 2: Complex Epinio command transformation from "human-friendly" speech:
Similar Projects
This project is one of its kind!