Browse Source

[1.48.05]

Updated eSpeak makefile to inherit compiler options.

Language Greek (el): recognize polytonic spelling.

Language changes: en, gu, it, pt, ta, ur.
Language phoneme changes: de [r],  hi [a:] [r].

Added phoneme table for Arabic.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@376 d46cf337-b52f-0410-862d-fd96e6ae7743
master
jonsd 11 years ago
parent
commit
24379e026d

+ 1
- 0
dictsource/cy_rules View File



ae AY ae AY
ai aI ai aI
a'i (K aI
au aY au aY
// @) au (_ a // @) au (_ a
aw (+ aU aw (+ aU

+ 30
- 30
dictsource/dict_phonemes View File

v w x X z v w x X z




Dictionary en_dict 2014-03-06
Dictionary en_dict 2014-05-22


0 0# 02 3 3: @ @- @2 0 0# 02 3 3: @ @- @2
@5 @L a a# A: A@ aa aI
aI3 aI@ aU aU@ A~ e E E#
e: e@ eI i I I# I2 i:
i@ i@3 IR n- o O O: o:
O@ o@ OI oU O~ u U u:
U@ V VR
@5 @L a a# A# A: A@ aa
aI aI3 aI@ aU aU@ A~ e E
E# E2 e: e@ eI i I I#
I2 i: i@ i@3 IR n- o O
O: o: O@ o@ OI oU O~ u
U u: U@ V VR


* : ; ? b C d D * : ; ? b C d D
d# dZ f g h j k l d# dZ f g h j k l
Z Z




Dictionary ta_dict 2014-03-06
Dictionary ta_dict 2014-05-23


a a: aI aU e E e: i a a: aI aU e E e: i
I i: o o: u U u2 u: I i: o o: u U u2 u:
s s- t t- tS tS; tS;- w s s- t t- tS tS; tS;- w




Dictionary it_dict 2014-03-04
Dictionary it_dict 2014-05-02


@ @- a a/ aI aU e E @ @- a a/ aI aU e E
eI EI i I i# o O u
U y
e/ eI EI eU i I i# o
O u U y


* - : ; b d d[ dZ * - : ; b d d[ dZ
dz f g h j k l l^ dz f g h j k l l^
m n N n^ p r R s m n N n^ p r R s
S t t[ tS ts tS; v w S t t[ tS ts tS; v w
w2 z
w2 z Z




Dictionary sk_dict 2013-10-19 Dictionary sk_dict 2013-10-19
x z Z x z Z




Dictionary ur_dict 2014-01-30
Dictionary ur_dict 2014-05-16


@ a a: aI aU e E e: @ a a: aI aU e E e:
i I i: O o: u U u: i I i: O o: u U u:
tS ts v z Z tS ts v z Z




Dictionary pt_dict 2014-03-02
Dictionary pt_dict 2014-05-22


& &/ &U~ &~ @ @- a A & &/ &U~ &~ @ @- a A
aI aU e E eI EI eU EU aI aU e E eI EI eU EU
i I i/ iU i~ o O oI i I i/ iU i~ o O oI
OI o~ u U uI u~ y OI o~ u U uI u~ y


* : ; b C d dZ f
g h j k l l^ m n
N n^ p Q r R r- s
S s# s; t T tS ts v
w x z Z
* : ; b c C d dZ
f g h j k l l^ m
n N n^ p Q r R r-
s S s# s; t T tS ts
v w x z Z




Dictionary tr_dict 2013-04-25 Dictionary tr_dict 2013-04-25
t. t.# tS tS# v w t. t.# tS tS# v w




Dictionary te_dict 2013-11-23
Dictionary te_dict 2014-05-22


a a: aI aU e E e: i a a: aI aU e E e: i
i: l- o o: r- u u: i: l- o o: r- u u:
t# tS w x t# tS w x




Dictionary el_dict 2011-05-19
Dictionary el_dict 2014-05-17


a aI e i o oI u a aI e i o oI u


T v x z T v x z




Dictionary cy_dict 2012-10-10
Dictionary cy_dict 2014-03-09


@ @- @I @Y a A: aI aU @ @- @I @Y a A: aI aU
AY aY E e: eU I i: Iu AY aY E e: eU I i: Iu
tS v w tS v w




Dictionary hbs_dict 2013-03-29
Dictionary hbs_dict 2014-05-01


& @ @2 a A a: aI aU & @ @2 a A a: aI aU
e E e: i I i: l- o e E e: i I i: l- o
t t# t. t.# v w x z t t# t. t.# v w x z




Dictionary as_dict 2013-10-04
Dictionary as_dict 2014-04-29


& @ a a: a~ e e~ i & @ a a: a~ e e~ i
I i: i~ o O o: O~ o~ I i: i~ o O o: O~ o~
tS tS# v w X ~ tS tS# v w X ~




Dictionary gu_dict 2014-03-03
Dictionary gu_dict 2014-04-30


@ @- @2 @3 a a: aI aI~ @ @- @2 @3 a a: aI aI~
aU aU~ e E e: e~ i I aU aU~ e E e: e~ i I


#X1 #X2 * - : ; b b# #X1 #X2 * - : ; b b#
c c# d d# d. d.# f g c c# d d# d. d.# f g
g# h H j J J# k k#
l l. m n N n. n^ p
p# Q q r r. s S s.
t t# t. t.# v w x z
g# h H j J k k# l
m n N n. n^ p p# Q
q r r. s S s. t t#
t. t.# v w x z




Dictionary lfn_dict 2013-12-20 Dictionary lfn_dict 2013-12-20
s S t tS v w z Z s S t tS v w z Z




Dictionary eu_dict 2014-03-04
Dictionary eu_dict 2014-05-22


a a2 aI aU e eI eU i a a2 aI aU e eI eU i
o oI u Y o oI u Y

+ 129
- 8
dictsource/el_list View File



αλλά $u $pause // but αλλά $u $pause // but
και ke $u // and (don't change to [ge] after n) και ke $u // and (don't change to [ge] after n)
καί ke $u // polytonic
ή $u $pause // or ή $u $pause // or
ότι $u $pause // that ότι $u $pause // that
αν $u $pause // if, whether αν $u $pause // if, whether
ψ psi ψ psi
ω om'eQa ω om'eQa


ά ,alfa|t'onos
ά ,alfa||t'onos
έ ,epsilon|t'onos έ ,epsilon|t'onos
_ή ,ita|t'onos
ή ,ita|t'onos $atend
ί i,ota|t'onos
ΰ ,ipsilon|t'onos
ϊ i'ota
ϋ 'ipsilon
_ή ,ita||t'onos
ή ,ita||t'onos $atend
ί i,ota||t'onos
ϊ i'ota||Di;alitik'a
ΐ i,ota||Di;alitik'a||t'onos // + dialytika
ό ,omikron|t'onos ό ,omikron|t'onos
ύ ,ipsilon|t'onos ύ ,ipsilon|t'onos
ώ om,eQa|t'onos
ϋ 'ipsilon||Di;alitik'a
ΰ ,ipsilon|Di;alitik'a||t'onos
ώ om,eQa||t'onos

ὰ ,alfa||var'ia
ὲ ,epsilon|var'ia
ὴ ,ita||var'ia
ὶ i,ota||var'ia
ῒ i,ota||Di;alitik'a||var'ia
ὸ ,omikron|var'ia
ὺ ,ipsilon|var'ia
ῢ ,ipsilon|Di;alitik'a||var'ia
ὼ om,eQa||var'ia

ά ,alfa||oks'ia
έ ,epsilon|oks'ia
ή ,ita||oks'ia
ί i,ota||oks'ia
ΐ i,ota||Di;alitik'a||oks'ia
ό ,omikron|oks'ia
ύ ,ipsilon|oks'ia
ΰ ,ipsilon|Di;alitik'a||oks'ia
ώ om,eQa||oks'ia

ᾶ ,alfa||perispom'eni
ῆ ,ita||perispom'eni
ῖ i,ota||perispom'eni
ῗ i,ota||Di;alitik'a||perispom'eni
ῦ ,ipsilon||perispom'eni
ῧ ,ipsilon||Di;alitik'a||perispom'eni
ῶ om,eQa||perispom'eni

ἁ ,alfa||Das'ia
ἑ ,epsilon|Das'ia
ἡ ,ita||Das'ia $atend
ἱ i,ota||Das'ia
ὁ ,omikron|Das'ia $atend
ὑ ,ipsilon|Das'ia
ὡ om,eQa||Das'ia

ἀ ,alfa||psil'i
ἂ ,alfa||psil'i||var'ia
ἄ ,alfa||psil'i||oks'ia
ἆ ,alfa||psil'i||perispom'eni

ἐ ,epsilon|psil'i
ἒ ,epsilon|psil'i||var'ia
ἔ ,epsilon|psil'i||oks'ia

ἠ ,ita||psil'i
ἢ ,ita||psil'i||var'ia
ἤ ,ita||psil'i||oks'ia
ἦ ,ita||psil'i||perispom'eni

ἰ i,ota||psil'i
ἲ i,ota||psil'i||var'ia
ἴ i,ota||psil'i||oks'ia
ἶ i,ota||psil'i||perispom'eni

ὀ ,omikron|psil'i
ὂ ,omikron|psil'i||var'ia
ὄ ,omikron|psil'i||oks'ia

ὐ ,ipsilon|psil'i
ὒ ,ipsilon|psil'i||var'ia
ὔ ,ipsilon|psil'i||oks'ia
ὖ ,ipsilon|psil'i||perispom'eni

ὠ om,eQa||psil'i
ὢ om,eQa||psil'i||var'ia
ὤ om,eQa||psil'i||oks'ia
ὦ om,eQa||psil'i||perispom'eni

ἁ ,alfa||Das'ia
ἃ ,alfa||Das'ia||var'ia
ἅ ,alfa||Das'ia||oks'ia
ἇ ,alfa||Das'ia||perispom'eni

ἑ ,epsilon|Das'ia
ἓ ,epsilon|Das'ia||var'ia
ἕ ,epsilon|Das'ia||oks'ia

ἡ ,ita||Das'ia $atend
ἣ ,ita||Das'ia||var'ia
ἥ ,ita||Das'ia||oks'ia
ἧ ,ita||Das'ia||perispom'eni

ἱ i,ota||Das'ia
ἳ i,ota||Das'ia||var'ia
ἵ i,ota||Das'ia||oks'ia
ἷ i,ota||Das'ia||perispom'eni

ὁ ,omikron|Das'ia $atend
ὃ ,omikron|Das'ia||var'ia
ὅ ,omikron|Das'ia||oks'ia

ὑ ,ipsilon|Das'ia
ὓ ,ipsilon|Das'ia||var'ia
ὕ ,ipsilon|Das'ia||oks'ia
ὗ ,ipsilon|Das'ia||perispom'eni

ὡ om,eQa||Das'ia
ὣ om,eQa||Das'ia||var'ia
ὥ om,eQa||Das'ia||oks'ia
ὧ om,eQa||Das'ia||perispom'eni

// ypogegrammeni
ᾳ ,alfa||||ipojeQram'eni

ῃ ,ita||||ipojeQram'eni

ῳ om,eQa||ipojeQram'eni
ῷ om,eQa||perispom'eni||ipojeQram'eni
ᾠ om,eQa||psil'i||ipojeQram'eni


_. tel'ia _. tel'ia
_, k'oma _, k'oma


U+342 perispom'eni // combining accent
U+345 ipojeQram'eni // combining iota subscript
U+37a ipojeQram'eni // iota subscript
U+1fbf psil'i
U+1fc0 perispom'eni
U+1fc1 Di;alitik'a||perispom'eni


// Jer // Jer
μου $u μου $u
σου $u σου $u

+ 117
- 1
dictsource/el_rules View File



.L01 αι ε ι η υ οι ει αί έ ί ή ύ οί εί .L01 αι ε ι η υ οι ει αί έ ί ή ύ οί εί


.replace
// replace varia by tonos
ὰ ά
ὲ έ
ὴ ή
ὶ ί
ῒ ΐ
ὸ ό
ὺ ύ
ῢ ΰ
ὼ ώ

// replace oxia by tonos
ά ά
έ έ
ή ή
ί ί
ΐ ΐ
ό ό
ύ ύ
ΰ ΰ
ώ ώ

// replace perispomeni by tonos
ᾶ ά
ῆ ή
ῖ ί
ῗ ΐ
ῦ ύ
ῧ ΰ
ῶ ώ


// remove psili
ἀ α
ἂ ά
ἄ ά
ἆ ά

ἐ ε
ἒ έ
ἔ έ

ἠ η
ἢ ή
ἤ ή
ἦ ή

ἰ ι
ἲ ί
ἴ ί
ἶ ί

ὀ ο
ὂ ό
ὄ ό

ὐ υ
ὒ ύ
ὔ ύ
ὖ ύ

ὠ ω
ὢ ώ
ὤ ώ
ὦ ώ


// remove dasia
ἁ α
ἃ ά
ἅ ά
ἇ ά

ἑ ε
ἓ έ
ἕ έ

ἡ η
ἣ ή
ἥ ή
ἧ ή

ἱ ι
ἳ ί
ἵ ί
ἷ ί

ὁ ο
ὃ ό
ὅ ό

ὑ υ
ὓ ύ
ὕ ύ
ὗ ύ

ὡ ω
ὣ ώ
ὥ ώ
ὧ ώ

// ypogegrammeni
ᾳ α

ῃ η

ῳ ω
ῷ ώ // perispomeni + y
ᾠ ω // psili + y



.group α .group α
α a α a
έ 'e έ 'e
ή 'i ή 'i
ί 'i ί 'i
ΰ 'i
ΐ 'i // dialytika + tonos
ϊ i ϊ i
ϋ i ϋ i
ό 'o ό 'o
όη 'oI όη 'oI
όι 'oI όι 'oI
ύ 'i ύ 'i
ΰ 'i // dialytika + tonos
ώ 'o ώ 'o



ͅ // combining ypogegrammeni
ͺ // ypogegrammeni
. tel'ia . tel'ia
, (D k'oma , (D k'oma
! Tavmastik'o ! Tavmastik'o

+ 277
- 139
dictsource/en_list
File diff suppressed because it is too large
View File


+ 164
- 72
dictsource/en_rules
File diff suppressed because it is too large
View File


+ 4
- 0
dictsource/eu_list View File

eko $u eko $u
era $u era $u
ko $u ko $u


etxe $1 $only


+ 2
- 0
dictsource/eu_rules View File

ei eI ei eI
eu eU eu eU


&) ek (_S2 ek


.group f .group f
f f f f

+ 3
- 3
dictsource/gu_list View File

_86 c#e:'V~si _86 c#e:'V~si
_87 s@t:j'a:si _87 s@t:j'a:si
_88 ,Vt.#j'a:si _88 ,Vt.#j'a:si
_89 nIvj'a:si
_89 ne:vj'a:Si


_90 n'e:vu~ _90 n'e:vu~
_91 e:k'a:n.u~ _91 e:k'a:n.u~
છ ch@ છ ch@
જ J@ જ J@
જ઼ z@ જ઼ z@
Jh@
z@
ઞ n^@ ઞ n^@
ટ t.@ ટ t.@
ઠ t.#@ ઠ t.#@
ર r@ ર r@


લ l@ લ l@
l.@
@r.@ // According to chart this is lla ( ળ 0AB3)but it is told that it looks like adda ( ડ઼ 0AA1 + 0ABC)
વ v@ વ v@
શ S@ શ S@
ષ s.@ // retroflex [S] ષ s.@ // retroflex [S]

+ 11
- 12
dictsource/gu_rules View File



.group ઇ .group ઇ
ઇ I ઇ I
// ઇઁ i~
ઇં i~
// ઇઁ In
ઇં In


.group ઈ .group ઈ
ઈ i: ઈ i:
ા (ઁ V~ ા (ઁ V~
ાઁ (_ V~ ાઁ (_ V~
ાં V~ ાં V~
ાવ aU


.group િ .group િ
િ I િ I
// િઁ i~
િં i~
// િઁ In
િં In


.group ી .group ી
ી i: ી i:
જ્ઞ gn.V જ્ઞ gn.V
જ્ઞ (B gn. જ્ઞ (B gn.


.group ઝ
J#V
ઝ (B J#
.group ઝ // According to chart this is jha ( ઝ 0A9D)but it is told that it looks like za ( જ઼ 0A9C + 0ABC)
zV
ઝ (B z


.group ઞ .group ઞ
ઞ n^V ઞ n^V
લ (B l લ (B l
્) લ (_ l@ ્) લ (_ l@


.group ળ
l.V
ળ (B l.
્) ળ (_ l.@
.group ળ // According to chart this is lla ( ળ 0AB3)but it is told that it looks like adda ( ડ઼ 0AA1 + 0ABC)
r.V
ળ (B r.
્) ળ (_ r.@


.group વ .group વ
વ vV વ vV

+ 5
- 6
dictsource/hbs_list View File

_‚ 'otvoReni||n'avodnIk _‚ 'otvoReni||n'avodnIk
_„ sp'uSteni||n'avodnIk _„ sp'uSteni||n'avodnIk
?2 _„ z&tvoReni||n'avodnIk ?2 _„ z&tvoReni||n'avodnIk
… tr*'i||t'otSke
?4 … tr*'i||t'atSke
_… tr*'i||t'otSke
?4 _… tr*'i||t'atSke
† kr*'iZ † kr*'iZ
?2 † kr-'st ?2 † kr-'st
‡ dv'ostr*Uki||kr*'iZ ‡ dv'ostr*Uki||kr*'iZ
_’ j'ednostr*'uki||n'avodnIk _’ j'ednostr*'uki||n'avodnIk
_“ 'otvoReni||n'avodnIk _“ 'otvoReni||n'avodnIk
_” z'atvoReni||n'avodnIk _” z'atvoReni||n'avodnIk
• kr*'upna||t'otSk&
?4 • kr*'upna||t'atSk&
_• kr*'upna||t'otSk&
?4 _• kr*'upna||t'atSk&
_– En||ts'r-t& _– En||ts'r-t&
_— Em||ts'r-t& _— Em||ts'r-t&
™ pr*'o'izvodZ&tS ™ pr*'o'izvodZ&tS
÷ p'odijel^,eno ÷ p'odijel^,eno
?2 ÷ p'odel^,eno ?2 ÷ p'odel^,eno


_$ d'ol&R
$ d'ol&R
_- m'inus _- m'inus
_* zvj'ezdits& _* zvj'ezdits&
?2 _* zv'ezdits& ?2 _* zv'ezdits&
_= j'edn&ko
_@ t'r-g'ov&tSko||'a _@ t'r-g'ov&tSko||'a
?2 _@ et ?2 _@ et



+ 686
- 193
dictsource/it_list
File diff suppressed because it is too large
View File


+ 270
- 80
dictsource/it_listx
File diff suppressed because it is too large
View File


+ 535
- 487
dictsource/it_rules
File diff suppressed because it is too large
View File


+ 47
- 23
dictsource/pt_list View File

_) f,ES&pa*'eINtezy _) f,ES&pa*'eINtezy
_* &ste*'iskU _* &ste*'iskU
_− m'enUs _− m'enUs
№ n'u~me*U
∞ iNfin'itU
∫ iNtegR'aU
⅓ u~Nt'e*@-sU
⅔ doIs#t'e*@-sUs#
¼ u~Nku'a*@-tU ¼ u~Nku'a*@-tU
½ m'eIU ½ m'eIU
¾ tRes#kw'a*@-tUs# ¾ tRes#kw'a*@-tUs#
_] f,ES&kowS'etSi _] f,ES&kowS'etSi
_^ s,irku~Nfl'Eksu _^ s,irku~Nfl'Eksu
_´ as'eINtu,ag'udU _´ as'eINtu,ag'udU
· p'oNtUseINtR'adU
__ s,ublin^'adu __ s,ublin^'adu
_` gR'avi _` gR'avi
_{ ,abRiS'avi _{ ,abRiS'avi
_2 d'oIs# _2 d'oIs#
_3 tR'es# _3 tR'es#
?1 _4 kw'atru ?1 _4 kw'atru
?2 _4 kw'atRu
_5 s'iNku
?2 _4 kw'atRU
?1 _5 s'iNku
?2 _5 s'iNkU
_6 s'eIs# _6 s'eIs#
?1 _7 s'Ety ?1 _7 s'Ety
?2 _7 s'EtSy ?2 _7 s'EtSy
_8 'oItu
?1 _8 'oItu
?2 _8 'oItU
_9 n'Ovy _9 n'Ovy
_10 d'Es# _10 d'Es#


_11 'oNzy _11 'oNzy
_12 d'ozy _12 d'ozy
?1_13 tr'ezy ?1_13 tr'ezy
?2_13 tR'ezi
?2_13 tR'ezy
?1_14 k&t'orzy ?1_14 k&t'orzy
?2_14 kat'orzy
?2_14 kat'o*@-zy
_15 k'iNzy _15 k'iNzy
?1_16 dyz&s'eis# ?1_16 dyz&s'eis#
?2_16 d,ezes'eIs# ?2_16 d,ezes'eIs#
?1_17 dyz&s'Ety ?1_17 dyz&s'Ety
?2_17 d,ezes'EtSy ?2_17 d,ezes'EtSy
?1_18 dyz'Oitu ?1_18 dyz'Oitu
?2_18 dez'oItu
?2_18 dez'oItU
?1_19 dyz&n'Ovy ?1_19 dyz&n'Ovy
?2_19 dezen'Ovy ?2_19 dezen'Ovy
?1_2X v'iNty ?1_2X v'iNty
?2_2X v'iNtSy ?2_2X v'iNtSy
_3X tR'iNt& _3X tR'iNt&

?1_4X kw&*'eNt& ?1_4X kw&*'eNt&
?2_4X kwa*'eINt& ?2_4X kwa*'eINt&
_5X siNkw'eINt& _5X siNkw'eINt&
?2_3C tRez'eINtUz ?2_3C tRez'eINtUz
?1_5C kin^'eINtus# ?1_5C kin^'eINtus#
?2_5C kin^'eINtUz ?2_5C kin^'eINtUz
?1_6C seIs'eINtus#
?2_6C seIs'eINtUz
?1_0M1 m'il_ ?1_0M1 m'il_
?2_0M1 m'iU_ ?2_0M1 m'iU_
?1_1M1 m'il_ ?1_1M1 m'il_
?2_1M1 m'iU_ ?2_1M1 m'iU_


?1_0M2 milj'o~js#
?2_0M2 milj'o~jz
_0M2 milj'o~js#
_1M2 'u~milj'&U~ _1M2 'u~milj'&U~
?1_0M3 bilj'o~js#
?2_0M3 bilj'o~jz
_0M3 bilj'o~js#
_1M3 'u~mbilj'&U~ _1M3 'u~mbilj'&U~
?1_0M4 trilj'o~js#
?2_0M4 trilj'o~jz
_1M4 'u~ntrilj'&U~
_0M4 trilj'o~js#
_1M4 'u~ntRilj'&U~
_0and i _0and i
_dpt _v'irgul& _dpt _v'irgul&
// _0Z2 seNt'Ezim& // 100ths // _0Z2 seNt'Ezim& // 100ths


abordo $alt abordo $alt
aborto $alt $verb aborto $alt $verb
abortos $alt2
absorta $alt2 absorta $alt2
acerto $alt2 $noun acerto $alt2 $noun
acertos $alt2 acertos $alt2
borboleta $alt2 borboleta $alt2
bordo $alt bordo $alt
borra $alt2 $noun borra $alt2 $noun
bosque $alt
boto $alt2 $noun boto $alt2 $noun
boxe $alt boxe $alt
bracelete $alt2 bracelete $alt2
colossos $alt2 colossos $alt2
colostro $alt2 colostro $alt2
começo $alt $verb começo $alt $verb
comodo $alt2
concerto $alt2 $noun concerto $alt2 $noun
concertos $alt2 concertos $alt2
concordo $alt concordo $alt
controles $alt2 controles $alt2
controles $alt $verb controles $alt $verb
controlo $alt2 $noun controlo $alt2 $noun
conveses $alt
copta $alt
coreia $alt coreia $alt
cores $alt2 cores $alt2
cores $alt $verb cores $alt $verb
encasqueta $alt encasqueta $alt
encosto $alt $verb encosto $alt $verb
endereço $alt $verb endereço $alt $verb
endoide $alt2
enforco $alt enforco $alt
engordo $alt engordo $alt
enredo $alt $verb enredo $alt $verb
eta $alt2 eta $alt2
europa $alt europa $alt
europeia $alt europeia $alt
evangelho $alt
?2 ex es ?2 ex es
exagero $alt $verb exagero $alt $verb
exegeses $alt exegeses $alt
interesse $alt2 interesse $alt2
interesse $alt $verb interesse $alt $verb
internet $alt internet $alt
interregno $alt
iodo $alt2 iodo $alt2
ioga $alt ioga $alt
isolda $alt2 isolda $alt2
pipoco $alt2 $noun pipoco $alt2 $noun
plateia $alt plateia $alt
plebeia $alt plebeia $alt
poderem $alt2
polca $alt polca $alt
pompeia $alt pompeia $alt
porcos $alt porcos $alt
renovo $alt $verb renovo $alt $verb
represa $alt2 represa $alt2
retorno $alt $verb retorno $alt $verb
reuva x'EUv&
reveses $alt
rigores $alt2 rigores $alt2
risoto $alt2 risoto $alt2
robson $alt robson $alt
soco $alt $verb soco $alt $verb
sogra $alt sogra $alt
sopa $alt2 sopa $alt2
sopeses $alt
sopro $alt2 $noun sopro $alt2 $noun
sorvete $alt2 sorvete $alt2
sossego $alt2 $noun sossego $alt2 $noun
vileta $alt2 vileta $alt2
vodca v'OdZik& vodca v'OdZik&
voga $alt voga $alt
voice $alt
xarope $alt xarope $alt
xereta $alt2 xereta $alt2
xerox S'E*Oks xerox S'E*Oks
?2 Braille bR'aili ?2 Braille bR'aili
?1 cancel k'&ns'El ?1 cancel k'&ns'El
?1 caps k'aps ?1 caps k'aps
?2 cappuccino kaputS'inU
?2 center s'eNter ?2 center s'eNter
?1 com kom ?1 com kom
?1 ctrl k'oNt:r,Ol ?1 ctrl k'oNt:r,Ol
happy x'Epy happy x'Epy
?1 home 'omy ?1 home 'omy
?2 home h'owmi ?2 home h'owmi
?1 hotmail h'Otm'eIl
?2 hotmail hotm'eIl
hot xOt
?1 hotmail h'Ot'eIl
?2 hotmail hOtm'eIl
?1 install ,inst'al ?1 install ,inst'al
?2 Intranet iNtRan'Et ?2 Intranet iNtRan'Et
?1 kernel k'Ern,El ?1 kernel k'Ern,El
?1 lock l'Ok ?1 lock l'Ok
mail m'eIl mail m'eIl
mails m'eIls mails m'eIls
marketing m'arketSiN
?1 marketing m'arktiN
?2 marketing m'arketSiN
?2 master m'aste*@- ?2 master m'aste*@-
?2 mouse m'aUzi ?2 mouse m'aUzi
?1 menu menu ?1 menu menu
outdoor aUtd'Or outdoor aUtd'Or
?2 outdoors aUtd'Ors ?2 outdoors aUtd'Ors
baby b'eIby baby b'eIby
chrome kR'owmi
?1 chrome kr'owm
?2 chrome kR'owmi
debian d'Ebj&~N debian d'Ebj&~N
?1 excel ,Eks'El ?1 excel ,Eks'El
?1 express ,Ekspr'Es ?1 express ,Ekspr'Es




// historical/famous person s // historical/famous person s
?2 Alzheimer aUz'aImEr
babbage b'abidZ babbage b'abidZ
bernhard bern'ard bernhard bern'ard
darwin d'Arwin darwin d'Arwin
hawking h'o:king hawking h'o:king
heisenberg h'aIzEnberg heisenberg h'aIzEnberg
hitler h'itler hitler h'itler
?2 hobbes x'Obys
husserl x'usEl husserl x'usEl
isaac iz'&k
?1 isaac iz'&k
?2 isaac iz'ac
lavoisier lavwazj'e lavoisier lavwazj'e
leibniz l'aIbni:ts leibniz l'aIbni:ts
locke lOk
montesquieu m,oNteskj'e montesquieu m,oNteskj'e
neumann n'OIman neumann n'OIman
newton n'i;utoN
newton n'I;utoN
oppenheimer _!'Op@nh,aImar oppenheimer _!'Op@nh,aImar
richard x'iS&rd richard x'iS&rd
riemann r'i:man riemann r'i:man
krueger kR'iZer krueger kR'iZer
krüger kR'iZer krüger kR'iZer
kühl k'il kühl k'il
?2 john dZIoN
?2 juan xu&~N ?2 juan xu&~N
mueler m'iler mueler m'iler
mueller m'iler mueller m'iler
müller m'iler müller m'iler
?1 nelson n'Els&N ?1 nelson n'Els&N
ronchi r'OnCi: ronchi r'OnCi:
Scarlet sk'a*@-let
valter v'aUter valter v'aUter
vogel f'o:g@l vogel f'o:g@l
volkmann f'Olkman volkmann f'Olkman

+ 36
- 14
dictsource/pt_rules View File

êCC) e (C@ e êCC) e (C@ e
ôC) e (C@ e ôC) e (C@ e
áC) e (C@ e áC) e (C@ e
áC) el (_ eU
?2 áC) el (_ eU
áCC) e (CA_ e áCC) e (CA_ e
éCC) e (CA_ e éCC) e (CA_ e
éCCC) e (C@ e éCCC) e (C@ e
íC) el (_ eU
?2 íC) el (_ eU
íC) e (C@ e íC) e (C@ e
íCC) e (C@ e íCC) e (C@ e
óC) e (C@ e óC) e (C@ e
óCC) e (CA_ e óCC) e (CA_ e
úC) e (C@ e úC) e (C@ e
úC) el (_ eU
?2 úC) el (_ eU
ection (_ 'EkS&~N ection (_ 'EkS&~N


//sort //sort
_amanc) e (bL03_ E _amanc) e (bL03_ E
qu) e (brL04_ E qu) e (brL04_ E
cel) e (brL04_ E cel) e (brL04_ E
_sop) e (sL04_ E
_C) e (bre_ E _C) e (bre_ E
_boch) e (chL04_ e _boch) e (chL04_ e
_ex) e (crL04_ E _ex) e (crL04_ E
impr) e (gnL04_ E
_enr) e (dL01_ E _enr) e (dL01_ E
_v) e (dL03_ E _v) e (dL03_ E
_sob) e (rbL03_ e
_pr) e (dL03_ E _pr) e (dL03_ E
_arr) e (dL03_ E _arr) e (dL03_ E
_depr) e (dL03_ E _depr) e (dL03_ E
_pel) e (gL03_ e _pel) e (gL03_ e
_n) e (grL03_ e _n) e (grL03_ e
estr) ei (L04_ EI estr) ei (L04_ EI
_confed) e (rL04_ E
_r) e (jL03_ E _r) e (jL03_ E
_inv) e (jL04_ E _inv) e (jL04_ E
_panfl) e (tL04_ e _panfl) e (tL04_ e
_dig) e (rL02_ E _dig) e (rL02_ E
_m) e (rL03_ E _m) e (rL03_ E
_sev) e (rL03_ E _sev) e (rL03_ E
_reit) e (rL03_ E
_reit) e (rL04_ E
_sinc) e (rL03_ E _sinc) e (rL03_ E
_g) e (rL04_ E _g) e (rL04_ E
_z) e (rL04_ E _z) e (rL04_ E
_esn) o (bL04_ O _esn) o (bL04_ O
_engl) o (bL04_ O _engl) o (bL04_ O
_sal) o (brL03_ o _sal) o (brL03_ o
_) o (cL03_ o
_) o (cL03_ o
_barr) o (cL03_ o _barr) o (cL03_ o
_ch) o (chA_ o _ch) o (chA_ o
_m) o (chA_ o _m) o (chA_ o
_arr) o (lhL03_ O _arr) o (lhL03_ O
_enr) o (lhL03_ O _enr) o (lhL03_ O
_) o (lhL04_ O _) o (lhL04_ O
_) o (bstL04_ O
m) o (lhL04_ O m) o (lhL04_ O
emb) o (lsL04_ O emb) o (lsL04_ O
_env) o (ltL03_ o _env) o (ltL03_ o
_Cach) o (rra_ o _Cach) o (rra_ o
@p) o (rtL03_ O // importo, etc. @p) o (rtL03_ O // importo, etc.
a_c) o (rte_ o a_c) o (rte_ o
ortos (_ O*@-t=Us# // tortos, mortos, etc.
_abs) o (rvL01_ o
_abs) o (rvL01_ o
t) o (rçL03_ o // con- t) o (rçL03_ o // con-
_c) o (sL01_ o _c) o (sL01_ o
_desc) o (sL01_ o _desc) o (sL01_ o
_r) o (snL04_ O _r) o (snL04_ O
_c) o (spL02_ O _c) o (spL02_ O
enr) o (squL02_ O enr) o (squL02_ O
emb) o (scL03_ O
b) o (squL02_ O
ossos (_ Os=Us# // nossos, grossos, etc. ossos (_ Os=Us# // nossos, grossos, etc.
p) ostos (_ Ost=Us# // dispostos etc.ortos (_ 'O*@-tUs
ossos (_A Os=Uz // nossos, grossos, etc.
?1 ossos (_G Os=UZ // nossos, grossos, etc.
?2 ossos (_G Os=Uz // nossos, grossos, etc.
p) ostos (_ Ost=Us# // dispostos etc.
p) ostos (_A Ost=Uz // dispostos etc.
?1 p) ostos (_G Ost=UZ // dispostos etc.
?2 p) ostos (_G Ost=Uz // dispostos etc.
ortos (_ 'O*@-tUs
ortos (_A 'O*@-tUz
?1 ortos (_G 'O*@-tUZ
?2 ortos (_G 'O*@-tUz
ovos (_ Ov=Us# novos, povos, etc.
ovos (_A Ov=Uz novos, povos, etc.
?1 ovos (_G Ov=UZ novos, povos, etc.
?2 ovos (_G Ov=Uz novos, povos, etc.
ortos (_ O*@-t=Us# // tortos, mortos, etc.
_Gar) o (tL03_ o _Gar) o (tL03_ o
_escr) o (tL03_ o _escr) o (tL03_ o
zig) o (to_ o zig) o (to_ o
_ch) o (vL01_ o _ch) o (vL01_ o
pr) o (vL03_ O pr) o (vL03_ O
ovos (_ Ov=Us# novos, povos, etc.
_ortod) o (xL03_ O
_Com) o (do_ o
_ortod) o (xL03_ O
_g) o (zL04_ O _g) o (zL04_ O
_alm) o (çL01_ O _alm) o (çL01_ O
_esb) o (çL01_ O _esb) o (çL01_ O
A) qu (idade_ kw A) qu (idade_ kw
_a) qu (ífero_ kw _a) qu (ífero_ kw
e) qu (estr kw e) qu (estr kw
ese) qu (ív kw
_e) qu (in kw
_e) qu (in kw
exe) qu (AC kw
fre) qu (ent kw fre) qu (ent kw
?2 li) qu (id kw ?2 li) qu (id kw
?2 lí) qu (id kw ?2 lí) qu (id kw
s (G z s (G z
s (w+ s s (w+ s
sr zx sr zx

_) sobre (@P5 sob*e _) sobre (@P5 sob*e
tran) s (A z tran) s (A z
_trân) s (ito_ z _trân) s (ito_ z
?1 ssion (_ _^_EN
_sub) s (ist z
?1 ssion (_ _^_EN




.group t .group t
_o) x (í ks _o) x (í ks
_pe) xo (to_ So _pe) xo (to_ So
pi) x (A S pi) x (A S
_pree) x (ist z
_pro) x (A S _pro) x (A S
_pra) x (A S _pra) x (A S
prA) x (i s // aproximado, aproximar, próximo, etc. prA) x (i s // aproximado, aproximar, próximo, etc.

+ 2
- 0
dictsource/ta_list View File

திமு $alt திமு $alt
தாவா $alt தாவா $alt
துருவா $alt துருவா $alt
தண்டி $alt





// initial ட // initial ட

+ 34
- 5
dictsource/ta_rules View File

_) க (ார்டியன g _) க (ார்டியன g
_) க (ால்ஃப் g _) க (ால்ஃப் g
_) கால்ப் ga:lf _) கால்ப் ga:lf
_) க (ாவஸ்கர g
_) க (ிஃப்ட g _) க (ிஃப்ட g
_) க (ிடாரிட g _) க (ிடாரிட g
_) க (ிடாரின g _) க (ிடாரின g
_) கி (ரக g _) கி (ரக g
_) கி (ரகண g _) கி (ரகண g
_) கி (ரணி ki _) கி (ரணி ki
_) கி (ரண்_ ki
_) கி (ரந்த g _) கி (ரந்த g
_) கி (ரய k _) கி (ரய k
_) கி (ரவுண்ட g _) கி (ரவுண்ட g
_) க (ோமுக g _) க (ோமுக g
_) க (ோமூத்திர g _) க (ோமூத்திர g
_) க (ோயல g _) க (ோயல g
_) க (ோர_ g
_) க (ோர_முக g
_) க (ோர_பாவ g
_) க (ோர_மாட்ட k _) க (ோர_மாட்ட k
_) க (ோர_முடிய k _) க (ோர_முடிய k
_) க (ோர_வேண்ட k _) க (ோர_வேண்ட k
_) க் (ளாஸ்_ g _) க் (ளாஸ்_ g
_) க்வ (A kw _) க்வ (A kw
_) க் (வாலியர g _) க் (வாலியர g
_) குல்ச (ார gulz
_) க (ுணரூப g
_) க (ுவாஹா g
//endsort //endsort


//sort //sort
மோ) க (ினி H மோ) க (ினி H
_ம) க (ிமை H _ம) க (ிமை H
எக்ஸ்) கி (யூஸ k எக்ஸ்) கி (யூஸ k
கி (ரண g
_ராஜ்) க (ிரண k _ராஜ்) க (ிரண k
பொற்) கி (ரண g பொற்) கி (ரண g
ஐஸ்) கி (ரீம k ஐஸ்) கி (ரீம k
_கிரL06) ச (ார tS _கிரL06) ச (ார tS
_குணா) ச (ார tS _குணா) ச (ார tS
_பிரிவுப) ச (ார tS _பிரிவுப) ச (ார tS
_விகிதா) ச (ார tS
_விருந்துப) ச (ார tS _விருந்துப) ச (ார tS
ராஜோப) ச (ார tS ராஜோப) ச (ார tS
ஆ) ச (ார_ tS ஆ) ச (ார_ tS
_ந) ச் (னு tS _ந) ச் (னு tS
_ரி) ச் (மண்ட tS _ரி) ச் (மண்ட tS
_கா) ச்மூச tSmu:tSV# _கா) ச்மூச tSmu:tSV#
ஆ) ச (ாரப் tS
//endsort //endsort




_) த (ோஹா d _) த (ோஹா d
_) தௌலதாப (ாத daUlVd.a:b _) தௌலதாப (ாத daUlVd.a:b
_) த (்ராட்சை d _) த (்ராட்சை d
_) துர்க் (மேனிஸ்தான turk
//endsort //endsort


//sort //sort
பு) த்த (ன ddV பு) த்த (ன ddV
_நர்) த்த (ன ddV _நர்) த்த (ன ddV
_குறும்பு) த்த (ன ttV _குறும்பு) த்த (ன ttV
_சகிப்பு) த்த (ன ttV
_ஜனார்) த்த (ன ddV _ஜனார்) த்த (ன ddV
_பரிவர்) த்த (ன ddV _பரிவர்) த்த (ன ddV
_வர்) த்த (மான ddV _வர்) த்த (மான ddV
எட்டு) த்த (ிக்க dd எட்டு) த்த (ிக்க dd
_ம) த்த (ிக்கு dd _ம) த்த (ிக்கு dd
L03) த்த (ிசை dd L03) த்த (ிசை dd
_கீழ்) த்த (ிசை dd
_மன) த்த (ிட dd _மன) த்த (ிட dd
L03) த்த (ின dd L03) த்த (ின dd
சில) த்த (ினங் dd சில) த்த (ினங் dd
_) ப (ட்டன bV _) ப (ட்டன bV
_) ப (ட்டன_ pV _) ப (ட்டன_ pV
_) ப (ட்டனப்பாக்க pV _) ப (ட்டனப்பாக்க pV
_) ப (ட்டனர்_ pV
_) ப (ட்டாசாரி bV _) ப (ட்டாசாரி bV
_) ப (ட்டாச்சாரி bV _) ப (ட்டாச்சாரி bV
_) ப (ண்டாரி bV _) ப (ண்டாரி bV
_) ப (ாடி_பில்டிங் b _) ப (ாடி_பில்டிங் b
_) ப (ாடிக்கு b _) ப (ாடிக்கு b
_) ப (ாடியை b _) ப (ாடியை b
_) பாட (ிஸ்டா ba:t.
_) ப (ாட்டனிய b _) ப (ாட்டனிய b
_) பா (ட்டரி be: _) பா (ட்டரி be:
_) ப (ாட்டலியன b _) ப (ாட்டலியன b
_) புத்த (ம்_புதிய puttV _) புத்த (ம்_புதிய puttV
_) புத்த (ம்_புது puttV _) புத்த (ம்_புது puttV
_) புத்த (ரிசி puttV _) புத்த (ரிசி puttV
_) புத்த (றிவ puttV
_) புத்த (ள puttV _) புத்த (ள puttV
_) புத்த (ழக puttV _) புத்த (ழக puttV
_) ப (ுத்திக் b _) ப (ுத்திக் b
_) புல்க (ான pulg _) புல்க (ான pulg
_) ப (ுல்டோசர b _) ப (ுல்டோசர b
_) ப (ுல்லட் b _) ப (ுல்லட் b
_) ப (ுல்லா_ f
_) ப (ுல்லாக்க b _) ப (ுல்லாக்க b
_) புல்லெட் bullet. _) புல்லெட் bullet.
_) பு (ளுடோனிய p _) பு (ளுடோனிய p
_) ப் (ளூஸ b _) ப் (ளூஸ b
_) ப் (ளோரிடா f _) ப் (ளோரிடா f
_) ப் (ளௌஸ b _) ப் (ளௌஸ b
_) பலாப்ப (ல bVla:bbV
_) பலபத்த (ிர bVlVbVdd
_) ப (ாரவண்டி b
_) ப (லம்தான bV
_) ப (ந்தபாச bV
//endsort //endsort


//sort //sort
_சு) ப்ப bbV#
_பீர்) ப (ால் b
_குங்) ப fV#
_நீர்) ப pV# _நீர்) ப pV#
_ப்ரூ) ப fV# _ப்ரூ) ப fV#
இடர்) ப pV# இடர்) ப pV#
நடை) ப pV# நடை) ப pV#
_கேம்) ப pV# _கேம்) ப pV#
_செல்) ப fV#
_பிரதீ) ப pV# _பிரதீ) ப pV#
அஷ்ர) ப fV# அஷ்ர) ப fV#
ஒலிம்) ப pV# ஒலிம்) ப pV#
_தா) ப (ங்கொ bV _தா) ப (ங்கொ bV
_த) ப (ச bV _த) ப (ச bV
_வெண்) ப (ஞ்ச pV _வெண்) ப (ஞ்ச pV
ப (ட pV
க) ப (ட bV க) ப (ட bV
கரம்) ப (ட pV கரம்) ப (ட pV
ம்) ப (ட bV
_பயண்) ப (ட bV _பயண்) ப (ட bV
ப (டி pV ப (டி pV
மறு) ப (டி bV மறு) ப (டி bV
_சாகு) ப (டி bV _சாகு) ப (டி bV
_குளறு) ப (டி bV
_தள்ளு) ப (டி bV _தள்ளு) ப (டி bV
@) ப (ட்ச+ pV @) ப (ட்ச+ pV
ஆரிய) ப (ட்டா bV ஆரிய) ப (ட்டா bV
_சிறு) ப (ாதை p _சிறு) ப (ாதை p
_நேர்) ப (ாதை p _நேர்) ப (ாதை p
ஜிந்தா) ப (ாத் b ஜிந்தா) ப (ாத் b
_கதா) ப (ாத்திர p
_பஞ்ச) ப (ாத்திர p _பஞ்ச) ப (ாத்திர p
அ) ப (ான p அ) ப (ான p
ச) பாபதி ba:pVti ச) பாபதி ba:pVti
அ) பார்மெண்ட pa:rment.V# அ) பார்மெண்ட pa:rment.V#
கண்) ப (ார்வை p கண்) ப (ார்வை p
_வால்) ப (ாறை p _வால்) ப (ாறை p
_த) ப (ால b
இம்) ப (ால f இம்) ப (ால f
இரு) ப (ால p இரு) ப (ால p
ஒரு) ப (ால p ஒரு) ப (ால p
_சிவ) ப (ாலன b _சிவ) ப (ாலன b
_கம்) ப (ாலா p _கம்) ப (ாலா p
_கா) ப (ாலி b _கா) ப (ாலி b
_தொடர்) ப (ால் b
ப (ால்_ p ப (ால்_ p
_தன) ப (ால்_ b _தன) ப (ால்_ b
_பண்) ப (ால்_ b _பண்) ப (ால்_ b
_ஜுல்) ப (ி f _ஜுல்) ப (ி f
_மெய்) ப (ி p _மெய்) ப (ி p
_ஹம்) ப (ி p _ஹம்) ப (ி p
_செல்) ப (ி f
_பொய்) ப (ி p _பொய்) ப (ி p
_யுஎஸ்) ப (ி b _யுஎஸ்) ப (ி b
_தியோச) ப (ி f _தியோச) ப (ி f
பெண்) ப (ிள்ளை p பெண்) ப (ிள்ளை p
அச்சா) ப (ீ f அச்சா) ப (ீ f
_தபாலா) ப (ீ f _தபாலா) ப (ீ f
ஆ) ப (ீL04 f
_ர) பீக் fi:k _ர) பீக் fi:k
உப) ப (ீட p உப) ப (ீட p
விக்கி) ப (ீடியா p விக்கி) ப (ீடியா p
_துன்) ப (ுற b _துன்) ப (ுற b
_நம்) ப (ுற b _நம்) ப (ுற b
ஊம்) ப (ுற b ஊம்) ப (ுற b
_நிரம்) ப (ுற b
_மார்) ப (ுற b _மார்) ப (ுற b
_கிளம்) ப (ுற b _கிளம்) ப (ுற b
_திரும்) ப (ுற b _திரும்) ப (ுற b
_போ) ப் p _போ) ப் p
_லாக) ப் p _லாக) ப் p
ஆசி) ப் f ஆசி) ப் f
_செல்) ப் f
_டெஸ்க்டா) ப் p _டெஸ்க்டா) ப் p
_லை) ப் (_ f _லை) ப் (_ f
ஆ) ப் (கன f ஆ) ப் (கன f


_மக்க) ள்த (ொகை t.t _மக்க) ள்த (ொகை t.t
உ) ள் (துறை t. உ) ள் (துறை t.
_திங்க) ள் (கிழமை t.
உ) ள் (பட t.




.group ழ .group ழ

+ 14
- 0
dictsource/te_list View File

_1M3 koti _1M3 koti
_dpt _d,aS;a:mkam _dpt _d,aS;a:mkam


_#వ av#a // ordinal suffix, drop the final vowel from the cardinal number
_20o irav#aIj
_30o muppaIj
_40o nalub#aIj
_50o ja:b#aIj
_60o arav#aIj
_70o d.#eb#baIj
_80o jenab#aIj
_90o tomb#aIj
_0Co v#andal
_1Co v#and
_0M1o v#el
_1M1o v#ejj
_0M2o laks.al


// symbols // symbols
_?? aks.aram // 'unknown character' _?? aks.aram // 'unknown character'

+ 94
- 0
dictsource/ur_list View File

انہوں ,UnH'o:n $u انہوں ,UnH'o:n $u
انہیں ,UnH'e:n $u انہیں ,UnH'e:n $u
انھیں ,UnH'e:n $u انھیں ,UnH'e:n $u
جنہوں J,InH'o:n $u


// unstressed prepositions // unstressed prepositions
کا $u کا $u
مانند ma:n'Ind $1 مانند ma:n'Ind $1
اتار Ut'a:R اتار Ut'a:R
آرکائیو ,a:Rk'a:jv آرکائیو ,a:Rk'a:jv
کیلئے ke:l'i:;e:
طرح t,aR'aH
اگر ag'aR
ٹیم t.'i:m
اوپر u:p'aR $1
کر k'aR $u
لیا l'i:;a: $u
کئے k'i:;e:
ضرورت z,aRu:R'at
مگر mag'aR
بنا ban'a:
بنی ban'i:
بنے ban'e:
بتا bat'a:
بتی bat'i:
پتا pat'a:
پتی pat'i:
پتے pat'e:
دیگر dig'aR
فیصد fis.'ad
جنرل J,anR'al
ترقی taR'aqi
سید s,ai;'ad
اجلاس ,IJl'a:s
باہر ba:H'aR
حضرت H,azR'at
تاکہ ta:k'e:H $u
یعنی ja:n'i: $1
ناظم n'a:z.Im
حل H'al
دیئے d'i:;e:
تحت t'EHEt
لیگ l'i:g
علم 'Ilm
قانون qa:n'u:n $1
ثابت s'a:bIt
ضلع z'Ila:
خطاب xIt'a:b
اندر 'andaR
طلب tal'ab
لہذا lIH'a:Da:
متاثرہ mUt'a:sIRa
نقصان n,Uqs.'a:n
وغیرہ v'aQERa
صورتحال s.,u:Rate:H'a:l
کھلاڑی k#Il'a:r.i
پروفیسر pRo:fe:s'aR
علاج Il'a:J
برس baR'as
کارکردگی k,a:Rk'aRd@g,i:
ہمیشہ Ham'e:S,a
ملاقات m,Ula:q'a:t
شائع S'a:ja:
ساحل s'a:HIl
یونیورسٹی j'u:njvaRsIt.,i:
انضمام ,InzIm'a:m
خدا x'Uda:
محنت m,EHn'at
مرکزی m,aRk'azi
اجازت ,IJa:z'at
مقدار m,Iqd'a:R
تعاون t'a:vUn
سن s'Un
خدمات x,Idm'a:t
شاید Sa:j'ad
اخر 'a:xIR
ورلڈ v'aRld.
خدمت x,Idm'at
کن k'In
شاہد S'a:HId
صنعت s.an'at
وکٹ v'IkIt.
دودھ d'u:d#
تربیت t,aRbi;'at
تصور tas.'avUR
چنانچہ cUn'a:nce:H
واقعات v,a:qe:'a:t
معیشت m,a:iS'at
ذہن D'EHEn
گورنمنٹ gav'aRnmInt.
فرق f'aRq
حیات H,ai;'a:t
طالب t'a:lIb
حضور HUz'u:R
نور n'u:R
ذریعہ DaR'i:;a:
مقصد m,aqs.'ad
معاونت m,Oa:vIn'at
خاتون xa:t'u:n
اطلاع 'Itl,a:
اطلاعات ,Itl'a:t
سنہ s'an
دسٹرکٹ d.'Ist.RIkt.

+ 30
- 1
dictsource/ur_rules View File

ا a: ا a:
_) ا (L01 // Acts like Consonants if followed by a vowel but is silent. _) ا (L01 // Acts like Consonants if followed by a vowel but is silent.
_) ا a _) ا a
_) او u:
_) او o:
_) ای e: _) ای e:
ائ (L02 a:I ائ (L02 a:I
اہ(_ a:H اہ(_ a:H
_) اح (L02 'EH _) اح (L02 'EH
_) است (L02 ,IstI _) است (L02 ,IstI
_) ارت (L02 ,IRtI _) ارت (L02 ,IRtI
_) ایس (L01 'Es
_) اونچ (L01 'u:nc
_) ادا (ر 'Ida:
اسکول ,Isk'u:l


.group آ .group آ
آ a: آ a:
_) عمر 'UmR _) عمر 'UmR
L02) عی (_ 'ai: L02) عی (_ 'ai:
علیحد 'alEHd علیحد 'alEHd
عَ 'a
عِ 'I
عُ 'U
علاق Il'a:q
عے e:


.group و .group و
و o: و o:
بوڑھ b'u:r.h بوڑھ b'u:r.h
_) بے (P2 b'e: _) بے (P2 b'e:
بحران b,OHR'a:n بحران b,OHR'a:n
بنیاد bUnj'a:d
بیمار bim'a:R




.group پ .group پ
_) جمل J'Uml _) جمل J'Uml
_) جہ (L02 J'EH _) جہ (L02 J'EH
_) جدا J'Uda: _) جدا J'Uda:
_) جسم J'Ism


.group چ .group چ
چ cV چ cV
_) خود x'Ud _) خود x'Ud
_) خواہش xv'a:HIS _) خواہش xv'a:HIS
_) خیا x'aja: _) خیا x'aja:
_) خون x'u:n
_) خشک x'USk




.group د .group د
دلچسپ d,Ilc'asp دلچسپ d,Ilc'asp
دھیم d#'i:m دھیم d#'i:m
_) دوسر d'u:sR _) دوسر d'u:sR
_) دین (L01 d'e:n
_) دیت (L01 d'e:t
دہ (_ d,a


.group ڈ .group ڈ
ڈ d.V ڈ d.V
_) رکن R'Ukn _) رکن R'Ukn
@) ر (د R @) ر (د R
_) رفت R'af@t _) رفت R'af@t
_) روا R'ava:


.group ڑ .group ڑ
ڑ r.V ڑ r.V
سرگرم s,aRg'aRm سرگرم s,aRg'aRm
@) ستان (_ Ist'a:n @) ستان (_ Ist'a:n
@) ستانی (_ Ist'a:ni @) ستانی (_ Ist'a:ni
_) سوا sav'a:
_) سکول sk'u:l


.group ش .group ش
ش SV ش SV
صّ ssV صّ ssV
صّ (L01 ss صّ (L01 ss
صوب s.'u:b صوب s.'u:b
صورت s.u:R'at


.group ض .group ض
ض zV ض zV
ض (L01 z ض (L01 z
ضّ zzv ضّ zzv
ضّ (L01 zz ضّ (L01 zz
ضرور zaR'u:R


.group ط .group ط
ط tV ط tV
غ (L01 Q غ (L01 Q
غّ QQV غّ QQV
غّ (L01 QQ غّ (L01 QQ
غلام QUl'a:m


.group ف .group ف
ف fV ف fV
کوشش k'o:SIS کوشش k'o:SIS
_) کہ (L02 k'EH _) کہ (L02 k'EH
کارکن k'a:Rk,UUn کارکن k'a:Rk,UUn
_) کیس (L01 k'Es
_) کت (L01 k'Ut


.group گ .group گ
گ gV گ gV
لّ (L01 ll لّ (L01 ll
لکھ l'Ik# لکھ l'Ik#
_) لہ (L02 l'EH _) لہ (L02 l'EH
_) لین (L01 l'e:n
_) لیت (L01 l'e:t


.group م .group م
م mV م mV
مخبر m'Uxb,IR مخبر m'Uxb,IR
ملحق m'UlH,Iq ملحق m'UlH,Iq
مذہب m,aDH'ab مذہب m,aDH'ab
متاثر mUt'a:sIR
_) مثال mIs'a:l


.group ن .group ن
ن nV ن nV

+ 4
- 3
espeak-data/voices/asia/fa View File

name persian
language fa
name persian
language fa
dictdialect en-us

+ 1
- 1
espeak-data/voices/other/en-sc View File

replace 01 aI aI2 replace 01 aI aI2
replace 02 a a/ replace 02 a a/
replace 02 u: U replace 02 u: U
replace 02 3: VR
//replace 02 3: VR

+ 93
- 24
phsource/compile_report View File



94 phoneme tables
95 phoneme tables
new total new total
base 109 109 base 109 109
consonants 11 119 consonants 11 119
base2 26 125 base2 26 125
en 56 158
en-n 33 158
en-us 41 158
en-sc 42 160
en-rp 34 158
en-wm 32 158
en-wi 30 158
en 58 160
en-n 33 160
en-us 42 160
en-sc 42 162
en-rp 34 160
en-wm 32 160
en-wi 30 160
af 39 138 af 39 138
cy 29 134 cy 29 134
ga 30 134 ga 30 134
es-la 2 125 es-la 2 125
ca 11 127 ca 11 127
an 5 126 an 5 126
eu 18 127
pt 29 140 pt 29 140
pt-pt 20 140 pt-pt 20 140
ro 36 148 ro 36 148
da 45 138 da 45 138
ka 20 115 ka 20 115
fa 9 112 fa 9 112
ar 37 116
rw 15 132 rw 15 132
prs 8 113 prs 8 113
sl 18 125 sl 18 125
tt 23 120 tt 23 120
ko 19 120 ko 19 120
kl 18 119 kl 18 119
eu 17 127


Data file Used by Data file Used by
b/b [b] base b/b [b] base
[b] fr [b] fr
[b;] ro [b;] ro
[b] ar
b/b_ [b] base b/b_ [b] base
[b] fr [b] fr
b/b@ [b] base b/b@ [b] base
d/d [d] base d/d [d] base
[d[] base [d[] base
[d] base2 [d] base2
[d] de
[d] fi [d] fi
[d] et [d] et
[d^] et [d^] et
[d;] pl [d;] pl
[d] hr [d] hr
[d] sq [d] sq
[d] ar
[d[] ar
[d] mt [d] mt
d/d_ [d] base d/d_ [d] base
[d[] base [d[] base
[d] base2 [d] base2
[d] de
[d] fi [d] fi
[d] et [d] et
[d^] et [d^] et
d/dr [*] base d/dr [*] base
[d[] base [d[] base
[d] base2 [d] base2
[d] de
[d] fi [d] fi
[d] et [d] et
[d^] et [d^] et
[d[] base [d[] base
[dz] consonants [dz] consonants
[d] base2 [d] base2
[d] de
[d] fi [d] fi
[d] et [d] et
[d] fr [d] fr
[dZ] sr [dZ] sr
[dZ;] sr [dZ;] sr
[dZ;] sq [dZ;] sq
[dZ] ar
[dZ;] ko [dZ;] ko
dzh/dzh_ [dZ] base dzh/dzh_ [dZ] base
[dZ;] base [dZ;] base
[J] sw [J] sw
[J] tr [J] tr
[J] ku [J] ku
[J] ar
dzh/dz_pzd_ [J] base dzh/dz_pzd_ [J] base
dzh/xdzh [dZ] base dzh/xdzh [dZ] base
[dZ;] base [dZ;] base
[g;] bg [g;] bg
[g] es [g] es
[g] sw [g] sw
[g] ar
g/g_ [g] base g/g_ [g] base
[g-] en [g-] en
[g] cy [g] cy
[h] fi [h] fi
[h] et [h] et
[<h>] la [<h>] la
[h] ar
[h] mt [h] mt
h/h@ [h] base h/h@ [h] base
[h] fi [h] fi
[j] de [j] de
[j] zh [j] zh
[j] da [j] da
[j] ar
j/j@ [j] base j/j@ [j] base
[j] de [j] de
[j/] fr [j/] fr
klatt/dz_pzd [J] base klatt/dz_pzd [J] base
[J] sw [J] sw
[J] tr [J] tr
[J] ar
klatt/dz_pzd_ [J] base klatt/dz_pzd_ [J] base
[J] ar
klatt/m [m] base klatt/m [m] base
[m;] ru [m;] ru
klatt/m_ [m] base klatt/m_ [m] base
[*] gd [*] gd
klatt/zh [Z] base klatt/zh [Z] base
[z.] base [z.] base
[Z] ar
klatt/zh_ [Z] base klatt/zh_ [Z] base
[z.] base [z.] base
[Z] ar
l^/j2@ [l^] base l^/j2@ [l^] base
[L] sq [L] sq
l^/j2a [l^] base l^/j2a [l^] base
[l] fr [l] fr
[l/2] fr [l/2] fr
[l] hu [l] hu
[l] ar
l/_l [l] base l/_l [l] base
[l] fr [l] fr
[l/] fr [l/] fr
[l] hu [l] hu
[l] zh [l] zh
[l] ar
l/l_ [l] base l/l_ [l] base
[l/] base [l/] base
[l/3] base [l/3] base
[l/] fr [l/] fr
[l/3] da [l/3] da
[l] ar
l/l_@ [l/3] base l/l_@ [l/3] base
[l/] fr [l/] fr
l/l@ [l#] base l/l@ [l#] base
l/L1_aL [l] base l/L1_aL [l] base
[l/] base [l/] base
[l/] de [l/] de
[l] ar
l/L1_eL [l] base l/L1_eL [l] base
[l/] base [l/] base
[l/] de [l/] de
[l] ar
l/L1_iL [l] base l/L1_iL [l] base
[l/] base [l/] base
[l/] de [l/] de
[l] ar
l/L1_@L [l] base l/L1_@L [l] base
[l/] base [l/] base
[l/] de [l/] de
[l] ar
l/L1_oL [l] base l/L1_oL [l] base
[l/] base [l/] base
[l/] de [l/] de
[l] ar
l/L1_uL [l] base l/L1_uL [l] base
[l/] base [l/] base
[l/] de [l/] de
[l] ar
l/L2_aL [l/2] base l/L2_aL [l/2] base
l/L2_eL [l/2] base l/L2_eL [l/2] base
l/L2_iL [l/2] base l/L2_iL [l/2] base
ll/_ll [L] base ll/_ll [L] base
l/l_long [l] base l/l_long [l] base
[l] fr [l] fr
[l] ar
l/lo [l#] base l/lo [l#] base
base vowelstart_l base vowelstart_l
[l/2] fr [l/2] fr
[l] fr [l] fr
[l/2] fr [l/2] fr
[l] hu [l] hu
[l] ar
l/xl [l] base l/xl [l] base
[l#] base [l#] base
[e] fr [e] fr
[l] fr [l] fr
[l] hu [l] hu
[ll] sq [ll] sq
[l] ar
[K] nso [K] nso
[K] tn [K] tn
m/_m [m] base m/_m [m] base
m/m_ [m] base m/m_ [m] base
[m] ar
m/m@ [m] base m/m@ [m] base
m/m#_ [m#] is m/m#_ [m#] is
m/ma [m] base m/ma [m] base
[n] fr [n] fr
[n] zh [n] zh
n/n_ [n] base n/n_ [n] base
[n] ar
n/n@ [n] base n/n@ [n] base
[n] fr [n] fr
[n#] is [n#] is
[r-] en [r-] en
[r-] tn [r-] tn
r/_r [r] base r/_r [r] base
r/r_ [r] ar
r/r@ [r] base r/r@ [r] base
[R3] base [R3] base
[r] af [r] af
[R3] base [R3] base
[r] af [r] af
[r] ro [r] ro
[r] ar
[r] tn [r] tn
r/re [r] base r/re [r] base
[R3] base [R3] base
[f] pl [f] pl
[f] grc [f] grc
[f] zh [f] zh
[f] ar
ufric/f_ [f] base ufric/f_ [f] base
[f] fr [f] fr
[f] pl [f] pl
[z2] fr [z2] fr
[s] ru [s] ru
[s] es [s] es
[z] eu
[z] sq [z] sq
[s] da [s] da
[z] eu
[s] ar
ufric/s_ [s] base ufric/s_ [s] base
[z] base [z] base
[s2] consonants [s2] consonants
[s] fr [s] fr
[z] fr [z] fr
[s] es [s] es
[z] eu
[z;] ro [z;] ro
[s] sw [s] sw
[z] sq [z] sq
[z] eu
[z] ar
ufric/s! [s] base ufric/s! [s] base
[s] fr [s] fr
[s] es [s] es
[s2] lv [s2] lv
ufric/sh [S] base ufric/sh [S] base
[S] fr [S] fr
[S] ar
ufric/sh_ [S] base ufric/sh_ [S] base
[S] fr [S] fr
ufric/sh3 [S] hr ufric/sh3 [S] hr
[dZ] sr [dZ] sr
[S;] zh [S;] zh
ufric/sh_rfx [s.] base ufric/sh_rfx [s.] base
[s.] zh
[s] eu [s] eu
[s.] zh
ufric/s_pal [s^] et ufric/s_pal [s^] et
ufric/s_pzd [s;] base ufric/s_pzd [s;] base
[z;] base [z;] base
[z;] base [z;] base
ufric/sx_sv [sx] sv ufric/sx_sv [sx] sv
ufric/th [T] base ufric/th [T] base
[T] ar
ufric/th_ [T] base ufric/th_ [T] base
[T] sw [T] sw
ufric/tl# [tl#] is ufric/tl# [tl#] is
ustop/k [k] base ustop/k [k] base
[k] fr [k] fr
[k] zhy [k] zhy
[k] ar
[k] sl [k] sl
ustop/k_ [k] base ustop/k_ [k] base
[k] base2 [k] base2
[p] vi [p] vi
[p] sq [p] sq
ustop/q [q] base ustop/q [q] base
[q] ar
ustop/q_u [q] base ustop/q_u [q] base
ustop/t [t] base ustop/t [t] base
[t] en-us [t] en-us
[d.#] hi [d.#] hi
[t] zhy [t] zhy
[t] da [t] da
[t] ar
ustop/t_ [t] base ustop/t_ [t] base
[t-] consonants [t-] consonants
[t] en-us [t] en-us
[t] lt [t] lt
[t] pl [t] pl
[t] hr [t] hr
[t[] ar
[t] sl [t] sl
ustop/t_dnt2 [t] base2 ustop/t_dnt2 [t] base2
[d] kn [d] kn
ustop/ts [ts] consonants ustop/ts [ts] consonants
[dz] consonants [dz] consonants
[ts] hu [ts] hu
[ts] eu
[tz] eu
[z] zhy [z] zhy
[tsh] zh [tsh] zh
[ts] tn [ts] tn
[ts#] bo [ts#] bo
[dz#] bo [dz#] bo
[ts] eu
[tz] eu
ustop/ts_ [ts] consonants ustop/ts_ [ts] consonants
[dz] consonants [dz] consonants
[ts] lv [ts] lv
[ts] eu
[tz] eu
[ts] tn [ts] tn
[ts#] bo [ts#] bo
[dz#] bo [dz#] bo
[ts] eu
[tz] eu
ustop/ts2 [ts] lv ustop/ts2 [ts] lv
[ts] hy [ts] hy
[ts] ka [ts] ka
[E~] ht [E~] ht
voc/bh [B] base voc/bh [B] base
voc/dh [D] base voc/dh [D] base
[D] ar
voc/dh_ [D] base voc/dh_ [D] base
[D] es [D] es
voc/j [J^] base voc/j [J^] base
voc/v2 [v#] es voc/v2 [v#] es
vocw/dh [D] base vocw/dh [D] base
[D] es [D] es
[D] ar
vocw/Q [Q] base vocw/Q [Q] base
[Q^] base [Q^] base
vocw/Q_ [Q] base vocw/Q_ [Q] base
[v;] ro [v;] ro
vocw/zh [Z] base vocw/zh [Z] base
[Z;] ro [Z;] ro
[Z] ar
vocw/zh_rfx [z.] base vocw/zh_rfx [z.] base
voc/z [z] base voc/z [z] base
[z] fr [z] fr
[z2] fr [z2] fr
[z;] ro [z;] ro
[z] sq [z] sq
[z] ar
voc/z_ [z] base voc/z_ [z] base
[dz] consonants [dz] consonants
[z] fr [z] fr
[Z] hr [Z] hr
[Z] sr [Z] sr
[Z;] ro [Z;] ro
[Z] ar
voc/zh_ [Z] base voc/zh_ [Z] base
[z.] base [z.] base
[Z] hr [Z] hr
[0] en-rp [0] en-rp
[A] hu [A] hu
[A] fa [A] fa
[a] ar
[a:] ar
[0] tt [0] tt
vowel/@_2 [@:] vi vowel/@_2 [@:] vi
[@] sq [@] sq
[a#] en-sc [a#] en-sc
[a#] en-wi [a#] en-wi
[&] sr [&] sr
[a] ar
[a:] ar
[a#] rw [a#] rw
[a/] rw [a/] rw
[a] az [a] az
[3] da [3] da
vowel/a_4 [a] ga vowel/a_4 [a] ga
[a] es [a] es
[a] eu
[a] el [a] el
[a] vi [a] vi
[a] eu
[a2] eu
vowel/a#_4 [a:] nl vowel/a#_4 [a:] nl
[a] ml [a] ml
[a] bg [a] bg
[a] ko [a] ko
vowel/aa_9 [a] fi vowel/aa_9 [a] fi
[a] et [a] et
[a:] hi
[a] ne [a] ne
[a] pa [a] pa
[a] az [a] az
[e/] it [e/] it
[E] es [E] es
[e] es [e] es
[e] eu
[e] ro [e] ro
[e] el [e] el
[e] sw [e] sw
[e:] si [e:] si
[e] mt [e] mt
[e] bo [e] bo
[e] eu
vowel/@_fnt [@] en-wi vowel/@_fnt [@] en-wi
[@2] en-wi [@2] en-wi
[@2] hr [@2] hr
[i:] hu [i:] hu
[i] it [i] it
[i] es [i] es
[i] eu
[i] pt-pt [i] pt-pt
[i/] ro [i/] ro
[i] el [i] el
[i] hy [i] hy
[i] ka [i] ka
[i] fa [i] fa
[i] ar
[i:] ar
[i] rw [i] rw
[i#] rw [i#] rw
[i] prs [i] prs
[i] bo [i] bo
[i] tt [i] tt
[i] kl [i] kl
[i] eu
vowel/i# [y:] cy vowel/i# [y:] cy
[i] vi-sgn [i] vi-sgn
vowel/i_2 [i2] de vowel/i_2 [i2] de
[O] es [O] es
[o] es [o] es
[O] ca [O] ca
[o] eu
[o] el [o] el
[O] sv [O] sv
[O] no [O] no
[o] prs [o] prs
[O] wo [O] wo
[O:] wo [O:] wo
[o] eu
vowel/oo_1 [O:] en-n vowel/oo_1 [O:] en-n
[O:] en-rp [O:] en-rp
[O@] en-rp [O@] en-rp
[u:] cs [u:] cs
[U] la [U] la
[u] id [u] id
[u] ar
[u:] ar
[u] prs [u] prs
[u] ak [u] ak
[u:] wo [u:] wo
[u:] fr [u:] fr
[u:] la [u:] la
[u] es [u] es
[u] eu
[u] sw [u] sw
[u] fa [u] fa
[u] gd [u] gd
[u:] gd [u:] gd
[u] ht [u] ht
[u] kl [u] kl
[u] eu
vowel/u_bck3 [u:] et vowel/u_bck3 [u:] et
[u] kk [u] kk
vowel/uu [U] en vowel/uu [U] en
[Y] fr [Y] fr
[8] nl [8] nl
[Y:] hu [Y:] hu
[Y] eu
[Y] ro [Y] ro
[oe] zhy [oe] zhy
[W] tr [W] tr
[Y] mt [Y] mt
[Y] eu
vowel/y## [y] is vowel/y## [y] is
vowel/y_2 [y:] la vowel/y_2 [y:] la
[y] zh [y] zh
vwl_af/r@ [@] af vwl_af/r@ [@] af
[I] af [I] af
[@] ga [@] ga
vwl_ar/ain2 [E] ar
vwl_ar/da7 [d[] ar
vwl_ar/ghain6 [G] ar
vwl_ar/H2 [H] ar
vwl_ar/kha [x] ar
vwl_ar/SA1 [s[] ar
vwl_ar/ZH4 [Z] ar
vwl_de/uu_@ [UR] de vwl_de/uu_@ [UR] de
vwl_en/aI@ [aI@] en vwl_en/aI@ [aI@] en
[aI@] en-n [aI@] en-n
[w/] fr [w/] fr
w/w_ [w] base w/w_ [w] base
[w/] fr [w/] fr
[w] ar
w/w@ [w] base w/w@ [w] base
[w] fr [w] fr
[w/] fr [w/] fr
[b] fr [b] fr
[b;] ro [b;] ro
[b] is [b] is
[b] ar
x/b_ [b] base x/b_ [b] base
[b] fr [b] fr
x/d [d] base x/d [d] base
[t#] en [t#] en
[d] de
[d] fr [d] fr
[d.] hi [d.] hi
[d] hr [d] hr
[*] pt [*] pt
[d] is [d] is
[d] sq [d] sq
[d] ar
[*] gd [*] gd
x/d_ [d] base x/d_ [d] base
[d[] base [d[] base
[d] base2 [d] base2
[d] de
[d] fi [d] fi
[d] et [d] et
[d] fr [d] fr
[d] hu [d] hu
[d] lt [d] lt
[d] pl [d] pl
[d[] ar
[d] mt [d] mt
x/d_pzd [d^] et x/d_pzd [d^] et
[d;] lt [d;] lt
[d;] pl [d;] pl
x/dzh [J] base x/dzh [J] base
[dZ] base [dZ] base
[J] ar
[dZ] ar
x/dzh_ [dZ] base x/dzh_ [dZ] base
[dZ;] base [dZ;] base
[dZ;] mk [dZ;] mk
[g] es [g] es
[g] is [g] is
[g] sw [g] sw
[g] ar
x/g2_ [g-] en x/g2_ [g-] en
x/g3 [g] ru x/g3 [g] ru

+ 2
- 2
phsource/ph_armenian View File





phoneme k# phoneme k#
// import_phoneme consonants/kh
import_phoneme base/k
import_phoneme consonants/kh
// import_phoneme base/k
endphoneme endphoneme





+ 12
- 2
phsource/ph_basque View File



IF nextPh(#a) THEN IF nextPh(#a) THEN
ChangePhoneme(NULL) // merge consecutive 'a' ChangePhoneme(NULL) // merge consecutive 'a'
ELSE
ChangePhoneme(a)
ENDIF ENDIF

FMT(vowel/a_4)
endphoneme endphoneme




import_phoneme es/g import_phoneme es/g
endphoneme endphoneme


phoneme n
vcd alv nasal
lengthmod 4

IF prevPhW(i) AND nextPhW(isVowel) THEN
ChangePhoneme(n^)
ENDIF
CALL base/n
endphoneme

+ 16
- 0
phsource/ph_english View File

endphoneme endphoneme




phoneme E2 // does not reduce in unstressed syllables
vowel starttype #e endtype #e
length 140
ChangePhoneme(E) // a second change ([E] to [I2]) won't happen
endphoneme



phoneme I phoneme I
vowel starttype #i endtype #i vowel starttype #i endtype #i
length 130 length 130
endphoneme endphoneme




phoneme A# // [a] in British [A:] in American
vowel starttype #a endtype #a
ChangePhoneme(a)
endphoneme




phoneme 3: phoneme 3:
vowel starttype #@ endtype #@ vowel starttype #@ endtype #@
length 210 length 210

+ 6
- 0
phsource/ph_english_us View File

endphoneme endphoneme




phoneme A# // [a] in British [A:] in American
vowel starttype #a endtype #a
ChangePhoneme(A:)
endphoneme


phoneme 3: phoneme 3:
vowel starttype #@ endtype #@ vowel starttype #@ endtype #@
length 240 length 240

+ 20
- 3
phsource/ph_german View File





phoneme r phoneme r
vcd alv flp rhotic
liquid alv rhotic
lengthmod 6 lengthmod 6


IF prevPhW(@-) THEN IF prevPhW(@-) THEN
IF prevPhW(isVowel) THEN IF prevPhW(isVowel) THEN
ChangePhoneme(R) ChangePhoneme(R)
ELSE ELSE
IF prevPhW(t) THEN
IF prevPhW(t) OR prevPhW(p) OR prevPhW(k) THEN
PauseBefore 40
ELSEIF prevPhW(d) OR prevPhW(b) OR prevPhW(g) THEN
PauseBefore 15
ELSE ELSE
InsertPhoneme(@-) InsertPhoneme(@-)
ENDIF ENDIF
IF nextPh(l2) THEN IF nextPh(l2) THEN
ChangePhoneme(t) ChangePhoneme(t)
ENDIF ENDIF
CALL base/d
lengthmod 5
Vowelin f1=1 f2=1700 -300 300 f3=-100 80
Vowelout f1=2 f2=1700 -300 300 f3=-100 80 brk

IF PreVoicing THEN
FMT(d/xd)
ENDIF

IF nextPh(isPause2) THEN
FMT(d/d_) addWav(x/d_)
ELIF nextPh(r) THEN
FMT(d/dr) addWav(x/d)
ENDIF

FMT(d/d) addWav(x/d)
endphoneme endphoneme


phoneme g phoneme g

+ 17
- 5
phsource/ph_hindi View File

phoneme a: phoneme a:
vowel long starttype #a endtype #a vowel long starttype #a endtype #a
length 200 length 200
IF nextPhW(j) THEN
// IF nextPhW(j) THEN
FMT(vowel/a_5) FMT(vowel/a_5)
ENDIF
FMT(vowel/aa_9)
// ENDIF
// FMT(vowel/aa_9)
endphoneme endphoneme


phoneme a phoneme a
CALL base/r/ CALL base/r/
ELSE ELSE
IF prevPhW(isVowel) THEN IF prevPhW(isVowel) THEN
IF nextPhW(isNotVowel) OR nextPhW(V) THEN
ChangePhoneme(*)
IF nextPhW(isNotVowel) THEN
IF nextPhW(isUStop) OR nextPhW(isVStop) THEN
ChangePhoneme(*)
ENDIF
ENDIF

IF nextPhW(V) THEN // [V] may be removed by ChangePhoneme(NULL)
IF next2PhW(isUStop) OR next2PhW(isVStop) THEN
ChangePhoneme(*)
ENDIF
ELSE
IF nextPhW(isVowel) THEN
ChangePhoneme(*)
ENDIF
ENDIF ENDIF
ENDIF ENDIF

+ 2
- 2
phsource/ph_italian View File



phoneme ts phoneme ts
import_phoneme consonants/ts import_phoneme consonants/ts
voicingswitch ts
voicingswitch s
lengthmod 4
endphoneme endphoneme


phoneme dz phoneme dz
voicingswitch z voicingswitch z
lengthmod 3 lengthmod 3
endphoneme endphoneme


+ 7
- 6
phsource/phonemes View File

phonemetable an es phonemetable an es
include ph_aragon include ph_aragon


phonemetable eu base2
include ph_basque


phonemetable pt base2 phonemetable pt base2
include ph_pt_brazil include ph_pt_brazil


phonemetable fa base phonemetable fa base
include ph_farsi include ph_farsi


phonemetable ar base
include ph_arabic



//************************************************************************************** //**************************************************************************************
// The following lines are experimental, for future additions. // The following lines are experimental, for future additions.
//phonemetable mr hi //phonemetable mr hi
//include ph_marathi //include ph_marathi


//phonemetable eu base2
//include ph_basque

//phonemetable mn base //phonemetable mn base
//include ph_mongolian //include ph_mongolian


phonemetable kl base phonemetable kl base
include ph_greenlandic include ph_greenlandic


phonemetable eu base2
include ph_basque



//phonemetable en2 en //phonemetable en2 en
//include ph_english_test //include ph_english_test

+ 5
- 5
src/Makefile View File

OBJS3=$(patsubst %.cpp,%.o,$(SRCS3)) OBJS3=$(patsubst %.cpp,%.o,$(SRCS3))
LIBS3=-lstdc++ -L . -lespeak LIBS3=-lstdc++ -L . -lespeak


CXXFLAGS=-O2
CXXFLAGS?=-O2
CXXFLAGS+=-fno-exceptions -pedantic -Wall


all: $(BIN_NAME) $(LIB_NAME) $(STATIC_LIB_NAME) $(BIN2_NAME) all: $(BIN_NAME) $(LIB_NAME) $(STATIC_LIB_NAME) $(BIN2_NAME)


.cpp.o: .cpp.o:
$(CXX) $(CXXFLAGS) $(USE_AUDIO) -D PATH_ESPEAK_DATA=\"$(DATADIR)\" -Wall -pedantic -I. -c -fno-exceptions $<
$(CXX) $(CXXFLAGS) $(USE_AUDIO) -D PATH_ESPEAK_DATA=\"$(DATADIR)\" -I. -c $<


$(BIN_NAME): $(OBJS1) $(BIN_NAME): $(OBJS1)
$(CXX) $(LDFLAGS) -o $@ $(OBJS1) $(LIBS1) $(CXX) $(LDFLAGS) -o $@ $(OBJS1) $(LIBS1)




x_%.o: %.cpp x_%.o: %.cpp
$(CXX) $(CXXFLAGS) $(USE_AUDIO) -D PATH_ESPEAK_DATA=\"$(DATADIR)\" -Wall -fpic -fvisibility=hidden -pedantic \
-I. -D LIBRARY -c -fno-exceptions $< -o x_$*.o
$(CXX) $(CXXFLAGS) $(USE_AUDIO) -D PATH_ESPEAK_DATA=\"$(DATADIR)\" -fpic -fvisibility=hidden \
-I. -D LIBRARY -c $< -o x_$*.o


$(LIB_NAME): $(OBJS2) $(LIB_NAME): $(OBJS2)
$(CXX) $(LDFLAGS) -shared $(SONAME_OPT)$(LIB_NAME).$(LIB_VERSION) -o $@ \ $(CXX) $(LDFLAGS) -shared $(SONAME_OPT)$(LIB_NAME).$(LIB_VERSION) -o $@ \

+ 5
- 0
src/compiledata.cpp View File

{"isNasal", 0, phNASAL}, {"isNasal", 0, phNASAL},
{"isLiquid", 0, phLIQUID}, {"isLiquid", 0, phLIQUID},
{"isUStop", 0, phSTOP}, {"isUStop", 0, phSTOP},
{"isVStop", 0, phVSTOP},
{"isVFricative", 0, phVFRICATIVE}, {"isVFricative", 0, phVFRICATIVE},


{"isPalatal", 0, i_isPalatal}, {"isPalatal", 0, i_isPalatal},
strncpy0(current_fname,item_string,sizeof(current_fname)); strncpy0(current_fname,item_string,sizeof(current_fname));
linenum = 1; linenum = 1;
} }
else
{
error("Missing file: %s", item_string);
}
break; break;


case kPHONEMETABLE: case kPHONEMETABLE:

+ 1
- 0
src/compiledict.cpp View File

{"$strend", 9}, // full stress if at end of clause {"$strend", 9}, // full stress if at end of clause
{"$strend2", 10}, // full stress if at end of clause, or only followed by unstressed {"$strend2", 10}, // full stress if at end of clause, or only followed by unstressed
{"$unstressend",11}, // reduce stress at end of clause {"$unstressend",11}, // reduce stress at end of clause
{"$accent_before",12}, // used with accent names, say this accent name before the letter name
{"$abbrev", 13}, // use this pronuciation rather than split into letters {"$abbrev", 13}, // use this pronuciation rather than split into letters


// language specific // language specific

+ 10
- 5
src/dictionary.cpp View File

extern char word_phonemes[N_WORD_PHONEMES]; // a word translated into phoneme codes extern char word_phonemes[N_WORD_PHONEMES]; // a word translated into phoneme codes


int Lookup(Translator *tr, const char *word, char *ph_out) int Lookup(Translator *tr, const char *word, char *ph_out)
{//===================================================
int found;
{//=========================================================
// Look up in *_list, returns dictionary flags[0] and phonemes

int flags0;
unsigned int flags[2]; unsigned int flags[2];
int say_as; int say_as;
char *word1 = (char *)word; char *word1 = (char *)word;


flags[0] = 0; flags[0] = 0;
flags[1] = FLAG_LOOKUP_SYMBOL; flags[1] = FLAG_LOOKUP_SYMBOL;
found = LookupDictList(tr, &word1, ph_out, flags, FLAG_ALLOW_TEXTMODE, NULL);
if((flags0 = LookupDictList(tr, &word1, ph_out, flags, FLAG_ALLOW_TEXTMODE, NULL)) != 0)
{
flags0 = flags[0];
}


if(flags[0] & FLAG_TEXTMODE) if(flags[0] & FLAG_TEXTMODE)
{ {
option_sayas = 0; // don't speak replacement word as letter names option_sayas = 0; // don't speak replacement word as letter names
text[0] = 0; text[0] = 0;
strncpy0(&text[1], word1, sizeof(text)); strncpy0(&text[1], word1, sizeof(text));
found = TranslateWord(tr, &text[1], 0, NULL, NULL);
flags0 = TranslateWord(tr, &text[1], 0, NULL, NULL);
strcpy(ph_out, word_phonemes); strcpy(ph_out, word_phonemes);
option_sayas = say_as; option_sayas = say_as;
} }
return(found);
return(flags0);
} }





+ 21
- 9
src/numbers.cpp View File



typedef struct { typedef struct {
const char *name; const char *name;
int flags;
int accent_flags; // bit 0, say before the letter name
} ACCENTS; } ACCENTS;


// these are tokens to look up in the *_list file. // these are tokens to look up in the *_list file.
static ACCENTS accents_tab[] = { static ACCENTS accents_tab[] = {
{"_lig", 1}, {"_lig", 1},
{"_smc", 1}, // smallcap
{"_tur", 1}, // turned
{"_rev", 1}, // reversed
{"_smc", 0}, // smallcap
{"_tur", 0}, // turned
{"_rev", 0}, // reversed
{"_crl", 0}, // curl {"_crl", 0}, // curl


{"_acu", 0}, // acute {"_acu", 0}, // acute
int accent_data = 0; int accent_data = 0;
int accent1 = 0; int accent1 = 0;
int accent2 = 0; int accent2 = 0;
int flags1, flags2;
int basic_letter; int basic_letter;
int letter2=0; int letter2=0;
char ph_letter1[30]; char ph_letter1[30];
} }




if(Lookup(tr, accents_tab[accent1].name, ph_accent1) != 0)
if((flags1 = Lookup(tr, accents_tab[accent1].name, ph_accent1)) != 0)
{ {


if(LookupLetter2(tr, basic_letter, ph_letter1) != 0) if(LookupLetter2(tr, basic_letter, ph_letter1) != 0)
{ {
if(accent2 != 0) if(accent2 != 0)
{ {
if(Lookup(tr, accents_tab[accent2].name, ph_accent2) == 0)
if((flags2 = Lookup(tr, accents_tab[accent2].name, ph_accent2)) == 0)
{ {
// break; // break;
} }


if(accents_tab[accent2].flags & 1)
if(flags2 & FLAG_ACCENT_BEFORE)
{ {
strcpy(ph_buf,ph_accent2); strcpy(ph_buf,ph_accent2);
ph_buf += strlen(ph_buf); ph_buf += strlen(ph_buf);
{ {
if(accent1 == 0) if(accent1 == 0)
strcpy(ph_buf, ph_letter1); strcpy(ph_buf, ph_letter1);
else if((tr->langopts.accents & 1) || (accents_tab[accent1].flags & 1))
else if((tr->langopts.accents & 1) || (flags1 & FLAG_ACCENT_BEFORE) || (accents_tab[accent1].accent_flags & 1))
sprintf(ph_buf,"%s%c%c%s", ph_accent1, phonPAUSE_VSHORT, phonSTRESS_P, ph_letter1); sprintf(ph_buf,"%s%c%c%s", ph_accent1, phonPAUSE_VSHORT, phonSTRESS_P, ph_letter1);
else else
sprintf(ph_buf,"%c%s%c%s%c", phonSTRESS_2, ph_letter1, phonPAUSE_VSHORT, ph_accent1, phonPAUSE_VSHORT); sprintf(ph_buf,"%c%s%c%s%c", phonSTRESS_2, ph_letter1, phonPAUSE_VSHORT, ph_accent1, phonPAUSE_VSHORT);
ph_tens[ix] = 0; ph_tens[ix] = 0;
} }
} }
sprintf(ph_out,"%s%s%s",ph_tens, ph_digits, ph_ordinal);

if((tr->langopts.numbers2 & NUM2_ORDINAL_DROP_VOWEL) && (ph_ordinal[0] != 0))
{
ix = sprintf(ph_out,"%s%s", ph_tens, ph_digits);
if((ix > 0) && (phoneme_tab[(unsigned char)(ph_out[ix-1])]->type == phVOWEL))
ix--;
sprintf(&ph_out[ix], "%s", ph_ordinal);
}
else
{
sprintf(ph_out,"%s%s%s",ph_tens, ph_digits, ph_ordinal);
}
} }
} }



+ 2
- 1
src/sonic.cpp View File

} }


/* Skip over a pitch period, and copy period/speed samples to the output */ /* Skip over a pitch period, and copy period/speed samples to the output */
/* NOTE: Only called if speed > 1.0f */
static int skipPitchPeriod( static int skipPitchPeriod(
sonicStream stream, sonicStream stream,
short *samples, short *samples,


if(speed >= 2.0f) { if(speed >= 2.0f) {
newSamples = period/(speed - 1.0f); newSamples = period/(speed - 1.0f);
} else if(speed > 1.0f) {
} else {
newSamples = period; newSamples = period;
stream->remainingInputToCopy = period*(2.0f - speed)/(speed - 1.0f); stream->remainingInputToCopy = period*(2.0f - speed)/(speed - 1.0f);
} }

+ 3
- 15
src/speak.cpp View File

} }




static void StopSpeak(int unused)
{//==============================
signal(SIGINT,SIG_IGN);
// DEBUG
// printf("\n*** Interrupting speech output (use Ctrl-D to actually quit).\n");
fflush(stdout);
SpeakNextClause(NULL,NULL,5);
signal(SIGINT,StopSpeak);
} // end of StopSpeak()




#ifdef NEED_GETOPT #ifdef NEED_GETOPT
struct option { struct option {
char *optarg2; char *optarg2;
int amp = 100; // default int amp = 100; // default
int wordgap = 0; int wordgap = 0;
int speaking = 0;
int flag_stdin = 0; int flag_stdin = 0;
int flag_compile = 0; int flag_compile = 0;
int pitch_adjustment = 50; int pitch_adjustment = 50;
espeak_VOICE voice_select; espeak_VOICE voice_select;
char filename[200]; char filename[200];
char voicename[40]; char voicename[40];
#ifdef USE_PORTAUDIO
int speaking = 0;
#endif


voicename[0] = 0; voicename[0] = 0;
mbrola_name[0] = 0; mbrola_name[0] = 0;
} }
else else
{ {
// Silence on ^C or SIGINT
// signal(SIGINT,StopSpeak);

// output sound using portaudio // output sound using portaudio
WavegenInitSound(); WavegenInitSound();



+ 2
- 2
src/synthdata.cpp View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005 to 2013 by Jonathan Duddington *
* Copyright (C) 2005 to 2014 by Jonathan Duddington *
* email: [email protected] * * email: [email protected] *
* * * *
* This program is free software; you can redistribute it and/or modify * * This program is free software; you can redistribute it and/or modify *
#include "translate.h" #include "translate.h"
#include "wave.h" #include "wave.h"


const char *version_string = "1.48.03 04.Mar.14";
const char *version_string = "1.48.05 23.May.14";
const int version_phdata = 0x014801; const int version_phdata = 0x014801;


int option_device_number = -1; int option_device_number = -1;

+ 6
- 0
src/synthesize.cpp View File

int modulation; int modulation;
int pre_voiced; int pre_voiced;
int free_min; int free_min;
int value;
unsigned char *pitch_env=NULL; unsigned char *pitch_env=NULL;
unsigned char *amp_env; unsigned char *amp_env;
PHONEME_TAB *ph; PHONEME_TAB *ph;
StartSyllable(); StartSyllable();
} }
InterpretPhoneme(NULL, 0, p, &phdata, &worddata); InterpretPhoneme(NULL, 0, p, &phdata, &worddata);

if((value = (phdata.pd_param[i_PAUSE_BEFORE] - p->prepause)) > 0)
{
DoPause(value, 1);
}
fmtp.std_length = phdata.pd_param[i_SET_LENGTH]*2; fmtp.std_length = phdata.pd_param[i_SET_LENGTH]*2;
fmtp.fmt_addr = phdata.sound_addr[pd_FMT]; fmtp.fmt_addr = phdata.sound_addr[pd_FMT];
fmtp.fmt_amp = phdata.sound_param[pd_FMT]; fmtp.fmt_amp = phdata.sound_param[pd_FMT];

+ 10
- 1
src/tr_languages.cpp View File

#define OFFSET_ARMENIAN 0x530 #define OFFSET_ARMENIAN 0x530
#define OFFSET_HEBREW 0x590 #define OFFSET_HEBREW 0x590
#define OFFSET_ARABIC 0x600 #define OFFSET_ARABIC 0x600
#define OFFSET_SYRIAC 0x700
#define OFFSET_THAANA 0x780 // Divehi/Maldives #define OFFSET_THAANA 0x780 // Divehi/Maldives
#define OFFSET_DEVANAGARI 0x900 #define OFFSET_DEVANAGARI 0x900
#define OFFSET_BENGALI 0x980 #define OFFSET_BENGALI 0x980
{"_hy", OFFSET_ARMENIAN, 0x530, 0x58f, L('h','y'), AL_WORDS}, {"_hy", OFFSET_ARMENIAN, 0x530, 0x58f, L('h','y'), AL_WORDS},
{"_he", OFFSET_HEBREW, 0x590, 0x5ff, 0, 0}, {"_he", OFFSET_HEBREW, 0x590, 0x5ff, 0, 0},
{"_ar", OFFSET_ARABIC, 0x600, 0x6ff, 0, 0}, {"_ar", OFFSET_ARABIC, 0x600, 0x6ff, 0, 0},
{"_syc", OFFSET_SYRIAC, 0x700, 0x74f, 0, 0},
{"_dv", OFFSET_THAANA, 0x780, 0x7bf, 0, 0}, {"_dv", OFFSET_THAANA, 0x780, 0x7bf, 0, 0},
{"_hi", OFFSET_DEVANAGARI, 0x900, 0x97f,L('h','i'), AL_WORDS}, {"_hi", OFFSET_DEVANAGARI, 0x900, 0x97f,L('h','i'), AL_WORDS},
{"_bn", OFFSET_BENGALI, 0x0980, 0x9ff, L('b','n'), AL_WORDS}, {"_bn", OFFSET_BENGALI, 0x0980, 0x9ff, L('b','n'), AL_WORDS},




case L('a','r'): // Arabic case L('a','r'): // Arabic
tr->transpose_min = 0x620; // for ar_list, use 6-bit character codes
tr->transpose_max = 0x65f;
tr->transpose_map = NULL;
tr->letter_bits_offset = OFFSET_ARABIC; tr->letter_bits_offset = OFFSET_ARABIC;
tr->langopts.numbers = NUM_SWAP_TENS | NUM_AND_UNITS | NUM_HUNDRED_AND | NUM_OMIT_1_HUNDRED | NUM_AND_HUNDRED | NUM_THOUSAND_AND | NUM_OMIT_1_THOUSAND; tr->langopts.numbers = NUM_SWAP_TENS | NUM_AND_UNITS | NUM_HUNDRED_AND | NUM_OMIT_1_HUNDRED | NUM_AND_HUNDRED | NUM_THOUSAND_AND | NUM_OMIT_1_THOUSAND;
tr->langopts.param[LOPT_UNPRONOUNCABLE] = 1; // disable check for unpronouncable words tr->langopts.param[LOPT_UNPRONOUNCABLE] = 1; // disable check for unpronouncable words
{ {
static const short stress_lengths_bn[8] = {180, 180, 210, 210, 0, 0, 230, 240}; static const short stress_lengths_bn[8] = {180, 180, 210, 210, 0, 0, 230, 240};
static const unsigned char stress_amps_bn[8] = {18,18, 18,18, 20,20, 22,22 }; static const unsigned char stress_amps_bn[8] = {18,18, 18,18, 20,20, 22,22 };
static const char bn_consonants2[3] = {0x70, 0x71, 0};


SetupTranslator(tr,stress_lengths_bn,stress_amps_bn); SetupTranslator(tr,stress_lengths_bn,stress_amps_bn);
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
SetIndicLetters(tr); // call this after setting OFFSET_BENGALI SetIndicLetters(tr); // call this after setting OFFSET_BENGALI
SetLetterBitsRange(tr,LETTERGP_B,0x01,0x01); // candranindu SetLetterBitsRange(tr,LETTERGP_B,0x01,0x01); // candranindu
SetLetterBitsRange(tr,LETTERGP_F,0x3e,0x4c); // vowel signs, but not virama SetLetterBitsRange(tr,LETTERGP_F,0x3e,0x4c); // vowel signs, but not virama
SetLetterBits(tr,LETTERGP_C,bn_consonants2);


tr->langopts.numbers = NUM_SWAP_TENS; tr->langopts.numbers = NUM_SWAP_TENS;
tr->langopts.break_numbers = 0x24924aa8; // for languages which have numbers for 100,000 and 100,00,000, eg Hindi tr->langopts.break_numbers = 0x24924aa8; // for languages which have numbers for 100,000 and 100,00,000, eg Hindi
static const unsigned char stress_amps_eu[8] = {16,16, 18,18, 18,18, 18,18 }; static const unsigned char stress_amps_eu[8] = {16,16, 18,18, 18,18, 18,18 };
SetupTranslator(tr,stress_lengths_eu,stress_amps_eu); SetupTranslator(tr,stress_lengths_eu,stress_amps_eu);
tr->langopts.stress_rule = STRESSPOSN_2L; // ?? second syllable ?? tr->langopts.stress_rule = STRESSPOSN_2L; // ?? second syllable ??
tr->langopts.param[LOPT_SUFFIX] = 1;
tr->langopts.numbers = NUM_SINGLE_STRESS | NUM_DECIMAL_COMMA | NUM_HUNDRED_AND | NUM_OMIT_1_HUNDRED | NUM_OMIT_1_THOUSAND | NUM_VIGESIMAL; tr->langopts.numbers = NUM_SINGLE_STRESS | NUM_DECIMAL_COMMA | NUM_HUNDRED_AND | NUM_OMIT_1_HUNDRED | NUM_OMIT_1_THOUSAND | NUM_VIGESIMAL;
} }
break; break;
tr->langopts.param[LOPT_UNPRONOUNCABLE] = 0x76; // [v] don't count this character at start of word tr->langopts.param[LOPT_UNPRONOUNCABLE] = 0x76; // [v] don't count this character at start of word
tr->langopts.param[LOPT_ALT] = 2; // call ApplySpecialAttributes2() if a word has $alt or $alt2 tr->langopts.param[LOPT_ALT] = 2; // call ApplySpecialAttributes2() if a word has $alt or $alt2
tr->langopts.param[LOPT_IT_LENGTHEN] = 1; // remove lengthen indicator from unstressed syllables tr->langopts.param[LOPT_IT_LENGTHEN] = 1; // remove lengthen indicator from unstressed syllables
tr->letter_bits['r'] |= 0x80; // add 'r' to letter group 7, vowels for Unpronouncable test
tr->letter_bits[(int)'r'] |= 0x80; // add 'r' to letter group 7, vowels for Unpronouncable test
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_SWAP_TENS | NUM_OMIT_1_HUNDRED | NUM_DFRACTION_2 | NUM_ORDINAL_DOT | NUM_ROMAN; tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_SWAP_TENS | NUM_OMIT_1_HUNDRED | NUM_DFRACTION_2 | NUM_ORDINAL_DOT | NUM_ROMAN;
tr->langopts.numbers2 = 0x100; // plural forms of millions etc tr->langopts.numbers2 = 0x100; // plural forms of millions etc
tr->langopts.thousands_sep = ' '; // don't allow dot as thousands separator tr->langopts.thousands_sep = ' '; // don't allow dot as thousands separator
{ {
tr->letter_bits_offset = OFFSET_TELUGU; tr->letter_bits_offset = OFFSET_TELUGU;
tr->langopts.numbers = 0x1; tr->langopts.numbers = 0x1;
tr->langopts.numbers2 = NUM2_ORDINAL_DROP_VOWEL;
} }
SetIndicLetters(tr); // call this after setting OFFSET_ SetIndicLetters(tr); // call this after setting OFFSET_
SetLetterBitsRange(tr,LETTERGP_B,0x4e,0x4e); // chillu-virama (unofficial) SetLetterBitsRange(tr,LETTERGP_B,0x4e,0x4e); // chillu-virama (unofficial)

+ 2
- 2
src/translate.cpp View File

found = LookupDictList(tr, &word1, phonemes, dictionary_flags, FLAG_ALLOW_TEXTMODE, wtab); // the original word found = LookupDictList(tr, &word1, phonemes, dictionary_flags, FLAG_ALLOW_TEXTMODE, wtab); // the original word




if((dictionary_flags[0] & (FLAG_ALLOW_DOT || FLAG_NEEDS_DOT)) && (wordx[1] == '.'))
if((dictionary_flags[0] & (FLAG_ALLOW_DOT | FLAG_NEEDS_DOT)) && (wordx[1] == '.'))
{ {
wordx[1] = ' '; // remove a Dot after this word wordx[1] = ' '; // remove a Dot after this word
} }
if(pre_pause < 1) if(pre_pause < 1)
pre_pause = 1; pre_pause = 1;
} }
if((flags & FLAG_PREPAUSE) && !(word_flags && (FLAG_LAST_WORD | FLAG_FIRST_WORD)) && !(wtab[-1].flags & FLAG_FIRST_WORD) && (tr->prepause_timeout == 0))
if((flags & FLAG_PREPAUSE) && !(word_flags & (FLAG_LAST_WORD | FLAG_FIRST_WORD)) && !(wtab[-1].flags & FLAG_FIRST_WORD) && (tr->prepause_timeout == 0))
{ {
// the word is marked in the dictionary list with $pause // the word is marked in the dictionary list with $pause
if(pre_pause < 4) pre_pause = 4; if(pre_pause < 4) pre_pause = 4;

+ 3
- 0
src/translate.h View File

#define FLAG_STRESS_END2 0x400 // full stress if at end of clause, or only followed by unstressed #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_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_SPELLWORD 0x1000 // re-translate the word as individual letters, separated by spaces
#define FLAG_ACCENT_BEFORE 0x1000 // say this accent name before the letter name
#define FLAG_ABBREV 0x2000 // spell as letters, even with a vowel, OR use specified pronunciation rather than split into letters #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_DOUBLING 0x4000 // doubles the following consonant


#define NUM2_PERCENT_BEFORE 0x10000 #define NUM2_PERCENT_BEFORE 0x10000
#define NUM2_OMIT_1_HUNDRED_ONLY 0x20000 #define NUM2_OMIT_1_HUNDRED_ONLY 0x20000
#define NUM2_ORDINAL_AND_THOUSANDS 0x40000 #define NUM2_ORDINAL_AND_THOUSANDS 0x40000
#define NUM2_ORDINAL_DROP_VOWEL 0x80000
// bits 1-4 use variant form of numbers before thousands,millions,etc. // bits 1-4 use variant form of numbers before thousands,millions,etc.
// bits 6-8 use different forms of thousand, million, etc (M MA MB) // bits 6-8 use different forms of thousand, million, etc (M MA MB)
// bit9=(LANG=rw) say "thousand" and "million" before its number, not after // bit9=(LANG=rw) say "thousand" and "million" before its number, not after
// bit16=(LANG=si) say "%" before the number // bit16=(LANG=si) say "%" before the number
// bit17=(LANG=ml) omit "one" before hundred only if there are no previous digits // bit17=(LANG=ml) omit "one" before hundred only if there are no previous digits
// bit18=(LANG=ta) same variant for ordinals and thousands (#o = #a) // bit18=(LANG=ta) same variant for ordinals and thousands (#o = #a)
// bit19=(LANG=te) drop final vowel from cardial number before adding ordinal suffix
int numbers2; int numbers2;


#define BREAK_THOUSANDS 0x49249248 #define BREAK_THOUSANDS 0x49249248

+ 1
- 1
src/voices.cpp View File



// which directory to look for a named voice. List of voice names, must end in a space. // which directory to look for a named voice. List of voice names, must end in a space.
static const char *voices_asia = static const char *voices_asia =
"az bn fa fa-pin hi hy hy-west id ka kn ku ml ms ne pa ta te tr vi vi-hue vi-sgn zh zh-yue ";
"az bn fa fa-pin gu hi hy hy-west id ka kn ku ml ms ne pa ta te tr vi vi-hue vi-sgn zh zh-yue ";
static const char *voices_europe = static const char *voices_europe =
"an bg bs ca cs cy da de el en en-us es et fi fr fr-be ga hr hu is it lt lv mk nl no pl pt-pt ro ru sk sq sr sv "; "an bg bs ca cs cy da de el en en-us es et fi fr fr-be ga hr hu is it lt lv mk nl no pl pt-pt ro ru sk sq sr sv ";



Loading…
Cancel
Save