SUBJECT: Validation Swedish FDB1000 SpeechDat corpus AUTHORS: Henk van den Heuvel, Eric Sanders VERSION: 1.0 DATE : 29 April 1998 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 Swedish Fixed Network database (first 1000 speakers) was validated and approved by the SpeechDat Consortium. The validation results for this database are contained in this document. 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 OK - Language of doc file: English OK - Contact person: name, address, affiliation OK - Number of CDs OK, section 1 - Contents of each CD OK, section 1 - The directory structure of the CDs OK, section 1.3 - Description of all the items in the corpus OK, sections 1.2 and 3 - Prompting . linguistic specification (and motivation) for the prompting material (in case of additional optional items) OK, sections 2.3 and 2.4 . connection of sheet items to item numbers on CD OK, section 1.2 . sheet example OK, section 9 . 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.4 and 9 - Naming conventions for directories and files OK, section 1.2 - Speaker recruitment OK, section 2.2 - Speaker demographics . which regions, how many of each OK, sections 5.1 , 5.2 and 5.3 . motivation for selection of regions OK, section 5.1 . which age groups, how many of each OK, section 5.4 . sexes: males, females, also children?; how many of each. OK, section 5.4 . each call is made by a unique speaker There is no guarantee - Analysis of frequency of occurrence of the sub-word units represented in the phonetically rich sentences (either of phones, biphones, triphones) OK, section 3.12. - Analysis of frequency of occurrence of the sub-word units represented in the phonetically rich words (either of phones, biphones, triphones) OK, sections 3.13 and 3.12 - Recording platform and telephone link decription (which part is digital) 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 . 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, section 2.5 - 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 6 - 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, an account of deviations is found in section 2.5 - Indication of how many of the files were double checked by the producer together with percentage of detected errors => There is no information on double checks. => But safeguards for transcription quality are given in section 2.5 - The validation report made by SPEX (VALREP.TXT) is referred to => There is no reference to the validation report in the DESIGN.DOC ========================================================================== 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. => The README.TXT file is not in the root directory, but in \FIXED1SV. The contents are OK. Minor remark: => The LEXICON.TBL is in the wrong directory and this is also wrong in => README.TXT - 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. => The DISK.ID file is not in the root directory, but in \FIXED1SV. The contents are OK - A copyright statement should be present in the file COPYRIGH.TXT (root) => The COPYRIGH.TXT file is not in the root directory, but in \FIXED1SV. The contents are OK - Documentation should be in \\DOC . DESIGN.DOC . TRANSCRIP.DOC (optional) . SPELLALT.DOC (optional) . SAMPALEX.PS . ISO8859<1,2,7>.PS . SUMMARY.TXT . SAMPSTAT.TXT TRANSCRIP.DOC is TRANSCRP.HTM => LEXICON.TBL is in \FIXED1SV\DOC => The ISO file is preferred in table format - 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) => LEXICON.TBL is in \FIXED1SV\DOC - Index files (optional) should be in \\INDEX Only CONTENTS.LST is mandatory. OK, only CONTENTS.LST is delivered - The index files (if present) obey the nomenclature .LST where e.g. A1ENN3.LST (see below for item_code) OK, not applicable - Prompt sheet files (optional) should be in \\PROMPT Not provided - 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 - 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, there are no empty files - Missing items per speaker Check with documentation There are no missing items - File match: For each label file there must be one speech file and vice versa. => 25 files label files do not have matching speech files. => All these files are from session 0052. - Part of the corpus is designed for training and a smaller part for testing. Not applicable for FDB1000 - 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 star 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, C1 contains 7-10 digits - 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 - 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, => Most letters in the spellings occur 100 times or more, but some are very => rare (< 50): C: 42 J: 45 Q: 4 X: 8 Y: 17 Z: 22 w: 16 x: 15 Ä: 44 ü: 4 - 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 - 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 - 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 - 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, although few fuzzy answers were obtained - 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 - 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 - 4 phonetically rich words (code W1-4) . read . minimum number of phone examples = #speakers/5 OK - 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 => Lists of 500 were used for proper names 1. Structurally missing items All obligatory items were recorded and none is structurally missing. 2. Incidentally missing items a. files that are not there => There are 25 missing speech files in directory SES0052 b. files with empty transcriptions in the LBO label field (effectively missing files) We found the following distribution of files that have only noise symbols and/or ** in their transcriptions. The number of files with empty transcriptions is shown per item. (20 files in total) 1 A2 1 A3 1 C3 1 D1 1 E1 1 I1 2 M1 2 O1 1 S1 1 S5 1 S6 5 T1 1 X2 1 X5 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 : 2 A1 5 A2 5 A3 1 C3 1 D1 1 D3 1 E1 4 I1 1 L2 2 M1 1 N1 6 O1 2 O2 10 O3 15 O5 1 O7 1 Q2 1 S1 1 S5 1 S6 5 T1 15 W1 13 W2 11 W3 17 W4 1 X2 1 X5 (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 1333 transcriptions with at least one *, or **, or ~, according to the following distribution over the items: A1: 4 A2: 7 A3: 9 B1: 19 C1: 24 C2: 21 C3: 28 C4: 15 D1: 30 D2: 52 D3: 17 E1: 35 I1: 7 L1: 16 L2: 16 L3: 19 M1: 26 N1: 14 O1: 33 O2: 22 O3: 16 O5: 25 O7: 24 Q1: 34 Q2: 32 S1: 48 S2: 59 S3: 112 S4: 78 S5: 58 S6: 99 S7: 29 S8: 43 S9: 131 T1: 33 T2: 16 W1: 21 W2: 18 W3: 20 W4: 23 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 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 50 or more files. Thus it can be concluded that all obligatory items are sufficiently complete. This even holds if the corrupted files of 2c are included as effectively missing. =========================================================================== 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 : 129 2 - 3 : 6072 3 - 4 : 10348 4 - 5 : 9343 5 - 6 : 8937 6 - 7 : 4527 7 - 8 : 3283 8 - 9 : 2029 9 - 10 : 1152 10 - 11 : 1114 11 - 12 : 355 12 - 13 : 274 13 - 14 : 146 14 - 15 : 113 15 - 16 : 176 17 - 18 : 2 Duration distribution over calls/directories: Length (s) #Occurrences 3 - 4 : 15 4 - 5 : 382 5 - 6 : 516 6 - 7 : 81 7 - 8 : 6 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 : 1473 0.1 - 0.2 : 157 0.2 - 0.3 : 71 0.3 - 0.4 : 25 0.4 - 0.5 : 14 0.5 - 0.6 : 10 0.6 - 0.7 : 5 0.7 - 0.8 : 3 0.8 - 0.9 : 4 0.9 - 1.0 : 1 1.0 - 1.1 : 3 1.1 - 1.2 : 1 1.2 - 1.3 : 3 1.3 - 1.4 : 3 1.4 - 1.5 : 1 1.5 - 1.6 : 3 1.6 - 1.7 : 2 1.7 - 1.8 : 2 1.8 - 1.9 : 3 1.9 - 2.0 : 2 2.1 - 2.2 : 2 2.2 - 2.3 : 3 2.4 - 2.5 : 1 2.6 - 2.7 : 2 3.3 - 3.4 : 1 3.4 - 3.5 : 1 Number of files with absolute maximum < 32256: 46204 Clip distribution over calls/directories: Clipping Occurrences rate (in %) 0.0 - 0.1 : 207 0.1 - 0.2 : 2 0.2 - 0.3 : 2 1.4 - 1.5 : 1 Number of directories with absolute maximum < 32256: 788 The call with the high extreme high clipratio of 1.41 is SES0370. The clipping does not seem disastrous. 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 -110 - -100 : 48 -100 - -90 : 175 -90 - -80 : 212 -80 - -70 : 543 -70 - -60 : 231 -60 - -50 : 238 -50 - -40 : 204 -40 - -30 : 187 -30 - -20 : 448 -20 - -10 : 2337 -10 - 0 : 2951 0 - 10 : 19811 10 - 20 : 5358 20 - 30 : 2880 30 - 40 : 3902 40 - 50 : 3841 50 - 60 : 2884 60 - 70 : 1097 70 - 80 : 401 80 - 90 : 152 90 - 100 : 2 100 - 110 : 2 110 - 120 : 3 120 - 130 : 45 260 - 270 : 35 270 - 280 : 13 Mean distribution over calls/directories: Mean Occurrences -110 - -100 : 1 -100 - -90 : 4 -90 - -80 : 4 -80 - -70 : 11 -70 - -60 : 5 -60 - -50 : 5 -50 - -40 : 3 -40 - -30 : 4 -30 - -20 : 8 -20 - -10 : 55 -10 - 0 : 59 0 - 10 : 395 10 - 20 : 133 20 - 30 : 63 30 - 40 : 77 40 - 50 : 79 50 - 60 : 58 60 - 70 : 23 70 - 80 : 8 80 - 90 : 3 120 - 130 : 1 260 - 270 : 1 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 5 - 10 : 4 10 - 15 : 57 15 - 20 : 229 20 - 25 : 862 25 - 30 : 2748 30 - 35 : 7204 35 - 40 : 13662 40 - 45 : 12728 45 - 50 : 6323 50 - 55 : 2463 55 - 60 : 868 60 - 65 : 475 65 - 70 : 184 70 - 75 : 70 75 - 80 : 58 80 - 85 : 36 85 - 90 : 11 90 - 95 : 11 95 - 100 : 3 100 - 105 : 1 105 - 110 : 2 115 - 120 : 1 SNR distribution over calls/directories: SNR occurrences 10 - 15 : 1 15 - 20 : 3 20 - 25 : 14 25 - 30 : 45 30 - 35 : 136 35 - 40 : 302 40 - 45 : 286 45 - 50 : 143 50 - 55 : 47 55 - 60 : 15 60 - 65 : 7 65 - 70 : 1 =========================================================================== 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 - All mnemonics should be SAM mnemonics or explicitly defined in documentation OK - No illegal mnemonics used OK, all obligatory mnemonics are used plus a few additional, optional ones: TYP, SHT, NET, PHM, ARC In a few annotation files we found an empty line : A10501S1.SVO A10179S1.SVO A10219S1.SVO A10341S1.SVO A10885S1.SVO - There are no mnemonics missing OK - All files must contain the same mnemonics. This holds as well for the optional mnemonics. OK - No illegal field values should appear => For NET the value PSTN is used, whereas FIXED is prescribed => For PHM, there a subcategories with the exact telephone type => This telephone type in PHM is written in Swedish, probably directly => reflecting the caller's answer to the specific question. - 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 :