[1.43.02 release]

Language improvements include Danish rules.

Fixed phoneme [n^] for Klatt synthesizer, was producing noise burst.

espeakedit: Display error details after Compile Dictionary.
espeakedit: Fix: After speaking a word which changes language, Compile
    Dictionary may compile the wrong dictionary.

Don't consider multiple spaces as thousands separator (eg. 2  000 )

Lang=Hungarian, don't allow dot as thousands separator.
Lang-Hungarian, Fix suffixes -a, -e, -az, -ez, -azt, -ezt after numbers.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@239 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
jonsd
2010-03-09 00:31:31 +00:00
parent 7aab0f05c0
commit aaa5d61737
38 changed files with 4281 additions and 1291 deletions
+28 -26
View File
@@ -17,8 +17,8 @@ consonants 9 107
jbo 2 111
nci 3 120
fi 40 130
fr 55 138
fr_ca 11 138
fr 54 137
fr_ca 11 137
hi 58 145
ta 20 148
hu 24 116
@@ -103,7 +103,6 @@ d/dr [*] base
[d[] base
[d] base2
[d] fi
[d] fr
[d.] hi
[dh.] hi
[d] hu
@@ -321,8 +320,8 @@ l/l_@ [l/3] base
[W] fr
[Y] fr
[l/] fr
l/l@ [] base
[L] base
l/l@ [L] base
[¼øÞ] base
[W] fr
[Y] fr
[l] fr
@@ -348,15 +347,14 @@ l/L2_oL [l/2] base
l/L2_uL [l/2] base
l/l_3 [l/] de
l/l_4 [ll] sq
l/la [] base
[L] base
l/la [L] base
[¼øÞ] base
[a] fr
[l] fr
l/l_a [l/3] base
[l/] fr
[wA] fr
l/le [] base
[L] base
l/le [L] base
[¼øÞ] base
[l] fr
l/l_e [l/3] base
[l/] fr
@@ -364,8 +362,8 @@ l/L_eL_af [&] af
[&:] af
l/l_front [L] sq
l/l_front_ [l/4] sq
l/li [] base
[L] base
l/li [L] base
[¼øÞ] base
[l] fr
[l] zh
l/l_i [l/3] base
@@ -373,15 +371,15 @@ l/l_i [l/3] base
[i] sq
l/l_long [l] base
[l] fr
l/lo [] base
[L] base
l/lo [L] base
[¼øÞ] base
[l] fr
l/l_o [l/3] base
[l/] fr
[o2] fr
l^/l_rfx [l.] base
l/lu [] base
[L] base
l/lu [L] base
[¼øÞ] base
[l] fr
[w^i] fr
l/l_u [l/3] base
@@ -486,7 +484,6 @@ r3/r_ [r/] base
[r/] ru
r3/r#_ [r#] is
r3/r_n [r/] base
[r/2] fr
[r/] ru
r3/r_ru [R4] ru
r3/r_ru2 [R4] ru
@@ -674,6 +671,7 @@ ustop/kl [k] base
[k] zhy
ustop/kr [k] base
[k] base2
[k] fr
[k] el
[k] zhy
ustop/k_unasp [k] base
@@ -708,6 +706,7 @@ ustop/pr [p] base
[p-] consonants
[ph] consonants
[p] base2
[p] fr
ustop/p_unasp [p] base
[p-] consonants
[p] base2
@@ -1275,7 +1274,8 @@ vowel/a#_3 [a2] en
[a] ml
vowel/a_4 [a/] el
[a] vi
vowel/a_5 [a:] ta
vowel/a_5 [a] fr
[a:] ta
[a/] it
[a] la
[a] sv
@@ -1868,29 +1868,31 @@ vwl_fr/r [r] fr
vwl_fr/_r [r] fr
vwl_fr/r_ [r/2] fr
vwl_fr/r_@ [r/2] fr
vwl_fr/r@ [r] fr
vwl_fr/r@ [)g] fr
vwl_fr/@R [x] pt_pt
vwl_fr/_r2 [r] fr
vwl_fr/@R2 [R] fr_ca
vwl_fr/ra [a] fr
vwl_fr/ra [)g] fr
vwl_fr/r_a [r/2] fr
vwl_fr/raa [A~] fr
vwl_fr/r_an [A~] fr
vwl_fr/re [r] fr
vwl_fr/re [)g] fr
vwl_fr/r_e [r/2] fr
vwl_fr/ri [r] fr
vwl_fr/ri [)g] fr
vwl_fr/r_i [r/2] fr
vwl_fr/ro [r] fr
vwl_fr/ro [)g] fr
vwl_fr/r_o [o] fr
[o2] fr
[r/2] fr
vwl_fr/ru [r] fr
vwl_fr/ru [)g] fr
vwl_fr/r_u [r/2] fr
vwl_fr/ry [w^i] fr
vwl_fr/ry [y] fr
[w^i] fr
vwl_fr/r_y [y] fr
vwl_fr/tr [r] fr
vwl_fr/w_a [wA] fr
vwl_fr/trr [r/2] fr
vwl_fr/xr [r] fr
[r2] fr
vwl_hi/l-voc [l-] base
[l-] sk
[l:] sk
+67 -45
View File
@@ -1,7 +1,7 @@
//====================================================
// French
//====================================================
// Updated 2010-02-13 Michel Such <michel.such@free.fr>
// Updated 2010-02-25 Michel Such <michel.such@free.fr>
phoneme #l virtual
// Used for l and l/
@@ -17,33 +17,44 @@ phoneme : // Lengthen previous vowel by "length"
endphoneme
phoneme r
liquid rhotic uvl
lengthmod 7
starttype #r endtype #r
IF nextPh(isNotVowel) THEN
ChangePhoneme(r/2)
ENDIF
VowelEnding(vwl_fr/xr)
procedure vowelstart_r
NextVowelStarts
VowelStart(vwl_fr/r@)
VowelStart(NULL)
VowelStart(vwl_fr/ra, -30)
VowelStart(vwl_fr/re)
VowelStart(vwl_fr/ri)
VowelStart(vwl_fr/ro)
VowelStart(vwl_fr/ru)
EndSwitch
endprocedure
phoneme r
liquid rhotic uvl
starttype #r endtype #r
lengthmod 7
IF nextPh(isNotVowel) THEN
ChangePhoneme(r/2)
ENDIF
IF nextPh(isStressed) THEN
length 45
ENDIF
VowelEnding(vwl_fr/xr)
CALL vowelstart_r
IF prevPh(isPause) OR prevPhW(r/2) THEN
FMT(vwl_fr/_r)
ELIF prevPhW(p) OR prevPhW(k) THEN
length 50
FMT(vwl_fr/tr)
ELIF prevPhW(t) THEN
length 45
FMT(vwl_fr/tr) addWav(r3/rx,30)
ELIF prevPhW(f) OR prevPhW(g) OR prevPhW(v) THEN
length 40
ENDIF
IF thisPh(isWordStart) THEN
@@ -67,15 +78,18 @@ phoneme r2 // silent unless followed by vowel
IF nextPh(isNotVowel) THEN
ChangePhoneme(NULL)
ENDIF
VowelEnding(vwl_fr/xr)
CALL vowelstart_r
FMT(vwl_fr/r)
endphoneme
phoneme r/2 // variant of [r] when not preceding a vowel
liquid uvl
liquid rhotic uvl
starttype #r endtype #r
Vowelout f1=2 f2=1600 -300 300 f3=-300 100
Vowelout f1=2 f2=1600 -300 300 f3=-300 100 len=50
lengthmod 2
PrevVowelEndings
@@ -87,10 +101,17 @@ phoneme r/2 // variant of [r] when not preceding a vowel
VowelEnding(vwl_fr/r_u)
EndSwitch
IF prevPh(t) OR prevPh(p) OR prevPh(k) OR prevPh(d) THEN
FMT(vwl_fr/trr)
ENDIF
IF thisPh(isWordEnd) THEN
FMT(vwl_fr/r_) addWav(r3/rx, 20)
ENDIF
IF prevPh(isVowel) THEN
FMT(vwl_fr/r_) addWav(r3/rx, 30)
ELIF prevPh(m) OR prevPh(n) THEN
FMT(r3/r_n)
length 80
FMT(vwl_fr/r_) addWav(r3/rx, 20)
ENDIF
FMT(vwl_fr/r_)
@@ -120,7 +141,8 @@ phoneme l
VowelEnding(l/xl, -40)
ENDIF
IF prevPh(isPause) THEN
IF prevPh(isPause) OR thisPh(isWordStart) THEN
VowelEnding(NULL)
FMT(l/_l)
ENDIF
IF prevPh(r/2) THEN
@@ -187,9 +209,11 @@ phoneme a
VowelStart(l/la, -15)
ENDIF
IF prevPh(#r) THEN
VowelStart(vwl_fr/ra)
IF prevPhW(u) THEN
length 140
FMT(vowel/a_5)
ENDIF
FMT(vowel/a_6)
endphoneme
@@ -201,6 +225,9 @@ phoneme e
IF nextPh(l/) THEN
VowelEnding(l/xl, -20)
ENDIF
IF nextPh(isVowel) THEN
length 200
ENDIF
FMT(vowel/e_8)
endphoneme
@@ -313,6 +340,9 @@ phoneme u
IF nextPh(i) THEN
Length 50
ENDIF
IF nextPhW(a) THEN
length 110
ENDIF
FMT(vowel/u_bck2)
endphoneme
@@ -332,6 +362,9 @@ phoneme y
IF nextPh(l/) THEN
VowelEnding(l/l_y, -30)
ENDIF
IF prevPh(#r) THEN
VowelStart(vwl_fr/ry)
ENDIF
IF nextPh(r/2) THEN
VowelEnding(vwl_fr/r_y)
ENDIF
@@ -377,21 +410,6 @@ phoneme W
endphoneme
phoneme wA
vowel starttype #o endtype #a
length 220
IF nextPh(l/) THEN
VowelEnding(l/l_a)
ENDIF
IF nextPh(j) THEN
VowelEnding(NULL)
ENDIF
FMT(vwl_fr/w_a)
endphoneme
phoneme w^i
vowel starttype #u endtype #i
length 240
@@ -414,7 +432,7 @@ phoneme A~
VowelEnding(vwl_fr/r_an)
ENDIF
IF prevPh(#r) THEN
VowelStart(vwl_fr/raa)
VowelStart(vwl_fr/raa, -10)
ENDIF
FMT(vnasal/aa_n4)
@@ -488,7 +506,7 @@ phoneme b
ENDIF
IF PreVoicing THEN
FMT(b/xb, 50)
FMT(b/xb)
ENDIF
IF nextPh(isPause2) OR nextPh(#l) THEN
@@ -510,10 +528,10 @@ phoneme d
FMT(d/xd)
ENDIF
IF nextPh(isPause2) THEN
IF nextPh(isPause2) OR nextPh(isPause) THEN
FMT(d/d_) addWav(x/d_, 50)
ELIF nextPh(#r) THEN
FMT(d/dr) addWav(x/d, 50)
// ELIF nextPh(#r) THEN
// FMT(d/dr) addWav(x/d, 50)
ELIF prevPh(isPause) THEN
FMT(d/d) addWav(x/d, 50)
ENDIF
@@ -551,7 +569,8 @@ phoneme k
IF nextPh(isPause2) THEN
WAV(ustop/k_)
ELIF nextPh(#r) THEN
WAV(ustop/k, 50)
length 50
WAV(ustop/kr, 40)
ELIF nextPh(#i) OR nextPh(;) THEN
WAV(ustop/ki, 45)
ELIF nextPh(#l) THEN
@@ -583,8 +602,11 @@ phoneme p
WAV(ustop/p_, 70)
ELIF nextPh(@-) THEN
WAV(ustop/p_unasp, 60)
ELIF nextPh(l) THEN
ELIF nextPh(#l) THEN
WAV(ustop/pl, 30)
ELIF nextPh(#r) THEN
length 50
WAV(ustop/pr, 30)
ENDIF
WAV(ustop/p_unasp_, 90)
endphoneme
@@ -707,7 +729,7 @@ phoneme z
lengthmod 6
Vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50
IF nextPh(isPause2) THEN
IF nextPh(isPause2) OR nextPh(isPause) THEN
FMT(voc/z_) addWav(ufric/s_, 45)
ENDIF
FMT(voc/z) addWav(ufric/s_, 45)
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.