📄 history.doc
字号:
items of type EFILE. Psps has a special option (-e), which causes it to follow EFILE references and to display the corresponding ESPS headers. This will work even if the file is located on a different machine. For example, suppose there is a header-only ESPS file on host episun containing a few common parameters: %rsh episun psps -l /usr/u/shore/com_params File: com_params ---Universal Part of Header--- File type: FEA (Feature File) File header date: Wed Aug 10 17:38:33 1988 , header version: 1.61 Produced by: addgen, version: 3.2, of: 9/9/88, user: shore Hostname:path: episun:/usr/u/shore Number of data records: 0 Data is not tagged. comment text: added generic "background" on Wed Aug 10 17:37:23 1988 added generic "microphone" on Wed Aug 10 17:38:11 1988 added generic "filter_cutoff" on Wed Aug 10 17:38:33 1988 There is no reference header. ---Type Specific Part of Header (FEA)--- fea_type: NONE, segment_labeled: NO, field_count: 1 ---Generic Part of Header--- background[0]: office noise filter_cutoff: 3900 microphone[0]: carbon handset We can link this in using addgen: %eparam addgen speech.fana Name of new generic header item [item1]: collection_params Type of new generic header item [long]: efile Value of new generic header item [TEST]: sun:/usr/u/shore/com_params Without the -e option, psps just shows the reference file name: %psps -lD speech.fana File: speech.fana ---Universal Part of Header--- File type: FEA (Feature File) 3.9 ERL 1/22/93 RECORD KEEPING IN ESPS page 15 File header date: Wed Aug 10 17:23:52 1988 , header version: 1.61 Produced by: refcof, version: 3.6, of: 5/24/88, user: shore Hostname:path: epiwrl:/usr/edemos/demo Number of data records: 167 Data is tagged. refer file: speech.sd comment text: refcof -P/u2/esps3/lib/Prefcof speech.sd speech.nw.spec added generic "collection_params" on Wed Aug 10 17:23:52 1988 Source files: speech.sd There is no reference header. ---Type Specific Part of Header (FEA)--- fea_type: FEA_ANA, segment_labeled: NO, field_count: 8 ---Generic Part of Header--- DC_removed: NO collection_params: sun:/usr/u/shore/com_params filters: NO frmlen: 160 maxlpc: 1 maxpulses: 1 maxraw: 1 method: AUTOC nan: 13421 order: 12 order_unvcd: 12 order_vcd: 0 spec_rep: RC src_sf: 8000 start: 1 step: 80 window_type: WT_HAMMING However, if the -e option is used, psps follows the reference (across the network if necessary) and displays the contents: %psps -e speech.fana File: speech.fana ---Universal Part of Header--- File type: FEA (Feature File) File header date: Wed Aug 10 17:23:52 1988 , header version: 1.61 Produced by: refcof, version: 3.6, of: 5/24/88, user: shore Hostname:path: epiwrl:/usr/edemos/demo Number of data records: 167 Data is tagged. refer file: speech.sd comment text: refcof -P/u2/esps3/lib/Prefcof speech.sd speech.nw.spec added generic "collection_params" on Wed Aug 10 17:23:52 1988 Source files: speech.sd 3.9 ERL 1/22/93 RECORD KEEPING IN ESPS page 16 There is no reference header. ---Type Specific Part of Header (FEA)--- fea_type: FEA_ANA, segment_labeled: NO, field_count: 8 ---Generic Part of Header--- DC_removed: NO collection_params: External EFILE File: sun:/usr/u/shore/com_params ---Universal Part of Header--- File type: FEA (Feature File) File header date: Wed Aug 10 17:38:33 1988 , header version: 1.61 Produced by: addgen, version: 3.2, of: 9/9/88, user: shore Hostname:path: sun:/usr/u/shore Number of data records: 0 Data is not tagged. comment text: added generic "background" on Wed Aug 10 17:37:23 1988 added generic "microphone" on Wed Aug 10 17:38:11 1988 added generic "filter_cutoff" on Wed Aug 10 17:38:33 1988 There is no reference header. ---Type Specific Part of Header (FEA)--- fea_type: NONE, segment_labeled: NO, field_count: 1 ---Generic Part of Header--- background[0]: office noise filter_cutoff: 3900 microphone[0]: carbon handset filters: NO frmlen: 160 maxlpc: 1 maxpulses: 1 maxraw: 1 method: AUTOC nan: 13421 order: 12 order_unvcd: 12 order_vcd: 0 spec_rep: RC src_sf: 8000 start: 1 step: 80 window_type: WT_HAMMING If a program needs access to the data in an external header, it is a simple matter to open that file, read in the header, and use the ESPS library routines to access the generics. For cases where it makes more sense to store external information as a pure ASCII file, ESPS provides another generic header type, AFILE, 3.9 ERL 1/22/93 RECORD KEEPING IN ESPS page 17 which works exactly as described above for EFILEs. 6 . FEA File Field Definitions FEA files provide user-defined file types and therefore contain relatively few built-in fields in the type-specific header. In partic- ular, the type-specific header contains just the number of fields in each record, a flag signifying whether or not the records are segment labelled, and the identity of the FEA file sub-type. For FEA files, most header information is contained in generics that are defined depending on the FEA file sub-type. Here, for example, is the psps -l output for the FEA file signal.rc. %psps -Dl signal.rc File: signal.rc ---Universal Part of Header--- File type: FEA (Feature File) File header date: Wed Aug 10 15:11:32 1988 , header version: 1.61 Produced by: refcof, version: 3.6, of: 5/24/88, user: shore Hostname:path: epiwrl:/usr/edemos/demo Number of data records: 1 Data is tagged. refer file: signal.sd comment text: refcof -o100 -p1:2500 -l0 signal.sd signal.rc Source files: signal.sd There is no reference header. ---Type Specific Part of Header (FEA)--- fea_type: FEA_ANA, segment_labeled: NO, field_count: 8 ---Generic Part of Header--- DC_removed: NO filters: NO frmlen: 2500 maxlpc: 1 maxpulses: 1 maxraw: 1 method: AUTOC nan: 2500 order: 100 order_unvcd: 100 order_vcd: 0 spec_rep: RC src_sf: 20000 start: 1 Since FEA file headers also contain the definitions of record fields, a special option (-v) is provided to output them as part of the type- specific header. Thus, here is the full header for signal.rc: 3.9 ERL 1/22/93 RECORD KEEPING IN ESPS page 18 %psps -Dv signal.rc File: signal.rc ---Universal Part of Header--- File type: FEA (Feature File) File header date: Wed Aug 10 15:11:32 1988 , header version: 1.61 Produced by: refcof, version: 3.6, of: 5/24/88, user: shore Hostname:path: epiwrl:/usr/edemos/demo Number of data records: 1 Data is tagged. Data format is 0 doubles, 104 floats, 2 longs, 1 shorts, and 0 chars (bytes). refer file: signal.sd comment text: refcof -o100 -p1:2500 -l0 signal.sd signal.rc Source files: signal.sd There is no reference header. ---Type Specific Part of Header (FEA)--- fea_type: FEA_ANA, segment_labeled: NO, field_count: 8 Item name: frame_len, type: LONG, size: 1 Item name: num_pulses, type: LONG, size: 1 Item name: frame_type, type: CODED, size: 1 Possible coded values: NONE UNKNOWN VOICED UNVOICED SILENCE TRANSITION Item name: voiced_fraction, type: FLOAT, size: 1 Item name: raw_power, type: FLOAT, size: 1 Item name: lpc_power, type: FLOAT, size: 1 Item name: p_pulse_len, type: FLOAT, size: 1 Item name: spec_param, type: FLOAT, size: 100, rank: 1 ---Generic Part of Header--- DC_removed: NO filters: NO frmlen: 2500 maxlpc: 1 maxpulses: 1 maxraw: 1 method: AUTOC nan: 2500 order: 100 order_unvcd: 100 order_vcd: 0 spec_rep: RC src_sf: 20000 start: 1 3.9 ERL 1/22/93 RECORD KEEPING IN ESPS page 19 7 . SOURCE FILE HEADERS - COMPLETE PROCESSING HISTORIES As I mentioned earlier, an ESPS program output file header includes the names of any source files as well the headers of these source files. Since ESPS headers are recursive structures, these source file headers themselves contain the names and headers of files that were their sources. Thus, ESPS file headers contain the headers of all source files in the processing chain. This chain of headers can be viewed using various psps options. If you want to see only the universal sections of all the embedded headers, use the -f option. If you want to see all of the type-specific and generic portions, use -a. If you want to expand any EFILE or AFILE generics, use -ae. If FEA files are involved and you want to see the field definitions, then use -av (or -ave, to get the EFILE/AFILE expansion). The resulting output can be quite long (see the Appendix for an example of psps -a output). ESPS headers can get quite large if long processing chains are used. If file space is short or the history is uninteresting, you can use hd_shrink (1-ESPS) to remove all of the embedded headers. 8 . Other psps Options Psps has some other useful options besides the ones discussed above. For completeness, we summarize the psps options here: -a Print headers recursively for all source files. Headers are printed in long format with both common and type specific por- tions of each header. (i.e., as for -l option). FEA file field definitions will be printed if -v option is also used. -D Suppress printing of data records. -g Print data records in a generic format, independent of file type. -h Recursively prints the common part of all source file headers. If the full headers are wanted, use the -a option. -H Suppress printing of headers. -l Print the type-specific portion of the header and also generic header items. This does not apply to embedded headers. If simi- lar behavior is wanted for embedded headers, use -a. For EFILE (external ESPS file) and AFILE (external ASCII file) generic header items, just the filename is printed (full path with possi- ble leading hostname). If you want to follow the pointer, use -e. 3.9 ERL 1/22/93 RECORD KEEPING IN ESPS page 20 -e Follow references to external files. If any generic header items are of type EFILE (external ESPS file), the header of that file is printed. If any of the generic header items are of type AFILE (external ASCII file), the contents of that file are printed. This option implies -l (i.e., if you give -e, you don't need to give -l). This option does not apply to embedded source file headers. If similar behavior is wanted for embedded headers, use -a. For EFILE and AFILE items that refer to a file on a dif- ferent host (the hostname followed by a colon precedes the full path of the file), psps will copy the file header from the remote host and print it. Depending on network configuration, this can cause psps to run slowly. -v Verbose printing of FEA headers and generic header items. This option causes printing of all -l information, plus the following: Generic header types (along with their values), FEA field defini- tions, field derivations (if relevant - see fea_deriv (1-ESPS)), and the reference header (if present - see, for example, the dis- cussion of variable.refhd in fea_stats (1-ESPS). If -e is speci- fied together with -v, verbose printing also applies to external EFILE headers. -x Enable debug output. -r start:end -r start:+incr Determines the range of data records to print. In the first form, a pair of unsigned integers gives the first and last points of the range. If start is omitted, 1 is used. If end is omitted,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -