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.
Instructions below are for Linux. See here for Mac OS and Windows instructions.
$ sudo apt-get install git python python-ws4py python-pyaudio libjansson4 xdotool
Download client: (GitHub page )
$ git clone https://github.com/dwks/silvius.git && cd silvius
Make sure your microphone works (say words and see if they are recognized):
$ 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
-s server -p port to
stream/mic.py to use any server on this list.
|Original Silvius model
English model with command words boosted.
|Beta Silvius model
Dual command and English model. Better at recognizing commands.
To run a local instance of the recognition engine with the original Silvius speech model, 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.
The beta model is available here.
It is possible to train a new model with custom command words. Please refer to this repository . For help with this, or to request that a particular model be created on your behalf, please contact me or join the mailing list (mentioned below).
Silvius 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, and the contributions of several collaborators.
Silvius is inspired by 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.