Caster is a collection of tools to control your computer by voice built upon the Dragonfly framework. Caster gives you the power to control your computer by voice. Take control of your applications, games, and your mouse and keyboard to augment your workflow for every day activities or as an accessibility tool to develop applications entirely by voice.
Note for PyPi Users: The PIP package is (Alpha). Do not use the PIP install. Alternatively use this Master Branch with classic install for the best feature experience.
-
Videos by the Caster Community:
- Caster voice coding: Advent of Code 2018 - Programming with Go
- Caster Demo macro recorder, clipboard control, and text formatting commands.
- VimGolf and Project Euler
- Dictating maths into scientific notebook and Dictating math by voice using Caster
-
Read the Frequently Asked Questions - FAQ
-
How to Speak Code - Example Document
-
Caster Command Reference Guides:
- Caster - Universal navigation and editing - These voice commands are active all the time and provide input commands for letters, numbers, and punctuation, as well as the ability to easily manipulate windows and text.
window right
moves the active window to the right-hand side of the screen.prekris
inserts a pair of brackets()
and moves the cursor inside them.shackle
selects the current line
- Applications - Application specific control - These commands are only activated when a particular program is the active window, and they provide support for text editors, IDEs, web browsers etc. For example, while the Sublime text editor is the active window, saying
find
will execute actrl-f
keystroke, bringing up the find and replace prompt,open file
will execute actrl-o
keystroke,edit next <n>
-ctrl-d
n times, selecting the next n instances of the currently selected word.
- Program Languages - Language specific coding - These modules are activated and deactivated with the
enable/disable <language>
voice command. For example after sayingenable python
, the following commands become available for dictation:for loop
which will insertfor i in range(0, ):
print to console
-print()
open file
-open('filename', 'r') as f:
- Caster - Universal navigation and editing - These voice commands are active all the time and provide input commands for letters, numbers, and punctuation, as well as the ability to easily manipulate windows and text.
-
Application or Language not supported?
Make your own Dragonfly and Caster rules augmented by Development Commands
-
Do you want to financially support Caster development? Donate at
-
Need support or just curious? Join our community at and Discord for voice chat.
-
The DictationToolbox.org (WIP) is a curated webpage of information related to voice programming and accessibility. Content Includes: User Tips, Hardware, Videos, Blogs, Repositories, Presentations, and etc. Pull requests welcome!
-
Configurable Settings in
C:\Users\%USERNAME%\AppData\Local\caster
-
Customize Commands aka
Specs
via Simplified Transformers -
Compatible Speech Recognition Engines
- Dragon NaturallySpeaking v13 and higher
- Kaldi
- Windows Speech Recognition
-
Supported Applications
- IDEs/Editors: Microsoft Visual C++, Visual Studio, Eclipse, Jetbrains IDEs, Emacs, Sublime, Atom, Visual Studio Code, Notepad++, FlashDevelop, Sql Developer, SQL Server Management Studio
- Development Tools: Command Prompt, GitBash, KDiff3
- Statistics: RStudio
- Word Processor: lyx, Microsoft Word, Typora
- Browsers: Firefox, Chrome, Internet Explorer
- Git Client: Github Desktop
- Chat: Microsoft Teams, Gitter
- Applications: Foxit Reader, fman, Total Commander, Outlook, Excel
-
Supported Programming Languages - Enhanced by Caster's Continuous Command Recognition - Demo
- Python, Java, Bash, C++, C#, Rust, Go, HTML, CSS, JavaScript, SQL, Dart, Latex , Matlab, R, Prolog, VHDL, and Haxe
-
Four additional mouse navigation modes: curse, sudoku, douglas, legion, and rainbow - Demo
- Text navigation commands - Demo, Text formatting commands
- Alphabet, numbers, punctuation input commands
- Commands to interact with generic File Dialogues.
-
Utilize Powerful Commands
- "Alias" Commands - on-the-fly commands created by highlighting stuff
- "Record From History" - turn previously spoken commands into a voice macro
-
Third-party Integrations
- Sikulix - Setup: Automates anything you see on the screen of your desktop computer. - Demo
- Aenea - Setup: A client-server library for using voice macros from Dragon NaturallySpeaking and Dragonfly on remote/non-windows hosts.
- Autohotkey: A scripting language that allows the automation of various tasks in Windows. Simply install the latest version. If installed, it can speed up some commands by a few seconds - e.g. checking out or updating a pull request from github.
-
Caster extends the Dragonfly API for even more powerful commands.
- The Context Stack - Create asynchronous and context seeking commands
- Spec reduction via NodeRule