Silvius is an open source system for writing code by voice. Speak characters and words and they are typed for you automatically. You can try it on our server, or set it up yourself.
Install dependencies (only works on Linux currently):
$ sudo apt-get install git python python-ws4py python-pyaudio libjansson4 xdotool
Download client: (GitHub page )
$ git clone https://github.com/dwks/silvius.git
Make sure your microphone works (say words and see if they are recognized):
$ cd silvius && python stream/mic.py -s silvius-server.voxhub.io
To select a different microphone, run
and note the correct device number. Then pass
-d N to mic.py.
Run and speak commands!
$ python stream/mic.py -s silvius-server.voxhub.io | python grammar/main.py
If you want to download the recognition engine and run it locally, download this archive (609MB) and follow the instructions in INSTALL. Or, use this docker image. Finally, this is more difficult, but you can also build from source .
When running, each recognition worker needs about 2.4GB of RAM.
This project is built on the Kaldi speech recognition toolkit, which does all the hard work. We used Voxforge and Tedlium speech models. The client/server code is based on Tanel Alumäe's gstreamer server (see a demo!). This project would not have been possible without the guidance of Professor Homayoon Beigi.
Silvius is designed to mimic a similar voice coding system called Aenea, which is built on the commercial Dragon NaturallySpeaking. In Virgil's epic, Silvius is the son of Aeneas. Aenea currently has superior performance; to learn more, see Travis Rudd's PyCon presentation and join the excellent Dragonfly mailing list.