📄 readme
字号:
$Header: /u/drspeech/src/rasta/RCS/README,v 1.9 1995/07/03 22:38:01 bedk Exp $******************************************************************************************************** RASTA 2.2 - July 3, 1995 Release********************************************************************************************************Changes from 2.1:1) lpccep.c now has a more accurate routine for converting lpc coefficients to autoregressive coefficients. This means that rasta2_2 will give different results than previous versions of the program; however, they are better results, so it is OK.2) rasta2_2 does matlab MAT file I/O. Use the -b/-B options to do this. You'll need to build rasta with MATLAB=1 and a correct value of MATLAB_BASE to get this to work. You'll also need matlab.3) The input waveform can be filtered with an IIR highpass filter (cutoff at 45 Hz) to reduce DC offset. The -F option enables the filter.4) rasta2_2 can use a previously-stored estimate of the noise level and rasta filter history for initialization. This option is recommended for use with Jah-RASTA processing if the input can have less than 100--200 ms. of silence at the beginning. The -h and -H options control history maintenance.5) The calls to irint() and log2() have been eliminated to improve code portability.6) Several unused variables in the fvec and svec structures have been eliminated.7) The fmat_x_fvec routine was changed to run faster. Thanks to Ralf W. Stephan (<ralf@ark.franken.de>) for suggesting changes (6) and (7).8) rasta now has a man page!9) Some minor bug fixes and code cleaning, including the reduction of a statically allocated 60 MB (!) table.******************************************************************************************************** RASTA 2.1 - Changes from 2.0********************************************************************************************************1) Can now output the critical-band filter bank trajectories after the cube-root compression and loundess equalization. Enabled by the -P option.2) Can byte-swap input when reading binary data (either on or off-line). Enabled by the -T option.******************************************************************************************************** RASTA 2.0 - May 30, 1994 Release******************************************************************************************************** RASTA 2.0 is an update version for RASTA 1.0. RASTA1.0 is a program for the rasta-plp processing andit supports the following front-end techniques: PLP,RASTA, and Jah-RASTA with fixed Jah-value. The Jah-Rastatechnique handles two different types of harmful effectsfor speech recognition systems, namely additive noise andspectral distortion, simultaneously, by bandpass filteringthe temporal trajectories of a non-linearly transformedcritical band spectrum. Since the optimal form of thenonlinearity used in Jah-Rasta is dependent on the noiselevel, this non-constant nonlinearity introduces a newsource of variability into the speech recognition system.An approach was developed for compensating for this newsource of variability by Joachim Koehler and Grace Tong.It will be referred as the spectral mapping method fromnow on. RASTA 2.0 is an update version for RASTA 1.0 withthe spectral mapping method included. The spectral mappingmethod will be further discussed in the file rasta.c. The J factor depends on the SNR. The J that we havefound to work well is something like 1/(3 * noisepower). In order to calculate the J factor adaptively, a noise estimation subroutine is also included in RASTA 2.0.In the current version, the J factor can be either kept asa constant by entering the value at the command line orcalculated adaptively using the formula J = 1/(3 * noisepower). There are two new files, mapping.c and noise_est.c added to RASTA 2.0. These two files handle the spectral mapping and noise_estimation respectively. Besides thesetwo files, a number of files from RASTA 1.0 were also slightly modified. They were modified to incorporate the Jah-Rasta spectral mapping and to correct some newly foundbugs in RASTA 1.0. The files that were modified are listedbelow:1) anal.c2) debug.c 3) init.c 4) io.c5) rasta.c6) rasta_filt.c7) Makefile8) functions.h9) rasta.hThe bugs that were corrected are:1) In init.c, get_comline(), the following is added: case 'd':/* flag for debug output */ pptr->debug = TRUE; break;2) In init.c check_arg() the following is added: if((pptr->lrasta == TRUE) && (pptr->jrasta == TRUE)) { fprintf(stderr,"Can't do log rasta and jah rasta at the same time\n"); exit(-1); }3) In rasta_filt.c struct fvec *rasta_filt() if(pptr->rfrac != 1.0) { outptr->values[i] = pptr->rfrac * outptr->values[i] + (1-pptr->rfrac) * nl_audspec->values[i]; }4) Previously, for doing partial rasta and partial PLP, there were 2 switches; one as a flag to indicate that we are doing partial rasta, and the other to say what fraction of the output comes from the rasta part. Some users were complaining that the 2 switches are sort of confusing. Now, we just have the latter switches. It makes more sense since if you want it to be blended you will need to give a fractional amount. 5) The two makefiles have been merged to form one. Use e.g. "make ESPS=1 ESPS_BASE=/usr/local/esps" to build the version with ESPS IO.Listed below is the old README file from RASTA 1.0 : ******************************************************************************************************** RASTA 1.0 - August 13, 1993 Release******************************************************************************************************** This directory holds the current debugged (at least we think so) release materials for the rasta-plp program. This code comes from (in ancient history) a Fortran source written by Hynek Hermansky to implement PLP. Later versions done by H. Hermansky and C. Wooters used automatically translated C code and hand modifications to add in the RASTA processing. This version (by N. Morgan) is pretty much a complete rewrite, splitting up analysis elements into reasonably-sized modules. A few routines from the past linger on with little change,(e.g., the fft and the Durbin recursion)because they work fine and suspect data structures (e.g. most arrayswith short fixed lengths) have been changed to dynamically allocatewhat is needed and to check for array bounds.In this directory you will find 2 sub-directories, one forsource files and one for the binary. See the front of "rasta.c" for a description of the algorithm.************************************************** WHAT IS AND ISN'T HERE************************************************** What is frozen here in reasonable formis the most debugged version of the rasta algorithm.Some of the things that we are currently experimenting withare not yet included, since they are not yet sufficientlymature for release (although we will be happy to talkabout them with you). However, it should be relatively easyfor you to modify the program to play with some of these ideas.Some of the unimplemented pieces are: 1) General linear filters - what we have implemented isa ``standard'' rasta filter, which consists of a deltacalculation followed by a single-pole integration.We have used data structures in the core filteringroutine that permit a more general filtering functionconsisting of numerator and denominator polynomials,but as of this release we don't read in such filesor allow for general polynomials in the routine that callsthe filt() function. 2) Similarly, we currently use the same rastafilter for each band. Putting in the modifications for (1)will also permit more flexibility in this regard. 3) Nonlinear modifications within the filteringare potentially possible (such as suppression of smallchanges, or median filtering) but have not yet been tested.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -