Vocola Information Pages   by Rick Mohr   (last modified May 11, 2002)

 Introduction
 Using Vocola
 Language Tutorial
 Download Vocola
 Install Vocola
 Converting DVC Files
->  Troubleshooting
 Support
 Wish List
 My RSI Story
 

Troubleshooting

Troubleshooting Writing Vocola commands is straightforward with a little practice. Problems can however arise at several levels, since your Vocola command is translated by a Perl program into a Python program, which uses the NatLink system to interface with Dragon NaturallySpeaking. This page summarizes some potential problems, and how to solve them.

My command doesn't work

You've written a Vocola command but nothing happens when you speak the command. Here are some possible causes:
  1. You didn't save the .vcl file.

  2.  
  3. You didn't run the Vocola translator by saying "Load Voice Commands".

  4.  
  5. Your command had a syntax error.
    • Vocola reports errors in the file NatLink\Vocola\vcl2py_log.txt, which should be opened automatically if errors are present.

    •  
  6. You've hit one of the known bugs.
    •  
  7. You're speaking the command in a different context than you defined it for.
    • Make sure you put the command in the .vcl file for the application you're running.
    • If your command appears within a context statement, make sure the context string matches the title of the current window.

    •  
  8. NatLink didn't load the translated Python file.
    • Look in the NatLink\MacroSystem directory. There should be both a .py file and a .pyc with the same name as your .vcl file.
    • If the .pyc file is older than the .py file, and you really have talked at the correct application, then NatLink has not noticed the .py file. There are two possible reasons:
      • You have created a new global command file. NatLink does not notice these.
      • NatLink or NatSpeak is in a bad state.
    • In either case, you need to exit and restart NatSpeak. (If NatSpeak loads quickly, you didn't succeed in exiting. Make sure you have closed Microsoft Word. And sometimes you have to kill the natspeak.exe process explicitly using Task Manager.)

    •  
  9. NatLink doesn't like Vocola's translation of your command.
    • Check the window titled "Messages from Python Macros" for messages which may help you figure out the problem.

    •  
  10. NatLink can't tell what application you're running.
    • If the "Messages from Python Macros" window contains the persistent message "Vocola cannot determine application, app-specific commands disabled",  read on.

"Vocola cannot determine application"

Due to a bug in NatSpeak version 4 (and some version 5's), especially under Windows 2000, you can sometimes get into a state where no application-specific commands are recognized. In this state, the "Messages from Python Macros" window contains the persistent message "Vocola cannot determine application, app-specific commands disabled". This bug was fixed in NatSpeak version 6.

After long observation of this problem I have these suggestions:
  • If your computer is always on and you run automatic nightly virus scans or disk defragmentation, either disable them or exit NatSpeak every evening. For me this prevented the most serious version of the problem, where only a reboot gets you back on track.

  • Wait for 10 seconds. Strange but true. If you keep saying your command nothing improves, but if you say and do nothing for 10 seconds and then repeat your command, it usually works. Now and then I have to try again and wait for 15 seconds. It can seem excruciating to do nothing for an entire 10 seconds, but hey, it's a great time to do some wrist stretches...

  • Restart NatSpeak (as described in #4 above).

My command doesn't work right

Your command gets executed, but doesn't work correctly. Here are some possible causes:
  • Another command is being executed instead.
    • You may have defined a command with the same words using the Dragon Macro Language. It's a good idea to delete these.
    • You may have defined a global command and an application-specific command with the same words. Usually the application-specific command will be recognized, but occasionally the global command is recognized instead. Usually if you repeat the command the application-specific version will be recognized.

  • You need to use quotation marks in your Vocola command. Quotation mark delimiters are always optional in Vocola, but are required in some cases:
    • when whitespace is significant, e.g. "{Left 2}"
    • when a word contains an apostrophe, e.g. "Don't"
    • when keystrokes to enter contain special characters

This page is (c) Copyright 2002 by Rick Mohr, and was last modified on May 11, 2002.