0606-801

所属分类:语音合成
开发工具:C/C++
文件大小:331KB
下载次数:15
上传日期:2007-12-21 10:59:04
上 传 者huangtao5
说明:  GSM中用于半速率HR的语音编码的标准C实现
(GSM in HR for a half-rate voice coding standard C to achieve)

文件列表:
DISK (0, 1999-01-13)
DISK\C (0, 1999-01-13)
DISK\C\DTX.C (41503, 1996-08-07)
DISK\C\DTX.H (2218, 1996-08-07)
DISK\C\ERR_CONC.C (25081, 1996-08-07)
DISK\C\ERR_CONC.H (1238, 1996-08-07)
DISK\C\GLOBDEFS.C (756, 1996-08-07)
DISK\C\GSM_HR.C (15142, 1996-08-07)
DISK\C\GSM_HR.H (494, 1996-08-07)
DISK\C\HOMING.C (19622, 1996-08-07)
DISK\C\HOMING.H (766, 1996-08-07)
DISK\C\HOST.C (10631, 1996-08-07)
DISK\C\HOST.H (1133, 1996-08-07)
DISK\C\MATHDP31.C (6261, 1996-08-07)
DISK\C\MATHDP31.H (572, 1996-08-07)
DISK\C\MATHHALF.C (52536, 1996-08-07)
DISK\C\MATHHALF.H (3255, 1996-08-07)
DISK\C\SP_DEC.C (173289, 1996-08-07)
DISK\C\SP_DEC.H (4100, 1996-08-07)
DISK\C\SP_ENC.C (14729, 1996-08-07)
DISK\C\SP_ENC.H (463, 1996-08-07)
DISK\C\SP_FRM.C (197139, 1996-08-07)
DISK\C\SP_FRM.H (8231, 1996-08-07)
DISK\C\SP_ROM.C (469084, 1996-08-07)
DISK\C\SP_ROM.H (5755, 1996-08-07)
DISK\C\SP_SFRM.C (80536, 1996-08-07)
DISK\C\SP_SFRM.H (2675, 1996-08-07)
DISK\C\TYPEDEFS.H (2348, 1996-08-12)
DISK\C\UTILS.C (36012, 1996-08-07)
DISK\C\VAD.C (37027, 1996-08-07)
DISK\C\VAD.H (2967, 1996-08-07)
DISK\D (0, 1999-01-13)
DISK\D\SHORT.COD (4000, 1996-08-13)
DISK\D\SHORT.DEC (4400, 1996-08-13)
DISK\D\SHORT.INP (32000, 1996-08-13)
DISK\D\SHORT.OUT (32000, 1996-08-13)
DISK\EXEC (0, 1999-01-13)
DISK\EXEC\GSM_HR.RSP (166, 1995-03-06)
DISK\EXEC\MAKE.VAX (916, 1995-03-06)
DISK\EXEC\MAKEFILE (2221, 1996-11-07)
... ...

/************************************************************************ European digital cellular telecommunications system 5600 bps speech codec for half rate speech traffic channels Bit-Exact C Simulation Code Version 5.0.0 November 8, 1996 *************************************************************************/ These files represent the Half-Rate GSM Speech Coder Bit Exact C simulation. All code is written in ANSI-C. The system is called from a single program named "gsm_hr" which can operate in one of two modes: (0) encoding only (1) decoding only For encoding, the input is a binary speech file (*.inp) and the output is a binary encoded parameter file (*.cod). For decoding, the input is a binary parameter file (*.dec) and the output is a binary synthesized speech file (*.out). Note that the format for the parameter input file required for decoding (*.dec) is not the same as the format of the parameter file generated by encoding (*.cod). The "reid" program will translate an *.cod file into an *.dec file (select error-free mode, EP0). The complete package consists of one DS-HD 3.5" disk. The top directory contains this readme.txt file, a readme2.txt file, and four subdirectories: * \c (contains all C files and header files) * \d (contains example binary data input and output files) * \exec (contains the executables and makefiles) * \utils (contains various utility programs including the "reid" program) FILE FORMATS: ============= File formats are important in the installation process. If a text file such as the makefile or a table is in the wrong format, the program will either not compile, or give incorrect results. All data on this disk are in "pc" format. This means that the text files are intended to be read only by the pc, and that the binary data files are byte ordered such that they will be read correctly by a pc. This means if the software is to be run on some other platform, such as a VAX (VMS) or a Sun, then some files will need to be modified before compilation and execution. The necessary modifications are described for the VAX (VMS) and Sun platforms below. There is more information below on file formats. INSTALLING THE SOFTWARE ======================= Installing the software on the Sun: ----------------------------------- 1. Getting files from pc disk: There are two ways of extracting the files off of the disk: a. Using FTP b. Mounting the disks and copying the files directly. Either way, it is imperative that the directory structure be copied as it appears on the pc disk, i.e., 4 directories: ./c, ./d, ./exec, ./utils. If using FTP: First copy directories c, exec, and utils using the default (i.e. not binary) transfer mode. Second copy directory d using the binary mode (by typing bin). Copying c, exec, and utils with the default mode will automatically convert all text files to the Sun's file format. If copying the files directly: No special instructions. Be aware though that the text files on the Sun will still be in "pc" format. 2. Before you make: It is assumed that on the Sun the compiler is "acc". If This is not the case modify the symbols: CC=acc CAlsoDef= -O4 -Xc CDefault=-vc $(CAlsoDef) to appropriate settings in makefile 3. Make: to make cd to the ./exec directory and type: make install Installing the software on the VAX (under VMS): ----------------------------------------------- 1. Getting files from pc disk: I assume you are using FTP. We have no other way of transferring the files, so no other methods were tested. Either way, it is imperative that the directory structure be copied as it appears on the pc disk, i.e., 4 directories: ./c, ./d, ./exec, ./utils. First copy directories c, exec, and utils using the default (i.e. not binary) transfer mode. Second copy directory d using the binary mode (by typing bin). Copying c, exec, and utils with the default mode will automatically convert all text files to the VAX's file format. If not using FTP you may need to convert the text files to the VAX's text file format. 2. Make: in the [.exec] directory: rename or copy file: make.vax to makevax.com then type: @makevax.com Installing the software on the PC: ---------------------------------- 1. Getting files from pc disk: From the directory where you want the files installed (and assuming the diskette is in drive b), type: xcopy b:\ /s 2. Before you make, cd to the .\exec directory. Rename the UNIX makefile so that it does not interfere: ren makefile makefile.unx 3. Make: to make type (while in the .\exec directory): make install RUNNING THE SOFTWARE ==================== The usage of the "gsm_hr" program is as follows: Usage: gsm_hr option inputFileName outputFileName or gsm_hr option inputFileName outputFileName Options: enc inputFileName: speech --> outputFileName: encoder output dec inputFileName: decoder input --> outputFileName: speech Note that running the "gsm_hr" program without any command line arguments will cause it to print out the above Usage message. The usage of the "reid" program is as follows: Usage: REID input output EPx EPx: EP0 EP1 (not implemented) EP2 (not implemented) EP3 (not implemented) Note that running the "reid" program without any command line arguments will cause it to print out the above Usage message. Processing the example files on the Sun: ---------------------------------------- First, use the "swapbin" utility prgram to swap the bytes in the example files from pc to Sun byte order. To do this, switch to the ./exec directory and type: swapbin ../d/short.inp ../d/short_sun.inp swapbin ../d/short.cod ../d/short_sun.cod swapbin ../d/short.dec ../d/short_sun.dec swapbin ../d/short.out ../d/short_sun.out Then, from the exec directory type: gsm_hr enc ../d/short_sun.inp ../d/short_tst.cod nodtx reid ../d/short_tst.cod ../d/short_tst.dec EP0 gsm_hr dec ../d/short_tst.dec ../d/short_tst.out nodtx To verify, switch to the d directory and type: cmp short_tst.cod short_sun.cod cmp short_tst.dec short_sun.dec cmp short_tst.out short_sun.out all of these compare commands should yield no differences. Processing the example files on the VAX: ---------------------------------------- Running a program with command line arguments under VMS (VAX) requires creating an alias. From the exec directory, define symbols to represent the gsm_hr and reid executables. The exact path must be specified. For example: $ cmdgsm_hr :== USER$DISK1:[jasiuk.mark.exec]:gsm_hr.exe $ cmdreid :== USER$DISK1:[jasiuk.mark.exec]:reid.exe $ cmdgsm_hr enc [-.d]short.inp [-.d]short_tst.cod nodtx $ cmdreid [-.d]short_tst.cod [-.d]short_tst.dec EP0 $ cmdgsm_hr dec [-.d]short_tst.dec [-.d]short_tst.out nodtx Verification (in the d directory): $ diff short_tst.cod short.cod $ diff short_tst.dec short.dec $ diff short_tst.out short.out All of these diff commands should indicate no differences between the VAX and reference files. Processing the test vectors on the PC: --------------------------------------- From the exec directory: gsm_hr enc ..\d\short.inp ..\d\shorttst.cod nodtx reid ..\d\shorttst.cod ..\d\shorttst.dec EP0 gsm_hr dec ..\d\shorttst.dec ..\d\shorttst.out nodtx Verification (in the d directory): comp shorttst.cod short.cod comp shorttst.dec short.dec comp shorttst.out short.out all of these compare commands should yield no differences. More file format information: ----------------------------- The file format of the supplied binary data (*.inp, *.cod, *.dec, and *.out) and the resulting speech encoded parameter data is 16-bit binary data which is read and written in 16 bit words. The data is therefore platform DEPENDENT. This is advantageous since no data conditioning is required to run files already present on the target platform. The files contain only data, i.e., there is no header.

近期下载者

相关文件


收藏者