intro.vrme
来自「speech signal process tools」· VRME 代码 · 共 1,038 行 · 第 1/3 页
VRME
1,038 行
.\".\" vgrind -lcnp -f intro.vrme | refer -n -p esps.refs -e | iroff -me.lo.de SM \"macro to shrink left margin.br.nr $i \\n($i+\\$1i...de RM \"macro to restore original left margin.br.nr $i 0...he 'INTRODUCTION TO ESPS''page %'.fo 'Version 3.6'ERL'1/22/93'.nf.ce \s+4\fB ENTROPIC RESEARCH LABORATORY, INC.\fR\s-4.sp 1i.ce 100\s+1\fBINTRODUCTION TO THE ENTROPIC SIGNAL PROCESSING SYSTEM (ESPS)\fP\s-1.sp .3i\fIJohn Shore \fP and \fIAlan Parker\fP.sp .3iEntropic Research Laboratory, Inc.Washington Research Laboratory600 Pennsylvania Ave. S.E., Suite 202Washington, D.C. 20003(202)547-1420.sp .5i.fi.sh 1 "INTRODUCTION".lpThe Entropic Signal Processing System (ESPS) is a set of interacting signalprocessing programs. It is a third-generation system that was developedover a three-year period with these main goals:.(f\(co Copyright 1987-1993 Entropic Research Laboratory, Inc.; All rights reserved. .)f.SM .25i.ip "\(bu" 3to provide a useful set of easy-to-use programs for directsupport of such traditional operations as analog I/O, filtering, spectrum analysis, quantization, pattern classification, signalediting, file editing, plotting, etc;.ip "\(bu" 3to provide a toolkit that supports the rapid development of newsignal processing programs;.ip "\(bu" 3to exploit \s-1UNIX\s+1\(rg\(dg tools and features (e.g., pipes).ip "\(bu" 3to facilitate record keeping in such a way that ESPS files contain acomplete history of the origin of the data in the file and of allintermediate processing steps;.ip "\(bu" 3to allow easy user-extensions to ESPS file types (including thecreation of new file types) in such a way that the extensions aresupported automatically by standard ESPS plotting, printing, editing,and database programs;.RM.(f\(dg \s-1UNIX\s+1 is a trademark of AT&T Bell Laboratories.)f.lpESPS currently includes approximately 85 user-level programs (calledfrom the \s-1UNIX\s+1 shell) for file manipulation, sampled-data I/O,plotting, and signal processing operations. Also included is alibrary of approximately 200 functions that support the modification ofexisting programs and the development of new programs. The ESPSlibrary contains functions that perform signal processing primitivesas well as functions that support the creation and manipulation ofESPS files. ESPS provides 5 built-in file types; it also provides theability to modify these file types and to create new file types..lpThe ESPS library was developed with disciplined software engineeringmethods, including information-hiding. The library functions perform extensive error-checking, and a complete LINT library isincluded. .lpESPS main programs and most of the library functions are written in C.However, the ESPS library also supports \s-1FORTRAN\s+1 so that newsignal processing operations can be written either in C or\s-1FORTRAN\s+1..sh 1 "ESPS DOCUMENTATION".lpThe principal documentation for ESPS is the ESPS Users Manual..[user manual.]This contains \s-1UNIX\s+1\-style manual pages for all programs, libraryfunctions, and file types. The ESPS Manual is organized in the usual\s-1UNIX\s+1 style, with Section 1 describing user-level programs, Section3 describing the ESPS library, and Section 5 describing ESPS file formats.Section 3 is further divided into two sections, one for signal processingfunctions and one for ESPS utility functions. References to ESPS programs,library functions, and file types usually include a parenthetical pointerto the section of the ESPS Manual in which the manual page is located. Forexample, "(3\-\s-1ESPS\s+1)" indicates Section 3 of the ESPS Manual..lpThe entire ESPS Manual is available on-line and can be viewed with the.i eman(1\-\s-1ESPS\s+1) program, which operates just like the \s-1UNIX\s+1 .i man(1) program (including the \fB\-k\fP option to search for programswhose descriptions contain a given keyword). .lpThe ESPS documentation also includes a series of technical memorandathat explain ESPS data files,.[data files.]ESPS parameter and common files,.[ESPS parameters.]and ESPS feature files, .[ESPS FEA files.]files. Also provided are ESPS programming guidelines,.[ESPS programming guide.]an applications note on filtering,.[ESPS filtering.]and an applications note on ESPS record keeping..[ESPS record keeping.].sh 1 "ESPS FILES".lpESPS files have a common structure consisting of a variable-lengthheader followed by data records. Within a single ESPS file, therecords have a fixed-length that depends on information in theheader. Record-lengths vary, however, even among files of the samebasic type. .lpThe ESPS header is the primary means by which record-keepingis performed within ESPS. An ESPS header includes the values of allimportant parameters to the program that created the ESPS file. Italso includes the headers of any files that were inputs to theprogram that created the file. Since the header is a recursivestructure, these included headers themselves may contain the headersof previous source files. It follows that most ESPS files contain acomplete history of the origin of the data in the file and all theintermediate processing steps. In addition to this formalrecord-keeping mechanism, informal comments can be added to any ESPSfile header by means of.i comment(1\-\s-1ESPS\s+1). For details about the ESPS history mechanism, see the applications note..[ESPS record keeping.].lpESPS file headers and data records are viewed in ASCII form bymeans of the program.i psps(1\-\s-1ESPS\s+1), which includes options for viewing recursively all of the embedded headers. The output from .i pspsidentifies values from header and data-records fields by name. Withinprograms, the fields are also referred to by name. .lpOn some systems, ESPS files can be created directly from analoginputs and played out over digital to analog converters. Also,conversion programs are available for ASCII files,\s+1ILS\s-1\(rg\(dg.(f\(dg \s-1\ILS\s+1 is a trademark of Signal Technology, Inc..)fsampled-data files, and \s-1MASSCOMP\s+1\(rg Laboratory Workbench(LWB)\(dd files. .(f\(dd \s-1MASSCOMP\s+1 and \s-1LWB\s+1 are trademarks of Massachusetts Computer Corporation..)f.sh 2 "Built-in File Types.lpOlder versions of ESPS contained the following built-in file types:.SM .25i.ip "SD" 8contains sampled data.ip "FILT" 8contains digital filters.ip "SCBK" 8contains scalar quantization codebooks.ip "FEA" 8contains arbitrary features.RM.lpExcept for FEA files, which are discussed further below, these built-infiles have a predefined record structure. That is, their data recordscomprise fields with pre-defined names and data types. The definitions aresuitable for the types of data stored in these built-in file types.Similarly, the headers of the built-in types contain pre-defined fields forrelevant information. However, any program can add additional headerfields through the use of generic header items (see Section 7.1.3).Generic header items can also be added by means of the user-level program\fIaddgen\fP (1\-\s-1ESPS\s+1). .lpSection 5 of the ESPS Manual contains detailed information about whatis stored in the various ESPS file types..sh 2 "Feature Files and User-Defined File Types".lpThe current version of ESPS uses feature files for all data. The FEA file type is a general purpose file type that can be used tostore arbitrary information in fixed-length records; optionally, therecords can point to positions in various source files. Unlike thecase for the other ESPS file types \- the names, sizes, and data typesof the fields in FEA records are not pre-defined. Because of this,and because of the ways in which FEA files are supported by standardESPS file manipulation and plotting programs, FEA files can be used tocreate user-defined ESPS files that have all of the advantages of thebuilt-in file types. This can be done by using the ESPS librarywhether or not ESPS source is available..[ESPS FEA files.].lpWe call FEA files \fIself-describing\fP because the structure of a FEAfile is defined in the file header, rather than in some externalspecification. In particular, the self-description portion of the FEAheader is contained in the type-specific section of the header, and isdisplayed by \fIfea_element\fP (1\-\s-1ESPS\s+1), or by \fIpsps\fP(1\-\s-1ESPS\s+1) withthe \fB-v\fP option. In many cases, non-ESPSbinary files can be converted to ESPS FEA files using \fIaddfeahd\fP(1\-\s-1ESPS\s+1)..lpWhen a new file type is implemented using FEA files, it is referred to as a FEA file sub-type. Several such implementations are providedwith ESPS, including the following:.SM .25i.ip "FEA_SD"used for single and multi-channel sampled data (including complex sampled data). .ip "FEA_SPEC"used for storing spectral information, such as power spectra. Eachrecord contains a vector of spectral values (powers or power densitiesin the case of power spectra), together with certain optional fields\- total power, an imaginary-part vector, number of frequencies, and avector of frequencies \- that are present or absent according to thevalues of certain header items;.ip "FEA_ANA"suitable for speech processing; contains spectral parameters (variousrepresentations), pulse lengths, powers, and voicing information;.ip "FEA_VQ"contains vector quantization codebooks;.ip "FEA_FILT"contains digital filters;.ip "FEA_STAT"contains statistical information (means, covariances, etc.) suitablefor pattern-classification;.RM.lpBy using access functions provided with the ESPS Library, users canimplement their own FEA file sub-types. They can also extendexisting FEA file types, like those mentioned above, by addingwhatever additional record fields are desired..lpThe power of FEA files is enhanced by the existence of ESPS programs likethe following, which work on any FEA file (including user-defined oruser-extended FEA files):.SM .25i.ip \fIpsps\fP(1\-\s-1ESPS\s+1)produces ASCII representation of any ESPS file (including headers), with all fields referred to by name;.ip \fIgenplot\fP(1\-\s-1ESPS\s+1)plots information from FEA file records in precise, multi-lineformat;.ip \fIfea_edit\fP(1\-\s-1ESPS\s+1)permits you to edit an ASCII representation of a FEA file using theeditor of your choice; Thus, you can modify the data in an existing FEA file or create a new file with arbitrary data. Both file headers and data records can be edited with \fIfea_edit\fP. .ip \fIselect\fP(1\-\s-1ESPS\s+1) treats ESPS FEA files as a database and allows interactive selection ofrecords that satisfy user-supplied queries; selected records can beoutput to another FEA file; Here are some examples of queries on aninput FEA_ANA file:.nf.ft CW\->select (spec_param[0] > .96) && (frame_type == "VOICED") 123 records selected\->select ((spec_param[0] + spec_param[1]) > 1.5) && (frame_len > 100) 21 records selected\->select (spec_param[0] > spec_param[1]) && (log(sqrt(raw_power[0])) > 7) 13 records selected\->select (mean(raw_power) > 1.75E10) || (raw_power[0] > 1.75E10) 100 records selected.ft LR.fiHere, "spec_param", "frame_type", "frame_len", and "raw_power" are thenames of fields in a FEA_ANA file. Similar queries can be constructed forany FEA file using the names of fields in the FEA file. Queries can beconstructed using simple relational expressions involving the elements inFEA records, built-in arithmetic operators (*,+,\-,/,^), built in functions(sin, cos, tan, atan, log, log10, exp, sqrt), and user-defined functionsimplemented as external programs. Also, the "eval" command in \fIselect\fP allows you to specify arbitrary arithmetic expressions on the FEA fields and have the results printed on standard output. .ip \fIfea_stat\fP(1\-\s-1ESPS\s+1)Computes means, covariances, eigenvalues, eigenvectors, and otherstatistics from the records in a FEA file; outputs a FEA_STAT file;.ip \fIclassify\fP(1\-\s-1ESPS\s+1)performs classification of FEA file records using information in FEA_STAT files;.RM.lpAnother useful aspect of FEA files is a mechanism called "segmentlabelling", which makes it easy to associate FEA file records withpositions or ranges in sampled-data files. If a FEA file is declaredto be segment-labelled, then its records automatically include filename, starting position, and length fields (these need to be filledin by user programs, but the field support is there). This mechanismcould be used, for example, to support a database ofphonetically-labelled sampled data files by implementing a FEA filecontaining a phoneme code (or string) in each segment-labelledrecord. Then \fIselect\fR(1\-\s-1ESPS\s+1) could be used to processsets of these files. For example, the \fIselect\fP command.nf.ft CW \->select phoneme == "AW" || phoneme == "OW".ft LR.fiwould yield records that provide file names, starting positions, andlengths for all occurrences of the two named phonemes. .sh 1 "ESPS PROGRAMS AND \s-1UNIX\s+1 PIPES".lpSo that pipes can be used, most ESPS programs are written so that theyuse standard input and output as well as specific files. As an example,consider the following sequence of ESPS commands: .nf.ft CW %refcof data.sd data.fana %me_spec data.fana data.spec
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?