[1.39.18]
*_list Allow Hyphens in multi-word entries (aa-bb). This will only match a pair of words which are hyphenated. *_list Fix abbreviations of the form a.b.cde Recognise Armenian punctuation, allow and process Armenian punctuation inside words (affects intonation type, and marks the focus word of the clause). Mbrola: add a delay so that SAPI5 events better follow the speaking. Mbrola: generate phoneme events, and hence SAPI5 viseme events. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@200 d46cf337-b52f-0410-862d-fd96e6ae7743
@@ -196,7 +196,7 @@
|
||||
fu) ch (s k
|
||||
äu) ch C
|
||||
eu) ch C
|
||||
C) chen (_$4 C@n
|
||||
C) chen (_S4 C@n
|
||||
ä) chen (_ C@n
|
||||
e) chen (_ C@n
|
||||
ü) chen (_ C@n
|
||||
@@ -638,8 +638,8 @@
|
||||
k k
|
||||
k) k
|
||||
|
||||
// @) keit (_$4 kaIt
|
||||
// @) keiten (_$6 kaIt@n
|
||||
// @) keit (_S4 kaIt
|
||||
// @) keiten (_S6 kaIt@n
|
||||
|
||||
kolleg k%Ole:g
|
||||
_) komme (C@ k%OmE
|
||||
@@ -667,24 +667,24 @@
|
||||
_) leit (@P4 l'aIt
|
||||
_) lern (@@P4 l'E*n
|
||||
_) lexi (@ lEksi:
|
||||
@) lich (_$4 lIC
|
||||
@) liche (_$5 lIC@
|
||||
@) lichem (_$6 lIC@m
|
||||
@) lichen (_$6 lIC@n
|
||||
@) licher (_$6 lIC3
|
||||
@) liches (_$6 lIC@s
|
||||
@) lichere (_$7 lIC@*@
|
||||
@) licherem (_$8 lIC@*@m
|
||||
@) licheren (_$8 lIC@*@n
|
||||
@) licherer (_$8 lIC@*@3
|
||||
@) licheres (_$8 lIC@*@s
|
||||
@) lichste (_$7 lICst@
|
||||
@) lichstem (_$8 lICst@m
|
||||
@) lichsten (_$8 lICst@n
|
||||
@) lichster (_$8 lICst@r
|
||||
@) lichstes (_$8 lICst@s
|
||||
@) lichkeit (_$8 lICk%aIt
|
||||
@) lichung (_$7 lIC%UN
|
||||
@) lich (_S4 lIC
|
||||
@) liche (_S5 lIC@
|
||||
@) lichem (_S6 lIC@m
|
||||
@) lichen (_S6 lIC@n
|
||||
@) licher (_S6 lIC3
|
||||
@) liches (_S6 lIC@s
|
||||
@) lichere (_S7 lIC@*@
|
||||
@) licherem (_S8 lIC@*@m
|
||||
@) licheren (_S8 lIC@*@n
|
||||
@) licherer (_S8 lIC@*@3
|
||||
@) licheres (_S8 lIC@*@s
|
||||
@) lichste (_S7 lICst@
|
||||
@) lichstem (_S8 lICst@m
|
||||
@) lichsten (_S8 lICst@n
|
||||
@) lichster (_S8 lICst@r
|
||||
@) lichstes (_S8 lICst@s
|
||||
@) lichkeit (_S8 lICk%aIt
|
||||
@) lichung (_S7 lIC%UN
|
||||
@) lo (gisch l'o:
|
||||
|
||||
.group m
|
||||
@@ -847,7 +847,7 @@
|
||||
_be) sp Sp
|
||||
_ge) sp Sp
|
||||
_ver) sp Sp
|
||||
&C) st (_$2 st
|
||||
&C) st (_S2 st
|
||||
&C) ste (_S3 st@
|
||||
&C) stem (_S4 st@m
|
||||
&C) sten (_S4 st@n
|
||||
|
||||
@@ -305,10 +305,11 @@ tS v w z z.
|
||||
|
||||
Dictionary ne_dict
|
||||
|
||||
@ @- @2 @3 a a: aI aU
|
||||
a~ e E e: E: E~ e~ i
|
||||
I i: i~ l- o O o: O:
|
||||
o~ O~ r- U u u: u~ V
|
||||
@ @/ @2 @3 a aI aU a~
|
||||
e E eI eU E~ e~ i I
|
||||
i~ l- o O o: oI oU o~
|
||||
O~ r- u uI u~ V VI VU
|
||||
V~
|
||||
|
||||
- : b c ch d d. f
|
||||
g h H j J k kh l
|
||||
@@ -375,12 +376,12 @@ ea eI eo eU i i/ I^ iI
|
||||
iU o O Oa oI oU u uI
|
||||
y Y yI yU
|
||||
|
||||
* *; b b; c C d d;
|
||||
dZ f f; g h j k l
|
||||
l; m m; n N n; p p;
|
||||
r s S S; t t; tS ts
|
||||
ts; v v; w w2 x z Z
|
||||
z; Z;
|
||||
* *; - b b; c C d
|
||||
d; dZ f f; g h j k
|
||||
l l; m m; n N n; p
|
||||
p; r s S S; t t; tS
|
||||
ts ts; v v; w w2 x z
|
||||
Z z; Z;
|
||||
|
||||
|
||||
Dictionary ru_dict
|
||||
@@ -497,7 +498,7 @@ uo y y& y@ yE yi yu
|
||||
(u) ; C f h j k kh
|
||||
l m n N p ph r s
|
||||
s. S; t th ts ts. ts. tS;
|
||||
tS; tsh v w x z.
|
||||
tS; tsh v w x X z.
|
||||
|
||||
|
||||
Dictionary zhy_dict
|
||||
@@ -517,7 +518,17 @@ a a: ai au e e: ei i
|
||||
i: ie iu o o: oi u u:
|
||||
ui uo
|
||||
|
||||
b c d dZ f g h j
|
||||
J k l l^ m n N n^
|
||||
p R R2 s S t tS ts
|
||||
v z Z
|
||||
: b c d dZ f g h
|
||||
j J k l l^ m n n^
|
||||
p r R R2 s S t tS
|
||||
ts v x z Z
|
||||
|
||||
|
||||
Dictionary hy_dict
|
||||
|
||||
@ a aI e eI i i@ o
|
||||
u W y
|
||||
|
||||
** b d dZ f g h j
|
||||
k l m n p R3 s S
|
||||
t tS ts v x z Z
|
||||
|
||||
@@ -2343,6 +2343,7 @@ Provence pr0v'A~s
|
||||
Pyrenees pIr@n'i:z
|
||||
Qatar katA@
|
||||
Quebec kwI2bEk
|
||||
Raleigh rA:lI
|
||||
Reno ri:noU
|
||||
Sahel sA:h'El
|
||||
Saigon saIg'0n
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
ae i:
|
||||
ae (val 'i:
|
||||
aea i@
|
||||
@) aed (_$2 d
|
||||
@) aed (_S2 d
|
||||
_) ae (on i:
|
||||
_) aer (o e@
|
||||
ae (l eI
|
||||
@@ -226,13 +226,13 @@
|
||||
ab (ular 'ab
|
||||
b) ab (y eIb
|
||||
b) ab (yl ab
|
||||
&) able (_$4iev @b@L // suffix
|
||||
&) able (_S4iev @b@L // suffix
|
||||
&c) able (_ @b@L
|
||||
@ct) able (_ =@b@L
|
||||
&) ability ($7iev @b'IlI2t%I // suffix
|
||||
&) abilities ($9iev @b'IlI2t%Iz // suffix
|
||||
&) ably (_$4iefv @bl%I
|
||||
&c) ably (_$4fv @bl%I
|
||||
&) ability (S7iev @b'IlI2t%I // suffix
|
||||
&) abilities (S9iev @b'IlI2t%Iz // suffix
|
||||
&) ably (_S4iefv @bl%I
|
||||
&c) ably (_S4fv @bl%I
|
||||
|
||||
.group ac
|
||||
_) ac (@ a2k
|
||||
@@ -533,8 +533,8 @@
|
||||
alz alt|s
|
||||
&) al (_ @L
|
||||
?8 &) al (_ a2l
|
||||
@) ally (_$2 l%I
|
||||
@@ic) ally (_$4 l%I
|
||||
@) ally (_S2 l%I
|
||||
@@ic) ally (_S4 l%I
|
||||
inst) al (_ O:l
|
||||
&) al (d @L
|
||||
b) al (d O:l
|
||||
@@ -675,8 +675,8 @@
|
||||
_) anom a2n0m
|
||||
&) an (_ @n
|
||||
?8 &) an (_ a2n
|
||||
@u) an (_$1 n
|
||||
@i) an (_$1 n
|
||||
@u) an (_S1 n
|
||||
@i) an (_S1 n
|
||||
Cc) an (_ an
|
||||
l) an (_ an
|
||||
ll) an (_ @n
|
||||
@@ -725,7 +725,7 @@
|
||||
d) ang (er eIndZ
|
||||
r) ang (e eIndZ
|
||||
r) anging eIndZIN
|
||||
r) anged ($1 d
|
||||
r) anged (S1 d
|
||||
perm) an @n
|
||||
ang (er aNg
|
||||
m) anoeu (v @nu:
|
||||
@@ -1121,8 +1121,8 @@
|
||||
su) bt (l t
|
||||
de) bt t
|
||||
_) bug (le bju:g
|
||||
@) bury (_$4i br%I
|
||||
?3 @) bury (_$4i bEr%I
|
||||
@) bury (_S4i br%I
|
||||
?3 @) bury (_S4i bEr%I
|
||||
_) by baI
|
||||
|
||||
|
||||
@@ -1447,7 +1447,7 @@
|
||||
d d
|
||||
d (d
|
||||
_) d' (AP2 d
|
||||
@@e) d (_$1 d // suffix
|
||||
@@e) d (_S1 d // suffix
|
||||
ddh d
|
||||
dj dZ
|
||||
dg (_ dZ
|
||||
@@ -1714,20 +1714,20 @@
|
||||
e (quiv %I
|
||||
e'er e@
|
||||
h) e (sion 'i:
|
||||
&f) e's (_$2i s
|
||||
&k) e's (_$2i s
|
||||
&p) e's (_$2i s
|
||||
&t) e's (_$2i s
|
||||
&c) e's (_$2i Iz
|
||||
&g) e's (_$2i Iz
|
||||
&ch) e's (_$2i Iz
|
||||
&ph) e's (_$2i Iz
|
||||
&s) e's (_$2i Iz
|
||||
&sh) e's (_$2i Iz
|
||||
&th) e's (_$2i z
|
||||
&r) e's (_$2i z
|
||||
&x) e's (_$2i Iz
|
||||
&C) e's (_$2i z
|
||||
&f) e's (_S2i s
|
||||
&k) e's (_S2i s
|
||||
&p) e's (_S2i s
|
||||
&t) e's (_S2i s
|
||||
&c) e's (_S2i Iz
|
||||
&g) e's (_S2i Iz
|
||||
&ch) e's (_S2i Iz
|
||||
&ph) e's (_S2i Iz
|
||||
&s) e's (_S2i Iz
|
||||
&sh) e's (_S2i Iz
|
||||
&th) e's (_S2i z
|
||||
&r) e's (_S2i z
|
||||
&x) e's (_S2i Iz
|
||||
&C) e's (_S2i z
|
||||
&Cr) e's (_ @z
|
||||
@) e (tio i:
|
||||
discr) e (tion E
|
||||
@@ -1756,7 +1756,7 @@
|
||||
_s) ew u:
|
||||
_s) ew (_ oU
|
||||
e (work
|
||||
eway (_$3 weI
|
||||
eway (_S3 weI
|
||||
@) ez (_ =Ez
|
||||
|
||||
.group ea
|
||||
@@ -1851,28 +1851,28 @@
|
||||
C) ea (ven E
|
||||
|
||||
.group ed
|
||||
@@) ed (_$2dvei d
|
||||
@C) ed (_$2dvei d
|
||||
@c) ed (_$2vdei t
|
||||
@d) ed (_$2dvei I2d
|
||||
?8 @d) ed (_$2dvei Ed
|
||||
&ch) ed (_$2vei t
|
||||
&sh) ed (_$2vei t
|
||||
@@) ed (_S2dvei d
|
||||
@C) ed (_S2dvei d
|
||||
@c) ed (_S2vdei t
|
||||
@d) ed (_S2dvei I2d
|
||||
?8 @d) ed (_S2dvei Ed
|
||||
&ch) ed (_S2vei t
|
||||
&sh) ed (_S2vei t
|
||||
@Csh) ed (_ Ed
|
||||
@f) ed (_$2vdei t
|
||||
@g) ed (_$1vi d
|
||||
@k) ed (_$2vdei t
|
||||
&en) ed (_$2v d
|
||||
cl) ed (_$1v d
|
||||
@p) ed (_$2vdei t
|
||||
@@er) ed (_$2v d
|
||||
@ss) ed (_$2dv t
|
||||
@t) ed (_$2vdei I2d
|
||||
?8 @t) ed (_$2vdei Ed
|
||||
@fr) ed (_$2v Id
|
||||
@f) ed (_S2vdei t
|
||||
@g) ed (_S1vi d
|
||||
@k) ed (_S2vdei t
|
||||
&en) ed (_S2v d
|
||||
cl) ed (_S1v d
|
||||
@p) ed (_S2vdei t
|
||||
@@er) ed (_S2v d
|
||||
@ss) ed (_S2dv t
|
||||
@t) ed (_S2vdei I2d
|
||||
?8 @t) ed (_S2vdei Ed
|
||||
@fr) ed (_S2v Id
|
||||
yw) ed (_ Ed
|
||||
@x) ed (_$2vi t
|
||||
y) ed (_$2v d
|
||||
@x) ed (_S2vi t
|
||||
y) ed (_S2v d
|
||||
edly (_ Idl%I
|
||||
c) ed (e_ 'i:d
|
||||
p) ed (e_ i:d
|
||||
@@ -2113,14 +2113,14 @@
|
||||
|
||||
.group er
|
||||
&) er 3
|
||||
@@@) er (_$2de 3 // suffix
|
||||
%C) er (_$3 3
|
||||
ll) er (_$2 3
|
||||
@@@) er (_S2de 3 // suffix
|
||||
%C) er (_S3 3
|
||||
ll) er (_S2 3
|
||||
&) er (_ 3
|
||||
?8 &) er (_ a2 // (temporary because [3] -> [a2] is only for word-final
|
||||
%C) ers (_$4 3z
|
||||
?8 %C) ers (_$4 a2z
|
||||
ss) er (_$2 3
|
||||
%C) ers (_S4 3z
|
||||
?8 %C) ers (_S4 a2z
|
||||
ss) er (_S2 3
|
||||
all) er (_ 3
|
||||
mb) er (_ 3
|
||||
lin) er (_S1 3
|
||||
@@ -2228,30 +2228,30 @@
|
||||
err (_ 3:
|
||||
|
||||
.group es
|
||||
&) es (_$1i z
|
||||
&) es (_S1i z
|
||||
ese (_ i:z
|
||||
@n) ese (_ 'i:z
|
||||
&f) es (_$1 s
|
||||
&k) es (_$1 s
|
||||
&p) es (_$1 s
|
||||
&t) es (_$1 s
|
||||
&c) es (_$1 I2z
|
||||
&g) es (_$1 I2z
|
||||
&ch) es (_$1 I2z
|
||||
&ph) es (_$1 I2z
|
||||
neri) es (_$2i z
|
||||
&s) es (_$1 I2z
|
||||
&us) es (_$2e I2z
|
||||
&rus) es (_$2 I2z
|
||||
&tus) es (_$2 I2z
|
||||
&ss) es (_$2 I2z
|
||||
sh) es (_$2 I2z
|
||||
&th) es (_$1 z
|
||||
&r) es (_$1 z
|
||||
&qu) es (_$1 s
|
||||
&x) es (_$2 I2z
|
||||
&z) es (_$2 I2z
|
||||
&C) es (_$1i z
|
||||
&f) es (_S1 s
|
||||
&k) es (_S1 s
|
||||
&p) es (_S1 s
|
||||
&t) es (_S1 s
|
||||
&c) es (_S1 I2z
|
||||
&g) es (_S1 I2z
|
||||
&ch) es (_S1 I2z
|
||||
&ph) es (_S1 I2z
|
||||
neri) es (_S2i z
|
||||
&s) es (_S1 I2z
|
||||
&us) es (_S2e I2z
|
||||
&rus) es (_S2 I2z
|
||||
&tus) es (_S2 I2z
|
||||
&ss) es (_S2 I2z
|
||||
sh) es (_S2 I2z
|
||||
&th) es (_S1 z
|
||||
&r) es (_S1 z
|
||||
&qu) es (_S1 s
|
||||
&x) es (_S2 I2z
|
||||
&z) es (_S2 I2z
|
||||
&C) es (_S1i z
|
||||
es (carp I2s
|
||||
es (cape %Es
|
||||
es (capi %Es
|
||||
@@ -2290,7 +2290,7 @@
|
||||
_) eth (a ET
|
||||
eth (ic ET
|
||||
eth (y i:T
|
||||
@C) eth (_$3e @T
|
||||
@C) eth (_S3e @T
|
||||
etta (_ 'Et@
|
||||
ette (_ 'Et
|
||||
pal) ett (e @t
|
||||
@@ -2459,11 +2459,11 @@
|
||||
A) han (_ h'an // places
|
||||
ha (st heI
|
||||
_) he' %hi:
|
||||
@) head (_$4 hEd
|
||||
@) head (_S4 hEd
|
||||
heir e@
|
||||
_) hetero hEtroU
|
||||
K) hl L
|
||||
&) hold (_$4 hoUld
|
||||
&) hold (_S4 hoUld
|
||||
holme hoUm
|
||||
_) homeo hoUmi:oU
|
||||
_) homo (s h,oUmoU
|
||||
@@ -2477,8 +2477,8 @@
|
||||
_) horri h0rI
|
||||
_) horse hO@s
|
||||
_) house (@ haUs
|
||||
house (_$5 haUs
|
||||
houses (_$6 haUzI2z
|
||||
house (_S5 haUs
|
||||
houses (_S6 haUzI2z
|
||||
|
||||
.group i
|
||||
i I
|
||||
@@ -2520,8 +2520,8 @@
|
||||
_) i (o aI
|
||||
&) ial (_ =I2@l
|
||||
@) ibab aIb@b
|
||||
@) ible (_$4ev @b@L
|
||||
@) ibly (_$4efv @bl%I
|
||||
@) ible (_S4ev @b@L
|
||||
@) ibly (_S4efv @bl%I
|
||||
i (bilit I
|
||||
l) i (bel aI
|
||||
b) i (ble_ aI
|
||||
@@ -2653,9 +2653,9 @@
|
||||
is (o_ aIz
|
||||
ise (_ aIz
|
||||
iser (_ aIz3
|
||||
@) ism (_$3de Iz@m
|
||||
an) ism (_$3d Iz@m
|
||||
@iB) ism (_$3d Iz@m
|
||||
@) ism (_S3de Iz@m
|
||||
an) ism (_S3d Iz@m
|
||||
@iB) ism (_S3d Iz@m
|
||||
is (er+_ aIz
|
||||
iz (er_ aIz
|
||||
prAm) is Is
|
||||
@@ -2739,7 +2739,7 @@
|
||||
.group ie
|
||||
ie I
|
||||
ie (_ I
|
||||
ied (_$2i d // suffix
|
||||
ied (_S2i d // suffix
|
||||
ie (c aI
|
||||
ie (ce i:
|
||||
ie (_ aI
|
||||
@@ -2792,7 +2792,7 @@
|
||||
ie (v i:
|
||||
iew (_ ju:
|
||||
iew ju:
|
||||
ies (_$2i z
|
||||
ies (_S2i z
|
||||
spec) ies (_ i:z
|
||||
ser) ies (_ i:z
|
||||
_ar) ies (_ i:z
|
||||
@@ -2857,20 +2857,20 @@
|
||||
?3 s) im (ult aIm
|
||||
|
||||
.group in
|
||||
@) ing (_+$3dve I2N
|
||||
@) ings (_$4dve I2Nz
|
||||
@) ingly (_$5dve I2Ng-lI
|
||||
@) ingment (_$7dve I2Ng-m@nt
|
||||
logu) ing (_$4v I2N
|
||||
x) ing (_+$3v I2N
|
||||
@@om) ing (_$3dv I2N
|
||||
en) ing (_$3v I2N
|
||||
en) ings (_$4v I2Nz
|
||||
en) ingly (_$5vf I2Ng-lI
|
||||
er) ing (_$3v I2N
|
||||
er) ings (_$4v I2Nz
|
||||
er) ingly (_$5vf I2Ng-lI
|
||||
er) ingment (_$7v I2Ng-m@nt
|
||||
@) ing (_+S3dve I2N
|
||||
@) ings (_S4dve I2Nz
|
||||
@) ingly (_S5dve I2Ng-lI
|
||||
@) ingment (_S7dve I2Ng-m@nt
|
||||
logu) ing (_S4v I2N
|
||||
x) ing (_+S3v I2N
|
||||
@@om) ing (_S3dv I2N
|
||||
en) ing (_S3v I2N
|
||||
en) ings (_S4v I2Nz
|
||||
en) ingly (_S5vf I2Ng-lI
|
||||
er) ing (_S3v I2N
|
||||
er) ings (_S4v I2Nz
|
||||
er) ingly (_S5vf I2Ng-lI
|
||||
er) ingment (_S7v I2Ng-m@nt
|
||||
Br) ing (_ IN
|
||||
|
||||
?7 &) in (_ @n
|
||||
@@ -3208,8 +3208,8 @@
|
||||
_) llan L%an
|
||||
l (E l
|
||||
lle (_ l
|
||||
@@o) lled (_$3v d
|
||||
@@) lled (_$3v d
|
||||
@@o) lled (_S3v d
|
||||
@@) lled (_S3v d
|
||||
B) l (_ @L
|
||||
w) l (_ l
|
||||
r) l (_ l
|
||||
@@ -3224,14 +3224,14 @@
|
||||
?3 _) lo (gK lO
|
||||
@) lo (gous =l@
|
||||
lu (na lu:
|
||||
@) ly (_$2i l%I
|
||||
@l) ly (_$2 I2
|
||||
@) ly (_S2i l%I
|
||||
@l) ly (_S2 I2
|
||||
f) ly (_ laI
|
||||
ief) ly (_$2 l%I
|
||||
ff) ly (_$2 l%I
|
||||
of) ly (_$2 l%I
|
||||
ief) ly (_S2 l%I
|
||||
ff) ly (_S2 l%I
|
||||
of) ly (_S2 l%I
|
||||
multip) ly laI
|
||||
&p) ly (_$2 l%I
|
||||
&p) ly (_S2 l%I
|
||||
p) ly (_ laI
|
||||
_) ly (d lI
|
||||
|
||||
@@ -3256,12 +3256,12 @@
|
||||
@t) le (B@ @L
|
||||
tt) le (@ @-l
|
||||
&C) le (ss l@
|
||||
@) less (_$4i l@s
|
||||
@) lessly (_$6i l@sl%I
|
||||
@) lessness (_$8i l@sn@s
|
||||
?8 @) less (_$4i lEs
|
||||
?8 @) lessly (_$6i lEsl%I
|
||||
?8 @) lessness (_$8i lEsnEs
|
||||
@) less (_S4i l@s
|
||||
@) lessly (_S6i l@sl%I
|
||||
@) lessness (_S8i l@sn@s
|
||||
?8 @) less (_S4i lEs
|
||||
?8 @) lessly (_S6i lEsl%I
|
||||
?8 @) lessness (_S8i lEsnEs
|
||||
|
||||
.group m
|
||||
m m
|
||||
@@ -3294,10 +3294,10 @@
|
||||
_) mn n
|
||||
&B) me (_ m%I
|
||||
@) men (_ mEn
|
||||
&) ment (_$4 m@nt
|
||||
&) ments (_$5 m@nt|s
|
||||
?8 &) ment (_$4 mEnt
|
||||
?8 &) ments (_$5 mEnt|s
|
||||
&) ment (_S4 m@nt
|
||||
&) ments (_S5 m@nt|s
|
||||
?8 &) ment (_S4 mEnt
|
||||
?8 &) ments (_S5 mEnt|s
|
||||
mEnt (_ m@nt
|
||||
tor) me (nt m'E
|
||||
C) mented m'EntId
|
||||
@@ -3313,7 +3313,7 @@
|
||||
_) mono m0noU
|
||||
mon (opol m@n
|
||||
mon (ox m0n
|
||||
@) most(_$4 moUst
|
||||
@) most(_S4 moUst
|
||||
&) mouth (_ m@T
|
||||
_) multi mVltI
|
||||
|
||||
@@ -3349,13 +3349,13 @@
|
||||
.group n
|
||||
n n
|
||||
n) n
|
||||
&ia) n (_$1 n
|
||||
&ia) ns (_$2 nz
|
||||
&ia) n (_S1 n
|
||||
&ia) ns (_S2 nz
|
||||
@) name (_ neIm
|
||||
_) nano (P4 n,anoU
|
||||
necessit n@sEsIt
|
||||
&) ness (_$4i n@s
|
||||
?8 &) ness (_$4i nEs
|
||||
&) ness (_S4i n@s
|
||||
?8 &) ness (_S4i nEs
|
||||
@) n (cC N
|
||||
@) n (ch n
|
||||
n (c_ N
|
||||
@@ -3723,8 +3723,8 @@
|
||||
_) on (io Vn
|
||||
ec) on (d @n
|
||||
m) on (d_ @n
|
||||
&C) oned (_$2v d
|
||||
&C) oning (_$3v I2N
|
||||
&C) oned (_S2v d
|
||||
&C) oning (_S3v I2N
|
||||
_) one w0n
|
||||
_) once (_ w0ns
|
||||
?6 _) one wVn
|
||||
@@ -3801,9 +3801,9 @@
|
||||
p) or (t o@
|
||||
or (A o@r
|
||||
&) or (ate 3r
|
||||
@@) or (_$2d 3 // suffix
|
||||
@@) or (_S2d 3 // suffix
|
||||
&) or (_ 3
|
||||
?8 @@) or (_$2d o@ // suffix
|
||||
?8 @@) or (_S2d o@ // suffix
|
||||
?8 &) or (_ o@
|
||||
_c) or (@ O@
|
||||
c) or (k O@
|
||||
@@ -4150,7 +4150,7 @@
|
||||
p (hole p
|
||||
sym) pa p@
|
||||
_) pico pi:koU
|
||||
piece (_$5 pi:s
|
||||
piece (_S5 pi:s
|
||||
por (tray p%o@
|
||||
// _) post (@@P4 p,oUst // prefix
|
||||
pneu nju:
|
||||
@@ -4489,10 +4489,10 @@
|
||||
@) s (hill_ s
|
||||
@) s (hous s
|
||||
_) she' %Si:
|
||||
&) ship (_$4 SIp
|
||||
&) ships (_$5 SIps
|
||||
&) shire (_$5 S@
|
||||
?3 &) shire (_$5 Si@
|
||||
&) ship (_S4 SIp
|
||||
&) ships (_S5 SIps
|
||||
&) shire (_S5 S@
|
||||
?3 &) shire (_S5 Si@
|
||||
sia (_ =Zi@
|
||||
?3 sia (_ =Z@
|
||||
ssia (_ S@
|
||||
@@ -4530,29 +4530,29 @@
|
||||
a) ssure S'U@
|
||||
ea) s (y z
|
||||
s (_ z
|
||||
@) s (_$1 z
|
||||
@) s (_S1 z
|
||||
_BA) s (_ s
|
||||
&se) s (_$1 I2z
|
||||
&sse) s (_$2 I2z
|
||||
&se) s (_S1 I2z
|
||||
&sse) s (_S2 I2z
|
||||
ss (_ s
|
||||
sse (_ s
|
||||
c) s (_ s
|
||||
@ce) s (_$1 Iz
|
||||
@ce) s (_S1 Iz
|
||||
f) s (_ s
|
||||
ng) s (_$1 z
|
||||
ng) s (_S1 z
|
||||
k) s (_ s
|
||||
n) s (_$1 z
|
||||
n) s (_S1 z
|
||||
p) s (_ s
|
||||
th) s (_ s
|
||||
t) s (_$1 s
|
||||
te) s (_$1 s
|
||||
&c) s (_$1 s
|
||||
&f) s (_$1 s
|
||||
&k) s (_$1 s
|
||||
&p) s (_$1 s
|
||||
&pe) s (_$1 s
|
||||
&th) s (_$1 s
|
||||
&t) s (_$1 s
|
||||
t) s (_S1 s
|
||||
te) s (_S1 s
|
||||
&c) s (_S1 s
|
||||
&f) s (_S1 s
|
||||
&k) s (_S1 s
|
||||
&p) s (_S1 s
|
||||
&pe) s (_S1 s
|
||||
&th) s (_S1 s
|
||||
&t) s (_S1 s
|
||||
_ha) s (_ z
|
||||
|
||||
.group su
|
||||
@@ -4629,7 +4629,7 @@
|
||||
s) t (l
|
||||
to (morr t@
|
||||
_) to (nn tV
|
||||
@) town (_$4 taUn
|
||||
@) town (_S4 taUn
|
||||
_) tri (A traI
|
||||
_) trie traI
|
||||
_) tri (CA traI
|
||||
@@ -4999,7 +4999,7 @@
|
||||
wh (ol h
|
||||
m) w (ich_
|
||||
B) wing (_ wIN
|
||||
@) wise (_$4 waIz
|
||||
@) wise (_S4 waIz
|
||||
e) with (_ w'ID
|
||||
with (C w%ID
|
||||
with (A w%ID
|
||||
@@ -5144,19 +5144,19 @@
|
||||
E (BCe_ @
|
||||
E (Cia 'i:
|
||||
Ea (_ =i@
|
||||
@@) Ed (_$2vei d
|
||||
&C) Ed (_$2vei d
|
||||
&c) Ed (_$2vei t
|
||||
&d) Ed (_$2vei Id
|
||||
&ch) Ed (_$2vei t
|
||||
&k) Ed (_$2vei t
|
||||
&@@om) Ed (_$2v d
|
||||
&p) Ed (_$2vei t
|
||||
&t) Ed (_$2vei Id
|
||||
ur) Ed (_$1vi d
|
||||
&x) Ed (_$2v t
|
||||
@@) Ed (_S2vei d
|
||||
&C) Ed (_S2vei d
|
||||
&c) Ed (_S2vei t
|
||||
&d) Ed (_S2vei Id
|
||||
&ch) Ed (_S2vei t
|
||||
&k) Ed (_S2vei t
|
||||
&@@om) Ed (_S2v d
|
||||
&p) Ed (_S2vei t
|
||||
&t) Ed (_S2vei Id
|
||||
ur) Ed (_S1vi d
|
||||
&x) Ed (_S2v t
|
||||
y) Ed (_ d
|
||||
Edly (_$4e Idl%I
|
||||
Edly (_S4e Idl%I
|
||||
E (dia_ i:
|
||||
E (dic_ i:
|
||||
nak) E (d I
|
||||
@@ -5200,21 +5200,21 @@
|
||||
Er (C 3
|
||||
Ery (_ @r%I
|
||||
E (x_ E
|
||||
&) Es (_$2e z
|
||||
c) Es (_$2e I2z
|
||||
c) E's (_$3e I2z
|
||||
f) Es (_$2e s
|
||||
g) Es (_$2e I2z
|
||||
ch) Es (_$2e I2z
|
||||
ph) Es (_$2e I2z
|
||||
k) Es (_$2e s
|
||||
p) Es (_$2e s
|
||||
s) Es (_$2e I2z
|
||||
s) E's (_$2e I2z
|
||||
sh) Es (_$2e I2z
|
||||
t) Es (_$2e s
|
||||
x) Es (_$2 I2z
|
||||
Cr) Es (_$2e @z
|
||||
&) Es (_S2e z
|
||||
c) Es (_S2e I2z
|
||||
c) E's (_S3e I2z
|
||||
f) Es (_S2e s
|
||||
g) Es (_S2e I2z
|
||||
ch) Es (_S2e I2z
|
||||
ph) Es (_S2e I2z
|
||||
k) Es (_S2e s
|
||||
p) Es (_S2e s
|
||||
s) Es (_S2e I2z
|
||||
s) E's (_S2e I2z
|
||||
sh) Es (_S2e I2z
|
||||
t) Es (_S2e s
|
||||
x) Es (_S2 I2z
|
||||
Cr) Es (_S2e @z
|
||||
Ese (_ i:z
|
||||
E (sia 'i:
|
||||
Esque 'Esk
|
||||
@@ -5229,25 +5229,25 @@
|
||||
|
||||
|
||||
.group '
|
||||
's (_$2 z
|
||||
f) 's (_$2 s
|
||||
p) 's (_$2 s
|
||||
t) 's (_$2 s
|
||||
k) 's (_$2 s
|
||||
se) 's (_$2 I2z
|
||||
s) 's (_$2 I2z
|
||||
ce) 's (_$2 I2z
|
||||
ch) 's (_$2 I2z
|
||||
och) 's (_$2 s
|
||||
sh) 's (_$2 I2z
|
||||
x) 's (_$2 I2z
|
||||
z) 's (_$2 I2z
|
||||
's (_S2 z
|
||||
f) 's (_S2 s
|
||||
p) 's (_S2 s
|
||||
t) 's (_S2 s
|
||||
k) 's (_S2 s
|
||||
se) 's (_S2 I2z
|
||||
s) 's (_S2 I2z
|
||||
ce) 's (_S2 I2z
|
||||
ch) 's (_S2 I2z
|
||||
och) 's (_S2 s
|
||||
sh) 's (_S2 I2z
|
||||
x) 's (_S2 I2z
|
||||
z) 's (_S2 I2z
|
||||
6_) 's (_ I2z
|
||||
16_) 's (_ z
|
||||
're (_$3 @
|
||||
've (_$3 v
|
||||
'd (_$2 d
|
||||
'll (_$3 @L
|
||||
're (_S3 @
|
||||
've (_S3 v
|
||||
'd (_S2 d
|
||||
'll (_S3 @L
|
||||
|
||||
|
||||
.group 0xce // Greek letters
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
// 2006-11-18 Gilles Casse <gcasse@oralux.org>
|
||||
//
|
||||
// Updated 2008-10-24 Michel Such <michel.such@free.fr>
|
||||
// Updated 2008-11-06 Michel Such <michel.such@free.fr>
|
||||
//
|
||||
// * Numbers, a few abbreviations and exceptions.
|
||||
//
|
||||
@@ -603,6 +603,7 @@ cancer kA~sEr
|
||||
(chef d'oeuvres) chédeuvres $text
|
||||
choeur kWr
|
||||
cocus koky
|
||||
couscous kuskus
|
||||
dernier dE2rnjer2
|
||||
éloquent ElokA~t2
|
||||
fan f'an
|
||||
|
||||
@@ -176,9 +176,9 @@
|
||||
i (A j
|
||||
|
||||
@) i (e_ j
|
||||
&C) i (_N$1q i/
|
||||
&) i (_N$1q i
|
||||
&) i (-N$1q i // don't reduce to [I^] if a hyphen follows
|
||||
&C) i (_NS1q i/
|
||||
&) i (_NS1q i
|
||||
&) i (-NS1q i // don't reduce to [I^] if a hyphen follows
|
||||
ţ) i (-Că i
|
||||
ţ) i (-Ci i
|
||||
|
||||
|
||||
@@ -1,60 +1,62 @@
|
||||
55 phoneme tables
|
||||
57 phoneme tables
|
||||
new total
|
||||
base 100 100
|
||||
base2 24 119
|
||||
en 51 146
|
||||
en_n 31 146
|
||||
en_us 36 147
|
||||
en_sc 39 148
|
||||
en_rp 34 146
|
||||
en_wm 30 146
|
||||
en_wi 30 146
|
||||
af 39 132
|
||||
cy 29 126
|
||||
de 33 127
|
||||
eo 13 112
|
||||
jbo 4 113
|
||||
fi 40 131
|
||||
fr 54 137
|
||||
fr_ca 11 137
|
||||
hi 51 137
|
||||
ta 17 140
|
||||
hu 23 116
|
||||
nl 28 123
|
||||
pl 18 113
|
||||
sk 29 131
|
||||
cs 6 131
|
||||
hr 26 136
|
||||
mk 3 137
|
||||
sr 14 136
|
||||
ru 39 131
|
||||
it 17 122
|
||||
la 21 118
|
||||
es 9 120
|
||||
es_la 1 120
|
||||
pt 28 136
|
||||
pt_pt 20 136
|
||||
ro 36 143
|
||||
el 8 119
|
||||
grc 12 124
|
||||
sv 25 122
|
||||
no 28 126
|
||||
is 33 126
|
||||
vi 42 138
|
||||
zhy 40 133
|
||||
zh 65 150
|
||||
sw 14 109
|
||||
tr 18 124
|
||||
ku 18 124
|
||||
id 15 121
|
||||
rw 15 126
|
||||
ko 18 147
|
||||
da 15 130
|
||||
sq 23 128
|
||||
ml 13 139
|
||||
bn 59 145
|
||||
ne 14 141
|
||||
lv 26 121
|
||||
base 101 101
|
||||
base2 24 120
|
||||
en 51 147
|
||||
en_n 31 147
|
||||
en_us 36 148
|
||||
en_sc 39 149
|
||||
en_rp 34 147
|
||||
en_wm 30 147
|
||||
en_wi 30 147
|
||||
af 39 133
|
||||
cy 29 127
|
||||
de 33 128
|
||||
eo 13 113
|
||||
jbo 4 114
|
||||
fi 40 132
|
||||
fr 54 138
|
||||
fr_ca 11 138
|
||||
hi 52 139
|
||||
ta 17 142
|
||||
hu 23 117
|
||||
nl 28 124
|
||||
pl 18 114
|
||||
sk 29 132
|
||||
cs 6 132
|
||||
hr 26 137
|
||||
mk 3 138
|
||||
sr 14 137
|
||||
ru 39 132
|
||||
it 17 123
|
||||
la 21 119
|
||||
es 9 121
|
||||
es_la 1 121
|
||||
pt 28 137
|
||||
pt_pt 20 137
|
||||
ro 36 144
|
||||
el 8 120
|
||||
grc 12 125
|
||||
sv 25 123
|
||||
no 28 127
|
||||
is 33 127
|
||||
vi 42 139
|
||||
zhy 40 134
|
||||
zh 65 151
|
||||
sw 14 110
|
||||
tr 18 125
|
||||
ku 18 125
|
||||
id 15 122
|
||||
rw 15 127
|
||||
ko 18 149
|
||||
da 15 131
|
||||
sq 23 129
|
||||
ml 13 141
|
||||
bn 59 147
|
||||
ne 23 151
|
||||
lv 28 123
|
||||
hy 16 114
|
||||
om 18 118
|
||||
|
||||
Data file Used by
|
||||
b/b [b] base
|
||||
@@ -579,7 +581,7 @@ r3/r_trill [R2] base
|
||||
[R] sk
|
||||
[r*] sr
|
||||
[x] pt
|
||||
[R] lv
|
||||
[R2] lv
|
||||
r3/r_trill2 [R] base
|
||||
[r] cy
|
||||
[R] hr
|
||||
@@ -593,7 +595,7 @@ r3/r_trill.wav [R2] base
|
||||
[R] sk
|
||||
[r*] sr
|
||||
[x] pt
|
||||
[R] lv
|
||||
[R2] lv
|
||||
r3/r_u [(u)] base
|
||||
r3/rx [*] base
|
||||
[r/] base
|
||||
@@ -607,6 +609,7 @@ r3/rx [*] base
|
||||
[x] pt_pt
|
||||
[*;] ro
|
||||
[r#] is
|
||||
[Q2] hy
|
||||
r3/rz_cs [R^] sk
|
||||
[R^/] sk
|
||||
r3/@tap [**] base
|
||||
@@ -712,6 +715,7 @@ ufric/s_ [s] base
|
||||
[s#] pt
|
||||
[z;] ro
|
||||
[s2] is
|
||||
[s2] lv
|
||||
ufric/s! [s] base
|
||||
[s2] fi
|
||||
[s] fr
|
||||
@@ -719,9 +723,11 @@ ufric/s! [s] base
|
||||
[s] es
|
||||
[s#] pt
|
||||
[s2] is
|
||||
[s2] lv
|
||||
ufric/s_continue [s2] fi
|
||||
[s2] hu
|
||||
[s2] is
|
||||
[s2] lv
|
||||
ufric/sh [S] base
|
||||
[S] fr
|
||||
[s#] pt_pt
|
||||
@@ -762,6 +768,8 @@ ufric/x_hr [x] base
|
||||
[x] hr
|
||||
ufric/x_sr [h] sr
|
||||
[x] sr
|
||||
ufric/xx3 [X] base
|
||||
[Q] hy
|
||||
ustop/c [c] base
|
||||
ustop/k [k] base
|
||||
[k] en
|
||||
@@ -840,6 +848,7 @@ ustop/k_unasp [k] base
|
||||
[k] sq
|
||||
[k] bn
|
||||
[k] lv
|
||||
[k`] om
|
||||
ustop/k_unasp_ [k] zh
|
||||
ustop/null [?] base
|
||||
ustop/p [p] base
|
||||
@@ -853,7 +862,9 @@ ustop/p_ [p] base
|
||||
[ph] hi
|
||||
[ph] zh
|
||||
[ph] bn
|
||||
[ph] hy
|
||||
ustop/p_asp [ph] hi
|
||||
[ph] hy
|
||||
ustop/percus10 [(X1] base
|
||||
ustop/pl [p] base
|
||||
[p] base2
|
||||
@@ -869,6 +880,7 @@ ustop/pl [p] base
|
||||
[p] bn
|
||||
[ph] bn
|
||||
[p] lv
|
||||
[ph] hy
|
||||
ustop/pr [p] base
|
||||
[p] base2
|
||||
[p] fi
|
||||
@@ -880,6 +892,7 @@ ustop/pr [p] base
|
||||
[p;] ro
|
||||
[p] bn
|
||||
[ph] bn
|
||||
[ph] hy
|
||||
ustop/p_unasp [p] base
|
||||
[p] base2
|
||||
[p] fi
|
||||
@@ -894,6 +907,7 @@ ustop/p_unasp [p] base
|
||||
[p] sq
|
||||
[p] bn
|
||||
[p] lv
|
||||
[p`] om
|
||||
ustop/p_unasp_ [p] base2
|
||||
[p] fi
|
||||
[p] hi
|
||||
@@ -941,6 +955,7 @@ ustop/t_dnt [t] base
|
||||
[t] sw
|
||||
[t`] ko
|
||||
[t] bn
|
||||
[t`] om
|
||||
ustop/t_dnt2 [t[] vi
|
||||
ustop/t_hi [t] hi
|
||||
[t] bn
|
||||
@@ -963,6 +978,7 @@ ustop/ts [ts] base2
|
||||
[z] zhy
|
||||
[tsh] zh
|
||||
[ts] lv
|
||||
[ts] hy
|
||||
ustop/tsh [tS] base
|
||||
[c] zhy
|
||||
ustop/tsh_ [tS] base
|
||||
@@ -994,6 +1010,7 @@ ustop/ts_pzd2 [c] hi
|
||||
[c] hu
|
||||
[c`] ko
|
||||
[c] bn
|
||||
[c`] om
|
||||
ustop/ts_pzd3 [tS;] hr
|
||||
[dZ;] hr
|
||||
ustop/t_sr [d] sr
|
||||
@@ -1023,6 +1040,7 @@ vdiph2/ei_4 [eI] en_us
|
||||
vdiph2/eo [eo] ro
|
||||
vdiph2/e[u [e[u] ro
|
||||
vdiph2/i@ [i@] en_n
|
||||
[i@] hy
|
||||
vdiph2/i@_2 [i@] en_wm
|
||||
vdiph2/ie [i@] en_wi
|
||||
[ie] fi
|
||||
@@ -1070,11 +1088,12 @@ vdiph/8u [oU] en_us
|
||||
[ou] zh
|
||||
vdiph/aae [aI] en_us
|
||||
vdiph/aai [aai] zhy
|
||||
[aI] ne
|
||||
[ai] lv
|
||||
vdiph/aai_2 [AI] af
|
||||
[AY] cy
|
||||
vdiph/aai_3 [ai] fi
|
||||
vdiph/aau [au] fi
|
||||
[au] lv
|
||||
vdiph/aau_2 [aU] en_wi
|
||||
[aU] de
|
||||
[VU] nl
|
||||
@@ -1096,7 +1115,7 @@ vdiph/ai [aI] base2
|
||||
[aI] pt
|
||||
[a:I] vi
|
||||
[aI] id
|
||||
[ai] lv
|
||||
[aI] hy
|
||||
vdiph/ai_2 [aI] cy
|
||||
[aY] cy
|
||||
vdiph/ai_3 [aI] no
|
||||
@@ -1129,6 +1148,8 @@ vdiph/eei [EI] base2
|
||||
[EI] de
|
||||
[EI] nl
|
||||
[EI] vi
|
||||
[eI] ne
|
||||
[eI] hy
|
||||
vdiph/eei_2 [eI] eo
|
||||
[ei] fi
|
||||
[eI] id
|
||||
@@ -1160,11 +1181,11 @@ vdiph/eu [eU] base2
|
||||
[eU] sk
|
||||
[eU] pt
|
||||
[eU] vi
|
||||
[eU] ne
|
||||
vdiph/eu_2 [eu] fi
|
||||
vdiph/&i [&i] fi
|
||||
[aI] hi
|
||||
[aI] bn
|
||||
[aI] ne
|
||||
vdiph/@i_2 [eI] af
|
||||
[@I] cy
|
||||
[@Y] cy
|
||||
@@ -1182,6 +1203,7 @@ vdiph/oi [oI] base2
|
||||
[oI] it
|
||||
[OI] la
|
||||
[oI] vi
|
||||
[oI] ne
|
||||
vdiph/oi_2 [oI] af
|
||||
vdiph/ooi [OI] en
|
||||
[OI] en_n
|
||||
@@ -1198,8 +1220,10 @@ vdiph/ooi_3 [OI] en_rp
|
||||
vdiph/ooi_4 [OI] en_us
|
||||
vdiph/oou [oU] cs
|
||||
[OU] grc
|
||||
[au] lv
|
||||
vdiph/ou [ou] fi
|
||||
[ou] zhy
|
||||
[oU] ne
|
||||
vdiph/ou_2 [oU] sk
|
||||
[oU] ro
|
||||
vdiph/ou_3 [oU] is
|
||||
@@ -1214,13 +1238,16 @@ vdiph/ui [uI] base2
|
||||
[ui] fi
|
||||
[uI] vi
|
||||
[ui] zhy
|
||||
[uI] ne
|
||||
[ui] lv
|
||||
vdiph/u-i [yI] vi
|
||||
vdiph/ui_2 [uI] af
|
||||
vdiph/ui_3 [uI] cy
|
||||
[uY] cy
|
||||
vdiph/Vi [@:I] vi
|
||||
[VI] ne
|
||||
vdiph/Vu [@U] af
|
||||
[VU] ne
|
||||
vdiph/Vu_2 [oU] en_wm
|
||||
vdiph/Vu_3 [o:] nl
|
||||
vdiph/Vu_4 [@U] vi
|
||||
@@ -1282,6 +1309,7 @@ vnasal/u_n [u~] hi
|
||||
[u~] bn
|
||||
[u:~] bn
|
||||
[u~] ne
|
||||
vnasal/V_n [V~] ne
|
||||
vnasal/W_n [E~] fr
|
||||
[W~] fr
|
||||
voc/bh [B] base
|
||||
@@ -1298,6 +1326,7 @@ voc/Q_ [Q] base
|
||||
[x2] pt
|
||||
voc/Q_less [Q] nl
|
||||
[x2] pt
|
||||
voc/Q_ulv [Q] hy
|
||||
voc/v [v] base
|
||||
[v] fi
|
||||
[v] fr
|
||||
@@ -1374,6 +1403,7 @@ vowel/@ [@] base
|
||||
[@4] hi
|
||||
[@] ml
|
||||
[@4] bn
|
||||
[@] hy
|
||||
vowel/@- [@-] base
|
||||
[r*] hr
|
||||
vowel/& [a] en_rp
|
||||
@@ -1382,7 +1412,6 @@ vowel/& [a] en_rp
|
||||
[&] sv
|
||||
[&] bn
|
||||
[&:] bn
|
||||
[&:] lv
|
||||
vowel/0 [0] en
|
||||
[O] hi
|
||||
[O] pt
|
||||
@@ -1419,6 +1448,7 @@ vowel/8_2 [U] en_us
|
||||
[8] sv
|
||||
vowel/8_3 [eo] zhy
|
||||
vowel/8_5 [8] ku
|
||||
vowel/8_7 [@] lv
|
||||
vowel/a [a] en_n
|
||||
[aa] en_n
|
||||
[a] en_wm
|
||||
@@ -1444,7 +1474,7 @@ vowel/a# [a/] base2
|
||||
[&/] pt
|
||||
[a#] rw
|
||||
[a/] rw
|
||||
[&] lv
|
||||
[a] om
|
||||
vowel/a_2 [a] base2
|
||||
[a] en_wi
|
||||
[A:] en_wi
|
||||
@@ -1472,6 +1502,7 @@ vowel/a_3 [a] en_sc
|
||||
[a] is
|
||||
[A] zh
|
||||
[A] da
|
||||
[a:] om
|
||||
vowel/a#_3 [a2] en
|
||||
[a2] en_n
|
||||
[a2] en_us
|
||||
@@ -1496,7 +1527,6 @@ vowel/a_5 [a:] ta
|
||||
[a] tr
|
||||
[a] sq
|
||||
[a:] ml
|
||||
[a] lv
|
||||
vowel/a_6 [a] fr
|
||||
[a2] fr
|
||||
vowel/aa [a] fi
|
||||
@@ -1504,6 +1534,9 @@ vowel/aa [a] fi
|
||||
[A] no
|
||||
[A:] no
|
||||
[aa] zhy
|
||||
[a] lv
|
||||
[a:] lv
|
||||
[a] hy
|
||||
vowel/aa# [O] en_us
|
||||
[0] en_wi
|
||||
[a2] fi
|
||||
@@ -1514,7 +1547,6 @@ vowel/aa_2 [A:] en
|
||||
[A] zh
|
||||
vowel/aa_3 [A:] af
|
||||
[A] sq
|
||||
[a:] lv
|
||||
vowel/aa_4 [O:] en_us
|
||||
[A:] sv
|
||||
[O] vi
|
||||
@@ -1535,8 +1567,10 @@ vowel/a_en [a] en
|
||||
[A] fr
|
||||
[a] pl
|
||||
vowel/@_bck [@] hi
|
||||
[@/] hi
|
||||
[@] zh
|
||||
[@] bn
|
||||
[@/] ne
|
||||
vowel/e [e] base2
|
||||
[e:] en
|
||||
[eI] en_n
|
||||
@@ -1580,6 +1614,7 @@ vowel/e_3 [i] en_n
|
||||
[e:] hu
|
||||
[e] ku
|
||||
vowel/e_5 [i] en_sc
|
||||
vowel/e_6 [e] om
|
||||
vowel/e_7 [e] sq
|
||||
vowel/ee [E] en_n
|
||||
[E] sv
|
||||
@@ -1609,6 +1644,8 @@ vowel/ee_3 [&] af
|
||||
vowel/ee_6 [&] sk
|
||||
[E3] sv
|
||||
[E] ku
|
||||
[&] lv
|
||||
[&:] lv
|
||||
vowel/e_mid [E] en_rp
|
||||
[e] jbo
|
||||
[E] fr
|
||||
@@ -1631,6 +1668,7 @@ vowel/e_mid [E] en_rp
|
||||
[E] da
|
||||
[E] bn
|
||||
[e] lv
|
||||
[e] hy
|
||||
vowel/e_mid2 [E] af
|
||||
[E] de
|
||||
[E2] de
|
||||
@@ -1645,6 +1683,7 @@ vowel/e_mid2 [E] af
|
||||
[e] tr
|
||||
[E] ko
|
||||
[e:] lv
|
||||
[E] om
|
||||
vowel/@_fnt [@] en_wi
|
||||
[@2] en_wi
|
||||
[@2] hr
|
||||
@@ -1675,6 +1714,8 @@ vowel/i [i] base2
|
||||
[i] ko
|
||||
[i:] ml
|
||||
[i] ne
|
||||
[i] hy
|
||||
[i:] om
|
||||
vowel/i# [y:] cy
|
||||
vowel/i_2 [i2] de
|
||||
[i:] de
|
||||
@@ -1726,6 +1767,7 @@ vowel/ii [I] en_n
|
||||
[I] is
|
||||
[i] zhy
|
||||
[I] ku
|
||||
[I] om
|
||||
vowel/ii# [Y] cy
|
||||
[Y] ru
|
||||
[I] ku
|
||||
@@ -1777,6 +1819,7 @@ vowel/@_low [3] en_rp
|
||||
[V] bn
|
||||
[@2] bn
|
||||
[V] ne
|
||||
[@/] ne
|
||||
vowel/o [o] base2
|
||||
[o:] en
|
||||
[oU] en_n
|
||||
@@ -1797,6 +1840,7 @@ vowel/o [o] base2
|
||||
[o] ml
|
||||
[o:] ml
|
||||
[o] bn
|
||||
[o] hy
|
||||
vowel/o_2 [o:] cy
|
||||
[o2] fr
|
||||
[o:] hi
|
||||
@@ -1820,6 +1864,7 @@ vowel/oe [W] en
|
||||
[W] af
|
||||
[W] de
|
||||
[W] da
|
||||
[W] hy
|
||||
vowel/oe_2 [W] no
|
||||
[W] tr
|
||||
vowel/oe_4 [W] sv
|
||||
@@ -1829,6 +1874,7 @@ vowel/o_mid [U@] en_rp
|
||||
[o] hu
|
||||
[o] tr
|
||||
[o] ne
|
||||
[o:] om
|
||||
vowel/oo [O:] en_sc
|
||||
[O] en_wi
|
||||
[O:] en_wi
|
||||
@@ -1869,6 +1915,7 @@ vowel/oo_4 [O] base2
|
||||
[O:] hi
|
||||
[O] it
|
||||
[O] bn
|
||||
[O] om
|
||||
vowel/oo_5 [O] pl
|
||||
[O] is
|
||||
[O] sq
|
||||
@@ -1906,6 +1953,7 @@ vowel/u [u:] en_wi
|
||||
[u] ml
|
||||
[u:] ml
|
||||
[u] bn
|
||||
[u:] om
|
||||
vowel/u# [u:] en_sc
|
||||
[Y] tr
|
||||
vowel/u_2 [u1] fi
|
||||
@@ -1951,6 +1999,7 @@ vowel/u_bck [u] base2
|
||||
[u] sq
|
||||
[u:] bn
|
||||
[u] ne
|
||||
[u] hy
|
||||
vowel/u_bck2 [u:] la
|
||||
vowel/u_fnt [u:] en_rp
|
||||
vowel/uu [U] en
|
||||
@@ -1974,8 +2023,10 @@ vowel/uu_bck [U] en_wi
|
||||
[U] no
|
||||
[u] zhy
|
||||
[U] bn
|
||||
[U] om
|
||||
vowel/u_unr [u-] ko
|
||||
vowel/V [3] en_sc
|
||||
[V] ne
|
||||
vowel/V_2 [V] en
|
||||
[a] af
|
||||
[V] ru
|
||||
@@ -1985,7 +2036,6 @@ vowel/V_3 [V] en_rp
|
||||
[V] hi
|
||||
[V] ta
|
||||
[V] bn
|
||||
[V] ne
|
||||
vowel/V_4 [V] en_sc
|
||||
[@:] vi
|
||||
[V] da
|
||||
@@ -2032,6 +2082,9 @@ vowel/yy_4 [y] de
|
||||
[y] hu
|
||||
[y] grc
|
||||
[y] is
|
||||
[y] hy
|
||||
vweak/@ [@#] om
|
||||
vweak/a [a#] om
|
||||
vwl_af/@ [@] af
|
||||
vwl_af/I [I] af
|
||||
vwl_af/r@ [@] af
|
||||
@@ -2087,10 +2140,13 @@ vwl_fr/@R [x] pt_pt
|
||||
vwl_fr/@R2 [R] fr_ca
|
||||
vwl_fr/@R3 [R] fr
|
||||
[r] fr
|
||||
[Q2] hy
|
||||
vwl_fr/@R4 [R] fr
|
||||
[r] fr
|
||||
[r2] fr
|
||||
[Q2] hy
|
||||
vwl_fr/@R5 [r] fr
|
||||
[Q2] hy
|
||||
vwl_fr/r_a [a] fr
|
||||
[a2] fr
|
||||
[wA] fr
|
||||
@@ -2112,6 +2168,7 @@ vwl_no/u#2 [u-:] no
|
||||
vwl_no/y# [Y:] no
|
||||
vwl_no/y#y [Yy] no
|
||||
vwl_ro/ii- [I^] ro
|
||||
[I#] om
|
||||
vwl_ro/li [I^] ro
|
||||
vwl_ro/mi [I^] ru
|
||||
[I^] ro
|
||||
|
||||
@@ -16,6 +16,12 @@ phoneme @
|
||||
reduceto @- 0
|
||||
endphoneme
|
||||
|
||||
phoneme @/
|
||||
vowel starttype (@) endtype (@)
|
||||
length 130
|
||||
formants vowel/@_bck
|
||||
endphoneme
|
||||
|
||||
phoneme V
|
||||
vowel starttype (@) endtype (@)
|
||||
length 130
|
||||
|
||||
@@ -1138,6 +1138,13 @@ phoneme x
|
||||
switchvoicing Q
|
||||
endphoneme
|
||||
|
||||
phoneme X
|
||||
vls uvl frc
|
||||
lengthmod 3
|
||||
wave ufric/xx3
|
||||
before _ ufric/xx3%70
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme h
|
||||
vls glt apr
|
||||
@@ -1325,3 +1332,9 @@ include ph_nepali
|
||||
|
||||
phonemetable lv base
|
||||
include ph_latvian
|
||||
|
||||
phonemetable hy base
|
||||
include ph_armenian_west
|
||||
|
||||
phonemetable om base
|
||||
include ph_oromo
|
||||
|
||||
|
Before Width: | Height: | Size: 100 KiB After Width: | Height: | Size: 100 KiB |
|
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 69 KiB |
@@ -312,6 +312,11 @@ static char nullstring[] = {0};
|
||||
break;
|
||||
|
||||
case 1:
|
||||
if(c == '-')
|
||||
{
|
||||
flag_codes[n_flag_codes++] = BITNUM_FLAG_HYPHENATED;
|
||||
c = ' ';
|
||||
}
|
||||
if(isspace2(c))
|
||||
{
|
||||
p[0] = 0; /* terminate english word */
|
||||
|
||||
@@ -2867,7 +2867,7 @@ const char *Translator::LookupDict2(const char *word, const char *word2, char *p
|
||||
// don't use the contraction if any of the words are emphasized
|
||||
for(ix=0; ix <= skipwords; ix++)
|
||||
{
|
||||
if((wtab != NULL) && (wtab[ix].flags & FLAG_EMPHASIZED))
|
||||
if((wtab != NULL) && (wtab[ix].flags & FLAG_EMPHASIZED2))
|
||||
{
|
||||
condition_failed = 1;
|
||||
}
|
||||
@@ -2935,6 +2935,13 @@ const char *Translator::LookupDict2(const char *word, const char *word2, char *p
|
||||
}
|
||||
}
|
||||
|
||||
if(dictionary_flags2 & FLAG_HYPHENATED)
|
||||
{
|
||||
if(!(word_flags & FLAG_HYPHEN_AFTER))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if(dictionary_flags2 & FLAG_CAPITAL)
|
||||
{
|
||||
if(!(word_flags & FLAG_FIRST_UPPER))
|
||||
@@ -3070,7 +3077,11 @@ int Translator::LookupDictList(char **wordptr, char *ph_out, unsigned int *flags
|
||||
if(length > 0)
|
||||
{
|
||||
// found an abbreviation containing dots
|
||||
nbytes = utf8_nbytes(word2);
|
||||
nbytes = 0;
|
||||
while(((c = word2[nbytes]) != 0) && (c != ' '))
|
||||
{
|
||||
nbytes++;
|
||||
}
|
||||
memcpy(&word[length],word2,nbytes);
|
||||
word[length+nbytes] = 0;
|
||||
found = LookupDict2(word, word2, ph_out, flags, end_flags, wtab);
|
||||
|
||||
@@ -126,7 +126,8 @@ int TestSynthCallback(short *wav, int numsamples, espeak_EVENT *events)
|
||||
|
||||
while((type = events->type) != 0)
|
||||
{
|
||||
fprintf(f_events,"%2d (%4d %4d) %5d %5d (%3d) ",type,events->unique_identifier,(int)events->user_data,events->audio_position,events->text_position,events->length);
|
||||
fprintf(f_events,"%2d (%4d %4ld) %5d %5d (%3d) ",type,events->unique_identifier,(long)events->user_data,events->audio_position,events->text_position,events->length);
|
||||
|
||||
if((type==3) || (type==4))
|
||||
fprintf(f_events,"'%s'\n",events->id.name);
|
||||
else
|
||||
|
||||
@@ -82,6 +82,12 @@ const unsigned short punct_chars[] = {',','.','?','!',':',';',
|
||||
0x3001, // ideograph comma
|
||||
0x3002, // ideograph period
|
||||
|
||||
0x0589, // Armenian period
|
||||
0x055d, // Armenian comma
|
||||
0x055c, // Armenian exclamation
|
||||
0x055e, // Armenian question
|
||||
0x055b, // Armenian emphasis mark
|
||||
|
||||
0xff01, // fullwidth exclamation
|
||||
0xff0c, // fullwidth comma
|
||||
0xff0e, // fullwidth period
|
||||
@@ -106,6 +112,12 @@ static const unsigned int punct_attributes [] = { 0,
|
||||
CLAUSE_COMMA+0x8000, // ideograph comma
|
||||
CLAUSE_PERIOD+0x8000, // ideograph period
|
||||
|
||||
CLAUSE_PERIOD+0x8000, // Armenian period
|
||||
CLAUSE_COMMA, // Armenian comma
|
||||
CLAUSE_EXCLAMATION + PUNCT_IN_WORD, // Armenian exclamation
|
||||
CLAUSE_QUESTION + PUNCT_IN_WORD, // Armenian question
|
||||
CLAUSE_PERIOD + PUNCT_IN_WORD, // Armenian emphasis mark
|
||||
|
||||
CLAUSE_EXCLAMATION+0x8000, // fullwidth
|
||||
CLAUSE_COMMA+0x8000,
|
||||
CLAUSE_PERIOD+0x8000,
|
||||
@@ -1826,8 +1838,8 @@ MNEM_TAB xml_char_mnemonics[] = {
|
||||
{NULL,-1}};
|
||||
|
||||
|
||||
int Translator::ReadClause(FILE *f_in, char *buf, short *charix, int n_buf)
|
||||
{//========================================================================
|
||||
int Translator::ReadClause(FILE *f_in, char *buf, short *charix, int n_buf, int *tone_type)
|
||||
{//========================================================================================
|
||||
/* Find the end of the current clause.
|
||||
Write the clause into buf
|
||||
|
||||
@@ -1855,6 +1867,7 @@ int Translator::ReadClause(FILE *f_in, char *buf, short *charix, int n_buf)
|
||||
int any_alnum = 0;
|
||||
int self_closing;
|
||||
int punct_data;
|
||||
int stressed_word = 0;
|
||||
const char *p;
|
||||
wchar_t xml_buf[N_XML_BUF+1];
|
||||
|
||||
@@ -1872,6 +1885,7 @@ int Translator::ReadClause(FILE *f_in, char *buf, short *charix, int n_buf)
|
||||
clause_upper_count = 0;
|
||||
clause_lower_count = 0;
|
||||
end_of_input = 0;
|
||||
*tone_type = 0;
|
||||
|
||||
f_input = f_in; // for GetC etc
|
||||
|
||||
@@ -2110,25 +2124,35 @@ f_input = f_in; // for GetC etc
|
||||
if(iswalnum(c1))
|
||||
any_alnum = 1;
|
||||
else
|
||||
if(iswspace(c1))
|
||||
{
|
||||
char *p_word;
|
||||
|
||||
if(translator_name == 0x6a626f)
|
||||
if(stressed_word)
|
||||
{
|
||||
// language jbo : lojban
|
||||
// treat "i" or ".i" as end-of-sentence
|
||||
p_word = &buf[ix-1];
|
||||
if(p_word[0] == 'i')
|
||||
stressed_word = 0;
|
||||
c1 = CHAR_EMPHASIS; // indicate this word is strtessed
|
||||
UngetC(c2);
|
||||
c2 = ' ';
|
||||
}
|
||||
|
||||
if(iswspace(c1))
|
||||
{
|
||||
char *p_word;
|
||||
|
||||
if(translator_name == 0x6a626f)
|
||||
{
|
||||
if(p_word[-1] == '.')
|
||||
p_word--;
|
||||
if(p_word[-1] == ' ')
|
||||
// language jbo : lojban
|
||||
// treat "i" or ".i" as end-of-sentence
|
||||
p_word = &buf[ix-1];
|
||||
if(p_word[0] == 'i')
|
||||
{
|
||||
ungot_word = "i ";
|
||||
UngetC(c2);
|
||||
p_word[0] = 0;
|
||||
return(CLAUSE_PERIOD);
|
||||
if(p_word[-1] == '.')
|
||||
p_word--;
|
||||
if(p_word[-1] == ' ')
|
||||
{
|
||||
ungot_word = "i ";
|
||||
UngetC(c2);
|
||||
p_word[0] = 0;
|
||||
return(CLAUSE_PERIOD);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2218,7 +2242,17 @@ if(option_ssml) parag=1;
|
||||
|
||||
if((phoneme_mode==0) && (sayas_mode==0) && ((punct = lookupwchar(punct_chars,c1)) != 0))
|
||||
{
|
||||
if((iswspace(c2) || (punct_attributes[punct] & 0x8000) || IsBracket(c2) || (c2=='?') || (c2=='-') || Eof()))
|
||||
punct_data = punct_attributes[punct];
|
||||
|
||||
if(punct_data & PUNCT_IN_WORD)
|
||||
{
|
||||
// Armenian punctuation inside a word
|
||||
stressed_word = 1;
|
||||
*tone_type = punct_data >> 12 & 0xf; // override the end-of-sentence type
|
||||
continue;
|
||||
}
|
||||
|
||||
if((iswspace(c2) || (punct_data & 0x8000) || IsBracket(c2) || (c2=='?') || (c2=='-') || Eof()))
|
||||
{
|
||||
// note: (c2='?') is for when a smart-quote has been replaced by '?'
|
||||
buf[ix] = ' ';
|
||||
@@ -2295,6 +2329,11 @@ if(option_ssml) parag=1;
|
||||
return(CLAUSE_NONE);
|
||||
}
|
||||
}
|
||||
|
||||
if(stressed_word)
|
||||
{
|
||||
ix += utf8_out(CHAR_EMPHASIS, &buf[ix]);
|
||||
}
|
||||
buf[ix] = ' ';
|
||||
buf[ix+1] = 0;
|
||||
return(CLAUSE_EOF); // end of file
|
||||
|
||||
@@ -542,7 +542,10 @@ void Translator::CalcLengths()
|
||||
if(end_of_clause == 2)
|
||||
{
|
||||
// this is the last syllable in the clause, lengthen it - more for short vowels
|
||||
length_mod = length_mod * (256 + (280 - p->ph->std_length)/3)/256;
|
||||
len = p->ph->std_length;
|
||||
if(langopts.stress_flags & 0x40000)
|
||||
len=200; // don't lengthen short vowels more than long vowels at end-of-clause
|
||||
length_mod = length_mod * (256 + (280 - len)/3)/256;
|
||||
}
|
||||
|
||||
if(p->type != phVOWEL)
|
||||
|
||||
@@ -517,9 +517,9 @@ void MarkerEvent(int type, unsigned int char_position, int value, unsigned char
|
||||
ep->text_position = char_position & 0xffff;
|
||||
ep->length = char_position >> 24;
|
||||
|
||||
time = (double(count_samples + (out_ptr - out_start)/2)*1000.0)/samplerate;
|
||||
time = (double(count_samples + mbrola_delay + (out_ptr - out_start)/2)*1000.0)/samplerate;
|
||||
ep->audio_position = int(time);
|
||||
ep->sample = (count_samples + (out_ptr - out_start)/2);
|
||||
ep->sample = (count_samples + mbrola_delay + (out_ptr - out_start)/2);
|
||||
|
||||
SHOW("MarkerEvent > count_samples=%d, out_ptr=%x, out_start=0x%x\n",count_samples, out_ptr, out_start);
|
||||
SHOW("*** MarkerEvent > type=%s, uid=%d, text_pos=%d, length=%d, audio_position=%d, sample=%d\n",
|
||||
|
||||
@@ -123,6 +123,8 @@ espeak_ERROR LoadMbrolaTable(const char *mbrola_voice, const char *phtrans, int
|
||||
char path[sizeof(path_home)+15];
|
||||
|
||||
mbrola_name[0] = 0;
|
||||
mbrola_delay = 0;
|
||||
|
||||
if(mbrola_voice == NULL)
|
||||
{
|
||||
samplerate = samplerate_native;
|
||||
@@ -193,6 +195,7 @@ espeak_ERROR LoadMbrolaTable(const char *mbrola_voice, const char *phtrans, int
|
||||
else
|
||||
SetParameter(espeakVOICETYPE,1,0);
|
||||
strcpy(mbrola_name,mbrola_voice);
|
||||
mbrola_delay = 3800; // improve synchronization of events
|
||||
return(EE_OK);
|
||||
} // end of LoadMbrolaTable
|
||||
|
||||
@@ -602,6 +605,10 @@ void MbrolaTranslate(PHONEME_LIST *plist, int n_phonemes, FILE *f_mbrola)
|
||||
else
|
||||
len = (80 * speed_factor2)/256;
|
||||
|
||||
#ifdef USE_MBROLA_LIB
|
||||
MbrolaMarker(espeakEVENT_PHONEME, (p->sourceix & 0x7ff) + clause_start_char, 0, ph->mnemonic);
|
||||
#endif
|
||||
|
||||
sprintf(buf,"%s\t",WordToString(name));
|
||||
strcat(mbr_buf,buf);
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
#include "translate.h"
|
||||
#include "wave.h"
|
||||
|
||||
const char *version_string = "1.39.14 02.Nov.08";
|
||||
const char *version_string = "1.39.18 06.Nov.08";
|
||||
const int version_phdata = 0x013900;
|
||||
|
||||
int option_device_number = -1;
|
||||
|
||||
@@ -42,6 +42,7 @@ static void SmoothSpect(void);
|
||||
int n_phoneme_list=0;
|
||||
PHONEME_LIST phoneme_list[N_PHONEME_LIST];
|
||||
|
||||
int mbrola_delay;
|
||||
char mbrola_name[20];
|
||||
|
||||
int speed_factor1;
|
||||
|
||||
@@ -220,6 +220,7 @@ extern int wavefile_amp2;
|
||||
extern int vowel_transition[4];
|
||||
extern int vowel_transition0, vowel_transition1;
|
||||
|
||||
extern int mbrola_delay;
|
||||
extern char mbrola_name[20];
|
||||
|
||||
// from synthdata file
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
// start of unicode pages for character sets
|
||||
#define OFFSET_GREEK 0x380
|
||||
#define OFFSET_CYRILLIC 0x420
|
||||
#define OFFSET_ARMENIAN 0x530
|
||||
#define OFFSET_DEVANAGARI 0x900
|
||||
#define OFFSET_BENGALI 0x980
|
||||
#define OFFSET_TAMIL 0xb80
|
||||
@@ -431,6 +432,22 @@ SetLengthMods(tr,3); // all equal
|
||||
}
|
||||
break;
|
||||
|
||||
case L('h','y'): // Armenian
|
||||
{
|
||||
static const char hy_vowels[] = {0x31, 0x35, 0x37, 0x38, 0x3b, 0x48, 0x55, 0};
|
||||
static const char hy_consonants[] = {0x32,0x33,0x34,0x36,0x39,0x3a,0x3c,0x3d,0x3e,0x3f,
|
||||
0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x56,0};
|
||||
tr = new Translator();
|
||||
tr->langopts.stress_rule = 3; // default stress on final syllable
|
||||
|
||||
tr->letter_bits_offset = OFFSET_ARMENIAN;
|
||||
memset(tr->letter_bits,0,sizeof(tr->letter_bits));
|
||||
SetLetterBits(tr,LETTERGP_A,hy_vowels);
|
||||
SetLetterBits(tr,LETTERGP_C,hy_consonants);
|
||||
tr->langopts.max_initial_consonants = 4;
|
||||
}
|
||||
break;
|
||||
|
||||
case L('i','d'): // Indonesian
|
||||
{
|
||||
static const short stress_lengths_id[8] = {160, 200, 180, 180, 0, 0, 220, 240};
|
||||
@@ -563,8 +580,8 @@ SetLengthMods(tr,3); // all equal
|
||||
tr->langopts.stress_rule = 0;
|
||||
tr->langopts.spelling_stress = 1;
|
||||
tr->charset_a0 = charsets[4]; // ISO-8859-4
|
||||
tr->langopts.numbers = 0x409;
|
||||
tr->langopts.stress_flags = 0x16;
|
||||
tr->langopts.numbers = 0x409 + 0x8000 + 0x10000;
|
||||
tr->langopts.stress_flags = 0x16 + 0x40000;
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
@@ -1179,13 +1179,13 @@ strcpy(phonemes2,phonemes);
|
||||
dictionary_flags[0] &= ~FLAG_PAUSE1;
|
||||
}
|
||||
|
||||
if(wflags & FLAG_EMPHASIZED)
|
||||
if(wflags & FLAG_EMPHASIZED2)
|
||||
{
|
||||
// A word is indicated in the source text as stressed
|
||||
// Give it stress level 6 (for the intonation module)
|
||||
ChangeWordStress(this,word_phonemes,6);
|
||||
|
||||
// if(!(wflags & FLAG_LAST_WORD)) // ?? omit pre-pause if it's the last word in the sentence?
|
||||
if(wflags & FLAG_EMPHASIZED)
|
||||
dictionary_flags[0] |= FLAG_PAUSE1; // precede by short pause
|
||||
}
|
||||
else
|
||||
@@ -2030,6 +2030,7 @@ void *Translator::TranslateClause(FILE *f_text, const void *vp_input, int *tone_
|
||||
|
||||
int terminator;
|
||||
int tone;
|
||||
int tone2;
|
||||
|
||||
p_textinput = (char *)vp_input;
|
||||
p_wchar_input = (wchar_t *)vp_input;
|
||||
@@ -2044,12 +2045,17 @@ void *Translator::TranslateClause(FILE *f_text, const void *vp_input, int *tone_
|
||||
|
||||
for(ix=0; ix<N_TR_SOURCE; ix++)
|
||||
charix[ix] = 0;
|
||||
terminator = translator->ReadClause(f_text,source,charix,N_TR_SOURCE);
|
||||
terminator = translator->ReadClause(f_text, source, charix, N_TR_SOURCE, &tone2);
|
||||
|
||||
charix[N_TR_SOURCE] = count_characters;
|
||||
|
||||
clause_pause = (terminator & 0xfff) * 10; // mS
|
||||
tone = (terminator >> 12) & 0xf;
|
||||
if(tone2 != 0)
|
||||
{
|
||||
// override the tone type
|
||||
tone = tone2;
|
||||
}
|
||||
|
||||
for(p=source; *p != 0; p++)
|
||||
{
|
||||
@@ -2248,6 +2254,13 @@ if((c == '/') && (langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(prev_ou
|
||||
c = '\'';
|
||||
}
|
||||
|
||||
if(c == CHAR_EMPHASIS)
|
||||
{
|
||||
// this character is a marker that the previous word is the focus of the clause
|
||||
c = ' ';
|
||||
word_flags |= FLAG_FOCUS;
|
||||
}
|
||||
|
||||
c = TranslateChar(&source[source_index], prev_in,c, next_in, &char_inserted); // optional language specific function
|
||||
if(c == 8)
|
||||
continue; // ignore this character
|
||||
|
||||
@@ -76,7 +76,8 @@
|
||||
#define FLAG_CAPITAL 0x200 /* pronunciation if initial letter is upper case */
|
||||
#define FLAG_ALLCAPS 0x400 // only if the word is all capitals
|
||||
#define FLAG_ACCENT 0x800 // character name is base-character name + accent name
|
||||
|
||||
#define FLAG_HYPHENATED 0x1000 // multiple-words, but needs hyphen between parts 1 and 2
|
||||
#define BITNUM_FLAG_HYPHENATED 0x2c
|
||||
|
||||
|
||||
// wordflags, flags in source word
|
||||
@@ -86,15 +87,16 @@
|
||||
#define FLAG_HAS_PLURAL 0x4 /* upper-case word with s or 's lower-case ending */
|
||||
#define FLAG_PHONEMES 0x8 /* word is phonemes */
|
||||
#define FLAG_LAST_WORD 0x10 /* last word in clause */
|
||||
//#define FLAG_SPELLING 0x20 // speak the word as individual letters
|
||||
#define FLAG_EMBEDDED 0x40 /* word is preceded by embedded commands */
|
||||
#define FLAG_HYPHEN 0x80
|
||||
#define FLAG_NOSPACE 0x100 // word is not seperated from previous word by a space
|
||||
#define FLAG_FIRST_WORD 0x200 // first word in clause
|
||||
#define FLAG_FOCUS 0x400 // the focus word of a clause
|
||||
#define FLAG_EMPHASIZED 0x800
|
||||
#define FLAG_EMPHASIZED2 0xc00 // FLAG_FOCUS | FLAG_EMPHASIZED
|
||||
#define FLAG_DONT_SWITCH_TRANSLATOR 0x1000
|
||||
#define FLAG_SUFFIX_REMOVED 0x2000
|
||||
#define FLAG_HYPHEN_AFTER 0x4000
|
||||
#define FLAG_EMPHASIZED 0x8000
|
||||
|
||||
#define FLAG_NO_TRACE 0x10000 // passed to TranslateRules() to suppress dictionary lookup printout
|
||||
#define FLAG_NO_PREFIX 0x20000
|
||||
@@ -161,8 +163,10 @@
|
||||
// bits 0-7 pause x 10mS, bits 12-14 intonation type,
|
||||
// bit 19=sentence, bit 18=clause, bits 17=voice change
|
||||
// bit 16 used to distinguish otherwise identical types
|
||||
// bit 20= punctuation character can be inside a word (Armenian)
|
||||
#define CLAUSE_BIT_SENTENCE 0x80000
|
||||
#define CLAUSE_BIT_VOICE 0x20000
|
||||
#define PUNCT_IN_WORD 0x100000
|
||||
|
||||
#define CLAUSE_NONE 0 + 0x04000
|
||||
#define CLAUSE_PARAGRAPH 70 + 0x80000
|
||||
@@ -187,6 +191,8 @@
|
||||
#define SAYAS_DIGITS 0x40 // + number of digits
|
||||
#define SAYAS_DIGITS1 0xc1
|
||||
|
||||
#define CHAR_EMPHASIS 0x0530 // this is an unused character code
|
||||
|
||||
// Rule:
|
||||
// [4] [match] [1 pre] [2 post] [3 phonemes] 0
|
||||
// match 1 pre 2 post 0 - use common phoneme string
|
||||
@@ -306,6 +312,7 @@ typedef struct {
|
||||
// bit15= Give stress to the first unstressed syllable
|
||||
// bit16= Don't diminish consecutive syllables within a word.
|
||||
// bit17= "priority" stress reduces other primary stress to "unstressed" not "secondary"
|
||||
// bit18= don't lengthen short vowels more than long vowels at end-of-clause
|
||||
|
||||
int stress_flags;
|
||||
int unstressed_wd1; // stress for $u word of 1 syllable
|
||||
@@ -435,7 +442,7 @@ private:
|
||||
void MakePhonemeList(int post_pause, int new_sentence);
|
||||
int SubstitutePhonemes(PHONEME_LIST2 *plist_out);
|
||||
|
||||
int ReadClause(FILE *f_in, char *buf, short *charix, int n_buf);
|
||||
int ReadClause(FILE *f_in, char *buf, short *charix, int n_buf, int *tone_type);
|
||||
int AnnouncePunctuation(int c1, int c2, char *buf, int ix);
|
||||
|
||||
const char *LookupDict2(const char *word, const char *word2, char *phonetic, unsigned int *flags, int end_flags, WORD_TAB *wtab);
|
||||
|
||||