/Caster

Dragonfly-Based Voice Programming and Accessibility Toolkit

Primary LanguagePythonOtherNOASSERTION

Caster

Travis Build Status Documentation Status 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:

  • Read the Frequently Asked Questions - FAQ

  • Getting started with Caster - ReadTheDocs

  • 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 a ctrl-f keystroke, bringing up the find and replace prompt,
      • open file will execute a ctrl-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 saying enable python, the following commands become available for dictation:
      • for loop which will insert for i in range(0, ):
      • print to console - print()
      • open file - open('filename', 'r') as f:
  • Application or Language not supported?

    Make your own Dragonfly and Caster rules augmented by Development Commands

  • Contributing / How can I help?

  • Do you want to financially support Caster development? Donate at Bountysource

  • Need support or just curious? Join our community at Join the chat at https://gitter.im/synkarius/caster 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!

Feature List

  • Configurable Settings in C:\Users\%USERNAME%\AppData\Local\caster

  • Customize Commands aka Specs via Simplified Transformers

  • Compatible Speech Recognition Engines

  • 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
  • Editing and Navigation

  • 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.