Dragon NaturallySpeaking gets better with every version, but Dragon Systems usually requires that you create a new user every time you upgrade.  The reason for this is that many of the accuracy enhancements require modified user and/or vocabulary files and the easiest way to ensure that your user and vocabulary files are modified is to force you to create a new user from scratch.

Training a new user is becoming less and less of a problem with each new version of Dragon NaturallySpeaking.  With version 4 and BestMatch III models, you only need to read for 3 minutes to create a mostly trained user.  But upgrading your vocabulary is a different problem.  Many users have hundreds if not thousands of custom words which they do not want to recreate for a newly created user.

To solve this problem, I have created two new utility programs which allow you to migrate user created words from one version of Dragon NaturallySpeaking to another.  The programs are called GetWords and PutWords.

GetWords (GetWords.zip)

GetWords will create a text file which contains a list of all the user created words for one set of speech files.  The list of words created by GetWords should be the same as the words listed in the Vocabulary Editor when you check "Show custom words only".


This list represents all the words which you have added to your NatSpeak vocabulary file which were not previously know to Dragon NaturallySpeaking (either as part of the initial active vocabulary or as part of the larger backup dictionary).

To run GetWords, you must first start Dragon NaturallySpeaking.  Make sure you load the appropriate user (and vocabulary if using the Professional Edition) before starting GetWords.  Then run GetWords.exe.

You should get a dialog which looks something like this:


You need to enter a file name where the exported words will be stored.  The file name you enter should not currently exist, it will be created by GetWords.

GetWords will create a text file which is a simple list of all the user created words in the currently active NatSpeak vocabulary.  If the words have a spoken form, then the words will be listed with both the written form and the spoken form, separated with a backslash.

(??)\double question
@alum.mit.edu\at alum dot MIT .edu
@dragonsys.com\at dragon sys .com
ActionBook
Actioneer
ActiveX
AlterNat
Audio Setup Wizard
BestMatch\best match
Branden
CFG
...

The simple word list created by GetWords word list is in the same format as the word list you can give the Vocabulary Builder.  In fact, when I originally wrote GetWords, I intended you to give the list of words to the Vocabulary Builder instead of using PutWords.

However, when used in this way pronunciation information is not saved with the word list.  Therefore, after adding all the words to your target vocabulary you will have to retrain every word.  To get around this you can optionally set the "Include pronunciations in word list".  If you set this check box, the output word list will include your pronunciations for each word in the word list.

(??)\double question \\dubLkwesC~
@alum.mit.edu\at alum dot MIT .edu \\at@lumdotemItEdotEdEyU
@dragonsys.com\at dragon sys .com \\atdrag~s/sdotkom
ActionBook \\AkS~bEqk \\@kS~bqk
Actioneer \\AkS~Er \\@kS~Er
ActiveX \\Akt6veks \\@kt6vks
AlterNat \\AltPenat \\altPnat
Audio Setup Wizard \\{d/]setupwizPd
BestMatch\best match \\bestmaC
Branden \\bErand~ \\brand~
CFG \\sEefjE \\kfg
...

Having the pronunciations in the word list means that you will not have to retrain every word.  However, if the word list has pronunciations then you can not use the Vocabulary Builder to load the list of word.  You will have to use PutWords instead.

PutWords (PutWords.zip)

PutWords is a companion to GetWords.  It is designed to take the list of words created with GetWords and add them to your current Dragon NaturallySpeaking user.

To run PutWords, you must first start Dragon NaturallySpeaking.  Make sure you load the appropriate target user (and vocabulary if using the Professional Edition) before starting PutWords.  Then run PutWords.exe.

You should get a dialog which looks something like this:


You will have to fill in the name of an existing file which contains a list of words to add.  This input file is usually the same file you created with GetWords, with or without pronunciations.  You can also create a file by hand (although I would avoid trying to create the pronunciations by hand).

Then press the Add Words button and all the words in your input file will be added to the currently active Dragon NaturallySpeaking user.

Warning: if you have thousands of words to add it is possible that not every word will be added to your vocabulary.  This is because PutWords adds the words sequentially and every time a new word is added, an existing word will be deleted.  Normally this is not a problem since the Dragon NaturallySpeaking deletion algorithm selects rarely used words to delete.  However, when adding thousands of words, it is possible that one or two recently added words will get deleted when adding other words.

Using the Vocabulary Builder to add your list of words does not have this problem since the Vocabulary Builder was specially designed to add a list of words in one operation.  However, when I tested the Vocabulary Builder on a customer supplied list of thousands of new words it erroneously reported than a few words in the list were invalid.  This is clearly a bug and I have reported it to the NatSpeak bug database (where it will sit for years).  Thus, I created PutWords to get around this bug in the Vocabulary Builder.

Example

OK, you just bought version 4 and you want the advantage of the higher accuracy but you do not want to have to retype and retrain your 2000 custom words.  But, I told you (see What is NatSpeak 4.0) that you should create a new user to take advantage of the accuracy enhancements.

Here is what I suggest:

(1) Uninstall NatSpeak 3.5, make sure you save your speech files.
(2) Install NatSpeak 4.0, it should find your old speech files.
(3) Start NatSpeak 4.0 and open your old 3.5 user.
(4) Run GetWords, make sure you set the check box to save pronunciations.  Use
c:\windows\temp\mywords.txt as the filename (for this example).
(5) Now create a new user in NatSpeak 4.0.  Train the user, but don't run the Vocabulary Builder yet.
(6) Run PutWords with your file as input (c:\windows\temp\mywords.txt).
(7) Now go back and run the Vocabulary Builder giving it as many sample documents as possible.
(8) Save your new user and you are done.

Because the output of GetWords is simple text, you can edit the word list before using PutWords.  In the previous instructions, add a step between (4) and (5).

(4 1/2) Open your word list (c:\windows\temp\mywords.txt) in notepad.  Delete any lines which refer to words you no longer want to keep.  Add any other words you want to create (you can leave off the pronunciations for words you manually add).  Then save the file as text.

Summary

I hope you find GetWords and PutWords useful, as with all of my utilities.  I have tested both programs against Dragon NaturallySpeaking version 4.0 Professional Edition.  I have no reason to believe that they will not work with other editions and versions.

There is only limited error handling in PutWords.  If you manually edit the word list and screw up in some way then you may accidentally cause unexpected words or unexpected pronunciations to be added to your vocabulary.  In that case, you can simply delete any of your mistakes using the Vocabulary Editor or simply not save your speech files after using PutWords.

IMPORTANT: GetWords and PutWords were developed as utilities for people who use Dragon NaturallySpeaking.  The program is (c) Copyright Joel Gould 1999.   There is no support for GetWords or PutWords.  Use these programs at your own risk.  GetWords and PutWords may not be sold or distributed for commercial purposes.
Web page hosting graciously provided by
Synapse, a provider of speech recognition solutions.