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

Command Sequences

Comments

You can configure Vocola to allow speaking several commands in a row without pausing. For example, assume your commands allow you to say:

"3 Words Right"   to move the cursor 3 words to the right,
"2 Right"
to move the cursor 2 characters to the right, and
"Kill Char"
to delete 1 character.

If you wanted to speak these three commands in succession you would normally have to pause between commands, saying

"3 Words Right" (pause) "2 Right" (pause) "Kill Char".

With Vocola you don't need to pause, so you can say

"3 Words Right 2 Right Kill Char".

Once you get used to speaking command sequences, text editing by voice becomes faster and less frustrating.

Warning: A bug introduced in Dragon NaturallySpeaking 7.0 and worsened in 8.0 and 9.0 can cause unacceptable performance if command sequences are enabled. With 7.0 switching to or from an application becomes slow if a large number of commands are defined for the application. With 8.0 users have reported that command recognition is very slow even when only a few commands are defined.

Because of these NaturallySpeaking bugs (which ScanSoft has essentially refused to fix), Vocola command sequences are disabled by default and not recommended with version 7.0 and later. Personally I find them so productive that I've stayed with NaturallySpeaking 6.0.

But see below for a modification which some people have used successfully with version 7.0 and later.

How to Enable and Disable Command Sequences

To enable command sequences (in Vocola 2.5 or later), open the file:

NatLink\Vocola\Exec\vocola.ini

and modify it to contain the line:

Use Command Sequences=1

Then say "Load All Commands".

To disable command sequences, proceed as above but with the line:

Use Command Sequences=0

Caveats

Note that only commands defined in the same file can be spoken in sequence. For me this causes occasional mistakes but is not a major limitation. And using include files can help. For example, if you find you want to sequence some of your global commands with commands local to Microsoft Word, you could put the global commands in a separate .vch file and include that file in both word.vcl and _vocola.vcl.

You might think command sequences would lead to mistakes when an unexpected combination of commands is recognized, but in practice I have not found this to be the case. It's a good idea to avoid single-word commands, but that's a good idea anyway.

A Modification Allowing Sequencing in 7.0 and Later

An enterprising Vocola user worked out a modification which allows some sequencing of commands. Others have used this modification successfully, so here are his instructions:

This is essentially a one line fix. Change the following line in vcl2py.pl; it will allow Vocola command sequences to work with version 8.0 fine for up to four commands per sequence.

Replace

   emit(2, "<$rule_name> exported = <any$suffix>+;\n");  

with

   emit(2, "<$rule_name> exported = <any$suffix> [<any$suffix> [<any $suffix> [<any$suffix>]]];\n");

Next, to get Vocola to use the modified vcl2py.pl rather than the unmodified vcl2py.exe, set

   usePerl = 1

at the top of _vocola_main.py. This means that you need a working Perl in your system.

Lastly, do not forget to set "use command sequences" to 1 in vocola.ini. Lastly, There are a couple of complications/bugs in the Scott Weinstein Vocola installer which need a couple of simple workarounds. So if you are using his installer:

1. The vcledit.vcl file he packaged together with it does not like my fix. It generates "natlink.BadGrammar: The grammar is too complex to be recognized" errors and causes vcledit Vocola commands to not work. I simply removed the packaged vcledit.vcl file to avoid this.

2. With usePerl=1, Weinstein's package does not correctly figure out where the vocola.ini file is located (when usePerl=0 there is no problem). I had to copy the vocola.ini file to where it thinks it is located:

   ...\My Documents\NatLink\Exec\vocola.ini

 


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