lang=de: Fix important pronunciation error, "sage". Change handling of unrecognized phoneme names. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@260 d46cf337-b52f-0410-862d-fd96e6ae7743master
| @@ -212,7 +212,6 @@ da $u+ | |||
| durch $u+ $pause | |||
| für fy:r $u+ $pause $only | |||
| gegen ge:g@n $u+ $pause | |||
| gegend ge:g@nt | |||
| hin hIn | |||
| in In $u+ $brk | |||
| //(in die) %Ind%i: | |||
| @@ -19,7 +19,7 @@ | |||
| // ***************************************************************************/ | |||
| .L01 l r | |||
| .L02 c f h k p q s t z // unvoiced, except s+vowel | |||
| .L02 c f h k p q s t z // unvoiced, except s+vowel | |||
| // This file is UTF-8 encoded | |||
| @@ -55,7 +55,7 @@ | |||
| _) abb (a %ab | |||
| _) abb (rev ab | |||
| _) abd (+ apd | |||
| _) abend A:b@nt | |||
| _) aben (d A:b@n | |||
| _) aberr ab_|Er | |||
| _) ab (er@P2 'ap | |||
| _) ab (i ap | |||
| @@ -156,6 +156,7 @@ | |||
| b) b | |||
| b (_N p | |||
| b (L02 p | |||
| blich plIC | |||
| b (sA b | |||
| bt (_N pt | |||
| @@ -230,6 +231,7 @@ | |||
| ck k | |||
| _) c (el S | |||
| fa) c (et ts | |||
| _) cey tsaI | |||
| chef (_ SEf | |||
| _) c (ent ts | |||
| @@ -241,6 +243,9 @@ | |||
| chip (_ tSIp // English | |||
| bre) ch (en x | |||
| ch (ord k | |||
| ch (or_ k | |||
| ch (ör k | |||
| chro kro: | |||
| nä) chs (t Cs | |||
| wa) chstu (m kstu: | |||
| @@ -263,6 +268,7 @@ | |||
| d) d | |||
| d (_N t | |||
| d (L02 t | |||
| dlich tlIC | |||
| d (sA d | |||
| ds (_ ts | |||
| dt t | |||
| @@ -485,6 +491,7 @@ | |||
| g (g | |||
| g (_N k | |||
| g (L02 k | |||
| glich klIC | |||
| g (sA g | |||
| gd (_N kt | |||
| _) gh (A g | |||
| @@ -674,11 +681,11 @@ financ) ie (r I'e: | |||
| r) ien (@ IEn | |||
| &) ien (_ =I@n | |||
| &b) ien (_ =i:@n | |||
| g) ien (_ 'i:@n | |||
| m) ien (_ 'i:@n | |||
| @g) ien (_ 'i:@n | |||
| @m) ien (_ 'i:@n | |||
| ph) ien (_ 'i:@n | |||
| &n) ien (_ I@n | |||
| p) ien (_ 'i:@n | |||
| @p) ien (_ 'i:@n | |||
| &r) ien (_ =i:@n | |||
| ser) ien (_ 'i:@n | |||
| tter) ien (_ 'i:@n | |||
| @@ -686,8 +693,8 @@ financ) ie (r I'e: | |||
| gor) ien (_ 'i:@n | |||
| etr) ien (_ 'i:@n | |||
| dustr) ien (_ 'i:@n | |||
| s) ien (_ 'i:@n | |||
| t) ien (_ 'i:@n | |||
| @s) ien (_ 'i:@n | |||
| @t) ien (_ 'i:@n | |||
| &) iens (_ =I;@ns | |||
| ient (_ I'Ent | |||
| &) ienz (_ I'Ents | |||
| @@ -774,6 +781,7 @@ formal) ie =I@ | |||
| m m | |||
| m) m | |||
| manager manEdZ3r | |||
| _) manch manC // for 'manchen' | |||
| marine mA:r'i:n@ | |||
| _) meß (@P3 m'Es | |||
| @@ -864,6 +872,7 @@ formal) ie =I@ | |||
| r) oo (m u: | |||
| z) oo (m u: | |||
| &t) or (_ =o:r | |||
| orches OrkEs | |||
| &) oren (_ 'o:r@n | |||
| _) orts (@P4 'Orts | |||
| oso (_ 'o:zo: | |||
| @@ -898,6 +907,7 @@ formal) ie =I@ | |||
| philie f'i:li: | |||
| _) photo f,o:to: | |||
| _) pro (@ %pro: | |||
| _) probe pro:b@ | |||
| po (em p%o: | |||
| po (et p%o: | |||
| @@ -77,7 +77,7 @@ n n^ p r R R2 s S | |||
| s2 t t2 tS ts v z Z | |||
| Dictionary de_dict 2011-03-31 | |||
| Dictionary de_dict 2011-04-01 | |||
| 3 3: @ @- a A A: aI | |||
| aU A~ E E2 E: e: EI i | |||
| @@ -116,7 +116,7 @@ S t T t2 tS v w x | |||
| z Z | |||
| Dictionary eo_dict 2010-08-27 | |||
| Dictionary eo_dict 2011-04-01 | |||
| @- a aI aU e eI eU i | |||
| o oI u uI | |||
| @@ -200,7 +200,7 @@ q r r. s S s. t T | |||
| t. th th. v w x z | |||
| Dictionary ta_dict 2011-03-30 | |||
| Dictionary ta_dict 2011-03-31 | |||
| a a: aI aU e E e: i | |||
| I i: o o: u U u2 u: | |||
| @@ -533,18 +533,18 @@ s S t tS ts v w x | |||
| z Z | |||
| Dictionary ml_dict 2011-03-26 | |||
| Dictionary ml_dict 2011-04-01 | |||
| @ a a: aI aU e E e: | |||
| i I i: o o: r- u u: | |||
| V y | |||
| #X1 #X2 : b bh c ch d | |||
| d. dh dh. dZ f g gh h | |||
| j J Jh k kh l l. m | |||
| n N n. n^ p ph r R | |||
| r. R2 s s. S; t t. th | |||
| th. tS v w z | |||
| #X1 #X2 : ; b bh c ch | |||
| d d# d. dh dh. dZ f g | |||
| gh h j J Jh k kh l | |||
| l. m n N n. n^ p ph | |||
| r R r. R2 s s. S; t | |||
| t. th th. tS v w z | |||
| Dictionary ne_dict 2008-12-16 | |||
| @@ -126,7 +126,7 @@ _9 onbVd.U | |||
| _10 pattU | |||
| _1X padin | |||
| _11 patinonRU | |||
| _12 pVnniren.d.U | |||
| _12 pVnnirVn.d.U | |||
| _19 pattonbVdU | |||
| _20 irUbVdU | |||
| @@ -173,6 +173,7 @@ | |||
| _) க (ிரிதர g | |||
| _) கிரிஸ்டோப (ர krist.o:fV | |||
| _) கி (ரீட k | |||
| _) கி (ரீன g | |||
| _) கி (ரீன்லாந்த g | |||
| _) கி (ரீம k | |||
| _) க (ிரீஷ g | |||
| @@ -257,6 +258,7 @@ | |||
| _) க (ுருபூஜை g | |||
| _) க (ுருப்பெயர g | |||
| _) க (ுருமார g | |||
| _) க (ுருமூர்த்தி g | |||
| _) க (ுருரா g | |||
| _) க (ுருவா g | |||
| _) க (ுருவாய g | |||
| @@ -345,6 +347,7 @@ | |||
| _) க் (ரவுண்ட g | |||
| _) க் (ரிகோரிய g | |||
| _) க்ரிஸ்டோப (ர krist.o:fV | |||
| _) க் (ரீன g | |||
| _) க் (ரூப g | |||
| _) க் (ரௌண்ட g | |||
| _) க்வ (A kw | |||
| @@ -526,6 +529,7 @@ _துணை) க்க (ண்ட ggV | |||
| அ) க்க (ினி gg | |||
| கோபா) க்க (ினி gg | |||
| _கவிதா) க்க (ினி gg | |||
| _வேதா) க்க (ினி gg | |||
| _யோ) க்க (ிய gg | |||
| அயோ) க்க (ிய gg | |||
| ஆரோ) க்க (ிய gg | |||
| @@ -635,9 +639,9 @@ _தணிகா) ச (ல tSV | |||
| _) சாக்லேட் tSa:kle:t. | |||
| _) ச (ாணக்கிய tS | |||
| ச (ாந்தி s. | |||
| _) ச (ாந்தின tS | |||
| _) சாந்த (ின tSa:nd | |||
| _தே) ச (ாந்திர s | |||
| _) ச (ாந்தில tS | |||
| _) சாந்த (ில tSa:nd | |||
| _) ச (ான்ஸ tS | |||
| _) சாப் (ளின tSa:p | |||
| _) ச (ாமுண்ட tS | |||
| @@ -713,7 +717,7 @@ _தணிகா) ச (ல tSV | |||
| இராவணே) சு (வர s | |||
| ராவணே) சு (வர s | |||
| _) சுவர்க்க svVrggV# | |||
| _) சுவர்க்க (ோழி suvVrgg | |||
| _) சுவர்க்க (ோழி suvVrkk | |||
| _) சு (வாச s | |||
| சு (வாதீன s | |||
| சு (வாமி s | |||
| @@ -830,6 +834,7 @@ _ரிப்போர்) ட t.V# | |||
| _) டாங்க (ர t.a:NkV | |||
| _) டாங்க (ி t.a:Nk | |||
| _) டாட (ா t.a:t. | |||
| _) டானிக் t.a:nik | |||
| _) ட (ான்சானிய t. | |||
| _) ட (ான்ஜானிய t. | |||
| _) டாபிக் t.a:pik | |||
| @@ -840,6 +845,7 @@ _ரிப்போர்) ட t.V# | |||
| _) ட (ாஸ்மாக் t. | |||
| _டியூ) ட (ி t. | |||
| _ட்யூ) ட (ி t. | |||
| _சேஃப்) ட (ி t. | |||
| _ராயல்) ட (ி t. | |||
| _க்வாலி) ட (ி t. | |||
| _நாவல்) ட (ி t. | |||
| @@ -1135,6 +1141,7 @@ _நடுரோ) ட் (ல t. | |||
| _) த (ாதா d | |||
| _) த (ானங் d | |||
| _) த (ானத் d | |||
| _) த (ானப் d | |||
| _) த (ானமா d | |||
| _) த (ானிய d | |||
| _) த (ானியங்கி t | |||
| @@ -1658,6 +1665,7 @@ _சொந்த_) ப (ந்த bV | |||
| _) ப (ாரிஸ்டர b | |||
| _) ப (ார்L04லோனா b | |||
| _) ப (ார்கவி b | |||
| _) ப (ார்டர b | |||
| _) ப (ார்ம f | |||
| _) ப (ாலக b | |||
| _) ப (ாலக் p | |||
| @@ -2253,12 +2261,17 @@ _ஞானப்) பிரக (ா prVk | |||
| பிரக (ாஷ prVk | |||
| மதப்) பிரச (ார prVtS | |||
| பி (ரத p | |||
| _தர்மப்) பி (ரப p | |||
| _தானப்) பி (ரப p | |||
| _மL06ாப்) பி (ரப p | |||
| வீண்) பி (ரமை b | |||
| துஷ்) பி (ரயோக p | |||
| L03ந்தப்) பி (ரளய p | |||
| ஆ) பி (ரஹாம b | |||
| பயப்) பி (ராந்தி b | |||
| மனப்) பி (ராந்தி b | |||
| பி (ராய p | |||
| L03ந்தப்) பி (ராய p | |||
| ஆ) ப (ிரிக்க f | |||
| போஜனப்) பி (ரியர p | |||
| _மறு) ப (ிற p | |||
| @@ -2617,6 +2630,7 @@ _சந்தேக) ப்ப (ுத்தி bb | |||
| ஈ i: | |||
| உ u | |||
| உருத்த (ிரா rUdd | |||
| ஊ u: | |||
| @@ -57,7 +57,7 @@ consonants 10 116 | |||
| da 27 120 | |||
| ka 19 112 | |||
| rw 15 130 | |||
| ml 18 151 | |||
| ml 19 152 | |||
| ne 18 157 | |||
| pa 14 151 | |||
| prs 8 111 | |||
| @@ -361,7 +361,7 @@ l/l_ [l] base | |||
| [l/] fr | |||
| l/l_@ [l/3] base | |||
| [l/] fr | |||
| l/l@ [hF|] base | |||
| l/l@ [h–u] base | |||
| [l#] base | |||
| [l] fr | |||
| [l/2] fr | |||
| @@ -395,7 +395,7 @@ l/L2_oL [l/2] base | |||
| l/L2_uL [l/2] base | |||
| l/l_3 [l/] de | |||
| l/l_4 [ll] sq | |||
| l/la [hF|] base | |||
| l/la [h–u] base | |||
| [l#] base | |||
| [l] fr | |||
| [l/2] fr | |||
| @@ -403,7 +403,7 @@ l/la [hF|] base | |||
| [K] tn | |||
| l/l_a [l/3] base | |||
| [l/] fr | |||
| l/le [hF|] base | |||
| l/le [h–u] base | |||
| [l#] base | |||
| [l] fr | |||
| [l/2] fr | |||
| @@ -415,7 +415,7 @@ l/L_eL_af [&] af | |||
| [&:] af | |||
| l/l_front [L] sq | |||
| l/l_front_ [l/4] sq | |||
| l/li [hF|] base | |||
| l/li [h–u] base | |||
| [l#] base | |||
| [l] fr | |||
| [l/2] fr | |||
| @@ -429,7 +429,7 @@ ll/ll [L] bg | |||
| ll/_ll [L] bg | |||
| l/l_long [l] base | |||
| [l] fr | |||
| l/lo [hF|] base | |||
| l/lo [h–u] base | |||
| [l#] base | |||
| [l/2] fr | |||
| [K] nso | |||
| @@ -439,7 +439,7 @@ l/l_o [l/3] base | |||
| l^/l_rfx [l.] base | |||
| [l] ru | |||
| [l^] ru | |||
| l/lu [hF|] base | |||
| l/lu [h–u] base | |||
| [l#] base | |||
| [l] fr | |||
| [l/2] fr | |||
| @@ -328,8 +328,7 @@ phoneme r | |||
| IF prevPhW(isVowel) THEN | |||
| ChangePhoneme(R) | |||
| ELSE | |||
| IF prevPhW(isUStop) THEN | |||
| ChangePhoneme(R) | |||
| IF prevPhW(t) THEN | |||
| ELSE | |||
| InsertPhoneme(@-) | |||
| ENDIF | |||
| @@ -345,6 +344,7 @@ phoneme r | |||
| endphoneme | |||
| // This version of [r] was used in eSpeak 1.44, but received complaints | |||
| phoneme r2 // uvular trill or fricative | |||
| vcd uvl frc | |||
| @@ -1114,7 +1114,7 @@ static unsigned int StringToWord(const char *string) | |||
| static MNEM_TAB reserved_phonemes[] = { | |||
| {"<", phonCONTROL}, // NOT USED | |||
| {"_\001", phonCONTROL}, // NOT USED | |||
| {"%", phonSTRESS_U}, | |||
| {"%%", phonSTRESS_D}, | |||
| {",", phonSTRESS_2}, | |||
| @@ -643,17 +643,11 @@ step=1; // TEST | |||
| } | |||
| // check for errors in the phonemes codes | |||
| for(ix=0; ix<sizeof(encoded_ph); ix++) | |||
| if(bad_phoneme[0] != 0) | |||
| { | |||
| c = encoded_ph[ix]; | |||
| if(c == 0) break; | |||
| if(c == 255) | |||
| { | |||
| /* unrecognised phoneme, report error */ | |||
| fprintf(f_log,"%5d: Bad phoneme [%c] (0x%x) in: %s %s\n",linenum,bad_phoneme[0],bad_phoneme[0],word,phonetic); | |||
| error_count++; | |||
| } | |||
| // unrecognised phoneme, report error | |||
| fprintf(f_log,"%5d: Bad phoneme [%c] (0x%x) in: %s %s\n",linenum,bad_phoneme[0],bad_phoneme[0],word,phonetic); | |||
| error_count++; | |||
| } | |||
| } | |||
| @@ -1249,15 +1243,10 @@ static char *compile_rule(char *input) | |||
| } | |||
| EncodePhonemes(rule_phonemes,buf,bad_phoneme); | |||
| for(ix=0;; ix++) | |||
| if(bad_phoneme[0] != 0) | |||
| { | |||
| if((c = buf[ix])==0) break; | |||
| if(c==255) | |||
| { | |||
| fprintf(f_log,"%5d: Bad phoneme [%c] in %s\n",linenum,bad_phoneme[0],input); | |||
| error_count++; | |||
| break; | |||
| } | |||
| fprintf(f_log,"%5d: Bad phoneme [%c] in %s\n",linenum,bad_phoneme[0],input); | |||
| error_count++; | |||
| } | |||
| strcpy(output,buf); | |||
| len = strlen(buf)+1; | |||
| @@ -352,7 +352,7 @@ char *EncodePhonemes(char *p, char *outptr, unsigned char *bad_phoneme) | |||
| /* Translate a phoneme string from ascii mnemonics to internal phoneme numbers, | |||
| from 'p' up to next blank . | |||
| Returns advanced 'p' | |||
| outptr contains encoded phonemes, unrecognised phonemes are encoded as 255 | |||
| outptr contains encoded phonemes, unrecognized phoneme stops the encoding | |||
| bad_phoneme must point to char array of length 2 of more | |||
| */ | |||
| { | |||
| @@ -423,9 +423,11 @@ char *EncodePhonemes(char *p, char *outptr, unsigned char *bad_phoneme) | |||
| if(max_ph == 0) | |||
| { | |||
| max_ph = 255; /* not recognised */ | |||
| // not recognised, report and ignore | |||
| bad_phoneme[0] = *p; | |||
| bad_phoneme[1] = 0; | |||
| *outptr++ = 0; | |||
| return(p+1); | |||
| } | |||
| if(max <= 0) | |||
| @@ -35,7 +35,7 @@ | |||
| #include "translate.h" | |||
| #include "wave.h" | |||
| const char *version_string = "1.45.11 31.Mar.11"; | |||
| const char *version_string = "1.45.12 01.Apr.11"; | |||
| const int version_phdata = 0x014500; | |||
| int option_device_number = -1; | |||
| @@ -1258,6 +1258,13 @@ strcpy(phonemes2,phonemes); | |||
| wordx[-1] = c_temp; | |||
| found = LookupDictList(tr, &word1, phonemes, dictionary_flags2, end_flags, wtab); // include prefix, but not suffix | |||
| wordx[-1] = ' '; | |||
| if(phonemes[0] == phonSWITCH) | |||
| { | |||
| // change to another language in order to translate this word | |||
| memcpy(wordx,word_copy,strlen(word_copy)); | |||
| strcpy(word_phonemes,phonemes); | |||
| return(0); | |||
| } | |||
| if(dictionary_flags[0]==0) | |||
| { | |||
| dictionary_flags[0] = dictionary_flags2[0]; | |||