Add lang=is Icelandic. Adopt Phoneme [R] from experimental Croatian [R2]. lang=hu, add vowel_pause. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@20 d46cf337-b52f-0410-862d-fd96e6ae7743master
@@ -43,7 +43,7 @@ Dictionary de_dict | |||
3 @ @- a A: aI aU E | |||
E2 E: e: I i: O o: OI | |||
U u: u: W y y: Y: | |||
U u: W y y: Y: | |||
* ; b C d D f g | |||
h j k l m n N p | |||
@@ -66,9 +66,9 @@ Dictionary en_dict | |||
0 3 3: @ @- @2 @5 @L | |||
a a2 A: A@ aa aI aI@ aU | |||
aU@ E e@ eI I i I2 i: | |||
i@ IR O O: o: O@ o@ OI | |||
oU O~ U u: U@ V VR | |||
aU@ E e@ eI I I2 i: i@ | |||
IR O O: o: O@ o@ OI oU | |||
O~ U u: U@ V VR | |||
: ; b C d D dZ f | |||
g g- h j k l L m | |||
@@ -112,8 +112,8 @@ S s2 t v Z | |||
Dictionary fr_dict | |||
@ @- a A A~ e E E~ | |||
i o O oU O~ u U u: | |||
@ @- a A aU A~ e E | |||
E~ i I o O O O~ u | |||
W w^i W~ y Y | |||
(o) : ; b c d dZ f | |||
@@ -141,23 +141,23 @@ Dictionary hr_dict | |||
& 8 @ @- @2 a A a: | |||
aI aU E e e: eI i I | |||
i: iI l- o o: oI oU r- | |||
u U u: | |||
u U u: uI | |||
* b d d; dZ dZ; f g | |||
h j k l l^ m n N | |||
n^ p r R s S t tS | |||
ts tS; v w x z Z | |||
n^ p r R s S t t; | |||
tS ts tS; v x z Z | |||
Dictionary hu_dict | |||
@- A a: E e e: i i: | |||
o o: u u: y Y y: Y: | |||
A a: E e e: i i: o | |||
o: u u: y Y y: Y: | |||
* : b c C d dZ f | |||
g h j J k l m n | |||
N n^ p r s S s2 t | |||
tS ts v z Z | |||
N n^ p r R s S s2 | |||
t tS ts v z Z | |||
Dictionary it_dict | |||
@@ -212,8 +212,8 @@ Dictionary pt_dict | |||
& &/ &U~ &~ @ @- a A | |||
aI aU e E eI EI eU EU | |||
i i/ iU o O oI OI o~ | |||
U u uI u~ y | |||
i i/ iU i~ o O oI OI | |||
o~ U u uI u~ y | |||
* : ; b C d dZ f | |||
g h j k l l^ m n | |||
@@ -312,11 +312,11 @@ tS v w z | |||
Dictionary is_dict | |||
& @- a aI aU e E eI | |||
i I o O oU u W y | |||
Yy | |||
i I o O oU oU2 u W | |||
y Yy | |||
* : ; b c C d D | |||
f g h j J k l L | |||
l# m m# n N n# N# n^ | |||
n^# p Q r r# s S t | |||
T tl# v x z | |||
f g h j J k l l# | |||
m m# n N n# N# n^ n^# | |||
p Q r r# s S t T | |||
tl# v x z |
@@ -182,6 +182,7 @@ ui $abbrev | |||
uk $abbrev | |||
url $abbrev | |||
usa $abbrev | |||
u.s ju:'Es | |||
wwii dVb@Lju:dVb@Lju:t'u: | |||
xy $abbrev | |||
@@ -722,7 +723,7 @@ dingy dIndZI2 | |||
dinosaur daIn@sO@ | |||
diode daIoUd | |||
diplomacy dIpl'oUm@sI2 | |||
disconsolate dIsC'0ns@l@t | |||
disconsolate dIsk'0ns@l@t | |||
disc dIsk // for discs | |||
disciple dIs'aIp@L | |||
discounted $2 |
@@ -480,7 +480,7 @@ | |||
_) al (i al | |||
_) al (ig a2l | |||
_) ali (Be a2laI | |||
&) ali (sC_ @li | |||
&) ali (sC_ @lI | |||
&) al (isCic @l | |||
_) al (k al | |||
_) all (@ a2l | |||
@@ -5115,6 +5115,8 @@ | |||
š S | |||
ş S | |||
ž Z | |||
þ T | |||
ð D | |||
\\ bakstroUk |
@@ -124,8 +124,9 @@ | |||
r R | |||
A) r (A R | |||
K) r (A @-* | |||
rr RR | |||
-) ro (_ R%o d-ro, n-ro | |||
-) ro (_ R%o // d-ro, n-ro | |||
.group s | |||
_) s(_ so |
@@ -20,8 +20,8 @@ m m@ | |||
n n@ | |||
nj n^@ | |||
p p@ | |||
q kvE | |||
r r- | |||
q kv@ // new | |||
r R@ // new | |||
_s s@ | |||
š S@ | |||
t t@ |
@@ -83,7 +83,7 @@ | |||
.group r | |||
r R | |||
A) r (A R | |||
K) r (A @-* | |||
K) r (A R | |||
rr R | |||
r (_ R | |||
@@ -101,7 +101,8 @@ | |||
.group u | |||
u u | |||
uj (K wi | |||
uj (K uI | |||
X) uj (_ u'i | |||
.group v | |||
v v |
@@ -13,7 +13,7 @@ m Em | |||
n En | |||
p pe: | |||
q ku: | |||
r Er | |||
r ER | |||
s S_ | |||
s ES $atend | |||
_s ES | |||
@@ -30,7 +30,7 @@ _. pont | |||
_0 n'ullA | |||
_1 'EJ | |||
_2 k'EttY: | |||
_3 h'a:rom | |||
_3 h'a:Rom | |||
_4 n'e:J | |||
_5 'Yt | |||
_6 h'At | |||
@@ -51,9 +51,9 @@ _9X k'ilEntsvEn | |||
_0C s'a:z_ | |||
_1C s'a:z | |||
_0M1 'EzEr | |||
_1M1 'EzEr | |||
_2M1 k'e:t,EzEr | |||
_0M1 'EzER | |||
_1M1 'EzER | |||
_2M1 k'e:t,EzER | |||
_0M2 m'illio: | |||
_1M2 m'illio: | |||
_2M2 k'e:tm,illio: | |||
@@ -68,7 +68,7 @@ _dpt v,Ess2Y: | |||
// Articles | |||
a $u | |||
a A: $atend | |||
a A: $atend // letter "a" | |||
az $u | |||
ez $u // this |
@@ -133,10 +133,11 @@ | |||
qu kv | |||
.group r | |||
r r | |||
A) r (A * | |||
C) r (A @-* | |||
rr *r | |||
r R | |||
A) r (A R | |||
C) r (A R | |||
r (C r | |||
rr R | |||
.group s | |||
s S |
@@ -0,0 +1,382 @@ | |||
// Exceptions dictionary for: Icelandic | |||
// This file in UTF8 encoded | |||
// Letters | |||
// If a letter has a "word" pronunciation which is different from its | |||
// "letter" name, then include the letter name here, with the letter | |||
// prefixed by a _ character. | |||
// numeric | |||
//******** | |||
_0 n'utl# | |||
_1 'eIdn | |||
_2 dv'eI:r# | |||
_3 Tr#'i:r# | |||
_4 fj'oU:@-*Ir# | |||
_1f 'eIhd | |||
_2f tv'W: | |||
_3f Tr#j'u: | |||
_4f fj'W:Qyr# | |||
_5 f'Im | |||
_6 s'e:xs | |||
_7 S'W: | |||
_8 'aUhd& | |||
_9 n'i:;y | |||
_10 t'i:;y | |||
_11 'EdlEv,y | |||
_12 t'oUl#f | |||
_13 Tr#'EhdaUn | |||
_14 fj'oUr#taUn | |||
_15 f'ImtaUn | |||
_16 s'ExsdaUn | |||
_17 s'Yy:djaUn | |||
_18 'aU:djaUn | |||
_19 n'i:djaUn | |||
_2X t'yhdyQ,y | |||
_3X Tr#j'aU:ti;,y | |||
_4X fj'W:@-*yt,i;y | |||
_5X f'Imti;,y | |||
_6X s'Exsdi;,y | |||
_7X sj'W:ti;,y | |||
_8X 'aUhd&t,i;y | |||
_9X n'i:;yt,i;y | |||
_0C h'ynd@-*yD | |||
_1C 'eIhd||h'ynd@-*&D | |||
_2C tv'W:||h'ynd@-*yD | |||
_3C Tr#j'u:||h'ynd@-*yD | |||
_4C fj'W:Qyr#||h'ynd@-*yD | |||
_0M1 T'u:synd | |||
_0M2 m'IdljoUn | |||
_1M2 eI:n||m'IdljoUn | |||
_2M2 tv'aI:r#||m'IdljoUn | |||
_3M2 Tr#j'aU:r#||m'IdljoUn | |||
_4M2 fj'oU:*&r#||m'IdljoUn | |||
_0and o:Q | |||
// abbreviations | |||
//************** | |||
hinn $u+ | |||
hin $u+ | |||
hið $u+ | |||
hitt $u+ // this | |||
hina $u+ | |||
hinir $u+ | |||
hinar $u+ | |||
hinum $u+ | |||
hinni $u+ | |||
hinu $u+ | |||
hins $u+ | |||
hinnar $u+ | |||
hinna $u+ | |||
// articles | |||
// pronouns | |||
ég $u // nominative | |||
þú $u | |||
hann $u | |||
hún $u | |||
það $u | |||
við $u | |||
þið $u | |||
þeir $u | |||
þær $u | |||
þau $u | |||
mig $u+ | |||
þig $u+ | |||
hana $u+ | |||
okkur $u+ | |||
ykkur $u+ | |||
þá $u+ | |||
þessi $u+ // this | |||
þetta $u+ | |||
þessir $u+ | |||
þessar $u+ | |||
þessi $u+ | |||
þennan $u+ | |||
þessa $u+ | |||
þessum $u+ | |||
þessari $u+ | |||
þessu $u+ | |||
þessarar $u+ | |||
sá $u+ // that | |||
sú $u+ | |||
það $u+ | |||
þann $u+ | |||
þá $u+ | |||
þeim $u+ | |||
þeirri $u+ | |||
því $u+ | |||
þess $u+ | |||
þeirrar $u+ | |||
þeir $u+ | |||
þær $u+ | |||
þau $u+ | |||
þeim $u+ | |||
þeirra $u+ | |||
hver $u+ $pause // who | |||
// possessive adjectives | |||
minn $u+ | |||
mín $u+ | |||
mitt $u+ | |||
mína $u+ | |||
mínum $u+ | |||
mínar $u+ | |||
minni $u+ | |||
mínu $u+ | |||
míns $u+ | |||
minnar $u+ | |||
mínir $u+ | |||
minna $u+ | |||
þinn $u+ | |||
þín $u+ | |||
þitt $u+ | |||
þína $u+ | |||
þínum $u+ | |||
þínar $u+ | |||
// etc | |||
sinn $u+ | |||
sín $u+ | |||
sitt $u+ | |||
sína $u+ | |||
sínum $u+ | |||
sínar $u+ | |||
vor $u+ | |||
vort $u+ | |||
vorn $u+ | |||
vora $u+ | |||
vorar $u+ | |||
// etc... | |||
// prepositions | |||
á $u+ $brk | |||
að $u+ $brk // towards | |||
af $u+ $brk // from,off of | |||
eftir $u+ $pause // after,by | |||
frá $u+ $brk // off | |||
fyrir $u+ $pause // for,by | |||
í $u+ $brk | |||
með $u+ $brk // with | |||
til $u+ $brk // to | |||
um $u+ $brk // about | |||
við $u+ $brk // with,at,against | |||
úr $u+ $brk // out of | |||
án $u+ $pause // without | |||
hjá $u+ $brk // by, with | |||
milli $pause // between | |||
mót $u+ $brk // against | |||
auk $brk // in addition to, besides | |||
gegnum $brk // through | |||
gegn $brk // against | |||
undir $u $brk // under | |||
yfir $brk // over | |||
framhjá $brk // by, past | |||
handa $brk // for | |||
áður $pause // before | |||
vegna $pause // because of | |||
síðan $pause // since | |||
líka $pause // also, as well | |||
// conjunctions | |||
en $u+ $pause // but | |||
eða $u+ $pause // or | |||
né $pause // nor | |||
og $u+ $pause // and | |||
þegar $pause // when, as soon as | |||
ef $u+ $pause // if | |||
enda $pause // but, however | |||
þó $pause // although | |||
vegna $pause // because of | |||
nema $pause // unless, except | |||
hvort $pause // whether | |||
þannig $pause // thus, so | |||
meðan $pause // while, as long as | |||
annars $pause // else, otherwise | |||
svo $pause // so (that) | |||
sem $u+ $brk // as | |||
því $u+ $pause // the..the.. | |||
// negative | |||
ekki $u+ | |||
nei $u+ | |||
// questions | |||
// auxillary verbs (be, have, can, etc) | |||
//**************** | |||
vera $u // to be | |||
er $u // is, present | |||
ert $u | |||
erum $u | |||
eruð $u | |||
eru $u | |||
ertu $u // are you? | |||
var $u // was, past | |||
varst $u | |||
vorum $u | |||
voruð $u | |||
voru $u | |||
verið $u | |||
á $u+ // to have (own) | |||
átt $u+ | |||
eigum $u+ | |||
eigið $u+ | |||
eiga $u+ | |||
átti $u+ // to have (own) past | |||
áttir $u+ | |||
áttum $u+ | |||
áttuð $u+ | |||
áttu $u+ | |||
hafa $u // to have | |||
hef $u | |||
hefur $u | |||
höfum $u | |||
hafið $u | |||
hafði $u // had, past | |||
hafðir $u | |||
höfðum $u | |||
höfðuð $u | |||
höfðu $u | |||
verð $u // to become | |||
verður $u | |||
verðum $u | |||
verðið $u | |||
verða $u | |||
varð $u // became, past | |||
varðst $u | |||
urðum $u | |||
urðuð $u | |||
urðu $u | |||
get $u+ // can | |||
getur $u+ | |||
getum $u+ | |||
getið $u+ | |||
geta $u+ | |||
gat $u+ // could, past | |||
gast $u+ | |||
gátum $u+ | |||
gátuð $u+ | |||
gátu $u+ | |||
mun $u+ // will | |||
munt $u+ | |||
munum $u+ | |||
munuð $u+ | |||
munu $u+ | |||
muni $u+ // will, subj | |||
munir $u+ | |||
munum $u+ | |||
munið $u+ | |||
mundi $u+ // would, past | |||
mundir $u+ | |||
mundum $u+ | |||
munduð $u+ | |||
mundu $u+ | |||
myndi $u+ // would, past subj | |||
myndir $u+ | |||
myndum $u+ | |||
mynduð $u+ | |||
myndu $u+ | |||
fæ $u+ // get | |||
færð $u+ | |||
fær $u+ | |||
fáum $u+ | |||
fáið $u+ | |||
fæ $u+ | |||
fékk $u+ // got, past | |||
fékkst $u+ | |||
fengum $u+ | |||
fenguð $u+ | |||
fengu $u+ | |||
// some common adjectives and adverbs | |||
nokkur $u+ // any, some, a few | |||
nokkurt $u+ | |||
nokkuð $u+ | |||
nokkurn $u+ | |||
nokkra $u+ | |||
nokkrir $u+ | |||
nokkrar $u+ | |||
sumur $u+ // some | |||
// common adverbs etc. | |||
fram $u+ // forward | |||
// character names | |||
//**************** | |||
_á aU: | |||
á aU: $atend | |||
b bje: | |||
c sje: | |||
d dje: | |||
ð e:D | |||
f Ef | |||
g gje: | |||
h haU: | |||
_í i: | |||
í i: $atend | |||
j j'o:D | |||
k k'aU: | |||
l El | |||
m Em | |||
n En | |||
p pje: | |||
q ku: | |||
r Err# | |||
s Es | |||
t tje: | |||
v vaf | |||
w tv'W:v&ldv,af | |||
x e:xs | |||
_y 'yfsilOn||,I: | |||
_ý 'yfsilOn||,i: | |||
y 'yfsilOn||,I: $atend | |||
ý 'yfsilOn||,i: $atend | |||
z se:t& | |||
þ T'Ordn# | |||
// MAIN WORD DICTIONARY | |||
//********************* |
@@ -0,0 +1,320 @@ | |||
// Spelling-to-phoneme rules for Icelandic | |||
// This file is UTF8 encoded. | |||
// letter group L08 voiceless consonants | |||
// letter group F p,t,k,s | |||
// letter group H j,r,v, | |||
.group a | |||
a a: | |||
a (FH a: | |||
a (CC & | |||
a (ng aU | |||
a (nk aU | |||
au Yy: | |||
au (FH Yy: | |||
au (CC Yy | |||
_) al (@P2N ,a:l | |||
.group á | |||
á aU: | |||
á (FH aU: | |||
á (CC aU | |||
.group b | |||
b b | |||
bb b | |||
.group c | |||
c k | |||
c (e s | |||
c (i s | |||
.group d | |||
d d | |||
dd d | |||
.group ð | |||
ð D | |||
ð (L08 T | |||
ð (__ T // before pause | |||
.group e | |||
e e: | |||
e (FH e: | |||
e (CC E | |||
e (ng eI | |||
e (nk eI | |||
ei eI: | |||
ey eI: | |||
ei (FH eI: | |||
ey (FH eI: | |||
ei (CC eI | |||
ey (CC eI | |||
.group é | |||
é jE: | |||
é (FH jE: | |||
é (CC jE | |||
.group f | |||
f f | |||
ff f | |||
A) f (A v | |||
// A) f (_ v // ?? | |||
l) f (A v | |||
@) f (l b | |||
@) f (n b | |||
fnd mt | |||
fnt m#bt | |||
.group g | |||
g g | |||
gg g | |||
_) g g | |||
A) g (l g | |||
A) g (n g | |||
_) g (e J | |||
_) g (i J | |||
_) g (í J | |||
_) g (æ J | |||
_) g (j J | |||
A) g (a Q | |||
A) g (u Q | |||
A) g (ð Q | |||
A) g (r Q | |||
g (_ Q | |||
gn (_ g | |||
gt xd | |||
g (s x | |||
gj J | |||
g (i J | |||
A) g (j j | |||
A) g (i j | |||
á) g (a | |||
á) g (u | |||
ó) g (a | |||
ó) g (u | |||
ú) g (a | |||
ú) g (u | |||
.group h | |||
h h | |||
hj C | |||
hl l# | |||
hn hn# | |||
hr r# | |||
hv kv | |||
.group i | |||
i I: | |||
i (FH I: | |||
i (CC I | |||
K) i (ng i | |||
K) i (nk i | |||
.group í | |||
í i: | |||
í (FH i: | |||
í (CC i | |||
.group j | |||
j j | |||
.group k | |||
k k | |||
_) k (e c | |||
_) k (i c | |||
_) k (í c | |||
_) k (y c | |||
_) k (ý c | |||
_) k (æ c | |||
kj c | |||
k (K g | |||
k (k h // [hk] | |||
.group l | |||
l l | |||
l (_ l# | |||
l (L08X l# | |||
ll dl | |||
ll (L08 tl# | |||
ll (_ tl# // ?? | |||
.group m | |||
m m | |||
mm (K m | |||
L08) m hm# | |||
m (L08 m# | |||
.group n | |||
n n | |||
L08) n hn# | |||
n (L08 n# | |||
n (g N | |||
ng (_ Ng | |||
ngt (K N#d | |||
n (gi n^ | |||
nk(i n^#J | |||
n (k N# | |||
A) n (k N#h | |||
á) nn dn | |||
é) nn dn | |||
í) nn dn | |||
ó) nn dn | |||
ú) nn dn | |||
ý) nn dn | |||
au) nn dn | |||
ei) nn dn | |||
ey) nn dn | |||
nn (K n | |||
.group o | |||
o o: | |||
o (FH o: | |||
o (CC O | |||
o (ng oU | |||
o (nk oU | |||
.group ó | |||
ó oU: | |||
ó (FH oU: | |||
ó (CC oU | |||
óf (A oU2 | |||
.group p | |||
_) p p | |||
p p | |||
L08) p b | |||
s) p b | |||
p (K b | |||
p (s f | |||
p (k f | |||
p (t f | |||
pp hb | |||
.group q | |||
q kv | |||
.group r | |||
_) r @-* | |||
C) r @-* | |||
A) r (A @-* | |||
L08) r r# | |||
r (L08 r# | |||
r (_ r# | |||
r r | |||
rl dl | |||
rl (K rtl# | |||
rn rdn# | |||
.group s | |||
s s | |||
ss s | |||
sj S | |||
.group t | |||
_) t t | |||
t t | |||
L08) t d | |||
s) t d | |||
t (K d | |||
tt hd | |||
t (l ht //?? ætla | |||
.group u | |||
u y: | |||
u (FH y: | |||
u (CC y | |||
K) u (ng u | |||
K) u (nk u | |||
.group ú | |||
ú u: | |||
ú (FH u: | |||
ú (CC u | |||
.group v | |||
v v | |||
.group w | |||
w v | |||
.group x | |||
x xs | |||
.group y | |||
y I: | |||
y (FH I: | |||
y (CC I | |||
K) y (ng i | |||
K) y (nk i | |||
.group ý | |||
ý i: | |||
ý (FH i: | |||
ý (CC i | |||
.group z | |||
z z | |||
zz ts // pizza | |||
.group þ | |||
þ T | |||
.group æ | |||
æ aI: | |||
æ (FH aI: | |||
æ (CC aI | |||
.group ö | |||
ö W: | |||
ö (FH W: | |||
ö (CC W | |||
ö (ng Yy | |||
ö (ng Yy | |||
_) ö (@P1N ,W: | |||
.group | |||
$ dolar | |||
@@ -1,39 +1,39 @@ | |||
34 phoneme tables | |||
new total | |||
base 92 92 | |||
en 52 139 | |||
en_n 29 139 | |||
en_us 36 139 | |||
en_sc 39 141 | |||
en_rp 34 139 | |||
en_wm 30 139 | |||
af 37 123 | |||
cy 30 118 | |||
de 28 115 | |||
eo 16 104 | |||
fi 40 123 | |||
base 93 93 | |||
en 52 140 | |||
en_n 29 140 | |||
en_us 36 140 | |||
en_sc 39 142 | |||
en_rp 34 140 | |||
en_wm 30 140 | |||
af 37 124 | |||
cy 30 119 | |||
de 28 116 | |||
eo 13 105 | |||
fi 40 124 | |||
fr 33 115 | |||
fr_ca 11 115 | |||
hi 49 127 | |||
hu 26 111 | |||
nl 25 112 | |||
pl 17 103 | |||
sk 25 120 | |||
cs 5 120 | |||
hr 26 132 | |||
ru 36 120 | |||
it 28 112 | |||
es 6 112 | |||
pt 25 127 | |||
pt_pt 17 127 | |||
ro 36 136 | |||
el 8 112 | |||
sv 25 114 | |||
no 29 118 | |||
is 32 117 | |||
vi 41 129 | |||
zh_yue 32 120 | |||
sw 14 101 | |||
hi 49 128 | |||
hu 24 110 | |||
nl 25 113 | |||
pl 17 104 | |||
sk 26 121 | |||
cs 5 121 | |||
hr 25 131 | |||
ru 36 121 | |||
it 28 114 | |||
es 6 114 | |||
pt 25 129 | |||
pt_pt 17 129 | |||
ro 36 138 | |||
el 8 114 | |||
sv 25 115 | |||
no 29 119 | |||
is 32 118 | |||
vi 41 130 | |||
zh_yue 32 121 | |||
sw 14 102 | |||
3 b/b base hi ro | |||
2 b/b_ base hi | |||
@@ -177,36 +177,35 @@ | |||
1 r2/r2i base | |||
1 r2/r2o base | |||
1 r2/r2u base | |||
7 r3/r_ base af cy eo fr pl ru | |||
6 r3/r_ base af cy fr pl ru | |||
1 r3/r_@ base | |||
1 r3/r#_ is | |||
1 r3/r_a base | |||
1 r3/r_e base | |||
1 r3/r_i base | |||
6 r3/r_n base cy eo fr pl ru | |||
5 r3/r_n base cy fr pl ru | |||
1 r3/r_o base | |||
2 r3/r_test1.wav hu hr | |||
2 r3/r_test2.wav hu hr | |||
3 r3/r_trill base eo it | |||
4 r3/r_trill2 hu hr | |||
3 r3/r_trill.wav base eo it | |||
3 r3/r_trill base sk it | |||
2 r3/r_trill2 base hr | |||
2 r3/r_trill2.wav base hr | |||
3 r3/r_trill.wav base sk it | |||
1 r3/r_u base | |||
28 r3/rx base af cy eo fr fr_ca pl ru pt_pt ro is | |||
26 r3/rx base af cy fr fr_ca pl ru pt_pt ro is | |||
2 r3/rz_cs sk | |||
2 r3/@tap base | |||
2 r3/@tap_i base | |||
7 r/r base en_sc de fr hu it | |||
5 r/_r base en_sc fr hu it | |||
17 r/r_ base en_sc af cy de eo fi fr hu nl pl ru ++ | |||
16 r/r_ base en_sc af cy de fi fr hu nl pl ru it ++ | |||
1 r/r@ base | |||
1 r/ra base | |||
1 r/re base | |||
1 r/ri base | |||
1 r/ro base | |||
29 r/rr base af cy de eo fi nl pl ru it ro no ++ | |||
26 r/rr base af cy de fi nl pl ru it ro no sw | |||
1 r/ru base | |||
15 r/tr base en_sc fr hu it | |||
57 r/trr base af cy de eo fi nl pl ru it ro sv ++ | |||
51 r/trr base af cy de fi nl pl ru it ro sv no ++ | |||
11 r/xr base | |||
1 ufric/ch base | |||
3 ufric/f base de ro |
@@ -5,6 +5,7 @@ | |||
0 @5 NULL 0 @ | |||
0 3 NULL 0 @ | |||
0 I2 NULL 0 I | |||
0 i NULL 0 I | |||
0 a NULL 0 { | |||
0 aa NULL 0 { | |||
0 0 NULL 0 Q |
@@ -184,20 +184,11 @@ phoneme x | |||
switchvoicing Q | |||
endphoneme | |||
phoneme R2 // test | |||
phoneme R | |||
liquid | |||
vowelin f1=0 f2=1600 -300 300 f3=-200 80 | |||
vowelout f1=2 f2=1600 -300 300 f3=-200 80 brk | |||
formants r3/r_trill2+r3/r_test1.wav%140 | |||
trill | |||
lengthmod 6 | |||
endphoneme | |||
phoneme R3 // test | |||
liquid | |||
vowelin f1=0 f2=1600 -300 300 f3=-200 80 | |||
vowelout f1=2 f2=1600 -300 300 f3=-200 80 brk | |||
formants r3/r_trill2+r3/r_test2.wav%140 | |||
formants r3/r_trill2+r3/r_trill2.wav%65 | |||
trill | |||
lengthmod 6 | |||
endphoneme |
@@ -85,39 +85,6 @@ endphoneme | |||
// CONSONANTS | |||
//=========== | |||
phoneme r | |||
liquid | |||
length 100 | |||
lengthmod 7 | |||
beforenotvowel r/ | |||
trill | |||
formants r/rr | |||
after _ r/rr | |||
after t r/trr p r/trr k r/trr | |||
before _ r/r_ | |||
endphoneme | |||
phoneme r/ // used for [r] when not preceding a vowel | |||
liquid | |||
length 100 | |||
lengthmod 2 // | |||
formants r3/r_+r3/rx | |||
before n r3/r_n+r3/rx | |||
after _ r/rr | |||
after t r/trr p r/trr k r/trr | |||
endphoneme | |||
phoneme R | |||
liquid | |||
vowelin f1=0 f2=1700 -300 300 f3=-300 80 | |||
vowelout f1=2 f2=1700 -300 300 f3=-300 80 brk | |||
beforenotvowel r/ | |||
formants r3/r_trill+r3/r_trill.wav%50 | |||
trill | |||
lengthmod 6 | |||
endphoneme | |||
phoneme ts |
@@ -33,7 +33,7 @@ endphoneme | |||
phoneme A | |||
vowel starttype (a) endtype (a) | |||
length 160 | |||
length 140 | |||
formants vowel/0_3 | |||
endphoneme | |||
@@ -135,7 +135,7 @@ phoneme d // dental variant of /d/ | |||
vowelin f1=2 f2=1500 -300 300 f3=-150 80 | |||
vowelout f1=2 f2=1500 -300 300 f3=-150 80 | |||
formants d/d+x/d_dnt%110 | |||
before _ d/d_+x/d_dnt%80 | |||
before _ d/d_+x/d_dnt%100 | |||
before r d/dr+x/d_dnt%110 | |||
after _ NULL | |||
after @ d/xd | |||
@@ -202,23 +202,4 @@ phoneme s2 // second part of geminated [s:] | |||
endphoneme | |||
phoneme R2 // test | |||
liquid | |||
vowelin f1=0 f2=1600 -300 300 f3=-200 80 | |||
vowelout f1=2 f2=1600 -300 300 f3=-200 80 brk | |||
formants r3/r_trill2+r3/r_test1.wav%140 | |||
trill | |||
lengthmod 6 | |||
endphoneme | |||
phoneme R3 // test | |||
liquid | |||
vowelin f1=0 f2=1600 -300 300 f3=-200 80 | |||
vowelout f1=2 f2=1600 -300 300 f3=-200 80 brk | |||
formants r3/r_trill2+r3/r_test2.wav%140 | |||
trill | |||
lengthmod 6 | |||
endphoneme | |||
@@ -0,0 +1,266 @@ | |||
//========================================================= | |||
// Icelandic | |||
//========================================================= | |||
phoneme : // Lengthen previous vowel by "length" | |||
virtual | |||
length 110 | |||
endphoneme | |||
// Vowels | |||
//======= | |||
phoneme i | |||
vowel starttype (i) endtype (i) | |||
length 130 | |||
formants vowel/i_4 | |||
linkout ; | |||
endphoneme | |||
phoneme I | |||
vowel starttype (i) endtype (i) | |||
length 130 | |||
formants vowel/ii | |||
linkout ; | |||
endphoneme | |||
phoneme e | |||
vowel starttype (e) endtype (e) | |||
length 130 | |||
formants vowel/e_e | |||
reduceto E 4 | |||
endphoneme | |||
phoneme E | |||
vowel starttype (e) endtype (e) | |||
length 130 | |||
formants vowel/e_mid | |||
endphoneme | |||
phoneme a | |||
vowel starttype (a) endtype (a) | |||
length 130 | |||
formants vowel/a_3 | |||
reduceto & 4 | |||
endphoneme | |||
phoneme & | |||
vowel starttype (@) endtype (@) | |||
length 130 | |||
formants vowel/a#_2 | |||
endphoneme | |||
phoneme o | |||
vowel starttype (o) endtype (o) | |||
length 130 | |||
formants vdiph2/o_oo | |||
reduceto O 4 | |||
endphoneme | |||
phoneme O | |||
vowel starttype (o) endtype (o) | |||
length 130 | |||
formants vowel/oo_5 | |||
endphoneme | |||
phoneme u | |||
vowel starttype (u) endtype (u) | |||
length 130 | |||
formants vowel/u_bck | |||
endphoneme | |||
phoneme y | |||
vowel starttype (i) endtype (i) | |||
length 130 | |||
formants vowel/yy_4 | |||
endphoneme | |||
phoneme W | |||
vowel starttype (@) endtype (@) | |||
length 130 | |||
formants vowel/y#_3 | |||
endphoneme | |||
phoneme aI | |||
vowel starttype (a) endtype (i) | |||
length 170 | |||
formants vdiph/ai_7 | |||
endphoneme | |||
phoneme eI | |||
vowel starttype (e) endtype (i) | |||
length 170 | |||
formants vdiph/ei | |||
endphoneme | |||
phoneme aU | |||
vowel starttype (a) endtype (u) | |||
length 170 | |||
formants vdiph/au_4 | |||
endphoneme | |||
phoneme oU | |||
vowel starttype (o) endtype (u) | |||
length 170 | |||
formants vdiph/ou_3 | |||
endphoneme | |||
phoneme oU2 // long version for óf | |||
vowel starttype (o) endtype (u) | |||
length 230 | |||
formants vdiph/ou_3 | |||
endphoneme | |||
phoneme Yy | |||
vowel starttype (@) endtype (i) | |||
length 150 | |||
formants vdiph/y#i_2 | |||
endphoneme | |||
// Consonants | |||
//=========== | |||
phoneme m# | |||
vcd blb nasal | |||
// starttype m endtype m | |||
vowelout f1=2 f2=1000 -500 -350 f3=-200 80 brk | |||
length 100 | |||
lengthmod 6 | |||
formants NULL | |||
before _ m/m#_ | |||
endphoneme | |||
phoneme n# | |||
vcd alv nasal | |||
starttype n endtype n | |||
vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk | |||
length 100 | |||
lengthmod 6 | |||
formants NULL | |||
before _ n/n#_ | |||
endphoneme | |||
phoneme n^# | |||
vcd pal nasal palatal | |||
vowelout f1=3 f2=2300 300 400 f3=100 80 brk rate | |||
length 100 | |||
lengthmod 6 | |||
formants NULL | |||
before _ n^/n^#_ | |||
endphoneme | |||
phoneme N# | |||
vcd vel nasal | |||
starttype N endtype N | |||
vowelout f1=3 f2=2300 300 400 f3=-200 80 len=40 rms=20 brk | |||
length 100 | |||
formants NULL | |||
before _ nn/nn#_ | |||
lengthmod 6 // longer than 'n' | |||
endphoneme | |||
phoneme l# | |||
vls alv frc | |||
length 100 | |||
lengthmod 3 | |||
wave ufric/ll%25 | |||
endphoneme | |||
phoneme tl# | |||
vls alv stop | |||
vowelin f1=0 f2=1700 -300 300 f3=-100 80 | |||
vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 | |||
lengthmod 2 | |||
wave ufric/tl#%50 | |||
endphoneme | |||
phoneme r#2 | |||
vls alv frc | |||
vowelin f1=0 f2=1700 -300 300 f3=-300 80 | |||
vowelout f1=0 f2=1700 -300 250 f3=-300 80 rms=20 | |||
lengthmod 2 | |||
wave r3/rx%90 | |||
endphoneme | |||
phoneme r# // used for [r] when not preceding a vowel | |||
liquid | |||
length 100 | |||
lengthmod 2 // | |||
formants r3/r#_+r3/rx | |||
// before n r3/r_n+r3/rx | |||
endphoneme | |||
phoneme c | |||
vls vel stop | |||
vowelin f1=0 f2=2700 200 400 f3=300 80 rate len=60 | |||
vowelout f1=0 f2=2700 300 400 f3=300 80 rms=20 | |||
lengthmod 2 | |||
wave ustop/ki | |||
switchvoicing g | |||
endphoneme | |||
phoneme b | |||
vls blb stop | |||
vowelout f1=2 f2=1000 -500 -300 f3=-300 80 brk | |||
vowelin f1=2 f2=1000 -300 -200 f3=-200 80 rms=30 | |||
lengthmod 5 | |||
wave x/b | |||
before _ x/b_ | |||
endphoneme | |||
phoneme d | |||
vls alv stop | |||
vowelin f1=2 f2=1700 -300 300 f3=-100 80 | |||
vowelout f1=2 f2=1700 -300 300 f3=-100 80 | |||
lengthmod 5 | |||
wave x/d%80 | |||
before _ x/d_ | |||
endphoneme | |||
phoneme g | |||
vls vel stop | |||
vowelin f1=2 f2=2300 200 300 f3=-300 80 | |||
vowelout f1=2 f2=2300 250 300 f3=-300 80 brk | |||
lengthmod 5 | |||
wave x/g2%150 | |||
before _ x/g_ | |||
endphoneme | |||
phoneme v // no fricative noise | |||
vcd lbd frc | |||
vowelin f1=1 f2=900 -300 -300 f3=-100 100 | |||
vowelout f1=1 f2=900 -500 -300 f3=-100 60 len=50 | |||
lengthmod 6 | |||
formants voc/v | |||
before _ voc/v_ | |||
switchvoicing f | |||
endphoneme | |||
@@ -151,7 +151,7 @@ phoneme r | |||
endphoneme | |||
phoneme R2 | |||
phoneme R2x | |||
liquid starttype r endtype r | |||
length 100 | |||
lengthmod 7 | |||
@@ -164,7 +164,7 @@ phoneme R2 | |||
endphoneme | |||
phoneme R | |||
phoneme R3x | |||
liquid | |||
vowelin f1=0 f2=1700 -300 300 f3=-300 80 | |||
vowelout f1=2 f2=1700 -300 300 f3=-300 80 brk |
@@ -107,6 +107,17 @@ phoneme r: | |||
formants vowelr/r-voc | |||
endphoneme | |||
phoneme R | |||
liquid | |||
vowelin f1=0 f2=1700 -300 300 f3=-300 80 | |||
vowelout f1=2 f2=1700 -300 300 f3=-300 80 brk | |||
formants r3/r_trill+r3/r_trill.wav%50 | |||
trill | |||
lengthmod 6 | |||
endphoneme | |||
phoneme R^ // Czech r-caron | |||
vcd pla frc sibilant | |||
vowelin f1=0 f2=1700 -300 300 f3=-300 80 |
@@ -380,6 +380,15 @@ endphoneme | |||
phoneme R | |||
liquid | |||
vowelin f1=0 f2=1600 -300 300 f3=-200 80 | |||
vowelout f1=2 f2=1600 -300 300 f3=-200 80 brk | |||
formants r3/r_trill2+r3/r_trill2.wav%65 | |||
trill | |||
lengthmod 6 | |||
endphoneme | |||
phoneme R2 // this is [R] from Slovak/Czech | |||
liquid | |||
vowelin f1=0 f2=1700 -300 300 f3=-300 80 | |||
vowelout f1=2 f2=1700 -300 300 f3=-300 80 brk | |||
@@ -388,6 +397,8 @@ phoneme R | |||
lengthmod 6 | |||
endphoneme | |||
phoneme l | |||
liquid | |||
length 100 | |||
@@ -526,7 +537,7 @@ endphoneme | |||
phoneme n^ | |||
vcd pal nasal palatal | |||
vowelout f1=3 f2=2300 300 400 f3=100 80 brk rate | |||
vowelout f1=3 f2=2500 300 500 f3=100 80 len=45 brk rate | |||
length 100 | |||
lengthmod 4 | |||
formants NULL |
@@ -51,7 +51,7 @@ wxString path_dictsource; | |||
wxString path_speaktext; | |||
int option_speed=160; | |||
char path_dsource[80]; | |||
char path_dsource[120]; | |||
BEGIN_EVENT_TABLE(Options, wxDialog) | |||
EVT_BUTTON(wxID_SAVE,Options::OnCommand) | |||
@@ -175,9 +175,9 @@ void ConfigInit() | |||
void ConfigSave(int exit) | |||
{//====================== | |||
wxFileConfig *pConfig = (wxFileConfig *)(wxConfigBase::Get()); | |||
#ifndef PLATFORM_WINDOWS | |||
pConfig->Write(_T("/samplerate"),samplerate); | |||
pConfig->Write(_T("/samplerate"),samplerate); | |||
#endif | |||
pConfig->Write(_T("/basedir"),basedir); | |||
pConfig->Write(_T("/spectload"),path_spectload); |
@@ -37,7 +37,7 @@ extern wxString path_phsource; | |||
extern wxString path_dictsource; | |||
extern char path_source[80]; | |||
extern char path_dsource[80]; | |||
extern char path_dsource[120]; | |||
extern int option_speed; | |||
@@ -538,7 +538,11 @@ int main (int argc, char **argv) | |||
if(flag_compile) | |||
{ | |||
#ifdef PLATFORM_WINDOWS | |||
CompileDictionary("C:\\Program Files\\eSpeak\\dictsource\\",dictionary_name,NULL,NULL); | |||
char path_dsource[120]; | |||
strcpy(path_dsource,path_home); | |||
path_dsource[strlen(path_home)-11] = 0; // renove "espeak-data" from the end | |||
strcat(path_dsource,"dictsource\\"); | |||
CompileDictionary(path_dsource,dictionary_name,NULL,NULL); | |||
#else | |||
CompileDictionary(NULL,dictionary_name,NULL,NULL); | |||
#endif |
@@ -280,13 +280,23 @@ void Free(void *ptr) | |||
static void init_path(const char *path) | |||
{//==================================== | |||
#ifdef PLATFORM_WINDOWS | |||
HKEY RegKey; | |||
unsigned long size; | |||
unsigned long var_type; | |||
unsigned char buf[100]; | |||
if(path != NULL) | |||
{ | |||
sprintf(path_home,"%s/espeak-data",path); | |||
return; | |||
} | |||
buf[0] = 0; | |||
RegOpenKeyEx(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Speech\\Voices\\Tokens\\eSpeak", 0, KEY_READ, &RegKey); | |||
size = sizeof(buf); | |||
var_type = REG_SZ; | |||
RegQueryValueEx(RegKey, "path", 0, &var_type, buf, &size); | |||
strcpy(path_home,"c:\\Program Files\\espeak\\espeak-data"); | |||
sprintf(path_home,"%s\\espeak-data",buf); | |||
#else | |||
if(path != NULL) |
@@ -35,7 +35,7 @@ | |||
#include "translate.h" | |||
#include "wave.h" | |||
const char *version_string = "1.25.03 22.May.07"; | |||
const char *version_string = "1.25.04 23.May.07"; | |||
const int version_phdata = 0x012501; | |||
int option_device_number = -1; |
@@ -312,8 +312,8 @@ Translator *SelectTranslator(const char *name) | |||
case L('h','u'): // Hungarian | |||
{ | |||
static int stress_amps_hu[8] = {16,16, 20,20, 20,24, 24,22 }; | |||
static int stress_lengths_hu[8] = {180,160, 200,180, 0,0, 230,270}; | |||
static int stress_amps_hu[8] = {17,16, 20,19, 20,24, 24,22 }; | |||
static int stress_lengths_hu[8] = {180,160, 200,190, 0,0, 220,240}; | |||
static const wchar_t replace_chars_hu[] = {0xd4,0xf4,0xdb,0xfb,0}; | |||
static const unsigned int replacement_chars_hu[] = {0x150,0x151,0x170,0x171,0}; // allow o,u-circumflex for o,u-double-acute | |||
@@ -323,9 +323,10 @@ Translator *SelectTranslator(const char *name) | |||
tr->langopts.replace_chars = replace_chars_hu; | |||
tr->langopts.replacement_chars = replacement_chars_hu; | |||
tr->langopts.vowel_pause = 0x10; | |||
tr->langopts.stress_rule = 0; | |||
tr->langopts.stress_flags = 0x16; // move secondary stress from light to a following heavy syllable | |||
tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x1; | |||
tr->langopts.stress_flags = 0x16; | |||
tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x4; // don't propagate over word boundaries | |||
tr->langopts.param[LOPT_IT_DOUBLING] = 1; | |||
tr->langopts.long_stop = 130; | |||
@@ -338,13 +339,15 @@ Translator *SelectTranslator(const char *name) | |||
case L('i','s'): // Icelandic | |||
{ | |||
static int stress_amps_is[] = {16,16, 20,20, 20,24, 24,22 }; | |||
static int stress_lengths_is[8] = {180,160, 200,200, 0,0, 240,260}; | |||
static int stress_lengths_is[8] = {180,155, 200,200, 0,0, 240,250}; | |||
static const wchar_t is_L08[] = {'c','f','h','k','p','t','x',0xfe,0}; // voiceless conants, including 'þ' ?? 's' | |||
tr = new Translator(); | |||
SetupTranslator(tr,stress_lengths_is,stress_amps_is); | |||
tr->langopts.stress_rule = 1; | |||
tr->langopts.stress_flags = 0x10; | |||
tr->langopts.param[LOPT_IT_LENGTHEN] = 0x11; // remove lengthen indicator from unstressed vowels | |||
tr->langopts.param[LOPT_KEEP_UNSTR_VOWEL] = 1; | |||
ResetLetterBits(tr,0x18); | |||
SetLetterBits(tr,4,"kpst"); // Letter group F |