Lang=sl, set open/close 'e' and 'o' from syllable stress. Lang=tr, fix 'r'. Lang=te, ml: change [t.#] [d.#] Lang=hi, change [d.#] git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@356 d46cf337-b52f-0410-862d-fd96e6ae7743master
ts v x z | ts v x z | ||||
Dictionary en_dict 2013-04-30 | |||||
Dictionary en_dict 2013-05-03 | |||||
0 0# 3 3: @ @- @2 @5 | 0 0# 3 3: @ @- @2 @5 | ||||
@L a a# A: A@ aa aI aI3 | @L a a# A: A@ aa aI aI3 | ||||
v x z | v x z | ||||
Dictionary pl_dict 2013-04-06 | |||||
Dictionary pl_dict 2013-05-03 | |||||
a E E# E~ i O O~ u | a E E# E~ i O O~ u | ||||
y | y | ||||
ts; v w x z Z Z; | ts; v w x z Z Z; | ||||
Dictionary pt_dict 2013-05-01 | |||||
Dictionary pt_dict 2013-05-03 | |||||
& &/ &U~ &~ @ @- a A | & &/ &U~ &~ @ @- a A | ||||
aI aU e E eI EI eU EU | aI aU e E eI EI eU EU | ||||
x z Z | x z Z | ||||
Dictionary sl_dict 2013-05-01 | |||||
Dictionary sl_dict 2013-05-03 | |||||
@ @- a a: e E e: i | |||||
i: o O o: u u: y | |||||
@ @- a e E E# i o | |||||
O o+ u y | |||||
* : b d dZ dz f g | * : b d dZ dz f g | ||||
h j k l l^ m n N | h j k l l^ m n N |
hooah h'u:'A: | hooah h'u:'A: | ||||
hopi hoUpi: | hopi hoUpi: | ||||
horizontal $3 | horizontal $3 | ||||
(hors d'oeuvres) O@'d3:vz | |||||
hospitable h0sp'It@b@L | hospitable h0sp'It@b@L | ||||
hostage h0stI2dZ | hostage h0stI2dZ | ||||
hostess hoUstEs | hostess hoUstEs |
_, storak'et | _, storak'et | ||||
_. midZak'et | _. midZak'et | ||||
_֊ jent#amn'a // hyphen | _֊ jent#amn'a // hyphen | ||||
_՜ bats#akantSut#j'un | |||||
_՜ bats#akantSak'an | |||||
_՟ pat'iw | _՟ pat'iw | ||||
// ?1 West Armenian | // ?1 West Armenian | ||||
.L01 բ գ թ կ պ տ ք | .L01 բ գ թ կ պ տ ք | ||||
.L02 ու այ իւ իյ ոյ ա ե ը ի ո օ // vowel sounds | |||||
.L02 ու այ իւ իյ ոյ ա ե ը ի ո օ ույ // vowel sounds | |||||
// ligature | // ligature | ||||
.replace | .replace | ||||
.group ա | .group ա | ||||
ա a | ա a | ||||
այ aI | այ aI | ||||
այ (_ a | |||||
?1 այ (_ a | |||||
.group բ | .group բ | ||||
բ b | բ b | ||||
ու (A v | ու (A v | ||||
ոյ uj // ?? uj or uy | ոյ uj // ?? uj or uy | ||||
A) ոյ oj // ?? oj or oy | A) ոյ oj // ?? oj or oy | ||||
ոյ (_ o | |||||
?1 ոյ (_ o | |||||
.group չ | .group չ | ||||
չ tS | չ tS | ||||
.group ր | .group ր | ||||
ր r | ր r | ||||
?!1 L02) ր (L02 r | |||||
?1 L02) ր (L02 r | |||||
_) ր (C r@ | _) ր (C r@ | ||||
C) ր (_ @r | C) ր (_ @r | ||||
L02) ր (_ r | L02) ր (_ r |
p pE | p pE | ||||
q ku | q ku | ||||
r ER | r ER | ||||
s ES | |||||
s Es | |||||
ś S;i | ś S;i | ||||
t tE | t tE | ||||
_u u | _u u |
horrores $alt2 | horrores $alt2 | ||||
humores $alt2 | humores $alt2 | ||||
ideia $alt | ideia $alt | ||||
inovo $alt | |||||
interesse $alt2 | interesse $alt2 | ||||
interesse $alt $verb | interesse $alt $verb | ||||
iodo $alt2 | iodo $alt2 | ||||
// foreign words | // foreign words | ||||
?2 álcool 'aUkow | |||||
?1 alt 'alt | ?1 alt 'alt | ||||
?2 agosto ag'ostU | ?2 agosto ag'ostU | ||||
?1 back b'Ek | ?1 back b'Ek | ||||
?2 eyes 'aIs | ?2 eyes 'aIs | ||||
?1 frame fr'eImy | ?1 frame fr'eImy | ||||
?2 frame fR'eImi | ?2 frame fR'eImi | ||||
game g'eImy | |||||
?1 gmail g,em'eIl | ?1 gmail g,em'eIl | ||||
?2 Gmail Zem'eIl | ?2 Gmail Zem'eIl | ||||
?1 google g'u:g&l | ?1 google g'u:g&l | ||||
?2 Outlook ,aUtl'uk | ?2 Outlook ,aUtl'uk | ||||
?1 paint p'aint | ?1 paint p'aint | ||||
?1 player pl'eI&r- | ?1 player pl'eI&r- | ||||
playstation _^_EN | |||||
?1 point p'oint | |||||
?1 playstation _^_EN | |||||
?2 playstation pleIst'eIS&~N | |||||
point p'oint | |||||
?1 power p'aU&r- | ?1 power p'aU&r- | ||||
?1 product p:r'&d&kt | ?1 product p:r'&d&kt | ||||
?1 Publisher p'&bl,iS&r- | ?1 Publisher p'&bl,iS&r- | ||||
krueger kR'iZer | krueger kR'iZer | ||||
krüger kR'iZer | krüger kR'iZer | ||||
kühl k'il | kühl k'il | ||||
?2 juan xu&~N | |||||
mueler m'iler | mueler m'iler | ||||
mueller m'iler | mueller m'iler | ||||
müler m'iler | müler m'iler |
óCC) a (CA_ & | óCC) a (CA_ & | ||||
óC) a (CCA_ & | óC) a (CCA_ & | ||||
úC) a (CA_ & | úC) a (CA_ & | ||||
?2 ation (_ 'eIS&~N | |||||
?2 action (_ 'EkS&~N | |||||
ation (_ 'eIS&~N | |||||
.group â | .group â | ||||
e (ssL04_ E | e (ssL04_ E | ||||
e (ss_ E // stress and english words | e (ss_ E // stress and english words | ||||
?2 ection (_ 'EkS&~N | |||||
?2 C) ee (_ i | ?2 C) ee (_ i | ||||
?2 ee (C_ i | ?2 ee (C_ i | ||||
?2 C) e (em_ e | ?2 C) e (em_ e | ||||
e (rvL04_ E | e (rvL04_ E | ||||
e (tL04_ E | e (tL04_ E | ||||
m) e (tL04_ e | |||||
m) e (tL03_ e | |||||
An) e (tA_ e | An) e (tA_ e | ||||
on) e (te_ E | on) e (te_ E | ||||
gaz) e (ta_ e | gaz) e (ta_ e | ||||
_dec) e (pL04_ E | _dec) e (pL04_ E | ||||
_in) e (ptL03_ E | _in) e (ptL03_ E | ||||
ad) e (quL04_ E | ad) e (quL04_ E | ||||
_dig) e (rL02_ E | |||||
_ing) e (rL02_ E | |||||
_sev) e (rL03_ E | _sev) e (rL03_ E | ||||
_reit) e (rL03_ E | _reit) e (rL03_ E | ||||
_sinc) e (rL03_ E | _sinc) e (rL03_ E | ||||
_exub) e (rL04_ E | _exub) e (rL04_ E | ||||
_temp) e (rL04_ E | _temp) e (rL04_ E | ||||
_adult) e (rL04_ E | _adult) e (rL04_ E | ||||
_incin) e (rL04_ E | |||||
_persev) e (rL04_ E | _persev) e (rL04_ E | ||||
_recup) e (rL04_ E | _recup) e (rL04_ E | ||||
_refrig) e (rL04_ E | _refrig) e (rL04_ E | ||||
_incin) e (rL04_ E | |||||
_ex) e (rcL02_ E | |||||
_c) e (rcL02_ E | _c) e (rcL02_ E | ||||
_c) e (rquL02_ E | |||||
_ing) e (rL02_ E | |||||
_dig) e (rL02_ E | |||||
_ex) e (rcL02_ E | |||||
_alic) e (rcL02_ E | _alic) e (rcL02_ E | ||||
_p) e (rdL02_ E | _p) e (rdL02_ E | ||||
_l) e (rdL03_ E | _l) e (rdL03_ E | ||||
_) e (rgL03_ e | _) e (rgL03_ e | ||||
_re) e (rgL03_ e | _re) e (rgL03_ e | ||||
_so) e (rgL03_ e | _so) e (rgL03_ e | ||||
_c) e (rquL02_ E | |||||
_bez) e (rrL03_ e | _bez) e (rrL03_ e | ||||
v) e (rtL03_ e // con- re- in- | v) e (rtL03_ e // con- re- in- | ||||
_f) e (rvL03_ e | _f) e (rvL03_ e | ||||
.group h | .group h | ||||
_) h (_ ag'a | _) h (_ ag'a | ||||
h // silent | h // silent | ||||
_) hel (p x'EU | |||||
?1 _) help _^_En | |||||
?2 _) hel (p x'EU | |||||
.group i | .group i | ||||
?1 @) ings (_ _^_EN | ?1 @) ings (_ _^_EN | ||||
?2 il (ton_ 'iU | ?2 il (ton_ 'iU | ||||
?2 i (rton_ 'i | ?2 i (rton_ 'i | ||||
?2 iction (_ 'ikS&~N | |||||
?2 ight (_ aIt | |||||
?2 ights (_ aIts | |||||
?1 ight (_ _^_EN | |||||
?1 ights (_ _^_EN | |||||
.group í | .group í | ||||
óCC) o (CA_ o | óCC) o (CA_ o | ||||
úC) o (CA_ o | úC) o (CA_ o | ||||
úCC) o (CA_ o | úCC) o (CA_ o | ||||
?2 otion (_ 'owS&~N | |||||
//sort | //sort | ||||
_f) o (L05_ o | _f) o (L05_ o | ||||
_s) o (bL02_ O | _s) o (bL02_ O | ||||
_af) o (bL04_ O | _af) o (bL04_ O | ||||
_esn) o (bL04_ O | _esn) o (bL04_ O | ||||
_af) o (fL04_ O | |||||
_engl) o (bL04_ O | _engl) o (bL04_ O | ||||
_sal) o (brL03_ o | _sal) o (brL03_ o | ||||
_) o (cL03_ o | _) o (cL03_ o | ||||
_m) o (fL01_ O | _m) o (fL01_ O | ||||
_m) o (fL02_ O | _m) o (fL02_ O | ||||
_af) o (fL04_ O | |||||
_s) o (frL02_ O | _s) o (frL02_ O | ||||
_ap) oi (L01_ OI | _ap) oi (L01_ OI | ||||
_ap) oi (L02_ OI | _ap) oi (L02_ OI | ||||
qü kw | qü kw | ||||
qu (Y k | qu (Y k | ||||
qu (K ku | qu (K ku | ||||
?2 _) que (_K ke | |||||
_) que (_ ky | _) que (_ ky | ||||
?1 _) qua kwa // quatro, etc. | ?1 _) qua kwa // quatro, etc. | ||||
?1 _) que ke // quente, etc. | ?1 _) que ke // quente, etc. | ||||
_) sobre (@P5 sob*e | _) sobre (@P5 sob*e | ||||
_tran) s (A z | _tran) s (A z | ||||
?1 ssion (_ _^_EN | |||||
.group t | .group t | ||||
g) u (Y | g) u (Y | ||||
_m) ui (tA_ 'wiN | _m) ui (tA_ 'wiN | ||||
?2 ution (_ 'uS&~N | |||||
.group ú | .group ú |
// translation rules for Slovenian | // translation rules for Slovenian | ||||
// This file is UTF-8 encoded | // This file is UTF-8 encoded | ||||
// $alt1 open vowel [E] or [O] in the stressed syllable | |||||
// $alt2 open vowel [o] or [o] in the stressed syllable | |||||
// $alt3 short stress on final syllable | |||||
// letter names | // letter names | ||||
b b@ | b b@ | ||||
c ts@ | c ts@ | ||||
e e | e e | ||||
f f@ | f f@ | ||||
g g@ | g g@ | ||||
h h@ | |||||
_h h@ | |||||
j j@ | j j@ | ||||
_k k@ | _k k@ | ||||
l l@ | l l@ | ||||
_8 'os@m | _8 'os@m | ||||
_9 dEv'et | _9 dEv'et | ||||
_10 dEs'et | _10 dEs'et | ||||
_11 'e'najst | |||||
_11 'E'najst | |||||
_12 dv#'anajst | _12 dv#'anajst | ||||
_13 tR'inajst | _13 tR'inajst | ||||
_14 St'iRinajst | _14 St'iRinajst | ||||
// Function words (unstressed) | // Function words (unstressed) | ||||
// verb: to be | |||||
sem $u | |||||
bom bo+m $u // example of unstressed [o] | |||||
//pronouns | |||||
// prepositions | |||||
skozi sko+zi $u+ | |||||
za $u+ | |||||
// verb: to be | |||||
sem s@m $u | |||||
si $u | si $u | ||||
je $u | je $u | ||||
sva $u | sva $u | ||||
bila $u | bila $u | ||||
bili $u | bili $u | ||||
// exceptions | |||||
deset $2 | |||||
devet $2 | |||||
dim $alt3 | |||||
oba $2 | |||||
žena $alt1 | |||||
šel S@w | |||||
.L01 b d g j l m n v z ž // voiced consonants | .L01 b d g j l m n v z ž // voiced consonants | ||||
.L04 l v | |||||
.group a | .group a | ||||
a a | |||||
a a: | |||||
a (X$w_alt3+ 'a | |||||
.group b | .group b | ||||
b b | b b | ||||
.group e | .group e | ||||
e e | |||||
e (_ E // ?? | |||||
e (C_ E | |||||
e (l_ e | |||||
@) e (n_ @ | |||||
@) e (r_ @ | |||||
_) e E | |||||
e e: | |||||
e (X$w_alt3+ 'E | |||||
@) e (n_ E# | |||||
@C) e (r_ E# | |||||
_) e (m@ E | |||||
.group f | .group f | ||||
.group i | .group i | ||||
i i | |||||
i i: | |||||
i (X$w_alt3+ 'i | |||||
i (A j | i (A j | ||||
@) i (ja_ =i | |||||
.group j | .group j | ||||
K) l (K @l | K) l (K @l | ||||
K) l (rK l | K) l (rK l | ||||
K) l (_ u | K) l (_ u | ||||
@) l (_ =w | |||||
@) l (_ w | |||||
lj l^ | lj l^ | ||||
lj (A lj | lj (A lj | ||||
lj (i l^ | lj (i l^ | ||||
.group o | .group o | ||||
o o | |||||
_) o O | |||||
@) o (_ O | |||||
_) o (l o | |||||
_) o (v o | |||||
X) o (Co O // ?? | |||||
o o: | |||||
o (X$w_alt3+ 'O | |||||
o (Co O: | |||||
o (CCo O: | |||||
o (L04+ o: | |||||
.group p | .group p | ||||
p p | p p | ||||
.group u | .group u | ||||
u u | |||||
u u: | |||||
u (X$w_alt3+ 'u | |||||
u (A w | u (A w | ||||
A) u (K w | A) u (K w | ||||
á 'a: | á 'a: | ||||
é 'e: | é 'e: | ||||
ê 'E: | ê 'E: | ||||
è E | |||||
è 'E | |||||
í 'i: | í 'i: | ||||
ó 'o: | ó 'o: | ||||
ô 'O: | ô 'O: | ||||
ò O | |||||
ò 'O | |||||
ú 'u: | ú 'u: | ||||
đ dZ | đ dZ | ||||
ř R^ | ř R^ | ||||
ä E | |||||
ä E: | |||||
ö @: | ö @: | ||||
ü y | |||||
ü y: | |||||
ß _^_DE | ß _^_DE | ||||
$ d'olaR | $ d'olaR |
91 phoneme tables | |||||
89 phoneme tables | |||||
new total | new total | ||||
base 109 109 | base 109 109 | ||||
consonants 11 119 | consonants 11 119 | ||||
pa 15 151 | pa 15 151 | ||||
ta 24 153 | ta 24 153 | ||||
kn 17 149 | kn 17 149 | ||||
ml 26 152 | |||||
ml 27 152 | |||||
hu 25 124 | hu 25 124 | ||||
lt 44 139 | lt 44 139 | ||||
lv 29 127 | lv 29 127 | ||||
fa 9 112 | fa 9 112 | ||||
rw 15 132 | rw 15 132 | ||||
prs 8 113 | prs 8 113 | ||||
sl 11 137 | |||||
sl 16 125 | |||||
gd 6 109 | gd 6 109 | ||||
nso 12 113 | nso 12 113 | ||||
ht 11 146 | ht 11 146 | ||||
am 15 114 | am 15 114 | ||||
wo 18 120 | wo 18 120 | ||||
dv 14 149 | dv 14 149 | ||||
te 16 149 | |||||
te 18 149 | |||||
si 24 155 | si 24 155 | ||||
tn 27 121 | tn 27 121 | ||||
mt 32 129 | mt 32 129 | ||||
tt 23 120 | tt 23 120 | ||||
ko 19 120 | ko 19 120 | ||||
kl 18 119 | kl 18 119 | ||||
ar 1 109 | |||||
gu 1 149 | |||||
Data file Used by | Data file Used by | ||||
b/b [b] base | b/b [b] base | ||||
[d^] et | [d^] et | ||||
[d] fr | [d] fr | ||||
[d.] hi | [d.] hi | ||||
[d.#] hi | |||||
[d] kn | [d] kn | ||||
[d] hu | [d] hu | ||||
[d] lt | [d] lt | ||||
[d] hr | [d] hr | ||||
[d] sq | [d] sq | ||||
[d] mt | [d] mt | ||||
d/dr2 [d.#] hi | |||||
[d.#] te | |||||
d/tap [*;] ro | d/tap [*;] ro | ||||
d/tap1 [*] base | d/tap1 [*] base | ||||
d/tap2 [t#] en | d/tap2 [t#] en | ||||
[d.] hi | [d.] hi | ||||
[d.#] hi | [d.#] hi | ||||
[d.#] ml | [d.#] ml | ||||
[d.#] te | |||||
d/xdz [dz] consonants | d/xdz [dz] consonants | ||||
[dz] bo | [dz] bo | ||||
[dz#] bo | [dz#] bo | ||||
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.#] ml | |||||
[t] zhy | [t] zhy | ||||
[t] da | [t] da | ||||
ustop/t_ [t] base | ustop/t_ [t] base | ||||
[t[] vi | [t[] vi | ||||
[t`] am | [t`] am | ||||
ustop/th_rfx [t.#] hi | ustop/th_rfx [t.#] hi | ||||
ustop/th_rfx2 [d.#] hi | |||||
[d.#] ml | |||||
[t.#] ml | |||||
[d.#] te | |||||
[t.#] te | |||||
ustop/t_pzd [c] base | ustop/t_pzd [c] base | ||||
[t^] et | [t^] et | ||||
[t;] lt | [t;] lt | ||||
[a] sv | [a] sv | ||||
[a] is | [a] is | ||||
[a/] sw | [a/] sw | ||||
[a] tr | |||||
[a] ka | [a] ka | ||||
[a] nso | [a] nso | ||||
[a] te | [a] te | ||||
[a] ml | [a] ml | ||||
[a] bg | [a] bg | ||||
[a/] it | [a/] it | ||||
[a] tr | |||||
vowel/a_5 [a:] hi | vowel/a_5 [a:] hi | ||||
[a:] ta | [a:] ta | ||||
[a:] ml | [a:] ml | ||||
[a:] vi | [a:] vi | ||||
[A] da | [A] da | ||||
[?A] da | [?A] da | ||||
[a] sl | |||||
vowel/aa [a:] et | vowel/aa [a:] et | ||||
[A] fr-ca | [A] fr-ca | ||||
[A] no | [A] no | ||||
[A@] en-wm | [A@] en-wm | ||||
vowel/aa_6 [A] de | vowel/aa_6 [A] de | ||||
[A:] de | [A:] de | ||||
[a] tr | |||||
vowel/aa_8 [0] en-us | vowel/aa_8 [0] en-us | ||||
[A:] en-us | [A:] en-us | ||||
[0] ga | [0] ga | ||||
[?e] da | [?e] da | ||||
[e] rw | [e] rw | ||||
[e#] rw | [e#] rw | ||||
[e:] sl | |||||
[e] wo | [e] wo | ||||
[e:] wo | [e:] wo | ||||
[e] dv | [e] dv | ||||
[e] ka | [e] ka | ||||
[E] prs | [E] prs | ||||
[E] sl | [E] sl | ||||
[E#] sl | |||||
[E] ht | [E] ht | ||||
[e] si | [e] si | ||||
vowel/e_mid2 [E] af | vowel/e_mid2 [E] af | ||||
[y] sq | [y] sq | ||||
[y] da | [y] da | ||||
[?y] da | [?y] da | ||||
[y] sl | |||||
[y] az | [y] az | ||||
[y] mt | [y] mt | ||||
[y] tt | [y] tt |
lengthmod 5 | lengthmod 5 | ||||
ipa ɖU+02B0 | ipa ɖU+02B0 | ||||
voicingswitch t.# | voicingswitch t.# | ||||
Vowelin f1=1 f2=1800 -300 300 f3=-400 80 | |||||
Vowelin f1=1 f2=1800 -300 300 f3=-150 80 | |||||
Vowelout f1=1 f2=1800 -300 300 f3=-400 80 colr=2 | Vowelout f1=1 f2=1800 -300 300 f3=-400 80 colr=2 | ||||
IF PreVoicing THEN | IF PreVoicing THEN | ||||
FMT(d/xdr) | FMT(d/xdr) | ||||
ENDIF | ENDIF | ||||
FMT(d/dr) addWav(ustop/t) | |||||
// FMT(d/dr) addWav(ustop/th_rfx) | |||||
FMT(d/dr2, 50) addWav(ustop/th_rfx2, 80) | |||||
endphoneme | endphoneme | ||||
endphoneme | endphoneme | ||||
phoneme t.# | |||||
vls rfx stop | |||||
lengthmod 2 | |||||
ipa ʈU+02B0 | |||||
voicingswitch d.# | |||||
Vowelin f1=0 f2=1800 -300 300 f3=-200 80 | |||||
Vowelout f1=0 f2=1800 -300 250 f3=-400 80 rms=20 colr=2 | |||||
IF nextPhW(t.#) THEN | |||||
ChangePhoneme(t.) | |||||
ENDIF | |||||
WAV(ustop/th_rfx2, 80) | |||||
endphoneme | |||||
phoneme d.# | phoneme d.# | ||||
vls rfx stop prevoice | vls rfx stop prevoice | ||||
lengthmod 2 | lengthmod 2 | ||||
ipa ʈU+02B0 | ipa ʈU+02B0 | ||||
Vowelin f1=0 f2=1800 -300 300 f3=-400 80 | |||||
Vowelin f1=0 f2=1800 -300 300 f3=-200 80 | |||||
Vowelout f1=0 f2=1800 -300 250 f3=-400 80 rms=20 colr=2 | Vowelout f1=0 f2=1800 -300 250 f3=-400 80 rms=20 colr=2 | ||||
IF PreVoicing THEN | IF PreVoicing THEN | ||||
ENDIF | ENDIF | ||||
voicingswitch d.# | voicingswitch d.# | ||||
WAV(ustop/t) | |||||
WAV(ustop/th_rfx2, 80) | |||||
endphoneme | endphoneme | ||||
phoneme : // lengthen previous vowel by "length" | |||||
virtual | |||||
length 40 // only a small increase for "long stress" because we probably put the stress on the wrong syllable | |||||
endphoneme | |||||
phoneme @ // Schwa, can be stressed | phoneme @ // Schwa, can be stressed | ||||
vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
length 140 | |||||
length 160 | |||||
FMT(vowel/@) | FMT(vowel/@) | ||||
endphoneme | endphoneme | ||||
phoneme i | phoneme i | ||||
vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
length 140 | |||||
length 160 | |||||
IfNextVowelAppend(;) | IfNextVowelAppend(;) | ||||
IF thisPh(isStressed) AND NOT nextPhW(isRhotic) THEN | IF thisPh(isStressed) AND NOT nextPhW(isRhotic) THEN | ||||
FMT(vowel/ii_6) | FMT(vowel/ii_6) | ||||
phoneme u | phoneme u | ||||
vowel starttype #u endtype #u | vowel starttype #u endtype #u | ||||
length 140 | |||||
length 160 | |||||
FMT(vowel/u_2) | FMT(vowel/u_2) | ||||
endphoneme | endphoneme | ||||
phoneme a | phoneme a | ||||
vowel starttype #a endtype #a | vowel starttype #a endtype #a | ||||
length 170 | length 170 | ||||
IF thisPh(isUnstressed) THEN | |||||
FMT(vowel/a_8) | |||||
ENDIF | |||||
FMT(vowel/a) | FMT(vowel/a) | ||||
endphoneme | endphoneme | ||||
phoneme e | phoneme e | ||||
vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
length 160 | |||||
length 170 | |||||
ChangeIfUnstressed(E) | |||||
FMT(vowel/e_2) | FMT(vowel/e_2) | ||||
endphoneme | endphoneme | ||||
phoneme e: | |||||
phoneme e+ // doesn't reduce to [e] | |||||
vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
length 240 | |||||
FMT(vowel/e) | |||||
endphoneme | |||||
ChangePhoneme(e) | |||||
endphoneme | |||||
phoneme E | phoneme E | ||||
vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
FMT(vowel/e_mid) | FMT(vowel/e_mid) | ||||
endphoneme | endphoneme | ||||
phoneme E# | |||||
vowel starttype #e endtype #e | |||||
length 160 | |||||
IF thisPh(isNotStressed) THEN | |||||
ChangePhoneme(@) | |||||
ENDIF | |||||
FMT(vowel/e_mid) | |||||
endphoneme | |||||
phoneme o | phoneme o | ||||
vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
length 160 | |||||
length 170 | |||||
ChangeIfUnstressed(O) | |||||
FMT(vowel/o_8) | FMT(vowel/o_8) | ||||
endphoneme | endphoneme | ||||
phoneme o+ // doesn't reduce to [O] | |||||
vowel starttype #o endtype #o | |||||
ChangePhoneme(o) | |||||
endphoneme | |||||
phoneme O | phoneme O | ||||
vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
phoneme v | phoneme v | ||||
import_phoneme base/v# | import_phoneme base/v# | ||||
endphoneme | endphoneme | ||||
// for foreign letters | |||||
phoneme y | |||||
vowel starttype #i endtype #i | |||||
length 170 | |||||
FMT(vowel/y) | |||||
endphoneme | |||||
phoneme R^ // Czech r-caron | |||||
import_phoneme sk/R^ | |||||
endphoneme | |||||
phoneme r | phoneme r | ||||
import_phoneme base/R2 | import_phoneme base/R2 | ||||
endphoneme | endphoneme | ||||
phoneme t.# | |||||
vls rfx stop | |||||
lengthmod 2 | |||||
ipa ʈU+02B0 | |||||
voicingswitch d.# | |||||
Vowelin f1=0 f2=1800 -300 300 f3=-200 80 | |||||
Vowelout f1=0 f2=1800 -300 250 f3=-400 80 rms=20 colr=2 | |||||
IF nextPhW(t.#) THEN | |||||
ChangePhoneme(t.) | |||||
ENDIF | |||||
WAV(ustop/th_rfx2, 80) | |||||
endphoneme | |||||
phoneme d.# | |||||
vcd rfx stop | |||||
lengthmod 5 | |||||
ipa ɖU+02B0 | |||||
voicingswitch t.# | |||||
Vowelin f1=1 f2=1800 -300 300 f3=-150 80 | |||||
Vowelout f1=1 f2=1800 -300 300 f3=-400 80 colr=2 | |||||
IF PreVoicing THEN | |||||
FMT(d/xdr) | |||||
ENDIF | |||||
FMT(d/dr2, 50) addWav(ustop/th_rfx2, 80) | |||||
endphoneme | |||||
phoneme a | phoneme a | ||||
vowel starttype #a endtype #a | vowel starttype #a endtype #a | ||||
length 200 | length 200 | ||||
FMT(vowel/a#_4) | |||||
IF thisPh(isUnstressed) AND thisPh(isWordEnd) THEN | |||||
FMT(vowel/a#_2) | |||||
ENDIF | |||||
FMT(vowel/aa_6) | |||||
endphoneme | endphoneme | ||||
phoneme R | phoneme R | ||||
vcd alv flp rhotic | |||||
liquid trill rhotic | |||||
lengthmod 6 | |||||
IF prevPhW(isVowel) AND nextPhW(isVowel) THEN | IF prevPhW(isVowel) AND nextPhW(isVowel) THEN | ||||
CALL base/* | |||||
// ELIF prevPhW(isNotVowel) THEN | |||||
// CALL base/R | |||||
ELSE | |||||
CALL base/r | |||||
ChangePhoneme(*) | |||||
ENDIF | ENDIF | ||||
ipa ɾ | |||||
CALL base/R | |||||
endphoneme | endphoneme | ||||
phoneme R | phoneme R | ||||
liquid | |||||
liquid rhotic | |||||
trill | trill | ||||
lengthmod 6 | lengthmod 6 | ||||
ipa r | ipa r | ||||
endphoneme | endphoneme | ||||
phoneme R2 // this is [R] from Slovak/Czech | phoneme R2 // this is [R] from Slovak/Czech | ||||
liquid | |||||
liquid rhotic | |||||
trill | trill | ||||
lengthmod 6 | lengthmod 6 | ||||
ipa r | ipa r | ||||
endphoneme | endphoneme | ||||
phoneme R3 // Afrikaans | phoneme R3 // Afrikaans | ||||
liquid | |||||
liquid rhotic | |||||
trill | trill | ||||
lengthmod 6 | lengthmod 6 | ||||
length 60 | length 60 | ||||
phoneme r" // uvular trill | phoneme r" // uvular trill | ||||
vcd uvl frc | |||||
vcd uvl frc rhotic | |||||
ipa ʀ | ipa ʀ | ||||
lengthmod 6 | lengthmod 6 | ||||
IF nextPh(isNotVowel) THEN | IF nextPh(isNotVowel) THEN | ||||
phonemetable prs base | phonemetable prs base | ||||
include ph_dari | include ph_dari | ||||
phonemetable sl sk | |||||
phonemetable sl pl | |||||
include ph_slovenian | include ph_slovenian | ||||
phonemetable gd base | phonemetable gd base | ||||
phonemetable kl base | phonemetable kl base | ||||
include ph_greenlandic | include ph_greenlandic | ||||
phonemetable ar base | |||||
include ph_arabic | |||||
phonemetable gu hi | |||||
include ph_gujarati | |||||
#include "translate.h" | #include "translate.h" | ||||
#include "wave.h" | #include "wave.h" | ||||
const char *version_string = "1.47.09 29.Apr.13"; | |||||
const char *version_string = "1.47.10a 03.May.13"; | |||||
const int version_phdata = 0x014709; | const int version_phdata = 0x014709; | ||||
int option_device_number = -1; | int option_device_number = -1; |
tr->langopts.stress_flags = S_NO_AUTO_2; | tr->langopts.stress_flags = S_NO_AUTO_2; | ||||
tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x103; | tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x103; | ||||
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_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['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 |
case V_OPTION: | case V_OPTION: | ||||
value2 = 0; | value2 = 0; | ||||
if((sscanf(p,"%s %d %d",option_name,&value,&value2) >= 2) && ((ix = LookupMnem(options_tab, option_name)) >= 0)) | |||||
if(((sscanf(p,"%s %d %d",option_name,&value,&value2) >= 2) && ((ix = LookupMnem(options_tab, option_name)) >= 0)) || | |||||
((sscanf(p,"%d %d %d",&ix,&value,&value2) >= 2) && (ix < N_LOPTS))) | |||||
{ | { | ||||
langopts->param[ix] = value; | langopts->param[ix] = value; | ||||
langopts->param2[ix] = value2; | langopts->param2[ix] = value2; |