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:
- Easy to use
- Simple, concise command syntax -- most commands are one-liners
- Easy to view and modify commands
- Changed commands are loaded automatically
- Free, and works with any version of NatSpeak
- Features
- Familiar syntax
- Keystroke syntax and built-in functions from Dragon Macro Language
- Grammar syntax similar to NatLink
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.
|