USER‘S MANUAL
OF
Written and designed by: HUNG NGUYEN
Software design: PHUONG THAN
Research: Honghuong Nguyen
TABLE OF CONTENTS
- How do I get started?
- Getting started
- Product description
- Building a project
- What does the Menu bar include?
- Menu bar
- File menu
- Edit menu
- View menu
- Project menu
- Build menu
- Options menu
- Window menu
- Help menu
- What does the Toolbar include?
- Toolbar
- How can I use nodes?
- Node palette
- Node types
- Naming nodes
- Node ID
- How can node Wizard help me?
- Node Wizard
- Node Wizard Nodes
- Node Wizard Links
- Node Wizard Commands
- Node Wizard ASR Durations
- How do I create a grammar?
- Grammar Information
- How can I improve my project?
- Customizing TTS
- Testing
- What resources are available?
- Examples
- Revision history
- Troubleshooting
- 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 nodes1 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.