dictation-toolbox/dragonfly
Speech recognition framework allowing powerful Python-based scripting and extension of Dragon NaturallySpeaking (DNS), Windows Speech Recognition (WSR), Kaldi and CMU Pocket Sphinx
What it solves
Dragonfly is a speech recognition framework for Python that simplifies the creation of custom voice commands. It allows users to integrate speech recognition engines with Python scripts, macros, and applications to automate computer activities, program by voice, or dictate prose.
How it works
Dragonfly treats speech commands and grammar objects as first-class Python objects. It provides a framework for defining rules (such as CompoundRule and MappingRule) that map spoken phrases to specific actions, such as simulating key-strokes or entering text. It can be active based on specific application contexts (e.g., only active when a Notepad window is in focus).
Who it’s for
Developers and power users who want to create complex, voice-controlled automation and programming tools using Python.
Highlights
- Multi-engine support: Supports Nuance Dragon, Windows Speech Recognition (WSR), Kaldi, and CMU Pocket Sphinx.
- Cross-platform: Works on Windows, macOS, and Linux (X11).
- Action framework: Includes built-in actions for text input and key-stroke simulation.
- Context-aware: Commands can be restricted to specific applications via
AppContext.
Related
- Project
daanzu/kaldi-active-grammarKaldi‑Active‑Grammar is a Python wrapper for the Kaldi speech‑recognition engine that lets you compile many small grammars and activate only the needed ones per utterance. It ships binary wheels for all major OSes, includes a pre‑trained English model, and provides a backend for the Dragonfly and Caster voice‑control frameworks. Install via pip, download the model, define rules, and dynamically enable them for context‑aware command‑and‑control.
- Project
OHF-Voice/speech-to-phraseSpeech‑to‑Phrase is a local, Home Assistant‑focused speech recogniser that matches spoken input against a set of predefined command templates (including your entity, area and floor names). It builds a finite‑state transducer from language templates, trains a Kaldi language model, and adds a fuzzy post‑processor for robust command detection. The repo holds the last Kaldi‑based version (v1.4.3) supporting 22 languages; active development has moved to a newer rewrite in the OHF‑Voice/apps monorepo.
- Project
Uberi/speech_recognitionA Python library that provides a unified interface for speech recognition, supporting multiple online and offline engines like OpenAI Whisper, Google Speech, and Vosk.
- Project
stanfordnlp/dspyDSPy is a framework that allows developers to build modular AI systems using Python code instead of manual prompt engineering, automatically optimizing prompts and model weights for better performance.
- Project
VOICEVOX/voicevox_coreThe core speech synthesis engine for VOICEVOX, provided as a C and Python library for easy integration into various applications.