mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-07 07:23:52 +00:00
[1.40.13]
lang=it, added dictsource/it_listx with corrections for stress position and open/close vowel type. Changes to allow compilation on WinCE (Windows Mobile), with notes in platforms/windowsMobile. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@219 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
+165
-165
@@ -180,209 +180,209 @@ demselb $2
|
||||
denselb $2
|
||||
|
||||
// conjunctions
|
||||
und Unt $pause $u+
|
||||
aber ,A:b3 $pause $strend
|
||||
oder ,o:d3 $pause $strend
|
||||
sondern $pause
|
||||
denn dEn $pause $u+
|
||||
weil $pause $strend
|
||||
als $pause $u+
|
||||
bevor be:f'o:* $pause
|
||||
also $pause $strend
|
||||
wenn ,vEn $pause $strend
|
||||
sowie $2 $pause
|
||||
obgleich $2 $pause
|
||||
obwohl $2 $pause
|
||||
deren ,dE*@n $brk
|
||||
und Unt $u+ $pause
|
||||
aber A:b3 $u+ $pause
|
||||
oder o:d3 $u+ $pause
|
||||
sondern $pause
|
||||
denn dEn $u+ $pause
|
||||
weil $pause
|
||||
als $u+ $pause
|
||||
bevor be:fo:* $2 $pause
|
||||
also $pause
|
||||
wenn ,vEn $pause $strend
|
||||
sowie $2 $pause
|
||||
obgleich $2 $pause
|
||||
obwohl $2 $pause
|
||||
deren dE*@n $u+ $brk
|
||||
|
||||
// prepositions
|
||||
ab ap $u+ $brk
|
||||
an an $u+ $brk
|
||||
am am $u+ $brk
|
||||
auf aUf $u+ $pause
|
||||
aus ,aUs $brk $strend
|
||||
bei baI $u+ $pause $only
|
||||
beim baIm $u+ $brk
|
||||
bis bIs $u+ $pause
|
||||
da $u+
|
||||
durch $u+ $pause
|
||||
für fy:* $u+ $pause $only
|
||||
gegen ge:g@n $u+ $pause
|
||||
gegend ge:g@nt
|
||||
hin hIn
|
||||
in In $u+ $brk
|
||||
ab ap $u+ $brk
|
||||
an an $u+ $brk
|
||||
am am $u+ $brk
|
||||
auf aUf $u+ $pause
|
||||
aus ,aUs $brk $strend
|
||||
bei baI $u+ $pause $only
|
||||
beim baIm $u+ $brk
|
||||
bis bIs $u+ $pause
|
||||
da $u+
|
||||
durch $u+ $pause
|
||||
für fy:* $u+ $pause $only
|
||||
gegen ge:g@n $u+ $pause
|
||||
gegend ge:g@nt
|
||||
hin hIn
|
||||
in In $u+ $brk
|
||||
//(in die) %Ind%i:
|
||||
//(in den) %Ind%e:n
|
||||
//(in der) %Ind%E*
|
||||
im Im $u+ $brk
|
||||
ins Ins $u+ $brk
|
||||
mit mIt $u+ $pause
|
||||
nach nax $u+ $brk
|
||||
ob ,Ob $pause $strend $only
|
||||
pro ,p@-*o: $pause
|
||||
von fOn $u+ $brk
|
||||
//(von dem) %fOn%de:m $brk
|
||||
vom fOm $u+ $brk
|
||||
vor ,fO* $strend
|
||||
zu tsu: $u+ $brk
|
||||
zum tsUm $u+ $pause
|
||||
zur tsu:* $u+ $pause
|
||||
über ,yb3 $pause $strend
|
||||
unter ,Unt3 $pause $strend
|
||||
um Um $u+ $brk
|
||||
//(um die) %Umd%i: $brk
|
||||
//(um den) %Umd%e:m $brk
|
||||
während $pause
|
||||
im Im $u+ $brk
|
||||
ins Ins $u+ $brk
|
||||
mit mIt $u+ $pause
|
||||
nach nax $u+ $brk
|
||||
ob ,Ob $pause $strend $only
|
||||
pro ,p@-*o: $pause
|
||||
von fOn $u+ $brk
|
||||
//(von dem) %fOn%de:m $brk
|
||||
vom fOm $u+ $brk
|
||||
vor ,fO* $strend
|
||||
zu tsu: $u+ $brk
|
||||
zum tsUm $u+ $pause
|
||||
zur tsu:* $u+ $pause
|
||||
über ,yb3 $pause $strend
|
||||
unter ,Unt3 $pause $strend
|
||||
um Um $u+ $brk
|
||||
//(um die) %Umd%i: $brk
|
||||
//(um den) %Umd%e:m $brk
|
||||
während $pause
|
||||
|
||||
// misc
|
||||
so zo: $u+
|
||||
doch dOx $u+
|
||||
noch $pause
|
||||
(noch nicht) n'Ox||n,ICt $brk
|
||||
(nicht mehr) n'ICt||,me:*
|
||||
(nicht mehr) n,ICt||m'e:* $atend
|
||||
(nicht nur) n'ICt||n'u:* $pause
|
||||
(gar nicht) g,A:*n'ICt
|
||||
so zo: $u+
|
||||
doch dOx $u+
|
||||
noch $pause
|
||||
(noch nicht) n'Ox||n,ICt $brk
|
||||
(nicht mehr) n'ICt||,me:*
|
||||
(nicht mehr) n,ICt||m'e:* $atend
|
||||
(nicht nur) n'ICt||n'u:* $pause
|
||||
(gar nicht) g,A:*n'ICt
|
||||
|
||||
// should these be in the Rules because they can be a prefix in a
|
||||
// compound verb ?
|
||||
daran dA:*'an
|
||||
darauf $2
|
||||
daraus $2
|
||||
dabei $2
|
||||
dadurch dA:d'U*x
|
||||
dafür $2
|
||||
dagegen $2
|
||||
daher dA:h'Er
|
||||
dahin dA:h'In
|
||||
damit dA:m'It
|
||||
danach $2
|
||||
daneben $2
|
||||
darein $2
|
||||
darin dA:*'In
|
||||
darüber $2
|
||||
darum $2
|
||||
darunter $2
|
||||
davon dA:f'On
|
||||
dazu dA:ts'u:
|
||||
umher Umh'E*
|
||||
umhin Umh'In
|
||||
woran vo:*'an
|
||||
worauf $2
|
||||
woraus $2
|
||||
worin vo:*'In
|
||||
daran dA:*'an
|
||||
darauf $2
|
||||
daraus $2
|
||||
dabei $2
|
||||
dadurch dA:d'U*x
|
||||
dafür $2
|
||||
dagegen $2
|
||||
daher dA:h'Er
|
||||
dahin dA:h'In
|
||||
damit dA:m'It
|
||||
danach $2
|
||||
daneben $2
|
||||
darein $2
|
||||
darin dA:*'In
|
||||
darüber $2
|
||||
darum $2
|
||||
darunter $2
|
||||
davon dA:f'On
|
||||
dazu dA:ts'u:
|
||||
umher Umh'E*
|
||||
umhin Umh'In
|
||||
woran vo:*'an
|
||||
worauf $2
|
||||
woraus $2
|
||||
worin vo:*'In
|
||||
|
||||
// pronouns
|
||||
ich %IC $only
|
||||
du %du: $only
|
||||
er %Er $brk $only
|
||||
es %Ez $only
|
||||
sie %zi: $only
|
||||
wir %vi:* $only
|
||||
ihr %i:*
|
||||
man %man $only
|
||||
sich %zIC $only
|
||||
(es ist) %Ez%Ist
|
||||
ich IC $u $only
|
||||
du du: $u $only
|
||||
er Er $u $brk $only
|
||||
es Ez $u $only
|
||||
sie zi: $u $only
|
||||
wir vi:* $u $only
|
||||
ihr i:* $u
|
||||
man man $u $only
|
||||
sich zIC $u $only
|
||||
(es ist) %Ez%Ist
|
||||
|
||||
|
||||
daß das $u+
|
||||
dass das $u+
|
||||
daß das $u+
|
||||
dass das $u+
|
||||
|
||||
ein aIn $u+
|
||||
eine ,aIn@
|
||||
einem ,aIn@m
|
||||
einen ,aIn@n
|
||||
einer ,aIn3
|
||||
eines ,aIn@s
|
||||
ein aIn $u+
|
||||
eine aIn@ $u
|
||||
einem aIn@m $u
|
||||
einen aIn@n $u
|
||||
einer aIn3 $u
|
||||
eines aIn@s $u
|
||||
|
||||
//kein $u+
|
||||
//keine $u+
|
||||
|
||||
mein $u+
|
||||
meine $u+
|
||||
mein $u+
|
||||
meine $u+
|
||||
|
||||
dein $u+
|
||||
deine $u+
|
||||
dein $u+
|
||||
deine $u+
|
||||
|
||||
sein $u // can also be verb "to be"
|
||||
seine $u+
|
||||
sein $u // can also be verb "to be"
|
||||
seine $u+
|
||||
|
||||
unsre ,Unz*@
|
||||
unsere ,Unz*@
|
||||
unser ,Unz3
|
||||
unserm ,Uns3m
|
||||
unserem ,Uns@*@m
|
||||
unsre Unz*@ $u
|
||||
unsere Unz*@ $u
|
||||
unser Unz3 $u
|
||||
unserm Uns3m $u
|
||||
unserem Uns@*@m $u
|
||||
|
||||
|
||||
ihre ,i:*@
|
||||
ihrem ,i:*@m
|
||||
ihrer ,i:*3
|
||||
ihre i:*@ $u
|
||||
ihrem i:*@m $u
|
||||
ihrer i:*3 $u
|
||||
|
||||
dies ,di:z
|
||||
diese ,di:z@
|
||||
dies di:z $u
|
||||
diese di:z@ $u
|
||||
|
||||
//
|
||||
was vas
|
||||
wie $u $pause
|
||||
was vas
|
||||
wie $u $pause
|
||||
|
||||
// abverbs
|
||||
auch ,aUx
|
||||
dann $u
|
||||
etwa $u
|
||||
ganz g,ants $only
|
||||
je $u
|
||||
nur $brk
|
||||
auch ,aUx
|
||||
dann $u
|
||||
etwa $u
|
||||
ganz g,ants $only
|
||||
je $u
|
||||
nur $brk
|
||||
|
||||
// verbs
|
||||
|
||||
bin %bIn
|
||||
bist %bIst
|
||||
ist %Ist
|
||||
sind %zInt
|
||||
seit %zaIt $only
|
||||
bin bIn $u
|
||||
bist bIst $u
|
||||
ist Ist $u
|
||||
sind zInt $u
|
||||
seit zaIt $u $only
|
||||
|
||||
habe %hA:b@ $only
|
||||
habst %habst $only
|
||||
hast %hast $only
|
||||
hat %hat $only
|
||||
haben h,A:b@n $only
|
||||
hatte h,at@ $only
|
||||
hatten h,at@n $only
|
||||
hätte h,Et@ $only
|
||||
hättest h,EtEst $only
|
||||
hättet h,Et@t $only
|
||||
hätten h,Et@n $only
|
||||
habe %hA:b@ $only
|
||||
habst %habst $only
|
||||
hast %hast $only
|
||||
hat %hat $only
|
||||
haben h,A:b@n $only
|
||||
hatte h,at@ $only
|
||||
hatten h,at@n $only
|
||||
hätte h,Et@ $only
|
||||
hättest h,EtEst $only
|
||||
hättet h,Et@t $only
|
||||
hätten h,Et@n $only
|
||||
|
||||
war %vA:* $only
|
||||
warst %vA:*st $only
|
||||
wart %vA:*t $only
|
||||
waren 'vA:*@n
|
||||
war %vA:* $only
|
||||
warst %vA:*st $only
|
||||
wart %vA:*t $only
|
||||
waren 'vA:*@n
|
||||
|
||||
will %vIl $only
|
||||
willst %vIlst $only
|
||||
wollen %vOl@n $only
|
||||
wolt %vOlt
|
||||
will %vIl $only
|
||||
willst %vIlst $only
|
||||
wollen %vOl@n $only
|
||||
wolt %vOlt
|
||||
|
||||
werden v,E*d@n
|
||||
werde v,E*d@
|
||||
werdst v,E*dst
|
||||
werdet v,E*d@t
|
||||
wurden vU*d@n
|
||||
wurde vU*d@
|
||||
wurdst vU*dst
|
||||
wurdet vU*d@t
|
||||
werden v,E*d@n
|
||||
werde v,E*d@
|
||||
werdst v,E*dst
|
||||
werdet v,E*d@t
|
||||
wurden vU*d@n
|
||||
wurde vU*d@
|
||||
wurdst vU*dst
|
||||
wurdet vU*d@t
|
||||
|
||||
können ,kWn@n $only
|
||||
kann ,kan $only
|
||||
kannst ,kanst $only
|
||||
könnt ,kWnt $only
|
||||
konnt ,kOnt $only
|
||||
können ,kWn@n $only
|
||||
kann ,kan $only
|
||||
kannst ,kanst $only
|
||||
könnt ,kWnt $only
|
||||
konnt ,kOnt $only
|
||||
|
||||
sollen ,zOl@n
|
||||
soll ,zOl
|
||||
sollst ,zOlst
|
||||
sollte ,zOlt@
|
||||
sollten ,zOlt@n
|
||||
sollen ,zOl@n
|
||||
soll ,zOl
|
||||
sollst ,zOlst
|
||||
sollte ,zOlt@
|
||||
sollten ,zOlt@n
|
||||
|
||||
|
||||
|
||||
|
||||
+6
-1
@@ -98,8 +98,10 @@
|
||||
_) achs (el 'aks
|
||||
j) ag (d A:k
|
||||
_) air _^_EN
|
||||
m) air (_ aI3
|
||||
ai (sch A:I
|
||||
tr) ain En
|
||||
air (_ E:r
|
||||
akqu %akv
|
||||
@A) al (_ 'A:l
|
||||
g) al (_ 'A:l
|
||||
@@ -131,7 +133,8 @@
|
||||
_) aufent aUf@nt
|
||||
austra (l %aUst@-*A
|
||||
_) authen aUtEn
|
||||
ay (_ EI
|
||||
ay (_N EI
|
||||
m) ayr (_ aI3
|
||||
p) ay EI
|
||||
|
||||
.group b
|
||||
@@ -356,6 +359,7 @@
|
||||
ein (and _|%aIn
|
||||
_) eine (r@ aIn@
|
||||
_) einig aInIg
|
||||
m) eir (_ aI3
|
||||
_) eisen (@P5 'aIz@n
|
||||
_) e (lek %e:
|
||||
_) elektro (@P7 e:l'Ekt@-*o:
|
||||
@@ -884,6 +888,7 @@
|
||||
|
||||
sound _^_EN
|
||||
speed _^_EN
|
||||
@) straße (_S6 st*,A:s@
|
||||
_) street _^_EN
|
||||
style _^_EN
|
||||
synthesi _^_EN
|
||||
|
||||
@@ -157,10 +157,10 @@ S s2 t v Z
|
||||
|
||||
Dictionary fr_dict
|
||||
|
||||
@ @- @2 a a2 A~ e E
|
||||
E2 E~ i i: o O o2 O2
|
||||
O~ u u: W W2 w^i wA W~
|
||||
y Y
|
||||
@ @- @2 @3 a a2 A~ e
|
||||
E E2 E~ i i: o O o2
|
||||
O2 O~ u u: W W2 w^i wA
|
||||
W~ y Y
|
||||
|
||||
: b d dZ f g h j
|
||||
k l m n N n2 n^ p
|
||||
@@ -254,8 +254,8 @@ S s2 t T tl# v x z
|
||||
|
||||
Dictionary it_dict
|
||||
|
||||
@- a a/ aI aU e E i
|
||||
I o O oI u
|
||||
@- a a/ aI aU e E eI
|
||||
i I o O u
|
||||
|
||||
* : ; b d dZ f g
|
||||
h j k l l^ m n N
|
||||
|
||||
+244
-242
@@ -132,7 +132,7 @@ _{ lEftbreIs
|
||||
_| vi:b'A@
|
||||
_} raItbreIs
|
||||
~ tIld@ $max3
|
||||
_¡ Inv,3:tI2dEkskl@m'eIS@n
|
||||
_¡ %Inv,3:tI2dEkskl@m'eIS@n
|
||||
_¦ broUk@nb'A@
|
||||
_¨ daIa2r'i:sIs
|
||||
_ª fEmI2nIn'O@dI2n@L
|
||||
@@ -146,7 +146,7 @@ _¸ sEd'Il@
|
||||
_¹ su:p@skrIptw'0n
|
||||
_º maskjUlIn'O@dI2n@L
|
||||
_» raIt'gIl@mEt
|
||||
_¿ Inv,3:tI2dkw'EstS@n
|
||||
_¿ %Inv,3:tI2dkw'EstS@n
|
||||
|
||||
_‐ haIf@n
|
||||
_‑ haIf@n
|
||||
@@ -668,7 +668,6 @@ blockade $2
|
||||
blouse blaUz
|
||||
blurry bl3:rI
|
||||
?5 blurry blVRrI
|
||||
bogey boUgI
|
||||
boing bOIN
|
||||
bombard $2
|
||||
bonbon b0nb0n
|
||||
@@ -1057,6 +1056,7 @@ extract $2 $verb
|
||||
extradite Ekstr@daIt // extradited
|
||||
extrem Ekstr'i:m // extremism
|
||||
extremist Ekstr'i:mIst
|
||||
extricate $1
|
||||
eyrie i@rI
|
||||
|
||||
facade f@sA:d
|
||||
@@ -1092,6 +1092,7 @@ fiord fi:O@d
|
||||
fix fIks // for fixer
|
||||
fjord fIO@d
|
||||
flagellum fla2dZEl@m
|
||||
flamenco fla2mENkoU
|
||||
flexible flEksIb@L
|
||||
flier flaI3
|
||||
flourish flVrI2S
|
||||
@@ -1162,6 +1163,7 @@ grenade gr@neId
|
||||
griffon grIf@n
|
||||
grosvenor groUv@n3
|
||||
groupie gru:pI
|
||||
guacamole gwA:ka2m'oUli:
|
||||
gui gu:I
|
||||
guinea gInI
|
||||
gurus gu:ru:z
|
||||
@@ -1228,6 +1230,7 @@ hyperbole haIp'3:b@lI
|
||||
hypothesis haIp'0T@sIs
|
||||
hypotheses haIp'0T@si:z
|
||||
hypotenuse haIp'0t@nju:s
|
||||
hypoxia haIp'0ksi@
|
||||
|
||||
|
||||
icon aIk0n
|
||||
@@ -1776,6 +1779,7 @@ reference rEfr@ns
|
||||
referee rEf@r'i:
|
||||
referral rI2f3:r@L
|
||||
referring rI2f3:rI2N
|
||||
refinery rI2faIn@rI
|
||||
refit ri:fIt
|
||||
reflex ri:flEks
|
||||
reflux ri:flVks
|
||||
@@ -1784,12 +1788,12 @@ regal ri:g@L
|
||||
regime reIZ'i:m
|
||||
region ri:dZ@n // & regional
|
||||
reign reIn
|
||||
reiki reIki:
|
||||
rein reIn
|
||||
reined reInd
|
||||
reining reInI2N
|
||||
reindeer reIndi@3
|
||||
reinvent ri:Inv'Ent
|
||||
refinery rI2faIn@rI
|
||||
relative rEl@tIv
|
||||
relic rElIk
|
||||
relish rElI2S
|
||||
@@ -2672,121 +2676,121 @@ so ,soU $strend2 $verbf
|
||||
//prepositions
|
||||
// these should be stressed at the end of a sentence
|
||||
|
||||
of 0v $u $only
|
||||
?6 of Vv $u $only
|
||||
(of a) @v@ $nounf
|
||||
(of an) @v@n $nounf
|
||||
(of which) 0vw'ItS $pause
|
||||
?6 (of the) %VD@2 $nounf
|
||||
?6 (of which) Vvw'ItS $pause
|
||||
of 0v $u $only
|
||||
?6 of Vv $u $only
|
||||
(of a) @v@ $nounf
|
||||
(of an) @v@n $nounf
|
||||
(of which) 0vwItS $2 $pause
|
||||
?6 (of the) %VD@2 $nounf
|
||||
?6 (of which) VvwItS $2 $pause
|
||||
|
||||
for fO@ $u
|
||||
(for a) f@@ $nounf
|
||||
(for an) f@@n $nounf
|
||||
(for the) f3D@2 $nounf
|
||||
for fO@ $u
|
||||
(for a) f@@ $nounf
|
||||
(for an) f@@n $nounf
|
||||
(for the) f3D@2 $nounf
|
||||
(for a while) f@@||w'aIl
|
||||
(for one) fO@w'0n $atend
|
||||
(for one) fO@w0n $2 $atend
|
||||
|
||||
to t@5 $verbf // @ change to U before vowel
|
||||
(to be) t@b%I $pastf
|
||||
(to be) t@||'bi: $atend
|
||||
(to to) %tU_t@5 $verbf
|
||||
to t@5 $verbf // @ change to U before vowel
|
||||
(to be) t@b%I $pastf
|
||||
(to be) t@||'bi: $atend
|
||||
(to to) %tU_t@5 $verbf
|
||||
(to and fro) tu:@ndfr'oU
|
||||
to tu: $u $atend
|
||||
to tu: $allcaps
|
||||
to tu: $u $atend
|
||||
to tu: $u $allcaps
|
||||
|
||||
|
||||
at at $nounf $only $u
|
||||
(at a) %at@ $nounf
|
||||
at at $nounf $only $u
|
||||
(at a) %at@ $nounf
|
||||
(at once) a2t_w0ns
|
||||
(at will) a2t_w'Il
|
||||
|
||||
with wID $u
|
||||
with wID $u
|
||||
(with the) w%IDD@2 $nounf
|
||||
|
||||
in %In $strend $only $nounf
|
||||
in %In $strend $only $nounf
|
||||
(in the) %InD@2
|
||||
(in which) In||w,ItS $pause
|
||||
(in which) In||wItS $u2 $pause
|
||||
|
||||
on ,0n $strend2
|
||||
on ,0n $strend2
|
||||
(on the) %0nD@2
|
||||
|
||||
(out of) ,aUt@v
|
||||
into ,IntU
|
||||
onto ,0ntU $strend2
|
||||
onto ,0ntU $strend2
|
||||
unto ,VntU
|
||||
?3 into ,Int2U
|
||||
?3 onto ,0nt2U $strend2
|
||||
?3 onto ,0nt2U $strend2
|
||||
?3 unto ,Vnt2U
|
||||
upon @p,0n
|
||||
from %fr0m
|
||||
?3 from %frVm
|
||||
(from where) %fr0m||w'e@ $pause
|
||||
(from which) %fr0m||w'ItS $pause
|
||||
up ,Vp $strend2
|
||||
down ,daUn $only $strend2
|
||||
by %baI
|
||||
across @kr,0s $strend2
|
||||
per %p3:
|
||||
upon @p0n $u2
|
||||
from fr0m $u
|
||||
?3 from frVm $u
|
||||
(from where) %fr0m||w'e@ $pause
|
||||
(from which) %fr0m||w'ItS $pause
|
||||
up ,Vp $strend2
|
||||
down ,daUn $only $strend2
|
||||
by baI $u
|
||||
across @kr0s $u2 $strend2
|
||||
per p3: $u
|
||||
(per cent) p3||s'Ent
|
||||
(per se) p,3:||s'eI
|
||||
through %Tru: $strend2
|
||||
toward %tUwO@d
|
||||
over ,oUv3 $strend2 $only
|
||||
under ,Vnd3 $strend2 $only
|
||||
within %wID,In
|
||||
without %wID,aUt $strend2
|
||||
above @b,Vv $strend2
|
||||
about a2b,aUt $strend2
|
||||
through Tru: $u $strend2
|
||||
toward tUwO@d $2
|
||||
over oUv3 $u $strend2 $only
|
||||
under Vnd3 $u $strend2 $only
|
||||
within wIDIn $u2
|
||||
without wIDaUt $u2 $strend2
|
||||
above @bVv $u2 $strend2
|
||||
about a2baUt $u2 $strend2
|
||||
against a2gEnst
|
||||
ahead a2hEd
|
||||
among a2m,VN $strend2
|
||||
amongst a2m,VNst $strend2
|
||||
among a2mVN $u2 $strend2
|
||||
amongst a2mVNst $u2 $strend2
|
||||
around a2raUnd
|
||||
before bIf,o@ $strend2
|
||||
behind bIh,aInd $strend2
|
||||
below bIl,oU $strend2
|
||||
beneath bI2n,i:T $strend2
|
||||
beyond bIj,0nd $strend2
|
||||
beside bIs,aId $strend2
|
||||
between bItw,i:n $strend2
|
||||
together t@g,ED3 $strend2
|
||||
near ,ni@3 $strend2
|
||||
before bIfo@ $u2 $strend2
|
||||
behind bIhaInd $u2 $strend2
|
||||
below bIloU $u2 $strend2
|
||||
beneath bI2ni:T $u2 $strend2
|
||||
beyond bIj0nd $u2 $strend2
|
||||
beside bIsaId $u2 $strend2
|
||||
between bItwi:n $u2 $strend2
|
||||
together t@gED3 $u2 $strend2
|
||||
near ,ni@3 $strend2
|
||||
thence DEns
|
||||
|
||||
|
||||
//aux. verbs
|
||||
|
||||
be %bi: $pastf $only
|
||||
been ,bi:n $pastf $only
|
||||
?3 been ,bIn $pastf $only
|
||||
being ,bi:IN $pastf $only $strend2
|
||||
is %Iz $pastf $only // use contraction for 'is a'
|
||||
be %bi: $pastf $only
|
||||
been ,bi:n $pastf $only
|
||||
?3 been ,bIn $pastf $only
|
||||
being ,bi:IN $pastf $only $strend2
|
||||
is %Iz $pastf $only // use contraction for 'is a'
|
||||
// am %am $nounf $only // now in en_rules
|
||||
are %A@ $pastf $only
|
||||
was %w0z $pastf $only
|
||||
?3 was %wVz $pastf $only
|
||||
?3 wasn't wVznt $pastf $only
|
||||
wast %w0st $only $pastf $only
|
||||
were %w3: $pastf $only
|
||||
isn't ,Iz@nt $pastf $strend2
|
||||
aren't ,A@nt $pastf $strend2
|
||||
weren't ,w3:nt $pastf $strend2
|
||||
are %A@ $pastf $only
|
||||
was %w0z $pastf $only
|
||||
?3 was %wVz $pastf $only
|
||||
?3 wasn't wVznt $pastf $only
|
||||
wast %w0st $only $pastf $only
|
||||
were %w3: $pastf $only
|
||||
isn't ,Iz@nt $pastf $strend2
|
||||
aren't ,A@nt $pastf $strend2
|
||||
weren't ,w3:nt $pastf $strend2
|
||||
|
||||
will $u+ $only $verbf $strend2
|
||||
will $noun
|
||||
will $u+ $only $verbf $strend2
|
||||
//will $noun // but not "this/these/that/those will"
|
||||
(will to) wIlt@5
|
||||
would $u+ $verbf $only $strend2
|
||||
(would have) w%Udh%a2v $pastf
|
||||
(would have) wUdhav $pastf $atend
|
||||
(would have to) wUd,havt@5 $verbf $strend2
|
||||
(wouldn't have) ,wUdnt@v $pastf $strend2
|
||||
(would have to) wUdhavt@5 $u2 $verbf $strend2
|
||||
(wouldn't have) wUdnt@v $u1 $pastf $strend2
|
||||
(wouldn't have to) ,wUdntavt@5 $verbf $strend2
|
||||
won't woUnt $u+ $verbf $strend2 $only
|
||||
won't woUnt $u+ $verbf $strend2 $only
|
||||
wouldst $u+
|
||||
(won't have) woUnta2v $pastf $u1
|
||||
(won't have) woUnthav $pastf $atend
|
||||
(won't have to) w'oUntavt@5 $verbf $strend2
|
||||
(won't have) woUnta2v $pastf $u1
|
||||
(won't have) woUnthav $pastf $atend
|
||||
(won't have to) w'oUntavt@5 $verbf $strend2
|
||||
|
||||
must $verbf
|
||||
(must have) mVsta2v $pastf $1
|
||||
@@ -2800,81 +2804,81 @@ shall ,Sal $verbf $only $strend2
|
||||
shalt ,Salt $verbf $only
|
||||
should ,SUd $verbf $only $strend2
|
||||
(should have) SUd@v $pastf $u1+
|
||||
(should have to) SUd,havt@5 $verbf $strend2
|
||||
shouldn't ,SUdnt $verbf $strend2 $only
|
||||
(shouldn't have) SUdnth@v $pastf $u1+
|
||||
(shouldn't have to) 'SUdntavt@5 $verbf $strend2
|
||||
shalln't ,SA:nt $verbf $strend2
|
||||
shan't ,SA:nt $verbf $strend2
|
||||
(should have to) SUdhavt@5 $u2 $verbf $strend2
|
||||
shouldn't ,SUdnt $verbf $strend2 $only
|
||||
(shouldn't have) SUdnth@v $pastf $u1+
|
||||
(shouldn't have to) 'SUdntavt@5 $verbf $strend2
|
||||
shalln't ,SA:nt $verbf $strend2
|
||||
shan't ,SA:nt $verbf $strend2
|
||||
|
||||
can %kan $verbf $only $strend2
|
||||
can't kA:nt $verbf $only $strend2
|
||||
?3 cannot $2 $verbf $only $strend2
|
||||
(can't have) kA:nta2v $pastf
|
||||
(can't have to) ,kA:nt'avt@5 $verbf $atend
|
||||
?3 can't kant $verbf $only $strend2
|
||||
?3 (can't have) kanta2v $pastf
|
||||
can %kan $verbf $only $strend2
|
||||
can't kA:nt $verbf $only $strend2
|
||||
?3 cannot $2 $verbf $only $strend2
|
||||
(can't have) kA:nta2v $pastf
|
||||
(can't have to) ,kA:nt'avt@5 $verbf $atend
|
||||
?3 can't kant $verbf $only $strend2
|
||||
?3 (can't have) kanta2v $pastf
|
||||
?3 (can't have to) ,kant'avt@5 $verbf $atend
|
||||
could %kUd $verbf $strend2 $only
|
||||
(could have) ,kUda2v $pastf
|
||||
(could have) kUdhav $pastf $atend
|
||||
(could have to) kUd,havt@5 $verbf $strend2
|
||||
could %kUd $verbf $strend2 $only
|
||||
(could have) ,kUda2v $pastf
|
||||
(could have) kUdhav $pastf $atend
|
||||
(could have to) kUdhavt@5 $u2 $verbf $strend2
|
||||
couldn't ,kUd@nt $verbf $strend2
|
||||
(couldn't have) kUd@nt@v $pastf $u1+
|
||||
(couldn't have to) 'kUd@ntavt@5 $verbf $strend2
|
||||
|
||||
may meI $verbf $strend2
|
||||
(may have) meIha2v $pastf $u1+
|
||||
(may have to) ,meIh'avt@5 $verbf $atend
|
||||
might ,maIt $verbf $strend2 $only
|
||||
(might have) maItha2v $pastf $u1+
|
||||
(might have to) ,maIth'avt@5 $verbf $atend
|
||||
may meI $verbf $strend2
|
||||
(may have) meIha2v $pastf $u1+
|
||||
(may have to) ,meIh'avt@5 $verbf $atend
|
||||
might ,maIt $verbf $strend2 $only
|
||||
(might have) maItha2v $pastf $u1+
|
||||
(might have to) ,maIth'avt@5 $verbf $atend
|
||||
|
||||
have %hav $pastf $only $strend2
|
||||
have %hav $pastf $only $strend2
|
||||
haves havz
|
||||
(have been) %hav%bIn $pastf
|
||||
has %ha2z $pastf $only
|
||||
has haz $only $atend
|
||||
(has been) %haz%bIn $pastf
|
||||
(has to) haztU $atend
|
||||
has haz $allcaps
|
||||
hath %haT $pastf $only
|
||||
had %had $pastf $strend2 $only
|
||||
(had been) %had%bIn $pastf
|
||||
having ,havI2N $strend2 $pastf $only
|
||||
haven't hav@nt $pastf
|
||||
hadn't had@nt $pastf
|
||||
hasn't haz@nt $pastf
|
||||
(have been) %hav%bIn $pastf
|
||||
has %ha2z $pastf $only
|
||||
has haz $only $atend
|
||||
(has been) %haz%bIn $pastf
|
||||
(has to) haztU $atend
|
||||
has haz $allcaps
|
||||
hath %haT $pastf $only
|
||||
had %had $pastf $strend2 $only
|
||||
(had been) %had%bIn $pastf
|
||||
having ,havI2N $strend2 $pastf $only
|
||||
haven't hav@nt $pastf
|
||||
hadn't had@nt $pastf
|
||||
hasn't haz@nt $pastf
|
||||
|
||||
get %gEt $strend2 $pastf $only
|
||||
getting ,gEtI2N $strend2 $pastf $only
|
||||
got %g0t $strend2 $pastf $only
|
||||
get %gEt $strend2 $pastf $only
|
||||
getting ,gEtI2N $strend2 $pastf $only
|
||||
got %g0t $strend2 $pastf $only
|
||||
|
||||
go ,goU $strend2 $only
|
||||
goes %goUz $strend2 $only
|
||||
going ,goUI2N $strend2 $only
|
||||
gone %g0n $strend2 $only
|
||||
?3 gone %gOn $strend2 $only
|
||||
went %wEnt $strend2 $only
|
||||
go ,goU $strend2 $only
|
||||
goes %goUz $strend2 $only
|
||||
going ,goUI2N $strend2 $only
|
||||
gone %g0n $strend2 $only
|
||||
?3 gone %gOn $strend2 $only
|
||||
went %wEnt $strend2 $only
|
||||
|
||||
do du: $verbf
|
||||
(do not) du:n0t $verbf $u2+
|
||||
does dVz $verbf
|
||||
(does not) dVzn0t $verbf $u2+
|
||||
don't doUnt $verbf
|
||||
doesn't dVz@nt $verbf
|
||||
doesnt dVz@nt $verbf
|
||||
doing ,du:I2N $strend2 $only
|
||||
did dId $verbf
|
||||
(did not) dIdn0t $verbf $u2+
|
||||
didn't dIdnt $verbf
|
||||
do du: $verbf
|
||||
(do not) du:n0t $verbf $u2+
|
||||
does dVz $verbf
|
||||
(does not) dVzn0t $verbf $u2+
|
||||
don't doUnt $verbf
|
||||
doesn't dVz@nt $verbf
|
||||
doesnt dVz@nt $verbf
|
||||
doing ,du:I2N $strend2 $only
|
||||
did dId $verbf
|
||||
(did not) dIdn0t $verbf $u2+
|
||||
didn't dIdnt $verbf
|
||||
done dVn
|
||||
|
||||
putting pUtI2N
|
||||
put ,pUt $onlys $strend2
|
||||
put ,pUt $onlys $strend2
|
||||
|
||||
become bI,kVm $strend2
|
||||
became bI,keIm $strend2
|
||||
become bIkVm $u2 $strend2
|
||||
became bIkeIm $u2 $strend2
|
||||
|
||||
we're %wi@3
|
||||
you're %jO@
|
||||
@@ -2884,58 +2888,58 @@ it'd %It@d
|
||||
that'd %Dat@d
|
||||
there'd %De@d
|
||||
|
||||
I'll %aIl $verbf
|
||||
you'll %ju:l $verbf
|
||||
he'll %hi:l $verbf
|
||||
she'll %Si:l $verbf
|
||||
we'll %wi:l $verbf
|
||||
they'll %DeIl $verbf
|
||||
there'll %De@l $verbf
|
||||
I'll aIl $u $verbf
|
||||
you'll ju:l $u $verbf
|
||||
he'll hi:l $u $verbf
|
||||
she'll Si:l $u $verbf
|
||||
we'll wi:l $u $verbf
|
||||
they'll DeIl $u $verbf
|
||||
there'll De@l $u $verbf
|
||||
|
||||
I've %aIv $pastf
|
||||
you've %ju:v $pastf
|
||||
he's %hi:z $pastf
|
||||
she's %Si:z $pastf
|
||||
we've %wi:v $pastf
|
||||
they've %DeIv $pastf
|
||||
I've aIv $u $pastf
|
||||
you've ju:v $u $pastf
|
||||
he's hi:z $u $pastf
|
||||
she's Si:z $u $pastf
|
||||
we've wi:v $u $pastf
|
||||
they've DeIv $u $pastf
|
||||
|
||||
we'd %wi:d $pastf
|
||||
we'd wi:d $u $pastf
|
||||
|
||||
I aI $u+ $verbf $only
|
||||
I aI $u+ $verbf $only
|
||||
(I am) %aIa2m
|
||||
(I am) %aIam $atend
|
||||
he %hi: $verbsf
|
||||
she %Si: $only $verbsf
|
||||
it %It $verbsf
|
||||
(it has) %It||haz $atend
|
||||
(it is) %It||Iz $atend
|
||||
(it was) %It||w0z $atend
|
||||
it $allcaps $abbrev
|
||||
we %wi: $verbf $only
|
||||
you %ju: $verbf
|
||||
they %DeI $verbf
|
||||
(I am) %aIam $atend
|
||||
he hi: $u $verbsf
|
||||
she Si: $u $only $verbsf
|
||||
it It $u $verbsf
|
||||
(it has) %It||haz $atend
|
||||
(it is) %It||Iz $atend
|
||||
(it was) %It||w0z $atend
|
||||
it $allcaps $abbrev
|
||||
we wi: $u $verbf $only
|
||||
you ju: $u $verbf
|
||||
they DeI $u $verbf
|
||||
|
||||
thee ,Di:
|
||||
thou DaU
|
||||
thy ,DaI
|
||||
thine ,DaIn
|
||||
|
||||
me ,mi: $only
|
||||
him ,hIm $only
|
||||
us ,Vz $only
|
||||
us $abbrev $allcaps
|
||||
them ,DEm $only
|
||||
me ,mi: $only
|
||||
him ,hIm $only
|
||||
us ,Vz $only
|
||||
us $abbrev $allcaps
|
||||
them ,DEm $only
|
||||
|
||||
my %maI $nounf $strend2
|
||||
his h%Iz $nounf $only $strend2
|
||||
her %h3: $nounf $only
|
||||
hers %h3:z $strend2
|
||||
its %Its $nounf
|
||||
our %aU@ $nounf $only
|
||||
?3 our %aU3 $nounf $only
|
||||
your %jO@ $nounf $only
|
||||
?6 your %jU@ $nounf $only
|
||||
their %De@ $nounf $only
|
||||
my maI $u $nounf $strend2
|
||||
his hIz $u $nounf $only $strend2
|
||||
her h3: $u $nounf $only
|
||||
hers h3:z $u $strend2
|
||||
its Its $u $nounf
|
||||
our aU@ $u $nounf $only
|
||||
?3 our aU3 $u $nounf $only
|
||||
your jO@ $u $nounf $only
|
||||
?6 your jU@ $u $nounf $only
|
||||
their De@ $u $nounf $only
|
||||
theirs De@z
|
||||
|
||||
none n0n
|
||||
@@ -2946,76 +2950,76 @@ someone sVmw0n
|
||||
|
||||
//conjunctions
|
||||
|
||||
although OlD'oU $pause
|
||||
and %and $pause $only
|
||||
as ,az $pause $only
|
||||
(as is) ,az,Iz $pause
|
||||
(as it is) ,azIt,Iz $u+
|
||||
because bIk'Vz $pause
|
||||
once $pause
|
||||
or %O@ $pause $only
|
||||
nor nO@ $pause $only
|
||||
but ,bVt $pause $only
|
||||
if ,If $pause $only
|
||||
despite $pause
|
||||
instead $pause
|
||||
otherwise VD3waIz $pause
|
||||
regardless $pause
|
||||
since sIns $pause
|
||||
thus DVs $pause
|
||||
although OlD'oU $pause
|
||||
and and $u $pause $only
|
||||
as ,az $pause $only
|
||||
(as is) ,az,Iz $pause
|
||||
(as it is) ,azIt,Iz $u+
|
||||
because bIkVz $2 $pause
|
||||
once $pause
|
||||
or O@ $u $pause $only
|
||||
nor nO@ $pause $only
|
||||
but ,bVt $pause $only
|
||||
if ,If $pause $only
|
||||
despite $pause
|
||||
instead $pause
|
||||
otherwise VD3waIz $pause
|
||||
regardless $pause
|
||||
since sIns $pause
|
||||
thus DVs $pause
|
||||
though ,DoU
|
||||
whenever wEn,Ev3 $pause
|
||||
within $pause
|
||||
whoever hu:'Ev3
|
||||
whatever w0t'Ev3 $pause
|
||||
?3 whatever wVt'Ev3 $pause
|
||||
while $pause
|
||||
whilst waIlst $pause
|
||||
(rather than) r'A:D3||Da2n $pause
|
||||
whenever wEnEv3 $u2 $pause
|
||||
within $pause
|
||||
whoever hu:Ev3 $2
|
||||
whatever w0tEv3 $2 $pause
|
||||
?3 whatever wVtEv3 $2 $pause
|
||||
while $pause
|
||||
whilst waIlst $pause
|
||||
(rather than) r'A:D3||Da2n $pause
|
||||
|
||||
//some adverbs (note -ly suffix already implies verb-follows)
|
||||
|
||||
just $verbf
|
||||
never $verbf
|
||||
now $verbf
|
||||
now naU $verbf $allcaps
|
||||
soon $verbf
|
||||
still $verbf
|
||||
already O:lr,EdI $verbf $strend2
|
||||
//some adverbs
|
||||
just $verbf
|
||||
never $verbf
|
||||
now $verbf
|
||||
now naU $verbf $allcaps
|
||||
soon $verbf
|
||||
still $verbf
|
||||
already O:lrEdI $u2 $verbf $strend2
|
||||
|
||||
not ,n0t $verbextend $only $strend
|
||||
(not have) n0ta2v $pastf $u1
|
||||
(not have) n0thav $pastf $atend
|
||||
(not have to) ,n0thavt@5 $pastf $strend
|
||||
(not a) ,n0t@ $nounf
|
||||
not n0t $allcaps $verbextend // don't spell "NOT"; speak it with stress
|
||||
only oUnlI $verbextend
|
||||
not ,n0t $verbextend $only $strend
|
||||
(not have) n0ta2v $pastf $u1
|
||||
(not have) n0thav $pastf $atend
|
||||
(not have to) ,n0thavt@5 $pastf $strend
|
||||
(not a) ,n0t@ $nounf
|
||||
not n0t $allcaps $verbextend // don't spell "NOT"; speak it with stress
|
||||
only oUnlI $verbextend
|
||||
|
||||
any ,EnI $nounf $only
|
||||
many mEnI $nounf
|
||||
any ,EnI $nounf $only
|
||||
many mEnI $nounf
|
||||
(many of) mEnI|@v
|
||||
some ,sVm $nounf $unstressend $only
|
||||
some ,sVm $nounf $unstressend $only
|
||||
(some one) sVmw0n
|
||||
one w0n $nounf $onlys $unstressend
|
||||
ones w0nz $only $unstressend
|
||||
one w0n $nounf $onlys $unstressend
|
||||
ones w0nz $only $unstressend
|
||||
|
||||
this %DIs $nounf $strend $verbsf
|
||||
(this one) D'Isw,0n $verbsf
|
||||
that %Dat $nounf $strend2 $verbsf
|
||||
(that a) ,Dat@ $nounf
|
||||
(that an) ,Dat@n $nounf
|
||||
(that it) ,Da2tIt $verbsf
|
||||
this DIs $u+ $nounf $verbsf
|
||||
(this one) D'Isw,0n $verbsf
|
||||
that Dat $u $nounf $strend2 $verbsf
|
||||
(that a) ,Dat@ $nounf
|
||||
(that an) ,Dat@n $nounf
|
||||
(that it) ,Da2tIt $verbsf
|
||||
(that one) D'atw,0n
|
||||
(that the) %DatD@2
|
||||
these %Di:z $nounf $strend2 $only
|
||||
those %DoUz $nounf $strend2 $only
|
||||
there %De@ $strend2 $only
|
||||
these Di:z $u $nounf $strend2 $only
|
||||
those DoUz $u $nounf $strend2 $only
|
||||
there De@ $u $strend2 $only
|
||||
(there be) De@b'i:
|
||||
|
||||
than %Dan $only
|
||||
(than a) ,Dan@ $nounf
|
||||
(than an) ,Dan@n $nounf
|
||||
then DEn $verbf
|
||||
than Dan $u $only
|
||||
(than a) ,Dan@ $nounf
|
||||
(than an) ,Dan@n $nounf
|
||||
then DEn $verbf
|
||||
|
||||
// these should be stressed at the start of a sentence
|
||||
which ,wItS $pause $strend2 $only $verbf
|
||||
@@ -3102,5 +3106,3 @@ like laIk $strend2
|
||||
?3 vitamin vaIt@mIn
|
||||
?3 zebra zi:br@
|
||||
|
||||
|
||||
|
||||
|
||||
+17
-7
@@ -625,6 +625,7 @@
|
||||
amaz (o am@z
|
||||
ambi (d ambI
|
||||
ch) am (b eIm
|
||||
fl) ame eIm
|
||||
As) ame (_ 'A:mE
|
||||
_) ame (l a2mi:
|
||||
&) am (ent @m
|
||||
@@ -1604,7 +1605,7 @@
|
||||
di (scot dI
|
||||
di (scount dI
|
||||
di (scov dI2
|
||||
_) di (se ,dI
|
||||
_) di (seP3 ,dIs
|
||||
di (sh_ dI
|
||||
di (shC dI
|
||||
_) di (shev+ dI2
|
||||
@@ -1743,7 +1744,7 @@
|
||||
r) eu (d OI
|
||||
eu (m_ i:
|
||||
s) eu (m_ 'i@
|
||||
eur 3:
|
||||
l) eur 3:
|
||||
?5 eur VR
|
||||
eur (_ '3:
|
||||
?3 eur (_ 'U@
|
||||
@@ -2001,7 +2002,7 @@
|
||||
_) ena (m I2na
|
||||
&) en (Ance @n
|
||||
&) en (ch En
|
||||
encha (n %EntSaa
|
||||
_) encha (n %EntSaa
|
||||
enclav EnkleIv
|
||||
en (core 0n
|
||||
&) ency (_ @ns%I
|
||||
@@ -2442,6 +2443,7 @@
|
||||
o) g (et dZ
|
||||
er) g (et dZ
|
||||
for) ge (t gE
|
||||
bo) g (Ey g
|
||||
&) gia (_ dZ@
|
||||
&) gia (C_ dZ@
|
||||
&) giu (m dZ@
|
||||
@@ -2455,6 +2457,7 @@
|
||||
g (ird g
|
||||
g (irl g
|
||||
g (irt g
|
||||
_) g (it g
|
||||
g (ive g
|
||||
@) guay (_ gwaI
|
||||
gue (_ g
|
||||
@@ -2491,6 +2494,9 @@
|
||||
_) house (@ haUs
|
||||
house (_S5 haUs
|
||||
houses (_S6 haUzI2z
|
||||
_) hypo (@P4 h,aIpoU
|
||||
hypo (de h,aIp@
|
||||
hypo (thet h,aIp@
|
||||
|
||||
.group i
|
||||
i I
|
||||
@@ -2724,8 +2730,9 @@
|
||||
iah (_ 'aI@
|
||||
ia (m I2@
|
||||
&) ia (n i@
|
||||
&) ia (nic I'a
|
||||
&) ia (na I'a
|
||||
@) ia (nic I'a
|
||||
@) ia (nit I'a
|
||||
@) ia (na I'a
|
||||
ia (ng_ ja
|
||||
_f) ia (nc I'0
|
||||
_f) iance I'0nseI
|
||||
@@ -2778,6 +2785,7 @@
|
||||
ie (ntal I'E
|
||||
g) ie (n i:
|
||||
sc) ie (nc aI@
|
||||
ie (ntiC aI@
|
||||
_sc) ie (n aI@
|
||||
?8 _sc) ie (n aIa2
|
||||
ie (nCiA I2'E
|
||||
@@ -3149,7 +3157,7 @@
|
||||
it (um aIt
|
||||
|
||||
.group iv
|
||||
@) iva (_ 'aIv@
|
||||
@l) iva (_ 'aIv@
|
||||
@) iv (e Iv
|
||||
iv (e# aIv
|
||||
h) iv (e_ aIv
|
||||
@@ -3760,6 +3768,7 @@
|
||||
_h) on (ey Vn
|
||||
n) on (e 0n
|
||||
m) one (ta VnI
|
||||
m) one (ti 0nI2
|
||||
_) one (r oUn@
|
||||
m) on (ey Vn
|
||||
und) one (_ Vn
|
||||
@@ -4348,6 +4357,7 @@
|
||||
_) rho (t roU
|
||||
rhyth rID
|
||||
_) rm ,A@Em
|
||||
rrhea r'i@
|
||||
rrhoea r'i@
|
||||
_) ru (bL01 ru:
|
||||
_) run (a rVn
|
||||
@@ -4403,8 +4413,8 @@
|
||||
re (gist rE
|
||||
rehen rIh'En
|
||||
_) re (i@P2 r,i:
|
||||
_) rei (l raI
|
||||
_) rei (c raI
|
||||
_) rei (l raI
|
||||
_) rele (g rElI2
|
||||
rele (nt rI2lE
|
||||
rele (v rElI
|
||||
|
||||
+13
-6
@@ -24,7 +24,7 @@
|
||||
|
||||
// 2006-11-18 Gilles Casse <gcasse@oralux.org>
|
||||
//
|
||||
// Updated 2009-03-12 Michel Such <michel.such@free.fr>
|
||||
// Updated 2009-04-04 Michel Such <michel.such@free.fr>
|
||||
//
|
||||
// * Numbers, a few abbreviations and exceptions.
|
||||
//
|
||||
@@ -233,7 +233,7 @@ _dpt virgyl
|
||||
abc $abbrev
|
||||
ac $abbrev
|
||||
adsl $abbrev
|
||||
alt $pause
|
||||
alt _::alt
|
||||
amd $abbrev
|
||||
anpe $abbrev
|
||||
api $abbrev
|
||||
@@ -242,7 +242,7 @@ bd boulevard $text
|
||||
brltty $abbrev
|
||||
cci $abbrev
|
||||
cio $abbrev
|
||||
ctrl control $text $pause
|
||||
ctrl _::kO~tRol
|
||||
dept depart@-mA~
|
||||
edf $abbrev
|
||||
etc etsetera
|
||||
@@ -253,16 +253,21 @@ ibm $abbrev
|
||||
ide $abbrev
|
||||
ip $abbrev
|
||||
jaws dZ'awz
|
||||
kbit kilobit
|
||||
kbits kilobit
|
||||
kde $abbrev
|
||||
kg kilogram
|
||||
khz kiloE2rts
|
||||
km kilomètre $text
|
||||
kw kilowat
|
||||
kw kilowat
|
||||
m. m@sjY
|
||||
mbit mega2bit
|
||||
mbits mega2bit
|
||||
mbrola Embrola
|
||||
mhz megaE2rts
|
||||
mlle mad@mwAzEl
|
||||
mme madam
|
||||
mlle mademoiselle $text
|
||||
mme madame $text
|
||||
mr m@sjY
|
||||
nsi $abbrev
|
||||
nsis $abbrev
|
||||
@@ -576,7 +581,6 @@ bus bys
|
||||
bus by $verb
|
||||
campus kA~pys
|
||||
cancer kA~sEr
|
||||
catcher catcheur $text
|
||||
(chef d'oeuvre) chédeuvre $text
|
||||
(chef d'oeuvres) chédeuvres $text
|
||||
choeur kWr
|
||||
@@ -594,6 +598,7 @@ hélas elas $u+
|
||||
iris iris
|
||||
laser lazEr
|
||||
malus malys
|
||||
mailto mEjltu_
|
||||
mapper _^_en
|
||||
mars mars
|
||||
mieux mjY $u+
|
||||
@@ -605,6 +610,7 @@ polder pOldEr
|
||||
premier pr@mjer2
|
||||
program _^_en
|
||||
quit _^_en
|
||||
recorder ricordeur $text
|
||||
scanner skaner2
|
||||
scanner skanWr $noun
|
||||
sir _^_EN
|
||||
@@ -794,3 +800,4 @@ zimbabwe zimbabwe
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+10
-7
@@ -23,7 +23,7 @@
|
||||
|
||||
// 2006-11-18 Gilles Casse <gcasse@oralux.org>
|
||||
//
|
||||
// Updated: 2009-03-12 Michel Such <michel.such@free.fr>
|
||||
// Updated: 2009-04-01 Michel Such <michel.such@free.fr>
|
||||
//
|
||||
|
||||
// Letter classes:
|
||||
@@ -126,6 +126,7 @@
|
||||
e) ch (_ k // varech
|
||||
_A) ch (o_ k // écho
|
||||
mani) ch (é k // manichéisme
|
||||
mito) ch (o k // mitochondrie
|
||||
_eu) ch (ari k // eucharistie
|
||||
or) ch (esC k // orchestre
|
||||
or) ch (iC k // orchidée
|
||||
@@ -213,17 +214,17 @@ _) ç' (P2v s
|
||||
|
||||
// Define use of the final 'e' in french
|
||||
e (_
|
||||
rch) e (_ =@-
|
||||
rch) e (s_ =@-
|
||||
elqu) e =@-
|
||||
rch) e (_ =@3
|
||||
rch) e (s_ =@3
|
||||
elqu) e =@3
|
||||
uisqu) e =@
|
||||
rsqu) e =@
|
||||
_C) e (_ @2 // je te
|
||||
-c) e (_ @-
|
||||
-j) e (_ @-
|
||||
C) e (- @-
|
||||
L02r) e (_ =@-
|
||||
L02r) e (s_ =@-
|
||||
L02r) e (_ =@3
|
||||
L02r) e (s_ =@3
|
||||
|
||||
e (Ce_ E
|
||||
eau o // bateau cheveaux
|
||||
@@ -246,6 +247,7 @@ _) ç' (P2v s
|
||||
gu) e (rA @
|
||||
qu) e (rA @
|
||||
v) e (lop @-
|
||||
tch) e (rX W
|
||||
@) em (me a // patiemment
|
||||
em (b A~ // décembre
|
||||
em (mACC A~ // emmancher
|
||||
@@ -870,7 +872,8 @@ _) half _^_en
|
||||
om (_ Om // www.web.com
|
||||
on (K O~ // mon
|
||||
on (t_ O~t2 // mont vont sont
|
||||
_m) ont (CAC O~ // montpellier
|
||||
_m) ont (pAC O~ // Montpellier
|
||||
_m) ont (rAal O~ // Montreal
|
||||
onsh (A O~z // bonshommes
|
||||
onh (A On // bonhomme
|
||||
_) on (z _!O~ // onze, onzi�me
|
||||
|
||||
+112
-86
@@ -1,6 +1,9 @@
|
||||
// This file is UTF-8 encoded
|
||||
|
||||
// Italian: any [E] or [O] phonemes in unstressed words must be listed explicitly
|
||||
|
||||
// $alt change [e] or [o] in the stressed syllable to [E] or [O]
|
||||
// $alt2 change [E] or [O] in the stressed syllable to [e] or [o]
|
||||
// Any [E] or [O] phonemes in unstressed words must be listed explicitly
|
||||
|
||||
|
||||
// character names
|
||||
@@ -148,38 +151,38 @@ _0Z3 mill'ezimi // 1000ths
|
||||
(http ://) 'ak:at,i:t,i:p'i:_
|
||||
|
||||
// articles
|
||||
i $u
|
||||
il $u
|
||||
la $u
|
||||
le $u
|
||||
lo $u
|
||||
un $u
|
||||
una $u
|
||||
i $u $only
|
||||
il $u $only
|
||||
la $u $only
|
||||
le $u $only
|
||||
lo $u $only
|
||||
un $u $only
|
||||
una $u $only
|
||||
|
||||
gli l^i $u
|
||||
gli l^i $only $u
|
||||
|
||||
|
||||
// pronouns
|
||||
io $u+
|
||||
tu $u+
|
||||
lui $u+
|
||||
lei $u+
|
||||
noi $u+
|
||||
voi $u+
|
||||
loro $u+
|
||||
io $u+ $only
|
||||
tu $u+ $only
|
||||
lui $u+ $only
|
||||
lei $u+ $only
|
||||
noi $u+ $only
|
||||
voi $u+ $only
|
||||
loro $u+ $only
|
||||
|
||||
egli $u+
|
||||
ella $u+
|
||||
essa $u+
|
||||
esse $u+
|
||||
essi $u+
|
||||
egli el^i $u+
|
||||
ella ella $u+
|
||||
essa essa $u+
|
||||
esse esse $u+
|
||||
essi essi $u+
|
||||
|
||||
mi $u+
|
||||
ti $u+
|
||||
si $u+
|
||||
ci $u+
|
||||
vi vi $u+
|
||||
li li $u+
|
||||
mi $u+ $only
|
||||
ti $u+ $only
|
||||
si $u+ $only
|
||||
ci $u+ $only
|
||||
vi vi $u+ $only
|
||||
li li $u+ $only
|
||||
|
||||
|
||||
// words that double the following consonant
|
||||
@@ -216,7 +219,7 @@ queste $u // these
|
||||
|
||||
quel $u // that
|
||||
quella $u // that
|
||||
quei $u // those
|
||||
quei kw2ej // those
|
||||
quegli $u // those
|
||||
quelle $u // those
|
||||
|
||||
@@ -235,7 +238,7 @@ tuttavia $pause // however
|
||||
invece $pause // instead
|
||||
malevolenza $pause // despite
|
||||
pertanto $pause // therefore
|
||||
né $pause // neither-nor
|
||||
né $pause $only // neither-nor
|
||||
|
||||
(in cui) in||kw2,i $pause // in which
|
||||
che $u $pause // which
|
||||
@@ -243,16 +246,16 @@ che $u $pause // which
|
||||
|
||||
// prepositions
|
||||
a $u // $double
|
||||
al $u
|
||||
al $u $only
|
||||
allo $u
|
||||
alla $u
|
||||
ai $u
|
||||
agli $u
|
||||
agli $u $only
|
||||
alle $u
|
||||
|
||||
ad $u $brk
|
||||
|
||||
da $u $brk // by
|
||||
da $u $only $brk // by
|
||||
dal $u
|
||||
dallo $u
|
||||
dalla $u // by the
|
||||
@@ -260,25 +263,25 @@ dai $u
|
||||
dagli $u
|
||||
dalle $u
|
||||
|
||||
di $u $brk // of
|
||||
del $u
|
||||
di $u $only $brk // of
|
||||
del $u $only
|
||||
dello $u
|
||||
della $u // of the
|
||||
dei $u
|
||||
degli $u
|
||||
delle $u
|
||||
de $u
|
||||
de $u $only
|
||||
|
||||
in $u $brk // in
|
||||
nel $u $brk
|
||||
in $u $brk $only // in
|
||||
nel $u $brk $only
|
||||
nello $u $brk
|
||||
nella $u $brk // in the
|
||||
nei $u $brk
|
||||
negli $u $brk
|
||||
nelle $u $brk
|
||||
ne $u $brk
|
||||
ne $u $brk $only
|
||||
|
||||
su $u //$double // on
|
||||
su $u $only //$double // on
|
||||
sul $u
|
||||
sullo $u
|
||||
sulla $u // on the
|
||||
@@ -287,15 +290,15 @@ sugli $u
|
||||
sulle $u
|
||||
|
||||
con $u $pause $only // with
|
||||
col $u
|
||||
coi $u
|
||||
col $u $only
|
||||
coi $u $only
|
||||
|
||||
attraverso $u+ $brk // across, through
|
||||
attraverso $brk $3 // across, through
|
||||
contro $u+ $brk // against
|
||||
accanto $u+ $brk // beside
|
||||
verso $u+ $brk // toward
|
||||
sopra $u+ $brk // above
|
||||
sotto $u+ $brk // below
|
||||
sotto $u+ $brk $alt2 // below
|
||||
per $u $pause $only // for
|
||||
eccetto $pause // except
|
||||
senza $pause // without
|
||||
@@ -315,9 +318,9 @@ fu $u //$double
|
||||
fummo $u
|
||||
foste $u
|
||||
furono $u
|
||||
ero $u
|
||||
eri $u
|
||||
era $u
|
||||
ero $u $only
|
||||
eri $u $only
|
||||
era $u $only
|
||||
eravamo $u
|
||||
eravate $u
|
||||
erano $u
|
||||
@@ -425,14 +428,7 @@ aces _^_EN
|
||||
|
||||
|
||||
// exceptions
|
||||
aereo $2
|
||||
difficile $2
|
||||
pneumatici $3
|
||||
|
||||
nott nOt: $stem
|
||||
tavol $1 $stem
|
||||
vent vEnt $stem
|
||||
|
||||
aereo a'EReo
|
||||
celsius tsElsj'us
|
||||
conoscerla $2
|
||||
no nO
|
||||
@@ -441,38 +437,68 @@ principi $1
|
||||
tesser tess'ER
|
||||
uomini $1
|
||||
|
||||
// $alt = use ò or è in the stressed syllable
|
||||
quia kw'ia
|
||||
|
||||
|
||||
// If the final vowel is omitted, then the rule applies to 'a' 'e' 'i' 'o'
|
||||
$textmode
|
||||
|
||||
abbandonatel $4
|
||||
abbazie abbazìe
|
||||
abbinano $2
|
||||
abbinini $2
|
||||
abbisognino $3
|
||||
abituarcisi $2
|
||||
accalcano $2
|
||||
accalchino $2
|
||||
accantonal $3
|
||||
accatastano $3
|
||||
accatastino $3
|
||||
accavallio $4
|
||||
accenditi $2
|
||||
accertano $2 $alt
|
||||
accertino $2 $alt
|
||||
acclamano $2
|
||||
acclamino $2
|
||||
accolit $2 $alt
|
||||
accomunano $3
|
||||
accomunino $3
|
||||
accorpano $2 $alt
|
||||
accorpino $2 $alt
|
||||
accostarcisi $3
|
||||
accovacciano $3
|
||||
accovaccino $3
|
||||
acefala $2
|
||||
acer accer // acer/i/o
|
||||
acid accid // acida/e
|
||||
acidul $1
|
||||
|
||||
|
||||
// fix errors in it_listx
|
||||
accetto $alt
|
||||
agosta $1
|
||||
allora $alt2
|
||||
anomalo $2 $alt
|
||||
antera $2
|
||||
aton $1
|
||||
bagli $2 $only
|
||||
barbera $2
|
||||
bocca $alt2
|
||||
borro $alt2
|
||||
capello $alt2
|
||||
ceca $alt
|
||||
collodi $2 $alt $only
|
||||
corsa $alt2
|
||||
doma $alt
|
||||
ei eI
|
||||
epa $alt
|
||||
esper $1 $alt
|
||||
est $only
|
||||
fieri f'ieRi
|
||||
forca $alt2
|
||||
fori $alt $only
|
||||
gener $1
|
||||
genes $1
|
||||
gorga $alt2
|
||||
gotta $alt2
|
||||
ias iaz $1
|
||||
indolo $2
|
||||
leggi ledZ'i
|
||||
lena $alt2
|
||||
nocciola $2
|
||||
olimpiade olimp'iade
|
||||
orca $alt2
|
||||
ossa $alt2
|
||||
pena $alt2
|
||||
peoni $1 $only
|
||||
pesce $alt2
|
||||
peste $alt
|
||||
ponto $alt
|
||||
protas $1
|
||||
|
||||
rene $alt
|
||||
scopa $alt2
|
||||
sera $alt2
|
||||
teco $alt2
|
||||
vicari $1 $only
|
||||
vicaria $3
|
||||
volto $alt2
|
||||
zone $alt2
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+4126
File diff suppressed because it is too large
Load Diff
+197
-97
@@ -7,14 +7,17 @@
|
||||
// K not a vowel (i.e. consonant or end-of-word)
|
||||
// Y front vowels: e i (& accents)
|
||||
.L01 a à o ò ó u ù
|
||||
.L02 e é è
|
||||
|
||||
|
||||
.group a
|
||||
a a:
|
||||
a (CK a
|
||||
ai aI (K
|
||||
a a
|
||||
ai (K aI
|
||||
ao (_ aU
|
||||
au a%u
|
||||
|
||||
&) a (_S1q a // lookup it_list without suffix
|
||||
@C) a (_S1q a // lookup it_list without suffix
|
||||
@i) a (_S1q a // lookup it_list without suffix
|
||||
|
||||
@) a (cA_ =a
|
||||
@) a (che_ =a
|
||||
@@ -23,16 +26,20 @@
|
||||
@) a (bile_ 'a
|
||||
@) a (ggine_ 'a
|
||||
|
||||
_) ae (ro aI
|
||||
_) ae (r aI
|
||||
@) avano (_S5 'avano
|
||||
a (tterA_ 'a
|
||||
|
||||
.group à
|
||||
à ''a
|
||||
ài (K ''aI
|
||||
ào (_ ''aU
|
||||
àu ''a%u
|
||||
|
||||
.group b
|
||||
b b
|
||||
bb b:
|
||||
|
||||
li) be =be
|
||||
|
||||
.group c
|
||||
c k
|
||||
cc k:
|
||||
@@ -51,38 +58,63 @@
|
||||
n) dere =deRe
|
||||
|
||||
.group e
|
||||
e e:
|
||||
e (CK e
|
||||
e (T E: // The word has $alt in it_list
|
||||
e (CKT E // $alt
|
||||
ei ej (K
|
||||
e e
|
||||
ei Ej (K
|
||||
@C) e (_S1q e // lookup it_list without suffix
|
||||
@Ar) e (_ e
|
||||
|
||||
e (r E: // ?? [E] before 'r'
|
||||
e (rK E
|
||||
e (rsi_N e
|
||||
e (C_ E
|
||||
e (A E
|
||||
e (C%A_ E // doubled consonant
|
||||
e (CiCA_ E
|
||||
e (CulA_ E
|
||||
e (llu E
|
||||
e (st E
|
||||
e (ttA_ e
|
||||
c) e (ttA_ E
|
||||
e (tti@ E
|
||||
e (zzA_ e
|
||||
|
||||
e (r E
|
||||
e (rsi_N e
|
||||
A) e (r_ 'E
|
||||
|
||||
_r) e E
|
||||
|
||||
&) e (_S1q e // lookup it_list without suffix
|
||||
// @) e (ce_ =e
|
||||
@) e (ci_ =e
|
||||
C) e (re_ =e
|
||||
|
||||
@) e (nte_ E
|
||||
@m) e (nte_ e
|
||||
@) e (nza_ E
|
||||
@) e (volA_ 'e
|
||||
e (l E
|
||||
r) e (m E
|
||||
e (monA_ 'e
|
||||
e (nA_ E
|
||||
g) e (ne E
|
||||
e (ngA_ e
|
||||
e (nCA_ E
|
||||
@m) e (ntA_ e
|
||||
%C) e (rA_ =E
|
||||
C) e (re_ =E
|
||||
gg) e (ro_ E
|
||||
f) e (rm e
|
||||
@) e (rrimo_ 'E
|
||||
@) e (simo_ 'e
|
||||
h) e (ss e
|
||||
m) e (ss e
|
||||
_sC) e (ss e
|
||||
e (ssa_ e
|
||||
e (tr E
|
||||
e (ti E
|
||||
|
||||
@) evano(_S5 'evano
|
||||
e (vi_ E
|
||||
e (vo_ E
|
||||
@) e (volA_ 'e
|
||||
e (zA E
|
||||
|
||||
|
||||
.group f
|
||||
f f
|
||||
|
||||
@A) f (ico_ =f
|
||||
@A) f (ichA_ =f
|
||||
@A) f (ilo_ =f
|
||||
@A) f (ero_ =f
|
||||
A) f (ero_ =f
|
||||
|
||||
.group g
|
||||
g g
|
||||
@@ -90,6 +122,8 @@
|
||||
gh g
|
||||
g (Y dZ
|
||||
gi (L01 dZj
|
||||
gi (a_ dZ'i
|
||||
n) gi (a_ dZj
|
||||
gg (Y dZ:
|
||||
ggi (L01 dZ:
|
||||
@) gger (lo_ =dZ:eR
|
||||
@@ -100,55 +134,74 @@
|
||||
gn n^
|
||||
gu (A gw
|
||||
|
||||
@) g (ero_ =g
|
||||
@) gno (lA_ n^'o
|
||||
|
||||
|
||||
.group h
|
||||
h
|
||||
ha h'a
|
||||
_) ha h'a
|
||||
_) hà h'a
|
||||
|
||||
.group i
|
||||
i i:
|
||||
i (CK i
|
||||
i i
|
||||
i (A j
|
||||
l) i (A %i
|
||||
r) i (A %i
|
||||
_C) i (a i
|
||||
_C) i (à i
|
||||
i (o i
|
||||
i (ò i
|
||||
i (ó i
|
||||
@) ia (_ =i%a
|
||||
@) io (_ =i%o
|
||||
@) ià (_ i'a
|
||||
X) ia (_ 'ia
|
||||
af) ia (_ 'ia
|
||||
fon) ia (_ 'ia
|
||||
scop) ia (_ 'ia
|
||||
er) ia (_ 'ia
|
||||
gor) ia (_ 'ia
|
||||
metr) ia (_ 'ia
|
||||
t) ia (_ 'ia
|
||||
@) io (_S1q =i%o
|
||||
a) i (+ j
|
||||
e) i (+ j
|
||||
à) i (+ j
|
||||
L02) i (+ j
|
||||
o) i (+ j
|
||||
|
||||
&) i (_S1q i // lookup it_list without suffix
|
||||
@C) i (_S1q i // lookup it_list without suffix
|
||||
|
||||
@) i (co_ =i
|
||||
@) i (ci_ =i
|
||||
@) i (dA_ =i
|
||||
@) i (dere_ 'i
|
||||
@) i (le_ =i
|
||||
@) i (li_ =i
|
||||
@) i (ma_ =i
|
||||
r) i (ma_ i
|
||||
laCr) i (ma_ =i
|
||||
st) i (ma_ i
|
||||
enz) i (ma_ i
|
||||
@) i (mo_ =i
|
||||
@) iera (_ i'E:Ra
|
||||
@) iere (_ i'E:Re
|
||||
@) i (ente_ i
|
||||
@) i (ante_ i
|
||||
@) i (Ante_ i
|
||||
i (acA_ 'i
|
||||
i (asi_ 'i
|
||||
@) i (bile_ 'i
|
||||
@) i (cA_ =i
|
||||
tr) i (ce_ i
|
||||
@) i (chA_ =i
|
||||
@) i (dA_ =i
|
||||
@) i (dere_ 'i
|
||||
@) ie (rA_ i'E
|
||||
@) ié (rA_ i'E
|
||||
@) iè (rA_ i'E
|
||||
@) i (gA_ =i
|
||||
i (genA_ 'i
|
||||
c) i (lA_ =i
|
||||
g) i (lA_ =i
|
||||
ss) i (lA_ =i
|
||||
b) i (le_ =i
|
||||
m) i (le_ =i
|
||||
i (lA_ =i
|
||||
@) i (ma_ =i
|
||||
r) i (ma_ i
|
||||
laCr) i (ma_ =i
|
||||
st) i (ma_ i
|
||||
enz) i (ma_ i
|
||||
@) i (mo_ =i
|
||||
inas (_ 'inas
|
||||
i (ne_ =i
|
||||
@) issima(_S6 'issima
|
||||
@) issime(_S6 'issime
|
||||
@) issimi(_S6 'issimi
|
||||
@) issimo(_S6 'issimo
|
||||
@) issero(_S6 'issero
|
||||
@) i (sti 'i
|
||||
p) i (te_ =i
|
||||
|
||||
|
||||
.group j
|
||||
@@ -165,43 +218,83 @@
|
||||
|
||||
.group m
|
||||
m m
|
||||
A) mi (a m'i:
|
||||
@) mi (co_ m'i:
|
||||
A) mi (a_ m'i
|
||||
|
||||
|
||||
.group n
|
||||
n n
|
||||
n (g N
|
||||
n (ge n
|
||||
n (gé n
|
||||
n (gè n
|
||||
n (gi n
|
||||
n (gY n
|
||||
n (k N
|
||||
|
||||
.group o
|
||||
o o:
|
||||
o (CK o
|
||||
o (T O: // $alt
|
||||
o (CKT O // $alt
|
||||
oi oI (K
|
||||
o o
|
||||
oi O%I
|
||||
oi (o_ o%I
|
||||
oi (sCA_ o'i
|
||||
|
||||
o (r O: // ?? [O] before 'r'
|
||||
o (rK O
|
||||
o (re_ o
|
||||
o (C%A_ O // doubled consonant
|
||||
o (CACA_ O
|
||||
o (Cr O
|
||||
o (CC_ O
|
||||
|
||||
&) o (_S1q o // lookup it_list without suffix
|
||||
|
||||
@) o (ista_ o
|
||||
@) o (ismo_ o
|
||||
@) o (gnolo_ 'o
|
||||
@) o (nzolo_ 'o
|
||||
@) o (grafo_ 'O
|
||||
@) o (fono_ 'O
|
||||
@) o (metro_ 'O
|
||||
@) o (logo_ 'O
|
||||
o (str 'O
|
||||
@C) o (_S1q o // lookup it_list without suffix
|
||||
@i) o (_S1q o // lookup it_list without suffix
|
||||
|
||||
i) o O
|
||||
i) o (ne o
|
||||
i) o (so_ o
|
||||
|
||||
m) o (bile O
|
||||
o (ca_ O
|
||||
o (co_ O
|
||||
@) o (di_ =o
|
||||
@) o (do_ =o
|
||||
@) o (lo_ =o
|
||||
@) o (fono_ 'O
|
||||
o (genA_ 'O
|
||||
l) o (gico_ 'O
|
||||
@) o (gnolo_ 'o
|
||||
@) o (grafo_ 'O
|
||||
o (lX O
|
||||
nd) o (lA_ =O
|
||||
ns) o (lA_ =O
|
||||
CC) o (lA_ =O
|
||||
u) o (lA_ O
|
||||
v) o (lA_ =o
|
||||
@) o (la_ O
|
||||
gn) o (la_ O
|
||||
o (li O
|
||||
@) o (liA_ O
|
||||
@) o (lo_ =O
|
||||
i) o (lA_ O
|
||||
ci) o (lA_ =O
|
||||
@) o (logo_ 'O
|
||||
c) o (ltA_ O
|
||||
sc) o (ltA_ o
|
||||
v) o (lt O
|
||||
@) o (metro_ 'O
|
||||
@) o (ma_ O
|
||||
@) o (mo_ O
|
||||
dr) o (mo_ =o
|
||||
o (ni O
|
||||
o (ni_ o
|
||||
o (no_ O
|
||||
@) o (nomo_ 'O
|
||||
@) o (nzolo_ 'o
|
||||
o (o O
|
||||
o (polA_ 'O
|
||||
sc) o (p O
|
||||
o (r O
|
||||
o (re_ o
|
||||
f) o (rmA_ o
|
||||
o (si_ O
|
||||
o (ss O
|
||||
Ar) o (ssA_ o
|
||||
o (st O
|
||||
o (stracA_ 'O
|
||||
o (ttol O
|
||||
o (zA O
|
||||
|
||||
|
||||
.group p
|
||||
@@ -239,11 +332,15 @@
|
||||
s (t s
|
||||
s (x s
|
||||
sc (Y S
|
||||
sci (L01 S
|
||||
sci (A S
|
||||
sci (i S%i
|
||||
sci (ì S%i
|
||||
sch (Y sk
|
||||
sh (K S // foreign words
|
||||
K) sh S // foreign words
|
||||
@) sia s'ia
|
||||
@) sia z'ia
|
||||
@C) sia s'ia
|
||||
@) sià zi'a
|
||||
@) s (_S1 s
|
||||
|
||||
.group t
|
||||
@@ -251,14 +348,15 @@
|
||||
tt t:
|
||||
|
||||
.group u
|
||||
u u:
|
||||
u (CK u
|
||||
u u
|
||||
u (A w2
|
||||
Kr) u (A u
|
||||
Kl) u (A u
|
||||
|
||||
@) u (dine_ 'u
|
||||
@) u (colo_ 'u
|
||||
u (ito_ 'u
|
||||
@) u (lA_ =u
|
||||
|
||||
.group v
|
||||
v v
|
||||
@@ -279,24 +377,26 @@
|
||||
A) zz ts:
|
||||
|
||||
_) z (i dz
|
||||
_) z (ì dz
|
||||
z (L01A dz
|
||||
|
||||
.group
|
||||
à 'a:
|
||||
à (CK 'a
|
||||
é 'e:
|
||||
é (CK 'e
|
||||
è 'E:
|
||||
è (CK 'E
|
||||
ì 'i:
|
||||
ì (CK 'i
|
||||
ó 'o:
|
||||
ó (CK 'o
|
||||
ò 'O:
|
||||
ò (CK 'O
|
||||
ù 'u:
|
||||
ù (CK 'u
|
||||
è ''E
|
||||
èi (K ''Ej
|
||||
|
||||
$ dolla:ro
|
||||
é ''e
|
||||
éi (K ''eI
|
||||
|
||||
ì ''i
|
||||
ó ''o
|
||||
ói ''o|I
|
||||
|
||||
ò ''O
|
||||
òi ''OI
|
||||
|
||||
ù ''u
|
||||
|
||||
$ dollaro
|
||||
, (D v'irgola
|
||||
! _p'untoesklamat'ivo_
|
||||
!) !
|
||||
@@ -307,4 +407,4 @@
|
||||
A_) - (_D _
|
||||
C_) - (_D _
|
||||
|
||||
§ setsi'o:ne
|
||||
§ setsi'one
|
||||
|
||||
+6
-10
@@ -15,8 +15,8 @@
|
||||
eo 13 115
|
||||
jbo 4 116
|
||||
fi 40 134
|
||||
fr 54 140
|
||||
fr_ca 11 140
|
||||
fr 55 141
|
||||
fr_ca 11 141
|
||||
hi 60 149
|
||||
ta 17 152
|
||||
hu 23 119
|
||||
@@ -71,31 +71,25 @@ b/b_ [b] base
|
||||
[b] hi
|
||||
[b] bn
|
||||
b/b@ [b] base
|
||||
[b] fr
|
||||
[b] hi
|
||||
[b] bn
|
||||
b/b@2 [b] base
|
||||
[b] hi
|
||||
[b] bn
|
||||
b/ba [b] base
|
||||
[b] fr
|
||||
[b] hi
|
||||
[b] bn
|
||||
b/be [b] base
|
||||
[b] fr
|
||||
[b] hi
|
||||
[b] bn
|
||||
b/bi [b] base
|
||||
[b] fr
|
||||
[b] hi
|
||||
[b;] ro
|
||||
[b] bn
|
||||
b/bo [b] base
|
||||
[b] fr
|
||||
[b] hi
|
||||
[b] bn
|
||||
b/bu [b] base
|
||||
[b] fr
|
||||
[b] hi
|
||||
[b] bn
|
||||
b/xb [b] base
|
||||
@@ -476,6 +470,7 @@ l/lo [(o)] base
|
||||
[wA] fr
|
||||
l/l_o [(o)] base
|
||||
[O] fr
|
||||
[o] fr
|
||||
[O2] fr
|
||||
[o2] fr
|
||||
l^/l_rfx [l.] hi
|
||||
@@ -727,6 +722,7 @@ ufric/ll [L] base
|
||||
[l#] is
|
||||
ufric/s [s] base
|
||||
[s] fr
|
||||
[z] fr
|
||||
[z2] fr
|
||||
[s] es
|
||||
[s#] pt
|
||||
@@ -1481,6 +1477,7 @@ vowel/@ [@] base
|
||||
[@] kn
|
||||
[@4] bn
|
||||
vowel/@- [@-] base
|
||||
[@3] fr
|
||||
[r*] hr
|
||||
vowel/& [a] en_rp
|
||||
[&] fi
|
||||
@@ -2228,8 +2225,7 @@ vwl_fr/@R2 [R] fr_ca
|
||||
vwl_fr/@R3 [R] fr
|
||||
[r] fr
|
||||
[Q2] hy
|
||||
vwl_fr/@R4 [R] fr
|
||||
[r2] fr
|
||||
vwl_fr/@R4 [r2] fr
|
||||
[Q2] hy
|
||||
vwl_fr/@R5 [r] fr
|
||||
[Q2] hy
|
||||
|
||||
@@ -10,6 +10,7 @@ volume 15
|
||||
0 ; NULL 0 NULL
|
||||
0 g- NULL 0 NULL
|
||||
0 @- NULL 0 NULL
|
||||
0 @3 NULL 0 NULL
|
||||
0 * NULL 0 R
|
||||
0 : NULL 0 NULL
|
||||
|
||||
@@ -83,3 +84,4 @@ volume 15
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+57
-49
@@ -10,7 +10,7 @@ endphoneme
|
||||
|
||||
phoneme @
|
||||
vowel starttype (@) endtype (@)
|
||||
length 180
|
||||
length 190
|
||||
formants vowel/@_hgh
|
||||
before l/ DFT+l/l_@
|
||||
before (r) DFT+r/xr
|
||||
@@ -19,15 +19,24 @@ endphoneme
|
||||
|
||||
phoneme @2
|
||||
vowel starttype (@) endtype (@)
|
||||
length 160
|
||||
length 170
|
||||
formants vowel/@_fr
|
||||
before (r) DFT+r3/r_@
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme @3 // Mute at end of word
|
||||
vowel nonsyllabic
|
||||
starttype (@) endtype _
|
||||
formants vowel/@-
|
||||
unstressed
|
||||
length 40
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme a
|
||||
vowel starttype (a) endtype (a)
|
||||
length 180
|
||||
length 200
|
||||
formants vowel/a_6
|
||||
after l l/la-15
|
||||
before l/ DFT+l/l_a
|
||||
@@ -38,7 +47,7 @@ endphoneme
|
||||
|
||||
phoneme a2
|
||||
vowel starttype (a) endtype (a)
|
||||
length 165
|
||||
length 190
|
||||
formants vowel/a_6
|
||||
after l l/la-15
|
||||
before l/ DFT+l/l_a
|
||||
@@ -49,7 +58,7 @@ endphoneme
|
||||
|
||||
phoneme e
|
||||
vowel starttype (e) endtype (e)
|
||||
length 175
|
||||
length 190
|
||||
formants vowel/e
|
||||
after l l/le-15
|
||||
before l/ DFT-20+l/xl
|
||||
@@ -59,7 +68,7 @@ endphoneme
|
||||
|
||||
phoneme E
|
||||
vowel starttype (e) endtype (e)
|
||||
length 175
|
||||
length 190
|
||||
formants vowel/e_mid
|
||||
after l l/le-15
|
||||
before l/ DFT+l/l_e
|
||||
@@ -70,7 +79,7 @@ endphoneme
|
||||
|
||||
phoneme E2
|
||||
vowel starttype (e) endtype (e)
|
||||
length 175
|
||||
length 190
|
||||
formants vowel/e_mid
|
||||
after l l/le-15
|
||||
before l/ DFT+l/l_e
|
||||
@@ -80,7 +89,7 @@ endphoneme
|
||||
|
||||
phoneme i
|
||||
vowel starttype (i) endtype (i)
|
||||
length 160
|
||||
length 170
|
||||
formants vowel/i_3
|
||||
linkout ;
|
||||
after l l/li-15
|
||||
@@ -92,7 +101,7 @@ endphoneme
|
||||
|
||||
phoneme i: // longer than i
|
||||
vowel starttype (i) endtype (i)
|
||||
length 240
|
||||
length 250
|
||||
formants vowel/i_3
|
||||
linkout ;
|
||||
after l l/li-15
|
||||
@@ -103,9 +112,10 @@ endphoneme
|
||||
|
||||
phoneme o
|
||||
vowel starttype (o) endtype (o)
|
||||
length 180
|
||||
length 190
|
||||
formants vowel/o_3
|
||||
after l l/lo-10
|
||||
before l/ DFT+l/l_o
|
||||
before (r) DFT+r/xr
|
||||
reduceto o2 1
|
||||
endphoneme
|
||||
@@ -113,7 +123,7 @@ endphoneme
|
||||
|
||||
phoneme o2
|
||||
vowel starttype (o) endtype (o)
|
||||
length 180
|
||||
length 190
|
||||
formants vowel/o_2
|
||||
after l l/lo-10
|
||||
before l/ DFT+l/l_o
|
||||
@@ -123,7 +133,7 @@ endphoneme
|
||||
|
||||
phoneme O
|
||||
vowel starttype (o) endtype (o)
|
||||
length 170
|
||||
length 190
|
||||
formants vowel/o_mid
|
||||
after l l/lo-10
|
||||
before l/ DFT+l/l_o
|
||||
@@ -134,7 +144,7 @@ endphoneme
|
||||
|
||||
phoneme O2 // Like O but no reduceto
|
||||
vowel starttype (o) endtype (o)
|
||||
length 170
|
||||
length 190
|
||||
formants vowel/o_mid
|
||||
after l l/lo-10
|
||||
before l/ DFT+l/l_o
|
||||
@@ -144,7 +154,7 @@ endphoneme
|
||||
|
||||
phoneme u
|
||||
vowel starttype (u) endtype (u)
|
||||
length 175
|
||||
length 190
|
||||
formants vowel/u_3
|
||||
after l l/lu-20
|
||||
before l/ DFT-20+l/l_u
|
||||
@@ -166,7 +176,7 @@ endphoneme
|
||||
|
||||
phoneme y
|
||||
vowel starttype (u) endtype (u)
|
||||
length 180
|
||||
length 190
|
||||
formants vowel/y_2
|
||||
after l l/lu-20
|
||||
before l/ DFT-30+l/l_y
|
||||
@@ -177,7 +187,7 @@ endphoneme
|
||||
|
||||
phoneme Y
|
||||
vowel starttype (@) endtype (@)
|
||||
length 180
|
||||
length 190
|
||||
formants vowel/y#
|
||||
after l l/l@-20
|
||||
before l/ DFT-20+l/l_@
|
||||
@@ -188,7 +198,7 @@ endphoneme
|
||||
|
||||
phoneme W
|
||||
vowel starttype (@) endtype (@)
|
||||
length 180
|
||||
length 200
|
||||
formants vowel/@_5
|
||||
after l l/l@-20
|
||||
before l/ DFT-20+l/l_@
|
||||
@@ -199,7 +209,7 @@ endphoneme
|
||||
|
||||
phoneme W2 // same as W but don't reduce
|
||||
vowel starttype (@) endtype (@)
|
||||
length 180
|
||||
length 200
|
||||
formants vowel/@_3
|
||||
after l l/l@-20
|
||||
before l/ DFT-20+l/l_@
|
||||
@@ -209,7 +219,7 @@ endphoneme
|
||||
|
||||
phoneme wA
|
||||
vowel starttype (o) endtype (a)
|
||||
length 220
|
||||
length 240
|
||||
formants vwl_fr/w_a
|
||||
after l l/lo-10
|
||||
before l/ DFT-10+l/l_a
|
||||
@@ -220,7 +230,7 @@ endphoneme
|
||||
|
||||
phoneme w^i
|
||||
vowel starttype (u) endtype (i)
|
||||
length 220
|
||||
length 240
|
||||
formants vdiph/yi_fr
|
||||
after l l/lu-20
|
||||
before l/ DFT+l/l_i
|
||||
@@ -230,7 +240,7 @@ endphoneme
|
||||
|
||||
phoneme A~
|
||||
vowel starttype (a) endtype (a)
|
||||
length 190
|
||||
length 210
|
||||
formants vnasal/aa_n2
|
||||
before r/2 DFT+r/xr-40
|
||||
before l/ DFT+l/l_a
|
||||
@@ -239,7 +249,7 @@ endphoneme
|
||||
|
||||
phoneme E~ // same as W~ for fr-fr
|
||||
vowel starttype (e) endtype (e)
|
||||
length 200
|
||||
length 210
|
||||
formants vnasal/W_n
|
||||
before n2 DFT-100
|
||||
endphoneme
|
||||
@@ -247,7 +257,7 @@ endphoneme
|
||||
|
||||
phoneme O~
|
||||
vowel starttype (o) endtype (o)
|
||||
length 200
|
||||
length 210
|
||||
formants vnasal/o_n3
|
||||
// before n2 vowel/o_mid
|
||||
endphoneme
|
||||
@@ -255,7 +265,7 @@ endphoneme
|
||||
|
||||
phoneme W~
|
||||
vowel starttype (@) endtype (@)
|
||||
length 204
|
||||
length 210
|
||||
formants vnasal/W_n
|
||||
endphoneme
|
||||
|
||||
@@ -302,17 +312,12 @@ endphoneme
|
||||
// uses the consonants in file "phonemes", unless overridden here
|
||||
|
||||
phoneme b
|
||||
vcd blb stop
|
||||
vowelout f1=0 f2=1000 -500 -300 f3=-300 80 brk
|
||||
formants b/b+x/b%80
|
||||
vcd blb frc
|
||||
vowelin f1=2 f2=1000 -300 -200 f3=-100 100
|
||||
vowelout f1=0 f2=1000 -500 -300 f3=-100 60 len=50
|
||||
formants b/b+x/b%70
|
||||
before _ b/b_+x/b_
|
||||
before (a) b/ba+x/b%30
|
||||
before (@) b/b@+x/b%50
|
||||
before (e) b/be+x/b%50
|
||||
before (i) b/bi+x/b%50
|
||||
before l/ b/b_+x/b_
|
||||
before (o) b/bo+x/b%50
|
||||
before (u) b/bu+x/b%70
|
||||
before R b/b_+x/b_
|
||||
after _ NULL
|
||||
after @ b/xb%50
|
||||
@@ -427,22 +432,22 @@ endphoneme
|
||||
|
||||
phoneme r
|
||||
liquid rfx starttype (r) endtype (r)
|
||||
vowelin f1=0 f2=1600 -300 300 f3=100 80
|
||||
vowelout f1=1 f2=1600 -300 300 f3=100 80 brk
|
||||
vowelin f1=0 f2=1800 -200 200 f3=-200 80
|
||||
vowelout f1=1 f2=1800 -200 200 f3=-200 80 brk
|
||||
length 100
|
||||
lengthmod 7
|
||||
beforenotvowel r/2
|
||||
formants vwl_fr/@R3+r3/rx%30
|
||||
after @2 vwl_fr/@R5+r3/rx%40
|
||||
after (u) vwl_fr/@R5+r3/rx%30
|
||||
after (e) vwl_fr/@R5+r3/rx%25
|
||||
after (u) vwl_fr/@R5+r3/rx%30
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme r2 // silent unless followed by vowel
|
||||
liquid rfx starttype (r) endtype (r)
|
||||
vowelin f1=0 f2=1000 -200 200 f3=-100 100 len=40
|
||||
vowelout f1=0 f2=1200 -200 200 f3=-100 100 len=20
|
||||
vowelin f1=0 f2=1000 -200 200 f3=-200 80 len=40
|
||||
vowelout f1=0 f2=1200 -200 200 f3=-200 80 len=20
|
||||
length 100
|
||||
lengthmod 7
|
||||
beforenotvowel NULL
|
||||
@@ -451,19 +456,21 @@ endphoneme
|
||||
|
||||
|
||||
phoneme R // After consonnants
|
||||
vcd frc
|
||||
vowelin f1=0 f2=1600 -300 300 f3=100 80
|
||||
liquid starttype (r) endtype (r)
|
||||
vowelin f1=0 f2=1800 -200 200 f3=-200 80
|
||||
length 100
|
||||
lengthmod 7
|
||||
beforenotvowel r/2
|
||||
formants vwl_fr/@R3+r3/rx%20
|
||||
after t vwl_fr/@R4
|
||||
formants vwl_fr/@R3+r3/rx%30
|
||||
after b vwl_fr/@R3+r3/rx%60
|
||||
after p vwl_fr/@R3+r3/rx%60
|
||||
after t vwl_fr/@R3+r3/rx%60
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme r/2 // variant of [r] when not preceding a vowel
|
||||
liquid
|
||||
vowelout f1=2 f2=1600 -300 300 f3=100 80 brk
|
||||
vowelout f1=2 f2=1800 -200 200 f3=-200 80 brk
|
||||
length 100
|
||||
lengthmod 2
|
||||
formants r3/r_2+r3/rx%20
|
||||
@@ -488,8 +495,8 @@ endphoneme
|
||||
|
||||
phoneme S
|
||||
vls pla frc sibilant
|
||||
vowelin f1=0 f2=2100 100 300 f3=-100 80
|
||||
vowelout f1=0 f2=2100 100 300 f3=-100 80
|
||||
vowelin f1=0 f2=1900 100 300 f3=-100 80
|
||||
vowelout f1=0 f2=1900 100 300 f3=-100 80
|
||||
length 100
|
||||
lengthmod 3
|
||||
wave ufric/sh%45
|
||||
@@ -500,10 +507,10 @@ endphoneme
|
||||
|
||||
phoneme t
|
||||
vls alv stop
|
||||
vowelin f1=0 f2=1700 -100 100 f3=-100 80
|
||||
vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
|
||||
vowelin f1=0 f2=1600 -300 300 f3=-100 80
|
||||
vowelout f1=0 f2=1600 -300 250 f3=-100 80 brk
|
||||
lengthmod 2
|
||||
wave ustop/t_short%50
|
||||
wave ustop/t_short%40
|
||||
before _ ustop/t_%40
|
||||
before R ustop/t_short%50
|
||||
before r/2 ustop/t_short%50
|
||||
@@ -549,7 +556,7 @@ endphoneme
|
||||
phoneme z
|
||||
vcd alv frc sibilant
|
||||
vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50
|
||||
formants voc/z+ufric/s_%45
|
||||
formants voc/z+ufric/s%30
|
||||
before _ voc/z_+ufric/s_%45
|
||||
lengthmod 6
|
||||
switchvoicing s
|
||||
@@ -579,3 +586,4 @@ endphoneme
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -85,7 +85,7 @@ endphoneme
|
||||
|
||||
phoneme A:
|
||||
vowel starttype (a) endtype (a)
|
||||
length 240
|
||||
length 250
|
||||
formants vowel/aa_6
|
||||
endphoneme
|
||||
|
||||
|
||||
+52
-7
@@ -696,7 +696,7 @@ static int Unpronouncable_en(Translator *tr, char *word)
|
||||
0x00, 0x88, 0x22, 0x04, 0x00, 0x02, 0x00, 0x04, // 32
|
||||
0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x28, 0x8a, 0x03, 0x00, 0x00, 0x40, 0x00, // 48
|
||||
0x02, 0x00, 0x41, 0xca, 0x9b, 0x06, 0x20, 0x80,
|
||||
0x02, 0x00, 0x41, 0xca, 0xbb, 0x06, 0x20, 0x80,
|
||||
0x91, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0x00, // 64
|
||||
0x08, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x22, 0x00, 0x01, 0x00, };
|
||||
@@ -1408,7 +1408,7 @@ void SetWordStress(Translator *tr, char *output, unsigned int &dictionary_flags,
|
||||
stress = 3; /* use secondary stress for remaining syllables */
|
||||
}
|
||||
else
|
||||
if((vowel_stress[v-1] <= 1) && (vowel_stress[v+1] <= 1))
|
||||
if((vowel_stress[v-1] <= 1) && ((vowel_stress[v+1] <= 1) || ((stress == 4) && (vowel_stress[v+1] <= 2))))
|
||||
{
|
||||
/* trochaic: give stress to vowel surrounded by unstressed vowels */
|
||||
|
||||
@@ -1558,7 +1558,7 @@ void SetWordStress(Translator *tr, char *output, unsigned int &dictionary_flags,
|
||||
max_stress = vowel_stress[v];
|
||||
}
|
||||
|
||||
if((*p == phonLENGTHEN) && ((opt_length = tr->langopts.param[LOPT_IT_LENGTHEN]) != 0))
|
||||
if((*p == phonLENGTHEN) && ((opt_length = tr->langopts.param[LOPT_IT_LENGTHEN]) & 1))
|
||||
{
|
||||
// remove lengthen indicator from non-stressed syllables
|
||||
int shorten=0;
|
||||
@@ -1576,13 +1576,20 @@ void SetWordStress(Translator *tr, char *output, unsigned int &dictionary_flags,
|
||||
shorten = 1;
|
||||
}
|
||||
|
||||
if(((opt_length & 0xf)==2) && (v != (vowel_count - 2)))
|
||||
shorten = 1; // LANG=Italian, remove lengthen indicator from non-penultimate syllables
|
||||
|
||||
if(shorten)
|
||||
p++;
|
||||
}
|
||||
|
||||
if((v_stress >= 4) && (tr->langopts.param[LOPT_IT_LENGTHEN] == 2))
|
||||
{
|
||||
// LANG=Italian, lengthen penultimate stressed vowels, unless followed by 2 consonants
|
||||
if((v == (vowel_count - 2)) && (syllable_weight[v] == 0))
|
||||
{
|
||||
*output++ = phcode;
|
||||
phcode = phonLENGTHEN;
|
||||
}
|
||||
}
|
||||
|
||||
v++;
|
||||
}
|
||||
|
||||
@@ -2193,7 +2200,7 @@ static void MatchRule(Translator *tr, char *word[], const char *group, char *rul
|
||||
|
||||
case RULE_LETTERGP2: // match against a list of utf-8 strings
|
||||
letter_group = *rule++ - 'A';
|
||||
if((n_bytes = IsLetterGroup(tr, pre_ptr-letter_xbytes,letter_group,1)) >0)
|
||||
if((n_bytes = IsLetterGroup(tr, pre_ptr,letter_group,1)) >0)
|
||||
{
|
||||
add_points = (20-distance_right);
|
||||
pre_ptr -= (n_bytes-1);
|
||||
@@ -2683,6 +2690,44 @@ int TranslateRules(Translator *tr, char *p_start, char *phonemes, int ph_size, c
|
||||
} /* end of TranslateRules */
|
||||
|
||||
|
||||
void ApplySpecialAttribute2(Translator *tr, char *phonemes, int dict_flags)
|
||||
{//========================================================================
|
||||
// apply after the translation is complete
|
||||
int ix;
|
||||
int len;
|
||||
char *p;
|
||||
|
||||
len = strlen(phonemes);
|
||||
|
||||
switch(tr->translator_name)
|
||||
{
|
||||
case L('i','t'):
|
||||
for(ix=0; ix<(len-1); ix++)
|
||||
{
|
||||
if(phonemes[ix] == phonSTRESS_P)
|
||||
{
|
||||
p = &phonemes[ix+1];
|
||||
if((dict_flags & FLAG_ALT2_TRANS) != 0)
|
||||
{
|
||||
if(*p == PhonemeCode('E'))
|
||||
*p = PhonemeCode('e');
|
||||
if(*p == PhonemeCode('O'))
|
||||
*p = PhonemeCode('o');
|
||||
}
|
||||
else
|
||||
{
|
||||
if(*p == PhonemeCode('e'))
|
||||
*p = PhonemeCode('E');
|
||||
if(*p == PhonemeCode('o'))
|
||||
*p = PhonemeCode('O');
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
} // end of ApplySpecialAttribute2
|
||||
|
||||
|
||||
void ApplySpecialAttribute(Translator *tr, char *phonemes, int dict_flags)
|
||||
{//=======================================================================
|
||||
|
||||
@@ -658,5 +658,8 @@ int main (int argc, char **argv)
|
||||
}
|
||||
|
||||
espeak_Synchronize();
|
||||
|
||||
if(f_phonemes_out != stdout)
|
||||
fclose(f_phonemes_out); // needed for WinCE
|
||||
return(0);
|
||||
}
|
||||
|
||||
@@ -204,6 +204,8 @@ BEGIN_EVENT_TABLE(MyFrame, wxMDIParentFrame)
|
||||
EVT_MENU(MENU_VOWELCHART3, MyFrame::OnTools)
|
||||
EVT_MENU(MENU_LEXICON_RU, MyFrame::OnTools)
|
||||
EVT_MENU(MENU_LEXICON_DE, MyFrame::OnTools)
|
||||
EVT_MENU(MENU_LEXICON_IT, MyFrame::OnTools)
|
||||
EVT_MENU(MENU_LEXICON_IT2, MyFrame::OnTools)
|
||||
EVT_MENU(MENU_TO_UTF8, MyFrame::OnTools)
|
||||
EVT_MENU(MENU_COUNT_WORDS, MyFrame::OnTools)
|
||||
EVT_MENU(MENU_TEST, MyFrame::OnTools)
|
||||
@@ -457,6 +459,8 @@ void MyFrame::OnTools(wxCommandEvent& event)
|
||||
|
||||
case MENU_LEXICON_RU:
|
||||
case MENU_LEXICON_DE:
|
||||
case MENU_LEXICON_IT:
|
||||
case MENU_LEXICON_IT2:
|
||||
CompareLexicon(event.GetId()); // Compare a lexicon with _rules translation
|
||||
break;
|
||||
|
||||
|
||||
+315
@@ -288,6 +288,315 @@ static void DecodePhonemes2(const char *inptr, char *outptr)
|
||||
} // end of DecodePhonemes2
|
||||
|
||||
|
||||
void Lexicon_It(int pass)
|
||||
{//======================
|
||||
int count=0;
|
||||
int matched=0;
|
||||
int ix;
|
||||
int c;
|
||||
char *p;
|
||||
int len;
|
||||
int vowel_ix;
|
||||
int stress_posn1;
|
||||
int stress_posn2;
|
||||
int stress_vowel1;
|
||||
int stress_vowel2;
|
||||
int use_phonemes;
|
||||
FILE *f_in;
|
||||
FILE *f_out;
|
||||
FILE *f_listx;
|
||||
FILE *f_list_in;
|
||||
long int displ;
|
||||
const char *alt_string;
|
||||
char buf[200];
|
||||
char word[80];
|
||||
char word1[80];
|
||||
char word2[80];
|
||||
char word_stem[80];
|
||||
char temp[80];
|
||||
char phonemes[80];
|
||||
char phonemes2[80];
|
||||
char buf_out[120];
|
||||
WORD_TAB winfo;
|
||||
static const char *vowels1 = "aeiou";
|
||||
static const char *vowels2 = "aeou";
|
||||
|
||||
static const char ex1[] = {'a',0xc3,0xac,0}; // aì
|
||||
static const char ex2[] = {'e',0xc3,0xac,0}; // eì
|
||||
static const char ex3[] = {0xc3,0xb9,'a',0}; // ùa
|
||||
static const char ex4[] = {0xc3,0xb9,'e',0}; // ùe
|
||||
static const char ex5[] = {0xc3,0xb9,'i',0}; // ùi
|
||||
static const char ex6[] = {0xc3,0xb9,'o',0}; // ùo
|
||||
static const char ex7[] = {'c',0xc3,0xac,'a',0}; // cìa
|
||||
static const char ex8[] = {'c',0xc3,0xac,'o',0}; // cìo
|
||||
static const char ex9[] = {'c',0xc3,0xac,'u',0}; // cìu
|
||||
static const char ex10[] = {'g','l',0xc3,0xac,0}; // glì
|
||||
|
||||
|
||||
static const char *exceptions[] = {ex1, ex2, ex3, ex4, ex5, ex6, ex7, ex8, ex9, ex10, NULL};
|
||||
|
||||
wxString fname = wxFileSelector(_T("Italian Lexicon"),path_dir1,_T(""),_T(""),_T("*"),wxOPEN);
|
||||
|
||||
strcpy(buf,fname.mb_str(wxConvLocal));
|
||||
if((f_in = fopen(buf,"r")) == NULL)
|
||||
{
|
||||
wxLogError(_T("Can't read file ")+fname);
|
||||
return;
|
||||
}
|
||||
path_dir1 = wxFileName(fname).GetPath();
|
||||
|
||||
if((f_out = fopen("compare_it","w")) == NULL)
|
||||
{
|
||||
wxLogError(_T("Can't write file: compare_it "));
|
||||
return;
|
||||
}
|
||||
|
||||
if(pass == 1)
|
||||
{
|
||||
sprintf(buf,"%s/it_listx",path_dsource);
|
||||
remove(buf);
|
||||
CompileDictionary(path_dsource,"it",NULL,NULL,0);
|
||||
f_listx = fopen(buf,"w");
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf(buf,"%s/it_listx2",path_dsource);
|
||||
f_listx = fopen(buf,"w");
|
||||
sprintf(buf,"%s/it_listx",path_dsource);
|
||||
if((f_list_in = fopen(buf,"r")) == NULL)
|
||||
{
|
||||
wxLogError(_T("Can't read file: it_listx"));
|
||||
return;
|
||||
}
|
||||
}
|
||||
if(f_listx == NULL)
|
||||
{
|
||||
wxLogError(_T("Can't write file: it_listx"));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
LoadVoice("it",0);
|
||||
|
||||
while(!feof(f_in))
|
||||
{
|
||||
count++;
|
||||
|
||||
if(fgets(buf,sizeof(buf),f_in) == NULL)
|
||||
break;
|
||||
|
||||
if((p = strstr(buf,"//")) != NULL)
|
||||
*p = 0;
|
||||
|
||||
if((sscanf(buf,"%s %s",word,temp)) < 2)
|
||||
continue;
|
||||
|
||||
if(strlen(word) < 8)
|
||||
sprintf(buf_out,"%s\t\t%s\t",word,temp);
|
||||
else
|
||||
sprintf(buf_out,"%s\t%s",word,temp);
|
||||
|
||||
sprintf(word1," %s ",word);
|
||||
|
||||
// should we remove a vowel ending to produce a stem ?
|
||||
strcpy(word_stem, word);
|
||||
len = strlen(word) - 1;
|
||||
utf8_in(&c, temp);
|
||||
// if(iswlower(c))
|
||||
{
|
||||
if((word[len] == 'a') && (strchr(vowels1, word[len-1]) == NULL))
|
||||
word_stem[len] = 0;
|
||||
else
|
||||
if((word[len] == 'o') && (strchr(vowels2, word[len-1]) == NULL))
|
||||
word_stem[len] = 0;
|
||||
}
|
||||
|
||||
// convert word to lower-case
|
||||
word2[0] = ' ';
|
||||
for(ix=0, p=&word2[1];;)
|
||||
{
|
||||
ix += utf8_in(&c,&temp[ix]);
|
||||
c = towlower(c);
|
||||
p += utf8_out(c,p);
|
||||
if(c == 0)
|
||||
break;
|
||||
}
|
||||
strcat(word2," ");
|
||||
|
||||
use_phonemes = 0;
|
||||
for(ix=0; ; ix++)
|
||||
{
|
||||
if(exceptions[ix] == NULL)
|
||||
break;
|
||||
|
||||
if(strstr(word2, exceptions[ix]) != NULL)
|
||||
{
|
||||
// the word contains a string for which we must do a complete phoneme translation
|
||||
use_phonemes = 1;
|
||||
strcpy(word_stem, word);
|
||||
break;
|
||||
}
|
||||
}
|
||||
// translate
|
||||
memset(&winfo,0,sizeof(winfo));
|
||||
TranslateWord(translator,&word1[1],0,&winfo);
|
||||
DecodePhonemes(word_phonemes,phonemes);
|
||||
|
||||
stress_posn1 = 0;
|
||||
stress_posn2 = 0;
|
||||
stress_vowel1 = 0;
|
||||
stress_vowel2 = 0;
|
||||
|
||||
vowel_ix = 1;
|
||||
for(ix=0; ;ix++)
|
||||
{
|
||||
if((c = word_phonemes[ix]) == 0)
|
||||
break;
|
||||
if(c == phonSTRESS_P)
|
||||
{
|
||||
stress_posn1 = vowel_ix;
|
||||
stress_vowel1 = word_phonemes[ix+1];
|
||||
}
|
||||
|
||||
if((c != phonSCHWA_SHORT) && (phoneme_tab[c]->type == phVOWEL))
|
||||
vowel_ix++;
|
||||
}
|
||||
|
||||
memset(&winfo,0,sizeof(winfo));
|
||||
TranslateWord(translator,&word2[1],0,&winfo);
|
||||
DecodePhonemes(word_phonemes,phonemes2);
|
||||
|
||||
vowel_ix = 1;
|
||||
for(ix=0; ;ix++)
|
||||
{
|
||||
if((c = word_phonemes[ix]) == 0)
|
||||
break;
|
||||
if(c == phonSTRESS_P)
|
||||
{
|
||||
stress_posn2 = vowel_ix;
|
||||
stress_vowel2 = word_phonemes[ix+1];
|
||||
}
|
||||
|
||||
if((c != phonSCHWA_SHORT) && (phoneme_tab[c]->type == phVOWEL))
|
||||
vowel_ix++;
|
||||
}
|
||||
|
||||
if(stress_posn2 == (vowel_ix-1))
|
||||
{
|
||||
// stress is on the final vowel, don't renove it
|
||||
strcpy(word_stem, word);
|
||||
}
|
||||
|
||||
if(pass == 1)
|
||||
{
|
||||
if(use_phonemes)
|
||||
{
|
||||
fprintf(f_listx,"%s ", word_stem);
|
||||
for(p = phonemes2; *p != 0; p++)
|
||||
{
|
||||
if(*p != ',')
|
||||
fputc(*p, f_listx); // omit secondary stress marks
|
||||
}
|
||||
fputc('\n',f_listx);
|
||||
|
||||
}
|
||||
else
|
||||
if((stress_posn1 != stress_posn2) && (stress_posn1 > 0) && (stress_posn2 > 0))
|
||||
{
|
||||
fprintf(f_listx,"%s $%d\n", word_stem, stress_posn2);
|
||||
}
|
||||
}
|
||||
|
||||
// reduce [E] and [O] to [e] and [o] if not stressed
|
||||
for(ix=0; phonemes[ix] != 0; ix++)
|
||||
{
|
||||
if((phonemes[ix] == 'E') || (phonemes[ix] == 'O'))
|
||||
{
|
||||
if((pass == 2) || (ix==0) || (phonemes[ix-1] != '\''))
|
||||
phonemes[ix] = tolower(phonemes[ix]);
|
||||
}
|
||||
}
|
||||
|
||||
for(ix=0; phonemes2[ix] != 0; ix++)
|
||||
{
|
||||
if((phonemes2[ix] == 'E') || (phonemes2[ix] == 'O'))
|
||||
{
|
||||
if((pass == 2) || (ix==0) || (phonemes2[ix-1] != '\''))
|
||||
phonemes2[ix] = tolower(phonemes2[ix]);
|
||||
}
|
||||
}
|
||||
|
||||
if(strcmp(phonemes,phonemes2) == 0)
|
||||
{
|
||||
alt_string = NULL;
|
||||
if((pass == 2) && (stress_posn1 > 0) && (stress_posn2 > 0))
|
||||
{
|
||||
if(((stress_vowel1 == PhonemeCode('E')) && (stress_vowel2 == PhonemeCode('e'))) ||
|
||||
((stress_vowel1 == PhonemeCode('O')) && (stress_vowel2 == PhonemeCode('o'))))
|
||||
{
|
||||
alt_string = " $alt2";
|
||||
}
|
||||
else
|
||||
if(((stress_vowel1 == PhonemeCode('e')) && (stress_vowel2 == PhonemeCode('E'))) ||
|
||||
((stress_vowel1 == PhonemeCode('o')) && (stress_vowel2 == PhonemeCode('O'))))
|
||||
{
|
||||
alt_string = " $alt";
|
||||
}
|
||||
|
||||
if(alt_string != NULL)
|
||||
{
|
||||
while(!feof(f_list_in))
|
||||
{
|
||||
displ = ftell(f_list_in);
|
||||
if(fgets(buf, sizeof(buf), f_list_in) == NULL)
|
||||
break;
|
||||
|
||||
sscanf(buf, "%s", word1);
|
||||
if(strcmp(word1, word_stem) < 0)
|
||||
{
|
||||
fprintf(f_listx,"%s",buf); // copy it_listx from pass 1 until we reach the matching word
|
||||
}
|
||||
else
|
||||
if(strcmp(word1, word_stem) == 0)
|
||||
{
|
||||
p = buf;
|
||||
while((*p != '\n') && (*p != 0)) *p++;
|
||||
*p = 0;
|
||||
fprintf(f_listx,"%s %s\n",buf,alt_string); // add $alt or $alt2 to the entry
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf(f_listx,"%s %s\n", word_stem, alt_string); // add a new word with $alt or $alt2
|
||||
fseek(f_list_in, displ, SEEK_SET);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
matched++;
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf(f_out,"%s\t%s\t%s\n",buf_out,phonemes,phonemes2);
|
||||
}
|
||||
}
|
||||
|
||||
if(pass == 2)
|
||||
{
|
||||
while(fgets(buf, sizeof(buf), f_list_in) != NULL)
|
||||
{
|
||||
fprintf(f_listx, "%s", buf); // copy the remaining entries from pass 1
|
||||
}
|
||||
fclose(f_list_in);
|
||||
}
|
||||
fclose(f_in);
|
||||
fclose(f_out);
|
||||
fclose(f_listx);
|
||||
wxLogStatus(_T("Completed, equal=%d different=%d"),matched,count-matched);
|
||||
}
|
||||
|
||||
|
||||
void Lexicon_De()
|
||||
{//==============
|
||||
// Compare eSpeak's translation of German words with a pronunciation lexicon
|
||||
@@ -766,6 +1075,12 @@ void CompareLexicon(int id)
|
||||
case MENU_LEXICON_DE:
|
||||
Lexicon_De();
|
||||
break;
|
||||
case MENU_LEXICON_IT:
|
||||
Lexicon_It(1);
|
||||
break;
|
||||
case MENU_LEXICON_IT2:
|
||||
Lexicon_It(2);
|
||||
break;
|
||||
}
|
||||
} // end of CompareLexicon
|
||||
|
||||
|
||||
+3
-3
@@ -1087,9 +1087,9 @@ void SetSynth_Klatt(int length, int modn, frame_t *fr1, frame_t *fr2, voice_t *v
|
||||
|
||||
if(wvoice != NULL)
|
||||
{
|
||||
if((wvoice->klatt[0] > 0) && (wvoice->klatt[0] <=3 ))
|
||||
if((wvoice->klattv[0] > 0) && (wvoice->klattv[0] <=3 ))
|
||||
{
|
||||
kt_globals.glsource = wvoice->klatt[0];
|
||||
kt_globals.glsource = wvoice->klattv[0];
|
||||
kt_globals.scale_wav = scale_wav_tab[kt_globals.glsource];
|
||||
}
|
||||
kt_globals.f0_flutter = wvoice->flutter/32;
|
||||
@@ -1167,7 +1167,7 @@ void SetSynth_Klatt(int length, int modn, frame_t *fr1, frame_t *fr2, voice_t *v
|
||||
klattp_inc[ix] = double((fr2->klattp[ix] - klattp[ix]) * STEPSIZE)/length;
|
||||
|
||||
if((ix>0) && (ix < KLATT_AVp))
|
||||
klattp1[ix] = klattp[ix] = (klattp[ix] + wvoice->klatt[ix]);
|
||||
klattp1[ix] = klattp[ix] = (klattp[ix] + wvoice->klattv[ix]);
|
||||
}
|
||||
|
||||
nsamples = length;
|
||||
|
||||
@@ -153,6 +153,8 @@ enum {
|
||||
MENU_LEXICON,
|
||||
MENU_LEXICON_RU,
|
||||
MENU_LEXICON_DE,
|
||||
MENU_LEXICON_IT,
|
||||
MENU_LEXICON_IT2,
|
||||
MENU_TO_UTF8,
|
||||
MENU_COUNT_WORDS,
|
||||
MENU_TEST,
|
||||
|
||||
@@ -111,6 +111,8 @@ wxMenuBar *MakeMenu(int type)
|
||||
lexicon_menu = new wxMenu;
|
||||
lexicon_menu->Append(MENU_LEXICON_RU, _("Russian (lexicon.dict)"));
|
||||
lexicon_menu->Append(MENU_LEXICON_DE, _("German"));
|
||||
lexicon_menu->Append(MENU_LEXICON_IT, _("Italian"));
|
||||
lexicon_menu->Append(MENU_LEXICON_IT2, _("Italian, pass 2"));
|
||||
|
||||
tools_menu = new wxMenu;
|
||||
tools_menu->Append(MENU_VOWELCHART, _("Make &Vowels Chart"), vowelchart_menu);
|
||||
|
||||
@@ -306,6 +306,8 @@ const wchar_t *wcschr(const wchar_t *str, int c)
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
#ifndef WINCE
|
||||
// wcslen() is provided by WINCE, but not the other wchar functions
|
||||
const int wcslen(const wchar_t *str)
|
||||
{
|
||||
int ix=0;
|
||||
@@ -316,6 +318,7 @@ const int wcslen(const wchar_t *str)
|
||||
}
|
||||
return(ix);
|
||||
}
|
||||
#endif
|
||||
|
||||
float wcstod(const wchar_t *str, wchar_t **tailptr)
|
||||
{
|
||||
|
||||
@@ -883,5 +883,8 @@ int main (int argc, char **argv)
|
||||
fprintf(stderr,"-w option must be used because the program was built without a sound interface\n");
|
||||
#endif // USE_PORTAUDIO
|
||||
}
|
||||
|
||||
if((f_trans != stdout) && (f_trans != stderr))
|
||||
fclose(f_trans); // needed for WinCe
|
||||
return(0);
|
||||
}
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@
|
||||
#include "translate.h"
|
||||
#include "wave.h"
|
||||
|
||||
const char *version_string = "1.40.11 13.Mar.09";
|
||||
const char *version_string = "1.40.13 5.Apr.09";
|
||||
const int version_phdata = 0x014000;
|
||||
|
||||
int option_device_number = -1;
|
||||
|
||||
+14
-1
@@ -101,7 +101,7 @@ typedef struct {
|
||||
unsigned char klattp[N_KLATTP];
|
||||
} frame_t;
|
||||
|
||||
typedef struct {
|
||||
typedef struct { // 43 bytes
|
||||
short frflags;
|
||||
unsigned char length;
|
||||
unsigned char rms;
|
||||
@@ -112,6 +112,19 @@ typedef struct {
|
||||
} frame_t2; // the original, without Klatt additions, used for file "phondata"
|
||||
|
||||
|
||||
typedef struct { // 44 bytes
|
||||
short frflags;
|
||||
short ffreq[7];
|
||||
unsigned char length;
|
||||
unsigned char rms;
|
||||
unsigned char fheight[8];
|
||||
unsigned char fwidth[6]; // width/4 f0-5
|
||||
unsigned char fright[3]; // width/4 f0-2
|
||||
unsigned char bw[4]; // Klatt bandwidth BNZ, f1,f2,f3
|
||||
unsigned char klattp[5]; // AV, FNZ, Tilt, spare, spare (Aspr, Skew ?)
|
||||
} frame_t3; // TESTING
|
||||
|
||||
|
||||
|
||||
// formant data used by wavegen
|
||||
typedef struct {
|
||||
|
||||
@@ -325,7 +325,7 @@ Translator *SelectTranslator(const char *name)
|
||||
|
||||
case L('d','e'):
|
||||
{
|
||||
static const short stress_lengths_de[8] = {150,130, 190,190, 0, 0, 260,275};
|
||||
static const short stress_lengths_de[8] = {150,130, 200,200, 0, 0, 260,275};
|
||||
tr->langopts.stress_rule = 0;
|
||||
tr->langopts.word_gap = 0x8; // don't use linking phonemes
|
||||
tr->langopts.vowel_pause = 0x30;
|
||||
@@ -636,6 +636,7 @@ SetLengthMods(tr,3); // all equal
|
||||
|
||||
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
|
||||
tr->langopts.stress_rule = 2;
|
||||
tr->langopts.stress_flags = 0x10 | 0x20000;
|
||||
tr->langopts.vowel_pause = 1;
|
||||
tr->langopts.unstressed_wd1 = 2;
|
||||
tr->langopts.unstressed_wd2 = 2;
|
||||
@@ -643,22 +644,24 @@ SetLengthMods(tr,3); // all equal
|
||||
tr->langopts.param[LOPT_IT_DOUBLING] = 2; // double the first consonant if the previous word ends in a stressed vowel
|
||||
tr->langopts.param[LOPT_SONORANT_MIN] = 130; // limit the shortening of sonorants before short vowels
|
||||
tr->langopts.param[LOPT_REDUCE] = 1; // reduce vowels even if phonemes are specified in it_list
|
||||
tr->langopts.param[LOPT_ALT] = 2; // call ApplySpecialAttributes2() if a word has $alt or $alt2
|
||||
tr->langopts.numbers = 0x2709 + NUM_ROMAN;
|
||||
tr->langopts.accents = 2; // Say "Capital" after the letter.
|
||||
SetLetterVowel(tr,'y');
|
||||
}
|
||||
break;
|
||||
|
||||
case L_jbo: // Lojban
|
||||
{
|
||||
static const short stress_lengths_jbo[8] = {145,145, 170,160, 0,0, 330,350};
|
||||
static const wchar_t jbo_punct_within_word[] = {'.',',','\'',0x2c8,0}; // allow period and comma within a word, also stress marker (from LOPT_SYLLABLE_CAPS)
|
||||
static const wchar_t jbo_punct_within_word[] = {'.',',','\'',0x2c8,0}; // allow period and comma within a word, also stress marker (from LOPT_CAPS_IN_WORD)
|
||||
|
||||
SetupTranslator(tr,stress_lengths_jbo,NULL);
|
||||
tr->langopts.stress_rule = 2;
|
||||
tr->langopts.vowel_pause = 0x20c; // pause before a word which starts with a vowel, or after a word which ends in a consonant
|
||||
// tr->langopts.word_gap = 1;
|
||||
tr->punct_within_word = jbo_punct_within_word;
|
||||
tr->langopts.param[LOPT_SYLLABLE_CAPS] = 1; // capitals indicate stressed syllables
|
||||
tr->langopts.param[LOPT_CAPS_IN_WORD] = 2; // capitals indicate stressed syllables
|
||||
SetLetterVowel(tr,'y');
|
||||
}
|
||||
break;
|
||||
|
||||
+8
-3
@@ -1203,6 +1203,11 @@ strcpy(phonemes2,phonemes);
|
||||
dictionary_flags[0] |= FLAG_DOT;
|
||||
}
|
||||
|
||||
if((tr->langopts.param[LOPT_ALT] & 2) && ((dictionary_flags[0] & (FLAG_ALT_TRANS | FLAG_ALT2_TRANS)) != 0))
|
||||
{
|
||||
ApplySpecialAttribute2(tr,word_phonemes,dictionary_flags[0]);
|
||||
}
|
||||
|
||||
return(dictionary_flags[0]);
|
||||
} // end of TranslateWord
|
||||
|
||||
@@ -1508,7 +1513,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa
|
||||
if(pre_pause < 1)
|
||||
pre_pause = 1;
|
||||
}
|
||||
if((flags & FLAG_PREPAUSE) && (tr->prepause_timeout == 0))
|
||||
if((flags & FLAG_PREPAUSE) && ((word_flags && FLAG_LAST_WORD) == 0) && (tr->prepause_timeout == 0))
|
||||
{
|
||||
// the word is marked in the dictionary list with $pause
|
||||
if(pre_pause < 4) pre_pause = 4;
|
||||
@@ -2296,9 +2301,9 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
|
||||
{
|
||||
c = towlower2(c);
|
||||
|
||||
if(tr->langopts.param[LOPT_SYLLABLE_CAPS])
|
||||
if((j = tr->langopts.param[LOPT_CAPS_IN_WORD]) > 0)
|
||||
{
|
||||
if(syllable_marked == 0)
|
||||
if((j == 2) && (syllable_marked == 0))
|
||||
{
|
||||
char_inserted = c;
|
||||
c = 0x2c8; // stress marker
|
||||
|
||||
+7
-3
@@ -240,7 +240,7 @@ extern const int param_defaults[N_SPEECH_PARAM];
|
||||
|
||||
|
||||
|
||||
#define N_LOPTS 15
|
||||
#define N_LOPTS 16
|
||||
#define LOPT_DIERESES 1
|
||||
// 1=remove [:] from unstressed syllables, 2= remove from unstressed or non-penultimate syllables
|
||||
// bit 4=0, if stress < 4, bit 4=1, if not the highest stress in the word
|
||||
@@ -283,13 +283,16 @@ extern const int param_defaults[N_SPEECH_PARAM];
|
||||
// change [t] when followed by unstressed vowel
|
||||
#define LOPT_REDUCE_T 12
|
||||
|
||||
// stressed syllable is indicated by capitals
|
||||
#define LOPT_SYLLABLE_CAPS 13
|
||||
// 1 = allow capitals inside a word
|
||||
// 2 = stressed syllable is indicated by capitals
|
||||
#define LOPT_CAPS_IN_WORD 13
|
||||
|
||||
// bit 0=Italian "syntactic doubling" of consoants in the word after a word marked with $double attribute
|
||||
// bit 1=also after a word which ends with a stressed vowel
|
||||
#define LOPT_IT_DOUBLING 14
|
||||
|
||||
// Call ApplySpecialAttributes() if $alt or $alt2 is set for a word
|
||||
#define LOPT_ALT 15
|
||||
|
||||
|
||||
typedef struct {
|
||||
@@ -562,6 +565,7 @@ int LookupDictList(Translator *tr, char **wordptr, char *ph_out, unsigned int *f
|
||||
void MakePhonemeList(Translator *tr, int post_pause, int new_sentence);
|
||||
int ChangePhonemes_ru(Translator *tr, PHONEME_LIST2 *phlist, int n_ph, int index, PHONEME_TAB *ph, CHANGEPH *ch);
|
||||
void ApplySpecialAttribute(Translator *tr, char *phonemes, int dict_flags);
|
||||
void ApplySpecialAttribute2(Translator *tr, char *phonemes, int dict_flags);
|
||||
void AppendPhonemes(Translator *tr, char *string, int size, const char *ph);
|
||||
|
||||
void CalcLengths(Translator *tr);
|
||||
|
||||
+2
-1
@@ -454,7 +454,8 @@ void TranslDlg::OnCommand(wxCommandEvent& event)
|
||||
t_phonetic->AppendText(wxString(buf,wxConvUTF8));
|
||||
}
|
||||
t_phonetic->AppendText(_T("---\n"));
|
||||
fclose(f_trans);
|
||||
if(f_trans != NULL)
|
||||
fclose(f_trans);
|
||||
remove(fname_temp);
|
||||
}
|
||||
t_phonetic->AppendText(wxString(phon_out,wxConvLocal));
|
||||
|
||||
+1
-1
@@ -40,7 +40,7 @@ typedef struct {
|
||||
int formant_factor; // adjust nominal formant frequencies by this because of the voice's pitch (256ths)
|
||||
int consonant_amp; // amplitude of unvoiced consonants
|
||||
int consonant_ampv; // amplitude of the noise component of voiced consonants
|
||||
int klatt[8];
|
||||
int klattv[8];
|
||||
|
||||
// parameters used by Wavegen
|
||||
short freq[N_PEAKS]; // 100% = 256
|
||||
|
||||
+4
-4
@@ -387,7 +387,7 @@ void VoiceReset(int tone_only)
|
||||
voice->voicing = 64;
|
||||
voice->consonant_amp = 100;
|
||||
voice->consonant_ampv = 100;
|
||||
memset(voice->klatt,0,sizeof(voice->klatt));
|
||||
memset(voice->klattv,0,sizeof(voice->klattv));
|
||||
memset(speed.fast_settings,0,sizeof(speed.fast_settings));
|
||||
|
||||
#ifdef PLATFORM_RISCOS
|
||||
@@ -880,8 +880,8 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
break;
|
||||
|
||||
case V_KLATT:
|
||||
Read8Numbers(p,voice->klatt);
|
||||
voice->klatt[KLATT_Kopen] -= 40;
|
||||
Read8Numbers(p,voice->klattv);
|
||||
voice->klattv[KLATT_Kopen] -= 40;
|
||||
break;
|
||||
|
||||
case V_FAST:
|
||||
@@ -1562,7 +1562,7 @@ static void GetVoices(const char *path)
|
||||
DIR *dir;
|
||||
struct dirent *ent;
|
||||
|
||||
if((dir = opendir(path)) == NULL)
|
||||
if((dir = opendir((char *)path)) == NULL) // note: (char *) is needed for WINCE
|
||||
return;
|
||||
|
||||
while((ent = readdir(dir)) != NULL)
|
||||
|
||||
Reference in New Issue
Block a user