|
CELP Source 3.3 Code Package ReadmeCELP Verion 3.3 C code Beware, the speech generated by version 3.3 C code and 3.2 FORTRAN code does not match exactly. However, this slight mismatch appears to be within the arithmetic precision difference expected between compiled FORTRAN and C. INSTALLATION, EDITING FILES, COMPILATION and LINKING
This directory contains CELP Version 3.3 written in C. All of the code necessary to make CELP is in this directory. There are a couple of things that need to be done before compiling the code. The first option you have is whether to use the durbin routine in the linear predictive analysis to convert from autocorrelation coefficients to predictor coefficients. If you wish to use the durbin routine you need to compile the code with the DURBIN compile time option. Secondly you must determine how you wish to perform the postfiltering of the synthesized speech. Postfiltering with sample-wise automatic gain control is the correct method, but block-wise automatic gain control is a faster method (and cannot be distinguished from sample-wise). The POSTFIL2 compile time option implements block wise AGC. The third option is to determine how you want to code the LSFs. Version 3.2 of the CELP coder checks for monotonicity based on a distance of 0 Hz between adjacent quantized LSFs, i.e. if lsf[i] <= lsf[i-1] then the quantized LSFs are adjusted. Recent research has shown that higher quality output speech is produced when adjacent quantized LSFs are at least 40 Hz apart. In order to use this criteria, you should compile the code using the NEW_LSF_CODE compile time option. As a fourth option, you should decide whether you wish to use the output high pass filter or not. If this filter is not desired, use the STREAMLINE compile time option, otherwise, the output speech will be high pass filtered at 100 Hz. As a fifth option, you can add additional processing to alter the linear predictive impulse response if the adaptive codebook delay is less than the subframe length. This option improves the quality of higher pitch talkers. In order to use this option, you should compile the code using the NEW_ACB compile time option. In addition to the compiler options, you may find that the non-ANSI functions called in cli.c will cause some problems. Specifically, the getcwd() routine, whose function is not provided in ANSI libraries, is not compiled unless the "sun" variable is defined at the top of the file. This command returns the pathname of the default directory and is not required for operation. EXECUTION
CELP COMMAND NAME: celp - execute the CELP coder SYNOPSIS: celp [InputFileName] [OutputFileName] [-abcdemnprstw] or
ARGUMENTS: InputFileName Input file short data format (16-bit signed samples).
OutputFileName
-p 'parameter file name'
-h
-a T/F (T => TRUE, F => FALSE)
-b 'bit error file name'
-c 'channel file name'
-d 'edac params file name'
-e error rate
-m T/F (T => TRUE, F => FALSE)
-n T/F (T => TRUE, F => FALSE)
-r F/H/B (F => FALSE, H => hexadecimal, B => binary)
-s T/F (T => TRUE, F => FALSE)
-t C/B/L/O (C => clear, B => random bit, L => random
block, O => other)
-w F/H/B (F => FALSE, H => hexadecimal, B => binary)
EXAMPLES: celp
celp -p [ParameterFileName] celp -h for option information celp -p celp.par
celp speech/dam27 dam27.48.spd -w h -c dam27_48.chan celp 512_dam27b -a f -r -c speech/512_dam27.chan SEE ALSO cli.c OTHER
"celp_prof.txt" contains information concerning the execution times for the subroutines in CELP 3.3. This data may be useful in implementing CELP into communication devices.
Site Map | HomeThis page was last edited on 19 September 2002 |
|
|