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]; |