dsPIC30F Speech Recognition Word Library Builder User's Guide

Sep 27, 2004 - In addition, Microchip's quality system for the design ..... and toolbar commands used by the dsPIC30F Speech Recognition ... Appendix A: Master Library – This appendix lists the vocabulary that can be used for .... Windows XP ... program is downloaded from the Microchip web site, run WLBsetup.exe from.
2MB taille 12 téléchargements 257 vues
dsPIC30F SPEECH RECOGNITION WORD LIBRARY BUILDER USER’S GUIDE

 2004 Microchip Technology Inc.

DS70137B

Note the following details of the code protection feature on Microchip devices: •

Microchip products meet the specification contained in their particular Microchip Data Sheet.



Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the intended manner and under normal conditions.



There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip’s Data Sheets. Most likely, the person doing so is engaged in theft of intellectual property.



Microchip is willing to work with the customer who is concerned about the integrity of their code.



Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not mean that we are guaranteeing the product as “unbreakable.”

Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our products. Attempts to break Microchip’s code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act.

Information contained in this publication regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip’s products as critical components in life support systems is not authorized except with express written approval by Microchip. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.

Trademarks The Microchip name and logo, the Microchip logo, Accuron, dsPIC, KEELOQ, microID, MPLAB, PIC, PICmicro, PICSTART, PRO MATE, PowerSmart, rfPIC, and SmartShunt are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. AmpLab, FilterLab, MXDEV, MXLAB, PICMASTER, SEEVAL, SmartSensor and The Embedded Control Solutions Company are registered trademarks of Microchip Technology Incorporated in the U.S.A. Analog-for-the-Digital Age, Application Maestro, dsPICDEM, dsPICDEM.net, dsPICworks, ECAN, ECONOMONITOR, FanSense, FlexROM, fuzzyLAB, In-Circuit Serial Programming, ICSP, ICEPIC, Migratable Memory, MPASM, MPLIB, MPLINK, MPSIM, PICkit, PICDEM, PICDEM.net, PICLAB, PICtail, PowerCal, PowerInfo, PowerMate, PowerTool, rfLAB, rfPICDEM, Select Mode, Smart Serial, SmartTel and Total Endurance are trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. SQTP is a service mark of Microchip Technology Incorporated in the U.S.A. All other trademarks mentioned herein are property of their respective companies. © 2004, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved. Printed on recycled paper.

Microchip received ISO/TS-16949:2002 quality system certification for its worldwide headquarters, design and wafer fabrication facilities in Chandler and Tempe, Arizona and Mountain View, California in October 2003. The Company’s quality system processes and procedures are for its PICmicro® 8-bit MCUs, KEELOQ® code hopping devices, Serial EEPROMs, microperipherals, nonvolatile memory and analog products. In addition, Microchip’s quality system for the design and manufacture of development systems is ISO 9001:2000 certified.

DS70137B-page ii

 2004 Microchip Technology Inc.

dsPIC30F SPEECH RECOGNITION WORD LIBRARY BUILDER USER’S GUIDE Table of Contents Preface ........................................................................................................................... 1 Chapter 1. Introduction 1.1 Introduction ..................................................................................................... 7 1.2 Highlights ........................................................................................................ 7 1.3 Functional Features ........................................................................................ 7 1.4 System Requirements .................................................................................... 8 1.5 Software Components .................................................................................... 8

Chapter 2. Installation 2.1 Introduction ..................................................................................................... 9 2.2 Highlights ........................................................................................................ 9 2.3 System Resources ......................................................................................... 9 2.4 Installation Procedure ................................................................................... 10 2.5 Uninstall Procedure ...................................................................................... 12

Chapter 3. Overview 3.1 Introduction ................................................................................................... 13 3.2 Highlights ...................................................................................................... 13 3.3 Word Library Builder Overview ..................................................................... 13

Chapter 4. Build Process 4.1 Introduction ................................................................................................... 17 4.2 Highlights ...................................................................................................... 17 4.3 Overview ...................................................................................................... 17 4.4 Word Selection ............................................................................................. 18 4.5 Word Training ............................................................................................... 19 4.6 Create Output Files ...................................................................................... 21 4.7 Editing Word Libraries .................................................................................. 23

Chapter 5. Commands 5.1 Introduction ................................................................................................... 25 5.2 Highlights ...................................................................................................... 25 5.3 Main Menu .................................................................................................... 25 5.4 Toolbar ......................................................................................................... 26

Chapter 6. Word Selection 6.1 Introduction ................................................................................................... 27 6.2 Highlights ...................................................................................................... 27 6.3 Word Library Considerations ........................................................................ 27

 2004 Microchip Technology Inc.

DS70137B-page iii

dsPIC30F Speech Recognition Word Library Builder User’s Guide Appendix A. Master Library A.1 Introduction .................................................................................................. 33

Appendix B. Sample Libraries B.1 Introduction .................................................................................................. 35

Index .............................................................................................................................39 Worldwide Sales and Service .....................................................................................40

DS70137B-page iv

 2004 Microchip Technology Inc.

dsPIC30F SPEECH RECOGNITION WORD LIBRARY BUILDER USER’S GUIDE

Preface NOTICE TO CUSTOMERS All documentation becomes dated, and this manual is no exception. Microchip tools and documentation are constantly evolving to meet customer needs, so some actual dialogs and/or tool descriptions may differ from those in this document. Please refer to our web site (www.microchip.com) to obtain the latest documentation available. Documents are identified with a “DS” number. This number is located on the bottom of each page, in front of the page number. The numbering convention for the DS number is “DSXXXXXA”, where “XXXXX” is the document number and “A” is the revision level of the document. For the most up-to-date information on development tools, see the MPLAB® IDE on-line help. Select the Help menu, and then Topics to open a list of available on-line help files.

INTRODUCTION The dsPIC30F Speech Recognition Word Library Builder helps users build the speech recognition vocabulary for a voice controlled application embedded on a dsPIC30F Digital Signal Processor. This manual is used in conjunction with the dsPIC30F Speech Recognition Library User’s Guide (DS70140). Items discussed in this chapter include: • • • • • • •

Document Layout Conventions Used in this Guide Warranty Registration Recommended Reading The Microchip Web Site Development Systems Customer Change Notification Service Customer Support

 2004 Microchip Technology Inc.

DS70137B-page 1

dsPIC30F Speech Recognition Word Library Builder User’s Guide DOCUMENT LAYOUT This user’s guide provides step-by-step instructions for installing and operating the dsPIC30F Speech Recognition Word Library Builder on a PC or laptop computer. The document is organized as follows: • Chapter 1: Introduction – This chapter introduces the dsPIC30F Speech Recognition Word Library Builder and defines the minimum system support requirements. • Chapter 2: Installation – This chapter provides instructions for installing the dsPIC30F Speech Recognition Word Library Builder. • Chapter 3: Overview – This chapter provides a high-level explanation of the role of the word library as a component of the dsPIC30F Speech Recognition Library. • Chapter 4: Library Building – This chapter provides detailed procedures for creating and training a word library and preparing library files to interface with an embedded application. • Chapter 5: Commands – This chapter provides a reference source for the menu and toolbar commands used by the dsPIC30F Speech Recognition Word Library Builder. • Chapter 6: Selecting an Appropriate Word Library – This chapter provides information to help users choose an effective vocabulary for their speech recognition user interface. • Appendix A: Master Library – This appendix lists the vocabulary that can be used for verbal control of the user's application. • Appendix B: Sample Libraries – This appendix contains sample word libraries for a number of typical speech controlled applications.

DS70137B-page 2

 2004 Microchip Technology Inc.

Preface CONVENTIONS USED IN THIS GUIDE This manual uses the following documentation conventions: DOCUMENTATION CONVENTIONS Description Arial font: Italic characters Initial caps

Quotes Underlined, italic text with right angle bracket Bold characters ‘bnnnn Text in angle brackets < > Courier font: Plain Courier

Italic Courier 0xnnnn Square brackets [ ] Curly brackets and pipe character: { | } Ellipses...

Represents

Examples

Referenced books Emphasized text A window A dialog A menu selection A field name in a window or dialog A menu path

MPLAB IDE User’s Guide ...is the only compiler... the Output window the Settings dialog select Enable Programmer “Save project before build”

A dialog button A tab A binary number where n is a digit A key on the keyboard

Click OK Click the Power tab ‘b00100, ‘b10

File>Save

Press ,

Sample source code Filenames File paths Keywords Command-line options Bit values A variable argument

#define START autoexec.bat c:\mcc18\h _asm, _endasm, static -Opa+, -Opa0, 1 file.o, where file can be any valid filename A hexadecimal number where 0xFFFF, 0x007A n is a hexadecimal digit Optional arguments mcc18 [options] file [options] Choice of mutually exclusive errorlevel {0|1} arguments; an OR selection Replaces repeated text var_name [, var_name...] Represents code supplied by void main (void) user { ... }

WARRANTY REGISTRATION Please complete the enclosed Warranty Registration Card and mail it promptly. Sending in the Warranty Registration Card entitles users to receive new product updates. Interim software releases are available at the Microchip web site.

 2004 Microchip Technology Inc.

DS70137B-page 3

dsPIC30F Speech Recognition Word Library Builder User’s Guide RECOMMENDED READING This user's guide describes how to use dsPIC30F Speech Recognition Library. Other useful documents are listed below. The following Microchip documents are available and recommended as supplemental reference resources. Readme for dsPIC30F Speech Recognition Library For the latest information on using dsPIC30F Speech Recognition Library, read the “Readme for dsPIC30F Speech Recognition Library.txt” file (an ASCII text file) in the doc subdirectory of the Speech Recognition Library installation directory. The Readme file contains update information and known issues that may not be included in this user’s guide. dsPIC30F Family Reference Manual (DS70046) Consult this document for detailed information on dsPIC30F device operation. This reference manual explains the operation of the dsPIC30F MCU family architecture and peripheral modules but does not cover the specifics of each device. Refer to the appropriate device data sheet for device-specific information. dsPIC30F Programmer’s Reference Manual (DS70030) This manual is a software developer’s reference for the dsPIC30F 16-bit MCU family of devices. This manual describes the instruction set in detail and also provides general information to assist users in developing software for the dsPIC30F MCU family. dsPIC30F Family Overview (DS70043) This document provides an overview of the functionality of the dsPIC product family. Its purpose is to help determine how the dsPIC 16-bit Digital Signal Controller Family fits a specific product application. This document is a supplement to the dsPIC30F Family Reference Manual. dsPIC30F Data Sheet, Motor Control and Power Conversion Family (DS70082) Consult this document for detailed information on the dsPIC30F Motor Control and Power Conversion devices. Reference information found in this data sheet includes: • • • •

Device memory map Device pinout and packaging details Device electrical specifications List of peripherals included on the device

dsPIC30F5011, dsPIC30F5013 Data Sheet, High Performance Digital Signal Controllers (DS70116) This data sheet contains specific information for the dsPIC30F5011/5013 Digital Signal Controller (DSC) devices. dsPIC30F6011, dsPIC30F6012, dsPIC30F6013, dsPIC30F6014 Data Sheet, High Performance Digital Signal Controllers (DS70117) This data sheet contains specific information for the dsPIC30F6011/6012/6013/6014 DSC devices. MPLAB ASM30, MPLAB LINK30 and Utilities User’s Guide (DS51317) This document includes detail on Microchip Technology’s language tools for dsPIC® devices based on GNU technology. The language tools discussed are: • • • •

DS70137B-page 4

MPLAB ASM30 Assembler MPLAB LINK30 Linker MPLAB LIB30 Archiver/Librarian Other Utilities

 2004 Microchip Technology Inc.

Preface MPLAB C30 C Compiler User’s Guide and Libraries (DS51284) This document includes details on Microchip’s MPLAB C30 C compiler for dsPIC devices to develop an application. MPLAB C30 is a GNU-based language tool, based on source code from the Free Software Foundation (FSF). For more information about the FSF, see www.fsf.org. Other GNU language tools available from Microchip are: • MPLAB ASM30 Assembler • MPLAB LINK30 Linker • MPLAB LIB30 Librarian/Archiver MPLAB IDE Simulator, Editor User’s Guide (DS51025) Consult this document for more information pertaining to the installation and implementation of the MPLAB Integrated Development Environment (IDE) Software.

THE MICROCHIP WEB SITE Microchip provides online support via our WWW site at www.microchip.com. This web site is used as a means to make files and information easily available to customers. Accessible by using a favorite Internet browser, the web site contains the following information: • Product Support – Data sheets and errata, application notes and sample programs, design resources, user’s guides and hardware support documents, latest software releases and archived software • General Technical Support – Frequently Asked Questions (FAQ), technical support requests, online discussion groups, Microchip consultant program member listing • Business of Microchip – Product selector and ordering guides, latest Microchip press releases, listing of seminars and events, listings of Microchip sales offices, distributors and factory representatives

 2004 Microchip Technology Inc.

DS70137B-page 5

dsPIC30F Speech Recognition Word Library Builder User’s Guide DEVELOPMENT SYSTEMS CUSTOMER CHANGE NOTIFICATION SERVICE Microchip’s customer notification service helps keep customers current on Microchip products. Subscribers will receive e-mail notification whenever there are changes, updates, revisions or errata related to a specified product family or development tool of interest. To register, access the Microchip web site at www.microchip.com, click on Customer Change Notification and follow the registration instructions. The Development Systems product group categories are: • Compilers – The latest information on Microchip C compilers and other language tools. These include the MPLAB C17, MPLAB C18 and MPLAB C30 C compilers; MPASM™ and MPLAB ASM30 assemblers; MPLINK™ and MPLAB LINK30 object linkers; and MPLIB™ and MPLAB LIB30 object librarians. • Emulators – The latest information on Microchip in-circuit emulators.This includes the MPLAB ICE 2000 and MPLAB ICE 4000. • In-Circuit Debuggers – The latest information on the Microchip in-circuit debugger, MPLAB ICD 2. • MPLAB IDE – The latest information on Microchip MPLAB IDE, the Windows® Integrated Development Environment for development systems tools. This list is focused on the MPLAB IDE, MPLAB SIM and MPLAB SIM30 simulators, MPLAB IDE Project Manager and general editing and debugging features. • Programmers – The latest information on Microchip programmers. These include the MPLAB PM3 and PRO MATE® II device programmers and the PICSTART® Plus development programmer.

CUSTOMER SUPPORT Users of Microchip products can receive assistance through several channels: • • • • •

Distributor or Representative Local Sales Office Field Application Engineer (FAE) Technical Support Development Systems Information Line

Customers should contact their distributor, representative or field application engineer (FAE) for support. Local sales offices are also available to help customers. A listing of sales offices and locations is included in the back of this document. Technical support is available through the web site at: http://[email protected] In addition, there is a Development Systems Information Line which lists the latest versions of Microchip's development systems software products. This line also provides information on how customers can receive currently available upgrade kits. The Development Systems Information Line numbers are: 1-800-755-2345 – United States and most of Canada 1-480-792-7302 – Other International Locations

DS70137B-page 6

 2004 Microchip Technology Inc.

dsPIC30F SPEECH RECOGNITION WORD LIBRARY BUILDER USER’S GUIDE Chapter 1. Introduction 1.1

INTRODUCTION The dsPIC30F Speech Recognition Word Library Builder is a software tool that allows users to generate a word library and related speech recognition data files for the dsPIC30F Speech Recognition Library.

1.2

HIGHLIGHTS This chapter discusses: • Functional Features • System Requirements • Software Components

1.3

FUNCTIONAL FEATURES The dsPIC30F Speech Recognition Library simplifies the development process for a voice-activated user application by providing a predefined list of control words. The dsPIC30F Speech Recognition Word Library Builder lets users choose the specific vocabulary for their application and train the library for their operating environment (see Figure 1-1). FIGURE 1-1:

WORD LIBRARY BUILDER OVERVIEW dsPIC30F Device

Master Library

Word Library Builder

dsPIC30F Speech Recognition Word Library Builder

Data files

Word Library

dsPIC30F Speech Recognition Library API

Embedded User Application

The dsPIC30F Speech Recognition Word Library Builder is used to: • Create a custom library of words selected from the Master Library. • Train the library based on the noise environment of the application. • Build specific data files used by the dsPIC30F Speech Recognition Library in an application, including an optional sample utterance used for testing.

 2004 Microchip Technology Inc.

DS70137B-page 7

dsPIC30F Speech Recognition Word Library Builder User’s Guide 1.4

SYSTEM REQUIREMENTS The dsPIC30F Speech Recognition Word Library Builder runs on a PC platform with these minimum performance characteristics: • • • •

1.5

PC-compatible 386 or newer 16 MB memory (32 MB recommended) 16 MB hard disk space (20 MB recommended) Microsoft Windows® 98, Windows NT®, Windows 2000 or Windows XP operating system.

SOFTWARE COMPONENTS The dsPIC30F Speech Recognition Word Library Builder is distributed on a product CD. The following components are included: • dsPIC30F Speech Recognition Word Library Builder program • Speech database containing word models for the dsPIC30F Speech Recognition Master Library

DS70137B-page 8

 2004 Microchip Technology Inc.

dsPIC30F SPEECH RECOGNITION WORD LIBRARY BUILDER USER’S GUIDE Chapter 2. Installation 2.1

INTRODUCTION This chapter provides instructions for installing the dsPIC30F Speech Recognition Word Library Builder on a PC or laptop computer.

2.2

HIGHLIGHTS Information presented in this chapter includes: • System Resources • Installation Procedure • Uninstall Procedure

2.3

SYSTEM RESOURCES The dsPIC30F Speech Recognition Word Library Builder requires the following resources on a PC: • Operating System: Microsoft Windows 98, Windows 2000, Windows NT and Windows XP • Disk Space: 0.7 MB minimum for Word Library Builder components • Disk Space: 15 MB minimum for Speech Database components

 2004 Microchip Technology Inc.

DS70137B-page 9

dsPIC30F Speech Recognition Word Library Builder User’s Guide 2.4

INSTALLATION PROCEDURE The Word Library Builder is packaged on a CD. It can also be purchased and downloaded from the Microchip web site. To install the library follow these steps: 1. Insert the CD into the appropriate drive and start the setup procedure. If the program is downloaded from the Microchip web site, run WLBsetup.exe from the download location. The Word Library Builder installation screen displays, as shown in Figure 2-1. FIGURE 2-1:

INSTALLATION WELCOME SCREEN

2. Click Next > on the Welcome dialog, then review and accept the License (see Figure 2-2). FIGURE 2-2:

SOFTWARE LICENSE AGREEMENT SCREEN

Review license agreement and click Yes to accept.

DS70137B-page 10

 2004 Microchip Technology Inc.

Installation 3. Specify where to install the program files and the folder for the program icons as shown in Figure 2-3. FIGURE 2-3:

FILE LOCATION AND SETUP DIALOGS

Select a folder for the program, then click Next >

Accept or change location for icons, then click Next >

 2004 Microchip Technology Inc.

DS70137B-page 11

dsPIC30F Speech Recognition Word Library Builder User’s Guide 4. Installation progress displays briefly as the files are installed, then the Setup Complete dialog displays, as shown in Figure 2-4. FIGURE 2-4:

SETUP COMPLETE DIALOG

5. Click Finish.

2.5

UNINSTALL PROCEDURE To uninstall the dsPIC30F Speech Recognition Word Library Builder: 1. 2. 3. 4.

DS70137B-page 12

From Start select Settings > Control Panel. From the Control Panel window, select Add/Remove Programs. Select Microchip Word Library Builder and click Change/Remove. Follow the Windows uninstall procedures.

 2004 Microchip Technology Inc.

dsPIC30F SPEECH RECOGNITION WORD LIBRARY BUILDER USER’S GUIDE Chapter 3. Overview 3.1

INTRODUCTION The dsPIC30F Speech Recognition Library allows users to include an audio user interface in an embedded control application on the dsPIC30F Digital Signal Processor while using only a modest amount of program and data memory. The dsPIC30F Speech Recognition Word Library Builder prepares the data files that are used for recognition.

3.2

HIGHLIGHTS This chapter discusses: • • • • •

3.3

Word Library Builder Overview Master Library Word Library Noise Profile Memory Profile

WORD LIBRARY BUILDER OVERVIEW The dsPIC30F Speech Recognition Library allows the user to control an application by uttering discrete words into a microphone. The word library is a predefined list of command words that are relevant to both the application program and the user. Upon recognition of a word, the application program takes a corresponding action. The dsPIC30F Speech Recognition Word Library Builder is used to select appropriate words from a master word library and train the library for the specific noise environment of an application, as depicted in Figure 3-1. FIGURE 3-1:

WORD LIBRARY BUILD PROCESS Word Library

Master Library

Select Words

Choose Keyword

Save and Name Library

Define Noise Profile

Train Word Library

Create Data Files

Words appropriate for controlling the user application are selected from the Master Library – 100 common command words. From the list of selected words, a keyword is designated. This keyword is used to test the library and can also be used to initiate speech recognition. The word list is then given a library name and saved. Next the ambient sound condition of the application environment is profiled by identifying the noise type (white, car or office noise) and the signal-to-noise ratio (SNR). The word library is then trained for the defined noise profile. The training process results in a Vector Codebook (VCB) appropriate for the noise profile, a Hidden Markov Model (HMM) for each word and a test utterance file.

 2004 Microchip Technology Inc.

DS70137B-page 13

dsPIC30F Speech Recognition Word Library Builder User’s Guide 3.3.1

Master Library

The master library is currently a list of 100 common words that have been identified by research and testing as effective in speech recognition applications. Based on this master list, Vector Codebook characteristics have been identified and catalogued in the dsPIC30F Speech Recognition Word Library Builder to be used in a wide range of noise profiles. The words that comprise the master library are listed in Appendix A. “Master Library”.

3.3.2

Word Library

The Word Library is the list of words users select from the master library. Each word library is a file with the extension ‘swl’ (e.g., [filename].swl). The file name is the name choosen when the library is saved. The word library can contain up to 100 words, but they must be chosen from the Master Library. In deciding which words to include in the word library users should avoid selecting words that sound alike. For example, using “step” and “stop” in the same library could lead to incorrect responses in the application. It is a good idea to avoid a large word library. Aside from the obvious benefit of less memory required, a smaller word library generally improves accuracy. In other words, sounds that don’t match words in the word library are easily rejected as not supported. Advice on selecting an appropriate vocabulary for a speech recognition user interface is given in Chapter 6. “Word Selection”. A number of sample word libraries are listed in Appendix B. “Sample Libraries”.

3.3.3

Keyword

One word in the library must be designated as a keyword. The primary purpose of the keyword is to activate speech recognition. For example, an application might require the end user to utter the keyword before the Speech Recognition Library will recognize any other word in the library. This feature allows the application library to ignore all other words until the keyword is uttered. A secondary purpose of the keyword is to provide testing support. A sample utterance of the keyword can be stored in memory and used to test the hardware audio path of a system. The sample utterance is useful for development, but may not be practical for an end application. Both features of the keyword are optional and enabled from the Speech Recognition Library API (defined in the Speech Recognition Library User's Guide). Even if users choose not to use the keyword features in their application, they must still select a keyword to enable Word Library training.

3.3.4

Noise Profile

The word library also includes a noise profile that takes into account the audio background environment of the user application. Background interference can include white noise, office noise and passenger compartment (car) noise components in any mixture. The noise profile is defined by the type of noise and the signal-to-noise ratio. The total signal-to-noise ratio should be no less than 15 dB. A signal level above the noise threshold is presumed to be an incoming word. The noise profile is an attribute of the training process. It determines parameters for selecting a “best match” Vector Codebook, which in turn is used to generate HMM word models for each word in the word library. During the training process, a sample utterance of the keyword is chosen for recognition self-testing.

DS70137B-page 14

 2004 Microchip Technology Inc.

Overview 3.3.5

Memory Profile

Training settings also allow the Vector Codebook, HMM library and keyword utterance to be allocated to either program memory, internal to the dsPIC30F device, or external memory. To help users decide how to allocate memory, the size of the corresponding output files is estimated and displayed before training is started. Average memory requirements are as follows: Hidden Markov Model – 1536 bytes for each word in word library Vector Codebook – 8096 bytes Keyword data file – determined by size of the keyword utterance The actual file sizes are determined after training is completed. Note:

 2004 Microchip Technology Inc.

For information on the memory requirements of the dsPIC30F Speech Recognition Library executable, see the dsPIC30F Speech Recognition Library User’s Guide (DS70140).

DS70137B-page 15

dsPIC30F Speech Recognition Word Library Builder User’s Guide NOTES:

DS70137B-page 16

 2004 Microchip Technology Inc.

dsPIC30F SPEECH RECOGNITION WORD LIBRARY BUILDER USER’S GUIDE Chapter 4. Build Process 4.1

INTRODUCTION The dsPIC30F Speech Recognition Library provides an audio interface for controlling an embedded application on the dsPIC30F Digital Signal Processor. This chapter provides step-by-step instructions for creating the vocabulary for the audio interface using the dsPIC30F Speech Recognition Word Library Builder.

4.2

HIGHLIGHTS Information in this chapter includes: • • • • •

4.3

Overview Word Selection Word Training Create Output Files Editing Word Libraries

OVERVIEW There are three primary tasks involved in building a word library, as summarized in Figure 4-1. FIGURE 4-1:

WORD LIBRARY BUILDING PROCESS SELECT

TRAIN

CREATE

Master Library

Select Words

Word Library

Choose Keyword

Save and Name Library

SELECT CONTROL WORDS AND NAME THE WORD LIBRARY

Define Noise Profile

Train Word Library

TRAIN WORD LIBRARY FOR NOISE PROFILE

Create Data Files GENERATE DATA FILES

1. Select specific words from the Master Library, identify the keyword and name the word library. 2. Define the noise profile of the application environment and train the word library for this environment 3. Create the interface files needed by the dsPIC30F Speech Recognition Library and the user application. Note:

 2004 Microchip Technology Inc.

It is recommended that a separate folder be set up for each word library built. Keeping libraries in separate folders allows them to be more easily maintained.

DS70137B-page 17

dsPIC30F Speech Recognition Word Library Builder User’s Guide 4.4

WORD SELECTION Follow these steps to create a new word library. 1. Launch Word Library Builder (see Figure 4-2). FIGURE 4-2:

WORD LIBRARY BUILDER OPEN SCREEN

2. Select File>New. The Master Library list displays, as shown in Figure 4-3. FIGURE 4-3:

MASTER LIBRARY LIST

3. Select the words desired from the Master Library (right window pane) and use the left arrow key to move them to the Word Library (left window pane). The selected words are marked in the Master Library and are listed in the Word LIbrary. 4. After building the Word Library list, choose and double click the keyword. The keyword icon is noted with a red center.

DS70137B-page 18

 2004 Microchip Technology Inc.

Build Process 5. Select File>Save As. The Save Word Library dialog displays, as shown in Figure 4-4. FIGURE 4-4:

SAVE AS DIALOG

6. Create a new folder, then save the word library in this library. Note:

4.5

Consider using the same name for the folder and word library. For example, if users want to name their word library MyLibrary, create a folder named MyLibrary, then save the word library in that folder.

WORD TRAINING After the word library is built and saved, it must be trained for the specific noise profile of the application environment. This process determines which Vector Codebook offers the best matching characteristics for the selected words and noise profile. In turn, the selected Vector Codebook is used to train the Hidden Markov Model for each word. And finally, a sample test utterance of the keyword is created. The Noise profile is defined by the signal-to-noise ratio between the sound utterance and the background noise level. The background noise can be defined as percentages of the basic noise types – White, Car and Office. Pre-defined noise profiles and their characteristics are listed in Table 4-1. If operating in an environment with no noise, select the White – 50 dB noise profile to perform library training. TABLE 4-1:

PRE-DEFINED NOISE PROFILES Noise type (%)

SNR level (dB)

White

Car

Office

1 (White – 50 dB)

50

100

0

0

2 (White – 15 dB)

15

100

0

0

3 (Car – 15 dB)

15

0

100

0

4 (Office – 15 dB)

15

0

0

100

5 (White/Car – 15 dB)

15

50

50

0

6 (White/Office – 15 dB)

15

50

0

50

7 (Car/Office – 15 dB)

15

0

50

50

8 (Mixed – 15 dB)

15

34

33

33

Profile

 2004 Microchip Technology Inc.

DS70137B-page 19

dsPIC30F Speech Recognition Word Library Builder User’s Guide Follow these steps to train the word library: 1. Select Training>Train Word Library. The noise profile dialog displays (Figure 4-5). FIGURE 4-5:

LIBRARY NOISE PROFILE DIALOG

2. Choose either User or Standard noise profile type. If Standard is chosen, the drop-down list is active, and one of the pre-defined profiles can be selected. If User is chosen, the custom profile data boxes are active and profile information must be entered. A user defined noise profile allows the assignment of arbitrary SNR levels and noise types within these defined limits: • The signal-to-noise ratio of any one noise component can be between 15 dB and 50 dB. • The sum of percentages for all noise types (White + Car + Office) must equal 100% (e.g., see Mixed Profile in Table 4-1). 3. Click Start. The noise profile dialog extends to display the training progress, then a message dialog displays Training is Completed! (Figure 4-6) 4. Click OK. FIGURE 4-6:

TRAINING COMPLETE MESSAGE

.

Note:

DS70137B-page 20

The training process creates an intermediate file ([filename].sdf) that is used to create the output files (Section 4.6).

 2004 Microchip Technology Inc.

Build Process 4.6

CREATE OUTPUT FILES The final task in building a word library is to create the output files needed to interface with the dsPIC30F Speech Recognition Library and the embedded user application. Output files are created with the base name ([filename]) of the word library and saved in the folder created for the library when the library was named (see Section 4.4 “Word Selection”).There are four files generated by the library training process: • [filename]_int.s – Data files for the Vector Codebook, Hidden Markov Models and the Keyword sample that are allocated to internal memory. • [filename]_ext.s – Data files for the Vector Codebook, Hidden Markov Models and the Keyword sample that are allocated to external memory. • [filename].h – Header file that contains a set of constants for each word in the word library. This file is used to interpret the value returned by the SR_Recognizer() function in the dsPIC30F Speech Recognition Library. • [filename]_voc.s – Data file that contains the ASCII string of each word in the library. This file is used with the dsPIC30F Speech Recognition Library demonstration program to display the actual library word on the LCD on the dsPICDEM 1.1 Develoment Board. Note:

 2004 Microchip Technology Inc.

The dsPIC30F family of digital signal processors does not have a dedicated external memory bus. However, an external, non-volatile memory can be interfaced to the dsPIC30F using general purpose I/O pins. The speech recognition library supports an external memory interface that is suitable for testing the library on the dsPICDEM1.1 Development Board. See the dsPIC30F Speech Recognition Library User’s Guide (DS70140) for more information on using this interface.

DS70137B-page 21

dsPIC30F Speech Recognition Word Library Builder User’s Guide Follow these steps to create the output files: 1. Select Training>Create Data. The memory allocation dialog opens (Figure 4-7). FIGURE 4-7:

MEMORY ALLOCATION DIALOG

2. Decide if the keyword test utterance file should be included. To include the test utterance file, check either internal or external. To exclude the test utterance file, leave both memory selections unchecked. 3. Allocate the Vector Codebook to either internal or external memory. 4. Decide how to allocate the HMM word model files. All the files can be placed in internal or external memory, or the files can be split with some internal and some external. Use the radio buttons to fix all word models to a memory location. Use the directional [] arrow keys to distribute the HMM across both memories. 5. Click OK. The output files are created. 6. When the completion message displays (Figure 4-8), click OK. FIGURE 4-8:

DS70137B-page 22

CREATE DATA COMPLETION MESSAGE

 2004 Microchip Technology Inc.

Build Process 4.7

EDITING WORD LIBRARIES The dsPIC30F Speech Recognition Word Library Builder allows the modification of existing word libraries. Words can be added or deleted. The keyword can be changed. The noise profile can be changed. And, the internal and external memory usage can be re-allocated. Follow these steps to edit a word library: 1. Launch Word Library Builder and open the library to be edited. The Word Library Builder displays the requested library (see Figure 4-9). The Window title bar displays the name of the word library. The title bar at the top of the window pane indicates the number of words in the library and the designated keyword. The status bar at the bottom of the window indicates the current noise profile and the amount of memory used by the Vector Codebook (CB), the Hidden Markov Models (HMM) and the Keyword data file (KW). FIGURE 4-9:

WORD LIBRARY DISPLAY SCREEN

Library name in window title bar Content summary in window pane title bar

Keyword file size

Codebook size

Noise Profile

HMM size

2. Select View>Edit. The edit window displays the word library and master library side by side. 3. Decide what action to take: Add a word to the library (see Section 4.7.1 “Add Words”). Delete a word from the library (see Section 4.7.2 “Delete Words”). Delete a word library (see Section 4.7.3 “Delete a Word Library”). Change the word library noise profile (see Section 4.7.4 “Change Word Library Noise Profile”). Re-allocate memory usage (see Section 4.7.5 “Re-Allocate Memory Usage”). Note:

 2004 Microchip Technology Inc.

Any changes made to an existing library require the user to re-train the library and re-create the output files.

DS70137B-page 23

dsPIC30F Speech Recognition Word Library Builder User’s Guide 4.7.1

Add Words

1. Select the word to be added from the master library. 2. Add it to the word library using the left arrow [] key 3. Repeat steps 1 and 2 as necessary, or use the or key to select multiple words. 4. Save the file.

4.7.3

Delete a Word Library

All of the words in a library can be deleted and an empty library file retained on the PC (for example, a test file). Or a word library can be totally deleted. To delete library words and retain the word library file: 1. Select all the words in the word library. 2. Send them back to the master library. 3. Save the file. To totally delete the word library file: 1. Locate the library folder on the hard drive. 2. Delete all the output files. 3. Delete the file folder.

4.7.4 1. 2. 3. 4.

Change Word Library Noise Profile

With the word library open, select Training>Train Word Library. Select the noise profile type and corresponding parameters. Click Start. Create new output files.

4.7.5

Re-Allocate Memory Usage

1. With the word library open, select Training>Create Data. 2. Allocate memory usage as appropriate for the application (see Section 4.6 “Create Output Files”). 3. Click OK 4. When the completion message displays, click OK

DS70137B-page 24

 2004 Microchip Technology Inc.

dsPIC30F SPEECH RECOGNITION WORD LIBRARY BUILDER USER’S GUIDE Chapter 5. Commands 5.1

INTRODUCTION This chapter provides a cross reference between dsPIC30F Speech Recognition Word Library Builder menu commands and available toolbar icons and keyboard shortcuts.

5.2

HIGHLIGHTS Information in this chapter includes: • Main Menu • Toolbar

5.3

MAIN MENU Table 5-1 lists the commands generated from the main menu and correlates the menu functions with available shortcut keys. TABLE 5-1:

MAIN MENU COMMANDS

Command

Shortcut

Description

File Menu New

Ctrl + N

Creates a new, empty word library

Open

Ctrl + O

Opens an existing word library

Save

Ctrl + S

Saves the word library to the current folder and gives the folder name to the library

Save As

Provides a save dialog to let the user select or create a folder and name the library

Close Exit

Closes the active word library Alt + F4

Exits from Word Library Builder program

View Menu Edit

Toggles between single pane view of word library to double pane view of both word library and master library

Refresh

Refreshes word library pane

Training Menu Train Word Library

Initiates training process

Create Data

Initiates process to allocate memory and create output files

Help Menu Help Contents About

 2004 Microchip Technology Inc.

F1

Opens on-line help Displays program version number and copyright notice

DS70137B-page 25

dsPIC30F Speech Recognition Word Library Builder User’s Guide 5.4

TOOLBAR Figure 5-1 correlates the toolbar icons with the main menu commands. dsPIC30F SPEECH RECOGNITION WORD LIBRARY BUILDER TOOLBAR

N

ew ( O File pe >N n e ( Sa Fil w) e ve > ( F Ope C lo ile> n) se S (F ave i ) le Ed >C it l os (V e) ie R w ef re > E sh di (V t) Tr ie ai w ni >R ng C ef W re re L at sh (T e ) ra D in at Ab in a ou g (T ra >Tr t( in H i n ain el Ex g> p W it >A Tr or (F b a ile ou in d L >E ib t) W ra or xi ry t) d ) Li br ar y

FIGURE 5-1:

DS70137B-page 26

 2004 Microchip Technology Inc.

dsPIC30F SPEECH RECOGNITION LIBRARY USER’S GUIDE Chapter 6. Word Selection 6.1

INTRODUCTION The success of a speech recognition user interface is highly dependent on the words used to control the application. The dsPIC30F Speech Recognition Library limits the possible vocabulary to 100 words to optimize recognition accuracy. This chapter offers advice on selecting an appropriate vocabulary for a speech recognition user interface.

6.2

HIGHLIGHTS This chapter discusses: • • • •

6.3

Word Library Considerations Word Selection Library Size Application Design Tips

WORD LIBRARY CONSIDERATIONS The dsPIC30F Speech Recognition Library has been developed to yield the highest possible accuracy. However, recognition accuracy depends on a number of factors: • Correct pronunciation of words by the speaker • Speaker’s voice quality • Ambient noise levels • Size of the HMM library • Similarity of words in the library For example, recognition accuracy could diminish for the following reasons: • The signal level is too low or too high. • The signal is too noisy (SNR < 15 dB). • Words in the library sound alike. Many of these parameters are largely out of the developer's control. However, there are two items that the developer must seriously consider when creating a word library. These are the words selected for the library and the size of the library.

6.3.1

Word Selection

The words selected for the word library have the greatest impact on recognition accuracy. Since the dsPIC30F Speech Recognition Library provides a speaker-independent solution, it is intended to accommodate a broad spectrum of users without requiring users to “train” the speech recognition logic. Users of a finished product will appreciate this valuable convenience. To provide high accuracy for all speakers of American English, speech data was collected from a large, equally-weighted demographic sampling of the American population. This data was then processed by speech recognition experts with the assistance of a world-class linguistic facility, to ensure the highest possible accuracy for the library.

 2004 Microchip Technology Inc.

DS70140A-page 27

dsPIC30F Speech Recognition Library User’s Guide Although a tremendous effort was made to build and test the word models used by the speech recognizer, there are certain limitations that the library may not be able to overcome. Since some words in the library sound very similar, it is possible for the speech recognizer to confuse these words, depending on how they are pronounced. The word pairs shown in Table 6-1 have demonstrated inconsistencies in speech recognition; i.e., one word is sometimes recognized as the other. It is recommended that these word pairs not be used together in the same library. TABLE 6-1:

WORD PAIRS TO AVOID

Word

Poorly Matched Words

arm

on

balance

down

bass

eight, tape

call

halt, home

cd

tv

down

balance

dvd

tv

eight

bass, tape

five

high

front

run

halt

call, home, pause, up

help

out

high

five, time

home

call, halt, phone

light

right

next

yes

off

office, up

office

off

on

arm

out

help

pause

halt

phone

home, zone

right

light

run

front

set

step

step

set

tape

bass, eight

time

high

tv

cd, dvd

up

halt, off

yes

next

zone

phone

The word pairs shown in Table 6-2 should also be avoided if possible. Although they have not demonstrated consistent unreliability, they could present potential problems depending on the environment in which the application is used. If any of these word pairs are chosen, be sure to experiment and test them thoroughly with a specific application.

DS70140A-page 28

 2004 Microchip Technology Inc.

Word Selection TABLE 6-2:

WORD PAIRS TO USE WITH CAUTION

Word

Poorly Matched Words

cd

dvd

clear

rear

door

four

dvd

cd

fan

scan

five

time

four

door, forward

forward

four

go

zone

high

pause

low

no

minutes

next

next

minutes

no

low

off

on

on

off

open

oven

oven

open

pause

high

rear

clear

scan

fan

seconds

seven

set

six

seven

seconds

six

set

time

five

zone

go

Generally speaking, the more unique a word is in a library, the less likely it is to be incorrectly identified or misinterpreted for another word. Some shorter words are more difficult to recognize than longer words because they produce fewer vector codebook features during the sampling phase. An effective way to achieve high recognition accuracy is to not only avoid these words pairs but also to avoid short words.

6.3.2

Library Size

The number of words in a library also has an impact on recognition accuracy. As the size of the library increases, the probability of an error in recognition will gradually increase simply because there are more opportunities to create an error. It is recommended that all libraries be kept as small as possible. Since each customer application is unique, no one rule-of-thumb can be applied for all customers. Libraries as large as fifteen words have been shown to yield high accuracy. Depending on the words in a specific library, operating conditions and required accuracy, more or fewer words may be used.

 2004 Microchip Technology Inc.

DS70140A-page 29

dsPIC30F Speech Recognition Library User’s Guide 6.3.3

Application Design Tips

6.3.3.1

KEYWORD ACTIVATION

To make a robust application, it is recommended that the keyword activation feature be utilized. This can be done by calling SR_Initialization()using either SR_Mode 0 or 2. In these modes, the recognizer will be less likely to act on extraneous noises that may be incorrectly identified as a valid word. When the library is enabled, it is constantly sampling microphone data, and it is possible that an external noise adequately above the noise threshold will be recognized as a word in the library. Utilizing the keyword activation feature will minimize the chance of this happening when the system is idle. 6.3.3.2

SOFTWARE MENUS

Even though there is only one keyword, it is possible to add software menus to an application using a state machine. Figure 6-1 illustrates a state machine for a simple application that uses a seven-word library: TABLE 6-3:

WORD LIBRARY FOR STATE MACHINE

Library Word

Control Function

control (keyword)

Enables the voice controlled user-interface

fan

Turns fan on

high

Switches fan speed to high

light

Toggles light on or off

low

Switches fan speed to low

off

Turns fan off

medium

Switches fan speed to medium

FIGURE 6-1:

RECOGNITION STATES “high” Ti

t ou me

“medium” other

“fan”

STATE 2 FAN

“c

tr on

Keyword recognized – LISTEN

STATE 0 Keyword Search

“low”

STATE 1

” ol

e Tim

other

“ligh t”

t ou

“off”

STATE 3 LIGHT

other Timeout

In this application a light and fan are voice activated. The light is toggled on and off. The fan is turned on, and when it is on it can be switched to high, medium or low speed or switched off. When the application is powered up, it enters STATE 0 (Keyword Search mode), where it waits for the keyword to be uttered.

DS70140A-page 30

 2004 Microchip Technology Inc.

Word Selection When the keyword (“control”) is recognized, the application enters STATE 1 (LISTEN mode) and listens for another incoming word. A new word must be processed within the application defined timeout period or the application reverts to Keyword Search mode (STATE 0). In STATE 1, when the word “fan” is recognized, the fan is turned ON and control passes to STATE 2. When the word “light” is recognized, the light is toggled on or off and control passes to STATE 3. STATE 2 responds only to the words “high”, ‘medium”, “low” and “off”. Any other word detected during STATE 2 is ignored. STATE 3 doesn’t respond to any word. When either of these states times out control reverts to STATE 0, which requires the keyword to be restated by the user. Each state prevents any false recognition by the library from affecting the application.

 2004 Microchip Technology Inc.

DS70140A-page 31

dsPIC30F Speech Recognition Library User’s Guide NOTES:

DS70140A-page 32

 2004 Microchip Technology Inc.

dsPIC30F SPEECH RECOGNITION WORD LIBRARY BUILDER USER’S GUIDE Appendix A. Master Library A.1

Introduction The master word library for the dsPIC30F Speech Recognition Library is a discrete list of 100 words from which vocabulary words can be chosen for a user application. Table A-1 lists the full possible vocabulary for the library. TABLE A-1:

MASTER WORD LIST

alarm

help

resume (“resume operation”)

answer

high

reverse

arm

home

right

back

in

run

balance

intercom

scan

bass (“bass and treble”)

left

seconds

brake

light

security

call

lock

select

camera

low

set

cancel

medium

seven

cd

minutes

shuffle

channel

motor

six

clear

mute

skip

close (“close the book”)

next

speaker

computer

nine

speed

control

no

start

cook

off

step

delete

office

stop

dial

okay

tape

disarm

on

temperature

door

one

three

down

open

time

dvd

out

track

eight

oven

treble

eject

pause

tv

e-mail

phone

two

fan

play

unlock

five

previous

up

forward

radio

volume

four

rear

yes

front

record (“record the movie”)

zero

go

redial

zone

halt

repeat

hangup

reset

 2004 Microchip Technology Inc.

DS70137B-page 33

dsPIC30F Speech Recognition Word Library Builder User’s Guide NOTES:

DS70137B-page 34

 2004 Microchip Technology Inc.

dsPIC30F SPEECH RECOGNITION WORD LIBRARY BUILDER USER’S GUIDE Appendix B. Sample Libraries B.1

Introduction This appendix contains sample word libraries for these applications: • • • • • •

Cell Phone Application Entertainment System Application Home Control Application Microwave Oven Application Security Control Application Stereo System Application

TABLE B-1:

CELL PHONE APPLICATION

Application:

Cell Phone

Keyword:

Phone

Word List:

Answer Call Dial Digits (0-9) Hang up Home Office Redial

TABLE B-2:

ENTERTAINMENT SYSTEM APPLICATION

Application:

Entertainment System

Keyword:

Control

Word List:

CD Channel Digits (0-9) DVD Down Eject Mute Play Radio Speaker Stop Tape TV Up Volume

 2004 Microchip Technology Inc.

DS70137A-page 35

dsPIC30F Speech Recognition Word Library Builder User’s Guide TABLE B-3: Application:

HOME CONTROL APPLICATION Home Control

Keyword:

Control

Word List:

Alarm Cancel Computer Digits (0-9) Door Fan Help Intercom Light Set Temperature

TABLE B-4:

MICROWAVE OVEN APPLICATION

Application:

Microwave / Oven

Keyword:

Oven

Word List:

Clear Cook Digits (0-9) High Low Medium Minutes Pause Seconds Start Stop

TABLE B-5:

SECURITY CONTROL APPLICATION

Application:

Security Control

Keyword:

Security

Word List:

Alarm Arm Camera Cancel Digits (0-9) Disarm Lock Resume Scan Set Unlock Zone

DS70137A-page 36

 2004 Microchip Technology Inc.

Sample Libraries TABLE B-6:

STEREO SYSTEM APPLICATION

Application:

Stereo System

Keyword:

Control

Word List:

Balance Bass Digits (0-9) Down Eject Forward Front Left Mute Pause Play Record Repeat Reverse Right Shuffle Skip Speaker Stop Up Volume

 2004 Microchip Technology Inc.

DS70137A-page 37

dsPIC30F Speech Recognition Word Library Builder User’s Guide NOTES:

DS70137A-page 38

 2004 Microchip Technology Inc.

dsPIC30F SPEECH RECOGNITION WORD LIBRARY BUILDER USER’S GUIDE Index A

M

Add Words ............................................................... 24

Main Menu ............................................................... 25 Master Library ......................................... 13, 14, 33, 35 Master Word List ...................................................... 33 Memory Profile ......................................................... 15 Microchip Web Site .................................................... 5

B Background Noise.................................................... 19

C Change Noise Profile ............................................... 24 Commands............................................................... 25 Customer Notification Service.................................... 6 Customer Support ...................................................... 6

D

N Noise Profile..................................................13, 14, 19

P Pre-defined Noise Profiles ....................................... 19

Delete Words ........................................................... 24 Documentation Conventions ........................................................ 3 Layout ................................................................. 2

R

F

S

Free Software Foundation ......................................... 5 GNU Language Tools ................................................ 5

Signal-to-Noise Ratio ....................................13, 14, 19 SNR. See also Signal-to-Noise Ratio Software Components................................................ 8 System Requirements............................................ 8, 9

H

T

Hidden Markov Model .........................................13, 19 HMM. See also Hidden Markov Model

Toolbar ..................................................................... 26

G

I

Reading, Recommended ........................................... 4 Readme...................................................................... 4 Re-Allocate Memory................................................. 24

V

Internet Address......................................................... 5

VCB. See also Vector Codebook Vector Codebook .................................... 13, 14, 19, 22

K

W

Keyword File ............................................................ 19

Warranty Registration ................................................ 3 Word Library............................................................. 14

 2004 Microchip Technology Inc.

DS70137B-page 39

WORLDWIDE SALES AND SERVICE AMERICAS

ASIA/PACIFIC

ASIA/PACIFIC

EUROPE

Corporate Office 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 480-792-7200 Fax: 480-792-7277 Technical Support: http:\\support.microchip.com Web Address: www.microchip.com

Australia - Sydney Tel: 61-2-9868-6733 Fax: 61-2-9868-6755

India - Bangalore Tel: 91-80-2229-0061 Fax: 91-80-2229-0062

China - Beijing Tel: 86-10-8528-2100 Fax: 86-10-8528-2104

India - New Delhi Tel: 91-11-5160-8632 Fax: 91-11-5160-8632

Austria - Weis Tel: 43-7242-2244-399 Fax: 43-7242-2244-393 Denmark - Ballerup Tel: 45-4420-9895 Fax: 45-4420-9910

China - Chengdu Tel: 86-28-8676-6200 Fax: 86-28-8676-6599

Japan - Kanagawa Tel: 81-45-471- 6166 Fax: 81-45-471-6122

France - Massy Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79

China - Fuzhou Tel: 86-591-8750-3506 Fax: 86-591-8750-3521

Korea - Seoul Tel: 82-2-554-7200 Fax: 82-2-558-5932 or 82-2-558-5934

Germany - Ismaning Tel: 49-89-627-144-0 Fax: 49-89-627-144-44

Atlanta Alpharetta, GA Tel: 770-640-0034 Fax: 770-640-0307 Boston Westford, MA Tel: 978-692-3848 Fax: 978-692-3821 Chicago Itasca, IL Tel: 630-285-0071 Fax: 630-285-0075 Dallas Addison, TX Tel: 972-818-7423 Fax: 972-818-2924 Detroit Farmington Hills, MI Tel: 248-538-2250 Fax: 248-538-2260 Kokomo Kokomo, IN Tel: 765-864-8360 Fax: 765-864-8387

China - Hong Kong SAR Tel: 852-2401-1200 Fax: 852-2401-3431 China - Shanghai Tel: 86-21-5407-5533 Fax: 86-21-5407-5066 China - Shenyang Tel: 86-24-2334-2829 Fax: 86-24-2334-2393 China - Shenzhen Tel: 86-755-8203-2660 Fax: 86-755-8203-1760 China - Shunde Tel: 86-757-2839-5507 Fax: 86-757-2839-5571

Singapore Tel: 65-6334-8870 Fax: 65-6334-8850 Taiwan - Kaohsiung Tel: 886-7-536-4818 Fax: 886-7-536-4803 Taiwan - Taipei Tel: 886-2-2500-6610 Fax: 886-2-2508-0102

Italy - Milan Tel: 39-0331-742611 Fax: 39-0331-466781 Netherlands - Drunen Tel: 31-416-690399 Fax: 31-416-690340 England - Berkshire Tel: 44-118-921-5869 Fax: 44-118-921-5820

Taiwan - Hsinchu Tel: 886-3-572-9526 Fax: 886-3-572-6459

China - Qingdao Tel: 86-532-502-7355 Fax: 86-532-502-7205

Los Angeles Mission Viejo, CA Tel: 949-462-9523 Fax: 949-462-9608 San Jose Mountain View, CA Tel: 650-215-1444 Fax: 650-961-0286 Toronto Mississauga, Ontario, Canada Tel: 905-673-0699 Fax: 905-673-6509

09/27/04

DS70137B-page 40

 2004 Microchip Technology Inc.