Download and install in a different folder, an old version of Phyton Project-SE (released before june 2006) development kit from a web archive, for example :http://web.archive.org/web/20041014063831/http://www.phyton.com/downloads/project-se.zipthen copy the MCASE.EXE binary file from the old \MCCSE\BIN folder to the latest one, for example (dos command, depending on your installation paths) : copy C:\Phyton\Proj-se\1_10_05\MCCSE\BIN\MCASE.EXE C:\Phyton\Proj-se\1_10_09\MCCSE\BIN

mikroC needs to know where to find the binary objects to link to your project (as FluentChip libraries, speech, sounds...), and the locations of the include files.Go to Tools -> Options -> Project -> Search Pathadd in the Path list the path to your project and the path to the Sensory FluentChip library, as well as other paths where to find other binary objects if needed ;add in the Include Path list the path to the Sensory FluentChip includes, as well as other paths where to find other includes if needed.

This should look like this :

Note : update Sensory path names with latest release number. Screen capture has been made with Fluentchip V2.0.14, but now the latest release is 3.0.7 so your path should be something like C:\Sensory\FC3_0_7\...

then click OK when finished.

To build the project, mikroC needs to know all of its parts.Go to Project -> Add to Project to add :

all the C and H source files (.c and .h) used in the project

config.mca file (assembler source code provided by Sensory, you can copy one without modification from a mikroC Sensory example folder to your project folder)

Download the ZIP file, unzip it to a new folder, then open the project with mikroC RSC-4X compiler.

A ready to flash .HEX file is packaged in the zipped file.

Instructions for use

This program learns and recognize four speaker-dependant keywords.

To train a keyword, press its button : the corresponding LED will start to blink. The program prompts to say the keyword twice, if the training is successful the LED is on, otherwise the LED is off.

The first keyword changes the animation style. There is a set of five animations for demonstration purpose.The second keyword slows the animation : the time between each step is increased.The third keyword speeds the animation : the time between each step is reduced.The fourth keyword stops the animation, and gives back control to the buttons.The program can say fourteen different phrases (prompt, error messages...) depending on context, please pop up the volume of the on-board speaker system.

The READY LED is on if all keywords are trained, you can then press the START button to start the LED light show : recognition mode is enabled.

The keywords templates and program status are stored to the VRStamp built-in EEPROM, the program restarts at power-up in the same status he was before power down.If you want to clear the templates and status, press the START button at power-up.

This picture is a summary of the set of Easy-VR Stamp board commands and controls of this project :

This video capture is a short demonstration of the training phase and the voice recognition mode :

C Source Code

This is the mikroC RSC-4X source code, as it is in the ZIP archive.Please use the zipped archive to get a ready-to-build project.

After power-up : train a keyword by pressing the corresponding button, then : - say the keyword after the prompt beep - repeat the same keyword after the prompt beep when all keywords have been trained (P1.0 to P1.3 LEDs ON), press P0.6 to enter recognition mode. when keyword 4 (exit animation) is recognized, the program exit recognition mode. * */

switch(_MakeTmpltWs(SETUP_TIMEOUT, 2, 2)) // record keyword again { case ERR_OK: // new record is successful _GetTmplt(slot) ; // read the previous template into internal memory _PutTmplt(slot) ; // put the new template to external memory, // so that successive tries are made with last records

fc4128zws.mcl is the zero wait state library for RSC4128 MCU. Note that zero wait state library is needed, because we have selected the SXL audio compression mode in QS4 for minimum ROM requirement.

mem24xxx-400khz.mcl is the memory driver for VRStamp built-in serial EEPROM : all FluentChip recording, training and recognizing functions will use the serial EEPROM as main storage. It is a little bit slower at run-time, but voice templates are not lost a power down.

If you have any questions or comments about this example, don't hesitate to open a topic in my forum.

All trademarks and registered trademarks are the property of their respective owners