SUBJECT: Validation Finnish FDB1000 SpeechDat corpus AUTHORS: Henk van den Heuvel, Eric Sanders VERSION: 1.0 DATE : 11 February 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 Finnish Fixed Network SpeechDat database (first 1000 speakers) was checked against the SpeechDat specifications and accepted by the SpeechDat consortium. The validation results 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; & deliverables SD131 and SD132 can be handy File DESIGN.DOC is present - Language of doc file: English OK - Contact person: name, address, affiliation OK, cover page - 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, section 1.2 and 3. But the following remarks need to be made: => . The sentence in section 3.2 should move to section 3.2.2. => . How is the sheet number in section 3.3.1 composed? => . References to K.Kordi (sections 3.3.3 and 3.3.4) should not appear => in the final version of the doc. You could refer to the shared => SpeechDat lists. You can also include the lists. => . It is recommended to include all numbers/names which are from => a fixed list in the respective sections. => . The date expressions used should be made explicit in section 3.4.3. => . There is no information on the artificial spelt names (section 3.6.3) => . The sentence in section 3.9: "The directory .. a list" is not in place. => . The way in which the phon. rich sentences were obtained should be made => more explicit (section 3.11). What kind of texts? What kind of algorithms? => . In section 3.11, /22/, /ff/ and /gg/ have too few realisations. => This should be explained. => . The way in which the phon. rich words were obtained should be made => more explicit (section 3.13). What kind of texts? What kind of algorithms? => . Give a translation into English of the Finnish words used in section 3.12 => . In section 3.12 the distinction between spontaneous and read time => is not made. => . In section 3.13, almost all have too few realisations. => This should be explained. - 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 1.2, 2,3 and 8 - Naming conventions for directories and files OK, sections 1.2 and 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 - 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 Section 2.4 => It not clear in which cases capital letters are used. => The description of the symbols used for noises, truncations and => mispronunciations etc. is too concise. Include relevant parts of SD1.3.2. => here. => A reference to TRANSCRIP.DOC is missing. - 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) Section 5 => The description of how phoneme transcriptions were generated is too => concise. What kind of conversion algorithm is used? Where is it described? => Were the phoneme transcriptions checked by phoneticians? => What is the format of the lexicon file? How are the entries ordered? - 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. => SPELLALT.DOC is provided (according to section 2.4), but is not there. - Indication of how many of the files were double checked by the producer together with percentage of detected errors => No checks reported - The validation report made by SPEX (VALREP.TXT) is referred to => The validation report is not referred to in DESIGN.DOC, nor in => README.TXT - Other remarks: => . Section 1.4 could do with a reference to SpeechDat deliverable SD1.3.1. ========================================================================== 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, but => There is one illegal file: FIXED1FI\BLOCK06\SES0618\PICO.SAVE - All text files should be in MS-DOS format ( at line ends => The DISK.ID files in CDs FIXED1FI_01, FIXED1FI_03, FIXED1FI_04 are not => in MS-DOS format. All other text files are OK. - A README.TXT file should be in the root describing all (documentation) files on the CD-ROM. OK, but very concise. Information about what is on each disk is desirable. => Backslashes should be used in directory path names. - 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) => The name of the file should be COPYRIGH.TXT. 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 OK, all obligatory files are there => The name of the transcription file should be TRANSCRIP.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, all obligatory tables are there - Index files (optional) should be in \\INDEX Only CONTENTS.LST is mandatory. OK, no other index files were delivered - 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 There are no missing files - 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 - 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. OK - Part of the corpus is designed for training and a smaller part for testing. Not provided - 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 => Backslashes should be used in directory path names. ====================================================================== 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 - 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, but equivalents of CAPITAL, SMALL, UPPER-CASE, LOWER-CASE, DOUBLE, APOSTROPHE, HYPHEN are not included in the prompting material. - 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 - 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 => According to the table in section 3.11 of DESIGN.DOC the following phones => have less than 100 realisations: /22, ff, gg/. => A reason for this should be given in DESIGN.DOC - 4 phonetically rich words (code W1-4) . read . minimum number of phone examples = #speakers/5 OK => According to the table in section 3.13 of DESIGN.DOC nealy all phones => have less than 200 realisations. => A reason for this should be given in DESIGN.DOC. => Did you multiply by frequency? - 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 1. Structurally missing items Not a single item is structurally missing. All obligatory items were recorded. 2. Incidentally missing items a. files that are not there All files were present. None was missing. b. files with empty transcriptions in the LBO label field (effectively missing files) We found 45 files that have only noise symbols and/or ** in their transcriptions. If we add these to the missing files then we get the following distribution of effectively missing files (number of items per corpus code): 1 A1 2 A2 1 C2 1 C3 1 D1 2 D3 2 I1 1 L1 1 L2 5 O1 5 O2 7 Q1 2 Q2 2 S1 2 S2 1 S3 7 T1 1 W3 1 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 then the following distribution emerges : 2 A1 6 A2 1 C2 1 C3 1 D1 2 D3 4 I1 1 L1 1 L2 6 O1 6 O2 7 O3 1 O7 7 Q1 2 Q2 2 S1 2 S2 1 S3 7 T1 1 W1 1 W2 2 W3 1 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 1392 transcriptions with at least one *, or **, or ~, according to the following distribution over the (obligatory) items: A1: 3 A2: 6 A3: 4 B1: 18 C1: 18 C2: 13 C3: 37 C4: 13 D1: 54 D2: 57 D3: 8 E1: 13 I1: 6 L1: 33 L2: 54 L3: 104 M1: 37 N1: 24 O1: 17 O2: 8 O3: 15 O5: 29 O7: 12 Q1: 7 Q2: 5 S1: 72 S2: 69 S3: 79 S4: 87 S5: 89 S6: 72 S7: 81 S8: 98 S9: 85 T1: 17 T2: 9 W1: 10 W2: 14 W3: 10 W4: 5 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. (This even holds if the corrupted speech of 2c is included in the observations.) It can be concluded that all database 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. 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 : 5 2 - 3 : 6015 3 - 4 : 8778 4 - 5 : 6102 5 - 6 : 6477 6 - 7 : 4951 7 - 8 : 4259 8 - 9 : 1207 9 - 10 : 821 10 - 11 : 532 11 - 12 : 299 12 - 13 : 553 Duration distribution over calls/directories: Length (s) #Occurrences 3 - 4 : 6 4 - 5 : 408 5 - 6 : 504 6 - 7 : 70 7 - 8 : 11 8 - 9 : 1 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 : 1477 0.1 - 0.2 : 266 0.2 - 0.3 : 115 0.3 - 0.4 : 44 0.4 - 0.5 : 32 0.5 - 0.6 : 30 0.6 - 0.7 : 10 0.7 - 0.8 : 5 0.8 - 0.9 : 2 0.9 - 1.0 : 4 1.0 - 1.1 : 5 1.1 - 1.2 : 2 1.2 - 1.3 : 1 1.3 - 1.4 : 2 1.4 - 1.5 : 1 2.1 - 2.2 : 1 Number of files with absolute maximum < 32256: 38002 Clip distribution over calls/directories: Clipping Occurrences rate (in %) 0.0 - 0.1 : 231 0.1 - 0.2 : 6 0.2 - 0.3 : 2 0.3 - 0.4 : 3 0.4 - 0.5 : 1 Number of directories with absolute maximum < 32256: 757 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 -200 - -190 : 1 -110 - -100 : 13 -100 - -90 : 49 -90 - -80 : 109 -80 - -70 : 241 -70 - -60 : 467 -60 - -50 : 584 -50 - -40 : 653 -40 - -30 : 842 -30 - -20 : 1164 -20 - -10 : 3970 -10 - 0 : 11241 0 - 10 : 18564 10 - 20 : 1665 20 - 30 : 393 30 - 40 : 34 40 - 50 : 3 50 - 60 : 3 60 - 70 : 2 140 - 150 : 1 Mean distribution over calls/directories: Mean Occurrences -90 - -80 : 3 -80 - -70 : 5 -70 - -60 : 9 -60 - -50 : 15 -50 - -40 : 21 -40 - -30 : 21 -30 - -20 : 29 -20 - -10 : 108 -10 - 0 : 274 0 - 10 : 468 10 - 20 : 39 20 - 30 : 8 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 : 9 10 - 15 : 45 15 - 20 : 229 20 - 25 : 1451 25 - 30 : 5222 30 - 35 : 10097 35 - 40 : 10694 40 - 45 : 7167 45 - 50 : 3423 50 - 55 : 1165 55 - 60 : 260 60 - 65 : 111 65 - 70 : 58 70 - 75 : 25 75 - 80 : 26 80 - 85 : 12 85 - 90 : 1 90 - 95 : 3 95 - 100 : 1 SNR distribution over calls/directories: SNR occurrences 10 - 15 : 1 15 - 20 : 2 20 - 25 : 24 25 - 30 : 128 30 - 35 : 254 35 - 40 : 301 40 - 45 : 175 45 - 50 : 90 50 - 55 : 19 55 - 60 : 6 =========================================================================== 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, all obligatory mnemonics are used. There is one optional mnemonic: NET. - 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 => The value "FIXED_PSTN" for NET should be "FIXED" => The value "m" for SEX should be "M". This is found in sessions => 0773, 0774, 0775 and 0776. => In file A10068B1.FIO the LBR prompt mnemonic has a wrong string value: => LBR: 0, 65231,,,, 1,6,5,3,Suurempia hankaluuksia ei tullissa ole ollut. - 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 :