How do I use and install Vocola?

hello! Where should I begin my journey into Vocola? First of all I want to execute commands without pausing before and after, is this possible with Vocola? I thought it was but I'm not so sure anymore since Chuck Runquist just told me so. I've been lurking in the knowbrainer.com form for a long time, but had difficulty coming here. I found the interface more clumsy and less intuitive. however I just heard all the Vocola guys and gals congregate here! so it's time I get to like it!

I have professional 9.5. What can installing vocal additionally give me? Anything? Nothing? is Vocola easy to install? do I need to maintain a separate vocal a folder to put my Python scripts into? Can I keep my vocola scripts completely separate from my user files, or do I run on an increased risk of mucking them up by mixing it altogether? I am not clear on any of these.

please help, I'm new (to Vocola)! been using Dragon for years

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Gee, if you've paid for Pro

Gee, if you've paid for Pro it would be a shame not to use it! There's nothing wrong with Vocola, but Pro is probably more powerful if you know Basic programming. Some folks use both, so I'll let them draw comparisons since I only use Pro. (I'm neither a programmer nor a Vocola user, but I'm real good at monkey-see/monkey-do Smiling

Vocola installation is not quite as smooth as a commercial installation, but it seems doable these days.

Depending on your approach to things, I would suggest tackling one or the other but not both simultaneously is the most efficient way to go -- YMMV.

Bruce

any advantages over pro?

oh don't worry Bruce, for the money I spent I'm making sure I am using it. It least as best I know to use it. The purpose of this post is to discover if there's any advantages for me to install Vocola. NatLink confuses me.

I tried installing Vocola back when I had Preferred 7. However that venture was doomed to failure. I think it's still the same procedure since back then. I was probably just doing it ineptly. I just don't want to bother if there's no point.

Hello,

Hello,

There have been a lot of development recently. In February I released a beta version of a new combined installer for natlink/unimacro/vocola.

This week I released version 3.2 of this installer. I didn't update the unimacro website yet, which has the install instructions, completely yet. But you can certainly try to install this version.

By the way if you want to go for more powerful commands (compared with NatSpeak native commands) you should go beyond vocola and use natpython or unimacro grammars. See elevator views on unimacro and vocola. A lot of things are just ready to use, so why bother.

See node on beta release on this forum

sourceforge download site for natlink/unimacro/vocola and

instructions for installation on unimacro website

Greetings, Quintijn

hello Quintijn. I have to

hello Quintijn. I have to be quite honest. All that link information is quite overwhelming. I hope you don't expect me to read everything there. they are all kind of over my head. I just skimmed them all. As a new user I only need to be enticed by a few basic old things to get started. and really anything more will likely scare me away.

I'm glad you want to help me understand this thing. I appreciate it, and it's great and being helped by the well leader of the project. I look forward to learning more about this... newfangled technology.

I'm ready to install first Python, then the others (three?). I have XP, and I'll tell you, I am planning to install in the program files directory. Is it really just your one computer that's having read-only issues? that program files directory has worked for me for thousands of executed programs in the past. I have no reason to believe it should present a problem today.

KnowBrainer's picture

Your Requested Command Is Ready

You'll
find the command answer you were looking for on multiple Firefox tabs On the KnowBrainer
Technical Support Forum
. We created a DNS Pro advanced scripting command
that you can copy into DNS Pro 9 because that is what you're using. We also
think you might have an easier time using the built-in advanced scripting
capabilities of DNS Pro since you have already paid the big bucks.

 

 

Lunis Orcutt - Developer of KnowBrainer  &

Host
of the Http://www.KnowBrainer.com Speech Recognition Forum

MarkUK's picture

Hi, Sorry I only have time

Hi,
Sorry I only have time for a short post, but I think you should go and look at the Vocola website, download the help file http://vocola.net/all.html and then go and download the combined installer from source forge. Start with Vocola, it is much easier in concept and stay away from Natlink and Unimacro until you are comfortable with Vocola, then you can experiment if you wish. Quintijn is way ahead of most of us and, as a beginner, I can assure you that Vocola is plenty enough to start with (but pretty easy if you follow the included expample commands)!

Mark

thanks Mark! I expect

thanks Mark! I expect they'll be reading your link many many times. Also you've clarified something of base importance to me, or least I think you have. That is that Vocola, Nat Link, and now even Unimacro don't all have to be used simultaneously together. Because I thought they did. So I got confused. Very.

so I don't need the combined installer package of Quintijn, do I? I just want super easy voice coding, and reduce by that 6:1 the lines of code necessary to accomplish stuff. Not the pain, the pain associated with typing all that Visual Basic stuff. And this can be accomplished with just Python and Vocola alone???

MarkUK's picture

Hi, That is pretty well

Hi, That is pretty well correct except that Natlink is an essential part of the package which simply gets installed by the installer and sits there as a link between Vocola and Dragon. It is possible to hook directly into Natlink by writing Python scripts, but much simpler to use Vocola to write your scripts. These are then translated into Python by part of the Vocola package without any effort from you.

Unimacro is yet another layer. It is possible to write your scripts in Unimacro instead of Vocola, but there is no advantage. What Unimacro does do is to offer some prewritten routines which you can utilise directly or use in your own Vocola scripts. But my advice remains the same. Ignore Python, Natlink and Unimacro and start with Vocola for which there are excellent sample scripts which you can use directly and use as examples to write your own macros along with the excellent help files

Regards
Mark

Welcome to the wonderful

Welcome to the wonderful world of vocola and unimacro!

I have professional 9.5. What can installing vocal additionally give me? Anything? Nothing?

I used Dragon preferred, but my understanding is that it is easier to write vocola macros than DNS macros, including by voice.

is Vocola easy to install?

Yes, fairly. You can read about my experience in:

http://www.speechcomputing.com/node/1788

do I need to maintain a separate vocal a folder to put my Python scripts into? Can I keep my vocola scripts completely separate from my user files, or do I run on an increased risk of mucking them up by mixing it altogether? I am not clear on any of these.

You can put your vocola macro files ( which are translated to scripts) wherever you want. My folder structure:
c:\perh\natlink
c:\perh\natlink\natlink
c:\perh\natlink\vocola
c:\perh\natlink\unimacro

rsiguy wrote: First of all

rsiguy wrote:

First of all I want to execute commands without pausing before and after, is this possible with Vocola?

No. Its the nature of the beast. It may be possible eventually, when the number of CPUs routinely exceeds the number of USB ports, to write an SR app so that it can parse the stream of utterance and pick out commands from the text, but currently that's not possible. Probably wouldn't take more than four or so of your available CPU units Smiling

The pause gives the parser an opportunity to search first for a matching command (efficient because the number of commands is only a small fraction of possible text interpretations) and then for text.

Bruce

On a related note, it's

On a related note, it's impossible to remove built-in commands, to prune that small list to be even smaller? Right?

MarkUK's picture

Quote: n my journey into

Quote:

First of all I want to execute commands without pausing before and after, is this possible with Vocola?

No. This is not possible, as Dragon requires a pause around a command to distinguish it from the text you are dictating. This pause, though, is very short... of the order of 1/4 of a second and soon becomes second nature.

Mark

I was sure I read this

I was sure I read this somewhere about Vocola. I must be making stuff up. Thank you. If I ever find it again I'll post it but...I must be on crack! The only place I will ever find that is in my head.

Vocola advantages over Professional

I think there are two fairly small advantages.

First, with Vocola,you can write commands that contain arbitrary text. For example, take a look at: http://speechwiki.org/NL/LookupWord.html

Second, you may be able to combine saying commands in Vocola, so that you don't need to pause between saying consecutive commands. I dimly recall that this feature can cause processor problems, and you may not be able to use it.

So $1 just like ListVar1 or

So $1 just like ListVar1 or sort of like the more obscure, longer, but by useful in for-loops UtilityProvider.ContextValue(0)?

Your dim recollection might be exactly what I'm remembering... dimly!

MarkUK's picture

Quote: so that you don't

Quote:

so that you don't need to pause between saying consecutive commands

This sounds like command sequences. The Vocola information pages suggest that this might cause problems with versions 7 and 8. I have not tried it in 9.5 as I do not find the slight page to be a problem. There is a work around if you do need it.

Mark

I found a 50-screen

I found a 50-screen PowerPointby Joel Gould, the original Dragon programmer and it NatLink programmer. here's a snapshot of HOW NATLINK IS BETTER THAN PROFESSIONAL EDITION

I understand the first line. But, I DON'T understand the second or third. Can somebody translate those two newb-speak? And BTW the last half I don't even get how they are advantages. but I think I'll be really interested in bullet two and bullet three. I think this is the heart of the question I'm trying to get answered here.

rsiguy

MarkUK's picture

You will find the answers

You will find the answers somewhere here http://www.synapseadaptive.com/Joel/IntroToPython.html , and there is no doubt that programming directly into Python has certain advantages, but the learning curve is much much steeper than for Vocola. If you are looking to do this the best way is to start with Vocola, get to understand that and then to examine the Python code that is produced from your scripts. Then, if you find there are things you cannot do with vocola, is the time to start looking at Python.

Personally I find that I can do 99% of what I want in Vocola and the only thing I needed to code in Python were some Date and Time macros http://speechwiki.com/NL/_DateTimeMacros.html , which is about as easy as you get with Python.

Mark

Quote:

NatLink is a C++ program which extends the Python programming language so you can access and control Dragon NaturallySpeaking directly from Python. NatLink is also a Dragon NaturallySpeaking compatibility module. This means that Dragon NaturallySpeaking will automatically load NatLink and use NatLink to communicate with one or more applications.

Quote:

In addition, using NatLink and writing your macros in
Python has a number of advantages over writing your macros in the Dragon NaturallySpeaking native command and control language.

NatLink allows you to write macros with any version of Dragon NaturallySpeaking, not just the Professional version.

Commands you specify using NatLink can be much richer than the simple sentences that you are restricted to using with

NatSpeak's native grammars. With the NatLink grammars, you can include optional words, alternative words, repeating words, nest other sentences in your command grammars and more.

NatLink allows you to create exclusive grammars which turn off all other grammars.

NatLink allows you to change which grammars are active at the start of every recognition based on (almost) any conditions you want.

Python is a much richer programming language for macros.

You can do much more complex command processing in Python than you can do in Dragon's native grammar language.

With NatLink, you have multiple macros files. You are not restricted to having only one global.dvc.

With NatLink you can edit your macros with your favorite text editor and reload the changed macros into Dragon NaturallySpeaking without having to restart NatSpeak.

Of course there is a down side. Here are some things which you should be aware of if you decide to use NatLink and Python to write macros:

NatLink is not a supported product. There is no technical support. There may be bugs which I may not get around to fixing.

Although NatLink works with existing versions of Dragon NaturallySpeaking, and will probably work with the next version of Dragon NaturallySpeaking, there is no guarantee that NatLink will work with any future version of Dragon NaturallySpeaking.

The documentation is not as good as you would expect from a real product.

There is no fancy user interface. You will have to create macros by editing text files in your favorite text editor.

You will have to learn (at least some) Python to take advantage of NatLink.

First this question is

First this question is raised in a thread on vocola. Vocola has little to do, for the end-users, with python and natlink. Vocola is a means to easily define simple commands. Internally vocola translates the user command files into python grammar files. In that way vocola uses natlink/natpython. The range of possibilities of vocola macros are about the same as the old dvc commands that were active in DragonDictate and in earlier versions of NaturallySpeaking. The main advantage of vocola above the built in advanced script commands in Dragon NaturallySpeaking is the easier interface.

Natlink/natpython offers more possibilities. In the project unimacro a lot of these things are used. So people can use python grammar files from unimacro with the powerful things it offers and without bothering about programming in python.

I want to make a few remarks on all points that Joel Gould mentions in his PowerPoint slide and add one item about voicecode:

-----grammars can include alternates, optionals, repeats and nested rules:
-the repeat issue has been raised more often. In vocola it has been dropped because it was a too rough mechanism. In the unimacro grammar _keystrokes however, which was developed (by me) as an improvement for DragonDictate, you can call multiple grammar words in one phrase. Because this feature is limited to this grammar it doesn't confuse other grammars. You can say for example "down 2 left OK" or "alpha bravo charlie delta" or "home delete Cap alpha", etc. Through the use of configuration (.INI) files users can define their own favourite keystrokes, even for a specific application or for a specific window inside an application.
-the optionals make it possible to do more in one command. For example the grammar _tasks: you can switch to a task, and say in the next command "close window". But the optionals make it possible to say also "task 3 close" in one phrase.

--- can restrict recognition to one grammar: this is used in the unimacro grammar _repeat. When you say for example "start moving down" the cursor begins moving down and a so-called exclusive mode is entered in which NatSpeak only recognizes the restricted grammar words/rules for that moment. Like, in this example, faster, slower, 3,4,5, hold on, continue, reverse, stop. When you say stop or toggle the microphone the exclusive mode is stopped. As an extra feature in unimacro a DisplayMessage mechanism has been made in which the "recognition window" displays the commands you just said (exclusive mode doesn't echo your phrases anymore by default) or displays "<moving: ???>" which reminds you you are in exclusive mode.

--- can change grammars at start of any recognition: because grammars can be configured from .INI files in unimacro, for example the list of keystrokes can be changed when an application or even a window inside an application changes.
-Another example is the loading of all styles of a Word document. When you start Microsoft Word, or the Word window becomes the foreground window, all styles can be read from the document and put into a grammar rule list. So you can then call any style that is effective at that moment.
-Another example is of course vocola in which grammars are switched on or off when applications get or lose focus.
And vocola can also switch rules on or off depending on the window title. With this mechanism.

--- can have multiple macro files: this makes switching on and off macros more easy. An advantage of natlink above advanced script is, IMO, that when natlink is switched on its switches on the grammar files for each speech profile. While with advanced script you have to import your macros for each new user profile.

--- changes to macro files load immediately: at each utterance all python grammar files are checked. When developing natpython grammar files, for example unimacro, this is a powerful option. But because this gives some overhead too, in unimacro this option can be switched off (and is by default). It is only switched on when you call for editing a grammar file by a voice command.

--- macros have access to all features of python: this makes reuse of code much more easy. It also makes persistence of data possible. Advanced script macros do not have this possibility. For example when you search for something, inside the python grammar file the search words are remembered for for example repeated or continuous searching. Also the _tasks grammar can remember earlier calls to a task by name, and simply switch to the window handle which is kept inside the python grammar file. And the "repeat that" commands from the grammar _repeat can work because all phrases you dictate a can be caught and "remembered" inside the python files.

--- one more thing: natlink can intercept dictation: this possibility is exploited in voicecode. The window in which the programmer has her program can be made select and say and each utterance is caught as dictation and interpreted by voicecode. This is a very advanced and very powerful possibility natlink provides. Voicecode is implemented so far only for emacs as program editor, and for some six programming languages including python and C++. The drawback: it is harder to get exactly the words you want to have in this dictation way. Commands are more easily drawn towards a specific result. That makes voicecode powerful but also difficult to use. And it is still very much under development.

Please consult also the unimacro website. The page vocola and unimacro gives "elevator view" about unimacro and vocola.

Greetings, Quintijn

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.




view recent posts