SPEX / Dept. of Language and Speech University of Nijmegen Erasmusplein 1 NL-6525 HT Nijmegen The Netherlands SUBJECT: Validation Finnish Swedish FDB SpeechDat corpus AUTHORS: Henk van den Heuvel, Eric Sanders VERSION: 1.0 DATE : 20 October 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 validation results of the Finnish Swedish Fixed Network SpeechDat database (1000 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 - 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, sections 1, 1.3 - Description of all the items in the corpus OK, sections 1.2, 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, section 2.3, 8 - Naming conventions for directories and files OK, sections 1.2, 1.3 - Speaker recruitment OK, section 2.2 - 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 Fig. 2 with dialects does not show the two Fin.Swedish dialect areas mentioned in the table above it. However, Table and map in section 4.2 are clear enough. - 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. => In section 3.11, 3,13 and 5 it should be said that the geminate => consonant phones can/should be merged with the corresponding => monophones - 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 decription (which part is digital) OK, section 2.1 => A clarification of the ADA software mentioned is in place - 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 => The abbreviation SDB between brackets for CRP should be => replaced by "(not used)" - 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, section 2.4 => It should be added that [sta] is placed only at the beginning => of the stationary noise - 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. Not provided - Indication of how many of the files were double checked by the producer together with percentage of detected errors OK, section 5. => Final sentence should read: "... there were errors in less than => one percent of the *checked* files". - The validation report made by SPEX (VALREP.TXT) is referred to => VALREP.TXT not referred to. ========================================================================== 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, => There is only one erroneous file name: FIXED1FS\BLOCK00\SES0065\L - 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 - 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<1,2,7>.PS . SUMMARY.TXT . SAMPSTAT.TXT OK, all obligatory files are provided. => TRANSCRIP.DOC is named TRANSCRP.DOC - 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 provided - Index files (optional) should be in \\INDEX Only CONTENTS.LST are the test set file are mandatory. 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 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, see also section 3 - 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) OK - File match: For each label file there must be one speech file and vice versa. => The following speech file has no corresponding label file: A10091S9.FSA - Part of the corpus is designed for training and a smaller part for testing. OK The test sessions file is provided. The 200 calls selected for testing are all from existing calls. There are no test design files - 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, no hashes and stars - 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 - 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 - 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, there are no year expressions exceeding 2000. Each day name appears over 150 times; each month name appears over 60 times - 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 - 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, each word appears between 150-250 times - 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 => The following phones in the words have less than 200 samples: => /E:,tS,Y:,S/. An explanation for sparsity of /E:,tS,Y:/ is given. All phones in the words have more than 100 samples - 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 Out of 223 city names (O3) 220 were recorded. Out of 500 company names 456 (O5) were recorded. All 150 names appear (O7), about 5 times each. The following completeness checks are performed on obligatory SpeechDat items only: 1. Structurally missing items All obligatory items are recorded. 2. Incidentally missing items a. files that are not there We found the following distribution of missing files over the database (77 utterances in total): 1 A3 3 A4 4 A5 4 A6 5 B1 2 C2 4 C4 1 D2 3 D3 1 E1 4 I1 2 L3 1 N1 2 O1 2 O5 4 O7 1 S4 2 S5 3 S6 4 S7 4 S8 6 S9 3 W1 3 W2 4 W3 4 W4 b. files with empty transcriptions in the LBO label field (effectively missing files) We found 176 files that have only noise symbols and/or ** in their transcriptions. If we add these to the empty files (but these were none) then we get the following distribution (number of files per item): 1 A1 5 A2 6 A3 5 A4 7 A5 8 A6 7 B1 3 C1 2 C2 5 C3 5 C4 2 D1 3 D2 6 D3 7 E1 9 I1 7 L1 5 L2 3 L3 2 M1 5 N1 9 O1 18 O2 6 O3 6 O5 8 O7 6 Q1 12 Q2 1 S1 2 S2 1 S3 4 S4 3 S5 7 S6 8 S7 7 S8 8 S9 15 T1 2 T2 6 W1 7 W2 9 W3 8 W4 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 : 5 A1 12 A2 16 A3 11 A4 17 A5 18 A6 7 B1 3 C1 2 C2 5 C3 5 C4 3 D1 3 D2 8 D3 7 E1 10 I1 7 L1 5 L2 3 L3 2 M1 5 N1 15 O1 25 O2 10 O3 6 O5 8 O7 7 Q1 13 Q2 1 S1 2 S2 1 S3 4 S4 3 S5 7 S6 8 S7 7 S8 8 S9 15 T1 2 T2 12 W1 14 W2 19 W3 10 W4 (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 2081 transcriptions with at least one *, or **, or ~, according to the following distribution over the (obligatory) items: A1: 12 A2: 23 A3: 29 A4: 21 A5: 21 A6: 25 B1: 75 C1: 13 C2: 40 C3: 53 C4: 14 D1: 47 D2: 45 D3: 26 E1: 39 I1: 11 L1: 20 L2: 24 L3: 31 M1: 41 N1: 29 O1: 30 O2: 43 O3: 20 O5: 52 O7: 41 Q1: 26 Q2: 36 S1: 96 S2: 104 S3: 116 S4: 133 S5: 129 S6: 123 S7: 124 S8: 106 S9: 122 T1: 25 T2: 18 W1: 22 W2: 28 W3: 28 W4: 20 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 1000 calls a maximum of 5% * 1000 = 50 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 : 10 2 - 3 : 7258 3 - 4 : 9941 4 - 5 : 6653 5 - 6 : 6334 6 - 7 : 4530 7 - 8 : 4314 8 - 9 : 1351 9 - 10 : 1353 10 - 11 : 392 11 - 12 : 246 12 - 13 : 541 Duration distribution over calls/directories: Length (s) #Occurrences 3 - 4 : 22 4 - 5 : 492 5 - 6 : 380 6 - 7 : 89 7 - 8 : 16 8 - 9 : 1 There are no extremely long calls which call for attention. 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 : 2102 0.1 - 0.2 : 310 0.2 - 0.3 : 159 0.3 - 0.4 : 63 0.4 - 0.5 : 48 0.5 - 0.6 : 36 0.6 - 0.7 : 19 0.7 - 0.8 : 18 0.8 - 0.9 : 12 0.9 - 1.0 : 7 1.0 - 1.1 : 11 1.1 - 1.2 : 12 1.2 - 1.3 : 7 1.3 - 1.4 : 4 1.4 - 1.5 : 3 1.5 - 1.6 : 2 1.6 - 1.7 : 1 1.8 - 1.9 : 7 2.0 - 2.1 : 1 2.1 - 2.2 : 3 2.2 - 2.3 : 1 2.3 - 2.4 : 2 2.4 - 2.5 : 1 2.5 - 2.6 : 1 2.6 - 2.7 : 2 2.7 - 2.8 : 3 2.9 - 3.0 : 1 3.1 - 3.2 : 2 3.2 - 3.3 : 2 3.6 - 3.7 : 1 4.1 - 4.2 : 1 Number of files with absolute maximum < 32256: 40081 Clip distribution over calls/directories: Clipping Occurrences rate (in %) 0.0 - 0.1 : 305 0.1 - 0.2 : 9 0.2 - 0.3 : 4 0.3 - 0.4 : 1 0.4 - 0.5 : 2 0.9 - 1.0 : 1 1.3 - 1.4 : 1 Number of directories with absolute maximum < 32256: 677 => The one call with a clip ratio over 1.0% is SES0094. => Clearly this call is not usable 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 -240 - -230 : 1 -180 - -170 : 1 -160 - -150 : 1 -130 - -120 : 1 -120 - -110 : 2 -110 - -100 : 4 -100 - -90 : 8 -90 - -80 : 15 -80 - -70 : 38 -70 - -60 : 63 -60 - -50 : 156 -50 - -40 : 196 -40 - -30 : 522 -30 - -20 : 1849 -20 - -10 : 9082 -10 - 0 : 15704 0 - 10 : 13930 10 - 20 : 985 20 - 30 : 200 30 - 40 : 39 40 - 50 : 21 50 - 60 : 49 60 - 70 : 49 70 - 80 : 1 80 - 90 : 3 90 - 100 : 1 180 - 190 : 1 250 - 260 : 1 Mean distribution over calls/directories: Mean Occurrences -70 - -60 : 1 -60 - -50 : 2 -50 - -40 : 3 -40 - -30 : 12 -30 - -20 : 37 -10 - 0 : 376 0 - 10 : 309 10 - 20 : 19 20 - 30 : 4 30 - 40 : 1 50 - 60 : 1 60 - 70 : 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 0 - 5 : 2 5 - 10 : 13 10 - 15 : 72 15 - 20 : 335 20 - 25 : 1036 25 - 30 : 3282 30 - 35 : 7822 35 - 40 : 12146 40 - 45 : 9614 45 - 50 : 4686 50 - 55 : 2113 SNR distribution over calls/directories: SNR occurrences 15 - 20 : 8 20 - 25 : 12 25 - 30 : 65 30 - 35 : 174 35 - 40 : 318 40 - 45 : 229 50 - 55 : 48 55 - 60 : 17 60 - 65 : 5 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 - 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 OK - 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 :