SPEX / Dept. of Language and Speech University of Nijmegen Erasmusplein 1 NL-6525 HT Nijmegen The Netherlands SUBJECT: Validation Danish FDB SpeechDat corpus AUTHORS: Henk van den Heuvel, Eric Sanders VERSION: 1.1 DATE : 26 May 1999 The speech databases made within the SpeechDat project were validated by SPEX, Leidschendam, the Netherlands, to assess their compliance with the SpeechDat format and content specifications, as documented in Deliverables 1.3.1, 1.3.2 and 1.3.3 of the project. The validation results of the Danish Fixed Network SpeechDat database (all 4000 speakers) are contained in this document. This database was validated and approved by the SpeechDat Consortium. In the validation procedure we systematically check a list of validation criteria for a range of subjects. In the following sections we will evaluate these criteria one by one. Validation results that call for attention because of deviations from the SpeechDat specifications are marked by =>. They can be easily extracted/'grepped' in this way. The following subjects were validated: 1 DOCUMENTATION 2 DATABASE STRUCTURE, CONTENTS AND FILE NAMES 3 ITEMS 4 SAMPLED DATA FILES 5 ANNOTATION FILES 6 LEXICON 7 SPEAKERS 8 RECORDING PLATFORM 9 TRANSCRIPTION The document is concluded by 10 SUMMARY ==================================================================== 1. DOCUMENTATION - File DESIGN.DOC; & deliverables SD131 and SD132 can be handy OK, DESIGN.DOC is present - Language of doc file: English OK - Contact person: name, address, affiliation OK, section 1 - Number of CDs OK, section 1 - Contents of each CD OK, section 1 and README.TXT - The directory structure of the CDs OK, section 1. - Description of all the items in the corpus OK, section 3 - Prompting . linguistic specification (and motivation) for the prompting material (in case of additional optional items) . connection of sheet items to item numbers on CD . sheet example . items must be spread over the sheet to prevent list effects (e.g. three yes/no questions immediately after another are not allowed) OK, sections 2.6, and 8 - Naming conventions for directories and files OK, sections 1.2, 1.3 and 1.5 - Speaker recruitment OK, sections 2.2 - 2.5 - Speaker demographics . which regions, how many of each . motivation for selection of regions . which age groups, how many of each . sexes: males, females, also children?; how many of each. . each call is made by a unique speaker OK, section 4 - Analysis of frequency of occurrence of the sub-word units represented in the phonetically rich sentences (either of phones, biphones, triphones) OK, section 3.11 - Analysis of frequency of occurrence of the sub-word units represented in the phonetically rich words (either of phones, biphones, triphones) OK, section 3.13 - Recording platform and telephone link description OK, section 2.1 - Signal characteristics (number of bits per sample; bandwidth; coding type; compression procedures) OK, section 1.1 - The format of the speech files (A-law, 8 bit, 8 kHz, uncompressed) OK, section 1.1 - The format of the annotation files (SAM label files) OK, section 1.4 - Annotation . procedure . quality assurance . character set used for annotation (transcription) (ISO-8859) . annotations symbols for non-speech acoustic events must be mentioned at least for Filled Pause, Speaker Noise, Stationary Noise, Intermittent Noise. . list of symbols used to denote word truncations, mispronunciations and not understandable speech . case sensitivity of transcriptions OK, sections 2.7, 9 and 10 - Lexicon information . Procedures to obtain phonemic forms from orthographic input (lexicon generation and lay out) . (Reference to) SAMPA symbols used . case sensitivity of entries (matching the transcriptions) OK, section 5 - Only one spelling of each word is allowed. Therefore a list of normalised spellings for words with alternative spellings should be included (SPELLALT.DOC). Otherwise a statement why such a list is not necessary. OK, section 2.7. Dictionnary is used. - Information on test (set) specification OK, section 1.5.3 - Indication of how many of the files were double checked by the producer together with percentage of detected errors => Not reported - The validation report made by SPEX (VALREP.TXT) is referred to OK, section 1.5 (and in README.TXT) ========================================================================== 2. DATABASE STRUCTURE CONTENTS AND FILE NAMES - Directory / subdirectory conventions Format of directory tree should be \\\ . data base: defined as <#> can be FIXED, MOBIL, VERIF <#> is 0 for SpeechDat(M) and 1 for SpeechDat is the ISO two-letter code for the language . block : defined as BLOCK where is a progressive number from 00 to 99. Block numbers are unique over all CDs. They correspond to the first two digits of below. . session: defined as SES where is the session code also appearing in file name OK - All text files should be in MS-DOS format ( at line ends OK - A README.TXT file should be in the root describing all (documentation) files on the CD-ROM. OK - A file containing a shortened version of the volume name (11 chars max.) should be in the root directory. The name of this file is DISK.ID. This file supplies the volume label to UNIX systems that cannot read the physical volume label. Example of contents: FIXED1EN_01. OK The data is stored onto 15 CDs with volume numbers 00-14. As a result it is unclear that the CD with e.g. label 13/14 is in fact the 14th CD. We recommend usage of volume numbers starting with 01. - A copyright statement should be present in the file COPYRIGH.TXT (root) OK - Documentation should be in \\DOC . DESIGN.DOC . TRANSCRIP.DOC (optional) . SPELLALT.DOC (optional) . SAMPALEX.PS . ISO8859.PS . SUMMARY.TXT . SAMPSTAT.TXT OK - The contents list (CONTENTS.LST) is in \\INDEX OK - Tables should be in \\TABLE . SPEAKER.TBL . LEXICON.TBL . REC_COND.TBL (optional) . SESSION.TBL (optional) OK, SPEAKER.TBL, SESSION.TBL and LEXICON.TBL are present - Index files (optional) should be in \\INDEX OK - The index files (if present) obey the nomenclature .LST where e.g. A1ENN3.LST (see below for item_code) Not provided - Prompt sheet files (optional) should be in \\PROMPT OK, anotherer directory structure was used (PROMPTnn), as explained in section 7 of DESIGN.DOC. - All sessions indicated in the documentation SUMMARY.TXT are present on the CDs OK - File naming conventions All file names should obey the following pattern: DDNNNNCC.LLF DD : database identification code For SpeechDat : A1 = fixed net, B1 = mobile, C1 = speaker verification NNNN : session code 0000 to 9999 CC : item code; first character is item type identifier, second character is item number LL : ISO-639 language code (with extensions) F : speech file type A is for A-law O is for Orthographic label file OK - Correct item codes should be used: A1-3/6: common application words B1 : sequence of isolated digits C1 : prompt sheet number C2 : telephone number C3 : credit card number C4 : PIN code D1-3 : dates E1 : application word phrase I1 : isolated digit L1-3 : spelled words M1 : money amount N1 : natural number O1 : spontaneous name O2 : city of call/birth O3 : most frequent city name O5 : most frequent company/agency name O7 : forename & surname Q1-2 : yes/no questions S1-9 : phonetically rich sentences T1 : time of day T2 : time phrase W1-4 : phonetically rich words OK, see section 3 below - NNNN in filenames is not in conflict with BLOCK and SES numbers in pathname OK - Contents lowest level subdirectories should be of one call only OK - Empty (i.e. zero-length) files are not permitted OK - Missing items per speaker Check with documentation (SUMMARY.TXT) - File match: For each label file there must be one speech file and vice versa. OK - Part of the corpus is designed for training and a smaller part for testing. OK, in the INDEX directory A1TRNDA.SES and the test set A1TSTDA.SES are present. The 500 calls selected for testing are all from existing calls The remaining 3500 calls for training exist and do not overlap with the testset. - All table files, and index files should report the field names as the first row in the files using tabs as in the data records following. OK - The contents of the database as given in CONTENTS.LST should comprise . CD-ROM volume name (VOL:) . full pathname (DIR:) . speech file name (SRC:) . corpus code (CCD:) . corpus repetition (CRP:) . speaker code (SCD:) . speaker sex (SEX:) . speaker age (AGE:) . speaker accent (ACC:) . orthographic transcription of uttered item (LBO:) The first line should be a header specifying the information in each record. This file must be supplied as an ASCII TAB delimited file. OK - The contents of the SUMMARY.TXT files should comprise: . The full directory name where speech and label files are to be found . the session number . a string of typically N codes. Each item present is represented by its code. If the item is missing, a '--' should appear. . recording date . recording time of first item . optional comment text . all these fields are separated by spaces . Note: The contents of the SUMMARY.TXT file are not CD-dependent OK ====================================================================== 3. ITEMS - 1 isolated digit (code I1) . read or prompted OK - 1 sequence of 10 isolated digit (code B1) . each sequence must include all digits . optional are hash and star OK, hash and start were not used - 4 connected digits (code C1-4) - 4-6 digit number to identify the prompt sheet . read - ~10 digit telephone number . read . local numbers . inclusion of GSM numbers recommended - 14-16 digit credit card number . read . set of 150 . if there is a checksum then formula must be provided - 6 digit PIN code . read . set of 150 . ~30 digits per call are required . digits must appear numerically on the sheet, not as words OK 8 digits were used for C1; 8 digits were used for C2 - 1 natural number (code N1) . read . provided as numbers (numerically) . numbers must be < 1,000,000 . decimal numbers only allowed for additional natural numbers OK Decimals were used, which is OK since two numbers are provided. - 1 money amount (code M1) . read . currency words should be included . mixture of small amount including decimals and large amounts not including decimals OK - 3 spelled words (code L1-3) . L1 is spontaneous name spelling linked to O1 . others are read . equal balance of all vocabulary letters artificial words can be used to enforce this balance . average length at least 7 letters . may include names, cities and other frequently spelled items . should include equivalents of : A-Z, accent words, CAPITAL, SMALL, UPPER-CASE, LOWER-CASE, DOUBLE, APOSTROPHE, HYPHEN OK, sufficient examples of each letter were observed (see also section 3.6.4 of DESIGN.DOC). The mean length of the spelt words was 8.06 letters/word - 1 time of day (code T1) . spontaneous OK - 1 time phrase (code T2) . read . analogue form . equal balance of all words . should include equivalents of : AM/PM, HALF/QUARTER PAST/TO, NOON, MIDNIGHT, MORNING, AFTERNOON, EVENING, NIGHT, TODAY, YESTERDAY, TOMORROW OK => Also digital times of the type 3.50 were recorded - 1 date (code D1) . spontaneous OK - 1 date (code D2) . read, wordstyle . analogue form . covering all weekdays and months, ordinals and year expressions (also exceeding 2000) OK => Also digital dates of the type 21/2 were recorded About 300 realisations for each month and over 70 realisations of each weekday were recorded. - 1 relative date (code D3) . read . analogue . should include forms such as TODAY, TOMORROW, THE DAY AFTER TOMORROW, THE NEXT DAY, THE DAY AFTER THAT, NEXT WEEK, GOOD FRIDAY, EASTER MONDAY, etc. OK, 180 different expressions were observed, each occurring about 20 times - 2 yes/no questions (code Q1-2) . spontaneous, not prompted . one question should elicit (predominantly) 'no' answers; the other (predominantly) 'yes' answers . also fuzzy answers should be envisaged OK - 3/6 common application words (code A1-3/6) . read . set of 30 should be used, 25 of which are fixed for all . minimum number of examples of each word = #speakers/10 . 6 are needed, but only 3 for 4000+ FDBs OK For the application words there are no equivalents of 'operator' and 'redial', as explained in section 3.1 of DESIGN.DOC. Each word is represented by at least 375 realisations. - 1 application word phrase (code E1) . application word is embedded in phrase . read or spontaneous OK - 9 phonetically rich sentences (code S1-9) . read . minimum number of phone examples = #speakers/10 OK For diphthongs the criterion values are not achieved. The reasons for this are explained in section 3.11 of DESIGN.DOC - 4 phonetically rich words (code W1-4) . read . minimum number of phone examples = #speakers/5 OK For diphthongs the criterion values are not achieved. The reasons for this are explained in section 3.13 of DESIGN.DOC - 5 directory assistance names (code O1-7) . 1 spontaneous name (e.g. forename) . 1 spontaneous city name . 1 read city name (from list of 500 most frequent) . 1 read company/agency name (from list of 500 most frequent) . 1 read proper name, fore- and surname (from list of 150 SDB names) OK We found 504 different company names, as accords with the number in section 3.9.4 of DESIGN.DOC. As additional, optional items were recorded: N2: extra natural number S0: extra phonetically rich sentence W5: extra phonetically rich word The following completeness checks are performed on obligatory SpeechDat items only: 1. Structurally missing items There are no structurally missing items in the database. 2. Incidentally missing items a. files that are not there There are neither missing nor empty files. b. files with empty transcriptions in the LBO label field (effectively missing files) We found 664 files that have only noise symbols and/or ** in their transcriptions. The distribution of these files over the items is: 16 A1 14 A2 55 A3 1 B1 10 C1 2 C2 1 C3 3 C4 4 D1 1 D2 2 D3 1 E1 14 I1 1 L1 1 L2 33 L3 2 M1 3 N1 7 N2 13 O1 141 O2 29 O3 24 O5 9 O7 16 Q1 17 Q2 4 S0 7 S1 5 S3 1 S4 2 S5 1 S6 2 S9 47 T1 2 T2 38 W1 30 W2 35 W3 44 W4 26 W5 c. corrupted speech files If we regard utterances which have only truncated or mispronounced words as corrupted files, and merge these with the effectively missing files under b. then the following distribution emerges : 48 A1 41 A2 136 A3 1 B1 11 C1 2 C2 1 C3 3 C4 4 D1 1 D2 5 D3 1 E1 31 I1 1 L1 2 L2 35 L3 3 M1 3 N1 8 N2 26 O1 189 O2 104 O3 46 O5 15 O7 48 Q1 45 Q2 4 S0 7 S1 5 S3 1 S4 2 S5 1 S6 2 S9 47 T1 2 T2 116 W1 111 W2 118 W3 148 W4 87 W5 (This will not be used to reject or approve a database but it will be supplied as supplementary information.) d. files containing truncation and mispronunciation marks (*,**,~ are counted in the transcriptions of the individual items to get an idea of distorted speech data. This will not be used to reject or approve a database but it will be supplied as supplementary information.) We found 8996 transcriptions with at least one *, or **, or ~, according to the following distribution over the (obligatory) items: A1: 78 A2: 65 A3: 256 B1: 77 C1: 98 C2: 157 C3: 186 C4: 100 D1: 105 D2: 160 D3: 54 E1: 258 I1: 47 L1: 93 L2: 127 L3: 277 M1: 132 N1: 160 O1: 61 O2: 342 O3: 143 O5: 582 O7: 265 Q1: 116 Q2: 167 S1: 362 S2: 382 S3: 432 S4: 466 S5: 463 S6: 467 S7: 468 S8: 447 S9: 436 T1: 107 T2: 114 W1: 174 W2: 169 W3: 164 W4: 239 3. Overall conclusion SpeechDat has the following criteria for missing items: . At least 95% of the files of each mandatory item (corpus code) must be present. . As missing files are counted: absent files, and files containing non-speech events only. . There will be no further comparison of prompt and transcription text in order to decide if a file is effectively missing. As a consequence: If there is some speech in the transcription, then the file will NOT be considered missing, even if it is in fact useless. For a database of 4000 calls a maximum of 5% * 4000 = 200 files per item may be missing. For the decision of completeness of an item the distribution given in 2b above should be used. It is clear from this distribution that none of the items effectively misses 5% or more out of all realisations. This even holds if the utterances with corrupt speech are included. Thus, it appears that all items are sufficiently complete. =========================================================================== 4. SAMPLED DATA FILES 1 Coding . A-law, 8 bit, 8 kHz, no compression OK 2 Sample distribution Several sample statistics are generated: File length, clipping rate, mean sample value, Signal-to-Noise Ratio (SNR). Statistics were generated on file level by the producer of the database, using SPEX software. The results were delivered to SPEX. SPEX compiled histograms on the basis these results. These histograms are presented below, both on file level and on directory (call) level. The histograms are presented as they are and not further interpreted by SPEX. On the basis of these data the user of the database should be able to decide which acoustic quality is still acceptable for the application at hand. Statistics on the acoustics of individual speech files can be retrieved from file \DOC\SAMPSTAT.TXT. The columns in SAMPSTAT.TXT have the following meaning: file max min #samples cliprate mean snr A11001C2.ENA:16384:-13056:80000: 0.00: -4.28: 35.89 2.1 File length We calculated the length of the files in seconds in order to trace spurious recordings if files were of extraordinary length. Duration distribution over all items: Length (s) #Occurrences 1 - 2 : 286 2 - 3 : 30709 3 - 4 : 38261 4 - 5 : 33256 5 - 6 : 26316 6 - 7 : 16564 7 - 8 : 9471 8 - 9 : 5104 9 - 10 : 3607 10 - 11 : 1938 11 - 12 : 1542 12 - 13 : 1515 13 - 14 : 908 14 - 15 : 683 15 - 16 : 775 16 - 17 : 331 17 - 18 : 368 18 - 19 : 89 19 - 20 : 92 20 - 21 : 185 Duration distribution over calls/directories: Length (s) #Occurrences 3 - 4 : 53 4 - 5 : 2078 5 - 6 : 1503 6 - 7 : 289 7 - 8 : 61 8 - 9 : 10 9 - 10 : 4 11 - 12 : 2 2.2 min-max samples We provide a histogram with clipping ratios, The clipping ratio is defined as the proportion of samples in a file that is equal to the maximum/minimum value, divided by all samples in the file. The histogram, then, is an overview of how many files were found in a set of clipping rate intervals. Clip distribution for all items: Clipping Occurrences rate (in %) 0.0 - 0.1 : 7017 0.1 - 0.2 : 1220 0.2 - 0.3 : 589 0.3 - 0.4 : 235 0.4 - 0.5 : 171 0.5 - 0.6 : 121 0.6 - 0.7 : 83 0.7 - 0.8 : 40 0.8 - 0.9 : 48 0.9 - 1.0 : 40 1.0 - 1.1 : 27 1.1 - 1.2 : 30 1.2 - 1.3 : 33 1.3 - 1.4 : 17 1.4 - 1.5 : 16 1.5 - 1.6 : 13 1.6 - 1.7 : 15 1.7 - 1.8 : 8 1.8 - 1.9 : 10 1.9 - 2.0 : 7 2.0 - 2.1 : 5 2.1 - 2.2 : 7 2.2 - 2.3 : 6 2.3 - 2.4 : 9 2.4 - 2.5 : 10 2.5 - 2.6 : 8 2.6 - 2.7 : 2 2.7 - 2.8 : 2 2.8 - 2.9 : 2 2.9 - 3.0 : 2 3.0 - 3.1 : 4 3.1 - 3.2 : 3 3.2 - 3.3 : 4 3.3 - 3.4 : 1 3.5 - 3.6 : 3 3.6 - 3.7 : 2 3.7 - 3.8 : 2 3.8 - 3.9 : 1 3.9 - 4.0 : 1 4.0 - 4.1 : 1 4.1 - 4.2 : 1 4.2 - 4.3 : 1 4.4 - 4.5 : 1 4.9 - 5.0 : 1 5.0 - 5.1 : 3 5.6 - 5.7 : 1 6.2 - 6.3 : 1 Number of files with absolute maximum < 32256: 162176 Clip distribution over calls/directories: Clipping Occurrences rate (in %) 0.0 - 0.1 : 1069 0.1 - 0.2 : 32 0.2 - 0.3 : 18 0.3 - 0.4 : 3 0.4 - 0.5 : 5 0.5 - 0.6 : 1 0.7 - 0.8 : 1 0.9 - 1.0 : 1 1.0 - 1.1 : 2 1.2 - 1.3 : 1 1.4 - 1.5 : 1 1.8 - 1.9 : 1 2.0 - 2.1 : 1 Number of directories with absolute maximum < 32256: 2864 => The sessions with average clipratios of more than 1.0 were: => SES1587 with clipratio 1.48 => SES2076 with clipratio 1.10 => SES2228 with clipratio 1.02 => SES2265 with clipratio 2.03 => SES2446 with clipratio 1.89 => SES3995 with clipratio 1.27 => None of these calls is suited for training. 2.3 Mean values We computed the mean sample value of each item in each call. We provide a histogram with mean values below. The histogram, then, is an overview of how many files were found in a set of mean sample value intervals. This overview can be used to trace files with large DC-offsets. Mean distribution over all items: Mean Occurrences -140 - -130 : 1 -130 - -120 : 5 -120 - -110 : 51 -110 - -100 : 116 -100 - -90 : 125 -90 - -80 : 45 -80 - -70 : 81 -70 - -60 : 206 -60 - -50 : 304 -50 - -40 : 597 -40 - -30 : 1480 -30 - -20 : 5868 -20 - -10 : 20915 -10 - 0 : 22062 0 - 10 : 95829 10 - 20 : 8250 20 - 30 : 3007 30 - 40 : 4167 40 - 50 : 4754 50 - 60 : 2775 60 - 70 : 955 70 - 80 : 241 80 - 90 : 54 90 - 100 : 3 100 - 110 : 49 110 - 120 : 3 120 - 130 : 3 130 - 140 : 49 140 - 150 : 3 150 - 160 : 2 Mean distribution over calls/directories: Mean Occurrences -120 - -110 : 1 -110 - -100 : 3 -100 - -90 : 2 -80 - -70 : 1 -70 - -60 : 1 -60 - -50 : 5 -50 - -40 : 9 -40 - -30 : 36 -30 - -20 : 117 -20 - -10 : 563 -10 - 0 : 467 0 - 10 : 2269 10 - 20 : 160 20 - 30 : 62 30 - 40 : 102 40 - 50 : 106 50 - 60 : 65 60 - 70 : 22 70 - 80 : 5 80 - 90 : 1 90 - 100 : 1 100 - 110 : 1 130 - 140 : 1 None of these figures is alarming. 2.4 Signal to Noise Ratio We split each signal file into contiguous windows of 10 ms and computed the Mean Square (energy) in each window. The mean sample value over the complete file was subtracted from each individual sample value before MS was computed. 5% of the windows that contained the lowest energy were assumed to contain line noise. In this way the signal to noise ratio could be calculated for each file by dividing the mean energy over all windows by the mean energy of the 5% sample mentioned above. The result was multiplied by 10*log for scaling. SNR distribution over all items: SNR occurrences 0 - 5 : 3 5 - 10 : 38 10 - 15 : 206 15 - 20 : 660 20 - 25 : 2974 25 - 30 : 10986 30 - 35 : 28317 35 - 40 : 45861 40 - 45 : 43624 45 - 50 : 25337 50 - 55 : 9918 55 - 60 : 2588 60 - 65 : 782 65 - 70 : 320 70 - 75 : 183 75 - 80 : 80 80 - 85 : 64 85 - 90 : 24 90 - 95 : 20 95 - 100 : 10 100 - 105 : 3 105 - 110 : 1 115 - 120 : 1 SNR distribution over calls/directories: SNR occurrences 10 - 15 : 4 15 - 20 : 8 20 - 25 : 42 25 - 30 : 197 30 - 35 : 650 35 - 40 : 1149 40 - 45 : 1151 45 - 50 : 561 50 - 55 : 183 55 - 60 : 39 60 - 65 : 9 65 - 70 : 3 70 - 75 : 3 75 - 80 : 1 None of the average SNR values for the calls is alarming. =========================================================================== 5. ANNOTATION FILE - Each line must be delimited by OK - Mandatory (SAM) mnemonics: LHD: SAM, 5.10 DBN: SPEECHDAT__Fixed_Network VOL: FIXED1_ SES: DIR: SRC: CCD: CRP: < = corpus repetition, empty> REP: RED: RET: SAM: 8000 < = sampling freq.> BEG: END: SNB: 1 < = number of bytes per sample> SBF: < = sample byte order, meaningless with single bytes> SSB: 8 < = number of significant bits per sample> QNT: A-LAW < = quantisation> SCD: SEX: M/F/UNKNOWN AGE: ! mnemo is not SAM ACC: ! mnemo is not SAM REG: ENV: LBD: LBR: , , [gain], [minimum value], [maximum value], LBO: , [centre sample], , EXT: 80 chars on one line> ELF: - Optional (SAM) mnemonics (may be omitted or left empty) TYP: orthographic TXF: CMT: NCH: 1 < = number of channels recorded> ARC: ! mnemo is not SAM SHT: ! mnemo is not SAM CMP: EXP: SYS: DAT: SPA: PHM: ! mnemo is not SAM NET: PSTN < = network> ! mnemo is not SAM DSC: < = discontinuity marker> EDU: ! mnemo is not SAM SOC: ! mnemo is not SAM HLT: TRD: RCC: ASS: ! mnemo is not SAM - Order restrictions: . LHD and TYP are first . LBR and LBO come after LBD . ELF is end of file keyword OK - All mnemonics should be SAM mnemonics or explicitly defined in documentation OK - No illegal mnemonics used OK - There are no mnemonics missing OK, a few of the optional mnemonics were used: TYP, NCH, CMP, PHM, SHT, EXP, DAT - All files must contain the same mnemonics. This holds as well for the optional mnemonics. OK - No illegal field values should appear OK => A minor point is that MOBILE was used for PHM. This must be HANDSFREE or => CELLULAR, depending on whether what MOBILE should mean in this context. => Assuming that it means CELLULAR, then we have found a total of 23 => cellular calls, which is 5.75% of the 4000 calls. - No line may exceed 80 chars OK - Each lowest subdirectory does not refer to multiple sheet ids. OK - For spontaneous speech LBR should contain a mnemonic word. D1 : L1 : O1 : O2 : Q1 : or Q2 : or T1 :