saidemo is a sample application that enables you to create recognizer (ASR) and synthesizer (TTS) resources located on remote speech servers. Once created, saidemo provides a set of options to control the resources.
Demonstrates the speech interface provided by the SAI service. The application initializes the Natural Access environment, opens the appropriate services (ADI, MSPP, SAI), and enables you to choose between two sets of options:
|
Test |
Description |
|
Executes individual SAI service functions. | |
|
Executes a series of function calls that perform a complete set of test processes. |
The unit test and the integration test enable you to:
Create, control, and destroy recognizer and synthesizer resources.
View and modify synthesizer and recognizer engine parameters.
saidemo arguments
saiAsrAddVendorSpecific, saiAsrGetVendorSpecific, saiAsrSetVendorSpecific, saiCreateRecognizer, saiCreateSynthesizer, saiGetParamRecognizer, saiGetParamSynthesizer, saiReleaseRecognizer, saiReleaseSynthesizer, saiSpeakSynthesizer, saiStartRecognizer, saiStopRecognizer, saiStopSynthesizer, saiTtsAddVendorSpecific, saiTtsGetVendorSpecific, saiTtsSetVendorSpecific
Before running saidemo, modify the following files as necessary:
|
Configuration file |
Sample file |
Description |
|
NaturalAccess configuration file |
cta.cfg |
Specifies that Natural Access initialize the SAI service and the SAI service manager when the system boots. In addition, other services used in the application must be initialized in this file (for example, the ADI and MSPP services). Location:
|
|
SAI configuration file |
saiconfig.xml |
Specifies parameters that define which speech servers to access on the network. Location:
|
|
CG board keyword file |
cg6kfusion-t.cfg |
Specifies board-level parameters that determine how board resources are allocated. Location:
|
|
OAM system configuration file |
oamsys.cfg |
Specifies bus and slot numbers for each board to match the chassis configuration. Location:
|
To run saidemo:
|
Step |
Action | ||||||||||||||
|
1 |
Modify or create the appropriate configuration files according to the system configuration. | ||||||||||||||
|
2 |
Open a command line window and navigate to the nms\spaccess\samples\saidemo directory. | ||||||||||||||
|
3 |
Enter the following command: saidemo -sserver -iSRV_IP -bCG_IP_1 -tTTS_RTP_PRT -aASR_RTP_PRT where:
For example: saidemo –sMRCP1 –i10.10.20.54 –b10.10.35.112 –t2000 –a2002 |
The following table shows saidemo initialization steps:
|
Step |
Description |
|
1 |
Initialize Natural Access environment. |
|
2 |
Create a Natural Access event queue and return its handle. |
|
3 |
Create a context for the current queue and return its handle. |
|
4 |
Initialize the SAI, ADI, and MSPP services and open them in the current context. |
When you run saidemo, it displays the following menu options:
|
Option |
Description |
|
0. Exit this application |
Closes all resources, closes all services, destroys context and queue, and exits the program. |
|
1. Unit Tests |
Sub-menu that provides options for executing individual SAI service functions. |
|
Sub-menu that provides options for performing complete sets of test processes. |
Unit test provides the following options:
|
Option |
Description |
|
0. Exit this menu |
Exits the unit test menu and returns to the main menu. This option frees all resources that have not been released. |
|
1. Print context |
Prints the state of the message queue, the Natural Access context, and any recognizer or synthesizer handle. Indicates if Natural Access services have been opened. |
|
2. Create tts |
Creates a synthesizer resource in the current Natural Access context according to the parameters specified at the command line. |
|
3. Get tts parameters |
Lists all synthesizer (TTS) parameters. |
|
4. Set tts parameters |
Opens a submenu that displays options for individually setting synthesizer parameters. Before exiting the submenu, specify whether to transfer the new synthesizer parameters to the speech server (for continued use during the current synthesizer session) or apply the modified parameters only to the next command. For information about applying modified parameters, refer to Managing USAI parameters. |
|
5. Start tts (SPEAK) |
Sends a synthesizer process request to the speech server after displaying the following speech options:
When the command completes, saidemo displays the status of the synthesizer process. |
|
6. Stop tts |
Sends a request to the speech server to stop the current synthesizer process. |
|
7. Release tts |
Releases the synthesizer resource and resets the synthesizer handle. |
|
8. Create asr |
Creates a recognizer in the current Natural Access context according to the parameters specified at the command line. |
|
9. Start asr |
Sends a recognize command to the speech server after displaying the following grammar type options:
When the command completes, saidemo displays the status of the speech recognition process. |
|
10. Get asr parameters |
List all recognition (ASR) parameters. |
|
11. Set asr parameters |
Opens a submenu that displays options for individually setting recognizer parameters. Before exiting the submenu, specify whether to transfer the new recognizer parameters to the speech server (for continued use during the current recognizer session) or to apply the modified parameters only to the next command. For information about applying modified parameters, refer to Managing USAI parameters. |
|
12. Stop asr |
Sends a request to the speech server to stop the current speech recognition process. |
|
13. Release asr |
Releases the synthesizer resource and resets the recognizer handle. |
Integration test provides the following options:
|
Option |
Description |
|
0. Exit this menu |
Exits the integration test menu and returns to the main menu. This option frees all resources that have not been released. |
|
1. Create a TTS and its RTP endpoint |
Creates a synthesizer and its media connection (Fusion RTP endpoint). |
|
2. Destroy tts and its RTP endpoint |
Destroys the previously created synthesizer and its media connection. |
|
3. Create asr and its RTP endpoint |
Creates a recognizer and its media connection (the Fusion RTP endpoint). |
|
4. Destroy asr and its RTP endpoint |
Destroys the previously created recognizer and its media connection. |
|
5. Cross connection using t1_loop_back configuration type |
Cross-connects a synthesizer with a recognizer engine using the t1_loop_back configuration. |
|
6. Destroy t1_loop_back connection |
Destroys all resources and resets any handles created by option 5. |
|
7. Cross connection using one_board_c_over configuration type |
Cross-connects a synthesizer with a recognizer engine using the one_board_c_over configuration. |
|
8. Destroy one_board_c_over connection |
Destroys all resources and resets any handles created by option 7. |
|
9. Speak and recognize |
Once the cross-connection is created (option 5 or 7) a RECOGNIZE command is sent to the recognizer (ASR). When the RECOGNIZE acknowledge event is received, a SPEAK command is sent to the synthesizer (TTS) to start synthesizing speech. The application waits for a recognition complete event and displays the results. |