TroubleShooting
Status: Alpha Release
If, after reading OAA documentation and considering the information presented below, send problems or questions to the oaa-users mailing list oaa-users@ai.sri.com. Not all questions can be answered (by us), but we will try to be responsive.
Note: The trouble-shooting information listed below contains some information for OAA 1.0 agents as well as the OAA 2.2 distribution. Most of the information is relevant for users of the Automated Office application.
Loading setup file: '/home/trestle2/cheyer/setup.pl' Currently unable to access zuma port 3344. Try again? [y)es, n)o, h)elp]:
Loading setup file: '/home/trestle2/cheyer/setup.pl' Listening on trestle port 3347 Ready.
% ./startit -noexpect ../office.config Warning: locale not supported by Xlib, locale set to C Warning: X locale modifiers not supported, using default Segmentation fault (core dumped)
Example: setenv XUSERFILESEARCHPATH ./%N:/home/trestle4/OAA/demo/%N
Be aware that there are two input sources on a Sun (mic and line) but that these are mutually exclusive (ie it's a toggle). If soundtool doesn't appear to hear you, this is probably the problem.
Once you have found ideal setting values for your audio configuration, you probably will want to make them permanent with respect to Nuance by storing them in ~/nuance-resources. This is described in a later section.
setenv NUANCE /home/YourNuancePath source $NUANCE/SETUP
Grammar files always end in a '.grammar' extension.
Remember that speech grammars are made up of NONTERMINALS (which start with a capital letter) and combinations of non-terminal vocabulary words.
NON_TERM (a b) # means a AND b NON_TERM2 [a b] # means a OR b NON_TERM3 ?a # means optionally a NON_TERM3 *a # means 0 or more occurrences of a NON_TERM4 +a # means 1 or more occurrences of aNon-terminals can only refer to non-terminals that have been defined above them in the grammar file (enforces regular grammar constraint.
Special Non-Terminals starting with a '.' are called top-level Non-Terminals and provide the starting point of the tree to be recognized.
Here's a simple test grammar, in file 'test.grammar'.
Statement (testing [one two three]) Question (is this a ?great test) .TOP [Statement Question]
nuance-compile test ptm6test is the basename for your grammar file, ptm6 is one of the model sets that can be used (different model sets possess different characteristics of robustness/speed). To see a list of the current choices for model sets, run "nuance-compile test" without specifying the model and Nuance's error message will list available model sets.
If a word in your grammar file is unknown in Nuance's default dictionary, the compile will print an error and put the word into a file called 'test.missing'. You should then create a file called 'test.dictionary' where you give the pronunciation for all missing words in 'test.grammar'. You must specify the pronunciation using using phonemes listed in the nuance manual (or in the ADT users manual). An easy way to figure out the pronunciations for a word is to look up pronunciations for words that sound similar using the command 'pronounce word'.
After a successful compilation, Nuance creates a directory named 'test' containing all the required files for speech recognition. This directory is now called a 'package'.
To test your grammar, try :
sample-application -package ./test
OR
Xapp -package ./test
Sample phrases from our test grammar above might be:
testing one
is this a great test
is this a test
testing two
If you have problems (such as sample-application doesn't appear to
hear you when you speak), you should know that starting Nuance will
set all audio parameters to their default values as defined in the
file $NUANCE/data/nuance-resources.defaults. You can override the
default values by putting a nuance-resources file in your home
directory, with values appropriate to your audio setup. Here is
my nuance-resources file which sets some audio parameters such as
volume, input source, etc:
audio.InputSource line # may also be mic
audio.InputVolume 200 # range 0-255
audio.OutputVolume 200 # range 0-255
client.WriteWaveforms FALSE # don't save utterances
ep.EndSeconds 0.75 # end of speech silence wait
rec.BacktraceFinalsOnly TRUE # only allow complete sentences
config.ServerDebugWindow TRUE # show server trace window
Nuance has many parameters, which are listed in their manual.
Parameters may also be given at runtime for any Nuance-enabled
program as command line arguments: this is useful for testing
values to find the best one.
Example: sample-application -package test audio.InputVolume=150
First, of course, run a Facilitator.
Start srx using
srx -rf srx.rf -package ./test
If Nuance complains about an incompatible version number, then the version of srx that you are not using is not compatible with the version of Nuance defined by your $NUANCE variable. Either:
srx opens up an XWindows display which lets you test locally. Clicking on the NextGrammar button will cycle through all the top-level nonterminals in your grammar file. When you see one you like, press enter in the Do: textfield.
Pressing clickToTalk button will start recognition. Abort will abort recognition. You should set Trace to be On in the Edit menu.
You can also test speech recognition by sending speech solvables from another agent. For instance, from the XWindows oaa interface agent, you could try solve(recognize(X),[]) to start recognition.
[Configuration] Use Mailtalk Agent=0 NumUsers=5 CurrentUser=1 [User Data] LastName1=Cheyer FirstName1=Adam Picture1=C:\AGENT\BITMAPS\CHEYER.BMP LastName2=Moran FirstName2=Douglas Picture2=C:\AGENT\BITMAPS\MORAN.BMP LastName3=Martin FirstName3=David Picture3=C:\AGENT\BITMAPS\MARTIN.BMP LastName4=Perrault FirstName4=Raymond Picture4=C:\AGENT\BITMAPS\PERRAULT.BMP LastName5=Julia FirstName5=Luc Picture5=C:\AGENT\BITMAPS\JULIA.BMP LastName6= FirstName6= Picture6= LastName7= FirstName7= Picture7= LastName8= FirstName8= Picture8=You can specify your own users and their photos, as well as which user is the default user (CurrentUser=1)
If you don't know if your cable is a modem cable or null modem cable,
try inserting a null modem into the connection chain
(modem + null-modem = null-modem; null-modem + null-modem = modem).
For the Sun SPARCstation 10,
see "Changing the Serial Port Jumpers"
(pages 60-61)
in the "Desktop SPARC Hardware Owner's Guide--December 1992".
For the Sun SPARCstation 20,
see "Changing the RS423/232 Jumpers"
(chapter 6; pages 24-27)
in the "SPARCstation 20 Installation Guide").
In both the SS-10 and SS-20, the pair of jumpers that control this selection
are labeled J0801 and J0802
and are located very close to the rear panel
(requires some dexterity to switch the jumpers).
For the Sun Ultra, ****???