⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spspaper.vme

📁 speech signal process tools
💻 VME
📖 第 1 页 / 共 3 页
字号:
    /*string array of filter_type values*/    char * f_types[] = {"MISC", "LOW_PASS", "HIGH_PASS", "BAND_PASS", NULL};    /*create generic header item and fill it*/    *add_genhd_e("filt_type", NULL, 1L, f_types, hd) = MISC;    . . .    /*change filt_type item in header*/    *(short *) get_genhd("filt_type", hd) = BAND_PASS;.fi.vE.lpThe \fIpsps\fP (1\-\s-1ESPS\s+1) listing for a file processed as abovewill show the item symbolically, i.e.:.nf    . . .    filt_type: BAND_PASS    . . ..fi.lpAlso, programs that read a file with such a generic item defined inthe header can refer to the contents symbolically, as in thefollowing:.vS.nf    struct header *hd;    short filter_class;    . . .    filter_class = *(short *) get_genhd("filt_type", hd);    . . .    switch (fitler_class) {		case LOW_PASS:	    . . .	    break;	case HIGH_PASS:	    . . .	    break;	case BAND_PASS:	    . . .	    break;	case MISC:	    . . .	    break;	default:	    ERROR_EXIT("invalid filter type encountered");    }.fi.vE.sh 2 "ESPS Record Structures".lpThe ESPS header is followed by a set of fixed-length data records.When any record is read into memory (through use of an ESPS libraryroutine), it is stored as a C structure that is documented in therelevant Section 5 manual page of the ESPS Manual.  As is the case forfile headers, programmers need not be concerned with the actualformat of ESPS data records.  For example, suppose that the variablescbkrec is pointer to a SCBK file record (each record contains ascalar quantization codebook plus related design information).  Thenthe final distortion value for that codebook and the population ofthe \fIi\fPth codeword are referred to as.vS.nf    scbkrec->final_distand    scbkrec->final_pop[i].fi.vErespectively (see SCBK (5\-\s-1ESPS\s+1)).  .lpThis symbolic form ofreference for ESPS data records also applies to FEA files.  For example, if anarec is a pointer to a FEA_ANA file record, the \fIi\fPth filter pole in that record is referred to as .vS.nf    anarec->filt_poles[i].fi.vE(see FEA_ANA (5\-\s-1ESPS\s+1). As mentioned earlier, users can define their own FEA file sub-types and extend existing subtypes.  New fields in FEA file records are defined through use of \fIadd_fea_fld\fP (3\-\s-1ESPS\s+1), which creates a new field with a given name size, numerical type, etc.  The new fields are accessed by means of of \fIget_fea_ptr\fP (3\-\s-1ESPS\s+1), which returns a pointer to a field with a given name from a given record.  .sh 2 "The ESPS Library".lpTo support the writing of new user-level ESPS programs, the ESPSlibrary contains various routines for processing ESPS headers, forprocessing ESPS data records, and for performing various signalprocessing functions.  At present, there are over 110 routines in thelibrary.  .lpA full ESPS lint library is included so that ESPS programs can befully checked with the standard \s-1UNIX\s+1 \fIlint\fP(1)utility for C program checking.  As a further aid to programmers,\fIscheck\fP (3\-\s-1ESPS\s+1) looks up entries in the ESPS lintlibrary and prints the proper calling sequence.  For emacs users, amock-lisp file provides for \fIscheck\fP use from within emacs..lpHere are a few examples of functions in the ESPS library:.sh 3 "Signal Processing Support Library Functions".ta .1i 1i .nf	\fIanalyze\fP	compute prediction error filter and reflection coefficients	\fIblock-filter\fP	filter a data array	\fIconvolv\fP	convolution of polynomials or auto-correlations	\fIcovar\fP	compute reflection coefficients with covariance method 	\fIfdbk_latic\fP	feedback filtering with lattice form	\fIfeedbk_fil\fP	feedback filtering with transversal form	\fIgauss\fP	compute Gaussian random numbers	\fIget_auto\fP	compute auto-correlation coefficients	\fIget_burg\fP	compute reflection coefficients with Burg or modified		Burg method	\fIget_fft\fP	compute fast Fourier transform	\fIhamm_dec\fP	decode (8,4) Hamming code	\fIhamm_enc\fP	encode with (8,4) Hamming code	\fIinterp_filt\fP	perform interpolation filtering	\fIis_dist_td\fP	compute Itakura-Saito distortion	\fIpc_to_lsf\fP	convert prediction coefficients to line spectrum frequencies	\fIrand_intnr\fP	sample without replacement from uniformly		distributed integers	\fIrefl_to_filt\fP	convert reflection coefficients to filter coefficients	\fIremove_dc\fP	remove DC, using exponential weighting	\fIvqdesign\fP	design a full-search vector quantization codebook.fi.sh 3 "File Support Library Functions".ta.nf.ta .1i 1.4i	\fIadd_comment\fP	adds a string to the comment field of an ESPS header	\fIadd_fea_fld\fP	add a new field to data record in a FEA file	\fIadd_genhd\fP	adds a generic header item to a ESPS header	\fIadd_source_file\fP	add the header of a source file to an ESPS header	\fIcopy_header\fP	copies an ESPS header to a new header	\fIgenhd_list\fP	returns a list of defined generic header items	\fIget_cmd_line\fP	returns pointer to string containing program's command line	\fIget_fea_fld\fP	returns pointer to named field in a FEA record	\fIget_genhd\fP	returns pointer to named generic header item	\fIget_spec_rec\fP	get next spectral record from ESPS SPEC file	\fIget_sym\fP	get a parameter value after read_params called	\fInew_header\fP	create new ESPS file header	\fIprint_spec_rec\fP	prints a SPEC file record	\fIput_spec_rec\fP	writes a SPEC file record	\fIput_sym\fP	put value in ESPS common file	\fIrange_switch\fP	parse the argument to a command-line range switch	\fIread_header\fP	read an ESPS file header	\fIread_params\fP	read the parameters in ESPS parameter or common file	\fIskiprec\fP	skip records in ESPS file	\fIwrite_header\fP	write an ESPS file header.fi.sh 1 "EXAMPLE USER-LEVEL ESPS PROGRAMS".lpThis section lists some user-level ESPS programs of general interest.Note that the entire ESPS Manual is stored on-line.  The manual pagescan be viewed with the .i eman(1\-\s-1ESPS\s+1) command, which is an ESPS version of the \s-1UNIX\s+1 .i man command.  .i Emanincludes the \fB\-k\fP option to search the manual for programswhose one-line descriptions include a given keyword. .sh 2 "Signal I/O and Processing".ta .1i 1i .nf	\fIaddsd\fP	adds SD files with scaling	\fIana\fP	perform speech analysis from SD file	\fIanaspec\fP	compute spectra (SPEC file) from FEA_ANA file	\fIdistort\fP	compute distortion measures between ESPS files	\fIclassify\fP	classify records in FEA files	\fIfea_stats\fP	compute statistics from FEA files	\fIfft\fP	produces SPEC file by doing fft on SD file	\fIfilter\fP	performs digital filtering on SD file	\fIlloydcbk\fP	design a scalar quantizer using Lloyd's algorithm	\fInotch_filt\fP	design a notch filter	\fIplay\fP	play portions of SD files	\fIplaytest\fP	step through an "A-B" listening test with control options	\fIrandplay\fP	create play scripts for randomized "A-B" listening comparisons	\fIrecord\fP	digitize data using Masscomp EF-12M	\fIrefco\fP	compute reflection coefficients from sampled data (FEA_ANA output)	\fIrem_dc\fP	remove DC component from SD file	\fIsdcomp\fP	listening program for detailed comparison of two sampled data files	\fIspectrans\fP	transform FEA_ANA from one spectral representation to another	\fIstats\fP	computes statistics from ESPS files	\fIsynt\fP	synthesize speech from ANA file	\fItestsd\fP	make SD file with sine wave, pulses, Gaussian noise, or from ASCII data	\fIvqdes\fP		design a vector quantization codebook from a FEA file	\fIvq\fP		encode FEA file with a vector quantization codebook	\fIwmse_filt\fP	design FIR filter using weighted mean square error criterion.fi.sh 2 "File Manipulation and Plotting".nf	\fIatofilt\fP	convert ASCII file to FILT file	\fIatosps\fP	converts ASCII output to ESPS file (see spstoa)	\fIbhd\fP	behead an ESPS file	\fIcomment\fP	displays or adds comments in the header of an ESPS file	\fIcopysd\fP	copy selected portions of SD files to a new file	\fIfea_edit\fP	edit a FEA file in ASCII form	\fIgenplot\fP	plot elements from any ESPS file in precise, multiline format 	\fIhistogram\fP	sort data into bins for plotting histograms			(screen, Imagen, or Tektronix) 	\fIils_sps\fP	converts ILS sampled data file to ESPS SD file	\fImlplot\fP	plot SD file in precise, multiline format 			(screen, Imagen, or Tektronix) 	\fIplotsd\fP	plot sampled data (screen, Imagen, or Tektronix) 	\fIplotspec\fP	plot spectra from SPEC file (screen, Imagen, or Tektronix) 	\fIpplain\fP	print values from ESPS file in "plain format"	\fIpsps\fP	print ESPS file headers and records	\fIrange\fP	select a range from a graphics plot	\fIselect\fP	select FEA records that satisfy queries	\fIscatplot\fP	make a scatter plot	\fIspstoa\fP	convert ESPS file to machine-independent ASCII format.fi.sh 1 "FUTURE CHANGES".lpEverything discussed in the foregoing is available in ESPS Version3.0.  In this section, we mention some of the things that will addedin later versions.  .lpAlthough users can implement their own FEA file subtypes with ESPSVersion 3.0, later versions will include implementations for avariety of subtypes beyond the ones now provided (see Section 3.2).  Also, additional support will be provided for segment-labelled featurefiles.  For example, there will be a program that allows the user tomark a segment and then (optionally) enter segment-associatedinformation.  There will also be a program to augment sampled-dataplots with segment marks and numerical or character information fromthe segment-labelled records..lpWe will provide some additional facilities to support ESPSprogramming.  For example, there will be a program for thesemi-automatic generation of new FEA file sub-types, and there willbe a program for the automatic generation of C skeletons foruser-level programs..lp.lpThe ESPS parameter file format might be simplified, so that usersdidn't have to specify types (they don't on command lines, forexample).   It would also be desirable to have reasonable defaultvalues for missing parameters.   Programs shouldn't fail to runbecause parameters are given, unless there is no reasonable defaultvalue.   In most cases the program should print a warning to the userthat a parameter value is missing from the parameter file, use adefault value, and inform the user of the default.  .lpFuture versions will feature improved plotting programs and amuch-improved user-interface.  The standard \s-1UNIX\s+1 command-lineinterface will be augmented with a screen- and mouse-orientedinterface based on X Windows.  Although such an interface could beimplemented with vendor-dependent proprietary window systems, the useof X will facilitate ESPS applications in network environmentscontaining \s-1UNIX\s+1 machines from different vendors.  The newuser-interface will include a help system that goes beyond thecapabilities of \fIeman \fB\-k\fR..lpAnother significant enhancement will be provided by an interfacebetween ESPS and a \s-1UNIX\s+1 relational data base system.  Thisinterface will create data base records from ESPS file headers sothat the data base system can be used to manage sets of ESPS files.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -