HOW TO RUN THE TOY1 CALENDAR APP
- The Toy1 calendar app includes FIVE processes: license manager, recserver, vocalizer, dialogue server, and app.
- Required: Nuance 8.5, Nuance Vocalizer 4, SICStus Prolog 3.11/3.12.5/4.0.4, Regulus, Cygwin/UNIX
- Compile recogniser:
cd $REGULUS/Examples/Calendar/scripts
make
This should create a recognition package in $REGULUS/Examples/Calendar/Generated/recogniser and also some other resources
- To run the system
- Start Nuance license manager
- Invoke $REGULUS/Examples/Calendar/scripts/run_recserver.bat
- Invoke $REGULUS/Examples/Calendar/scripts/run_vocalizer4.bat
- Invoke $REGULUS/Examples/Calendar/scripts/run_server.bat
- Do one of the following
- Invoke $REGULUS/Examples/Calendar/scripts/run_app_using_server.bat [version printing debugging output]
- Invoke $REGULUS/Examples/Calendar/scripts/run_app_using_server_nodebug.bat [version NOT printing trace output]
- Hit <return> and speak
- Type EXIT to exit top loop, or RESTART to reinitialise the dialogue context without restarting.
INTERFACING TO THE DIALOGUE SERVER
The dialogue server is a simple socket-based server which handles all interpretation and dialogue management.
In the initial version, the minimal functionality is recognition string in, TTS string out.
- To start dialogue server
- Message protocol: see $REGULUS/Examples/Calendar/Prolog/dialogue_server.pl
COLLECTING AND USING RECORDED DATA
Each session with the app should create a new timestamped wavfile directory in $REGULUS/Examples/Calendar/corpora/speech.
These wavfiles can be fed back into the debug-edit-test cycle as follows.
- Do 'make update_transcriptions' in $REGULUS/Examples/Calendar/scripts. This should update the file
$REGULUS/Examples/Calendar/corpora/calendar_transcriptions.txt to include lines for all wavfiles in
$REGULUS/Examples/Calendar/corpora/speech. Wavfiles which have not been transcribed will have blank lines.
- Add transcriptions to the wavfiles which have not yet been transcribed, using the Nuance xwavedit tool.
- At any point, you can rerun 'make update_transcriptions' in $REGULUS/Examples/Calendar/scripts. This will update
$REGULUS/Examples/Calendar/corpora/calendar_transcriptions.txt and show you which wavfiles remain to be transcribed.
- Continue until you have transcribed all the wavfiles, then check calendar_transcriptions.txt into CVS.
- When you have finished transcribing, do 'make transcriptions_data_to_sent_data' in $REGULUS/Examples/Calendar/scripts.
This will update the file $REGULUS/Examples/Calendar/corpora/dev_corpus_from_transcriptions.pl. Note that records
for new wavfiles are automatically divided into timestamped mini-dialogues, so that the notional date used in
batch testing will correspond to the actual date when the wavfiles were recorded.
- Check calendar_dev_corpus.pl to make sure that the new data looks plausible. When you are satisfied that
calendar_dev_corpus.pl is correct, check it into CVS.
- Finally, do a plain 'make' in $REGULUS/Examples/Calendar/scripts. This will use the new version of calendar_dev_corpus.pl
to perform the following operations:
- Remake the specialised grammar
- Remake the recogniser
- Run a batch dialogue test (in text mode) on calendar_dev_corpus.pl.
- Use the results of the batch dialogue test to remake the help resources.
- If you are at Geneva, zip or tar the new wavfile directories, and upload them to the internal project area so that
other project personnel can access them.
- *** IMPORTANT: DO NOT CHECK THE WAVFILES INTO CVS, SINCE THERE IS NOT ENOUGH SPACE FOR THEM ***