mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 05:35:35 +00:00
[1.46.39]
Fixes to speaking characters from foreign alphabets. Allow $textmode and $text to translate between words in different alphabets. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@305 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
+32
-18
@@ -103,7 +103,7 @@ p Q r R s s; t T
|
||||
ts v x z
|
||||
|
||||
|
||||
Dictionary en_dict 2013-02-27
|
||||
Dictionary en_dict 2013-03-01
|
||||
|
||||
0 0# 3 3: @ @- @2 @5
|
||||
@L a a# A: A@ aa aI aI3
|
||||
@@ -190,12 +190,12 @@ N n^ p r R R2 s S
|
||||
t tS ts tS; v x z Z
|
||||
|
||||
|
||||
Dictionary hi_dict 2012-04-12
|
||||
Dictionary hi_dict 2013-03-01
|
||||
|
||||
@ @2 a a: aI aU e E
|
||||
e: E: E~ i I i: l- o
|
||||
O o: O: O~ o~ r- U u:
|
||||
u~ V
|
||||
@ @- @2 a a: aI aU a~
|
||||
e E e: E: E~ i I i:
|
||||
l- o O o: O: O~ o~ r-
|
||||
u U u: u~ V
|
||||
|
||||
#X1 #X2 - : b bh c ch
|
||||
d d. dh dh. f g gh h
|
||||
@@ -378,7 +378,7 @@ S s; S; t t; tS ts tS;
|
||||
ts; v w x z Z Z;
|
||||
|
||||
|
||||
Dictionary pt_dict 2013-02-25
|
||||
Dictionary pt_dict 2013-02-27
|
||||
|
||||
& &/ &U~ &~ @ @- a A
|
||||
aI aU e E eI EI eU EU
|
||||
@@ -539,7 +539,7 @@ n^ p p` r s S t t`
|
||||
tS tS` v w x z Z
|
||||
|
||||
|
||||
Dictionary ml_dict 2011-12-05
|
||||
Dictionary ml_dict 2013-02-28
|
||||
|
||||
@ a a# a: aI aU e E
|
||||
e: i I i: o o: r- u
|
||||
@@ -569,18 +569,18 @@ r r. s S s. t t. th
|
||||
th. v w x z
|
||||
|
||||
|
||||
Dictionary pa_dict 2012-05-04
|
||||
Dictionary pa_dict 2013-03-01
|
||||
|
||||
@ a a~ e E eI e~ E~
|
||||
i I i: i~ I~ o O O~
|
||||
o~ r- u U U~ u~ V V~
|
||||
@ a a~ e E e~ E~ i
|
||||
I i~ I~ o O O~ o~ r-
|
||||
u U U~ u~ V V~
|
||||
|
||||
: ; b bh c ch d d.
|
||||
dh dh. dZ f g gh h H
|
||||
j J Jh k kh l l. m
|
||||
n N n. n^ p ph Q r
|
||||
R R2 s S t t. th th.
|
||||
v w x z
|
||||
dh dh. f g gh h H j
|
||||
J Jh k kh l l. m n
|
||||
N n. n^ p ph Q R R2
|
||||
s S t t. th th. v x
|
||||
z
|
||||
|
||||
|
||||
Dictionary prs_dict 2009-12-01
|
||||
@@ -602,7 +602,7 @@ N n^ p q R s S S;
|
||||
t tS v w x z
|
||||
|
||||
|
||||
Dictionary ur_dict 2013-02-08
|
||||
Dictionary ur_dict 2013-03-01
|
||||
|
||||
@ a a: aI aU e E e:
|
||||
i I i: O o: U u: V
|
||||
@@ -869,3 +869,17 @@ b B d D f g j k
|
||||
l l^ m n n^ p Q r
|
||||
R R2 s S t T t# tS
|
||||
w x
|
||||
|
||||
|
||||
Dictionary bn_dict 2013-02-28
|
||||
|
||||
@ a a: aI a~ e E e:
|
||||
E: E~ i I i: i~ o O
|
||||
o: O: O~ o~ r- u U u:
|
||||
u~ V
|
||||
|
||||
#X1 #X2 : b bh c ch d
|
||||
d. dh dh. g gh h H j
|
||||
J Jh k kh l m n N
|
||||
n. n^ p ph r r. s S
|
||||
s. t t. th th. v w z
|
||||
|
||||
+3
-1
@@ -187,7 +187,7 @@ _‴ trIp@LpraIm
|
||||
_‼ Ekskla#m'eIS@nz
|
||||
_₠ jU@roU
|
||||
|
||||
+ plVs $max3
|
||||
+ plVs
|
||||
# haS $max3
|
||||
@ _at_ $u+
|
||||
& _and $u+
|
||||
@@ -1196,6 +1196,7 @@ convent k0nv@nt
|
||||
converse $1 $only
|
||||
converse $verb
|
||||
convert $1 $noun
|
||||
convict $1
|
||||
convict $2 $verb
|
||||
convolute k0nv@l'u:t
|
||||
coop ku:p
|
||||
@@ -1961,6 +1962,7 @@ mercedes m3:s'eIdi:z
|
||||
//mercenary m3:s@n@rI
|
||||
merest mi@r@st
|
||||
meringue m@raN
|
||||
meson mi:z0n
|
||||
metabolic mEt@b'0lIk
|
||||
metaphor mEt@fO@
|
||||
metastable $alt1
|
||||
|
||||
+8
-6
@@ -1,6 +1,6 @@
|
||||
|
||||
// ***************************************************************************
|
||||
// * Copyright (C) 2005 to 2010 by Jonathan Duddington *
|
||||
// * Copyright (C) 2005 to 2013 by Jonathan Duddington *
|
||||
// * email: jonsd@users.sourceforge.net *
|
||||
// * *
|
||||
// * This program is free software; you can redistribute it and/or modify *
|
||||
@@ -1601,7 +1601,7 @@
|
||||
co (ntrol+ k@
|
||||
conva (l k0nv@
|
||||
_) co (nvenA k@
|
||||
_) co (nvi k0#
|
||||
_) con (vi k%0#n
|
||||
_) co (nvoy k0
|
||||
_) co (nw k0
|
||||
_) copy k0pI
|
||||
@@ -1734,7 +1734,7 @@
|
||||
_) des (k dEs
|
||||
des (ol dEs
|
||||
des (pot dEs
|
||||
_) dess dI2z
|
||||
_) dess (er dI2z
|
||||
desta (b d%i:steI
|
||||
desti dEstI
|
||||
des (ul d%i:s
|
||||
@@ -2547,7 +2547,7 @@
|
||||
v) es (t+ Es
|
||||
harv) es (t Is
|
||||
esti (m EstI#
|
||||
es (ty @s
|
||||
&) es (ty @s
|
||||
|
||||
.group et
|
||||
_) et (on i:t
|
||||
@@ -2994,6 +2994,7 @@
|
||||
iah (_ 'aI@
|
||||
ia (m i@
|
||||
&) ia (n i@
|
||||
@) ia (nd I'a
|
||||
@) ia (nic I'a
|
||||
@) ia (nit I'a
|
||||
@) ia (na_ i:'a
|
||||
@@ -3394,8 +3395,8 @@
|
||||
iority I'0rI2t%I
|
||||
iou (rA j@
|
||||
iour (K j3
|
||||
@) ious (_ =I2@s
|
||||
g) ious (_ =@s
|
||||
@) ious =I2@s
|
||||
g) ious =@s
|
||||
ioux u:
|
||||
_r) io (t aI@
|
||||
io (t_ I|@
|
||||
@@ -5881,6 +5882,7 @@
|
||||
&d) Ed (_S2vei I#d
|
||||
&ch) Ed (_S2vei t
|
||||
&k) Ed (_S2vei t
|
||||
ril) Ed (_S2 d
|
||||
&@@om) Ed (_S2v d
|
||||
&p) Ed (_S2vei t
|
||||
&t) Ed (_S2vei I#d
|
||||
|
||||
+34
-34
@@ -2,12 +2,12 @@
|
||||
|
||||
// Numbers
|
||||
// devanagari numbers are changed to latin characters before translation
|
||||
_0 S'u:n.jV
|
||||
_0 s'u:n.jV
|
||||
_1 'e:k
|
||||
_2 d'o:
|
||||
_3 t'i:n
|
||||
_4 c'a:r:
|
||||
_5 p'a:nc
|
||||
_4 c:'a:r:
|
||||
_5 'pa~c
|
||||
_6 ch'@2
|
||||
_7 s'a:t
|
||||
_8 'a:th.
|
||||
@@ -15,30 +15,30 @@ _9 n'O:
|
||||
?3 _9 n'aU
|
||||
|
||||
_10 d'Vs
|
||||
_11 gj'a:r@2
|
||||
_12 b'a:r@2
|
||||
_13 t'E:r@2
|
||||
_14 ch'O:d@2
|
||||
_15 p'Vndr@2
|
||||
_16 s'o:l@2
|
||||
_17 s'Vt:r@2
|
||||
_18 Vth.:'a:r@2
|
||||
_11 gj'a:r-ah
|
||||
_12 b'a:rah
|
||||
_13 t'e:r@2h
|
||||
_14 ch'O:d@2h
|
||||
_15 p'Vndr@2h
|
||||
_16 s'o:l@2h
|
||||
_17 sVtr@2h
|
||||
_18 a:th:arah
|
||||
_19 Unn'Is
|
||||
|
||||
_20 b'i:s
|
||||
_21 Ik:'Is
|
||||
_22 b'a:Is
|
||||
_23 t'e:Is
|
||||
_23 t'ue:Is
|
||||
_24 c'O:bIs
|
||||
_25 p@c:'Is
|
||||
_26 ch@bb'i:rs
|
||||
_27 s@t:'a:Is
|
||||
_28 ath:'a:Is
|
||||
_29 Unt'Is
|
||||
_29 ,Unt'Is
|
||||
_30 t'i:s
|
||||
|
||||
_31 Ik@t:'Is
|
||||
_32 bat:'Is
|
||||
_32 b'at:'I'S
|
||||
_33 tE~t'Is // E~ ?
|
||||
_34 cO~t'Is
|
||||
_35 pE~t'Is
|
||||
@@ -65,16 +65,16 @@ _53 t'IrpVn
|
||||
_54 c'Ou:wVn
|
||||
_55 p'achpVn
|
||||
_56 chh@p:'Vn
|
||||
_57 sVt:'a:w@n
|
||||
_58 ath:'a:w@n
|
||||
_57 santa:'w@n
|
||||
_58 ath:a:'w@n
|
||||
_59 Uns'Vth
|
||||
|
||||
_60 s'a:th.
|
||||
_61 'Iks@th.
|
||||
_62 b'a:s@th.
|
||||
_63 t'Irs@th.
|
||||
_64 c'O~s@th.
|
||||
_65 paIns@th.
|
||||
_64 cO:'s@th.
|
||||
_65 paI's@th.
|
||||
_66 ch'Ija:s@th.
|
||||
_67 s'Vrs@th.
|
||||
_68 ars@th.
|
||||
@@ -92,15 +92,15 @@ _78 athhat:'Vr:
|
||||
_79 ,Un^Ia:s'i:
|
||||
|
||||
_80 ,Vss'i:
|
||||
_81 Ikja:s'i:
|
||||
_82 baIa:s'i:
|
||||
_83 tIra:s'i:
|
||||
_84 cO:ra:s'i:
|
||||
_85 pI'ca:s'i:
|
||||
_86 chIja:s'i:
|
||||
_87 sVt:a:s'i:
|
||||
_88 ath:a:s'i:
|
||||
_89 nVwa:s'i:
|
||||
_81 Ikja:s'i
|
||||
_82 baIa:s'i
|
||||
_83 tIra:s'i
|
||||
_84 cO:ra:s'i
|
||||
_85 pI'ca:s'i
|
||||
_86 chIja:s'i
|
||||
_87 sVt:a:s'i
|
||||
_88 ath:a:s'i
|
||||
_89 nVwa:s'i
|
||||
|
||||
_90 nVb:'e:
|
||||
_91 Ikj'a:n@we:
|
||||
@@ -114,9 +114,9 @@ _98 ath:'a:n@we:
|
||||
_99 nIn^j'a:n@we:
|
||||
|
||||
_0C s'O:
|
||||
_0M1 h@z'a:r
|
||||
_0M1 h@J,a:r
|
||||
_0M2 l'a:kh
|
||||
_0M3 cr'ore
|
||||
_0M3 k@ro:r.V
|
||||
_0M4 'Vr@b
|
||||
_0M5 kh'Vr@b
|
||||
_dpt _d@s@ml'o:_ // ?? what is Hi for "." ?
|
||||
@@ -162,7 +162,7 @@ _dpt _d@s@ml'o:_ // ?? what is Hi for "." ?
|
||||
श S@
|
||||
ष s.@ // retroflex [S]
|
||||
स s@
|
||||
ह H@
|
||||
ह H@-
|
||||
क़ q@
|
||||
ख़ x@
|
||||
ग़ Q@
|
||||
@@ -199,14 +199,14 @@ _dpt _d@s@ml'o:_ // ?? what is Hi for "." ?
|
||||
। dVn.d.V
|
||||
|
||||
// Pronouns
|
||||
मैं $u // main: I
|
||||
मैं $u // main: IrI
|
||||
मुझे $u
|
||||
मेरा $u
|
||||
मेरी $u
|
||||
मेरे $u
|
||||
|
||||
हम $u // we
|
||||
हमें $u
|
||||
हमे $u
|
||||
हमारा $u
|
||||
हमारी $u
|
||||
हमारे $u
|
||||
@@ -234,7 +234,7 @@ _dpt _d@s@ml'o:_ // ?? what is Hi for "." ?
|
||||
इसका $u
|
||||
|
||||
ये $u // they
|
||||
इन्हें $u
|
||||
इन्हें $u
|
||||
इनका $u
|
||||
|
||||
वह $u // he/she/it
|
||||
@@ -246,7 +246,7 @@ _dpt _d@s@ml'o:_ // ?? what is Hi for "." ?
|
||||
|
||||
वे $u // they
|
||||
वो $u
|
||||
उन्हें $u // unheṃ: them
|
||||
उन्हे $u // unheṃ: them
|
||||
उनका $u
|
||||
उनकी $u
|
||||
उनके $u
|
||||
|
||||
+218
-218
@@ -1,5 +1,5 @@
|
||||
|
||||
// This file is UTF8 encoded
|
||||
// This file is UTF8 encoded
|
||||
|
||||
// letter groups:
|
||||
// A vowel letters and vowel signs
|
||||
@@ -28,423 +28,423 @@
|
||||
// Vowels
|
||||
|
||||
.group अ
|
||||
अ V
|
||||
अ (ह E // (h
|
||||
अह) अ E
|
||||
अ V
|
||||
अ (ह E // (h
|
||||
अह) अ E
|
||||
|
||||
.group आ
|
||||
आ a:
|
||||
आ a:
|
||||
|
||||
.group इ
|
||||
इ I
|
||||
इ I
|
||||
// इँ i~
|
||||
// इं i~
|
||||
|
||||
.group ई
|
||||
ई i:
|
||||
ई (_ i
|
||||
ई i:
|
||||
ई (_ i
|
||||
|
||||
.group उ
|
||||
उ U
|
||||
उ U
|
||||
|
||||
.group ऊ
|
||||
ऊ u:
|
||||
ऊं u~ // + anusvara
|
||||
ऊँ u~ // + candrabinbu
|
||||
ऊ u
|
||||
ऊं u~ // + anusvara
|
||||
ऊँ u~ // + candrabinbu
|
||||
|
||||
.group ऋ
|
||||
ऋ rI
|
||||
ऋ rI
|
||||
|
||||
.group ऌ
|
||||
ऌ l- // vocalic l
|
||||
ऌ l- // vocalic l
|
||||
|
||||
.group ऍ
|
||||
ऍ E // candra e
|
||||
ऍ E // candra e
|
||||
|
||||
.group ऎ
|
||||
ऎ e
|
||||
ऎ e
|
||||
|
||||
.group ए
|
||||
ए e:
|
||||
ए e:
|
||||
|
||||
.group ऐ
|
||||
ऐ E: // ?? [aI] [E:] [&:]
|
||||
ऐं E~
|
||||
ऐँ E~
|
||||
?2 ऐ aI // ?? [aI] [E:] [&:]
|
||||
ऐ E: // ?? [aI] [E:] [&:]
|
||||
ऐं E~
|
||||
ऐँ E~
|
||||
?2 ऐ aI // ?? [aI] [E:] [&:]
|
||||
|
||||
|
||||
.group ऑ
|
||||
ऑ O // candra O
|
||||
ऑ O // candra O
|
||||
|
||||
.group ऒ
|
||||
ऒ o
|
||||
ऒ o
|
||||
|
||||
.group ओ
|
||||
ओ o:
|
||||
ओं o~ // +anusvara
|
||||
ओँ o~ // +candrabindu
|
||||
ओ o:
|
||||
ओं o~ // +anusvara
|
||||
ओँ o~ // +candrabindu
|
||||
|
||||
.group औ
|
||||
औ O: // ?? [aU] [O:]
|
||||
औं O~ // +anusvara
|
||||
औँ O~ // +candrabindu
|
||||
?3 औ aU // ?? [aU] [O:]
|
||||
औ O: // ?? [aU] [O:]
|
||||
औं O~ // +anusvara
|
||||
औँ O~ // +candrabindu
|
||||
?3 औ aU // ?? [aU] [O:]
|
||||
|
||||
|
||||
// Vowel Signs
|
||||
|
||||
.group ा
|
||||
ा a:
|
||||
ाव aU
|
||||
ाव aU
|
||||
|
||||
.group ि
|
||||
ि I
|
||||
ि I
|
||||
// िँ i~
|
||||
// िं i~
|
||||
|
||||
.group ी
|
||||
ी i:
|
||||
ी (_ i
|
||||
ी i:
|
||||
ी (_ i
|
||||
|
||||
.group ु
|
||||
ु U
|
||||
ु u
|
||||
|
||||
.group ू
|
||||
ू u:
|
||||
ूं u~ // or O~ ??
|
||||
ूँ u~
|
||||
ू u:
|
||||
ूं u~ // or O~ ??
|
||||
ूँ u~
|
||||
|
||||
.group ृ
|
||||
ृ rI
|
||||
ृ rI
|
||||
|
||||
.group ॄ
|
||||
ॄ rI
|
||||
ॄ rI
|
||||
|
||||
.group ॅ
|
||||
ॅ E
|
||||
ॅ E
|
||||
|
||||
.group ॆ
|
||||
ॆ e
|
||||
ॆ e
|
||||
|
||||
.group े
|
||||
े e:
|
||||
े e:
|
||||
|
||||
.group ै
|
||||
ै E: // ?? [aI] [E:] [&:]
|
||||
ैं E~
|
||||
ैँ E~
|
||||
?2 ै aI // ?? [aI] [E:] [&:]
|
||||
ै E: // ?? [aI] [E:] [&:]
|
||||
ैं E~
|
||||
ैँ E~
|
||||
?2 ै aI // ?? [aI] [E:] [&:]
|
||||
|
||||
.group ॉ
|
||||
ॉ O
|
||||
ॉ O
|
||||
|
||||
.group ॊ
|
||||
ॊ o
|
||||
ॊ o
|
||||
|
||||
.group ो
|
||||
ो o:
|
||||
ों o~
|
||||
ोँ o~
|
||||
ो o:
|
||||
ों o~
|
||||
ोँ o~
|
||||
|
||||
.group ौ
|
||||
ौ O: // [O:] or [aU] ??
|
||||
ौं O~
|
||||
ौँ O~
|
||||
?3 ौ aU // [O:] or [aU] ??
|
||||
ौ O: // [O:] or [aU] ??
|
||||
ौं O~
|
||||
ौँ O~
|
||||
?3 ौ aU // [O:] or [aU] ??
|
||||
|
||||
.group ॢ // vowel sign l
|
||||
ॢ l-
|
||||
ॢ l-
|
||||
|
||||
.group ॣ // vowel sign ll
|
||||
ॣ l-:
|
||||
ॣ l-:
|
||||
|
||||
.group ॐ
|
||||
ॐ o~m
|
||||
ॐ o~m
|
||||
|
||||
// Consonants
|
||||
|
||||
.group क
|
||||
क kV
|
||||
क (B k
|
||||
क (्य k:
|
||||
क़ qV
|
||||
क़ (B q
|
||||
क kV
|
||||
क (B k
|
||||
क (्य k:
|
||||
क़ qV
|
||||
क़ (B q
|
||||
|
||||
.group ख
|
||||
ख khV
|
||||
ख (B kh
|
||||
ख़ xV
|
||||
ख़ (B x
|
||||
ख khV
|
||||
ख (B kh
|
||||
ख़ xV
|
||||
ख़ (B x
|
||||
|
||||
.group ग
|
||||
ग gV
|
||||
ग (B g
|
||||
ग़ QV
|
||||
ग़ (B Q
|
||||
ग gV
|
||||
ग (B g
|
||||
ग़ QV
|
||||
ग़ (B Q
|
||||
|
||||
.group घ
|
||||
घ ghV
|
||||
घ (B gh
|
||||
घ ghV
|
||||
घ (B gh
|
||||
|
||||
.group ङ
|
||||
ङ NV
|
||||
ङ (B N
|
||||
्) ङ (_ N@
|
||||
ङ NV
|
||||
ङ (B N
|
||||
्) ङ (_ N@
|
||||
|
||||
.group च
|
||||
च cV
|
||||
च (B c
|
||||
च (्य c:
|
||||
च cV
|
||||
च (B c
|
||||
च (्य c:
|
||||
|
||||
.group छ
|
||||
छ chV
|
||||
छ (B ch
|
||||
छ chV
|
||||
छ (B ch
|
||||
|
||||
.group ज
|
||||
ज JV
|
||||
ज (B J
|
||||
ज़ zV
|
||||
ज़ (B z
|
||||
ज JV
|
||||
ज (B J
|
||||
ज़ zV
|
||||
ज़ (B z
|
||||
|
||||
.group झ
|
||||
झ JhV
|
||||
झ (B Jh
|
||||
झ JhV
|
||||
झ (B Jh
|
||||
|
||||
.group ञ
|
||||
ञ n^V
|
||||
ञ (B n^
|
||||
्) ञ (_ n^
|
||||
ञ n^V
|
||||
ञ (B n^
|
||||
्) ञ (_ n^
|
||||
|
||||
.group ट
|
||||
ट t.V
|
||||
ट (B t.
|
||||
ट (्य t.:
|
||||
ट t.V
|
||||
ट (B t.
|
||||
ट (्य t.:
|
||||
|
||||
.group ठ
|
||||
ठ th.V
|
||||
ठ (B th.
|
||||
ठ th.V
|
||||
ठ (B th.
|
||||
|
||||
.group ड
|
||||
ड d.V
|
||||
ड (B d.
|
||||
ड d.V
|
||||
ड (B d.
|
||||
|
||||
ड़ r.V
|
||||
ड़ (B r.
|
||||
ड़ r.V
|
||||
ड़ (B r.
|
||||
|
||||
.group ढ
|
||||
ढ dh.V
|
||||
ढ (B dh.
|
||||
ढ़ r.hV // nukta (should retroflex flap)
|
||||
ढ़ (B r.h // nukta
|
||||
ढ dh.V
|
||||
ढ (B dh.
|
||||
ढ़ r.hV // nukta (should retroflex flap)
|
||||
ढ़ (B r.h // nukta
|
||||
|
||||
.group ण
|
||||
ण n.V // (temporary) same as dental [n]
|
||||
ण (B n.
|
||||
्) ण (_ n.@
|
||||
ण n.V // (temporary) same as dental [n]
|
||||
ण (B n.
|
||||
्) ण (_ n.@
|
||||
|
||||
.group त
|
||||
त tV
|
||||
त (B t
|
||||
त (्य t:
|
||||
त tV
|
||||
त (B t
|
||||
त (्य t:
|
||||
|
||||
.group थ
|
||||
थ thV
|
||||
थ (B th
|
||||
थ thV
|
||||
थ (B th
|
||||
|
||||
.group द
|
||||
द dV
|
||||
द (B d
|
||||
द dV
|
||||
द (B d
|
||||
|
||||
.group ध
|
||||
ध dhV
|
||||
ध (B dh
|
||||
ध dhV
|
||||
ध (B dh
|
||||
|
||||
.group न
|
||||
न nV
|
||||
न (B n
|
||||
्) न (_ n@
|
||||
र्) न (_ n // r +virama
|
||||
न nV
|
||||
न (B n
|
||||
्) न (_ n@
|
||||
र्) न (_ n // r +virama
|
||||
|
||||
|
||||
.group ऩ
|
||||
ऩ n: // should this be a long [n] ?
|
||||
ऩ n: // should this be a long [n] ?
|
||||
|
||||
.group प
|
||||
प pV
|
||||
प (B p
|
||||
प (्य p:
|
||||
प pV
|
||||
प (B p
|
||||
प (्य p:
|
||||
|
||||
.group फ
|
||||
फ phV
|
||||
फ (B ph
|
||||
फ़ fV
|
||||
फ़ (B f
|
||||
फ phV
|
||||
फ (B ph
|
||||
फ़ fV
|
||||
फ़ (B f
|
||||
|
||||
.group ब
|
||||
ब bV
|
||||
ब (B b
|
||||
ब bV
|
||||
ब (B b
|
||||
|
||||
.group भ
|
||||
भ bhV
|
||||
भ (B bh
|
||||
भ bhV
|
||||
भ (B bh
|
||||
|
||||
.group म
|
||||
म mV
|
||||
म (B m
|
||||
्) म (_ m@
|
||||
र्) म (_ m // r +virama
|
||||
न्) म (_ m // n +virama
|
||||
म mV
|
||||
म (B m
|
||||
्) म (_ m@
|
||||
र्) म (_ m // r +virama
|
||||
न्) म (_ m // n +virama
|
||||
|
||||
.group य
|
||||
य jV
|
||||
य (B j
|
||||
्) य (_ j@
|
||||
य j@
|
||||
य (B j
|
||||
्) य (_ j@
|
||||
|
||||
.group र
|
||||
र rV
|
||||
र (B r
|
||||
्) र (_ r@
|
||||
र rV
|
||||
र (B r
|
||||
्) र (_ r@
|
||||
|
||||
.group ऱ // rra
|
||||
ऱ rV // (temporary) same as [r]
|
||||
ऱ (B r
|
||||
्) ऱ (_ r@
|
||||
ऱ rV // (temporary) same as [r]
|
||||
ऱ (B r
|
||||
्) ऱ (_ r@
|
||||
|
||||
.group ल
|
||||
ल lV
|
||||
ल (B l
|
||||
्) ल (_ l@
|
||||
ल lV
|
||||
ल (B l
|
||||
्) ल (_ l@
|
||||
|
||||
.group ळ
|
||||
ळ l.V
|
||||
ळ (B l.
|
||||
्) ळ (_ l.@
|
||||
ळ l.V
|
||||
ळ (B l.
|
||||
्) ळ (_ l.@
|
||||
|
||||
.group ऴ
|
||||
ऴ l.V // (temporary) same as [l.]
|
||||
ऴ (B l.
|
||||
्) ऴ (_ l.@
|
||||
ऴ l.V // (temporary) same as [l.]
|
||||
ऴ (B l.
|
||||
्) ऴ (_ l.@
|
||||
|
||||
.group व
|
||||
व vV
|
||||
व (B v
|
||||
_) व wV
|
||||
_) व (B w
|
||||
_) व (् v // +virma
|
||||
व vV
|
||||
व (B v
|
||||
_) व wV
|
||||
_) व (B w
|
||||
_) व (् v // +virma
|
||||
|
||||
.group श
|
||||
श SV
|
||||
श (B S
|
||||
श SV
|
||||
श (B S
|
||||
|
||||
.group ष
|
||||
ष s.V //?? or retroflex [S]
|
||||
ष (B s. //??
|
||||
ष s.V //?? or retroflex [S]
|
||||
ष (B s. //??
|
||||
|
||||
.group स
|
||||
स sV
|
||||
स (B s
|
||||
स sV
|
||||
स (B s
|
||||
|
||||
.group ह
|
||||
ह HV
|
||||
ह (B H
|
||||
ह H
|
||||
ह (B H
|
||||
|
||||
|
||||
// nukta, modifies a consonant
|
||||
|
||||
.group ऽ // avagraha, lengthens a vowel ??
|
||||
ऽ :
|
||||
ऽ :
|
||||
|
||||
.group ँ
|
||||
ँ n // candrabindu
|
||||
ँ n // candrabindu
|
||||
|
||||
.group ं
|
||||
ं n // anusvara
|
||||
ं (प m
|
||||
ं (फ m
|
||||
ं (ब m
|
||||
ं (भ m
|
||||
ं (म m
|
||||
.group ं
|
||||
ं n // anusvara
|
||||
ं (प m
|
||||
ं (फ m
|
||||
ं (ब m
|
||||
ं (भ m
|
||||
ं (म m
|
||||
|
||||
ं (ट n.
|
||||
ं (ठ n.
|
||||
ं (ड n.
|
||||
ं (ढ n.
|
||||
ं (ण n.
|
||||
ं (ट n.
|
||||
ं (ठ n.
|
||||
ं (ड n.
|
||||
ं (ढ n.
|
||||
ं (ण n.
|
||||
|
||||
ं (च n^
|
||||
ं (छ n^
|
||||
ं (ज n^
|
||||
ं (झ n^
|
||||
ं (ञ n^
|
||||
ं (य n^
|
||||
ं (च n^
|
||||
ं (छ n^
|
||||
ं (ज n^
|
||||
ं (झ n^
|
||||
ं (ञ n^
|
||||
ं (य n^
|
||||
|
||||
ं (क N
|
||||
ं (ख N
|
||||
ं (ग N
|
||||
ं (घ N
|
||||
ं (ङ N
|
||||
ं (ह N
|
||||
ं (क N
|
||||
ं (ख N
|
||||
ं (ग N
|
||||
ं (घ N
|
||||
ं (ङ N
|
||||
|
||||
|
||||
.group ः
|
||||
ः H // visarga
|
||||
ः H // visarga
|
||||
|
||||
.group ् // virama
|
||||
्
|
||||
्
|
||||
|
||||
// Extra consonants
|
||||
|
||||
.group क़ // qa
|
||||
क़ qV
|
||||
क़ (B q
|
||||
क़ qV
|
||||
क़ (B q
|
||||
|
||||
.group ख़ // khha
|
||||
ख़ xV
|
||||
ख़ (B x
|
||||
ख़ xV
|
||||
ख़ (B x
|
||||
|
||||
.group ग़ // ghha
|
||||
ग़ QV
|
||||
ग़ (B Q
|
||||
ग़ QV
|
||||
ग़ (B Q
|
||||
|
||||
.group ज़ // za
|
||||
ज़ zV
|
||||
ज़ (B z
|
||||
ज़ zV
|
||||
ज़ (B z
|
||||
|
||||
.group ड़ // dddha (should retroflex flap)
|
||||
ड़ r.V
|
||||
ड़ (B r.
|
||||
ड़ r.V
|
||||
ड़ (B r.
|
||||
|
||||
.group ढ़ // rha (aspirated version of dddha)
|
||||
ढ़ r.hV
|
||||
ढ़ (B r.h
|
||||
ढ़ r.hV
|
||||
ढ़ (B r.h
|
||||
|
||||
.group फ़ // fa
|
||||
फ़ fV
|
||||
फ़ (B f
|
||||
फ़ fV
|
||||
फ़ (B f
|
||||
|
||||
.group य़ // yya
|
||||
य़ jV
|
||||
य़ (B j
|
||||
य़ jV
|
||||
य़ (B j
|
||||
|
||||
.group ॠ // rr
|
||||
ॠ V-rr
|
||||
ॠ V-rr
|
||||
|
||||
.group ॡ // ll
|
||||
ॡ l-: // long syllabic l
|
||||
ॡ l-: // long syllabic l
|
||||
|
||||
|
||||
// If we find a Latin letter a-z, then translate as English
|
||||
// (This is now done automatically by the eSpeak program)
|
||||
|
||||
.group o
|
||||
o _^_EN
|
||||
D__) of (__D me
|
||||
o _^_EN
|
||||
D__) of (__D me
|
||||
|
||||
|
||||
|
||||
|
||||
.group
|
||||
$ dOlV
|
||||
% pVsEnt
|
||||
$ dOlV
|
||||
% pVsEnt
|
||||
|
||||
|
||||
|
||||
+50
-18
@@ -87,33 +87,65 @@ _! a:S;c@rjacihn@m
|
||||
// numbers
|
||||
_0 p'u:Jj@m
|
||||
_1 'onny
|
||||
_2 r'an.t.y
|
||||
_3 m'unny
|
||||
_2 r@n.d#y
|
||||
_3 m'u:nny
|
||||
_4 n'a:ly
|
||||
_5 'an^cy
|
||||
_6 'aR2y
|
||||
_6 'a:R2y
|
||||
_7 'e:r.y
|
||||
_8 'et.t.y
|
||||
_9 'onpaty
|
||||
_1X p'ati
|
||||
_10 p'atty
|
||||
_1X p'ati
|
||||
|
||||
_11 p'atinonny
|
||||
_12 p'antran.t.y
|
||||
_15 p'atinan^cy
|
||||
_16 p'atinaR2y
|
||||
_17 p'atine:R2y
|
||||
_18 p'atine:t.t.y
|
||||
_19 p'attompatu
|
||||
_2X 'irupat
|
||||
_3X m'uppat
|
||||
_4X n'a:lppat
|
||||
_5X 'anpat
|
||||
_6X 'aR2upat
|
||||
_7X 'er.upat
|
||||
_8X 'en.pat
|
||||
_9X t'on.n.u:R2
|
||||
_20 'irup'aty
|
||||
_2X 'irupatti
|
||||
_30 m'uppaty
|
||||
_3X m'uppatti':
|
||||
_40 n'a:lppaty
|
||||
_4X n'a:lppatti
|
||||
_50 'anpaty
|
||||
_5X 'anpatti
|
||||
_60 'aR2upaty
|
||||
_6X 'aR2upatti
|
||||
_70 'er.'upaty
|
||||
_7X 'er.'upatti
|
||||
_80 'en.paty
|
||||
_8X 'en.patti
|
||||
_90 t'on.n.u:r:
|
||||
_9X t'on.n.u:t.t.i
|
||||
|
||||
_0C n'u:R
|
||||
_0M1 'a:jiRam
|
||||
_0M2 l'aks.am
|
||||
_1C0 n'u:r:
|
||||
_1C n'u:t.t.i
|
||||
_2C0 irunn'u:r
|
||||
_2C irunn'u:t.t.i
|
||||
_3C0 munn'u:r
|
||||
_3C munn'u:t.t.i
|
||||
_4C0 na:nnu:r
|
||||
_4C na:nnu:t.t.i
|
||||
_5C0 'an^cu:r
|
||||
_5C 'an^cu:t.t.i
|
||||
_6C0 aR2unu:r
|
||||
_6C aR2unu:t.t.i
|
||||
_7C0 'er.'unu:r
|
||||
_7C 'er.'unu:t.t.i
|
||||
_8C0 'en.n.u:r
|
||||
_8C 'en.n.u:t.t.i
|
||||
_9C0 tol.l.'a:jiRam
|
||||
_9C tol.l.'a:jiRatti
|
||||
|
||||
_0M1x 'a:jiRam
|
||||
_0M1 'a:jiRat.t.i
|
||||
_0M2x l'aks.am
|
||||
_0M2 l'aks.at.t.i
|
||||
_0M3 k'o:t.i
|
||||
|
||||
_dpt _d'aS;a:mS;@m_
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+126
-125
@@ -1,5 +1,5 @@
|
||||
|
||||
// This file is UTF8 encoded
|
||||
// This file is UTF8 encoded
|
||||
// Spelling to phoneme rules for Malayalam
|
||||
|
||||
// A means vowel letters (not vowel signs)
|
||||
@@ -17,266 +17,267 @@
|
||||
൭ 7
|
||||
൮ 8
|
||||
൯ 9
|
||||
ോ ോ
|
||||
ോ ോ
|
||||
ൊ ൊ
|
||||
ൌ ൌ
|
||||
|
||||
|
||||
|
||||
.group ക
|
||||
ക ka
|
||||
ക (B k
|
||||
ക ka
|
||||
ക (B k
|
||||
|
||||
.group ഖ
|
||||
ഖ kha
|
||||
ഖ (B kh
|
||||
ഖ kha
|
||||
ഖ (B kh
|
||||
|
||||
.group ഗ
|
||||
ഗ ga
|
||||
ഗ (B g
|
||||
ഗ ga
|
||||
ഗ (B g
|
||||
|
||||
.group ഘ
|
||||
ഘ gha
|
||||
ഘ (B gh
|
||||
ഘ gha
|
||||
ഘ (B gh
|
||||
|
||||
.group ങ
|
||||
ങ Na
|
||||
ങ (B N
|
||||
ങ Na
|
||||
ങ (B N
|
||||
|
||||
.group ച
|
||||
ച ca
|
||||
ച (B c
|
||||
ച ca
|
||||
ച (B c
|
||||
|
||||
.group ഛ
|
||||
ഛ cha
|
||||
ഛ (B ch
|
||||
ഛ cha
|
||||
ഛ (B ch
|
||||
|
||||
.group ജ
|
||||
ജ Ja
|
||||
ജ (B J
|
||||
ജ Ja
|
||||
ജ (B J
|
||||
|
||||
.group ഝ
|
||||
ഝ Jha
|
||||
ഝ (B Jh
|
||||
ഝ Jha
|
||||
ഝ (B Jh
|
||||
|
||||
.group ഞ
|
||||
ഞ n^a
|
||||
ഞ (B n^
|
||||
ഞ n^a
|
||||
ഞ (B n^
|
||||
|
||||
.group ട
|
||||
ട t.a
|
||||
ട (B t.
|
||||
ട t.a
|
||||
ട (B t.
|
||||
|
||||
.group ഠ
|
||||
ഠ th.a
|
||||
ഠ (B th.
|
||||
ഠ th.a
|
||||
ഠ (B th.
|
||||
|
||||
.group ഡ
|
||||
ഡ d.a
|
||||
ഡ (B d.
|
||||
ഡ d.a
|
||||
ഡ (B d.
|
||||
|
||||
.group ഢ
|
||||
ഢ dh.a
|
||||
ഢ (B dh.
|
||||
ഢ dh.a
|
||||
ഢ (B dh.
|
||||
|
||||
.group ണ
|
||||
ണ n.a
|
||||
ണ (B n.
|
||||
ണ n.a
|
||||
ണ (B n.
|
||||
|
||||
.group ത
|
||||
ത ta
|
||||
ത (B t
|
||||
ത ta
|
||||
ത (B t
|
||||
|
||||
.group ഥ
|
||||
ഥ tha
|
||||
ഥ (B th
|
||||
ഥ tha
|
||||
ഥ (B th
|
||||
|
||||
.group ദ
|
||||
ദ da
|
||||
ദ (B d
|
||||
ദ da
|
||||
ദ (B d
|
||||
|
||||
.group ധ
|
||||
ധ dha
|
||||
ധ (B dh
|
||||
ധ dha
|
||||
ധ (B dh
|
||||
|
||||
.group ന
|
||||
ന na
|
||||
ന (B n
|
||||
ന na
|
||||
ന (B n
|
||||
|
||||
.group പ
|
||||
പ pa
|
||||
പ (B p
|
||||
പ pa
|
||||
പ (B p
|
||||
|
||||
.group ഫ
|
||||
ഫ pha
|
||||
ഫ (B p
|
||||
ഫ pha
|
||||
ഫ (B p
|
||||
|
||||
_പ്രൊ) ഫ (സര് fa
|
||||
_പ്രൊ) ഫ (സര് fa
|
||||
|
||||
|
||||
.group ബ
|
||||
ബ ba
|
||||
ബ (B b
|
||||
ബ ba
|
||||
ബ (B b
|
||||
|
||||
.group ഭ
|
||||
ഭ bha
|
||||
ഭ (B bh
|
||||
ഭ bha
|
||||
ഭ (B bh
|
||||
|
||||
.group മ
|
||||
മ ma
|
||||
മ (B m
|
||||
മ ma
|
||||
മ (B m
|
||||
|
||||
.group യ
|
||||
യ ja
|
||||
യ (B j
|
||||
യ ja
|
||||
യ (B j
|
||||
|
||||
.group ര
|
||||
ര ra
|
||||
ര (B r
|
||||
ര ra
|
||||
ര (B r
|
||||
|
||||
.group റ
|
||||
റ R2a
|
||||
റ (B R2
|
||||
ന്) റ d#
|
||||
റ്റ t.t. // ?? R2R2 = t.t.
|
||||
റ R2a
|
||||
റ (B R2
|
||||
ന്) റ d#
|
||||
റ്റ t.t. // ?? R2R2 = t.t.
|
||||
|
||||
.group ല
|
||||
ല la
|
||||
ല (B l
|
||||
ല la
|
||||
ല (B l
|
||||
|
||||
.group ള
|
||||
ള l.a
|
||||
ള (B l.
|
||||
ള l.a
|
||||
ള (B l.
|
||||
|
||||
.group ഴ // retroflex [r.] ?
|
||||
ഴ r.a
|
||||
ഴ (B r.
|
||||
ഴ r.a
|
||||
ഴ (B r.
|
||||
|
||||
.group വ
|
||||
വ va
|
||||
വ (B v
|
||||
വ va
|
||||
വ (B v
|
||||
|
||||
.group ശ
|
||||
ശ S;a
|
||||
ശ (B S;
|
||||
ശ S;a
|
||||
ശ (B S;
|
||||
|
||||
.group ഷ
|
||||
ഷ s.a
|
||||
ഷ (B s.
|
||||
ഷ s.a
|
||||
ഷ (B s.
|
||||
|
||||
.group സ
|
||||
സ sa
|
||||
സ (B s
|
||||
സ sa
|
||||
സ (B s
|
||||
|
||||
.group ഹ
|
||||
ഹ ha
|
||||
ഹ (B h
|
||||
ഹ ha
|
||||
ഹ (B h
|
||||
|
||||
|
||||
// chillu consonants
|
||||
.group ൺ
|
||||
ൺ n.
|
||||
ൺ n.
|
||||
|
||||
.group ൻ
|
||||
ൻ n
|
||||
ൻ n
|
||||
|
||||
.group ർ
|
||||
ർ r
|
||||
ർ r
|
||||
|
||||
.group ൽ
|
||||
ൽ l
|
||||
ൽ l
|
||||
|
||||
.group ൾ
|
||||
ൾ l.
|
||||
ൾ l.
|
||||
|
||||
.group ൿ
|
||||
ൿ k
|
||||
ൿ k
|
||||
|
||||
|
||||
.group 0xe0b4 // characters which start with UTF-8 bytes: [e0 b4]
|
||||
|
||||
ഽ // avagraha
|
||||
ഽ // avagraha
|
||||
|
||||
ം m // anusvara (this should nasalize the vowel)
|
||||
ം m // anusvara (this should nasalize the vowel)
|
||||
|
||||
ഃ h // visarga
|
||||
ഃ h // visarga
|
||||
|
||||
അ a
|
||||
അ a
|
||||
|
||||
ആ a:
|
||||
ആ a:
|
||||
|
||||
ഇ i
|
||||
ഇ i
|
||||
|
||||
ഈ i:
|
||||
ഈ i:
|
||||
|
||||
ഉ u
|
||||
ഉ u
|
||||
|
||||
ഊ u:
|
||||
ഊ u:
|
||||
|
||||
ഋ Ry
|
||||
ഋ Ry
|
||||
|
||||
എ e
|
||||
_) എ ;e
|
||||
എ e
|
||||
_) എ ;e
|
||||
|
||||
ഏ e:
|
||||
_) ഏ ;e:
|
||||
ഏ e:
|
||||
_) ഏ ;e:
|
||||
|
||||
ഐ aI
|
||||
ഐ aI
|
||||
|
||||
ഒ o
|
||||
ഒ o
|
||||
|
||||
ഓ o:
|
||||
ഓ o:
|
||||
|
||||
ഔ aU
|
||||
ഔ aU
|
||||
|
||||
// combining vowel signs
|
||||
|
||||
ാ a:
|
||||
ാ a:
|
||||
|
||||
ി i
|
||||
ി (ല്K I
|
||||
ി i
|
||||
ി (ല്K I
|
||||
|
||||
.group 0xe0b5 // characters which start with UTF-8 bytes: [e0 b5]
|
||||
|
||||
ീ i:
|
||||
ീ i:
|
||||
|
||||
ു u
|
||||
ു u
|
||||
|
||||
ൂ u:
|
||||
ൂ u:
|
||||
|
||||
ൃ r-
|
||||
ൃ r-
|
||||
|
||||
ൄ r-:
|
||||
ൄ r-:
|
||||
|
||||
െ e
|
||||
െ e
|
||||
|
||||
േ e:
|
||||
േ e:
|
||||
|
||||
ൈ aI
|
||||
ൈ aI
|
||||
|
||||
ൊ o
|
||||
ൊ o
|
||||
|
||||
ോ o:
|
||||
ോ o:
|
||||
|
||||
ൌ aU
|
||||
ൗ aU // au length mark, treat at [aU] ?
|
||||
ൌ aU
|
||||
ൗ aU // au length mark, treat at [aU] ?
|
||||
|
||||
് // virama
|
||||
ൎ // chillu-virama (unofficial)
|
||||
്് // espeak uses double-virama for "virama + U+200d" (zero-width joiner), to indicate a chillu character
|
||||
് (_ y // epenthetic vowel at end of word
|
||||
് // virama
|
||||
ൎ // chillu-virama (unofficial)
|
||||
്് // espeak uses double-virama for "virama + U+200d" (zero-width joiner), to indicate a chillu character
|
||||
് (_ y // epenthetic vowel at end of word
|
||||
|
||||
ൠ Ry:
|
||||
ൠ Ry:
|
||||
|
||||
ൡ ly:
|
||||
ൡ ly:
|
||||
|
||||
|
||||
|
||||
.group 0xe0a4 // devanagari
|
||||
0xe0a4 _^_HI // switch to hindi voice
|
||||
0xe0a4 _^_HI // switch to hindi voice
|
||||
|
||||
.group 0xe0a5 // devanagari
|
||||
0xe0a5 _^_HI
|
||||
0xe0a5 _^_HI
|
||||
|
||||
|
||||
.group
|
||||
$ do:l.ar
|
||||
$ do:l.ar
|
||||
|
||||
+4
-3
@@ -647,6 +647,7 @@ almoço $alt $verb
|
||||
amarelo $alt
|
||||
ameba $alt
|
||||
amores $alt2
|
||||
antonieta $alt2
|
||||
apego $alt2 $noun
|
||||
apelo $alt $verb
|
||||
aposto $alt $verb
|
||||
@@ -723,7 +724,7 @@ coice $alt2
|
||||
colabore $alt
|
||||
colete $alt2
|
||||
colchete $alt2
|
||||
colher $alt $verb
|
||||
colher $alt $noun
|
||||
colheres $alt $noun
|
||||
colmeia $alt
|
||||
colore $alt
|
||||
@@ -762,8 +763,6 @@ descordo $alt
|
||||
desespero $alt2 $noun
|
||||
desfecho $alt2
|
||||
desprezo $alt $verb
|
||||
deva $alt2
|
||||
devo $alt2
|
||||
deveras $alt
|
||||
dez $alt
|
||||
diarreia $alt
|
||||
@@ -839,6 +838,8 @@ fogos $alt
|
||||
foguete $alt2
|
||||
foice $alt2
|
||||
forca $alt2
|
||||
força $alt2 $noun
|
||||
forço $alt
|
||||
forças $alt2
|
||||
fordes $alt2
|
||||
fores $alt2
|
||||
|
||||
@@ -407,6 +407,7 @@ respond) e (L07_ e // cor-
|
||||
viv) e (L07_ e // re-
|
||||
qu) e (brL04_ E
|
||||
_hosp) e (dL03_ E
|
||||
_d) e (vL03_ e
|
||||
_gr) e (gL03_ e
|
||||
_n) e (grL03_ e
|
||||
_estr) ei (L03_ EI
|
||||
|
||||
+36
-31
@@ -1,5 +1,5 @@
|
||||
|
||||
87 phoneme tables
|
||||
88 phoneme tables
|
||||
new total
|
||||
base 109 109
|
||||
consonants 10 118
|
||||
@@ -22,10 +22,12 @@ consonants 10 118
|
||||
fr 64 146
|
||||
fr-ca 11 146
|
||||
hi 57 150
|
||||
bn 5 150
|
||||
ne 18 158
|
||||
ur 6 150
|
||||
ta 23 154
|
||||
kn 17 150
|
||||
ml 21 153
|
||||
ur 6 150
|
||||
ml 22 154
|
||||
hu 25 124
|
||||
lt 44 139
|
||||
lv 29 127
|
||||
@@ -65,7 +67,6 @@ consonants 10 118
|
||||
da 36 131
|
||||
ka 20 114
|
||||
rw 15 132
|
||||
ne 18 158
|
||||
pa 15 152
|
||||
prs 8 113
|
||||
sl 10 137
|
||||
@@ -432,7 +433,7 @@ l/l_ [l] base
|
||||
[l/] fr
|
||||
l/l_@ [l/3] base
|
||||
[l/] fr
|
||||
l/l@ [h6r] base
|
||||
l/l@ [] base
|
||||
[l#] base
|
||||
[l] fr
|
||||
[l/2] fr
|
||||
@@ -466,7 +467,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 [] base
|
||||
[l#] base
|
||||
[l] fr
|
||||
[l/2] fr
|
||||
@@ -474,7 +475,7 @@ l/la [h6r] base
|
||||
[K] tn
|
||||
l/l_a [l/3] base
|
||||
[l/] fr
|
||||
l/le [h6r] base
|
||||
l/le [] base
|
||||
[l#] base
|
||||
[l] fr
|
||||
[l/2] fr
|
||||
@@ -486,7 +487,7 @@ l/L_eL_af [&] af
|
||||
[&:] af
|
||||
l/l_front [L] sq
|
||||
l/l_front_ [l/4] sq
|
||||
l/li [h6r] base
|
||||
l/li [] base
|
||||
[l#] base
|
||||
[l] fr
|
||||
[l/2] fr
|
||||
@@ -500,7 +501,7 @@ ll/ll [L] base
|
||||
ll/_ll [L] base
|
||||
l/l_long [l] base
|
||||
[l] fr
|
||||
l/lo [h6r] base
|
||||
l/lo [] base
|
||||
[l#] base
|
||||
[l/2] fr
|
||||
[K] nso
|
||||
@@ -511,7 +512,7 @@ l^/l_rfx [l.] base
|
||||
[l;] lt
|
||||
[l] ru
|
||||
[l^] ru
|
||||
l/lu [h6r] base
|
||||
l/lu [] base
|
||||
[l#] base
|
||||
[l] fr
|
||||
[l/2] fr
|
||||
@@ -673,7 +674,6 @@ r3/r_trill [R2] base
|
||||
[R] pl
|
||||
[r*] sr
|
||||
[r] ru
|
||||
[x] pt
|
||||
[r] tn
|
||||
r3/r_trill2 [R] base
|
||||
[r] cy
|
||||
@@ -690,7 +690,6 @@ r3/r_trill.wav [R2] base
|
||||
[R] pl
|
||||
[r*] sr
|
||||
[r] ru
|
||||
[x] pt
|
||||
r3/r_uvl [r"] base
|
||||
[r2] de
|
||||
r3/r_uvl.wav [r"] base
|
||||
@@ -854,7 +853,8 @@ ustop/k_asp [kh] consonants
|
||||
[gh] hi
|
||||
[kh] zh
|
||||
[kh] tn
|
||||
ustop/k_asp2 [k#] ka
|
||||
ustop/k_asp2 [kh2] ml
|
||||
[k#] ka
|
||||
ustop/k_ejc [k`] am
|
||||
ustop/ki [k] base
|
||||
[k] base2
|
||||
@@ -873,6 +873,7 @@ ustop/kl [k] base
|
||||
[k] base2
|
||||
[k] et
|
||||
[k] fr
|
||||
[kh2] ml
|
||||
[k] lv
|
||||
[k] el
|
||||
[k] zhy
|
||||
@@ -1124,11 +1125,11 @@ vdiph2/y-y# [yY] fi
|
||||
vdiph/8u [oU] en-us
|
||||
[ou] zh
|
||||
vdiph/aae [aI] en-us
|
||||
vdiph/aai [ai] lt
|
||||
vdiph/aai [aI] ne
|
||||
[ai] lt
|
||||
[ai] lv
|
||||
[aai] zhy
|
||||
[aI] sq
|
||||
[aI] ne
|
||||
vdiph/aai_2 [AI] af
|
||||
[AY] cy
|
||||
vdiph/aai_3 [ai] fi
|
||||
@@ -1144,9 +1145,9 @@ vdiph/aau_2 [aU] en-wi
|
||||
[aU] la
|
||||
[aau] zhy
|
||||
vdiph/aau_3 [aU] hi
|
||||
[aU] ne
|
||||
[aU] kn
|
||||
[aU] ml
|
||||
[aU] ne
|
||||
[aU] te
|
||||
vdiph/aau_4 [aU] vi
|
||||
vdiph/aau_6 [aU] de
|
||||
@@ -1206,10 +1207,10 @@ vdiph/ee-e [E:] hi
|
||||
vdiph/eei [EI] base2
|
||||
[eI] en
|
||||
[EI] de
|
||||
[eI] ne
|
||||
[EI] nl
|
||||
[EI] vi
|
||||
[eI] hy
|
||||
[eI] ne
|
||||
[eI] prs
|
||||
vdiph/eei_2 [eI] eo
|
||||
[ei] fi
|
||||
@@ -1244,12 +1245,12 @@ vdiph/ei [eI] base2
|
||||
vdiph/eu [eU] base2
|
||||
[eU] cy
|
||||
[eU] eo
|
||||
[eU] ne
|
||||
[eU] lt
|
||||
[eU] nl
|
||||
[eU] sk
|
||||
[eU] pt
|
||||
[eU] vi
|
||||
[eU] ne
|
||||
vdiph/eu_2 [eu] fi
|
||||
[eu] mt
|
||||
vdiph/@i [Yi] et
|
||||
@@ -1274,11 +1275,11 @@ vdiph/i#i [yI] ro
|
||||
vdiph/oi [oI] base2
|
||||
[OI] en-wm
|
||||
[OY] de
|
||||
[oI] ne
|
||||
[oI] it
|
||||
[OI] la
|
||||
[OI] is
|
||||
[oI] vi
|
||||
[oI] ne
|
||||
vdiph/oi_2 [oI] af
|
||||
vdiph/ooi [OI] en
|
||||
[OI] en-n
|
||||
@@ -1299,8 +1300,8 @@ vdiph/ooi_4 [OI] en-us
|
||||
vdiph/oou [oU] cs
|
||||
[OU] grc
|
||||
vdiph/ou [ou] fi
|
||||
[ou] zhy
|
||||
[oU] ne
|
||||
[ou] zhy
|
||||
[ou] mt
|
||||
vdiph/ou_2 [oU] lt
|
||||
[oU] sk
|
||||
@@ -1319,11 +1320,11 @@ vdiph/@u_en [oU] en
|
||||
[@U] id
|
||||
vdiph/ui [uI] base2
|
||||
[uI] eo
|
||||
[uI] ne
|
||||
[ui] lt
|
||||
[ui] lv
|
||||
[uI] vi
|
||||
[ui] zhy
|
||||
[uI] ne
|
||||
vdiph/u-i [yI] vi
|
||||
vdiph/ui_2 [uI] af
|
||||
vdiph/ui_3 [uI] cy
|
||||
@@ -1535,9 +1536,9 @@ vowel/@_3 [@#] en
|
||||
[@2] en-sc
|
||||
[@5] en-sc
|
||||
[@3] hi
|
||||
[@3] ne
|
||||
[@3] ur
|
||||
[@] da
|
||||
[@3] ne
|
||||
[@] am
|
||||
vowel/3_2 [3:] en-n
|
||||
[@] zh
|
||||
@@ -1723,17 +1724,19 @@ vowel/aa_8 [0] en-us
|
||||
vowel/aa_9 [a] fi
|
||||
[a] et
|
||||
[a:] hi
|
||||
[a:] bn
|
||||
[a] ne
|
||||
[a] pa
|
||||
[a] ak
|
||||
[a] mt
|
||||
[A] kk
|
||||
vowel/@_bck [@] hi
|
||||
[@] bn
|
||||
[V] ne
|
||||
[@/] ne
|
||||
[@] ur
|
||||
[@] bg
|
||||
[@] zh
|
||||
[V] ne
|
||||
[@/] ne
|
||||
[@] pa
|
||||
vowel/e [e] base
|
||||
[e] base2
|
||||
@@ -1744,6 +1747,7 @@ vowel/e [e] base
|
||||
[eI] en-wi
|
||||
[e:] af
|
||||
[e:] cy
|
||||
[e] ne
|
||||
[e] ta
|
||||
[e:] ta
|
||||
[e] kn
|
||||
@@ -1764,7 +1768,6 @@ vowel/e [e] base
|
||||
[?e] da
|
||||
[e] rw
|
||||
[e#] rw
|
||||
[e] ne
|
||||
[e] wo
|
||||
[e:] wo
|
||||
[e] dv
|
||||
@@ -1918,6 +1921,7 @@ vowel/i [i] base
|
||||
[i] en-wi
|
||||
[i:] cy
|
||||
[i] eo
|
||||
[i] ne
|
||||
[i:] ta
|
||||
[i:] kn
|
||||
[i:] ml
|
||||
@@ -1935,7 +1939,6 @@ vowel/i [i] base
|
||||
[i] ka
|
||||
[i] rw
|
||||
[i#] rw
|
||||
[i] ne
|
||||
[i] prs
|
||||
[i] nso
|
||||
[i] ak
|
||||
@@ -2074,14 +2077,15 @@ vowel/@_low [@] en-rp
|
||||
[@] hi
|
||||
[V] hi
|
||||
[@2] hi
|
||||
[@] ml
|
||||
[@] bn
|
||||
[V] ne
|
||||
[@/] ne
|
||||
[@] ur
|
||||
[@2] ur
|
||||
[@] ml
|
||||
[@] ro
|
||||
[a#] no
|
||||
[@] id
|
||||
[V] ne
|
||||
[@/] ne
|
||||
[@] pa
|
||||
[V] pa
|
||||
[@] si
|
||||
@@ -2123,6 +2127,7 @@ vowel/o [o] base2
|
||||
[o] kl
|
||||
vowel/o_2 [o:] cy
|
||||
[o:] hi
|
||||
[o:] bn
|
||||
[o:] hu
|
||||
[o:] la
|
||||
[o:] no
|
||||
@@ -2155,10 +2160,10 @@ vowel/oe_4 [W] sv
|
||||
vowel/o_mid [U@] en-rp
|
||||
[o] et
|
||||
[O] fr
|
||||
[o] ne
|
||||
[o] hu
|
||||
[o] bg
|
||||
[o] tr
|
||||
[o] ne
|
||||
[o] az
|
||||
[o] dv
|
||||
[o:] dv
|
||||
@@ -2313,6 +2318,7 @@ vowel/u_bck [u] base2
|
||||
[u] fi
|
||||
[u] fr-ca
|
||||
[u:] hi
|
||||
[u] ne
|
||||
[u:] hu
|
||||
[u:] lt
|
||||
[u] nl
|
||||
@@ -2337,7 +2343,6 @@ vowel/u_bck [u] base2
|
||||
[u] ka
|
||||
[u] rw
|
||||
[u#] rw
|
||||
[u] ne
|
||||
[u] pa
|
||||
[u] mt
|
||||
[u:] ga
|
||||
|
||||
+2
-2
@@ -136,7 +136,7 @@ endphoneme
|
||||
|
||||
phoneme a:
|
||||
vowel long starttype #a endtype #a
|
||||
length 230
|
||||
length 190
|
||||
FMT(vowel/aa_9)
|
||||
endphoneme
|
||||
|
||||
@@ -149,7 +149,7 @@ endphoneme
|
||||
|
||||
phoneme o:
|
||||
vowel long starttype #o endtype #o
|
||||
length 220
|
||||
length 227
|
||||
FMT(vowel/o_2)
|
||||
endphoneme
|
||||
|
||||
|
||||
+18
-1
@@ -132,7 +132,7 @@ phoneme v
|
||||
endphoneme
|
||||
|
||||
phoneme r
|
||||
import_phoneme base/*
|
||||
import_phoneme base/**
|
||||
endphoneme
|
||||
|
||||
phoneme R
|
||||
@@ -142,3 +142,20 @@ endphoneme
|
||||
phoneme d# // 'rr' sounds like English 'd'
|
||||
import_phoneme base/d
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme kh2
|
||||
vls vel stop
|
||||
lengthmod 2
|
||||
voicingswitch g
|
||||
Vowelin f1=0 f2=2300 200 300 f3=-150 80
|
||||
Vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20
|
||||
IF nextPh(isPause2) THEN
|
||||
WAV(ustop/k_asp2, 50)
|
||||
ENDIF
|
||||
IF nextPh(l) THEN
|
||||
WAV(ustop/kl)
|
||||
ENDIF
|
||||
WAV(ustop/k_asp2, 90)
|
||||
endphoneme
|
||||
|
||||
|
||||
+2
-12
@@ -189,18 +189,8 @@ phoneme l
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme x // this is [R] from Slovak/Czech
|
||||
liquid
|
||||
trill
|
||||
ipa ʁ
|
||||
lengthmod 6
|
||||
IF thisPh(isWordStart) THEN
|
||||
ChangePhoneme(h) // Change by Cleverson 22.09.2012
|
||||
ENDIF
|
||||
|
||||
Vowelin f1=0 f2=1700 -300 300 f3=-300 80
|
||||
Vowelout f1=2 f2=1700 -300 300 f3=-300 80 brk
|
||||
FMT(r3/r_trill) addWav(r3/r_trill.wav, 50)
|
||||
phoneme x // (previously [R] from Slovak/Czech)
|
||||
import_phoneme base/h
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
+9
-9
@@ -1718,6 +1718,15 @@ include ph_french_ca
|
||||
phonemetable hi base
|
||||
include ph_hindi
|
||||
|
||||
phonemetable bn hi
|
||||
include ph_bengali
|
||||
|
||||
phonemetable ne hi
|
||||
include ph_nepali
|
||||
|
||||
phonemetable ur hi
|
||||
include ph_urdu
|
||||
|
||||
phonemetable ta hi
|
||||
include ph_tamil
|
||||
|
||||
@@ -1727,9 +1736,6 @@ include ph_kannada
|
||||
phonemetable ml hi
|
||||
include ph_malayalam
|
||||
|
||||
phonemetable ur hi
|
||||
include ph_urdu
|
||||
|
||||
|
||||
phonemetable hu base
|
||||
include ph_hungarian
|
||||
@@ -1857,12 +1863,6 @@ include ph_georgian
|
||||
phonemetable rw base2
|
||||
include ph_kinyarwanda
|
||||
|
||||
//phonemetable bn hi
|
||||
//include ph_bengali
|
||||
|
||||
phonemetable ne hi
|
||||
include ph_nepali
|
||||
|
||||
//phonemetable mr hi
|
||||
//include ph_marathi
|
||||
|
||||
|
||||
+38
-29
@@ -51,15 +51,21 @@ static char letterGroupsDefined[N_LETTER_GROUPS];
|
||||
|
||||
MNEM_TAB mnem_rules[] = {
|
||||
{"unpr", 0x01},
|
||||
|
||||
{"w_alt1", 0x11},
|
||||
{"w_alt2", 0x12},
|
||||
{"w_alt3", 0x13},
|
||||
// {"w_alt4", 0x14},
|
||||
{"w_alt4", 0x14},
|
||||
{"w_alt5", 0x15},
|
||||
{"w_alt6", 0x16},
|
||||
{"w_alt", 0x11}, // note: put longer names before their sub-strings
|
||||
|
||||
{"p_alt1", 0x21},
|
||||
{"p_alt2", 0x22},
|
||||
{"p_alt3", 0x23},
|
||||
// {"p_alt4", 0x24},
|
||||
{"p_alt4", 0x24},
|
||||
{"p_alt5", 0x25},
|
||||
{"p_alt6", 0x26},
|
||||
{"p_alt", 0x21},
|
||||
{NULL, -1} };
|
||||
|
||||
@@ -83,24 +89,22 @@ MNEM_TAB mnem_flags[] = {
|
||||
|
||||
|
||||
// these set the corresponding numbered bit if dictionary_flags
|
||||
{"$pause", 8}, /* ensure pause before this word */
|
||||
{"$only", 9}, /* only match on this word without suffix */
|
||||
{"$onlys", 10}, /* only match with none, or with 's' suffix */
|
||||
{"$strend", 11}, /* full stress if at end of clause */
|
||||
{"$strend2", 12}, /* full stress if at end of clause, or only followed by unstressed */
|
||||
{"$unstressend",13}, /* reduce stress at end of clause */
|
||||
{"$atend", 14}, /* use this pronunciation if at end of clause */
|
||||
{"$atstart", 15}, // use this pronunciation at start of clause
|
||||
|
||||
{"$abbrev", 17}, /* use this pronuciation rather than split into letters */
|
||||
{"$stem", 18}, // must have a suffix
|
||||
{"$pause", 8}, // ensure pause before this word
|
||||
{"$strend", 9}, // full stress if at end of clause
|
||||
{"$strend2", 10}, // full stress if at end of clause, or only followed by unstressed
|
||||
{"$unstressend",11}, // reduce stress at end of clause
|
||||
{"$abbrev", 13}, // use this pronuciation rather than split into letters
|
||||
|
||||
// language specific
|
||||
{"$double", 19}, // IT double the initial consonant of next word
|
||||
{"$alt", 20}, // use alternative pronunciation
|
||||
{"$alt1", 20}, // synonym for $alt
|
||||
{"$alt2", 21},
|
||||
{"$alt3", 22},
|
||||
{"$double", 14}, // IT double the initial consonant of next word
|
||||
{"$alt", 15}, // use alternative pronunciation
|
||||
{"$alt1", 15}, // synonym for $alt
|
||||
{"$alt2", 16},
|
||||
{"$alt3", 17},
|
||||
{"$alt4", 18},
|
||||
{"$alt5", 19},
|
||||
{"$alt6", 20},
|
||||
|
||||
{"$combine", 23}, // Combine with the next word
|
||||
|
||||
{"$dot", 24}, // ignore '.' after this word (abbreviation)
|
||||
@@ -111,18 +115,23 @@ MNEM_TAB mnem_flags[] = {
|
||||
{"$text", 29}, // word translates to replcement text, not phonemes
|
||||
|
||||
// flags in dictionary word 2
|
||||
{"$verbf", 0x20}, /* verb follows */
|
||||
{"$verbsf", 0x21}, /* verb follows, allow -s suffix */
|
||||
{"$nounf", 0x22}, /* noun follows */
|
||||
{"$pastf", 0x23}, /* past tense follows */
|
||||
{"$verb", 0x24}, /* use this pronunciation when its a verb */
|
||||
{"$noun", 0x25}, /* use this pronunciation when its a noun */
|
||||
{"$past", 0x26}, /* use this pronunciation when its past tense */
|
||||
{"$verbextend",0x28}, /* extend influence of 'verb follows' */
|
||||
{"$capital", 0x29}, /* use this pronunciation if initial letter is upper case */
|
||||
{"$allcaps", 0x2a}, /* use this pronunciation if initial letter is upper case */
|
||||
{"$verbf", 0x20}, // verb follows
|
||||
{"$verbsf", 0x21}, // verb follows, allow -s suffix
|
||||
{"$nounf", 0x22}, // noun follows
|
||||
{"$pastf", 0x23}, // past tense follows
|
||||
{"$verb", 0x24}, // use this pronunciation when its a verb
|
||||
{"$noun", 0x25}, // use this pronunciation when its a noun
|
||||
{"$past", 0x26}, // use this pronunciation when its past tense
|
||||
{"$verbextend",0x28}, // extend influence of 'verb follows'
|
||||
{"$capital", 0x29}, // use this pronunciation if initial letter is upper case
|
||||
{"$allcaps", 0x2a}, // use this pronunciation if initial letter is upper case
|
||||
{"$accent", 0x2b}, // character name is base-character name + accent name
|
||||
{"$sentence",0x2d}, // only if this clause is a sentence (i.e. terminator is {. ? !} not {, ; :}
|
||||
{"$only", 0x2e}, // only match on this word without suffix
|
||||
{"$onlys", 0x2f}, // only match with none, or with 's' suffix
|
||||
{"$stem", 0x30}, // must have a suffix
|
||||
{"$atend", 0x31}, // use this pronunciation if at end of clause
|
||||
{"$atstart", 0x32}, // use this pronunciation at start of clause
|
||||
|
||||
// doesn't set dictionary_flags
|
||||
{"$?", 100}, // conditional rule, followed by byte giving the condition number
|
||||
@@ -611,7 +620,7 @@ static char nullstring[] = {0};
|
||||
|
||||
// PROBLEM vowel reductions are not applied to the translated phonemes
|
||||
// condition rules are not applied
|
||||
TranslateWord(translator,phonetic,0,NULL);
|
||||
TranslateWord(translator,phonetic,0,NULL,NULL);
|
||||
text_not_phonemes = 0;
|
||||
strncpy0(encoded_ph, word_phonemes, N_WORD_BYTES-4);
|
||||
|
||||
|
||||
+14
-7
@@ -3012,10 +3012,10 @@ static const char *LookupDict2(Translator *tr, const char *word, const char *wor
|
||||
int no_phonemes;
|
||||
int skipwords;
|
||||
int ix;
|
||||
int c;
|
||||
const char *word_end;
|
||||
const char *word1;
|
||||
int wflags = 0;
|
||||
// int wflags2;
|
||||
char word_buf[N_WORD_BYTES+1];
|
||||
|
||||
if(wtab != NULL)
|
||||
@@ -3165,20 +3165,20 @@ static const char *LookupDict2(Translator *tr, const char *word, const char *wor
|
||||
if((end_flags & FLAG_SUFX)==0)
|
||||
{
|
||||
// no suffix has been removed
|
||||
if(dictionary_flags & FLAG_STEM)
|
||||
if(dictionary_flags2 & FLAG_STEM)
|
||||
continue; // this word must have a suffix
|
||||
}
|
||||
|
||||
if((end_flags & SUFX_P) && (dictionary_flags & (FLAG_ONLY | FLAG_ONLY_S)))
|
||||
if((end_flags & SUFX_P) && (dictionary_flags2 & (FLAG_ONLY | FLAG_ONLY_S)))
|
||||
continue; // $only or $onlys, don't match if a prefix has been removed
|
||||
|
||||
if(end_flags & FLAG_SUFX)
|
||||
{
|
||||
// a suffix was removed from the word
|
||||
if(dictionary_flags & FLAG_ONLY)
|
||||
if(dictionary_flags2 & FLAG_ONLY)
|
||||
continue; // no match if any suffix
|
||||
|
||||
if((dictionary_flags & FLAG_ONLY_S) && ((end_flags & FLAG_SUFX_S)==0))
|
||||
if((dictionary_flags2 & FLAG_ONLY_S) && ((end_flags & FLAG_SUFX_S)==0))
|
||||
{
|
||||
// only a 's' suffix allowed, but the suffix wasn't 's'
|
||||
continue;
|
||||
@@ -3212,13 +3212,13 @@ static const char *LookupDict2(Translator *tr, const char *word, const char *wor
|
||||
continue;
|
||||
}
|
||||
|
||||
if((dictionary_flags & FLAG_ATEND) && (word_end < tr->clause_end))
|
||||
if((dictionary_flags2 & FLAG_ATEND) && (word_end < tr->clause_end))
|
||||
{
|
||||
// only use this pronunciation if it's the last word of the clause
|
||||
continue;
|
||||
}
|
||||
|
||||
if((dictionary_flags & FLAG_ATSTART) && !(wtab->flags & FLAG_FIRST_WORD))
|
||||
if((dictionary_flags2 & FLAG_ATSTART) && !(wtab->flags & FLAG_FIRST_WORD))
|
||||
{
|
||||
// only use this pronunciation if it's the first word of a clause
|
||||
continue;
|
||||
@@ -3318,6 +3318,12 @@ static const char *LookupDict2(Translator *tr, const char *word, const char *wor
|
||||
fprintf(f_trans,"' [%s] %s\n",ph_decoded,print_dictionary_flags(flags));
|
||||
}
|
||||
}
|
||||
|
||||
ix = utf8_in(&c, word);
|
||||
if((word[ix] == 0) && !IsAlpha(c))
|
||||
{
|
||||
flags[0] |= FLAG_MAX3;
|
||||
}
|
||||
return(word_end);
|
||||
|
||||
}
|
||||
@@ -3390,6 +3396,7 @@ int LookupDictList(Translator *tr, char **wordptr, char *ph_out, unsigned int *f
|
||||
|
||||
found = LookupDict2(tr, word, word1, ph_out, flags, end_flags, wtab);
|
||||
|
||||
|
||||
if(flags[0] & FLAG_MAX3)
|
||||
{
|
||||
if(strcmp(ph_out, tr->phonemes_repeat) == 0)
|
||||
|
||||
+5
-5
@@ -464,7 +464,7 @@ void Lexicon_It(int pass)
|
||||
}
|
||||
|
||||
// translate
|
||||
TranslateWord(translator,&word1[1],0, NULL);
|
||||
TranslateWord(translator,&word1[1],0, NULL, NULL);
|
||||
DecodePhonemes(word_phonemes,phonemes);
|
||||
|
||||
stress_posn1 = 0;
|
||||
@@ -487,7 +487,7 @@ void Lexicon_It(int pass)
|
||||
vowel_ix++;
|
||||
}
|
||||
|
||||
TranslateWord(translator,&word2[1],0, NULL);
|
||||
TranslateWord(translator,&word2[1],0, NULL, NULL);
|
||||
DecodePhonemes(word_phonemes,phonemes2);
|
||||
|
||||
vowel_ix = 1;
|
||||
@@ -802,7 +802,7 @@ void Lexicon_De()
|
||||
}
|
||||
|
||||
// translate
|
||||
TranslateWord(translator,&word2[1],0, NULL);
|
||||
TranslateWord(translator,&word2[1],0, NULL, NULL);
|
||||
|
||||
DecodePhonemes2(word_phonemes,phonemes); // also need to change some phoneme names
|
||||
|
||||
@@ -1042,7 +1042,7 @@ void Lexicon_Bg()
|
||||
*pw1 = 0;
|
||||
|
||||
// translate
|
||||
TranslateWord(translator, &word[2],0, NULL);
|
||||
TranslateWord(translator, &word[2],0, NULL, NULL);
|
||||
DecodePhonemes(word_phonemes,phonemes);
|
||||
|
||||
// find the stress position in the translation
|
||||
@@ -1300,7 +1300,7 @@ void Lexicon_Ru()
|
||||
}
|
||||
|
||||
// translate
|
||||
TranslateWord(translator, &word2[1],0, NULL);
|
||||
TranslateWord(translator, &word2[1],0, NULL, NULL);
|
||||
DecodePhonemes(word_phonemes,phonemes);
|
||||
|
||||
// find the stress position in the translation
|
||||
|
||||
+2
-2
@@ -89,10 +89,10 @@ wxMenuBar *MakeMenu(int type, const char *dict_name)
|
||||
|
||||
// DATA MENU
|
||||
data_menu = new wxMenu;
|
||||
data_menu->Append(MENU_COMPILE_PH, _("Compile &phoneme data"));
|
||||
data_menu->Append(MENU_COMPILE_PH2, _("Change sample &rate"));
|
||||
data_menu->Append(MENU_COMPILE_DICT, _("Compile &dictionary"));
|
||||
data_menu->Append(MENU_COMPILE_DICT_DEBUG, _("Compile dictionary (debu&g)"));
|
||||
data_menu->Append(MENU_COMPILE_PH, _("Compile &phoneme data"));
|
||||
data_menu->Append(MENU_COMPILE_PH2, _("Change sample &rate"));
|
||||
data_menu->AppendSeparator();
|
||||
data_menu->Append(MENU_COMPILE_MBROLA, _("Compile &mbrola phonemes list..."));
|
||||
data_menu->Append(MENU_COMPILE_INTONATION, _("Compile &intonation data"));
|
||||
|
||||
+23
-11
@@ -656,20 +656,32 @@ int TranslateLetter(Translator *tr, char *word, char *phonemes, int control)
|
||||
current_alphabet = alphabet;
|
||||
if((alphabet != NULL) && !(alphabet->flags & AL_DONT_NAME))
|
||||
{
|
||||
phontab_1 = tr->phoneme_tab_ix;
|
||||
ph_buf2[0] = 0;
|
||||
if(Lookup(translator, alphabet->name, ph_alphabet) == 0) // the original language for the current voice
|
||||
{
|
||||
// Can't find the local name for this alphabet, use the English name
|
||||
phontab_1 = tr->phoneme_tab_ix;
|
||||
ph_alphabet[2] = SetTranslator2("en"); // overwrites previous contents of translator2
|
||||
if(Lookup(translator2, alphabet->name, &ph_alphabet[3]) != 0)
|
||||
{
|
||||
ph_alphabet[0] = phonPAUSE;
|
||||
ph_alphabet[1] = phonSWITCH;
|
||||
len = strlen(&ph_alphabet[3]) + 3;
|
||||
ph_alphabet[len] = phonSWITCH; // switch back
|
||||
ph_alphabet[len+1] = phontab_1;
|
||||
ph_alphabet[len+2] = 0;
|
||||
}
|
||||
Lookup(translator2, alphabet->name, ph_buf2);
|
||||
}
|
||||
else
|
||||
if(translator != tr)
|
||||
{
|
||||
phontab_1 = tr->phoneme_tab_ix;
|
||||
strcpy(ph_buf2, ph_alphabet);
|
||||
ph_alphabet[2] = translator->phoneme_tab_ix;
|
||||
}
|
||||
|
||||
if(ph_buf2[0] != 0)
|
||||
{
|
||||
// we used a different language for the alphabet name (now in ph_buf2)
|
||||
ph_alphabet[0] = phonPAUSE;
|
||||
ph_alphabet[1] = phonSWITCH;
|
||||
strcpy(&ph_alphabet[3], ph_buf2);
|
||||
len = strlen(ph_buf2) + 3;
|
||||
ph_alphabet[len] = phonSWITCH;
|
||||
ph_alphabet[len+1] = phontab_1;
|
||||
ph_alphabet[len+2] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -876,7 +888,7 @@ static int CheckDotOrdinal(Translator *tr, char *word, char *word_end, WORD_TAB
|
||||
nextflags = 0;
|
||||
if(IsAlpha(c2))
|
||||
{
|
||||
nextflags = TranslateWord(tr, &word_end[2], 0, NULL);
|
||||
nextflags = TranslateWord(tr, &word_end[2], 0, NULL, NULL);
|
||||
}
|
||||
|
||||
if((tr->prev_dict_flags & FLAG_ALT_TRANS) && ((c2 == 0) || (wtab[0].flags & FLAG_COMMA_AFTER) || iswdigit(c2)))
|
||||
|
||||
+2
-2
@@ -35,8 +35,8 @@
|
||||
#include "translate.h"
|
||||
#include "wave.h"
|
||||
|
||||
const char *version_string = "1.46.38 27.Feb.13";
|
||||
const int version_phdata = 0x014636;
|
||||
const char *version_string = "1.46.39 01.Mar.13";
|
||||
const int version_phdata = 0x014639;
|
||||
|
||||
int option_device_number = -1;
|
||||
FILE *f_logespeak = NULL;
|
||||
|
||||
@@ -808,6 +808,13 @@ Translator *SelectTranslator(const char *name)
|
||||
}
|
||||
break;
|
||||
|
||||
case L('g','a'): // irish
|
||||
{
|
||||
tr->langopts.stress_rule = STRESSPOSN_1L;
|
||||
tr->langopts.numbers = 1;
|
||||
}
|
||||
break;
|
||||
|
||||
case L('h','i'): // Hindi
|
||||
case L('n','e'): // Nepali
|
||||
case L('p','a'): // Punjabi
|
||||
|
||||
+19
-7
@@ -807,8 +807,8 @@ int ChangeEquivalentPhonemes(Translator *tr, int lang2, char *phonemes)
|
||||
|
||||
|
||||
|
||||
int TranslateWord(Translator *tr, char *word_start, int next_pause, WORD_TAB *wtab)
|
||||
{//===========================================================================
|
||||
int TranslateWord(Translator *tr, char *word_start, int next_pause, WORD_TAB *wtab, char *word_out)
|
||||
{//==================================================================================================
|
||||
// word1 is terminated by space (0x20) character
|
||||
|
||||
char *word1;
|
||||
@@ -943,6 +943,9 @@ int TranslateWord(Translator *tr, char *word_start, int next_pause, WORD_TAB *wt
|
||||
|
||||
if(dictionary_flags[0] & FLAG_TEXTMODE)
|
||||
{
|
||||
if(word_out != NULL)
|
||||
strcpy(word_out, word1);
|
||||
|
||||
first_char = word1[0];
|
||||
stress_bits = dictionary_flags[0] & 0x7f;
|
||||
found = LookupDictList(tr, &word1, phonemes, dictionary_flags2, 0, wtab); // the text replacement
|
||||
@@ -1760,6 +1763,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa
|
||||
int word_flags;
|
||||
int word_copy_len;
|
||||
char word_copy[N_WORD_BYTES+1];
|
||||
char word_replaced[N_WORD_BYTES+1];
|
||||
char old_dictionary_name[40];
|
||||
|
||||
if((f_logespeak != NULL) && (logging_type & 8))
|
||||
@@ -1871,7 +1875,8 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa
|
||||
while(((c2 = word_copy[ix] = word[ix]) != ' ') && (c2 != 0) && (ix < N_WORD_BYTES)) ix++;
|
||||
word_copy_len = ix;
|
||||
|
||||
flags = TranslateWord(translator, word, next_pause, wtab);
|
||||
word_replaced[2] = 0;
|
||||
flags = TranslateWord(translator, word, next_pause, wtab, &word_replaced[2]);
|
||||
|
||||
if(flags & FLAG_SPELLWORD)
|
||||
{
|
||||
@@ -1906,7 +1911,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa
|
||||
{
|
||||
strcpy(ph_buf,word_phonemes);
|
||||
|
||||
flags2[0] = TranslateWord(translator, p2+1, 0, wtab+1);
|
||||
flags2[0] = TranslateWord(translator, p2+1, 0, wtab+1, NULL);
|
||||
if((flags2[0] & FLAG_WAS_UNPRONOUNCABLE) || (word_phonemes[0] == phonSWITCH))
|
||||
ok = 0;
|
||||
|
||||
@@ -1934,12 +1939,12 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa
|
||||
if(ok)
|
||||
{
|
||||
*p2 = '-'; // replace next space by hyphen
|
||||
flags = TranslateWord(translator, word, next_pause, wtab); // translate the combined word
|
||||
flags = TranslateWord(translator, word, next_pause, wtab, NULL); // translate the combined word
|
||||
if((sylimit > 0) && (CountSyllables(p) > (sylimit & 0x1f)))
|
||||
{
|
||||
// revert to separate words
|
||||
*p2 = ' ';
|
||||
flags = TranslateWord(translator, word, next_pause, wtab);
|
||||
flags = TranslateWord(translator, word, next_pause, wtab, NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1967,7 +1972,14 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa
|
||||
{
|
||||
// re-translate the word using the new translator
|
||||
wtab[0].flags |= FLAG_TRANSLATOR2;
|
||||
flags = TranslateWord(translator2, word, next_pause, wtab);
|
||||
if(word_replaced[2] != 0)
|
||||
{
|
||||
word_replaced[0] = 0; // byte before the start of the word
|
||||
word_replaced[1] = ' ';
|
||||
flags = TranslateWord(translator2, &word_replaced[1], next_pause, wtab, NULL);
|
||||
}
|
||||
else
|
||||
flags = TranslateWord(translator2, word, next_pause, wtab, NULL);
|
||||
// strcpy((char *)p,translator2->word_phonemes);
|
||||
if(p[0] == phonSWITCH)
|
||||
{
|
||||
|
||||
+20
-20
@@ -37,26 +37,18 @@
|
||||
#define FLAG_SKIPWORDS 0x80
|
||||
#define FLAG_PREPAUSE 0x100
|
||||
|
||||
#define FLAG_ONLY 0x200
|
||||
#define FLAG_ONLY_S 0x400
|
||||
#define BITNUM_FLAG_ONLY 9 // bit 9 is set
|
||||
#define BITNUM_FLAG_ONLY_S 10 // bit 10 is set
|
||||
#define FLAG_STRESS_END 0x200 // full stress if at end of clause
|
||||
#define FLAG_STRESS_END2 0x400 // full stress if at end of clause, or only followed by unstressed
|
||||
#define FLAG_UNSTRESS_END 0x800 // reduce stress at end of clause
|
||||
#define FLAG_SPELLWORD 0x1000 // re-translate the word as individual letters, separated by spaces
|
||||
#define FLAG_ABBREV 0x2000 // spell as letters, even with a vowel, OR use specified pronunciation rather than split into letters
|
||||
#define FLAG_DOUBLING 0x4000 // doubles the following consonant
|
||||
|
||||
#define FLAG_STRESS_END 0x800 /* full stress if at end of clause */
|
||||
#define FLAG_STRESS_END2 0x1000 /* full stress if at end of clause, or only followed by unstressed */
|
||||
#define FLAG_UNSTRESS_END 0x2000 /* reduce stress at end of clause */
|
||||
#define FLAG_ATEND 0x4000 /* use this pronunciation if at end of clause */
|
||||
#define FLAG_ATSTART 0x8000 // use this pronunciation if at start of clause
|
||||
#define FLAG_SPELLWORD 0x10000 // re-translate the word as individual letters, separated by spaces
|
||||
#define FLAG_ABBREV 0x20000 // spell as letters, even with a vowel, OR use specified pronunciation rather than split into letters
|
||||
#define FLAG_STEM 0x40000 // must have a suffix
|
||||
|
||||
#define FLAG_DOUBLING 0x80000 // doubles the following consonant
|
||||
#define BITNUM_FLAG_ALT 19 // bit number of FLAG_ALT_TRANS - 1
|
||||
#define FLAG_ALT_TRANS 0x100000 // language specific
|
||||
#define FLAG_ALT2_TRANS 0x200000 // language specific
|
||||
#define FLAG_ALT3_TRANS 0x400000 // language specific
|
||||
#define FLAG_COMBINE 0x800000 // combine with the next word
|
||||
#define BITNUM_FLAG_ALT 14 // bit number of FLAG_ALT_TRANS - 1
|
||||
#define FLAG_ALT_TRANS 0x8000 // language specific
|
||||
#define FLAG_ALT2_TRANS 0x10000 // language specific
|
||||
#define FLAG_ALT3_TRANS 0x20000 // language specific
|
||||
#define FLAG_COMBINE 0x40000 // combine with the next word
|
||||
|
||||
#define FLAG_ALLOW_DOT 0x01000000 // ignore '.' after word (abbreviation)
|
||||
#define FLAG_NEEDS_DOT 0x02000000 // only if the word is followed by a dot
|
||||
@@ -83,8 +75,16 @@
|
||||
#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 FLAG_SENTENCE 0x2000 // only if the clause is a sentence
|
||||
#define FLAG_ONLY 0x4000
|
||||
#define FLAG_ONLY_S 0x8000
|
||||
#define FLAG_STEM 0x10000 // must have a suffix
|
||||
#define FLAG_ATEND 0x20000 /* use this pronunciation if at end of clause */
|
||||
#define FLAG_ATSTART 0x30000 // use this pronunciation if at start of clause
|
||||
|
||||
#define BITNUM_FLAG_ALLCAPS 0x2a
|
||||
#define BITNUM_FLAG_HYPHENATED 0x2c
|
||||
#define BITNUM_FLAG_ONLY 0x2e
|
||||
#define BITNUM_FLAG_ONLY_S 0x2f
|
||||
|
||||
|
||||
// wordflags, flags in source word
|
||||
@@ -714,7 +714,7 @@ int RemoveEnding(Translator *tr, char *word, int end_type, char *word_copy);
|
||||
int Unpronouncable(Translator *tr, char *word, int posn);
|
||||
void SetWordStress(Translator *tr, char *output, unsigned int *dictionary_flags, int tonic, int prev_stress);
|
||||
int TranslateRules(Translator *tr, char *p, char *phonemes, int size, char *end_phonemes, int end_flags, unsigned int *dict_flags);
|
||||
int TranslateWord(Translator *tr, char *word1, int next_pause, WORD_TAB *wtab);
|
||||
int TranslateWord(Translator *tr, char *word1, int next_pause, WORD_TAB *wtab, char *word_out);
|
||||
void *TranslateClause(Translator *tr, FILE *f_text, const void *vp_input, int *tone, char **voice_change);
|
||||
int ReadClause(Translator *tr, FILE *f_in, char *buf, short *charix, int *charix_top, int n_buf, int *tone_type, char *voice_change);
|
||||
|
||||
|
||||
+13
-6
@@ -798,14 +798,25 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
break;
|
||||
|
||||
case V_DICTRULES: // conditional dictionary rules and list entries
|
||||
case V_NUMBERS:
|
||||
// expect a list of numbers
|
||||
while(*p != 0)
|
||||
{
|
||||
while(isspace(*p)) p++;
|
||||
n = -1;
|
||||
if(((n = atoi(p)) > 0) && (n < 32))
|
||||
if((n = atoi(p)) > 0)
|
||||
{
|
||||
p++;
|
||||
conditional_rules |= (1 << n);
|
||||
if((key==V_DICTRULES) && (n < 32))
|
||||
conditional_rules |= (1 << n);
|
||||
else
|
||||
if((key==V_NUMBERS) && (n < 32))
|
||||
langopts->numbers |= (1 << n);
|
||||
else
|
||||
if((key==V_NUMBERS) && (n < 64))
|
||||
langopts->numbers |= (1 << (n-32));
|
||||
else
|
||||
fprintf(stderr,"Bad option number %d\n", n);
|
||||
}
|
||||
while(isalnum(*p)) p++;
|
||||
}
|
||||
@@ -837,10 +848,6 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
new_translator->charset_a0 = charsets[value];
|
||||
break;
|
||||
|
||||
case V_NUMBERS:
|
||||
sscanf(p,"%d %d",&langopts->numbers,&langopts->numbers2);
|
||||
break;
|
||||
|
||||
case V_OPTION:
|
||||
value2 = 0;
|
||||
if((sscanf(p,"%s %d %d",option_name,&value,&value2) >= 2) && ((ix = LookupMnem(options_tab, option_name)) >= 0))
|
||||
|
||||
+1
-1
@@ -535,7 +535,7 @@ int wave_get_remaining_time(uint32_t sample, uint32_t* time)
|
||||
#else
|
||||
// notdef USE_SADA
|
||||
|
||||
void wave_init() {}
|
||||
init wave_init() {}
|
||||
void* wave_open(const char* the_api) {return (void *)1;}
|
||||
size_t wave_write(void* theHandler, char* theMono16BitsWaveBuffer, size_t theSize) {return theSize;}
|
||||
int wave_close(void* theHandler) {return 0;}
|
||||
|
||||
Reference in New Issue
Block a user