USER‘S MANUAL

OF

Written and designed by: HUNG NGUYEN

Software design: PHUONG THAN

Research: Honghuong Nguyen

TABLE OF CONTENTS
  1. How do I get started?
  2. Getting started
  3. Product description
  4. Building a project
  5. What does the Menu bar include?
  6. Menu bar
  7. File menu
  8. Edit menu
  9. View menu
  10. Project menu
  11. Build menu
  12. Options menu
  13. Window menu
  14. Help menu
  15. What does the Toolbar include?
  16. Toolbar
  17. How can I use nodes?
  18. Node palette
  19. Node types
  20. Naming nodes
  21. Node ID
  22. How can node Wizard help me?
  23. Node Wizard
  24. Node Wizard Nodes
  25. Node Wizard Links
  26. Node Wizard Commands
  27. Node Wizard ASR Durations
  28. How do I create a grammar?
  29. Grammar Information
  30. How can I improve my project?
  31. Customizing TTS
  32. Testing
  33. What resources are available?
  34. Examples
  35. Revision history
  36. Troubleshooting
  37. Glossary

1. Getting Started.

Welcome to Fonix® Embedded Builder 2.1. Fonix Embedded Builder gives you the ability to add Automatic Speech Recognition (ASR) and Text-To-Speech (TTS) technology to existing applications. This section will provide an overview of this help file.

a) Main Sections

In order to save time, please read the main sections of the manual before you begin developing applications with the Fonix Embedded Builder. Below, you will find links to the basic documentation, as well as a short description of each section, which will help you find the information you need.

For more information, see your platform-specific documentation.

1 Create a Project

InBuilding Project section, you will find step-by-step instructions on how to create, build, and simulate a project in the Fonix Embedded Builder.

2 Name a Node

To name or rename a node, see Naming Nodes section.

3 Description of Fonix Embedded Speech SDK Technology

SeeAutomatic Speech Recognition and Text-To-Speechsections in the Glossary of terms for details about the main technologies that make up Fonix Embedded Speech SDK.

4 Fonix Embedded Speech SDK APIs

The information about each function in the three sets of Embedded APIs has been carefully documented. The three sets of APIs are as follows:

Fonix ASR core APIs

Fonix audio in APIs

Fonix audio out APIs

Letter-to-word ASR APIs

Speaker-dependent ASR APIs

Multi-voice TTS APIs

5 Examples

To access sample projects, seeExamples section.

6. Glossary

To examine a list of terms and their definitions, see theGlossary section.

b) Project Workspace

As you begin, the program will display theIntroduction section, and then bring up the project workspace. When you are in the project workspace, you can view a brief description of an icon, node, or node connection by pointing to it. ATool_Tip will pop up in a small text box.

Figure: The project workspace

2. Product Description.

Fonix Embedded Speech SDK 2.0 gives you the ability to add Automatic Speech Recognition (ASR) and Text-To-Speech (TTS) technology to existing applications. Fonix Embedded Speech SDK includes three major components: an Integrated Development Environment (IDE) called the Fonix Embedded Builder, the ASR APIs, and the TTS APIs.

a) The Fonix Embedded Builder

The Fonix Embedded Builder provides a Microsoft Windows® -based GUI that executes on the PC and creates binaries that can execute on DSP (digital signal processor) platforms. The Windows interface simplifies testing and shortens development time. With the Fonix Embedded Builder, you can prototype and optimize before you generate application code. The binary files output by the Fonix Embedded Builder are used to add TTS and ASR functionality, allowing you to easily create speech applications.

Builder output

The Builder output contains four components: TTS content, ASR content, engine runtime parameters, and functional flow information. The content file instructs the TTS and ASR engines in both input and output functionality. The functional flow information is used for running demos and applications that were prototyped in the Builder without having to write additional code.

b) Engines

Fonix provides engines as a 'C' library that is precompiled for many different DSPs, microcontrollers, and RISC CPUs. This library includes support for TTS, ASR, and audio. By combining the platform-specific library, which consists of a simple API, your custom code, and the speech content file, you can create a complete application.

Operating systems

Fonix engines can run with or without operating systems. In addition to this, the audio is designed to run single or multi-threaded. The audio driver is set to get adequate CPU time to collect the samples at the correct sample rate. Interrupts, threads, and other events should not affect the recognition system.

Fonix provides libraries specific to platforms, operating systems, and compilers.

The Fonix Embedded Speech SDK engines are compiled to run on platforms that support file and fileless systems. Fonix engines do not require file access on DSPs. In these cases, all support is compiled into the executable. On platforms with file systems, the executable accesses the support files directly.

c) DSP speech development

The process for DSP speech development can be summarized in four main steps:

1 Prototype your application in the Fonix Embedded Builder and build the speech content file.

2 Write or use the Fonix audio drivers for the platform.

3 Add the Fonix APIs to the application.

4 Link the Fonix libraries and the speech content file to the application.

By following these steps, you can use Fonix Embedded Speech SDK to create applications with Fonix Automatic Speech Recognition and Text-To-Speech technology.

3. Building a Project.

Within this section, you will find step-by-step instructions on how to create, build, and simulate a project in the Fonix Embedded Builder.

a) Creating a project

Before you follow these instructions, it may be helpful to become familiar with the Node Palette section.

Placing nodes
1 Click theBeginning Nodeicon in the Node Palette, then click in the project workspace to place a Beginning Node. You may also drag from the Node Palette to the workspace to place a node.
2 Repeat step 1 using theWordSpotter Node and theEnding Node.
Linking nodes
3 Connect the nodes by clicking a bottom connector and without releasing the mouse button, drag the mouse pointer to a top connector.
4 Click the link between WordSpot1 and End1. When the link is selected, it will appear colored instead of black.
5 Adjust the link between the end of WordSpot1 and the beginning of WordSpot1 by clicking a point on the link and without releasing the mouse button, drag the pointer until the link bends around WordSpot1, then release the mouse button. You may put multiple bends in a link. SeeEditing Links section for more help with creating and editing connections. /

b) Assigning actions

You can assign actions to nodes with theNodestab.

1 In the Node Palette, click the Beginning Node, then click the Node Wizard to make the window active.

2 From the Exit command using recognition drop-down menu, select FnxPlayWave and type Sound528 inside the parentheses.

3 Select the WordSpotter Node, and then click the Node Wizard to make the window active.

4 Click the Prompt field and type Say quit.

5 Next, click the Error Message field and replace thedefault error message with “You did not say quit”.

6 Click the link that goes to the Ending Node. TheLinks tab should now be visible. In the Node Wizard, clickon the empty line below Recognition Words. You will have a cursor where you can type a recognition word.

7 Type “quit.” to the right of the word, below Phonemes, you will see thephonemesof the recognition word you typed (in this case, quit).

8. Select the link that goes to from the bottom of the WordSpotter Node to the top of the WordSpotter Node. In the Node Wizard, on separate lines for each word, type what, repeat, and again.

9 Select the Ending Node to make the Node Wizard active. In the Entry command drop down menu, select execute() and type splash.exe inside the parentheses.

10 Next, click the WordSpotter Node, then make the Node Wizard active. Click the play button to the right of the Prompt label to hear the Prompt. To hear the error message, click the play button to the right of the Error Message label. If you did not get sound output, make sure the speakers are functioning properly.

11 Select the Ending Node and apply a message to it. Click the Prompt field on the Node Wizard and type “bye”. Try the play button again.

12 Save the project by clickingFile menu, then Save. Type “Example1” as the file name, then click Save.

c) Building the project

The following steps will teach you how to build the project that you have created. This section assumes that you have previouslyassigned action using theNode Wizard.

1 Click the Build icon in theToolbar section.

2 A default dialog box will prompt you to save before building. You can change this default in theProject Setting section dialog accessed through theProject menu. For more information on building your project, seeBuild Menu section.

d) Simulate the project

To simulate the project, click the Go icon or select Build from theMenu bar and then click Go.

/ SeeSpeech Detection to learn more about the window that pops up while the project is simulating.

e) Example files

After completing this sample project, you may want to look at an additional sample projects. See Examples for more information.

1. Menu bar.

The Menu bar provides access to a great deal of functionality in the Fonix Embedded Builder. Click a menu item in the figure below to link to the corresponding description.

2. File menu.

In the figure below, click a menu item to jump to the corresponding description. If you prefer, read through the entire section to learn about each feature available from File.

a) New

Select New to create a new project.

b) Open

Select Open to retrieve an existing project. A dialog box will appear allowing you to browse for an existing project. Builder project files have an .fcb extension.

c) Close

Select Close to close the current project. If changes have been made to the current project after your last save, you will be prompted to save your changes.

d) Save

Select Save to retain the changes you have made to the current project. This option will only be enabled when a change has been made.

e) Save As

Select Save As to save the current project with a new filename and location. A dialog box will appear allowing you to enter the new name and destination.

f) Print

Select Print in order to print the project workspace. A dialog box appears allowing you to set printer properties and control which pages to print, how many copies to make, and whether to send the project to the printer or to a file.

g) Print Preview

Select Print Preview to see how the project will look when printed.

h) Print Setup

Select Print Setup to set up printer options.

i) Recent Files

Recent Files lists previously opened projects which you can open by selecting them.

j) Exit

Select Exit to close the application. You will be prompted to save open projects if you have made changes.

3. Edit menu.

In the figure below, click a menu item to jump to the corresponding description. If you prefer, read through the entire section to learn about each feature available from Edit.

a)Cut

Select Cut to remove a selected node from the project workspace and save it to the clipboard.

b)Copy

Select Copy to duplicate a selected node from the project workspace and save it to the clipboard.

c)Paste

Select Paste to insert the contents of the clipboard to the project workspace.

d)Delete

Select Delete to remove the selection, including nodes and links, from the project.

e)Straighten

Straighten is only enabled when a node link is highlighted.Select Straighten to straighten the selected node link.

4. View menu.

In the figure below, click a menu item to jump to the corresponding description. If you prefer, read through the entire section to learn about each feature available from View.

a) Introduction On Startup

Select Introduction On STarup, to cause the introduction screen and accompanying audio file to play when the program begins.

b) Toolbar

Selected Toolbar to display the Toolbar at the top of the project workspace.

c) Status Bar

Select Status Bar to display a status window at the bottom of the project workspace. The status window contains information such as whether number lock is on or off.

d) Node Palette

Select Node Palette to display the node icons on the left side of the project workspace.

e) Record Levels

Select RecordLevels to have the Speech Detection dialog will pop up after you select Go on the Build menu. You can change the recording lengths by selecting Project from the Menu bar, then clicking Recognition.

f) Node Wizard

Select NodeWizard to display the Node Wizard dialog box while creating or debugging a project.

g) Inspect Recognition

Select Inspect Recognition to display the Inspect Recognition dialog box automatically when you simulate a project.

h) Node ID

Select Node ID to view the Node ID dialog box, listing all the project nodes, types, and ID numbers.

5. Project menu.

In the figure below, click a menu item to jump to the corresponding description about each feature available from the Project menu.

a) Recognition

Select Recognition to set or change Automatic Speech Recognition (ASR) settings. See Recognition Parameters section for more information.

b) TTS Prompts

Select TTS Prompts to enter additional Text-To-Speech (TTS) prompts. See TTS Prompts section for more information.

c) Audio

Select Audio to set or change your project audio settings. See Audio Settings section for more information.

d) Settings

Select Settings to set or change project settings. See Project Settings section for more information.

6. Build menu.

In the figure below, click a menu item to jump to the corresponding description. If you prefer, read through the entire section to learn about each feature available from Build.

a) Build

Select Build to build the project. This will compile the project and inform you of any errors encountered. The project cannot be simulated without a successful build.

b) Go

Select Go to start the simulation. You can also simulate using Step Into.

c) Restart

Select Restart to cause the simulation to start over. This button is enabled only after simulation has begun.

d) Stop

Select Stop to stop the simulation. You may have to wait while the operating system closes audio devices. This button is enabled only after simulation has begun. Upon stopping the simulation, the Node Wizard will appear if you have not deselected Node Wizard under the View menu.

e) Break Execution

Select Break Execution will pauses execution of the simulation.

f) Step Into

Select Step Into to single step in a simulation. This will allow you to step through the simulation a node at a time.

7. Options menu.

In the figure below, click a menu item to jump to the corresponding description about each feature available from Options.

a) Editor

Select Editor to set or change Editor option.

b) Build

Select Build to access the Build dialog box.

8. Window menu.

In the figure below, click a menu item to jump to the corresponding description. If you prefer, read through the entire section to learn about each feature available from Window.

a)Cascade

Select Cascade to layer all opened project windows so that the title of each one is visible.

b)Tile

Select Tile to arrange all opened project on the same layer.

c)Current and previous projects

At the bottom of the Window menu, a list displays the current project on which you are working, as well as recent projects. The current project has a check mark next to it. You can open another project by selecting it from this list.

9. Help menu.

In the figure below, click a menu item to jump to the corresponding description. If you prefer, read through the entire section to learn about each feature available from Help.

a)Contents

Select Contents to display the contents of the current help file.

b)About Builder...

Select About Builder... to view the current copyright information and version number.

1. Toolbar.

The buttons on the Toolbar give you quick access to common application commands that you can also access from the Menu bar.

In the figure below, click an icon to jump to the corresponding description. If you prefer, read through the entire section to learn about the functionality of each feature.