Skip to content
Vox: Control Linux using Dragon NaturallySpeaking Speech Recognition
Branch: master
Clone or download
Pull request Compare This branch is even with drocco007:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Vox: Linux Dragon Relay

Welcome to Vox, a system to control a Linux system using Dragon NaturallySpeaking.


You will need a Linux host (I use Xubuntu) with

  • GTK, wmctrl, ØMQ
  • Python 2.7 with python-gtk2, python-wnck, python-xlib, python-uinput, tornado, pyzmq
  • VirtualBox

and a Windows guest VM (I use Windows XP) with

  • Host/guest networking set up
  • Dragon Naturallyspeaking
  • CPython 2.7, including pyzmq and Python for Windows Extensions
  • IronPython 2.7

Python for Windows Extensions: VirtIO virtual network drivers for Windows:

I'm currently using Dragon NaturallySpeaking 11.5 Premium; older Premium editions should also work. Dragon 12 introduced some API changes that broke the Python integration. Rumor has it that someone was working on fixing it; try it at your own risk.

I do not know if the cheaper basic editions of NaturallySpeaking have the necessary API support to make this system work; again, YMMV.


Most modern computers have enough horsepower to run Dragon reasonably, even within a VM. Obviously the more RAM and CPU you can throw at it, the better.

The single most important hardware consideration is your audio input!

Do not expect good recognition results with laptop audio hardware or a cheap headset. For testing, experimenting, and play, cheap equipment is fine, but if you plan to do any serious work you will need to invest in a good audio input pipeline. My current setup is

  • Audix OM7 handheld studio microphone
  • InSync Buddy USB 7G ADC



This is a complicated system with many moving parts. It can be tricky to get everything hooked together correctly. Don't expect to pip install dragon and have everything just work!

  1. Get your VM set up

    1. Create a host-only adapter for dedicated host/guest communication
    2. Update Windows' hosts file, adding a vmhost alias to the VM host
    3. Set up a shared folder to hold your speech command files and other source. For convenience, you can map the share to a drive letter in Windows.
  2. Install Dragon and complete its profile and training steps

  3. Install NatLink

  4. Install Dragonfly

Try running the relay:

You can’t perform that action at this time.