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.
近期下载者:
相关文件:
收藏者: