Silvius/Dragonfly: Programming by Voice with Dragonfly Grammars

Dragonfly is a popular platform for voice coding, primarily with the Dragon speech engine. However, Silvius can be used as a backend for Dragonfly grammars, as an alternative open-source engine.

Setup Instructions

Instructions below are for Linux, and are subject to change. They may be adapted for any platform that dragonfly supports.

  1. Install dependencies (python 2.7 required for now):

    sudo apt install git python2.7 python-virtualenv python-pip-whl
  2. Install dragonfly-voxhub into local virtual environment:

    virtualenv env && source env/bin/activate
    git clone git@github.com:dwks/dragonfly-voxhub.git --branch int3 \
         && cd dragonfly-voxhub \
         && pip install -r documentation/requirements.txt \
         && python setup.py install \
         && cd -
  3. Download the grammar:

    git clone git@github.com:dwks/aenea-grammar-main.git --branch voxhub \
         && cd aenea-grammar-main
  4. Run and start speaking commands!

    python _all.py
  5. To change the microphone from -1 (system default):

    # uncomment list_available_microphones() in _all.py
    python _all.py
    # set device in voxhub_config.py to desired mic, -1 is system default

What is this doing?

The aenea-grammar-main contains my personal grammar which works with aenea, dragonfly, and dragonfly-voxhub. The dragonfly-voxhub integration connects to silvius-server.voxhub.io port 8020 by default, which runs a speech model customized for this specific grammar. The main thing to know about this grammar currently is that once you switch to full english mode e.g. with "word", command recognition is much lower for the rest of the utterance. If you modify the grammar and wish to create a custom speech model, please contact me.

Learning More

Check out the HOPE XI talk about Silvius, on Livestream and YouTube and embedded below.

For more information, join the Silvius mailing list or contact me at dwk at voxhub dot io.