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

📄 intro.doc

📁 speech signal process tools
💻 DOC
📖 第 1 页 / 共 3 页
字号:
                         ENTROPIC RESEARCH LABORATORY, INC.                                INTRODUCTION TO THE                      ENTROPIC SIGNAL PROCESSING SYSTEM (ESPS)                            John Shore  and Alan Parker                         Entropic Research Laboratory, Inc.                           Washington Research Laboratory                       600 Pennsylvania Ave. S.E., Suite 202                               Washington, D.C. 20003                                   (202)547-1420       1 .  INTRODUCTION       The Entropic Signal Processing System (ESPS) is a set  of  interacting       signal  processing programs.  It is a third-generation system that was       developed over a three-year period with these main goals:         +  to provide a useful set of easy-to-use programs for  direct  sup-            port  of  such  traditional  operations as analog I/O, filtering,            spectrum analysis, quantization, pattern  classification,  signal            editing, file editing, plotting, etc;         +  to provide a toolkit that supports the rapid development  of  new            signal processing programs;         +  to exploit UNIXr| tools and features (e.g., pipes)         +  to facilitate record keeping in such a way that ESPS  files  con-            tain a complete history of the origin of the data in the file and            of all intermediate processing steps;         +  to allow easy user-extensions to ESPS file types  (including  the            creation of new file types) in such a way that the extensions are            supported automatically  by  standard  ESPS  plotting,  printing,            editing, and database programs;       ____________________          c Copyright  1987-1993  Entropic  Research  Laboratory,  Inc.;  All       rights reserved.       INTRODUCTION TO ESPS                                            page 2       ESPS currently includes approximately 85 user-level  programs  (called       from  the  UNIX  shell) for file manipulation, sampled-data I/O, plot-       ting, and signal processing operations.  Also included is a library of       approximately  200 functions that support the modification of existing       programs and the development of new programs.  The ESPS  library  con-       tains  functions  that perform signal processing primitives as well as       functions that support the creation and manipulation  of  ESPS  files.       ESPS  provides  5 built-in file types; it also provides the ability to       modify these file types and to create new file types.       The ESPS library was developed with disciplined  software  engineering       methods,  including information-hiding.  The library functions perform       extensive error-checking, and a complete LINT library is included.       ESPS main programs and most of the library functions are written in C.       However,  the  ESPS  library  also supports FORTRAN so that new signal       processing operations can be written either in C or FORTRAN.       2 .  ESPS DOCUMENTATION       The principal documentation for ESPS is the  ESPS  Users  Manual.  [1]       This  contains UNIX-style manual pages for all programs, library func-       tions, and file types.  The ESPS Manual is organized in the usual UNIX       style,  with  Section  1  describing  user-level  programs,  Section 3       describing the ESPS library, and Section 5 describing ESPS  file  for-       mats.   Section 3 is further divided into two sections, one for signal       processing functions and one for ESPS utility  functions.   References       to  ESPS programs, library functions, and file types usually include a       parenthetical pointer to the section of the ESPS Manual in  which  the       manual  page  is located.  For example, "(3-ESPS)" indicates Section 3       of the ESPS Manual.       The entire ESPS Manual is available on-line and can be viewed with the       eman  (1-ESPS) program, which operates just like the UNIX man (1) pro-       gram (including the -k option to search for  programs  whose  descrip-       tions contain a given keyword).       The ESPS documentation also includes a series of  technical  memoranda       that explain ESPS data files, [2] ESPS parameter and common files, [3]       and ESPS feature files,  [4] files.  Also provided are  ESPS  program-       ming  guidelines,  [5]  an  applications note on filtering, [6] and an       applications note on ESPS record keeping. [7]       3 .  ESPS FILES       ESPS files have a common structure  consisting  of  a  variable-length       header  followed  by  data  records.   Within  a single ESPS file, the       records have a fixed-length that depends on information in the header.       Record-lengths vary, however, even among files of the same basic type.       ____________________          | UNIX is a trademark of AT&T Bell Laboratories       Version 3.6                      ERL                           1/22/93       INTRODUCTION TO ESPS                                            page 3       The ESPS header is the primary means by which record-keeping  is  per-       formed  within ESPS.  An ESPS header includes the values of all impor-       tant parameters to the program that created the ESPS  file.   It  also       includes the headers of any files that were inputs to the program that       created the file.  Since the header is a  recursive  structure,  these       included headers themselves may contain the headers of previous source       files.  It follows that most ESPS files contain a complete history  of       the origin of the data in the file and all the intermediate processing       steps.  In addition to this formal record-keeping mechanism,  informal       comments  can  be  added  to  any ESPS file header by means of comment       (1-ESPS).  For details about  the  ESPS  history  mechanism,  see  the       applications note. [7]       ESPS file headers and data records are viewed in ASCII form  by  means       of  the  program  psps  (1-ESPS),  which  includes options for viewing       recursively all of the embedded headers.  The output from psps identi-       fies  values  from header and data-records fields by name. Within pro-       grams, the fields are also referred to by name.       On some systems, ESPS files can be created directly from analog inputs       and  played  out  over digital to analog converters.  Also, conversion       programs are available for ASCII files, ILSr| sampled-data files,  and       MASSCOMPr Laboratory Workbench (LWB)| files.       3 .1 .  Built-in File Types       Older versions of ESPS contained the following built-in file types:         SD      contains sampled data         FILT    contains digital filters         SCBK    contains scalar quantization codebooks         FEA     contains arbitrary features       Except for FEA files, which are discussed further below, these  built-       in  files  have  a  predefined  record structure.  That is, their data       records comprise fields with pre-defined names and  data  types.   The       definitions  are suitable for the types of data stored in these built-       in file types.  Similarly, the headers of the built-in  types  contain       pre-defined fields for relevant information.  However, any program can       add additional header fields 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 addgen (1-ESPS).       ____________________          | ILS is a trademark of Signal Technology, Inc.          |  MASSCOMP  and  LWB  are  trademarks  of  Massachusetts  Computer       Corporation.       Version 3.6                      ERL                           1/22/93       INTRODUCTION TO ESPS                                            page 4       Section 5 of the ESPS Manual contains detailed information about  what       is stored in the various ESPS file types.       3 .2 .  Feature Files and User-Defined File Types       The current version of ESPS uses feature files for all data.  The  FEA       file  type  is  a  general purpose file type that can be used to store       arbitrary information in fixed-length records; optionally, the records       can  point  to positions in various source files.  Unlike the case for       the other ESPS file types - the names, sizes, and data  types  of  the       fields  in  FEA  records  are  not  pre-defined.  Because of this, and       because of the ways in which FEA files are supported by standard  ESPS       file  manipulation  and  plotting  programs,  FEA files can be used to       create user-defined ESPS files that have all of the advantages of  the       built-in  file  types.   This  can  be  done by using the ESPS library       whether or not ESPS source is available. [4]       We call FEA files self-describing because the structure of a FEA  file       is defined in the file header, rather than in some external specifica-       tion.  In particular, the self-description portion of the  FEA  header       is  contained  in  the  type-specific  section  of  the header, and is       displayed by fea_element (1-ESPS), or  by  psps  (1-ESPS)  withthe  -v       option.  In many cases, non-ESPS binary files can be converted to ESPS       FEA files using addfeahd (1-ESPS).       When a new file type is implemented using FEA files, it is referred to       as  a  FEA  file  sub-type.  Several such implementations are provided       with ESPS, including the following:         FEA_SD              used for single and multi-channel sampled data (including  com-              plex sampled data).         FEA_SPEC              used for storing spectral information, such as  power  spectra.              Each  record  contains  a  vector of spectral values (powers or              power densities in the case of power  spectra),  together  with              certain  optional  fields - total power, an imaginary-part vec-              tor, number of frequencies, and a vector of frequencies -  that              are present or absent according to the values of certain header              items;         FEA_ANA              suitable for speech processing;  contains  spectral  parameters              (various  representations),  pulse lengths, powers, and voicing              information;         FEA_VQ              contains vector quantization codebooks;         FEA_FILT              contains digital filters;       Version 3.6                      ERL                           1/22/93       INTRODUCTION TO ESPS                                            page 5         FEA_STAT              contains statistical  information  (means,  covariances,  etc.)              suitable for pattern-classification;       By using access functions provided with the ESPS  Library,  users  can       implement their own FEA file sub-types.  They can also extend existing       FEA file types, like those mentioned above, by adding  whatever  addi-       tional record fields are desired.       The power of FEA files is enhanced by the existence of  ESPS  programs       like the following, which work on any FEA file (including user-defined       or user-extended FEA files):         psps(1-ESPS)              produces ASCII  representation  of  any  ESPS  file  (including              headers), with all fields referred to by name;         genplot(1-ESPS)              plots information from FEA file records in precise,  multi-line              format;         fea_edit(1-ESPS)              permits you to edit an ASCII representation of a FEA file using              the  editor 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 fea_edit.         select(1-ESPS)              treats ESPS FEA files as  a  database  and  allows  interactive              selection   of  records  that  satisfy  user-supplied  queries;              selected records can be output to another FEA  file;  Here  are              some examples of queries on an input FEA_ANA file:              ->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              Here, "spec_param", "frame_type", "frame_len", and  "raw_power"              are the names of fields in a FEA_ANA file.  Similar queries can              be constructed for any FEA file using the names  of  fields  in              the  FEA  file.   Queries can be constructed using simple rela-              tional expressions  involving  the  elements  in  FEA  records,              built-in  arithmetic  operators (*,+,-,/,^), built in functions              (sin, cos, tan, atan, log, log10, exp, sqrt), and  user-defined              functions  implemented  as external programs.  Also, the "eval"       Version 3.6                      ERL                           1/22/93       INTRODUCTION TO ESPS                                            page 6              command in select allows you to  specify  arbitrary  arithmetic              expressions  on  the FEA fields and have the results printed on              standard output.         fea_stat(1-ESPS)              Computes means,  covariances,  eigenvalues,  eigenvectors,  and              other  statistics  from  the  records  in a FEA file; outputs a              FEA_STAT file;         classify(1-ESPS)              performs classification of FEA file records  using  information              in FEA_STAT files;       Another useful aspect of FEA files  is  a  mechanism  called  "segment       labelling",  which  makes  it  easy to associate FEA file records with       positions or ranges in sampled-data files.  If a FEA file is  declared       to  be  segment-labelled,  then its records automatically include file       name, starting position, and length fields (these need to be filled in       by  user  programs,  but  the field support is there).  This mechanism       could be used, for example, to support  a  database  of  phonetically-       labelled  sampled  data  files by implementing a FEA file containing a       phoneme code  (or  string)  in  each  segment-labelled  record.   Then       select(1-ESPS)  could  be  used  to  process sets of these files.  For       example, the select command               ->select phoneme == "AW" || phoneme == "OW"       would yield records that provide file names, starting  positions,  and       lengths for all occurrences of the two named phonemes.       4 .  ESPS PROGRAMS AND UNIX PIPES       So that pipes can be used, most ESPS programs are written so that they       use  standard input and output as well as specific files.  As an exam-       ple, consider the following sequence of ESPS commands:               %refcof data.sd data.fana               %me_spec data.fana data.spec               %plotspec data.spec       The first command causes the  reflection  coefficients  computed  from       data  frames  in  the SD file data.sd to be placed in the FEA_ANA file       data.fana.  The second  command  computes  spectra  for  each  set  of       reflection  coefficients  and  puts  the  results  in  the  SPEC  file       data.spec.  The third command plots all  the  spectra  on  the  screen       using  a single set of axes.  If there is no need to retain the inter-       mediate FEA_ANA  and  FEA_SPEC  files,  one  could  do  the  following       instead:               %refcof data.sd - | me_spec - - | plotspec -       Version 3.6                      ERL                           1/22/93

⌨️ 快捷键说明

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