Up DSMCC

MELP C50 ReadMe

User’s Guide

For Real-Time Implementation of

2.4 kb/s Federal Standard MELP Coder

On the TMS320C5x

Prepared For

National Security Agency

Fort G. Meade, MD, 20755-6000

March 19, 1998

Prepared by

DSPCon and Texas Instruments

Program Manager: Vishu Viswanathan

Overview

This document describes the installation instructions of both hardware and software for the TMS320C5x real time implementation of the MELP speech coder. In addition, this document describes the layout of the directory structure and files that make up the coder.

Hardware

Required Hardware

The following hardware is required to run the system as delivered by TI/DSPCon.

  1. DSP Research’s Tiger-5xPC ISA card with a 80 MHz oscillator on it.
  2. White Mountain DSP XDS-510 ISA emulator with Vista MP support for a TMS320C5x target.
  3. A standard IBM compatible PC (386, 486 or 586) running at any speed with at least 10 Mbytes or available disk space.

 

Installation

The following instructions detail how to install the required hardware to run the TMS320C5x real time MELP coder implementation on an 80 MHz ISA card.

 Open your PC and make sure that you have at least two ISA slots available.

  1. Open and configure the White Mountain XDS-510 emulator to be mapped to I/O port 240 (hexadecimal). NOTE: This is the default for the emulator.
  2. After you have confirmed that the emulator is mapped to 240, install this card into your PC.
  3. Open and configure the Tiger-5x ISA card to the following jumper settings.
bulletJP6-1 - jumper off
bulletJP6-3 - jumper off
bulletJP14 - jumper between pins 2 and 3
bulletDIP Switch S2-1 and S2-2 both "UP" - This maps the board to I/O port address 340 (hexadecimal). Note: This is NOT the default for this card since the default would conflict with the XDS-510’s default.
bulletAll of the rest of the jumpers should assume the default positions.

 

  1. After you have confirmed that all of the jumpers are in the correct positions, install the Tiger-5x card into an empty ISA slot in your PC.
  2. Connect the keyed XDS-510 emulator cable between the XDS-510 and the header on the top of the Tiger-5x board labeled "XDS".
  3. You will need to leave the top off of the PC since the cable connected in step 6 runs from the outside, back of the computer to the top of a card inside the computer. You are now ready to start the software.

Software

Required Software

You will need the following software installed on your PC to build and run the MELP code on the Tiger-5x.

  1. Windows-95 Operating System.
  2. DSPCon’s TMS320C5x real time development tree.
  3. Texas Instruments’ TMS320C5x C compiler, assembler and linker.
  4. White Mountain support for the XDS-510 with Vista MP support.

 

Installation

To install the TMS320C5x, real time MELP code environment on your PC (running Windows-95), follow the directions below:

  1. Insert the TI/DSPCon provided distribution media in the PC’s 3.5 inch floppy drive.
  2. Copy the one and only top level directory (folder) named "TI_MELP" to your C: drive.
  3. Follow the directions to install the Texas Instruments’ C compiler, assembler and linker onto the your computer’s hard disk.
  4. Edit the file C:\TI_MELP\MAKEFILE and change the first line of this file to reflect the directory where you have installed the compiler, assembler and linker. This line should appear as:

DSPTOOLS = c:\my_directory

Where c:my_directory is the path to where you have installed the Texas Instruments TMS320C5x tools.

  1. Repeat step 4 on the file C:\TI_MELP\LIBMAKE.MK
  2. Install the White Mountain emulator support along with the Vista MP support. Follow the instruction provided from White Mountain to do this.

Running the Software

The following text describes how to invoke and run the TMS320C5x real time MELP coder.

Two PC executables have been provided. The first executable (melptst.exe) takes the base name of a speech file and "feeds" this file to the TMS320C5x target on the Tiger-5x board which is running the MELP algorithm (both analysis and synthesis). The DSP accepts from the PC a frames worth of data (360 bytes or 180 samples). The DSP runs the analysis algorithm and provides back to the PC the encoded channel stream. Next, while the PC is comparing the channel stream results to the known correct channel stream, the DSP is running the synthesis portion of the algorithm. The DSP then provides the synthesized result to the PC which once again compares the regenerated speech to a known result. Therefore, in order to run melptst.exe you need:

  1. An original speech file which contains 16 bit samples of speech in binary form. This file must have file the extension .sp.
  2. A file containing the channel stream (encoded speech) for the speech file referenced in 1. This file must have the file extension .chn.
  3. A file containing the synthesized speech from the channel stream referenced in 2. Said differently, this binary file contains 16 bit samples that are the result of running the file referenced in 1, through both the analysis and synthesis portions of the MELP algorithm. This file must have the file extension .spo.

Please note: All three of these files must be in the same directory.

To run this executable, you must first load the TMS320C5x MELP executable into the Tiger-5x board and, using the emulator, start its execution. This is described below. After starting the emulator, from a DOS box run the PC executable melptst.exe as follows:

Prompt > melptst testfile

Where testfile is the base name of the input speech, stream file and synthesized speech files.

For example:

To run the speech file dam6.sp through the TMS320C5x on the Tiger-5x and compare the DSP’s result to dam6.chn and dam6.spd, the DOS command line would be

Prompt> melptst dam6 <cr>

The second PC executable allows you to run the melptst executable on several speech files one after the other in batch style. To run this executable, simply type:

Prompt> melpauto batch_file

Where batch_file is an ASCII file which contains a list of speech file base names that you wish to run through melptst.exe.

Please remember that each of the base file names reference in the batch_file, must reference three files (described above) all of which must be located in the current directory.

 

Loading the MELP DSP Executable into the Tiger-5x Target.

After installing the Vista MP XDS-510 support on your Windows-95 PC, there will appear an icon labeled PDM. Double click on this icon. This will cause a dialog box to appear with a prompt. At the prompt type the following:

Prompt > spawn emu5xw0 -n cpu_a -p 240 <cr>

This will cause an additional window to appear. NOTE, if you have mapped the XDS-510 to an I/O port other than the default (240), you need to change the last parameter of the above statement to that I/O port address. You have now entered the emulator environment and seized control of the DSP target on the Tiger-5x board. A blinking cursor will appear in the lower left hand corner in the "Control Window". At this prompt type the following command:

> take c:\ti_melp\tiger5x.cmd <cr>

This will load the MELP executable into the Tiger-5x board’s memory. After this process is complete, click on the RUN soft key on the top of the emulator window. You have now started the application running on the DSP.

 

Directory Tree and MELP Files

The MELP real time deliverable has been provided in the form of a directory tree with several types of different files each in their own sub-directory. The following text describes each sub-directory and discusses the significance of the files within each sub-directory.

bullet\src - This is probably the most important sub-directory. It holds all of the TMS320C5x target/application independent MELP source code files. These are the source files that should be distributed to any third party who would like to run real- time TMS320C5x based MELP on their own target. There are two basic types of source files in this directory.

o       .c - ANSI C source files

o       .asm - TMS320C5x assembly files

bullet\work - This sub-directory, like the \src directory, contains source code (both C and assembly code). The difference is, the source files in this directory are either Tiger-5x (target) specific or application specific. These may be good files to be given to a third party as an example of how to invoke the MELP algorithm.
bullet\include - This directory contains all of the C header files required by the C source located in the \src directory.
bullet\lib - This directory contains all files that an application would need to link to during the link phase of application building.
bullet\obj - This directory is of very little value to the user. It is simply the directory where the output of the compiler or assembler is placed so that the "MAKE" process has some file to refer to determine if a rebuild is necessary.

 

Important Files

The following section describes the location and function of some of the important files that have been provided. This list does not include the source files but rather files for specifying the target environment, building the application, and running the application.

bulletc:\ti_melp\makefile - This is the main "makefile" that contains the make rules for building the application (see the next section on Rebuilding the Application).
bulletc:\ti_melp\libmake.mk - This file contains the all of the MELP algorithm make dependencies for building the application (see the next section on Rebuilding the Application).
bulletc:\ti_melp\tiger5x.cmd - This file is used by the XDS-510 and describes the valid memory on the Tiger-5x target to the emulator. This emulator command file further instructs the emulator to load the MELP executable thus saving a step for the operator.
bulletc:\ti_melp\melp.out - This is the actual MELP DSP executable that may be loaded and run using the XDS-510. This file is automatically produced each time the application is rebuilt.
bulletc:\ti_melp\melp.map - This is the map file that is produced by the linker. This file is automatically produced each time the application is rebuilt.
bulletc:\ti_melp\lib\melp.cmd - This file describes to the linker the memory resources available on the target. This file has been configured for a Tiger-5x board with 256 KBytes of memory (64 K Words on each bus of the TMS320C5x).
bulletc:\ti_melp\work\melp.c - This file contains the "main" for a very specific application. This application reads from a PC host, runs MELP analysis, provides the channel stream to the host, runs synthesis on this stream, and provides the re-synthesized speech to the host. This file demonstrates the calling sequence for both analysis and synthesis.

 

Rebuilding the Application

TI/DSPCon have provided a Unix/ Microsoft compatible "makefile" for building this MELP application. Therefore, to easily rebuild the application, you will need such a "make" utility. Assuming you have a "make" utility, from the c:\ti_melp directory, simply type:

prompt > make clean <cr>

to remove (clean) all of the library files and associated object code (including the executable).

To rebuild all, simply type:

prompt > make <cr>

 

Site Map | Home
This page was last edited on 18 September 2002

This website is sponsored by ARCON Corporation for the DSMCC and as such must conform to DoD policies concerning websites. Please read this disclaimer for more information.  Comments concerning design and content of these pages  should be sent to info@arcon.com.