SPEEX ECHO FOR THE BLACKFIN PROCESSORS This library is based on rev 1.1.10 of the Speex source code found at www.speex.org. It contains a fixed-point version of the Speex port. WHAT IS SPEEX? (Refer to http: //www.speex.org for more details) Speex is based on CELP and is designed to compress voice at bitrates ranging from 2 to 44 kbps. Some of Speex’s features include: * Narrowband (8 kHz), wideband (16 kHz), and ultra-wideband (32 kHz) compression in the same bitstream. * Intensity stereo encoding. * Packet loss concealment. * Variable bitrate operation (VBR). * Voice Activity Detection (VAD). * Discontinuous Transmission (DTX). * In-progress fixed-point port. BUILDING SPEEX This library was build using VisualDSP++4.5 and tested on the BF561 EZ-KIT Lite platform using examples provided with the Blackfin SDK. Software Setup -------------- All the software was tested using VisualDSP++ 4.5 (June update) This package includes all necessary source code file needed to build the code as a library which then may be used in applications to en/decode speech stream. The library project and source code files are placed in the BlackfinSDK distribution folder for algortihms: "Program Files\Analog Devices\BlackfinSDK\Algorithms\OggSpeex-TremorLowMem" The project file "LibSpeex533_FixedLowMem.dpj" is found inside the folder "ADSP-BF533". This will build the these libraries: libspeex533_fixed_lowmem.dlb - Release version libspeex533_fixed_lowmemd.dlb - Debug version A binary version of each is included in the folder "Program Files\ Analog Devices\BlackfinSDK\Lib". Examples that are included with the SDK use them, so it is important to note that if you choose to use your version of these libraries then you must move them to the appropriate folder location or change the example project options to find them elswhere where they are built. Read comments in encdec.c to gain insight into the demo. It contains two important user-configurable macros: ACTIVATE_STEREO - Define used to allow Speex to encode frame in stereo. ALWAYS_PASS_THROUGH - Define used to override Speex and pass the audio signal through in the audio callback. REFERENCES To learn about the Vorbis standard and the API for the Tremor libary, refer to http://www.xiph.org/ogg/vorbis/docs.html