SPEX / Dept. of Language and Speech University of Nijmegen Erasmusplein 1 NL-6525 HT Nijmegen The Netherlands SUBJECT: Validation Swedish FDB SpeechDat corpus AUTHORS: Henk van den Heuvel, Eric Sanders VERSION: 2.0 DATE : 16/03/1999 The speech databases made within the SpeechDat project were validated by SPEX, Nijmegen, 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 Swedish Fixed Network SpeechDat database (5000 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 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.4 - Description of all the items in the corpus OK, section 1.3 and 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.3 and 8 - Naming conventions for directories and files OK, sections 1.3 and 1.4 - 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 5 - Analysis of frequency of occurrence of the sub-word units represented in the phonetically rich sentences (either of phones, biphones, triphones) OK, table 22 - Analysis of frequency of occurrence of the sub-word units represented in the phonetically rich words (either of phones, biphones, triphones) OK, table 22 - Recording platform and telephone link description (which part is digital) OK, section 2.1 - Signal characteristics (number of bits per sample; bandwidth; coding type; compression procedures) OK, section 1.2 - The format of the speech files (A-law, 8 bit, 8 kHz, uncompressed) OK, section 1.2 - The format of the annotation files (SAM label files) OK, section 1.5 - 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 - 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. Not provided - Information on test (set) specification OK, section 1.4, Table 4. Also the SpeechDat deliverable pertaining to test definitions (SD1.3.4) is included in the DOC directory. - Indication of how many of the files were double checked by the producer together with percentage of detected errors OK, section 2.4 - The validation report made by SPEX (VALREP.TXT) is referred to OK, section 1.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 - 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 - 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, LEXICON.TBL, SESSION.TBL and SPEAKER.TBL are included - 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 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 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 => A14013X5.SVA is 0 bytes long - 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. OK - Part of the corpus is designed for training and a smaller part for testing. OK The 500 calls selected for testing are all from existing calls The remaining 4500 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 - 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 Each credit card number and each PIN code appears 30 times or more. - 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 Average length is 8.2 letters per item - 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 Each weekday appears over 700 times; each month name appears about 400 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 (this is a soft target) . 3 are needed 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 Only the rare phoneme /rl/ has less than 500 occurrences. - 4 phonetically rich words (code W1-4) . read . minimum number of phone examples = #speakers/10 OK Only the rare phoneme /rl/ has less than 500 occurrences. - 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 Each city name occurs about 10 times; each company/agency name occurs about 10 times => A list of 500 full names was used; each occurs about 10 times. => This is explained in section 3.10.5 of DESIGN.DOC Additional, optional items are (see section 3.14): X1-2 : Speaker verification sentences X3-6 : Speaker verification digit strings X7-8 : Sentences for dialectal coverage The following completeness checks are performed on obligatory SpeechDat items only: 1. Structurally missing items There are not any structurally missing items. All mandatory items were recorded. 2. Incidentally missing items a. files that are not there All files are delivered. b. files with empty transcriptions in the LBO label field (effectively missing files) We found 61 files that have only noise symbols and/or ** in their transcriptions. These have the following distribution over the items: 1 A1 4 C1 1 C3 3 D1 1 D3 1 L1 1 L2 3 L3 1 N1 13 O2 1 O3 2 O5 2 Q1 1 S2 1 S3 1 S4 3 S5 1 S6 1 S7 10 T1 1 W1 3 W3 1 W4 1 X1 2 X5 1 X8 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 : 11 A1 12 A2 18 A3 4 C1 1 C3 3 D1 4 D3 2 I1 1 L1 4 L2 5 L3 1 M1 8 N1 21 O1 20 O2 53 O3 76 O5 3 O7 10 Q1 6 Q2 1 S2 1 S3 1 S4 3 S5 2 S6 1 S7 10 T1 57 W1 47 W2 58 W3 67 W4 2 X1 1 X4 2 X5 1 X7 1 X8 (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 8046 transcriptions with at least one *, or **, or ~, according to the following distribution over the items: A1: 26 A2: 22 A3: 48 B1: 61 C1: 74 C2: 128 C3: 104 C4: 110 D1: 156 D2: 258 D3: 105 E1: 194 I1: 23 L1: 58 L2: 81 L3: 106 M1: 88 N1: 83 O1: 165 O2: 125 O3: 96 O5: 169 O7: 148 Q1: 185 Q2: 151 S1: 181 S2: 236 S3: 497 S4: 391 S5: 290 S6: 526 S7: 219 S8: 195 S9: 602 T1: 185 T2: 74 W1: 78 W2: 76 W3: 92 W4: 90 X1: 62 X2: 87 X3: 88 X4: 175 X5: 60 X6: 35 X7: 540 X8: 503 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 5000 calls a maximum of 5% * 5000 = 250 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 0 - 1 : 1 1 - 2 : 139 2 - 3 : 25846 3 - 4 : 53122 4 - 5 : 46885 5 - 6 : 44790 6 - 7 : 24346 7 - 8 : 17438 8 - 9 : 10116 9 - 10 : 6003 10 - 11 : 5473 11 - 12 : 1999 12 - 13 : 1418 13 - 14 : 848 14 - 15 : 604 15 - 16 : 952 16 - 17 : 3 17 - 18 : 3 18 - 19 : 14 Duration distribution over calls/directories: Length (s) #Occurrences 3 - 4 : 28 4 - 5 : 1639 5 - 6 : 2833 6 - 7 : 489 7 - 8 : 11 None of the calls has an alarmingly long or short average item duration. 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 : 7359 0.1 - 0.2 : 794 0.2 - 0.3 : 283 0.3 - 0.4 : 103 0.4 - 0.5 : 62 0.5 - 0.6 : 54 0.6 - 0.7 : 27 0.7 - 0.8 : 22 0.8 - 0.9 : 22 0.9 - 1.0 : 12 1.0 - 1.1 : 6 1.1 - 1.2 : 12 1.2 - 1.3 : 7 1.3 - 1.4 : 6 1.4 - 1.5 : 5 1.5 - 1.6 : 7 1.6 - 1.7 : 3 1.7 - 1.8 : 4 1.8 - 1.9 : 5 1.9 - 2.0 : 5 2.0 - 2.1 : 1 2.1 - 2.2 : 4 2.2 - 2.3 : 3 2.4 - 2.5 : 3 2.5 - 2.6 : 1 2.6 - 2.7 : 2 3.3 - 3.4 : 1 3.4 - 3.5 : 1 Number of files with absolute maximum < 32256: 231186 Clip distribution over calls/directories: Clipping Occurrences rate (in %) 0.0 - 0.1 : 1119 0.1 - 0.2 : 14 0.2 - 0.3 : 3 0.3 - 0.4 : 2 0.4 - 0.5 : 3 1.1 - 1.2 : 1 1.4 - 1.5 : 1 Number of directories with absolute maximum < 32256: 3857 An average clipping rate of more than 1.0% was found for directories: SES0577 (1.41%) and SES3466 (1.12%). Both calls are severly clipped and should only be used for test purposes. For this reason they were put into the test set A1TSTSV.SES. 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 -1510 - -1500 : 48 -150 - -140 : 2 -140 - -130 : 1 -130 - -120 : 1 -120 - -110 : 15 -110 - -100 : 132 -100 - -90 : 541 -90 - -80 : 716 -80 - -70 : 1527 -70 - -60 : 1021 -60 - -50 : 1158 -50 - -40 : 716 -40 - -30 : 663 -30 - -20 : 1619 -20 - -10 : 9924 -10 - 0 : 11974 0 - 10 : 105701 10 - 20 : 27225 20 - 30 : 15953 30 - 40 : 18288 40 - 50 : 19092 50 - 60 : 15086 60 - 70 : 5164 70 - 80 : 2460 80 - 90 : 684 90 - 100 : 41 100 - 110 : 23 110 - 120 : 19 120 - 130 : 66 130 - 140 : 8 140 - 150 : 9 150 - 160 : 7 160 - 170 : 8 170 - 180 : 2 180 - 190 : 5 190 - 200 : 2 200 - 210 : 1 210 - 220 : 2 260 - 270 : 35 270 - 280 : 13 1680 - 1690 : 45 1690 - 1700 : 3 Mean distribution over calls/directories: Mean Occurrences -1510 - -1500 : 1 -110 - -100 : 3 -100 - -90 : 12 -90 - -80 : 14 -80 - -70 : 32 -70 - -60 : 21 -60 - -50 : 24 -50 - -40 : 14 -40 - -30 : 12 -30 - -20 : 19 -20 - -10 : 232 -10 - 0 : 238 0 - 10 : 2124 10 - 20 : 704 20 - 30 : 318 30 - 40 : 361 40 - 50 : 384 50 - 60 : 311 60 - 70 : 107 70 - 80 : 48 80 - 90 : 16 90 - 100 : 1 120 - 130 : 1 130 - 140 : 1 260 - 270 : 1 1680 - 1690 : 1 The call with an average sample value of -1506 is SES0530; The call with an average sample value of 1688 is SES3978. Both calls are OK. 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 : 34 10 - 15 : 390 15 - 20 : 1549 20 - 25 : 5109 25 - 30 : 14394 30 - 35 : 36466 35 - 40 : 65468 40 - 45 : 61783 45 - 50 : 34537 50 - 55 : 12233 55 - 60 : 4085 60 - 65 : 1887 65 - 70 : 936 70 - 75 : 476 75 - 80 : 279 80 - 85 : 164 85 - 90 : 86 90 - 95 : 63 95 - 100 : 27 100 - 105 : 12 105 - 110 : 9 110 - 115 : 7 115 - 120 : 3 120 - 125 : 1 SNR distribution over calls/directories: SNR occurrences 10 - 15 : 5 15 - 20 : 22 20 - 25 : 93 25 - 30 : 264 30 - 35 : 714 35 - 40 : 1406 40 - 45 : 1369 45 - 50 : 780 50 - 55 : 250 55 - 60 : 62 60 - 65 : 28 65 - 70 : 4 70 - 75 : 2 75 - 80 : 1 None of the calls has an alarminly low average SNR. =========================================================================== 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 Additional, optional mnemonics are: TYP, SHT, NET, PHM, ARC, GAN - There are no mnemonics missing OK => The following 39 files have an empty line in the label file A10163S9.SVO A10197S9.SVO A10550S9.SVO A10809S9.SVO A11489S5.SVO A11592S5.SVO A11687S5.SVO A11694S6.SVO A11792S6.SVO A11834S9.SVO A11969S6.SVO A11986S3.SVO A12202S3.SVO A12376S3.SVO A12591S9.SVO A12968S9.SVO A13095S3.SVO A13147S6.SVO A13152S3.SVO A13195S3.SVO A13297S3.SVO A13377S9.SVO A13409S5.SVO A13418S3.SVO A13463S5.SVO A13524S5.SVO A13528S6.SVO A13585S5.SVO A13589S6.SVO A13741S9.SVO A13766S5.SVO A13932S6.SVO A14389S6.SVO A14410S3.SVO A14618S6.SVO A14769S9.SVO A14851S9.SVO A14899S9.SVO A14990S9.SVO - All files must contain the same mnemonics. This holds as well for the optional mnemonics. OK - No illegal field values should appear => For ENV and PHM Swedish attribute values are used. These are translated in section 7 of DESIGN.DOC - 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 :