Browse Source

Merge branch 'upstream' into development

Conflicts:
	dictsource/dict_phonemes
master
Reece H. Dunn 12 years ago
parent
commit
7245bda467

+ 1055
- 882
dictsource/da_rules
File diff suppressed because it is too large
View File


+ 21
- 9
dictsource/en_list View File

@@ -16,9 +16,10 @@
// ?7 Scottish
// ?8 Use full vowel, not schwa in some word endings

// $alt1 use strong ending (-table, -inal, -ier)
// $alt2 use weak ending
// $alt1 use strong ending (-an, -table, -inal, -ier)
// $alt2 use weak ending (ate, ery, ess, ile, men)
// $alt3 use weak first vowel, a->[a#], e->[@], o->[0#]
// $alt4 separate 'h', not 'th'
// $alt6 'to'


@@ -570,6 +571,7 @@ inlb $abbrev
ios $abbrev
irc $abbrev
irs $abbrev
isbn $abbrev
itx $abbrev
(km ²) skw,e@kIl'0mIt3z
lapd $abbrev
@@ -731,7 +733,7 @@ agog a#g0g
agressive a#grEsIv // misspell
aground a#graUnd
ague eIgju:
aha A:hA:
aha A:h'A:
ahem a#h'Em
ahoy a#hOI
airbus e@bVs
@@ -793,7 +795,6 @@ anemometer anIm'0mI2t3
anew a#nju:
?3 anew a#nu:
anime anImeI
anion aneI@n
anise anIs
anniversary anIv'3:s@ri
anon a#n0n
@@ -1156,6 +1157,7 @@ closely kloUslI $verbf // not kloUzlI
closet kl0zI2t
cloth kloUD $verb
c'mon k@m0n
coathanger $alt4
coauthor koU'O:T3
coaxial koU'aksI@l
cobol koUb0l
@@ -1610,6 +1612,7 @@ fricassee frIka#seI
frigate frIg@t
fringer frIndZ3 // infringer
fringing frIndZIN
frisson fri:s'O~
frontend fr'Vnt,End
frontier frVnti@3
?3 frontier frVnt'i@3
@@ -1659,6 +1662,7 @@ gimme gImi
giraffe dZI2raaf
github gIthVb
glacier gleIS3
?3 goddess $alt2
goin ,goUI2n $only // for goin'
gonna g,@n@
goodbye $2
@@ -1680,6 +1684,7 @@ griffon grIf@n
grosvenor groUv@n3
groupie gru:pi
guacamole gwA:ka#m'oUli:
guarantee $3
gucci gu:tSi
gui gu:i $onlys
guinea gIni
@@ -2083,7 +2088,7 @@ mixer mIks3
moccasin m0k@sI#n
mocha moUk@
modem moUdEm
?3 modem moUd@m
?3 modem moUd@m
moderate m0d@reIt $verb
mogul moUg@L
moi mwA:
@@ -2166,10 +2171,11 @@ nothing nVTIN
notwithstanding $3
noway noUweI
nowhere noUwe@
?3 nuance nu:0ns
?3 nuance nu:0ns

oases oU'eIsi:z
oasis oU'eIsI2s
obdurate $alt2
obelisk 0b@lI2sk
obesity oUb'i:s@ti
obey oUb'eI
@@ -2392,6 +2398,7 @@ pretext pri:t2Ekst
pretrial pri:tr'aI|@L
pretty prIti
pretzel prEts@L
?3 priestess $alt2
primeval praIm'i:v@L
pristine $2
?3 privacy praIv@si
@@ -2457,6 +2464,7 @@ radish radIS
ragged ragI#d
raiment reIm@nt
rainforest r'eInf,0rI2st
(raison d'être) reIz0n||d'Etr@-
rajah rA:dZA:
rapier reIpi@3
rapport rap'o@
@@ -2534,6 +2542,7 @@ rendevous r0ndI2vu:
rendezvous r0ndI2vu:
renegade rEn@geId
reo ri:oU
repartee rEpA@t'eI
repel rI2pEl
replay ri:pleI
reply rI2plaI // for replied
@@ -2843,9 +2852,7 @@ telephon tElI2foUn // for telephoning
temperature tEmprI2tS3
?!3 temporary tEmpr@rI
?3 template tEmpl@t
thereof ,De@'0v
thereon ,De@'0n
thereto ,De@'tu:
therefore $1
thermos T3:m@s
thermostable $alt1
thesis Ti:sIs
@@ -3247,6 +3254,7 @@ Hawaiian h@w'aI@n
Hebrew hi:bru:
Hebrides hEbr@di:z
Honduras h0nd'jU@r@s
Honolulu $3
Houston hju:st@n
Idaho $1
Illinois Il@n'OI
@@ -3545,6 +3553,7 @@ Duane dweIn
Duncan dVnk@n
Dvina d@vi:n@
Dylan dIl@n
Ebenezar Eb@n'i:z3
Edith i:dIT
Eduardo Edw'A@doU
Elijah I2laIdZ@
@@ -3725,6 +3734,7 @@ Samantha sa#manT@
(Santa claus) s'ant@||kl'O:z
Saoirse si@S@
Sarah se@r@
Sarisa $alt3
Seamus SeIm@s
Sean SO:n
Sebastian $alt3
@@ -3794,6 +3804,7 @@ Folger foUldZ3
Genghis dZENgIs
Gibson gIbs@n
Guinness gInIs
Gutierrez gu:tj'ErEz
Hades heIdi:z
Hamilton ham@Lt@n
Hoosier hu:Z3
@@ -4244,6 +4255,7 @@ that Dat $u $nounf $strend2 $verbsf
these Di:z $u $nounf $strend2 $only
those DoUz $u $nounf $strend2 $only
there De@ $u $strend2 $only
there've De@v $u
(there are) D%e@,A@ $strend
(there be) De@b'i:
(there were) D%e@,w3: $strend

+ 20
- 8
dictsource/en_rules View File

@@ -247,7 +247,7 @@
b) ab (y eIb
b) ab (yl ab
&) able (_S4iev @b@L // suffix
&) able (_$w_alt eIb@L
&) able (_$w_alt1 eIb@L
&c) able (_ @b@L
@ct) able (_ =@b@L
&) ability (S7iev @b'IlI2t%i // suffix
@@ -526,6 +526,7 @@
k) alei (d @laI
_v) alen (t al@n
aleph alEf
_op) al (es @l
_) alexan alIgz'aan
_) alfa alf@
_) al (g al
@@ -757,8 +758,8 @@
hum) an (_ @n
&) an (ty_ @n
&) an (t_ @n
&) an (t_$w_alt an
?3 &) an (t_$w_alt A:n
&) an (t_$w_alt1 an
?3 &) an (t_$w_alt1 A:n
?8 &) an (t_ a#n
_f) an (at a#n
pl) an (t_ an
@@ -785,6 +786,8 @@
&) an (ese @n
_) ane (s anI
an (gul 'an
_) ani anI
_) ani (on anaI
&) ani (_ 'A:nI
an (ia 'eIn
ania (c_ 'eInIa
@@ -1019,6 +1022,7 @@
_w) ar (d O@
sw) ar (d O@
chw) ar (d O@
&) arye (_ 3ri

.group as
_) as (@ a#s
@@ -1227,11 +1231,10 @@
av (eng a#v
_) av (erC a#v
av (oA a#v
d) av (en av
d) av (id eIv
j) av (a A:v
j) av (el av
l) av (en av
_B) av (en av
al) av (er 'A:v
sc) av (en av
_) avi (A eIvI
@@ -2487,6 +2490,7 @@
err (_N e@

.group es
ess (_$w_alt2 @s
&) es (_S1i z
&es) es (_ i:z
ese (_ i:z
@@ -2653,6 +2657,8 @@
ex (erc Eks
_) ex (A %Egz
_) exh %Egz
_) ex (hal %Eks
_) exh (ibiti %Eks
?3 _) exhu %Egzu:
_) ex (it Egz
exor (c Eks3
@@ -3044,7 +3050,7 @@
&n) iel (_ j@L
&r) iel (_ =i:@L
ie (n i@
&) ie (n_ =i@n
&) ie (n_ =i@
d) iene (_ 'aIi:n
ie (ntal I'E
g) ie (n i:
@@ -3328,7 +3334,7 @@
adm) ini InI
m) iniatur InItS3
m) inera (l In@r@
in (al_$w_alt 'aIn
in (al_$w_alt1 'aIn
&m) in (al_ =In
f) in (a aIn
@g) in (a_ aIn
@@ -4176,6 +4182,7 @@
olt oUlt
w) olv Ulv
N_p) oly ,0lI
_) ol (ym @l

.group om
&) om (_ @m
@@ -5105,6 +5112,7 @@
m) s (i z
a) s (el_ z
m) s (y z
n) s (y_ z
a) s (e s
pha) s (e z
la) s (e z
@@ -5280,6 +5288,7 @@
_) t (sY t
_) t (wY t
_) tz (ar ts
t (h$w_alt4 t

tch tS
_) tele tElI2
@@ -5308,6 +5317,7 @@
tse (_ tsi
_) tsk t'@sk
_) tsu tsu:
tt (i_ =t
_) two tu:
ttu (r t@
tz ts
@@ -5361,6 +5371,7 @@
ear) th (y T
_) there De@
_) them D%Em
_) there (@ D%e@
_) the (mA Ti:

.group ti
@@ -5382,7 +5393,8 @@
&s) tion tS@n
?8 &) tion S=Vn
?8 &s) tion tSVn
tion (al S=@-n
tion (al_ S=@-n
tion (al S@-n
&) tious S=@s
AC) tive (_ =tIv


+ 31
- 3
dictsource/hu_rules View File

@@ -609,7 +609,7 @@ arcüre) g (gyulladás g
orszá) g (gyarapod g
anya) g (gyár g
anya) g (gyűjt g
végi) g (gya g
végi) g (gy g
me) ggy (mag J
me) ggy (íz J:
bádo) g (gy g
@@ -624,7 +624,7 @@ imádsá) g (gyűjt g
ro) ggyj (ék J:
rá) g (gyűjt g //for example virággyűjtés, virággyűjteményt words
_lo) g (gyűjt g //for example loggyűjtemény word
dro) g (gyanú g
dro) g (gy g
le) gg (roteszk g:
_agya) g (gy g
anya) g (győz g
@@ -649,6 +649,9 @@ csilla) g (gy g
hazugsá) g (gy g
tőze) g (gy g
doppin) g (gy g
baromsá) g (gy g
tehetsé) g (gy g
bete) g (gy g

.group gy
gy J
@@ -828,6 +831,7 @@ progressz) í (ve i:
sz) í (veré i:
sz) í (verő i:
sz) í (vevő i:
expressz) í (v i:

.group j
j j
@@ -1041,6 +1045,7 @@ teljesítmé) ny (j n^
nem-lts n'Em||_!'Ellt,e:,ES //without this rule Espeak spokening the nem LTS text with one word, because general in hu_list have a $combine attribute the nem word.

n'Em _!'Ellt,e:,ES
porcelá) n (ny n

.group o
o o
@@ -1203,7 +1208,7 @@ juventu) ss s:
juventu) ssz s: //a radio station name
farka) ssz (em Ss
villamo) ssz (ék Ss
titko) ssz (olgál Ss
titko) ssz (olg Ss
karo) ssz (ék Ss
hú) ssz (elet Ss
vörö) ssz (em Ss
@@ -1722,6 +1727,29 @@ visszaélé) ssz Ss
esé) ssz (erű Ss
webe) ssz Ss
beleve) ssz (en s:
tengeré) ssz (ürk s:
hirdeté) ssz S|s
_ki) ssz (éri S|s
_ki) ssz (ersz S|s
_fűté) ssz S|s
_kontaktu) ssz S|s
_dió) ssz (ilá S|s
_konszenzu) ssz S|s
forgá) ssz (er S|s
mérkőzé) ssz S|s
művelődé) ssz S|s
_nyomá) ssz (in S|s
_oko) ssz S|s
oktatá) ssz (er S|s
pszichózi) ssz S|s
realitá) ssz S|s
szerződé) ssz S|s
születé) ssz (ám S|s
tölté) ssz (ak S|s
utazá) ssz (er S|s
zsarolá) ssz (er S|s
dőlé) ssz (ab S|s



.group sz

+ 3
- 0
dictsource/nl_list View File

@@ -687,6 +687,7 @@ wapper $alt
water $alt
wedijver $alt
wegwijzer $alt
weiger $alt
wester $alt
wijder $alt
wilder $alt
@@ -1484,6 +1485,7 @@ informatie $3
invasie $2
januari $3
kadaster $2
leesregel le:sre:Q@l
mangat $alt3
materie ma:t'e:ri
maatregel ma:tre:Q@l $alt2
@@ -1548,6 +1550,7 @@ spektakel $2
tegennatuur $4
travestie $3
verderop $3
vergezicht vErQ@zIxt
verre vEr@
verrekijker vEr@kEIk@r
verste vErst@

+ 24
- 2
dictsource/nl_rules View File

@@ -29,6 +29,7 @@
@) abel (_ 'a:b@l
@) abele (_ 'a:b@l@
m) ach (in %a:S
_) actie (@P5 'Aksi
_) af (C@P2 'Af
_) affich %AfiS
age (_ 'a:Z@
@@ -64,11 +65,16 @@
baan ba:n
&) baar (_S4 =ba:r
&) bare (_S4 =ba:r@
_) bedrijfs (@P8 b@dr'EIfs
_) belasting (@P9 b@l'AstIN
_) beleids (@P7 b@l'EIts
_) bij (C@P3 b'EI
bij (zond b%i
_) bijeen bEI'e:n
_) binnen (P6 b'In@n
_) boek (@P4 b'uk
_) boven (P5 b'o:v@n
_) braille (@P7 br'Aj@
_) brand br'And
_) buiten (P6 b'Wyt@n
_) buurt (@@P5 b'yrt // buurtbewoner
@@ -116,6 +122,7 @@
ck k
coach ko:tS

_) computer (@P8 kOmpj'ut@r
_) congres kOnQr'Es
co (ncert k%O

@@ -345,6 +352,8 @@
_) gelijk Q@lEIk
_) ge (lC QE
_) ge (rC QE
_) ge (lenL02 Qe:
_) ge (tenL02 Qe:
_) geu QY:
_) ge (ven Qe:
_) ge (ver Qe:
@@ -365,6 +374,7 @@
_) herinn h%ErIn // herinneren
_) hersen h'Ers@n
&) heid (_S4 hEIt
_) honden (@P6 h'Ond@n
_) hulp (@@P4 h'8lp


@@ -451,6 +461,9 @@ _) inn (@P2 'I // ?? inneren
k) k

_) kale (nde ka:l'E
_) kantoor (@P7 kAnt'o:r
_) keuze (@P5 k'Y:z@
_) kinder (@P6 k'Ind@r
kokkerel kOk@r'El
_) koning k'o:nIN // in compounds
_) koningin ko:nIQ'In
@@ -467,8 +480,10 @@ _) inn (@P2 'I // ?? inneren
&) lijkheid (_S8 l@khEIt
&) lijkst (_S6 l@kst
&) lijkste (_S7 l@kst@

&) laan (_S4 la:n
_) lange (@P5 laN@
_) liefdes (@P7 l'ifd@s
@) loog (_ lo:x
@) loos (_S4 lo:s
@) loze (_S4 lo:z@
@@ -571,6 +586,7 @@ _) inn (@P2 'I // ?? inneren
tr) ou (vail u
ouve (rtu uvE
_) over (@P4 ,o:v@r
_) overheid 'o:v@rhEIt
t) ou (r u:


@@ -641,6 +657,7 @@ _) inn (@P2 'I // ?? inneren
_) re (clam r@
_) re (serve_ r@
_) re (cord re'
_) regering r@Q'I:rIN
repre (saill re:pre:


@@ -677,7 +694,9 @@ _) inn (@P2 'I // ?? inneren
@) ssi (o S
CAr) sie (_ =zi

_) stads (@P5 st'Ats
_) standaard (@P9 st'Anda:rt
_) start (@P5 st'Art
@) straat (_S6 stra:t
_vre) s (e s

@@ -767,8 +786,9 @@ _) inn (@P2 'I // ?? inneren
_) ver (@P3 v@r
_) ver (sie_ vEr
_) verder vErd@r
_) verge (@P5 vErg@
_) verge (le v@rQ'e:
_) verkeers (@P8 v@rk'I:rs
// _) verge (@P5 vErg@
// _) verge (le v@rQ'e:
_) voort (@P5 v'O:rt


@@ -788,6 +808,8 @@ _) inn (@P2 'I // ?? inneren
_) wanstaltig v#Anst'Alt@Q
_) wantrouwig v#Antr'VU@Q
_) wanvoeglijk v#Anv'uxl@k
_) water (@P5 v#'a:t@r
_) weers (@P5 v#'I:rs
_) weg (@P3 v#'EQ
_) weg (en v#e:Q
_) weg (e_ v#e:Q // bewegelijk

+ 59
- 26
dictsource/pt_list View File

@@ -23,8 +23,8 @@

// accent names
_lig ligad'u*&
_acu &g'udU
_ac2 &g'udUd'uplU
_acu ag'udU
_ac2 ag'udUd'uplU
_brv bR'Evi
_ced sedZ'ilj&
?1 _ced syd'il^&
@@ -301,6 +301,9 @@ mrs $dot
prof pR'Of $dot
profº pR,ofes'or
profª pR,ofes'o*&
engº eInZen^'eI*U
engª eInZen^'eI*&
nº n'u~me*U
sr $dot
?1 sra ,Es;'Errj'a $dot
?2 sra $dot
@@ -639,6 +642,7 @@ abordo $alt
aborto $alt $verb
acerto $alt2 $noun
acertos $alt2
acocho $alt2 $noun
acordo $alt $verb
acervo $alt2
adepto $alt
@@ -665,13 +669,13 @@ apneia $alt
apoio $alt $verb
arredores $alt
arremesso $alt2 $noun
arrocho $alt2 $noun
arroto $alt2 $noun
arroz $alt2
assembleia $alt
ateia $alt
aterro $alt2
aterro $alt $verb
atmosfera $alt
autora $alt2
avesso $alt2
axé aSE
@@ -707,6 +711,7 @@ caderneta $alt2
cadete $alt2
cãibra k'&~IbR&
caibro k'aIbRU
caixeta $alt2
camelha $alt
camelo $alt2
camiseta $alt2
@@ -731,7 +736,8 @@ cerca $alt2 $noun
cerco $alt $verb
cerda $alt
cetro $alt
chamego $alt2
chamego $alt2 $verb
chaveta $alt2
chefe $alt
checam $alt
choro $alt2 $noun
@@ -739,10 +745,10 @@ chovesse $alt2
chupeta $alt2
clamores $alt2
clero $alt
coche $alt2
coco $alt2
cofre $alt
coice $alt2
colabore $alt
colete $alt2
colchete $alt2
colher $alt $noun
@@ -765,6 +771,8 @@ coreia $alt
coreto $alt2
corneta $alt2
cornos $alt
coro $alt2
coro $alt $verb
corpos $alt
corto $alt
corveta $alt2
@@ -773,8 +781,10 @@ coto $alt2
cotovelo $alt2
cratera $alt
crede $alt2
credo $alt
crepe $alt
decore $alt
decoro $alt2 $noun
degelo $alt2
desapego $alt2 $noun
descordo $alt
@@ -815,6 +825,8 @@ engordo $alt
enredo $alt $verb
enrosco $alt $verb
enterro $alt2 $noun
entorto $alt
entroso $alt
envelope $alt
envolto $alt2
enxaqueca $alt2
@@ -825,10 +837,10 @@ erro $alt2
erro $alt $verb
esboço $alt $verb
escopeta $alt2
escore $alt
escova $alt2
escova $alt $verb
escovo $alt
escroto $alt2
esforço $alt $verb
esforços $alt
esgoto $alt2
@@ -840,17 +852,19 @@ espoleta $alt2
esposa $alt2
esqueleto $alt2
estilete $alt2
estrela $alt2
estrofe $alt
estorno $alt $verb
estorvo $alt $verb
estrela $alt2
estrofe $alt
estrogonofe $alt
eta $alt2
etiqueta $alt2
europa $alt
europeia $alt
exagero $alt $verb
explore $alt
faceta $alt2
fantoche $alt
falangeta $alt2
farofa $alt
farolete $alt2
febre $alt
@@ -860,6 +874,7 @@ fezes $alt
filete $alt2
?1 fixe fiSy
foda $alt2 $verb
fodo $alt2
fogos $alt
foguete $alt2
foice $alt2
@@ -875,6 +890,8 @@ forro $alt $verb
frevo $alt2
fulgores $alt2
galera $alt
galeto $alt2
galhofa $alt
galileia $alt
gangorra $alt2
geleia $alt
@@ -882,20 +899,22 @@ gelo $alt2
gelo $alt $verb
genebra $alt
gesso $alt2
golpe $alt
gloso $alt
gonorreia $alt
gol gow
golpe $alt
gorda $alt2
gorjeta $alt2
gosto $alt $verb
gota $alt2
governo $alt2
governo $alt2
governo $alt $verb
gozo $alt2 $noun
graveto $alt2
grelha $alt
groselha $alt
grosso $alt2
grozo $alt $verb
groso $alt
gueto $alt2
hemorroida $alt
hoje $alt2
@@ -905,6 +924,8 @@ ideia $alt
imberbe $alt
interesse $alt2
interesse $alt $verb
iodo $alt2
ioga $alt
jogo $alt2
jogo $alt $verb
jogos $alt
@@ -916,13 +937,16 @@ leitora $alt2
lembrete $alt2
lepra $alt
leste $alt2 $verb
?2 lhe ly
?2 lhe l^y
lingueta $alt2
lodo $alt2
logro $alt
lopes $alt
macete $alt2
maior $alt
maleta $alt2
maniçoba $alt
marieta $alt2
marreta $alt2
megera $alt
melhor $alt
@@ -958,7 +982,6 @@ nervo $alt2
nojo $alt2
novelo $alt2
novos $alt
obstetra $alt
odisseia $alt
onu $1
olho $alt2 $noun
@@ -997,6 +1020,7 @@ plebeia $alt
polca $alt
pompeia $alt
porcos $alt
porque $alt2
porra $alt2
porrete $alt2
porto $alt2
@@ -1006,11 +1030,13 @@ povos $alt
poxa p'oS&
primavera $alt
primores $alt2
proso $alt
prosopopeia $alt
quarteto $alt2
queda $alt
quede $alt2
quinteto $alt2
ramalhete $alt2
raposa $alt2
recomeço $alt $verb
recordo $alt
@@ -1024,21 +1050,22 @@ refresco $alt $verb
rego $alt2 $noun
reitora $alt2
relevo $alt2 $noun
remoem $alt
remoem $alt
remorso $alt
renovo $alt $verb
retorno $alt $verb
reuva x'EUv&
rigores $alt2
rocha $alt
rock $alt
roem $alt
rola $alt2 $noun
rolo $alt2 $noun
rota $alt2
rota $alt $noun
rubores $alt2
rumores $alt2
sabonete $alt2
sabonete $alt2
sabores $alt2
saibro s'aIbRU
saleta $alt2
sarjeta $alt2
@@ -1067,14 +1094,13 @@ sufocos $alt2
super s'Uper
suporto $alt
suor swOr
sutiã sutSi'&~N
tapete $alt2
temores $alt2
tempero $alt2 $noun
tenores $alt2
terrores $alt2
teta $alt2
tetra $alt
tocha $alt
toga $alt
topo $alt $verb
torno $alt $verb
@@ -1083,6 +1109,8 @@ torre $alt2 $noun
torres $alt2
torro $alt
tortos $alt
toso $alt
transtorno $alt $verb
traqueia $alt
travesso $alt2
tremores $alt2
@@ -1100,6 +1128,7 @@ violeta $alt2
violoncelo $alt
voga $alt
xarope $alt
xereta $alt2
zelo $alt2 $noun
zorra $alt2

@@ -1110,6 +1139,8 @@ zorra $alt2
?1 back b'Ek
?2 backup bEk'&p
?2 backups bEk'&ps
beatle b'itow
beatles b'itows
blind bl'aind
book buk
?1 braille b:r'aily
@@ -1157,11 +1188,11 @@ drivers dR'aIveRs
laptop lEptOp
?1 line l'ain
layout l'eI,aUt
?2 logo l'OgU
?2 logo l'OgU
?1 lock l'Ok
mail m'eIl
mails m'eIls
?2 mouse m'aUzi
mails m'eIls
?2 mouse m'aUzi
?1 menu menu
?1 next n'Ekst
ok Ok'eI
@@ -1181,6 +1212,7 @@ shake S'eIk
?1 scroll sk:r'ol
?1 site s'aIt
?2 site s'aItSi
?2 shampoo S&mpu
?1 software s'Oft,w'Er-
símbolo s'imbolU
?4 símbolo s'iNbolU
@@ -1231,7 +1263,11 @@ mac mEk
?2 microsoft m'aIkRows'Oft
?1 movie m'uvi
?1 nero n'Eru
/1 office 'Of,is
?2 netbook nEtbUk
?2 netbooks nEtbUks
?2 notebook nowtbUk
?2 notebooks nowtbUks
?1 office 'Of,is
?2 office 'Ofsy
openoffice 'opeIN|'Ofis
?1 outlook 'autl'uk
@@ -1316,7 +1352,6 @@ klein kl'aIn // Very common on southern Brazil.
krueger kR'iZer
krüger kR'iZer
kühl k'il
milton m'Iwton
mueler m'iler
mueller m'iler
müler m'iler
@@ -1328,6 +1363,4 @@ vogel f'o:g@l
volkmann f'Olkman
washington w'OSinton
wellington w'Elynton
wilton w'Iwton



+ 158
- 148
dictsource/pt_rules View File

@@ -31,6 +31,7 @@
&) a (_ =& // in final unstressed syllable
&) a (s_ =&
&) a (_a =&/ // ?? elide final a before a
A_l) a (_ &
&) a (_à =&/
?1 a (_ =& // in final unstressed syllable
?1 a (s_ =&
@@ -73,6 +74,22 @@
au aU
au (s aU
a (uCK a
âB) a (CA_ &
âBC) a (CA_ &
êC) a (CA_ &
êCC) a (CA_ &
ôB) a (CA_ &
ôBC) a (CA_ &
áC) a (CA_ &
áCC) a (CA_ &
éC) a (CA_ &
í) a (CA_ &
íC) a (CA_ &
íCC) a (CA_ &
óC) a (CA_ &
óCC) a (CA_ &
óC) a (CCA_ &
úC) a (CA_ &


.group â
@@ -131,6 +148,7 @@
?3 c (t k
?3 c (_C k_
ch S
chr kR
ck k
?1 c (c //drop “c” in European Portuguese (eg: seleccionar)
?1 A) ct t //drop “c” in European Portuguese (eg: exacto)
@@ -165,128 +183,87 @@
e (lh+ e
v) e (lhA_ E

e (be_ E
e (bem_ E
e (bL02_ E

e (ca_ E
e (ce_ E
e (cem_ E
e (cL04_ E
e (chL04_ E

e (chA_ E
e (chAm_ E
r) e (cho_ e

e (clA_ E
e (clAm_ E
e (co_ E
e (ctA_ E
e (ctAm_ E
e (clL04_ E

e (ctL04_ E

e (de_ E
e (dem_ E
e (dL02_ E

e (fa_ E

e (gA_ E
e (gAm_ E
e (gL04_ E

e (grA_ E
e (grAm_ E
e (grL04_ E

h) e (gA_ e
h) e (gAm_ e
h) e (gL04_ e

e (gue_ E
e (guem_ E
e (guL02_ E

e (lA_ E
e (lo_ E
e (lAm_ E
e (lL04_ E

i) e (r_ E
@s) e (r_ E
u) e (r_ E

ib) e (rA_ E
d) e (rA_ E
ed) e (rAm_ e
m) e (rA_ E
iv) e (rAm_ E
ib) e (rL04_ E
d) e (rL04_ E
ed) e (rL04_ e
m) e (rL04_ E
iv) e (rL04_ E
pod) e (rA_ e
d) e (rAm_ E
ib) e (rAm_ E
@s) e (rA_ E
@s) e (rAm_ E
sp) e (rA_ E
sp) e (rAm_ E
f) e (re_ E
f) e (rem_ E

e (que_ E
e (quem_ E
@s) e (rL04_ E

sp) e (rL04_ E

f) e (rL02_ E

e (quL02_ E

e (rgA_ E
e (rgAm_ E
e (rgL04_ E

e (rgue_ E
e (rguem_ E
e (rsL04_ E

e (rsA_ E
e (rsAm_ E
e (sL02_ E

e (se_ E
e (sem_ E
e (ssL04_ E

e (ssA_ E
e (ssAm_ E
e (stL04_ E

e (stA_ E
e (stAm_ E
e (strA_ E
e (strL04_ E

e (rme_ E

e (rnA_ E
e (rnAm_ E
e (rnL04_ E

e (rtA_ E
e (rtAm_ E
e (rtL04_ E

e (rrA_ E
e (rrAm_ E
e (rrL04_ E

e (rvA_ E
e (rvAm_ E
e (rvL04_ E

e (tA_ E
m) e (ta_ e
m) e (tam_ e
m) e (to_ e
e (tL04_ E
m) e (tL04_ e
An) e (tA_ e
on) e (te_ E
gaz) e (ta_ e
e (tAm_ E

e (gi_ e
e (gri_ e
e (li_ e
e (rgi_ e
e (sti_ e
e (ti_ e
e (rti_ e
e (rvi_ e
e (xi_ e
e (vA_ E

e (vL04_ E
t) e (ve_ e
e (vi_ e
e (vê_ e
e (vAm_ E

e (rrAs_ E

e (x_ E
e (xA_ E
e (xAm_ E
e (xL04_ E

?2 _n) e (t E
em (C eIm
en (K eIN
@@ -317,8 +294,6 @@
?1 d) e (CCACCA y
?1 d) e (nCACCA ,e

j) e (tA_ E
j) e (tAm_ E
_r) eex (A eez

?1 _) es (C@@ S // drop initial "e".
@@ -332,6 +307,7 @@
?1 C) e (o 'i // eg: geologia, etc...
?1 C) e (ú i // conteúdo, etc.
?1 Cã) e j // cães, mãe, etc...
?2 ã) e (z y // mãezinha, etc.
?1 c) e (rea y // cereais
?1 d) e (fici y // deficiênte, deficiência, etc...
?1 _d) e (fini y //definições.
@@ -363,8 +339,20 @@
?1 v) e (l_ ,E // eg: possível, amovível, disponível, etc...
?1 l) e (ta 'E // eg: bicicleta, atleta.


sf) e (ra_ E // esfera, biosfera
t) e (tra E

âC) e (CA_ e
êC) e (CA_ e
êCC) e (CA_ e
ôC) e (CA_ e
áC) e (CA_ e
áCC) e (CA_ e
íC) e (CA_ e
íCC) e (CA_ e
óC) e (Ca_ e
óCC) e (CA_ e
úC) e (CA_ e

//sort
_d) e (L05_ E
@@ -375,7 +363,9 @@
fiz) e (L05_ E
pus) e (L05_ E // com- im- de-
tiv) e (L05_ E // es-
viv) e (L05_ e
_com) e (L05_ e
_cos) e (L05_ e
_pud) e (L05_ E
_coub) e (L05_ E
_exag) e (L05_ E
@@ -392,6 +382,7 @@ respond) e (L05_ e
eb) e (L07_ e // recebeste, etc.
ec) e (L07_ e // pareceram, etc.
eg) e (L07_ e // elegeste, etc.
_cr) e (L07_ e
_do) e (L07_ e
_mo) e (L07_ e
_ro) e (L07_ e
@@ -407,6 +398,8 @@ respond) e (L05_ e
orr) e (L07_ e // correste, etc.
viv) e (L07_ e // re-
_ard) e (L07_ e
_cos) e (L07_ e
_coz) e (L07_ e
colh) e (L07_ e // & es-
ench) e (L07_ e // pre-
nasc) e (L07_ e // re-
@@ -416,15 +409,18 @@ respond) e (L05_ e
_ergu) e (L07_ e
_mord) e (L07_ e
_perd) e (L07_ e
_remo) e (L07_ e
_sofr) e (L07_ e
screv) e (L07_ e // e- in- ree- pre- de-
_atrev) e (L07_ e
_corro) e (L07_ e
_interromp) e (L07_ e
_troux) e (L07_ E
qu) e (brL04_ E
_cel) e (brL04_ E
_ex) e (crL04_ E
_enr) e (dL01_ E
_v) e (dL03_ E
_arr) e (dL03_ E
_depr) e (dL03_ E
_hosp) e (dL03_ E
@@ -451,15 +447,19 @@ _troux) e (L07_ E
gen) e (rL04_ E // de- re-
_alt) e (rL04_ E
_enc) e (rL04_ E
_min) e (rL04_ E
_sug) e (rL04_ E
_sup) e (rL04_ E
_tol) e (rL04_ E
_ven) e (rL04_ E
acel) e (rL04_ E // des-
eson) e (rL04_ E
_apod) e (rL04_ E
_coop) e (rL04_ E
_enum) e (rL04_ E
_exub) e (rL04_ E
_temp) e (rL04_ E
_adult) e (rL04_ E
_persev) e (rL04_ E
_recup) e (rL04_ E
_refrig) e (rL04_ E
_v) e (rbL03_ E
@@ -468,8 +468,10 @@ _refrig) e (rL04_ E
_p) e (rdL02_ E
_l) e (rdL03_ E
_h) e (rdL04_ E
_) e (rgL03_ e
_re) e (rgL03_ e
_bez) e (rrL03_ e
_inv) e (rtL03_ e
v) e (rtL03_ e // con- re- in-
_f) e (rvL03_ e
_alic) e (rçL03_ E
_p) e (sL01_ E
@@ -486,6 +488,7 @@ _refrig) e (rL04_ E
_esp) e (ssL03_ e
_c) e (stL03_ e
_pr) e (tL03_ e
_bol) e (tL03_ e
_rem) e (tL03_ e
_derr) e (tL03_ e
_obsol) e (tL03_ e
@@ -498,6 +501,7 @@ _obsol) e (tL03_ e
_r) e (zL04_ E
_pr) e (zL04_ E
spr) e (zL04_ E
_enf) e (zL04_ E
_rev) e (zL04_ E
_embel) e (zL04_ E
com) e (çL01_ E
@@ -628,6 +632,7 @@ _entorp) e (çL03_ e
?1 _) i (ntern 'i //inter
?1 @) ing (_ _^_EN
?1 @) ings (_ _^_EN
ilton 'iUtoN


.group í
@@ -667,6 +672,7 @@ _entorp) e (çL03_ e
l) l
?1 lh l^
?2 lh lj

?4 A) lh l^


@@ -693,7 +699,8 @@ _entorp) e (çL03_ e


.group ñ
_) ñ (_ 'En^e
_) ñ (_ 'enjE
?1 _) ñ (_ enetil
ñ n^


@@ -702,11 +709,15 @@ _entorp) e (çL03_ e
o o
@) o (_ =U
o (s_ =U
_) o (_C U
_) o (_A u
_d) o (_C U
_d) o (_A u
ou ow
oi oI
oi ($w_alt OI
oi ($w_alt2++ oI
oi (a_ OI // ??
oi (a_ OI
oi (cA_ OI
oi (de_ OI
oi (s oI
@@ -714,58 +725,43 @@ _entorp) e (çL03_ e
?1 C) oo (_ ow // eg: voo, enjoo, etc...
oy OI

o (cA_ O
o (cAm_ O
o (cL04_ O

o (chL04_ O

o (que_ O
o (quem_ O
o (quL02_ O

p) o (dA_ O
p) o (dAm_ O
A_l) o (_ U
p) o (dL04_ O

o (g_ O
o (gs_ O

o (ge_ O
o (gem_ O
o (gL02_ O

o (jA_ O
o (jAm_ O
o (jL04_ O

o (ldA_ O
o (ldAm_ O
o (ldL04_ O

o (lA_ O
o (lAm_ O
o (lL04_ O

o (lhe_ O
o (lhem_ O
o (lhL02_ O

o (ltA_ O
o (ltAm_ O
o (ltL04_ O

o (lve_ O
o (lvem_ O
o (lvL02_ O

o (bri_ o
o (di_ o
o (li_ o
o (rci_ o
o (rdi_ o
o (rri_ o
o (rvi_ o
o (sA_ O
o (so_N o // not for osos_
o (sAm_ O

o (ssA_ O
o (ssAm_ O
o (ssL04_ O

o (va_ O
o (vAm_ O
o (ve_ O
m) o (va_ o
m) o (vam_ o
m) o (vL01_ o
o (veCs_ O

o (l_ 'O
@@ -778,43 +774,40 @@ _entorp) e (çL03_ e
?4 om (C oN
on (K oN
@s) on (_ %oN // words ending in -son
o (na_ o
onh on^

o (brA_ O
o (brAm_ O
o (dA_ O
o (dAm_ O
o (brL04_ O
o (dL04_ O
t) o (dA_ o

o (rCA_ O
o (rCL04_ O

o (rCo_ o
o (rCAm_ O

o (stA_ O
o (stL04_ O

o (sto_ o
o (stAm_ O
o (strA_ O
o (strAm_ O

o (tA_ O
o (tAm_ O
o (strL04_ O

o (tL04_ O

?2 o (x_ O
?1 oz (_ Os#
?2 oz (_ Oz
?2 o (z_ O
o (ze_ O
o (rA_ O
b) o (re_ o
o (rL04_ O
c) o (re_ o
d) o (re_ o
l) o (re_ o
t) o (re_ o
v) o (re_ o
o (rAm_ O
b) o (rA_ O
@@) o (rA_ o

@@) o (rA_ o
b) o (rL04_ O
o (p_ O
?1 _) o (C O // eg: olá, orla, opção, etc...
?1 _C) o (CACAC u // Documento, documentação, localizar, etc.
@@ -826,6 +819,23 @@ _entorp) e (çL03_ e
?1 f) o (rmulá u // eg: formulário, formulários.
?1 v) o (lt O

êC) o (CA_ o
êCC) o (CA_ o
ôC) o (CA_ o
áC) o (CA_ o
C) o (Cá_ o
C) o (CCá_ o
C) o (CCCá_ o
éC) o (CA_ o
éCC) o (CA_ o
í) o (CA_ U
íC) o (CA_ o
íCC) o (CA_ o
óC) o (CA_ o
óCC) o (CA_ o
úC) o (CA_ o
úCC) o (CA_ o

//sort
_f) o (L05_ o
_pormen) o (L05_ O
@@ -836,14 +846,12 @@ _pormen) o (L05_ O
_engl) o (bL04_ O
_sal) o (brL03_ o
_) o (cL03_ o
br) o (chL04_ O
_deb) o (chL04_ O
_m) o (fL01_ O
_m) o (fL02_ O
_s) o (frL02_ O
r) o (gL04_ O // inter-
_j) o (gL04_ O
_af) o (gL04_ O
af) o (gL04_ O // des-
_adv) o (gL04_ O
_ref) o (gL04_ O
_ap) oi (L01_ OI
@@ -870,9 +878,7 @@ _comem) o (rL04 O
_aprim) o (rL04_ O
_remem) o (rL04_ O
f) o (rmL03_ O
_enf) o (rquL02_ O
_ext) o (rquL02_ O
c) o (rrL01_ o // escorra, incorra, corra, recorra
c) o (rrL01_ o // incorra, corra, etc.
_m) o (rrL01_ o
p) o (rtL03_ O // im- trans- de- re- com- a- ex-
t) o (rçL01_ O // con-
@@ -882,6 +888,7 @@ _remem) o (rL04_ O
p) ostos (_ Ost=Us# // dispostos etc.
_gar) o (tL03_ o
_mar) o (tL03_ O
_escr) o (tL03_ o
_ch) o (vL01_ o
pr) o (vL03_ O
_g) o (zL04_ O
@@ -942,15 +949,15 @@ _remem) o (rL04_ O
A) quên kw'eN // frequência, etc.
C) quên kw'eN // quinquênio, etc.
ade) qu (e kw
_a) qu (idade_ kw
A) qu (idade_ kw
_a) qu (ífero_ kw
e) qu (estr kw
ese) qu (ív kw
_e) qu (in kw
fre) qu (ent kw
_ini) qu (idade_ kw
li) qu (id kw
lí) qu (id kw
lo) qu (en kw
n) qu (en kw
_) qu (inqu kw
se) qu (en kw
@@ -979,7 +986,7 @@ _remem) o (rL04_ O
C) r (A R
rr x
_) r x
l) r x
l) r (A x
n) r (+ x
s) r x
?1 A) r (_ r- // [r-] is English linking-r
@@ -1066,6 +1073,7 @@ _remem) o (rL04_ O
ú ''u
úm (_ ''u~N
úm (C ''u~m
úm (A ''u~m
?4 úm (C ''u~N
ún (K ''u~N
únh ''u~n^
@@ -1118,6 +1126,7 @@ _remem) o (rL04_ O
_ca) x (A S
_co) x (A S
_coe) x (A z
_e) x (u_ S
_fa) x (i S
_fle) x (a S
gra) x (A S
@@ -1143,6 +1152,7 @@ _remem) o (rL04_ O
rela) x (A S
_ro) x (A S
_ta) x (e S
_te) x (ugo_ S
_trou) x (e s
_ve) x (A S
_xi) x (A S

+ 1
- 1
espeak-data/voices/europe/ga View File

@@ -1,4 +1,4 @@
name Irish Gaeilge
name irish-gaeilge
language ga

dictrules 1 // fix for eclipsis

+ 1
- 0
espeak-data/voices/pt View File

@@ -4,4 +4,5 @@ language pt
gender male

dictrules 2
stressLength 200 115 230 230 0 0 250 270


+ 208
- 140
phsource/ph_danish View File

@@ -8,113 +8,213 @@
// AC + @- OR V: Long "pile" [pi:l@-]
// AC[i]: Long "smidig" [smi:Di]

// Change the length of short vowels (?+vowel)
// Change the length of SHORT vowels (?+vowel)
procedure ShortVowelLength
// "endelig" - Short initial vowel sounds too short
IF thisPh(isWordStart) THEN
length 160
RETURN
ENDIF
// "slutte" t/d + @- makes the u too long
IF next2PhW(@-) THEN
IF nextPhW(t) OR nextPhW(d) THEN
//length 100
LengthAdd -50
// "endelig", "ånder" - Short initial vowel sounds too short TEST
IF thisPh(isWordStart) AND nextPhW(n) THEN
IF next2PhW(@-) OR next2PhW(V) THEN
length 160
RETURN
ENDIF
ENDIF
// "slutte" t/d + @- makes the vowel too long
// Problem with compounds like "spildedamp"
IF next2PhW(@-) OR next2PhW(V) THEN
IF nextPhW(t) OR nextPhW(d) THEN
// length 100
LengthAdd -45
// Don't shorten it further if it comes after an "r" sound
// Exit the procedure
RETURN
ENDIF
ENDIF
// "bygget" - consonant + [@-D] makes the vowel too long
IF next2PhW(@-) THEN
IF next3PhW(t) OR next3PhW(d) OR next3PhW(D) THEN
LengthAdd -50
// Don't shorten it further if it comes after an "r" sound ("brygget")
// Exit the procedure
RETURN
ENDIF
ENDIF
RETURN
ENDIF
ENDIF
// "bygget", "byggede" - consonant + [@-D] makes the vowel too long
IF next2PhW(@-) THEN
IF next3PhW(t) OR next3PhW(d) OR next3PhW(D) THEN
IF thisPh(isFirstVowel) THEN // NOT "cellof'anet"
IF NOT thisPh(?V) THEN // NOT "fjollet"
LengthAdd -40
// Don't shorten it further if it comes after an "r" sound ("brygget")
// Exit the procedure
RETURN
ENDIF
ENDIF
ENDIF
ENDIF
// "bygger" - consonant + [V] makes the vowel too long
IF nextPhW(isNotVowel) AND next2PhW(V) THEN
LengthAdd -50
IF nextPhW(isNotVowel) AND next2PhW(V) THEN
IF NOT thisPh(isWordStart) THEN // NOT "eller"
// LengthAdd -45
// Don't shorten it further if it comes after an "r" sound ("brygger")
// Exit the procedure
RETURN
ENDIF
RETURN
ENDIF
ENDIF
// "rigtigt", "fred", "frem", "centralen" - R makes the vowel too long
IF prevPhW(R) OR prevPhW(3-) OR prevPhW(r) THEN
IF prevPhW(R) OR prevPhW(3-) OR prevPhW(r) THEN
// length 100
LengthAdd -50
ENDIF
// "ring", "ringe", "fængsel"
IF nextPhW(N) THEN
LengthAdd -40
RETURN
ENDIF
// "ring", "ringe", "fængsel", "spinkel", "vindspejl"
IF nextPhW(isNasal) THEN
// length 100
LengthAdd -10
ENDIF
// "sigte" t/d + @- makes the vowel too long
IF nextPhW(isNotVowel) AND next2PhW(t) OR next2PhW(d) THEN
IF next3PhW(@-) THEN
LengthAdd -30
RETURN
ENDIF
// "sigte", "bælte", "henter" t/d + @-/V makes the vowel too long
IF nextPhW(isNotVowel) AND next2PhW(t) OR next2PhW(d) THEN
IF next3PhW(@-) OR next3PhW(V) THEN
IF thisPh(isFirstVowel) THEN // NOT [i] in "forsp'ildte"
// length 100
LengthAdd -50
ENDIF
ENDIF
LengthAdd -30
ENDIF
ENDIF
ENDIF
// "forbandelse" [n@-] makes the vowel too long?
// nasal eg: m, n, N
IF nextPhW(isNasal) AND next2PhW(@-) THEN
IF NOT thisPh(isFirstVowel) AND thisPh(isStressed) THEN
// NOT LengthAdd since [R] might have shortend the vowel above
length 100
ENDIF
ENDIF
// "himlen" l/3 makes the vowel too long
IF nextPhW(isNotVowel) AND next2PhW(l/3) AND next3PhW(@-) OR next3PhW(V) THEN
length 100
ENDIF
// "lænkerne" l/3 makes the vowel too long
IF prevPh(l/3) AND nextPhW(isNotVowel) AND next3PhW(V) THEN
length 120
ENDIF
//"musikken" consonant + [@-n] makes the vowel too long
// Probably wrong. Only k?
IF nextPhW(k) AND next2PhW(@-) AND next3PhW(n) THEN
length 100
ENDIF
//"svælge" [svElj@-] vowel + 2 consonants but length 100 is too short
IF nextPhW(isNotVowel) AND next2PhW(j) THEN
length 140
ENDIF
endprocedure

// Change the length of normal vowels (without ? in front of them)
// Change the length of NORMAL vowels (without ? in front of them)
procedure LongVowelLength
// "guldmine" [ul/3] makes the vowel extremely short
IF prevVowel(u) AND prev2PhW(l/3) THEN
length 350
RETURN
ENDIF
// "guldur" [ul/3] makes the vowel extremely short
IF prevVowel(u) AND prevPhW(l/3) THEN
IF NOT thisPh(isWordEnd) THEN // NOT "umulig"
length 325
RETURN
ENDIF
ENDIF
// "alene" - Short initial vowel sounds too short at length 140
IF thisPh(isWordStart) THEN
length 160
RETURN
ENDIF
// "forlade" - [D@-] makes the vowel too long
IF nextPhW(D) AND next2PhW(@-) THEN
length 180
RETURN
ENDIF
IF thisPh(isWordStart) THEN
length 160
// "ønske" The vowel should have been made short becauce og 2 x consonant.
// Take care of it here
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) AND next3PhW(isNotVowel) THEN
length 140
ENDIF
// "ære"
IF nextPhW(V) AND nextPhW(isFinalVowel) THEN
length 240
ENDIF
RETURN
ENDIF
// "huske" - hACC@- vowel too long
IF prevPhW(h) AND nextPhW(isNotVowel) AND next2PhW(isNotVowel) AND next3PhW(@-) THEN
length 110
RETURN
ENDIF
// PB long vowel followed by [@-] or [V](vowel+vowel) - "pigen" [p'i@-n]
IF nextPhW(@-) OR nextPhW(V) THEN
length 225
ENDIF
IF nextPhW(@-) OR nextPhW(V) THEN
length 225
ENDIF
// PB "enig", "enige", "evig", "stædig" - vowel+consolant+[i]
IF nextPhW(isNotVowel) AND next2PhW(i) THEN
length 225
ENDIF
// "ræve", "dele", "mene", "røve", "møve"
IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(3) OR next3PhW(@-) THEN
length 225
ENDIF
IF nextPhW(isNotVowel) AND next2PhW(i) THEN
length 225
ENDIF
// "dele", "mene", "møve"
IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(3) OR next3PhW(@-) THEN
length 225
ENDIF
// "sveder", "deler"
IF nextPhW(isNotVowel) AND next2PhW(V) THEN
length 225
ENDIF
// "maskinen" consonant + [@-n]: vowel too long
IF nextPhW(isNotVowel) AND next2PhW(@-) AND next3PhW(n) THEN
length 160
ENDIF
// "vilje", "nedladende" [n'eDl&D@-n@-], "delte" - short followed by 2 consonants
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN
// Don't make "møve" [m'Ww_!@-_!] short
IF NOT next2PhW(_!) THEN
length 140
ENDIF
ENDIF
IF NOT next2PhW(_!) THEN
length 140
ENDIF
ENDIF
// "bryde", "bryder", "strålen", "henrivende" R makes the vowel too long
IF prevPhW(R) OR prevPhW(3-) OR prevPhW(r) THEN
IF next2PhW(@-) OR next2PhW(V) THEN
// length 180
LengthAdd -70
IF prevPhW(R) OR prevPhW(3-) OR prevPhW(r) THEN
IF NOT thisPh(V) AND next2PhW(@-) OR next2PhW(V) THEN
length 140
ENDIF
ENDIF
ENDIF
// "syste", "sylte" t/d/D + @- makes the vowel too long
// "international", - added [V] TEST
IF nextPhW(isNotVowel) AND next2PhW(t) OR next2PhW(d) OR next2PhW(D) THEN
IF next3PhW(@-) OR next3PhW(V) THEN
length 110
ENDIF
ENDIF
// "glimrende" [l/3] makes the following vowel too long
// "føden"
IF nextPhW(D) AND next2PhW(@-) AND next3PhW(n) THEN
length 180
ENDIF
// "glimrende", "glemte" [l/3] makes the following vowel too long
// LengthAdd doesn't work here. The length could be 225 or 140 - 30
IF prevPhW(l/3) THEN
// LengthAdd -30
length 110
ENDIF
IF prev2PhW(g) AND prevPhW(l/3) AND nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN
length 110
RETURN
ENDIF
// l/3 makes the vowel too long (+ voiced?)
// isVoiced = b, d, g, v, z
IF prevPhW(l/3) AND nextPhW(isVoiced) THEN
// "klub", "klud"
// The vowel should have been short but we fix it here
IF NOT next2PhW(@-) AND NOT next2PhW(V) THEN
length 100
ELSE
// "slæde", "lader"
length 160
ENDIF
ENDIF
// "længe" - short - 2 consonants => 1 consonant (ng => [N])
IF nextPhW(N) THEN
length 140
ENDIF
IF nextPhW(isNasal) THEN
IF NOT prevPhW(R) AND NOT prevPhW(r) AND NOT prevPhW(3-) THEN
length 140
// "omkring", "ring" - both prev. N and next R
ELIF prevPhW(R) OR prevPhW(r) OR prevPhW(3-) THEN
length 110
ENDIF
ENDIF
// "buskene", "krøbling" The vowel should have been made short becauce og 2 x consonant.
// Take care of it here
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN
IF NOT nextPhW(l/3) THEN
IF NOT nextPhW(r) AND NOT prevPhW(R) AND NOT prevPhW(3-) THEN // NOT "Maria"
length 110
ENDIF
ENDIF
ENDIF
// "barnet" - consonant + [@-D]: too long vowel
IF nextPhW(isNotVowel) AND next2PhW(@-) AND next3PhW(D) THEN
length 160
ENDIF
// "trin", "trit", "ring" - vowel too long
// IF prevPhW(isRhotic) THEN
IF prevPhW(R) OR prevPhW(r) OR prevPhW(3-) THEN
IF nextPhW(isNotVowel) AND nextPhW(isWordEnd) THEN
length 110
ENDIF
ENDIF
endprocedure

// A bit longer than [@-]
@@ -167,22 +267,6 @@ endphoneme
phoneme i
vowel starttype #i endtype #i
length 140
// Long vowel followed by consonant and @- "gide", "pile"
IF nextPhW(isNotVowel) AND next2PhW(@-) THEN
// length 225
ENDIF
// "gider", vrider"
IF nextPhW(D) AND next2PhW(V) OR next2PhW(?V) THEN
length 140
ENDIF
//"skider" short
IF nextPhW(D) AND next2PhW(V) THEN
length 140
ENDIF
//"skideren" long
IF nextPhW(D) AND next2PhW(V) AND next3PhW(V) THEN
length 225
ENDIF
CALL LongVowelLength
FMT(vowel/i_4)
endphoneme
@@ -209,7 +293,7 @@ phoneme e
vowel starttype #e endtype #e
length 140
CALL LongVowelLength
CALL ShortVowelLength
// CALL ShortVowelLength
FMT(vowel/e)
endphoneme

@@ -257,7 +341,7 @@ endphoneme

phoneme &
vowel starttype #e endtype #e
ipa æ
ipa a
length 140
// "same", "sale", "bade" - consonant + @-: long
// but NOT "hinanden"
@@ -279,8 +363,10 @@ endphoneme
// e.g. the last a in "staldkarl"
// "sale" vs. "sal"
phoneme ?&
ipa a
vowel starttype #e endtype #e
length 140
CALL ShortVowelLength
FMT(vowel/ee_2)
endphoneme

@@ -298,6 +384,7 @@ endphoneme
// "revl" vs. "tremme"
phoneme ?&#
vowel starttype #e endtype #e
ipa ?a
length 140
CALL ShortVowelLength
FMT(vowel/&)
@@ -372,11 +459,11 @@ phoneme O
ipa ɒ // changed from ɔ - Den Danske Ordbog: ɒ
// "sove", "sover" - consonant + @ or V: long
IF next2PhW(@-) OR next2PhW(V) THEN
length 225
// length 225
ENDIF
// PB "gået" - ThisPh + V or @-
IF nextPhW(V) OR nextPhW(@-) THEN
length 225
// length 225
ENDIF
// "såre", "sårede" [s'O:?OD@-]
IF nextPhW(O) OR nextPhW(?O) THEN
@@ -391,6 +478,7 @@ endphoneme
phoneme ?O
vowel starttype #o endtype #o
length 140
CALL ShortVowelLength
FMT(vowel/o_5)
endphoneme

@@ -406,6 +494,7 @@ endphoneme
phoneme ?V
vowel starttype #@ endtype #@
length 140
CALL ShortVowelLength
FMT(vowel/V_4)
endphoneme

@@ -416,34 +505,19 @@ phoneme 0
FMT(vowel/oo_2)
endphoneme

// Short 0 "sukker"
// Short 0 "sukker", "provst"
phoneme ?0
vowel starttype #o endtype #o
length 140
ipa ɔ
CALL ShortVowelLength
FMT(vowel/oo_2)
endphoneme

phoneme y
vowel starttype #i endtype #i
length 140
// PB long vowel followed by consonant and certain vowels
// "gyde", "gyder"
IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(V) THEN
// not "gebyret" TEST
IF NOT nextPhW(3-) AND NOT nextPhW(R) AND NOT nextPhW(r) THEN
length 225
ENDIF
ENDIF
// "syge" [sy@-] vowel + vowel: extra length, but NOT "fyret" [fyVD]
IF nextPhW(@-) OR nextPhW(3) AND NOT next2PhW(D) THEN
length 225
ENDIF
// "tyve"
IF nextPhW(w) AND next2PhW(@-) THEN
length 225
ENDIF
CALL LongVowelLength
CALL LongVowelLength
FMT(vowel/y)
endphoneme

@@ -468,15 +542,7 @@ endphoneme
phoneme W
vowel starttype #@ endtype #@
length 140
// "røveri" but NOT "surfer" [sWfV] TEST
IF next2PhW(V) OR next2PhW(?V) AND NOT next2PhW(isFinalVowel) THEN
length 140
ENDIF
// "børnebog" - short
IF nextPhW(r) AND next2PhW(n) AND next3PhW(@-) THEN
length 140
ENDIF
CALL LongVowelLength
CALL LongVowelLength
FMT(vowel/oe)
endphoneme

@@ -492,11 +558,8 @@ endphoneme
// Added for the ø in "røv", "røg", "øje" instead of [V3]
phoneme W#
vowel starttype #@ endtype #@
length 140 //225
// PB long vowel followed by consonant and certain vowels
IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(@) OR next2PhW(3) OR next2PhW(V) OR next2PhW(?V) THEN
length 225
ENDIF
length 140
CALL LongVowelLength
FMT(vowel/V)
endphoneme

@@ -540,7 +603,7 @@ phoneme l
lengthmod 7
// [ll] => [-l] - avoid double l
IF nextPhW(l) THEN
// ChangePhoneme(-)
// ChangePhoneme(NULL)
ENDIF
ChangePhoneme(l/3)
// CALL base/l
@@ -565,6 +628,10 @@ phoneme r // used for 'r' after a vowel (to create a diphthong)
IF nextPhW(isVowel) AND NOT nextPhW(?V) AND NOT nextPhW(V) AND NOT nextPhW(@-) THEN
ChangePhoneme(R)
ENDIF
// "generer" [Sen'e:Vr], "mysterier" - delete the r
IF prevPhW(V) AND thisPh(isWordEnd) THEN
ChangePhoneme(NULL)
ENDIF
FMT(r/a_)
endphoneme

@@ -637,7 +704,7 @@ IF thisPh(isWordEnd) THEN
ENDIF
IF nextPhW(isVowel) THEN
NextVowelStarts
VowelStart(j/j@)
VowelStart(j/j@,-45) // jøderne
VowelStart(j/ja)
VowelStart(j/je,-35)
VowelStart(j/ji)
@@ -655,4 +722,5 @@ Vowelout len=70
Vowelout len=70
FMT(j/j_)
ENDIF
endphoneme
endphoneme


+ 59
- 33
platforms/riscos/Makefile View File

@@ -2,8 +2,8 @@


# Toolflags:
CCflags = -c -C90 -depend !Depend -IC: -throwback -memaccess -zM -L22-S22-L41
C++flags = -c -depend !Depend -IC: -throwback -zM -L22-S22-L41
CCflags = -c -C90 -depend !Depend -IC: -throwback -zM -memaccess -L22-S22-L41
C++flags = -c -depend !Depend -IC: -throwback -zM -memaccess -L22-S22-L41
Linkflags = -rmf -c++ -o $@
ObjAsmflags = -throwback -NoCache -depend !Depend
CMHGflags =
@@ -27,38 +27,64 @@ Squeezeflags = -o $@
# User-editable dependencies:

# Static dependencies:
@.o.speak_riscos: @.cpp.speak_riscos
c++ $(c++flags) -o @.o.speak_riscos @.cpp.speak_riscos
@.o.compiledict: @.cpp.compiledict
c++ $(c++flags) -o @.o.compiledict @.cpp.compiledict
@.o.dictionary: @.CPP.dictionary
c++ $(c++flags) -o @.o.dictionary @.CPP.dictionary
@.o.intonation: @.CPP.intonation
c++ $(c++flags) -o @.o.intonation @.CPP.intonation
@.o.numbers: @.CPP.numbers
c++ $(c++flags) -o @.o.numbers @.CPP.numbers
@.o.phonemelist: @.CPP.phonemelist
c++ $(c++flags) -o @.o.phonemelist @.CPP.phonemelist
@.o.readclause: @.CPP.readclause
c++ $(c++flags) -o @.o.readclause @.CPP.readclause
@.o.setlengths: @.CPP.setlengths
c++ $(c++flags) -o @.o.setlengths @.CPP.setlengths
@.o.synthdata: @.CPP.synthdata
c++ $(c++flags) -o @.o.synthdata @.CPP.synthdata
@.o.synth_mbrola: @.CPP.synth_mbrola
c++ $(c++flags) -o @.o.synth_mbrola @.CPP.synth_mbrola
@.o.synthesize: @.CPP.synthesize
c++ $(c++flags) -o @.o.synthesize @.CPP.synthesize
@.o.translate: @.CPP.translate
c++ $(c++flags) -o @.o.translate @.CPP.translate
@.o.tr_languages: @.CPP.tr_languages
c++ $(c++flags) -o @.o.tr_languages @.CPP.tr_languages
@.o.voices: @.CPP.voices
c++ $(c++flags) -o @.o.voices @.CPP.voices
@.o.wavegen: @.CPP.wavegen
c++ $(c++flags) -o @.o.wavegen @.CPP.wavegen
@.o.speak_riscos: @.c.speak_riscos
cc $(ccflags) -o @.o.speak_riscos @.c.speak_riscos
@.o.compiledict: @.c.compiledict
cc $(ccflags) -o @.o.compiledict @.c.compiledict
@.o.dictionary: @.c.dictionary
cc $(ccflags) -o @.o.dictionary @.c.dictionary
@.o.intonation: @.c.intonation
cc $(ccflags) -o @.o.intonation @.c.intonation
@.o.numbers: @.c.numbers
cc $(ccflags) -o @.o.numbers @.c.numbers
@.o.phonemelist: @.c.phonemelist
cc $(ccflags) -o @.o.phonemelist @.c.phonemelist
@.o.readclause: @.c.readclause
cc $(ccflags) -o @.o.readclause @.c.readclause
@.o.setlengths: @.c.setlengths
cc $(ccflags) -o @.o.setlengths @.c.setlengths
@.o.synthdata: @.c.synthdata
cc $(ccflags) -o @.o.synthdata @.c.synthdata
@.o.synth_mbrola: @.c.synth_mbrola
cc $(ccflags) -o @.o.synth_mbrola @.c.synth_mbrola
@.o.synthesize: @.c.synthesize
cc $(ccflags) -o @.o.synthesize @.c.synthesize
@.o.translate: @.c.translate
cc $(ccflags) -o @.o.translate @.c.translate
@.o.tr_languages: @.c.tr_languages
cc $(ccflags) -o @.o.tr_languages @.c.tr_languages
@.o.voices: @.c.voices
cc $(ccflags) -o @.o.voices @.c.voices
@.o.wavegen: @.c.wavegen
cc $(ccflags) -o @.o.wavegen @.c.wavegen
@.o.assemb: @.s.assemb
objasm $(objasmflags) -from @.s.assemb -to @.o.assemb

# Dynamic dependencies:

o.wavegen: c.wavegen
o.wavegen: h.StdAfx
o.wavegen: h.speak_lib
o.wavegen: h.speech
o.wavegen: h.phoneme
o.wavegen: h.synthesize
o.wavegen: h.voice
o.wavegen: h.sintab
o.speak_riscos: c.speak_riscos
o.speak_riscos: C:h.kernel
o.speak_riscos: h.speech
o.speak_riscos: h.speak_lib
o.speak_riscos: h.phoneme
o.speak_riscos: h.synthesize
o.speak_riscos: h.voice
o.speak_riscos: h.translate
o.synthdata: c.synthdata
o.synthdata: h.StdAfx
o.synthdata: h.wctype
o.synthdata: h.speak_lib
o.synthdata: h.speech
o.synthdata: h.phoneme
o.synthdata: h.synthesize
o.synthdata: h.voice
o.synthdata: h.translate
o.synthdata: h.wave
o.synthdata: C:h.stdint

+ 14
- 14
platforms/riscos/copysource View File

@@ -1,17 +1,17 @@
copy <obey$dir>.^.src.compiledict/cpp <obey$dir>.cpp.compiledict fq~c
copy <obey$dir>.^.src.dictionary/cpp <obey$dir>.cpp.dictionary fq~c
copy <obey$dir>.^.src.intonation/cpp <obey$dir>.cpp.intonation fq~c
copy <obey$dir>.^.src.numbers/cpp <obey$dir>.cpp.numbers fq~c
copy <obey$dir>.^.src.phonemelist/cpp <obey$dir>.cpp.phonemelist fq~c
copy <obey$dir>.^.src.readclause/cpp <obey$dir>.cpp.readclause fq~c
copy <obey$dir>.^.src.setlengths/cpp <obey$dir>.cpp.setlengths fq~c
copy <obey$dir>.^.src.synthdata/cpp <obey$dir>.cpp.synthdata fq~c
copy <obey$dir>.^.src.synth_mbrola/cpp <obey$dir>.cpp.synth_mbrola fq~c
copy <obey$dir>.^.src.synthesize/cpp <obey$dir>.cpp.synthesize fq~c
copy <obey$dir>.^.src.translate/cpp <obey$dir>.cpp.translate fq~c
copy <obey$dir>.^.src.tr_languages/cpp <obey$dir>.cpp.tr_languages fq~c
copy <obey$dir>.^.src.voices/cpp <obey$dir>.cpp.voices fq~c
copy <obey$dir>.^.src.wavegen/cpp <obey$dir>.cpp.wavegen fq~c
copy <obey$dir>.^.src.compiledict/cpp <obey$dir>.c.compiledict fq~c
copy <obey$dir>.^.src.dictionary/cpp <obey$dir>.c.dictionary fq~c
copy <obey$dir>.^.src.intonation/cpp <obey$dir>.c.intonation fq~c
copy <obey$dir>.^.src.numbers/cpp <obey$dir>.c.numbers fq~c
copy <obey$dir>.^.src.phonemelist/cpp <obey$dir>.c.phonemelist fq~c
copy <obey$dir>.^.src.readclause/cpp <obey$dir>.c.readclause fq~c
copy <obey$dir>.^.src.setlengths/cpp <obey$dir>.c.setlengths fq~c
copy <obey$dir>.^.src.synthdata/cpp <obey$dir>.c.synthdata fq~c
copy <obey$dir>.^.src.synth_mbrola/cpp <obey$dir>.c.synth_mbrola fq~c
copy <obey$dir>.^.src.synthesize/cpp <obey$dir>.c.synthesize fq~c
copy <obey$dir>.^.src.translate/cpp <obey$dir>.c.translate fq~c
copy <obey$dir>.^.src.tr_languages/cpp <obey$dir>.c.tr_languages fq~c
copy <obey$dir>.^.src.voices/cpp <obey$dir>.c.voices fq~c
copy <obey$dir>.^.src.wavegen/cpp <obey$dir>.c.wavegen fq~c

copy <obey$dir>.^.src.phoneme/h <obey$dir>.h.phoneme fq~c
copy <obey$dir>.^.src.sintab/h <obey$dir>.h.sintab fq~c

+ 0
- 1437
platforms/riscos/cpp/speak_riscos
File diff suppressed because it is too large
View File


+ 1
- 1
platforms/windows/make_espeak.iss View File

@@ -2,7 +2,7 @@
[Setup]
AppName=eSpeak
AppVerName=eSpeak version 1.47.05
AppVerName=eSpeak version 1.47.06
AppCopyright=Licensed under GNU General Public License version 3. (See file License.txt for details).
WindowVisible=yes

+ 1
- 1
platforms/windows/make_espeakedit.iss View File

@@ -1,7 +1,7 @@
[Setup]
AppName=eSpeakEdit
AppVerName=eSpeakEdit version 1.47.05
AppVerName=eSpeakEdit version 1.47.06
DefaultDirName={pf}\eSpeak
DefaultGroupName=eSpeak
OutputBaseFilename=setup_espeakedit

+ 1
- 1
src/dictionary.cpp View File

@@ -3523,9 +3523,9 @@ int LookupFlags(Translator *tr, const char *word)
{//==============================================
char buf[100];
static unsigned int flags[2];
char *word1 = (char *)word;

flags[0] = flags[1] = 0;
char *word1 = (char *)word;
LookupDictList(tr, &word1, buf, flags, 0, NULL);
return(flags[0]);
}

+ 1
- 1
src/synthdata.cpp View File

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

const char *version_string = "1.47.05a 10.Apr.13";
const char *version_string = "1.47.06 15.Apr.13";
const int version_phdata = 0x014701;

int option_device_number = -1;

+ 5
- 5
src/synthesize.h View File

@@ -192,23 +192,23 @@ typedef struct {

// a clause translated into phoneme codes (first stage)
typedef struct {
unsigned short synthflags; // NOTE Put shorts on 32bit boundaries, because of RISC OS compiler bug?
unsigned char phcode;
unsigned char stresslevel;
unsigned char wordstress;
unsigned char tone_ph; // tone phoneme to use with this vowel
unsigned short synthflags;
unsigned short sourceix; // ix into the original source text string, only set at the start of a word
unsigned char wordstress; // the highest level stress in this word
unsigned char tone_ph; // tone phoneme to use with this vowel
} PHONEME_LIST2;


typedef struct {
// The first section is a copy of PHONEME_LIST2
unsigned short synthflags;
unsigned char phcode;
unsigned char stresslevel;
unsigned short sourceix; // ix into the original source text string, only set at the start of a word
unsigned char wordstress; // the highest level stress in this word
unsigned char tone_ph; // tone phoneme to use with this vowel
unsigned short synthflags;
unsigned short sourceix; // ix into the original source text string, only set at the start of a word

PHONEME_TAB *ph;
short length; // length_mod

+ 1
- 1
src/translate.h View File

@@ -247,9 +247,9 @@ typedef struct {
typedef struct{
unsigned int flags;
unsigned short start;
unsigned short sourceix;
unsigned char pre_pause;
unsigned char wmark;
unsigned short sourceix;
unsigned char length;
} WORD_TAB;


Loading…
Cancel
Save