mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-05 06:45:39 +00:00
[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:
+28
-26
@@ -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
@@ -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.
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.
Reference in New Issue
Block a user