[1.46.24]

Changes to: pt, tt, es
Added new language data: ko (Korean)

Phoneme definitions, added new condition: prevVowel()

git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@289 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
jonsd
2012-09-11 17:27:15 +00:00
parent 6afea86ed4
commit 1acf8a12de
23 changed files with 1003 additions and 278 deletions
+22 -8
View File
@@ -1,4 +1,4 @@
82 phoneme tables
83 phoneme tables
new total
base 107 107
consonants 10 116
@@ -81,7 +81,8 @@ consonants 10 116
kk 20 117
fa 9 110
ga 21 125
tt 15 113
tt 18 116
ko 15 114
Data file Used by
b/b [b] base
@@ -198,6 +199,7 @@ dzh/dzh [dZ] base
[dZ] sr
[dZ;] sr
[dZ;] sq
[dZ;] ko
dzh/dzh_ [dZ] base
[dZ;] base
[dZ;] lt
@@ -415,7 +417,7 @@ l/l_ [l] base
[l/] fr
l/l_@ [l/3] base
[l/] fr
l/l@ [h6r] base
l/l@ [hæu] base
[l#] base
[l] fr
[l/2] fr
@@ -449,7 +451,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 [h6r] base
l/la [hæu] base
[l#] base
[l] fr
[l/2] fr
@@ -457,7 +459,7 @@ l/la [h6r] base
[K] tn
l/l_a [l/3] base
[l/] fr
l/le [h6r] base
l/le [hæu] base
[l#] base
[l] fr
[l/2] fr
@@ -469,7 +471,7 @@ l/L_eL_af [&] af
[&:] af
l/l_front [L] sq
l/l_front_ [l/4] sq
l/li [h6r] base
l/li [hæu] base
[l#] base
[l] fr
[l/2] fr
@@ -483,7 +485,7 @@ ll/ll [L] bg
ll/_ll [L] bg
l/l_long [l] base
[l] fr
l/lo [h6r] base
l/lo [hæu] base
[l#] base
[l/2] fr
[K] nso
@@ -494,7 +496,7 @@ l^/l_rfx [l.] base
[l;] lt
[l] ru
[l^] ru
l/lu [h6r] base
l/lu [hæu] base
[l#] base
[l] fr
[l/2] fr
@@ -690,7 +692,9 @@ r3/rx [*] base
r3/rz_cs [R^] sk
[R^/] sk
r3/@tap [**] base
[*] ko
r3/@tap2 [**] base
[*] ko
r3/@tap_rfx [r.] base
r/a_ [r] da
r/aa [R] da
@@ -873,6 +877,7 @@ ustop/k_unasp [k] base
[k] sq
[k-] tn
ustop/k_unasp_ [k] zh
[k-] ko
ustop/null [?] base
[t2] hu
ustop/p [p] base
@@ -1007,6 +1012,7 @@ ustop/ts_pzd_ [c2] consonants
ustop/ts_pzd2 [c2] consonants
ustop/ts_pzd3 [tS;] hr
[dZ;] hr
[tS;] ko
ustop/t_sr [d] sr
[t] sr
ustop/ts_rfx [ts.] zh
@@ -1014,6 +1020,7 @@ ustop/ts_rfx_unasp [ts.] zh
ustop/ts_sr [tS;] sr
[dZ;] sr
ustop/ts_unasp [ts] zh
ustop/t_unasp [t-] ko
ustop/t_unasp2 [t] el
[t] zh
vdiph/0i [OI] pt
@@ -1675,6 +1682,7 @@ vowel/aa_8 [0] en-us
[A1] et
[A] nl
[a:] is
[a] ko
vowel/aa_9 [a] fi
[a] et
[a:] hi
@@ -1783,6 +1791,7 @@ vowel/ee_5 [E] en
[E] wo
[E:] wo
[E] tn
[E] ko
vowel/ee_6 [&] sk
[E3] sv
[E] ku
@@ -1934,6 +1943,7 @@ vowel/i_7 [i:] et
[i] sq
vowel/i#_7 [i1] et
[i[] zh
[u-] ko
vowel/i_8 [i] et
[i] fr
[i] ht
@@ -2082,6 +2092,7 @@ vowel/o_6 [O] nl
vowel/o_7 [o] ku
vowel/o_8 [o] fr
[o] ht
[o] ko
vowel/oe [W] af
[W] de
[W] hy
@@ -2151,6 +2162,7 @@ vowel/oo_2 [0] en-sc
[o] cs
[0] da
[O] ak
[@] ko
vowel/oo_3 [O] af
vowel/oo_4 [O] base2
[0] en-wm
@@ -2277,6 +2289,7 @@ vowel/u_bck [u] base2
[u] pa
[u] mt
[u:] ga
[u] ko
vowel/u_bck2 [u] et
[u] fr
[u:] fr
@@ -2621,6 +2634,7 @@ x/dzh_ [dZ] base
[dZ;] ru
x/dz_pzd [dZ;] base
[dZ;] mk
[dZ;] ko
x/g [g] fr
x/g_ [g] base
[g] cy
+27
View File
@@ -0,0 +1,27 @@
// Korean
0 k- NULL 0 k_>
0 t- NULL 0 t_>
0 * NULL 0 4
0 p- NULL 0 p_>
0 s- NULL 0 s_>
0 tS; NULL 0 ts\
0 tS;- NULL 0 ts\_>
0 tSh; NULL 0 ts\_h
0 k_h NULL 0 ts\_h
0 tSh; NULL 0 ts\_h
0 kh NULL 0 k_h
0 th NULL 0 t_h
0 ph NULL 0 p_h
0 dZ; NULL 0 dz\
0 ng NULL 0 N
0 @ NULL 0 V
0 j@ NULL 0 jV
0 Y NULL 0 2
0 w@ NULL 0 wV
0 u- NULL 0 M
0 u-j NULL 0 M\i
+110
View File
@@ -0,0 +1,110 @@
// vowels
phoneme a // a(ㅏ)
ipa ɐ
vowel starttype #a endtype #a
length 200
FMT(vowel/aa_8)
endphoneme
phoneme E // ae(ㅐ)
ipa ɛ
vowel starttype #e endtype #e
length 200
FMT(vowel/ee_5)
endphoneme
phoneme @ // eo(ㅓ)
ipa ʌ
vowel starttype #@ endtype #@
length 200
FMT(vowel/oo_2)
endphoneme
phoneme o // o(ㅗ)
ipa o
vowel starttype #o endtype #o
length 200
FMT(vowel/o_8)
endphoneme
phoneme u // u(ㅜ)
ipa u
vowel starttype #u endtype #u
length 200
FMT(vowel/u_bck)
endphoneme
phoneme u- // eu(ㅡ)
ipa ɯ
vowel starttype #u endtype #u
length 200
FMT(vowel/i#_7)
endphoneme
// diphthongs
// consonants
phoneme k- // /ㄲ/
vls vel stop
lengthmod 3
Vowelin f1=1 f2=1700 0 200 f3=-300 80 f4
Vowelout f1=1 f2=1700 0 200 f3=-300 80 f4 rms=30
WAV(ustop/k_unasp_, 75)
length 100
endphoneme
phoneme kh // /ㅋ/
import_phoneme consonants/kh
endphoneme
phoneme t- // /ㄸ/
vls alv stop
lengthmod 3
Vowelin f1=0 f2=1700 -300 300 f3=-100 80 rms=40
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
WAV(ustop/t_unasp, 40) // TODO
endphoneme
// TODO: ㅌ
phoneme p- // /ㅃ/
import_phoneme consonants/p-
endphoneme
phoneme ph // /ㅍ/
import_phoneme consonants/ph
endphoneme
phoneme tS; // voiceless /ㅈ/
vls pla afr sibilant palatal
ipa tɕ
lengthmod 2
Vowelin f1=0 f2=2700 400 600 f3=300 80
WAV(ustop/ts_pzd3)
endphoneme
phoneme dZ; // voiced /ㅈ/
vcd pla afr sibilant palatal
ipa dʑ
lengthmod 2
Vowelin f1=0 f2=2700 400 600 f3=300 80
FMT(dzh/dzh) addWav(x/dz_pzd)
endphoneme
phoneme * // r(ㄹ) at initial, medial
vcd alv flp rhotic
ipa ɾ
lengthmod 3
Vowelout f1=3 f2=1600 -300 300 f3=-300 80 rms=35 len=15
Vowelin f1=2 f2=1600 -300 300 f3=-100 80 len=20
IF prevPh(#i) OR prevPh(#e) THEN
FMT(r3/@tap2)
ENDIF
FMT(r3/@tap)
endphoneme
+37 -8
View File
@@ -1,12 +1,15 @@
// use 'flag1' for front vowels
phoneme i
vowel starttype #i endtype #i
vowel flag1 starttype #i endtype #i
length 180
FMT(vowel/i)
endphoneme
phoneme y
vowel starttype #u endtype #u
vowel flag1 starttype #u endtype #u
length 180
FMT(vowel/y)
endphoneme
@@ -17,16 +20,34 @@ phoneme u
FMT(vowel/u)
endphoneme
phoneme u2 // letter 'ю'
vowel starttype #u endtype #u
length 180
IF prevVowel(isFlag1) OR nextVowel(isFlag1) THEN
ChangePhoneme(y)
ELSE
ChangePhoneme(u)
ENDIF
endphoneme
phoneme e
vowel starttype #@ endtype #@
vowel flag1 starttype #@ endtype #@
length 100
FMT(vowel/ii#)
endphoneme
phoneme W
phoneme e2 // 'e' at start of word
vowel starttype #@ endtype #@
length 100
IF nextVowel(isFlag1) THEN
ChangePhoneme(e)
ENDIF
ChangePhoneme(V)
endphoneme
phoneme W
vowel flag1 starttype #@ endtype #@
length 100
FMT(vowel/oe)
endphoneme
@@ -44,7 +65,7 @@ endphoneme
phoneme a
vowel starttype #a endtype #a
vowel flag1 starttype #a endtype #a
length 180
FMT(vowel/&_2)
endphoneme
@@ -55,22 +76,30 @@ phoneme A
IF thisPh(isFirstVowel) THEN
ChangePhoneme(0)
ENDIF
IF thisPh(isSeqFlag1) THEN
IF prevVowel(0) THEN
ChangePhoneme(0)
ENDIF
FMT(vowel/aa)
endphoneme
phoneme A2 // letter 'я'
vowel starttype #a endtype #a
length 180
IF prevVowel(isFlag1) OR nextVowel(isFlag1) THEN
ChangePhoneme(a)
ENDIF
ChangePhoneme(A)
endphoneme
phoneme 0
vowel starttype #o endtype #o
flag1
length 180
FMT(vowel/0_3)
endphoneme
phoneme I
vowel starttype #i endtype #i
vowel flag1 starttype #i endtype #i
length 100
FMT(vowel/ii)
endphoneme
+4
View File
@@ -1900,3 +1900,7 @@ include ph_irish
phonemetable tt base
include ph_tatar
phonemetable ko base
include ph_korean