Vocola Information Pages   by Rick Mohr (this page updated January 03, 2005)
 
 Introduction ->
 Using Vocola
 Language Tutorial
 Command Sequences
 Install Vocola
 Vocola Versions
 Converting DVC Files
 Troubleshooting
 Support
 Wish List
 My RSI Story
 Voice Resources
 

Introduction

Introduction to Vocola

Vocola is a voice command language -- a language for defining commands to control a computer by voice -- developed for use with Dragon NaturallySpeaking and implemented using NatLink. While these systems do the heavy lifting, Vocola (pronounced "vo-CO-luh") concentrates on features and ease of use. In particular, Vocola offers the following:

Examples

Here are four voice commands defined in Vocola:

 Copy That = {Ctrl+c};

 Copy to NatSpeak = {Ctrl+a}{Ctrl+c} AppBringUp(NatSpeak); 

 1..40 (Left | Right | Up | Down) = {$2_$1};

 Sort by (Date=e | Sender=r | Subject=s) = {Alt+v}o $1;

The first is a simple keystroke command -- saying "Copy That" sends the keystroke Control-C, which copies the current selection to the clipboard. The great majority of commands needed for controlling a computer by voice are simple keystroke commands like this. 

The second command, invoked by saying "Copy to NatSpeak", copies a window of text (Control-A selects all text and Control-C copies it) and brings up the NaturallySpeaking editor (using the built-in function AppBringUp ).

The third command allows controlling the cursor, by saying for example "3 Left" to move left three characters, or "6 Down" to move down six lines. Spoken words match variable terms on the left and are substituted into the keystroke sequence on the right. For example, when saying "3 Left" the spoken "3" matches the numeric range "1..40" and the spoken "Left" matches the alternative set "(Left | Right | Up | Down) ". The keystroke sequence "{Left 3}" is constructed and sent, and the cursor moves left three characters.

The fourth command allows sorting messages in the Netscape Mailer, by saying "Sort by Date", "Sort by Sender", or "Sort by Subject". The matched word "Date", "Sender", or "Subject", causes the appropriate keystroke "e", "r", or "s" to be inserted into the keystroke sequence.

These and other features are discussed in greater detail in the Vocola Tutorial.

Why a New Voice Command Language?

Existing voice command languages are grafted onto existing programming languages. This means you can program any behavior you want, but you're stuck with the syntactic overhead of the base language. In contrast, Vocola is designed specifically as a voice command language, not as a general-purpose programming language. This means you can write quickly and concisely the great majority of voice commands you need, and use another language in the few cases where you need more power. When I switched to Vocola I was able to convert all but two of my 200+ Dragon macros, and at this writing use something over 900 Vocola commands.

Alternatives to Vocola include NatSpeak Pro's VisualBasic-based language (introduced in version 6), the older Dragon Macro Language (used through version 5 and still functional), and NatLink. Each of these languages has advantages, but (in my humble and not unbiased opinion) none offers Vocola's features and ease of use.

Acknowledgments

Joel Gould for his time and care in designing, building, and "productizing" NatLink, which enabled and inspired Vocola. The authors and voice community members listed in Voice Resources. Scott Weinstein for building and maintaining his NatLink + Vocola installer.

This Web Site

This web site was created using a Python program developed and shared by Joel Gould, in another admirable display of community-mindedness. His description and sources are here.

A single-page version of the site is available here.


This page (c) Copyright 2002-2005 by Rick Mohr.