Browse Source

[1.39.06]

Added languages for possible development: bn, ml
Changes to phonemes: [x] [C]  hi: [ph] [th]


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@194 d46cf337-b52f-0410-862d-fd96e6ae7743
master
jonsd 17 years ago
parent
commit
359b2327a9

+ 17
- 5
dictsource/dict_phonemes View File

@@ -134,9 +134,9 @@ W~ y Y

: ; b c d dZ f g
h j k l m n N n2
n^ p p2 r R r2 s S
t t2 t3 tS v w z Z
z2 z3
n^ p p2 r R R2 r2 s
S t t2 t3 tS v w z
Z z2 z3


Dictionary grc_dict
@@ -474,11 +474,23 @@ tS v w z
Dictionary ml_dict

a a: aI aU e E e: i
I i: l- o o: r- u u:
V y
I i: o o: r- u u: V
y

: b c ch d d. dZ f
g h j J k kh l l.
m n N n. n^ p ph R
R2 s s. S; t t. t.h th
tS v w z z.


Dictionary bn_dict

a a~ e e: e~ i I i~
l- o O oI oU o~ O~ r-
u u~ V

** b c ch d d. e[ g
h j J k kh l m n
N p ph r R s S t
t. t.h th z.

+ 3
- 1
dictsource/en_list View File

@@ -1245,7 +1245,6 @@ laser leIz3
lasso las'u:
lawyer lOI3
lava lA:v@
layout leIaUt
le l@ $only
lead li:d
leafy li:fI2
@@ -1292,6 +1291,7 @@ machismo m@tSIzmoU
mademoiselle mad@m@zEl
magazine $3
magi meIdZaI
(main st) m'eInstr,i:t
maintain $2
maintainer $2
majority m@dZ0rItI2
@@ -2047,6 +2047,7 @@ visit vIzIt
voila vwal'a
volcano v0lk'eInoU

(wall st) w'O:lstr,i:t
wane weIn
wannabe w0na2bi:
warring wO@rIN
@@ -2291,6 +2292,7 @@ Provence pr0v'A~s
Pyrenees pIr@n'i:z
Qatar katA@
Quebec kwI2bEk
Reno ri:noU
Sahel sA:h'El
Saigon saIg'0n
Santiago santI'A:goU

+ 8
- 2
dictsource/en_rules View File

@@ -100,8 +100,8 @@
&) ah (_ @
m) a (hog @
m) a (jes a
m) a (jesti @
m) a (jor_ eI
m) a (jore eI
_) a (k@ a2
@) a (ki_ 'a
n) aked eIkId
@@ -1519,6 +1519,7 @@
de (pt dE
de (put dE
_) de (rai dI2
de (reg d%i:
de (rel dE
de (riC dI2
de (rog dI2
@@ -2876,7 +2877,7 @@
in (dex In
in (dia In
_) in (dic In
_) indi (ge ,IndI2
_) indi (ge IndI
_) in (digo In
_) in (dir In
_) in (disP2 ,In
@@ -3991,6 +3992,7 @@
c) ou (th u:
s) ou (ther V
y) ou (t u:
y) ou (t_ aU
ou (v u:
oux (_ u:

@@ -4040,6 +4042,7 @@

.group ow
ow oU
ow (itz =oUv
ow (ay_ @w
kn) owle (d 0lI
_) ow (l aU
@@ -4301,6 +4304,7 @@
rea (gen rI2eI
_) re (alig ,ri:
_) re (all ,ri:
rea (m ri:
_) re (au@P2 ,ri:
re (ck rE
reckon rEk@n
@@ -4586,6 +4590,7 @@
@) tur (y tS@r
@) tur (_ tS3
ture (_ tS3
tz ts

.group th
th T
@@ -4956,6 +4961,7 @@

.group y
y j
_) y' (CP2 j@
y (C_ I
y (CC I
_) y (C@ I

+ 33
- 31
dictsource/fr_list View File

@@ -24,7 +24,7 @@

// 2006-11-18 Gilles Casse <[email protected]>
//
// Updated 2008-09-13 Michel Such <[email protected]>
// Updated 2008-09-21 Michel Such <[email protected]>
//
// * Numbers, a few abbreviations and exceptions.
//
@@ -87,7 +87,7 @@ _ac2 dublaksA~tEg'y
_brv bR'Ev
_ced sed'ij
_cir aksA~sirkO~fl'Eks
_dia trem'a
_dia tR@m'a
_dot pwE~syskr'i
_grv aksA~gr'av
_hac kar'O~
@@ -109,7 +109,7 @@ _#32 Espas

_" gijmE
_# djEz
_' apOstrOf
_' a2postR'Of
_( 'uvr@-parA~t'Ez
_) f'Erm parA~t'Ez
_* asterisk:
@@ -140,8 +140,8 @@ _} f'E2rm_akOl'ad
_0 zero
_1 W~
_2 dYz2
_3 tRwAz2
_4 katr
_3 tR2wAz2
_4 katR2=@-
_5 sE~k
_6 siz3
_7 sEt
@@ -150,7 +150,7 @@ _9 nWf
_10 diz3
_11 _!O~z
_12 duz
_13 tREz
_13 tR2Ez
_14 katOrz
_15 kE~z
_16 sEz
@@ -160,15 +160,15 @@ _19 diznWf
_20 vE~
_21 vE~te:W~
_22 vE~tdYz2
_23 vE~t:trwAz2
_24 vE~tkatr
_23 vE~t:tR2wAz2
_24 vE~tkatR2=@-
_25 vE~tsE~k
_26 vE~tsiz3
_27 vE~tsEt
_28 vE~tw^it3
_29 vE~tnWf
_3X tRA~t
_31 tRA~te:W~
_3X tR2A~t
_31 tR2A~te:W~
_4X karA~t
_41 karA~te:W~
_5X sE~kA~t
@@ -178,25 +178,25 @@ _61 swAsA~te:W~
_7X swAsA~t:diz3
_71 swAsA~te:O~z
_72 swAsA~t:duz
_73 swAsA~t:trEz
_73 swAsA~t:tR2Ez
_74 swAsA~t:katOrz
_75 swAsA~t:kE~z
_76 swAsA~t:sEz
_77 swAsA~t:dis:Et
_78 swAsA~t:diz'w^it3
_79 swAsA~t:diznWf
_8X katr@vE~
_80 katR@vE~z2
_9X katR@vE~diz3
_91 katR@vE~:O~z
_92 katR@vE~:duz
_93 katR@vE~:trEz
_94 katR@vE~:katOrz
_95 katR@vE~:kE~z
_96 katR@vE~:sEz
_97 katR@vE~:dis:Et
_98 katR@vE~:dizw^it3
_99 katR@vE~:diznWf
_8X katR2@vE~
_80 katR2@vE~z2
_9X katR2@vE~diz3
_91 katR2@vE~:O~z
_92 katR2@vE~:duz
_93 katR2@vE~:tR2Ez
_94 katR2@vE~:katOrz
_95 katR2@vE~:kE~z
_96 katR2@vE~:sEz
_97 katR2@vE~:dis:Et
_98 katR2@vE~:dizw^it3
_99 katR2@vE~:diznWf
_0C sA~
_1C0 sA~t2
_0M1 mil
@@ -210,8 +210,8 @@ _dpt virgyl
?2 _7X sEptA~t
?2 _71 sEptA~te:W~
?2 _72 sEptA~t:dYz2
?2 _73 sEptA~t:trwAz2
?2 _74 sEptA~t:katr
?2 _73 sEptA~t:tR2wAz2
?2 _74 sEptA~t:katR2=@-
?2 _75 sEptA~t:sE~k
?2 _76 sEptA~t:siz3
?2 _77 sEptA~t:sEt
@@ -220,8 +220,8 @@ _dpt virgyl
?2 _9X no2nA~t
?2 _91 no2nA~te:W~
?2 _92 no2nA~t:dYz2
?2 _93 no2nA~t:trwAz2
?2 _94 no2nA~t:katr
?2 _93 no2nA~t:tR2wAz2
?2 _94 no2nA~t:katR2=@-
?2 _95 no2nA~t:sE~k
?2 _96 no2nA~t:siz3
?2 _97 no2nA~t:sEt
@@ -229,11 +229,11 @@ _dpt virgyl
?2 _99 no2nA~t:nWf

(21 ème) vE~te:yniEm
(31 ème) tRA~te:yniEm
(31 ème) tR2A~te:yniEm
(41 ème) karA~te:yniEm
(51 ème) sE~kA~te:yniEm
(61 ème) swAsA~te:yniEm
(81 ème) katR@vE~:yniEm
(81 ème) katR2@vE~:yniEm

// ABBREVIATIONS
//**************
@@ -264,7 +264,7 @@ jaws dZ'O2wz
kde $abbrev
kg kilogRam
khz kiloE2rts
km kilomEtr
km kilomètre $text
kw kilowat
m. m@sjY
mbrola EmbRola
@@ -521,7 +521,7 @@ telles $u+
tout t'ut2 $u+
toute t'ut $u+
toutes t'utz2 $u+
rien rjE~n2 $u+
rien Ri'E~n2 $u+

// Letters which can be words
//===========================
@@ -575,8 +575,10 @@ bus bys
bus by $verb
campus kA~pys
(chef d'oeuvre) chédeuvre $text
(chef d'oeuvres) chédeuvres $text
choeur kWr
cocus coky
converter converteur $text
dernier dE2rnjer2
éloquent ElokA~t2
fier fier $verb

+ 7
- 3
dictsource/fr_rules View File

@@ -23,7 +23,7 @@

// 2006-11-18 Gilles Casse <[email protected]>
//
// Updated: 2008-09-16 Michel Such <[email protected]>
// Updated: 2008-09-19 Michel Such <[email protected]>
//

// Letter classes:
@@ -33,6 +33,7 @@
// K not a vowel (i.e. consonant, space, )

.L01 d e l n r t u
.L02 b c d f g h k p t v


.group a
@@ -960,7 +961,10 @@ C) oing (_ _^_en // going


.group r
C) r R
L02) r R2
L02) re (_ R2=@-
L02) re (s_ R2=@-
_) r R
_su) rr rr // surréaliste

cou) rr rr // courrai
@@ -968,7 +972,7 @@ cou) rr (i r // courrier
mou) rr rr // mourrai
rr r // erreur
r r // rien
_) radio (@P5 radio
_) radio (@P5 Radio

// group r: English section
_) real _^_en

+ 1
- 1
espeak-data/voices/af View File

@@ -2,7 +2,7 @@ name afrikaans
language af
gender male
roughness 0
pitch 55 122
pitch 60 122




+ 72
- 54
phsource/compile_report View File

@@ -1,4 +1,4 @@
52 phoneme tables
53 phoneme tables
new total
base 98 98
base2 24 117
@@ -15,11 +15,10 @@
eo 13 110
jbo 4 111
fi 40 129
fr 54 134
fr_ca 11 134
fr 55 135
fr_ca 11 135
hi 51 135
ta 17 138
ml 13 137
hu 23 114
nl 28 121
pl 18 111
@@ -52,6 +51,8 @@
ko 18 145
da 15 128
sq 12 122
ml 13 137
bn 20 143

Data file Used by
b/b [b] base
@@ -246,7 +247,6 @@ h/h@ [h] base
[h] fi
[H] hi
[h] hi
[th] hi
[h] sr
[<h>] la
h/ha [h] base
@@ -281,6 +281,7 @@ j2/j2i [(i)] base
j2/j2o [(o)] base
j2/j2u [(u)] base
j2/xj2 [(i)] base
j/e_ [e[] bn
j/_j [j] base
[j] zh
j/j_ [j/] base
@@ -310,7 +311,6 @@ l/l [l] base
[l] en_wi
[l] af
[l] fr
[l/] fr
[l] hu
[l] sk
[l] ru
@@ -334,6 +334,11 @@ l/_l [l] base
[l] zh
l/l_ [l/] base
[l/] fr
l/l_@ [@] fr
[W] fr
[Y] fr
[@2] fr
[W2] fr
l/l@ [(@)] base
[W] fr
[Y] fr
@@ -341,15 +346,9 @@ l/l@ [(@)] base
l/L1_aL [(a)] base
l/L1_eL [(e)] base
l/L1_iL [(i)] base
[i] fr
[i:] fr
l/L1_@L [(@)] base
l/L1_oL [(o)] base
[o2] fr
l/L1_uL [(u)] base
[u] fr
[y] fr
[u:] fr
l/L2_aL [(a)] base
l/L2_eL [(e)] base
l/L2_iL [(i)] base
@@ -366,19 +365,27 @@ l/l_4 [ll] sq
l/la [(a)] base
[a] fr
[a2] fr
l/l_a [a] fr
[a2] fr
[wA] fr
[A~] fr
l/le [(e)] base
[E] fr
[e] fr
[E2] fr
l/l_e [E] fr
[E2] fr
l/L_eL_af [&] af
[&:] af
l/li [(i)] base
[i] fr
[i:] fr
[l] zh
l/l_i [i] fr
[i:] fr
[w^i] fr
l/l_long [l] base
[l] fr
[l/] fr
[l] la
[l;] ro
l/lo [(o)] base
@@ -387,6 +394,9 @@ l/lo [(o)] base
[O2] fr
[o2] fr
[wA] fr
l/l_o [O] fr
[O2] fr
[o2] fr
l^/l_rfx [l.] hi
[l.] sq
l/lu [(u)] base
@@ -394,6 +404,9 @@ l/lu [(u)] base
[y] fr
[u:] fr
[w^i] fr
l/l_u [u] fr
[u:] fr
l/l_y [y] fr
l/tl [l] base
[l] en
[l] en_wi
@@ -411,17 +424,7 @@ l/xl [(@)] base
[(i)] base
[(o)] base
[(u)] base
[@] fr
[E] fr
[O] fr
[W] fr
[Y] fr
[a] fr
[e] fr
[@2] fr
[W2] fr
[wA] fr
[w^i] fr
m/_m [m] base
[m;] ru
[m;] ro
@@ -497,22 +500,21 @@ r2/r2o [(o)] base
r2/r2u [(u)] base
r3/r_ [r/] base
[r/] af
[r/2] fr
[r/] ru
r3/r_@ [(@)] base
[@2] fr
r3/r#_ [r#] is
r3/r_2 [r/] fr
r3/r_a [(a)] base
r3/r_e [(e)] base
[E] fr
r3/r_i [(i)] base
[i] fr
[w^i] fr
r3/r_n [r/] base
[r/] fr
[r/2] fr
[r/] ru
r3/r_o [(o)] base
[O] fr
[O2] fr
r3/r_ru [R4] ru
r3/r_ru2 [R4] ru
r3/r_trill [R2] base
@@ -541,8 +543,9 @@ r3/rx [*] base
[r/] af
[R] fr
[r] fr
[r/] fr
[R2] fr
[r2] fr
[r/2] fr
[R] fr_ca
[r/] ru
[x] pt_pt
@@ -579,7 +582,7 @@ r/rr [r/] base
[r/] af
[r] de
[r] fi
[r/] fr
[r/2] fr
[r2] nl
[r] ru
[r/] ru
@@ -589,11 +592,12 @@ r/ru [(u)] base
r/tr [r] base
[r] en_sc
[R] fr
[R2] fr
r/trr [r/] base
[r/] af
[r] de
[r] fi
[r/] fr
[r/2] fr
[r2] nl
[r] ru
[r/] ru
@@ -610,16 +614,14 @@ r/xr [(@)] base
[e] fr
[i] fr
[u] fr
[y] fr
[a2] fr
[i:] fr
[u:] fr
[wA] fr
[A~] fr
[w^i] fr
ufric/ch [C] base
[J^] base
[C2] de
ufric/ch_ [C] base
ufric/ch_sr [h] sr
[x] sr
ufric/f [f] base
@@ -697,7 +699,8 @@ ufric/x2 [x2] af
[x2] nl
[x2] pt
[x] ku
ufric/x_hr [x] hr
ufric/x_hr [x] base
[x] hr
ufric/x_sr [h] sr
[x] sr
ustop/c [c] base
@@ -775,13 +778,13 @@ ustop/null [?] base
ustop/p [p] base
[p] fr
[p2] fr
[ph] hi
[p] zhy
ustop/p_ [p] base
[p] fr
[p2] fr
[ph] hi
[ph] zh
ustop/p_asp [ph] hi
ustop/percus10 [(X1] base
ustop/pl [p] base
[p] base2
@@ -846,6 +849,7 @@ ustop/t_dnt [t] base
[t2] en
[t] fi
[t] hi
[th] hi
[t] hu
[t] pl
[t] hr
@@ -856,13 +860,11 @@ ustop/t_dnt [t] base
[t`] ko
ustop/t_dnt2 [t[] vi
ustop/t_hi [t] hi
[th] hi
ustop/t_pzd [t;] pl
[t;] ru
ustop/tr [t] base
[t[] base
[t2] en
[t] fr
[t.h] hi
[t] ru
ustop/ts [ts] base2
@@ -1074,6 +1076,7 @@ vdiph/oi [oI] base2
[oI] it
[OI] la
[oI] vi
[oI] bn
vdiph/oi_2 [oI] af
vdiph/ooi [OI] en
[OI] en_n
@@ -1091,6 +1094,7 @@ vdiph/oou [oU] cs
[OU] grc
vdiph/ou [ou] fi
[ou] zhy
[oU] bn
vdiph/ou_2 [oU] sk
[oU] ro
vdiph/ou_3 [oU] is
@@ -1137,28 +1141,35 @@ vnasal/a#u_n [&U~] pt
[&U~] pt_pt
vnasal/ee_n [E~] en
[E~] fr_ca
[E~] bn
vnasal/ee_n2 [a] en_us
[E~] hi
[&~] pt_pt
vnasal/ee_u_n [E~] pl
vnasal/e_n [e~] af
[e~] pt
[e~] bn
vnasal/i_n [i~] pt
[i~] bn
vnasal/m- [m-] sw
vnasal/&_n [a~] bn
vnasal/n- [n-] sw
vnasal/nn- [N-] sw
vnasal/oi_n [oI~] pt
vnasal/o_n [o~] hi
[o~] pt
[o~] bn
vnasal/o_n2 [o~] af
vnasal/o_n3 [O~] fr
vnasal/oo_n [O~] en
vnasal/oo_n2 [O~] hi
[o] zh
[O~] bn
vnasal/oo_n3 [O~] pl
vnasal/u_n [u~] hi
[u~] pt
[u] zh
[u~] bn
vnasal/W_n [E~] fr
[W~] fr
voc/bh [B] base
@@ -1247,8 +1258,8 @@ vowel/@ [@] base
[@] en_rp
[V] cy
[@4] hi
[@] ml
[@] sq
[@] ml
vowel/@- [@-] base
[r*] hr
vowel/& [a] en_rp
@@ -1304,6 +1315,7 @@ vowel/a [a] en_n
[a] zh
[a] id
[a] ko
[a] bn
vowel/a# [a/] base2
[a2] en_sc
[a2] en_wi
@@ -1345,23 +1357,23 @@ vowel/a#_3 [a2] en
[3] de
[@] de
[a] hi
[a] ml
[a#] ru
[&] pt_pt
[&/] pt_pt
[@] vi
[a] zhy
[a] ml
vowel/a_4 [a/] el
[a] vi
vowel/a_5 [a] fr
[a2] fr
[a:] ta
[a:] ml
[a/] it
[a] la
[a] sv
[a] sw
[a] tr
[a:] ml
vowel/aa [a] fi
[A] fr_ca
[A] no
@@ -1407,8 +1419,6 @@ vowel/e [e] base2
[E:] fr
[e] ta
[e:] ta
[e] ml
[e:] ml
[e] hr
[e/] it
[e:] la
@@ -1421,6 +1431,9 @@ vowel/e [e] base2
[e#] rw
[e] ko
[e] da
[e] ml
[e:] ml
[e] bn
vowel/e# [I] en_sc
[I2] en_sc
vowel/e_2 [eI] en_sc
@@ -1452,6 +1465,7 @@ vowel/ee_2 [E] en
[E] zh
[E#] ku
[&] da
[E] bn
vowel/ee#_2 [E-] sv
vowel/ee_3 [&] af
[&:] af
@@ -1510,7 +1524,6 @@ vowel/i [i] base2
[i] eo
[I] fr
[i:] ta
[i:] ml
[i:] hu
[i] it
[i] pt_pt
@@ -1523,6 +1536,7 @@ vowel/i [i] base2
[i] rw
[i#] rw
[i] ko
[i:] ml
vowel/i# [i] en_rp
[y:] cy
vowel/i_2 [i:] en_rp
@@ -1545,11 +1559,12 @@ vowel/i#_5 [y] pt_pt
[i/] pt_pt
[y] ro
vowel/i_6 [i] ta
[i] ml
[i] hr
[i] tr
[i] ku
[i] id
[i] ml
[i] bn
vowel/i#_6 [i.] zh
vowel/i_7 [i] pl
vowel/i#_7 [i[] zh
@@ -1571,9 +1586,9 @@ vowel/ii [I] en_rp
[i] zhy
[I] ku
vowel/ii# [Y] cy
[y] ml
[Y] ru
[I] ku
[y] ml
vowel/ii_2 [i] zh
vowel/ii#_2 [y] pl
vowel/ii_3 [I] cy
@@ -1621,8 +1636,6 @@ vowel/o [o] base2
[o] hi
[o] ta
[o:] ta
[o] ml
[o:] ml
[o] it
[o/] it
[O] la
@@ -1632,6 +1645,9 @@ vowel/o [o] base2
[o] id
[o] rw
[o#] rw
[o] ml
[o:] ml
[o] bn
vowel/o_2 [o:] cy
[o2] fr
[o:] hi
@@ -1699,6 +1715,7 @@ vowel/oo_4 [O] base2
[3:] en_wi
[O:] hi
[O] it
[O] bn
vowel/oo_5 [O] pl
[O] is
vowel/oo_en [O] en
@@ -1728,11 +1745,12 @@ vowel/u [u:] en_wi
[U] fr
[u] ta
[u:] ta
[u] ml
[u:] ml
[u:] cs
[U] la
[u] id
[u] ml
[u:] ml
[u] bn
vowel/u# [u:] en_sc
[Y] tr
vowel/u_2 [u1] fi
@@ -1805,6 +1823,7 @@ vowel/V_2 [V] en
vowel/V_3 [V] en_rp
[V] hi
[V] ta
[V] bn
vowel/V_4 [V] en_sc
[@:] vi
[V] da
@@ -1908,15 +1927,13 @@ vwl_fr/@R [x] pt_pt
vwl_fr/@R2 [R] fr_ca
vwl_fr/@R3 [R] fr
[r] fr
[R2] fr
[r2] fr
vwl_fr/@R4 [r] fr
vwl_fr/@R4 [R] fr
[r] fr
[r2] fr
vwl_fr/r_a [a] fr
[a2] fr
vwl_fr/r_e [E2] fr
vwl_fr/ri [i] fr
vwl_fr/r_u [u] fr
vwl_fr/r_y [y] fr
vwl_fr/w_a [wA] fr
vwl_hi/A [a:] hi
vwl_hi/l-voc [l-] jbo
@@ -1982,6 +1999,7 @@ w/w [w] base
w/_w [w] base
[w] zh
w/w_ [w/] base
[o[] bn
w/w@ [(@)] base
w/w2 [w2] base2
[w] pl

+ 2
- 0
phsource/mbrola/fr1 View File

@@ -2,6 +2,7 @@ volume 15
0 l/2 NULL 0 l
0 l/ NULL 0 l
0 r/ NULL 0 R
0 r/2 NULL 0 R
0 r- NULL 0 R
0 l- NULL 0 l
0 w/ NULL 0 w
@@ -35,6 +36,7 @@ volume 15
0 n2 NULL 0 n
0 p2 NULL 0 p
0 r2 NULL 0 R
0 R2 NULL 0 R
0 t2 NULL 0 t
0 t3 NULL 0 t
0 z2 NULL 0 z

+ 69
- 57
phsource/ph_french View File

@@ -12,7 +12,7 @@ phoneme @
vowel starttype (@) endtype (@)
length 170
formants vowel/@_hgh
before l/ DFT-30+l/xl+20
before l/ DFT+l/l_@
endphoneme


@@ -20,8 +20,7 @@ phoneme @2
vowel starttype (@) endtype (@)
length 150
formants vowel/@_fr
before l/ DFT-30+l/xl+20
before R DFT-20+r3/r_@
before l/ DFT+l/l_@
endphoneme


@@ -30,8 +29,7 @@ phoneme a
length 170
formants vowel/a_5
after l l/la-15
before l/ DFT-20+l/xl
before r/ DFT+vwl_fr/r_a
before l/ DFT+l/l_a
reduceto a2 1
endphoneme

@@ -41,8 +39,8 @@ phoneme a2
length 150
formants vowel/a_5
after l l/la-15
before l/ DFT+l/l_a
before (r) DFT-20+r/xr
before r/ DFT+vwl_fr/r_a
endphoneme


@@ -62,8 +60,8 @@ phoneme E
length 175
formants vowel/e_mid
after l l/le-15
before l/ DFT-20+l/xl
before r/ DFT+r3/r_e
before l/ DFT+l/l_e
before r/2 DFT+r3/r_e
reduceto E2 1
endphoneme

@@ -73,7 +71,7 @@ phoneme E2
length 175
formants vowel/e_mid
after l l/le-15
before r/ DFT+vwl_fr/r_e
before l/ DFT+l/l_e
endphoneme


@@ -84,9 +82,9 @@ phoneme i
linkout ;
after l l/li-15
after (r) vwl_fr/ri
before l/ DFT-20+l/L1_iL-80
before l/ DFT+l/l_i
before (r) DFT+r/xr
before r/ DFT+r3/r_i
before r/2 DFT+r3/r_i
endphoneme


@@ -96,8 +94,8 @@ phoneme i: // longer than i
formants vowel/i_3
linkout ;
after l l/li-15
before l/ DFT-20+l/L1_iL-80
before r/ DFT-20+r/xr-25
before l/ DFT+l/l_i
before r/2 DFT-20+r/xr-25
endphoneme


@@ -114,7 +112,7 @@ phoneme o2
length 170
formants vowel/o_2
after l l/lo-10
before l/ DFT-20+l/L1_oL-80
before l/ DFT+l/l_o
endphoneme


@@ -123,8 +121,8 @@ phoneme O
length 170
formants vowel/o_mid
after l l/lo-10
before l/ DFT-10+l/xl
before r/ DFT-30+r3/r_o
before l/ DFT+l/l_o
before r/2 DFT+r3/r_o
reduceto o 1
endphoneme

@@ -134,18 +132,19 @@ phoneme O2 // Like O but no reduceto
length 170
formants vowel/o_mid
after l l/lo-10
before r/ DFT-20+r3/r_o
before l/ DFT+l/l_o
// before r/2 DFT+r3/r_o
endphoneme


phoneme u
vowel starttype (u) endtype (u)
length 180
length 170
formants vowel/u_3
after l l/lu-20
before l/ DFT-20+l/L1_uL-80
before l/ DFT-20+l/l_u
before (r) DFT+r/xr
before r/ DFT-20+vwl_fr/r_u
before r/2 DFT+vwl_fr/r_u
endphoneme


@@ -154,8 +153,9 @@ phoneme u: // slitely longer than u
length 220
formants vowel/u_3
after l l/lu-20
before l/ DFT-20+l/L1_uL-80
before r/ DFT+r/xr-40
before l/ DFT-20+l/l_u
before l/ DFT-20+l/l_u
before r/2 DFT+r/xr-40
endphoneme


@@ -164,9 +164,7 @@ phoneme y
length 170
formants vowel/y_2
after l l/lu-20
before l/ DFT-20+l/L1_uL-80
before (r) vwl_fr/r_y
before r/ DFT+r/xr-30
before l/ DFT-30+l/l_y
endphoneme


@@ -175,8 +173,8 @@ phoneme Y
length 170
formants vowel/y#
after l l/l@-20
before l/ DFT-40+l/xl+15
before r/ DFT+r/xr-40
before l/ DFT-20+l/l_@
before r/2 DFT+r/xr-40
endphoneme


@@ -185,8 +183,8 @@ phoneme W
length 180
formants vowel/@_5
after l l/l@-20
before l/ DFT-40+l/xl+15
before r/ DFT+vwl_fr/r_@
before l/ DFT-20+l/l_@
before r/2 DFT+vwl_fr/r_@
reduceto Y 1
endphoneme

@@ -196,8 +194,8 @@ phoneme W2 // same as W but don't reduce
length 180
formants vowel/@_3
after l l/l@-20
before l/ DFT-40+l/xl+15
before r/ DFT+vwl_fr/r_@
before l/ DFT-20+l/l_@
before r/2 DFT+vwl_fr/r_@
endphoneme


@@ -206,8 +204,7 @@ phoneme wA
length 240
formants vwl_fr/w_a
after l l/lo-10
before l/ DFT-10+l/xl
before r/ DFT-30+r/xr
before l/ DFT-10+l/l_a
endphoneme


@@ -216,8 +213,8 @@ phoneme w^i
length 220
formants vdiph/yi_fr
after l l/lu-20
before l/ DFT-20+l/xl
before r/ DFT+r/xr-30
before l/ DFT+l/l_i
before r/2 DFT+r3/r_i
endphoneme


@@ -225,7 +222,8 @@ phoneme A~
vowel starttype (a) endtype (a)
length 190
formants vnasal/aa_n2
before r/ DFT+r/xr-40
before r/2 DFT+r/xr-40
before l/ DFT+l/l_a
endphoneme


@@ -298,7 +296,8 @@ phoneme b
vowelout f1=0 f2=1000 -500 -300 f3=-300 80 brk
formants b/b+x/b%70
before _ b/b_+x/b_
before R b/b+x/b_
before l/ b/b_+x/b_
before R2 b/b_+x/b_
after _ NULL
after @ b/xb%50
lengthmod 5
@@ -311,8 +310,8 @@ phoneme d
vowelout f1=0 f2=1700 -300 300 f3=-100 80
formants d/d+x/d%40
before _ d/d_+x/d_%50
before (r) d/dr+x/d%50
before r/ d/dr+x/d%50
before R2 d/dr+x/d%50
before r/2 d/dr+x/d%50
after _ d/d+x/d%50
after (@) d/xd
lengthmod 5
@@ -340,8 +339,8 @@ phoneme k
lengthmod 2
wave ustop/k%40 // reduce strength of noise burst
before _ ustop/k_
before R ustop/kr%45
before r/ ustop/kr%45
before R2 ustop/kr%45
before r/2 ustop/kr%45
before l ustop/kl%45
before l/ ustop/kl%45
before (i) ustop/ki%45
@@ -366,8 +365,6 @@ phoneme l/ // used for [l] when not before a vowel
length 100
lengthmod 7
formants l/l_
before b l/l_long
after b l/l
before (r) l/_l
beforevowel l
endphoneme
@@ -392,9 +389,10 @@ phoneme p
wave ustop/p%50
after _ ustop/p%70
before _ ustop/p_%70
before R ustop/pr%70
before R2 ustop/pr%75
before @- ustop/p_unasp%60
before l ustop/pl%30
before l/ ustop/pl%30
switchvoicing b
endphoneme

@@ -411,12 +409,12 @@ endphoneme


phoneme r
liquid pal starttype (r) endtype (r)
liquid rfx starttype (r) endtype (r)
vowelin f1=0 f2=800 -50 50 f3=-100 100 len=40
vowelout f1=0 f2=1500 -400 400 f3=-600 80
length 100
lengthmod 7
beforenotvowel r/
beforenotvowel r/2
formants vwl_fr/@R3+r3/rx%30
after (e) vwl_fr/@R4+r3/rx%15
after (u) vwl_fr/@R4+r3/rx%15
@@ -425,7 +423,7 @@ endphoneme


phoneme r2 // silent unless followed by vowel
liquid pal starttype (r) endtype (r)
liquid rfx starttype (r) endtype (r)
vowelin f1=0 f2=800 -50 50 f3=-100 100 len=40
vowelout f1=0 f2=1500 -400 400 f3=-600 80
length 100
@@ -440,23 +438,38 @@ endphoneme


phoneme R // for beginning of words
vcd pal frc
vowelin f1=0 f2=800 -50 50 f3=-100 100
vcd rfx flp
vowelin f1=0 f2=800 -50 50 f3=-100 80
length 100
lengthmod 7
beforenotvowel r/
formants vwl_fr/@R3+r3/rx%40
beforenotvowel r/2
formants vwl_fr/@R3-20+r3/rx%25
before (u) vwl_fr/@R4-20+r3/rx%25
after k r/tr
after p r/tr
after t r/tr
endphoneme

phoneme r/ // variant of [r] when not preceding a vowel
vcd pal frc

phoneme R2 // After consonnants
vcd rfx frc
vowelin f1=0 f2=800 -50 50 f3=-100 80
length 100
lengthmod 7
beforenotvowel r/2
formants vwl_fr/@R3-20+r3/rx%25
after k r/tr
after p r/tr
after t r/tr
endphoneme


phoneme r/2 // variant of [r] when not preceding a vowel
vcd rfx frc
vowelout f1=0 f2=800 -50 50 f3=-600 80 len=40
length 100
lengthmod 2
formants r3/r_2+r3/rx%40
formants r3/r_+r3/rx%35
after _ r/rr
after t r/trr
after p r/trr
@@ -466,7 +479,6 @@ phoneme r/ // variant of [r] when not preceding a vowel
endphoneme



phoneme s
vls alv frc sibilant
vowelin f1=0 f2=1700 -300 300 f3=-100 80
@@ -500,8 +512,8 @@ phoneme t
lengthmod 2
wave ustop/t_short%50
before _ ustop/t_%40
before R ustop/tr%30
before r/ ustop/t_short%50
before R2 ustop/t_short%50
before r/2 ustop/t_short%50
switchvoicing d
endphoneme


+ 6
- 3
phsource/ph_hindi View File

@@ -285,7 +285,7 @@ phoneme ph
vowelin f1=0 f2=1000 -50 -100 f3=-200 80
vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30
lengthmod 2
wave ustop/p
wave ustop/p_asp
before _ ustop/p_
before r ustop/pr
before l ustop/pl
@@ -347,12 +347,14 @@ endphoneme



phoneme th // dental variant of /t/ Same as [t] for now
phoneme th // dental variant of /t/
vls dnt stop
vowelin f1=0 f2=1500 -300 300 f3=-100 80
vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ustop/t_hi%50+h/h@
wave ustop/t_dnt%50
before _ ustop/t_dnt%35
// wave ustop/t_hi%50+h/h@
switchvoicing d
endphoneme

@@ -554,3 +556,4 @@ endphoneme
// switchvoicing k
//endphoneme



+ 1
- 1
phsource/ph_tamil View File

@@ -5,7 +5,7 @@


phoneme a
vowel starttype (@) endtype (@)
vowel starttype (a) endtype (a)
length 130
formants vowel/a
reduceto V 4

+ 10
- 5
phsource/phonemes View File

@@ -512,7 +512,6 @@ endphoneme




phoneme ; // linking j, (formerly [j-]) used between (i) vowels
// and a following vowel
// also to palatalize consonants
@@ -1101,6 +1100,7 @@ phoneme C
length 100
lengthmod 3
wave ufric/ch
before _ ufric/ch_
endphoneme


@@ -1110,7 +1110,8 @@ phoneme x
vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
length 100
lengthmod 3
wave ufric/x
wave ufric/x_hr%30
before _ ufric/x%120
switchvoicing Q
endphoneme

@@ -1190,9 +1191,6 @@ include ph_hindi
phonemetable ta hi
include ph_tamil

phonemetable ml hi
include ph_malayalam

phonemetable hu base
include ph_hungarian

@@ -1292,3 +1290,10 @@ include ph_danish

phonemetable sq es
include ph_albanian

phonemetable ml hi
include ph_malayalam

phonemetable bn hi
include ph_bengali


BIN
phsource/ufric/ch.wav View File


BIN
phsource/ufric/ch_.wav View File


+ 1
- 1
src/synthdata.cpp View File

@@ -35,7 +35,7 @@
#include "translate.h"
#include "wave.h"

const char *version_string = "1.39.04 19.Sep.08";
const char *version_string = "1.39.05 22.Sep.08";
const int version_phdata = 0x013900;

int option_device_number = -1;

+ 22
- 15
src/tr_languages.cpp View File

@@ -46,6 +46,7 @@
#define OFFSET_GREEK 0x380
#define OFFSET_CYRILLIC 0x420
#define OFFSET_DEVANAGARI 0x900
#define OFFSET_BENGALI 0x980
#define OFFSET_TAMIL 0xb80
#define OFFSET_MALAYALAM 0xd00
#define OFFSET_KOREAN 0x1100
@@ -88,6 +89,20 @@ static const unsigned int replace_cyrillic_latin[] =
0}; // ѓ ѕ ќ


void SetIndicLetters(Translator *tr)
{
// Set letter types for Indic scripts, Devanagari, Tamill, etc
static const char dev_consonants2[] = {0x02,0x03,0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f};

memset(tr->letter_bits,0,sizeof(tr->letter_bits));
SetLetterBitsRange(tr,LETTERGP_A,0x04,0x14); // vowel letters
SetLetterBitsRange(tr,LETTERGP_A,0x3e,0x4c); // vowel signs
SetLetterBitsRange(tr,LETTERGP_B,0x3e,0x4d); // vowel signs, and virama
SetLetterBitsRange(tr,LETTERGP_C,0x15,0x39); // the main consonant range
SetLetterBits(tr,LETTERGP_C,dev_consonants2); // additional consonants
tr->langopts.param[LOPT_UNPRONOUNCABLE] = 1; // disable check for unpronouncable words
}

void SetupTranslator(Translator *tr, const short *lengths, const unsigned char *amps)
{//==================================================================================
if(lengths != NULL)
@@ -313,7 +328,6 @@ Translator *SelectTranslator(const char *name)

case L('h','i'):
{
static const char dev_consonants2[] = {0x02,0x03,0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f};
static const short stress_lengths_hi[8] = {190, 190, 210, 210, 0, 0, 230, 250};
static const unsigned char stress_amps_hi[8] = {17,14, 20,19, 20,24, 24,22 };

@@ -327,13 +341,7 @@ Translator *SelectTranslator(const char *name)
tr->langopts.numbers = 0x011;
tr->langopts.numbers2 = 0x100;
tr->letter_bits_offset = OFFSET_DEVANAGARI;

memset(tr->letter_bits,0,sizeof(tr->letter_bits));
SetLetterBitsRange(tr,LETTERGP_A,0x06,0x14); // vowel letters
SetLetterBitsRange(tr,LETTERGP_B,0x3e,0x4d); // vowel signs + virama
SetLetterBitsRange(tr,LETTERGP_C,0x15,0x39); // the main consonant range
SetLetterBits(tr,LETTERGP_C,dev_consonants2); // additional consonants
tr->langopts.param[LOPT_UNPRONOUNCABLE] = 1; // disable check for unpronouncable words
SetIndicLetters(tr);
}
break;

@@ -713,6 +721,7 @@ SetLengthMods(tr,3); // all equal

case L('t','a'): // Tamil
case L('m','l'): // Malayalam
case L('b','n'): // Bengali
{
static const short stress_lengths_ta[8] = {200, 200, 210, 210, 0, 0, 230, 230};
static const unsigned char stress_amps_ta[8] = {18,18, 18,18, 20,20, 22,22 };
@@ -729,14 +738,12 @@ SetLengthMods(tr,3); // all equal
{
tr->letter_bits_offset = OFFSET_MALAYALAM;
}
if(name2 == L('b','n'))
{
tr->letter_bits_offset = OFFSET_BENGALI;
}
tr->langopts.param[LOPT_WORD_MERGE] = 1; // don't break vowels betwen words

memset(tr->letter_bits,0,sizeof(tr->letter_bits));
SetLetterBitsRange(tr,LETTERGP_A,0x05,0x14); // vowel letters
SetLetterBitsRange(tr,LETTERGP_A,0x3e,0x4c); // vowel signs
SetLetterBitsRange(tr,LETTERGP_B,0x3e,0x4d); // vowel signs, and virama
SetLetterBitsRange(tr,LETTERGP_C,0x15,0x39); // the main consonant range
tr->langopts.param[LOPT_UNPRONOUNCABLE] = 1; // disable check for unpronouncable words
SetIndicLetters(tr);
}
break;


+ 12
- 10
src/translate.cpp View File

@@ -361,14 +361,13 @@ int IsAlpha(unsigned int c)
if(iswalpha(c))
return(1);

if((c >= 0x901) && (c <= 0x957))
return(1); // Devanagari vowel signs and other signs

if((c >= 0xb81) && (c <= 0xbe5))
return(1); // Tamil vowel signs and other signs

if((c >= 0xd01) && (c <= 0xd57))
return(1); // Malayalam vowel signs and other signs
if((c >= 0x901) && (c <= 0xdf7))
{
// Indic scripts: Devanagari, Tamil, etc
if((c & 0x7f) < 0x64)
return(1);
return(0);
}

if((c >= 0x300) && (c <= 0x36f))
return(1); // combining accents
@@ -1924,6 +1923,7 @@ int Translator::TranslateChar(char *ptr, int prev_in, unsigned int c, unsigned i
int initial;
int medial;
int final;
int next2;

static const unsigned char hangul_compatibility[0x34] = {
0, 0x00,0x01,0xaa,0x02,0xac,0xad,0x03,
@@ -1938,10 +1938,12 @@ int Translator::TranslateChar(char *ptr, int prev_in, unsigned int c, unsigned i
{
case L('a','f'):
// look for 'n and replace by a special character (unicode: schwa)

utf8_in(&next2, &ptr[1], 0);

if(!iswalpha(prev_in))
{
if((c == '\'') && (next_in == 'n') && isspace(ptr[1]))
if((c == '\'') && (next_in == 'n') && IsSpace(next2))
{
// n preceded by either apostrophe or U2019 "right single quotation mark"
ptr[0] = ' '; // delete the n

Loading…
Cancel
Save