Caster is a collection of tools aimed at enabling programming and accessibility entirely by voice built upon the Dragonfly API.
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.
- Instructions for installing
- Documentation on Caster [ReadTheDocs] and Dragonfly [ReadTheDocs]
- How to Speak Code - Example Document
- Caster Command Reference Guides
- Caster - commands to get started with. Universal navigation and editing - These 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 sayenable python
.for loop
which will insertfor i in range(0, ):
print to console
-print()
open file
-open('filename', 'r') as f:
- Caster - commands to get started with. Universal navigation and editing - These 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.
- Contributing / How can I help?
- Do you want to financially support Caster development? Donate at
- Making your own Dragonfly and Caster rules augmented by Development Commands
- Need support or just curious? Join our community at and Discord for voice chat.
- The DictationToolbox.org 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
and their actions via Simplified Filter Rules and Filter Rules (WIP). Filter Rules code examples can be found in.caster\filters\examples
. -
Compatible Speech Recognition Engines
- Dragon NaturallySpeaking v13 and higher
- Windows Speech Recognition
-
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
-
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
-
- 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 (WIP)