Browse Source

[1.47.10a]

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-fd96e6ae7743
master
jonsd 12 years ago
parent
commit
b84ec8a609

+ 6
- 6
dictsource/dict_phonemes View File

@@ -148,7 +148,7 @@ p Q r R s s; t T
ts v x z


Dictionary en_dict 2013-04-30
Dictionary en_dict 2013-05-03

0 0# 3 3: @ @- @2 @5
@L a a# A: A@ aa aI aI3
@@ -562,7 +562,7 @@ r. R2 s S t t# t. t.#
v x z


Dictionary pl_dict 2013-04-06
Dictionary pl_dict 2013-05-03

a E E# E~ i O O~ u
y
@@ -574,7 +574,7 @@ S s; S; t t; tS ts tS;
ts; v w x z Z Z;


Dictionary pt_dict 2013-05-01
Dictionary pt_dict 2013-05-03

& &/ &U~ &~ @ @- a A
aI aU e E eI EI eU EU
@@ -642,10 +642,10 @@ s S t t; tS ts v w
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
h j k l l^ m n N

+ 1
- 0
dictsource/en_list View File

@@ -1750,6 +1750,7 @@ hominem h0mInEm
hooah h'u:'A:
hopi hoUpi:
horizontal $3
(hors d'oeuvres) O@'d3:vz
hospitable h0sp'It@b@L
hostage h0stI2dZ
hostess hoUstEs

+ 1
- 1
dictsource/hy_list View File

@@ -76,7 +76,7 @@ _: verdZak'et
_, storak'et
_. midZak'et
_֊ jent#amn'a // hyphen
_՜ bats#akantSut#j'un
_՜ bats#akantSak'an
_՟ pat'iw



+ 4
- 4
dictsource/hy_rules View File

@@ -5,7 +5,7 @@
// ?1 West Armenian

.L01 բ գ թ կ պ տ ք
.L02 ու այ իւ իյ ոյ ա ե ը ի ո օ // vowel sounds
.L02 ու այ իւ իյ ոյ ա ե ը ի ո օ ույ // vowel sounds

// ligature
.replace
@@ -15,7 +15,7 @@
.group ա
ա a
այ aI
այ (_ a
?1 այ (_ a

.group բ
բ b
@@ -122,7 +122,7 @@
ու (A v
ոյ uj // ?? uj or uy
A) ոյ oj // ?? oj or oy
ոյ (_ o
?1 ոյ (_ o

.group չ
չ tS
@@ -156,7 +156,7 @@

.group ր
ր r
?!1 L02) ր (L02 r
?1 L02) ր (L02 r
_) ր (C r@
C) ր (_ @r
L02) ր (_ r

+ 1
- 1
dictsource/pl_list View File

@@ -112,7 +112,7 @@ _ó ,u_kREskOv'anE
p pE
q ku
r ER
s ES
s Es
ś S;i
t tE
_u u

+ 7
- 2
dictsource/pt_list View File

@@ -947,6 +947,7 @@ hoje $alt2
horrores $alt2
humores $alt2
ideia $alt
inovo $alt
interesse $alt2
interesse $alt $verb
iodo $alt2
@@ -1178,6 +1179,7 @@ zorra $alt2


// foreign words
?2 álcool 'aUkow
?1 alt 'alt
?2 agosto ag'ostU
?1 back b'Ek
@@ -1216,6 +1218,7 @@ drivers dR'aIveRs
?2 eyes 'aIs
?1 frame fr'eImy
?2 frame fR'eImi
game g'eImy
?1 gmail g,em'eIl
?2 Gmail Zem'eIl
?1 google g'u:g&l
@@ -1324,8 +1327,9 @@ mac mEk
?2 Outlook ,aUtl'uk
?1 paint p'aint
?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 product p:r'&d&kt
?1 Publisher p'&bl,iS&r-
@@ -1401,6 +1405,7 @@ klein kl'aIn // Very common on southern Brazil.
krueger kR'iZer
krüger kR'iZer
kühl k'il
?2 juan xu&~N
mueler m'iler
mueller m'iler
müler m'iler

+ 13
- 17
dictsource/pt_rules View File

@@ -92,8 +92,7 @@
óCC) a (CA_ &
óC) a (CCA_ &
úC) a (CA_ &
?2 ation (_ 'eIS&~N
?2 action (_ 'EkS&~N
ation (_ 'eIS&~N


.group â
@@ -241,7 +240,6 @@

e (ssL04_ E
e (ss_ E // stress and english words
?2 ection (_ 'EkS&~N
?2 C) ee (_ i
?2 ee (C_ i
?2 C) e (em_ e
@@ -260,7 +258,7 @@
e (rvL04_ E

e (tL04_ E
m) e (tL04_ e
m) e (tL03_ e
An) e (tA_ e
on) e (te_ E
gaz) e (ta_ e
@@ -452,6 +450,8 @@ _enver) e (dL03_ E
_dec) e (pL04_ E
_in) e (ptL03_ E
ad) e (quL04_ E
_dig) e (rL02_ E
_ing) e (rL02_ E
_sev) e (rL03_ E
_reit) e (rL03_ E
_sinc) e (rL03_ E
@@ -476,15 +476,12 @@ _enver) e (dL03_ E
_exub) e (rL04_ E
_temp) e (rL04_ E
_adult) e (rL04_ E
_incin) e (rL04_ E
_persev) e (rL04_ E
_recup) e (rL04_ E
_refrig) e (rL04_ E
_incin) e (rL04_ E
_ex) 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
_p) e (rdL02_ E
_l) e (rdL03_ E
@@ -494,6 +491,7 @@ s_colh) e (res_ E
_) e (rgL03_ e
_re) e (rgL03_ e
_so) e (rgL03_ e
_c) e (rquL02_ E
_bez) e (rrL03_ e
v) e (rtL03_ e // con- re- in-
_f) e (rvL03_ e
@@ -604,7 +602,8 @@ _entorp) e (çL03_ e
.group h
_) h (_ ag'a
h // silent
_) hel (p x'EU
?1 _) help _^_En
?2 _) hel (p x'EU


.group i
@@ -666,9 +665,8 @@ _entorp) e (çL03_ e
?1 @) ings (_ _^_EN
?2 il (ton_ 'iU
?2 i (rton_ 'i
?2 iction (_ 'ikS&~N
?2 ight (_ aIt
?2 ights (_ aIts
?1 ight (_ _^_EN
?1 ights (_ _^_EN


.group í
@@ -871,7 +869,6 @@ _entorp) e (çL03_ e
óCC) o (CA_ o
úC) o (CA_ o
úCC) o (CA_ o
?2 otion (_ 'owS&~N

//sort
_f) o (L05_ o
@@ -880,12 +877,12 @@ _pormen) o (L05_ O
_s) o (bL02_ O
_af) o (bL04_ O
_esn) o (bL04_ O
_af) o (fL04_ O
_engl) o (bL04_ O
_sal) o (brL03_ o
_) o (cL03_ o
_m) o (fL01_ O
_m) o (fL02_ O
_af) o (fL04_ O
_s) o (frL02_ O
_ap) oi (L01_ OI
_ap) oi (L02_ OI
@@ -980,7 +977,6 @@ _remem) o (rL04_ O
qü kw
qu (Y k
qu (K ku
?2 _) que (_K ke
_) que (_ ky
?1 _) qua kwa // quatro, etc.
?1 _) que ke // quente, etc.
@@ -1063,6 +1059,7 @@ _remem) o (rL04_ O

_) sobre (@P5 sob*e
_tran) s (A z
?1 ssion (_ _^_EN


.group t
@@ -1111,7 +1108,6 @@ _remem) o (rL04_ O

g) u (Y
_m) ui (tA_ 'wiN
?2 ution (_ 'uS&~N


.group ú

+ 28
- 4
dictsource/sl_list View File

@@ -2,7 +2,11 @@
// translation rules for Slovenian
// 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
b b@
c ts@
@@ -11,7 +15,7 @@ d d@
e e
f f@
g g@
h h@
_h h@
j j@
_k k@
l l@
@@ -55,7 +59,7 @@ _7 s'ed@m
_8 'os@m
_9 dEv'et
_10 dEs'et
_11 'e'najst
_11 'E'najst
_12 dv#'anajst
_13 tR'inajst
_14 St'iRinajst
@@ -116,8 +120,18 @@ z z@ $atend

// 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
je $u
sva $u
@@ -130,3 +144,13 @@ bil $u
bila $u
bili $u


// exceptions

deset $2
devet $2
dim $alt3
oba $2
žena $alt1
šel S@w


+ 29
- 22
dictsource/sl_rules View File

@@ -4,9 +4,12 @@

.L01 b d g j l m n v z ž // voiced consonants

.L04 l v


.group a
a a
a a:
a (X$w_alt3+ 'a

.group b
b b
@@ -27,13 +30,13 @@


.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
@@ -51,8 +54,10 @@


.group i
i i
i i:
i (X$w_alt3+ 'i
i (A j
@) i (ja_ =i


.group j
@@ -69,7 +74,7 @@
K) l (K @l
K) l (rK l
K) l (_ u
@) l (_ =w
@) l (_ w
lj l^
lj (A lj
lj (i l^
@@ -94,14 +99,14 @@


.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
p p

@@ -132,7 +137,9 @@


.group u
u u
u u:
u (X$w_alt3+ 'u

u (A w
A) u (K w

@@ -171,17 +178,17 @@
á 'a:
é 'e:
ê 'E:
è E
è 'E
í 'i:
ó 'o:
ô 'O:
ò O
ò 'O
ú 'u:
đ dZ
ř R^
ä E
ä E:
ö @:
ü y
ü y:
ß _^_DE

$ d'olaR

+ 17
- 11
phsource/compile_report View File

@@ -1,5 +1,5 @@

91 phoneme tables
89 phoneme tables
new total
base 109 109
consonants 11 119
@@ -30,7 +30,7 @@ consonants 11 119
pa 15 151
ta 24 153
kn 17 149
ml 26 152
ml 27 152
hu 25 124
lt 44 139
lv 29 127
@@ -72,7 +72,7 @@ consonants 11 119
fa 9 112
rw 15 132
prs 8 113
sl 11 137
sl 16 125
gd 6 109
nso 12 113
ht 11 146
@@ -81,7 +81,7 @@ consonants 11 119
am 15 114
wo 18 120
dv 14 149
te 16 149
te 18 149
si 24 155
tn 27 121
mt 32 129
@@ -90,8 +90,6 @@ consonants 11 119
tt 23 120
ko 19 120
kl 18 119
ar 1 109
gu 1 149

Data file Used by
b/b [b] base
@@ -156,7 +154,6 @@ d/dr [*] base
[d^] et
[d] fr
[d.] hi
[d.#] hi
[d] kn
[d] hu
[d] lt
@@ -166,6 +163,8 @@ d/dr [*] base
[d] hr
[d] sq
[d] mt
d/dr2 [d.#] hi
[d.#] te
d/tap [*;] ro
d/tap1 [*] base
d/tap2 [t#] en
@@ -200,6 +199,7 @@ d/xdr [d] fr
[d.] hi
[d.#] hi
[d.#] ml
[d.#] te
d/xdz [dz] consonants
[dz] bo
[dz#] bo
@@ -987,8 +987,6 @@ ustop/q [q] base
ustop/q_u [q] base
ustop/t [t] base
[t] en-us
[d.#] hi
[d.#] ml
[t] zhy
[t] da
ustop/t_ [t] base
@@ -1019,6 +1017,11 @@ ustop/t_hi [t[] base
[t[] vi
[t`] am
ustop/th_rfx [t.#] hi
ustop/th_rfx2 [d.#] hi
[d.#] ml
[t.#] ml
[d.#] te
[t.#] te
ustop/t_pzd [c] base
[t^] et
[t;] lt
@@ -1683,6 +1686,7 @@ vowel/a#_2 [A] nl
[a] sv
[a] is
[a/] sw
[a] tr
[a] ka
[a] nso
[a] te
@@ -1731,7 +1735,6 @@ vowel/a#_4 [a:] nl
[a] ml
[a] bg
[a/] it
[a] tr
vowel/a_5 [a:] hi
[a:] ta
[a:] ml
@@ -1754,6 +1757,7 @@ vowel/a_8 [a] en
[a:] vi
[A] da
[?A] da
[a] sl
vowel/aa [a:] et
[A] fr-ca
[A] no
@@ -1780,6 +1784,7 @@ vowel/aa_5 [A:] en-n
[A@] en-wm
vowel/aa_6 [A] de
[A:] de
[a] tr
vowel/aa_8 [0] en-us
[A:] en-us
[0] ga
@@ -1836,7 +1841,6 @@ vowel/e [e] base
[?e] da
[e] rw
[e#] rw
[e:] sl
[e] wo
[e:] wo
[e] dv
@@ -1944,6 +1948,7 @@ vowel/e_mid [E] en-rp
[e] ka
[E] prs
[E] sl
[E#] sl
[E] ht
[e] si
vowel/e_mid2 [E] af
@@ -2502,6 +2507,7 @@ vowel/y [y] base2
[y] sq
[y] da
[?y] da
[y] sl
[y] az
[y] mt
[y] tt

BIN
phsource/d/dr2 View File


+ 2
- 3
phsource/ph_hindi View File

@@ -430,15 +430,14 @@ phoneme d.#
lengthmod 5
ipa ɖU+02B0
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

IF PreVoicing THEN
FMT(d/xdr)
ENDIF

FMT(d/dr) addWav(ustop/t)
// FMT(d/dr) addWav(ustop/th_rfx)
FMT(d/dr2, 50) addWav(ustop/th_rfx2, 80)
endphoneme



+ 17
- 2
phsource/ph_malayalam View File

@@ -193,11 +193,26 @@ phoneme d#
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.#
vls rfx stop prevoice
lengthmod 2
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

IF PreVoicing THEN
@@ -209,7 +224,7 @@ phoneme d.#
ENDIF

voicingswitch d.#
WAV(ustop/t)
WAV(ustop/th_rfx2, 80)
endphoneme



+ 46
- 11
phsource/ph_slovenian View File

@@ -1,13 +1,20 @@


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
vowel starttype #@ endtype #@
length 140
length 160
FMT(vowel/@)
endphoneme

phoneme i
vowel starttype #i endtype #i
length 140
length 160
IfNextVowelAppend(;)
IF thisPh(isStressed) AND NOT nextPhW(isRhotic) THEN
FMT(vowel/ii_6)
@@ -17,31 +24,32 @@ endphoneme

phoneme u
vowel starttype #u endtype #u
length 140
length 160
FMT(vowel/u_2)
endphoneme



phoneme a
vowel starttype #a endtype #a
length 170
IF thisPh(isUnstressed) THEN
FMT(vowel/a_8)
ENDIF
FMT(vowel/a)
endphoneme


phoneme e
vowel starttype #e endtype #e
length 160
length 170
ChangeIfUnstressed(E)
FMT(vowel/e_2)
endphoneme

phoneme e:
phoneme e+ // doesn't reduce to [e]
vowel starttype #e endtype #e
length 240
FMT(vowel/e)
endphoneme

ChangePhoneme(e)
endphoneme

phoneme E
vowel starttype #e endtype #e
@@ -49,14 +57,27 @@ phoneme E
FMT(vowel/e_mid)
endphoneme

phoneme E#
vowel starttype #e endtype #e
length 160
IF thisPh(isNotStressed) THEN
ChangePhoneme(@)
ENDIF
FMT(vowel/e_mid)
endphoneme


phoneme o
vowel starttype #o endtype #o
length 160
length 170
ChangeIfUnstressed(O)
FMT(vowel/o_8)
endphoneme

phoneme o+ // doesn't reduce to [O]
vowel starttype #o endtype #o
ChangePhoneme(o)
endphoneme

phoneme O
vowel starttype #o endtype #o
@@ -69,3 +90,17 @@ endphoneme
phoneme v
import_phoneme base/v#
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



+ 33
- 0
phsource/ph_telugu View File

@@ -104,3 +104,36 @@ endphoneme
phoneme r
import_phoneme base/R2
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



+ 9
- 8
phsource/ph_turkish View File

@@ -92,7 +92,10 @@ endphoneme
phoneme a
vowel starttype #a endtype #a
length 200
FMT(vowel/a#_4)
IF thisPh(isUnstressed) AND thisPh(isWordEnd) THEN
FMT(vowel/a#_2)
ENDIF
FMT(vowel/aa_6)
endphoneme


@@ -198,13 +201,11 @@ endphoneme


phoneme R
vcd alv flp rhotic
liquid trill rhotic
lengthmod 6
IF prevPhW(isVowel) AND nextPhW(isVowel) THEN
CALL base/*
// ELIF prevPhW(isNotVowel) THEN
// CALL base/R
ELSE
CALL base/r
ChangePhoneme(*)
ENDIF
ipa ɾ
CALL base/R
endphoneme


+ 5
- 11
phsource/phonemes View File

@@ -344,7 +344,7 @@ endphoneme


phoneme R
liquid
liquid rhotic
trill
lengthmod 6
ipa r
@@ -357,7 +357,7 @@ phoneme R
endphoneme

phoneme R2 // this is [R] from Slovak/Czech
liquid
liquid rhotic
trill
lengthmod 6
ipa r
@@ -367,7 +367,7 @@ phoneme R2 // this is [R] from Slovak/Czech
endphoneme

phoneme R3 // Afrikaans
liquid
liquid rhotic
trill
lengthmod 6
length 60
@@ -394,7 +394,7 @@ endphoneme


phoneme r" // uvular trill
vcd uvl frc
vcd uvl frc rhotic
ipa ʀ
lengthmod 6
IF nextPh(isNotVowel) THEN
@@ -1892,7 +1892,7 @@ include ph_kinyarwanda
phonemetable prs base
include ph_dari

phonemetable sl sk
phonemetable sl pl
include ph_slovenian

phonemetable gd base
@@ -1947,9 +1947,3 @@ include ph_korean
phonemetable kl base
include ph_greenlandic

phonemetable ar base
include ph_arabic

phonemetable gu hi
include ph_gujarati


BIN
phsource/ustop/th_rfx2.wav View File


+ 1
- 1
src/synthdata.cpp View File

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

const char *version_string = "1.47.09 29.Apr.13";
const char *version_string = "1.47.10a 03.May.13";
const int version_phdata = 0x014709;

int option_device_number = -1;

+ 2
- 0
src/tr_languages.cpp View File

@@ -1389,6 +1389,8 @@ SetLengthMods(tr,3); // all equal
tr->langopts.stress_flags = S_NO_AUTO_2;
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_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->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

+ 2
- 1
src/voices.cpp View File

@@ -902,7 +902,8 @@ voice_t *LoadVoice(const char *vname, int control)

case V_OPTION:
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->param2[ix] = value2;

Loading…
Cancel
Save