mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 05:35:35 +00:00
[1.46.47]
Fix bug in SAPI5 version: speed suddenly changes to very slow when speaking a word which contains foreign characters. Language changes: da, fa, hu, pt, ur. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@313 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
+18
-17
@@ -67,7 +67,7 @@ _? spWrgsmVlstajn
|
||||
_! udRVbstejn
|
||||
_- binnesdrai
|
||||
__ b'Onsdrai
|
||||
& Vw
|
||||
& _Vw
|
||||
£ pun?
|
||||
€ euro
|
||||
© kVpirajt
|
||||
@@ -117,8 +117,8 @@ _6X t*'Es // PB changed from e to E
|
||||
_7X h&lfj'&rs // PV a changed to &
|
||||
_8X f'irs
|
||||
_9X h&lf'Ems // PB a changed to &
|
||||
_0C h'un*@:D
|
||||
_1C ed||h'unR@:D // PB added 'et hundrede'
|
||||
_0C h'un*VD
|
||||
_1C ed||h'unRV:D // PB added 'et hundrede'
|
||||
_0M1 t'u:s@-n
|
||||
_1M1 ed||t'u:s@-n // PB added 'et' to tusind
|
||||
_1M2 'e:n||milij'o:n
|
||||
@@ -177,8 +177,8 @@ for
|
||||
fordi fVd'i $pause // because - PB: changed stress
|
||||
når nVr $pause // while
|
||||
der dEr $u+ $u // PB changed from [dA]
|
||||
hvor v'Vr // where
|
||||
hvorfor vVf'V // why - final r deleted
|
||||
hvor v'O // where
|
||||
hvorfor v?Of'?V // why - final r deleted
|
||||
|
||||
// prepositions
|
||||
på pO $u
|
||||
@@ -187,16 +187,16 @@ fra $u+ // from
|
||||
ved $u+ // at
|
||||
om $u+ $brk // about, within
|
||||
med $u+ // with
|
||||
af &_| // PB changed from [a?] to [&] - sound too short in a sentence
|
||||
af & // PB changed from [a?] to [&] - sound too short in a sentence
|
||||
// Also removed $u from 'af' and other words. They disappeared.
|
||||
ad &: // PB added 'ad'
|
||||
ad & // PB added 'ad'
|
||||
ad &D $atend $sentence // PB "Det må ikke skille os ad."
|
||||
at &: $u // PB changed from [at] to [&:]
|
||||
at & $u // PB changed from [at] to [&:]
|
||||
hos // at - PB: removed [$u+]
|
||||
som sVm $u // which / that - PB: removed [$u+]
|
||||
|
||||
// pronouns
|
||||
jeg jai $u+ // I
|
||||
jeg jaj $u+ // I
|
||||
du du $u
|
||||
de $u
|
||||
han $u
|
||||
@@ -272,11 +272,11 @@ q ku
|
||||
r Er
|
||||
s es
|
||||
//t te: mooved to da_rules because of clash with T-shirt
|
||||
u u?
|
||||
u u
|
||||
v ve
|
||||
w d'Vbeltve:
|
||||
x Eks
|
||||
y Y?
|
||||
y y
|
||||
z sEt
|
||||
ø W
|
||||
|
||||
@@ -7196,6 +7196,7 @@ suffler $alt
|
||||
suggerer $alt
|
||||
sulfoner $alt
|
||||
summere $alt
|
||||
opsummere $alt
|
||||
superviser $alt
|
||||
suppler $alt
|
||||
supponer $alt
|
||||
@@ -7303,7 +7304,7 @@ valuter $alt
|
||||
vandaliser $alt
|
||||
varedeklarer $alt
|
||||
varier $alt
|
||||
vatter $alt
|
||||
vattere $alt
|
||||
vegeter $alt
|
||||
ventilere $alt
|
||||
verbaliser $alt
|
||||
@@ -11142,7 +11143,7 @@ rejiceres rejis'eVs // PB
|
||||
rejicering rejis'eRiN // PB
|
||||
nogle n'o:@-n // PB English: 'some' - must be pronounced like the Danish word 'nogen'
|
||||
nogen n'o:@-n // PB
|
||||
ligesom lisVm // PB
|
||||
ligesom l?isVm // PB
|
||||
bliver blir // PB
|
||||
konfirmand kVnferm'&nd // PB
|
||||
konfirmander kVnferm'&nd3 // PB
|
||||
@@ -11286,12 +11287,12 @@ steget ste@d
|
||||
// PB problem with noun "hav" = ocean and verb "hav(e)" = to have [hAu]/[h&v]
|
||||
(et hav) ed||h'Au // PB "et hav" = an ocean - not "hav en god dag" - have a nice day
|
||||
// PB legende = legend/myth and = playing
|
||||
(en legende) en||leg'End@
|
||||
legenden leg'End@n
|
||||
(en legende) en||leg'End@-
|
||||
legenden leg'End@-n
|
||||
legender leg'EndV
|
||||
legenders leg'EndVs
|
||||
legenderne leg'EndVn3
|
||||
legenderne leg'EndVn3s
|
||||
legenderne leg'EndVn@-
|
||||
legendernes leg'EndVn@-s
|
||||
// PB verb "forsyne" noun "forsyn" - stress problem
|
||||
(et forsyn) ed||f'Vrsyn
|
||||
(forsynet har) f'Vrsyn@d||hAr
|
||||
|
||||
+7404
-7379
File diff suppressed because it is too large
Load Diff
+12
-12
@@ -53,12 +53,12 @@ p r s S t T v w
|
||||
x z
|
||||
|
||||
|
||||
Dictionary da_dict 2013-03-06
|
||||
Dictionary da_dict 2013-03-13
|
||||
|
||||
& &# 0 3 ?& ?&# ?0 ?a
|
||||
?A ?e ?E ?i ?o ?O ?u ?V
|
||||
?W ?W# ?y @ @- a A aI
|
||||
e E i I o O u V
|
||||
& &# 0 3 ?& ?&# ?0 ?A
|
||||
?e ?E ?i ?o ?O ?u ?V ?W
|
||||
?W# ?y @ @- a A aI e
|
||||
E i I n- o O u V
|
||||
W W# y Y
|
||||
|
||||
* - 3- : ; ? b B
|
||||
@@ -68,7 +68,7 @@ r R R3 s S t T tS
|
||||
v w x z Z
|
||||
|
||||
|
||||
Dictionary hu_dict 2013-03-11
|
||||
Dictionary hu_dict 2013-03-12
|
||||
|
||||
a A a: e E e: i i:
|
||||
o o: u u: Y y y: Y:
|
||||
@@ -104,7 +104,7 @@ p Q r R s s; t T
|
||||
ts v x z
|
||||
|
||||
|
||||
Dictionary en_dict 2013-03-10
|
||||
Dictionary en_dict 2013-03-12
|
||||
|
||||
0 0# 3 3: @ @- @2 @5
|
||||
@L a a# A: A@ aa aI aI3
|
||||
@@ -117,8 +117,8 @@ oU O~ u U u: U@ V VR
|
||||
d# dZ f g h j k l
|
||||
l# l/ m n N n^ p Q
|
||||
q Q" r R r- R2 s S
|
||||
t T t2 tS v w x z
|
||||
Z z#
|
||||
t T t2 tS tS; v w x
|
||||
z Z z#
|
||||
|
||||
|
||||
Dictionary eo_dict 2013-03-08
|
||||
@@ -379,7 +379,7 @@ S s; S; t t; tS ts tS;
|
||||
ts; v w x z Z Z;
|
||||
|
||||
|
||||
Dictionary pt_dict 2013-03-11
|
||||
Dictionary pt_dict 2013-03-13
|
||||
|
||||
& &/ &U~ &~ @ @- a A
|
||||
aI aU e E eI EI eU EU
|
||||
@@ -603,7 +603,7 @@ N n^ p q R s S S;
|
||||
t tS v w x z
|
||||
|
||||
|
||||
Dictionary ur_dict 2013-03-09
|
||||
Dictionary ur_dict 2013-03-13
|
||||
|
||||
@ a a: aI aU e E e:
|
||||
i I i: O o: U u: V
|
||||
@@ -850,7 +850,7 @@ p p- ph q r R s t
|
||||
t- tS tS; w
|
||||
|
||||
|
||||
Dictionary fa_dict 2013-02-13
|
||||
Dictionary fa_dict 2013-03-12
|
||||
|
||||
a A e i o u
|
||||
|
||||
|
||||
+11
-4
@@ -274,7 +274,7 @@ _lo l'aU
|
||||
_ti tI2b'Et@n
|
||||
_my mj'A:nmA@
|
||||
_ka dZ'O@dZ@n
|
||||
_ko k3r'i@n
|
||||
_ko h'angul
|
||||
_eth i:TI'0pIk
|
||||
_ja dZ'ap@ni:z
|
||||
_zh tS'aIni:z
|
||||
@@ -308,11 +308,15 @@ _zh tS'aIni:z
|
||||
ш Sa
|
||||
щ StSa
|
||||
ъ jEr
|
||||
ы _^_RU
|
||||
ь jer
|
||||
ы j'Eru
|
||||
ь j'eri
|
||||
э E
|
||||
ю ju
|
||||
я ja
|
||||
ћ tS;E
|
||||
ђ djE
|
||||
ќ kjE
|
||||
|
||||
|
||||
// Arabic letters
|
||||
|
||||
@@ -1020,6 +1024,7 @@ canine keInaIn
|
||||
canoe k@nu:
|
||||
canoes k@nu:z
|
||||
canon kan@n
|
||||
?3 cantaloupe kant@loUp
|
||||
canton kant0n
|
||||
canvas kanv@s
|
||||
capita kapIt@
|
||||
@@ -1192,6 +1197,8 @@ conger k0Ng3
|
||||
congressional k@ngrES@n@L
|
||||
conker $1
|
||||
conscience k0nS@ns
|
||||
consort $1
|
||||
consort $verb
|
||||
constitute $1
|
||||
construct $1 $onlys
|
||||
construct $verb
|
||||
@@ -2621,7 +2628,7 @@ sierra si:'e@r@
|
||||
signage saInI2dZ
|
||||
signal sIgn@l // signaled
|
||||
signer saIn3
|
||||
signoff s,aIn'0f
|
||||
signoff s'aIn0f
|
||||
signon s,aIn'0n
|
||||
signup saInVp
|
||||
sikh si:k
|
||||
|
||||
+3
-3
@@ -387,6 +387,7 @@
|
||||
_r) adio (@P5 r,eIdI%oU
|
||||
r) adi (oL10+ eIdI
|
||||
b) ad (os_ eId
|
||||
_s) ado (ma ,eIdoU
|
||||
ad (iA eId
|
||||
s) ad (is eId
|
||||
_tr) ad (it a#d
|
||||
@@ -3382,6 +3383,7 @@
|
||||
&) ion (_ =i@n
|
||||
?8 &) ion (_ =IVn
|
||||
ll) ion i@n
|
||||
ll) ion (_ =i@n
|
||||
n) ion =i@n
|
||||
v) io (l aI@
|
||||
ione (_ 'aI@ni
|
||||
@@ -3572,7 +3574,6 @@
|
||||
_l) iv (eB aIv
|
||||
XC) iv (el Iv
|
||||
_g) iv (e Iv
|
||||
_l) iv (e Iv
|
||||
l) iv (er Iv
|
||||
r) iv (er Iv
|
||||
dr) iv (er aIv
|
||||
@@ -3753,8 +3754,7 @@
|
||||
_) metall (ic m@tal
|
||||
metabo m@t'ab0
|
||||
_) meta (llu m%Eta
|
||||
_) mobile moUbaIl
|
||||
mobile m@bi:l
|
||||
&) mobile m@bi:l
|
||||
mono (ga m@n'0
|
||||
mo (noto m@
|
||||
_) mono m0noU
|
||||
|
||||
+1653
-12
File diff suppressed because it is too large
Load Diff
+37
-6
@@ -23,13 +23,15 @@
|
||||
// Text to phoneme rules for Farsi
|
||||
|
||||
|
||||
// replace Arabic character numbers with Latin character numbers
|
||||
// replacing unknown characters and Arabic numbers with Farsi characters and Latin numbers
|
||||
.replace
|
||||
٪ %
|
||||
ي ی
|
||||
ۍ ی
|
||||
ى ی
|
||||
ك ک
|
||||
ە ه
|
||||
ھ ه
|
||||
٠ 0
|
||||
۰ 0
|
||||
۱ 1
|
||||
@@ -59,12 +61,12 @@
|
||||
.L01 آ ا ی ي و
|
||||
|
||||
// short vowels (commonly unwritten )
|
||||
.L02 َ ُ ِ ً ٌ ٍ ّ ؤ أ إ ء ۀ
|
||||
.L02 َ ُ ِ ْ ً ٌ ٍ ّ ؤ أ إ ء ۀ
|
||||
|
||||
// All consonants
|
||||
.L03 ب پ ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ف ق ک گ ل م ن ه ة ئ
|
||||
|
||||
// all Farsi characters without ا آ
|
||||
// all Farsi characters without ا آ and Short vowels
|
||||
.L04 ض ص ث ق ف غ ع ه خ ح ج چ ش س ی ب ل ت ن م ک گ ۀ ظ ط ز ر ذ د ئ و ة ي ژ ؤ إ أ ء ؟ پ
|
||||
|
||||
// Group one of consonants
|
||||
@@ -77,7 +79,7 @@
|
||||
.L07 ن م ت ش ک مان تان شان ند نده ندۀ ندگی ندگان گی گان گانه گانۀ ستان ست
|
||||
|
||||
// All vowels (long + Short)
|
||||
.L08 آ ا ی ي و َ ُ ِ ً ٌ ٍ ّ ؤ أ إ ء ۀ
|
||||
.L08 آ ا ی ي و َ ُ ِ ْ ً ٌ ٍ ّ ؤ أ إ ء ۀ
|
||||
|
||||
// all Farsi characters without short vowels
|
||||
.L09 ض ص ث ق ف غ ع ه خ ح ج چ ش س ی ب ل ا ت ن م ک گ ۀ آ ظ ط ز ر ذ د ئ و ة ي ژ پ ؤ إ أ ء ؟ ّ
|
||||
@@ -100,6 +102,9 @@
|
||||
L09L04) آلود (_Sm4 Alud
|
||||
L09L04) آباد (_Sm4 AbAd
|
||||
L09L04) آفرین (_Sm5 AfaRin
|
||||
L09L09) آموخته (_Sm6 Amuxte:
|
||||
L09L09) آموختۀ (_Sm6 Amuxteje
|
||||
L09L09) آگاه (_Sm4 AgAh
|
||||
|
||||
|
||||
.group ا
|
||||
@@ -108,7 +113,7 @@
|
||||
-) ا (للّه_+ o
|
||||
_) ا (L02_ alef?
|
||||
_) ا (L02L09
|
||||
_) ا (L01
|
||||
_) ا (L01L03
|
||||
_) ا 'a:
|
||||
_) ا (ع e
|
||||
ا 'A
|
||||
@@ -346,6 +351,8 @@
|
||||
L09L09) بخت (_Sm3 baxt
|
||||
L09L09) باش (_Sm3 bAS
|
||||
L09L09) بزرگ (_Sm4 bozoRg
|
||||
L09L09) باور (_Sm4 bAvaR
|
||||
L09L09) برانگیز (_Sm baRangiz
|
||||
|
||||
// arabic form of words (Babs) ب
|
||||
//فواعل eg. جوامع
|
||||
@@ -518,6 +525,7 @@
|
||||
L09L09) پرداز (_Sm5 paRdAz
|
||||
L09L09) پندار (_Sm5 pendAR
|
||||
L09L09) پرست (_Sm4 paRast
|
||||
L09L09) پناه (_Sm4 panAh
|
||||
|
||||
// arabic form of words (Babs) پ
|
||||
//فواعل eg. جوامع
|
||||
@@ -1670,6 +1678,7 @@
|
||||
L09L09) درد (_Sm3 daRd
|
||||
L09L09) دوش (_Sm3 duS
|
||||
L09L09) دهی (_Sm3 dehi
|
||||
L09L09) دوست (_Sm4 dust
|
||||
|
||||
// arabic form of words (Babs) د
|
||||
//فواعل eg. جوامع
|
||||
@@ -2473,6 +2482,7 @@
|
||||
// suffixes س
|
||||
L09L01) ست (_+NSm2 st
|
||||
L09L03) ست (_+NSm2 ast
|
||||
-) ست (_+NSm2 st // eg. "کجاست"
|
||||
L09L03) ستان (_Sm4 estAn
|
||||
L09L01) ستان (_Sm4 stAn
|
||||
L09L09) سان (_Sm3 sAn
|
||||
@@ -2826,7 +2836,7 @@
|
||||
// Prefixes ص
|
||||
_) صاحب (L04L09L09P4@ sAheb
|
||||
_) صاحب (آL09L09P4@ sAheb
|
||||
_) صدر (L04L09L09P5@ sadr
|
||||
_) صدر (L04L09L09P3@ sadr
|
||||
_) صدر (آL09L09P5@ sadr
|
||||
|
||||
// Suffixes ص
|
||||
@@ -4663,6 +4673,7 @@
|
||||
L09L01) مون (_Sm3 mun
|
||||
L09L09) مردان (_Sm5 maRdAn
|
||||
L09L09) منش (_Sm3 maneS
|
||||
L09L09) مآب (_Sm3 maAb
|
||||
|
||||
// arabic form of words (Babs) م
|
||||
//فواعل eg. جوامع
|
||||
@@ -5209,6 +5220,7 @@
|
||||
// Plural pronoun ها
|
||||
L09L09) های (_NSm3 h'Aje
|
||||
L09L09) هایی (_NSm4 h'Ai:
|
||||
L09L09) هائی (_NSm4 h'Ai:
|
||||
L09L09) هاست (_NSm4 h'Ast
|
||||
// Plural possessive pronouns for ها
|
||||
L09L09) هایم (_NSm4 hAjam
|
||||
@@ -5352,6 +5364,8 @@
|
||||
_ا) ی (_+ i
|
||||
L01) ی (_ je
|
||||
L03) ی (_ i
|
||||
ی (ٰ_
|
||||
ی (ٰL04 j
|
||||
_آ) ی (L03_ ja
|
||||
|
||||
// Prefixes ی
|
||||
@@ -5439,6 +5453,7 @@
|
||||
L09ع) یاتشان (_NSm6 ijjAteSAn
|
||||
L09L09) یزاسیون (_Sm7 isAsion
|
||||
L09L03) یافت (_Sm4 jAft
|
||||
-) یست (_+NSm3 ist // eg. "فردایست"
|
||||
|
||||
// arabic form of words (Babs) ی
|
||||
//فواعل eg. جوامع
|
||||
@@ -5518,6 +5533,8 @@
|
||||
|
||||
|
||||
.group ٔ
|
||||
L04) ٔ
|
||||
ا) ٔ a?
|
||||
ٔ
|
||||
|
||||
// suffixes ٔ
|
||||
@@ -5530,6 +5547,7 @@
|
||||
|
||||
|
||||
.group ئ
|
||||
ئی i:
|
||||
ئ (L01 ?
|
||||
ئ (L02 ?
|
||||
L02) ئ ?
|
||||
@@ -5560,6 +5578,13 @@
|
||||
//ة (L01 h
|
||||
ة t
|
||||
|
||||
|
||||
.group ٰ
|
||||
ٰ (L04 A
|
||||
ٰ (ا
|
||||
ٰ (آ
|
||||
|
||||
|
||||
//short vowels that are not usually written:
|
||||
|
||||
.group َ
|
||||
@@ -5583,6 +5608,12 @@
|
||||
L09L09) ُ (_Sm1 o
|
||||
|
||||
|
||||
.group ْ
|
||||
ْ
|
||||
// Suffixes "ْ"
|
||||
L09L09) ْ (_Sm1
|
||||
|
||||
|
||||
.group ً
|
||||
ً an
|
||||
// Suffixes "ً"
|
||||
|
||||
+2
-2
@@ -411,7 +411,7 @@ _tld tildE
|
||||
_#9 tAb
|
||||
_#32 s'o:kYz
|
||||
_cap n'AJ_|
|
||||
_?? kAR2AktEr||ko:d // unknown characters (change this)
|
||||
_?? kAR2AktEr // unknown characters (change this)
|
||||
|
||||
|
||||
// Abbreviations
|
||||
@@ -5419,7 +5419,6 @@ _″ duplA|ApostR2o:f
|
||||
≠ nEmEJEnlY:
|
||||
_ˇ lEfEle:n^i:l
|
||||
_¡ AlSo:indEks
|
||||
_braille bR2Ail:E
|
||||
|
||||
|
||||
// Alphabets
|
||||
@@ -5427,6 +5426,7 @@ _ar 'AR2Ab
|
||||
_cyr ts'iR2ill
|
||||
_he h'e:bER2
|
||||
_zh k'i:nAi
|
||||
_braille bR2Ail:E
|
||||
|
||||
|
||||
// Main Exceptions List
|
||||
|
||||
+3
-1
@@ -460,6 +460,7 @@ shetlan) d (szige d
|
||||
_tren) dsz (e d|s
|
||||
vakon) d (sz d
|
||||
vé) d (jeggy d
|
||||
své) d (zseb d
|
||||
|
||||
.group dz
|
||||
fogó) dz (kod ts
|
||||
@@ -1743,7 +1744,7 @@ fáklyá) sz (ene Sz
|
||||
para) szt (segg st
|
||||
azbe) szt (sisak st
|
||||
nyu) szt (süveg st
|
||||
serté) szs (ír SZ
|
||||
serté) szs (ír S|Z
|
||||
tá) szs (in SZ
|
||||
va) szs (ír SZ
|
||||
szs (ák SZ //All szsák part containing part need spokening single S and Z phoneme, for example kenyereszsák, pénzeszsák, krumpliszsák, cukroszsák words
|
||||
@@ -1763,6 +1764,7 @@ fáklyá) sz (ene Sz
|
||||
ellenállá) sz (ón Sz
|
||||
ré) sz (árás Sz
|
||||
_te) szts (or st|S
|
||||
serté) szs (ir S|Z
|
||||
|
||||
.group t
|
||||
t t
|
||||
|
||||
+45
-43
@@ -645,7 +645,7 @@ alcateia $alt
|
||||
alferes $alt
|
||||
algozes $alt
|
||||
alicerce $alt
|
||||
almoço $alt $verb
|
||||
almoço alt $verb
|
||||
amarelo $alt
|
||||
ameba $alt
|
||||
amores $alt2
|
||||
@@ -665,7 +665,7 @@ aterro $alt2 $noun
|
||||
atmosfera $alt
|
||||
atrozes $alt
|
||||
autora $alt2
|
||||
avesso $alt2
|
||||
avesso $alt2
|
||||
axé aSE
|
||||
baqueta $alt2
|
||||
beco $alt2
|
||||
@@ -674,6 +674,7 @@ besta $alt2
|
||||
bilhete $alt2
|
||||
boca $alt2
|
||||
bochecha $alt2
|
||||
boio $alt
|
||||
bojo $alt2
|
||||
boleia $alt
|
||||
bolero $alt
|
||||
@@ -690,7 +691,7 @@ cachorra $alt2
|
||||
caderneta $alt2
|
||||
camiseta $alt2
|
||||
cantora $alt2
|
||||
capacete $alt2
|
||||
capacete $alt2
|
||||
caractere $alt
|
||||
caramelo $alt
|
||||
careta $alt2
|
||||
@@ -702,27 +703,27 @@ cateto $alt2
|
||||
catorze $alt2
|
||||
cebola $alt2
|
||||
cefaleia $alt
|
||||
cerca $alt
|
||||
cerca $alt2 $noun
|
||||
cerca $alt
|
||||
cerca $alt2 $noun
|
||||
cerco $alt $verb
|
||||
chamego $alt2
|
||||
chefe $alt
|
||||
checam $alt
|
||||
checam $alt
|
||||
cheque $alt
|
||||
chinelo $alt
|
||||
choro $alt2 $noun
|
||||
chovesse $alt2
|
||||
chovesse $alt2
|
||||
chupeta $alt2
|
||||
clamores $alt2
|
||||
clero $alt
|
||||
coco $alt2
|
||||
cofre $alt
|
||||
cogumelo $alt
|
||||
cogumelo $alt
|
||||
coice $alt2
|
||||
colabore $alt
|
||||
colete $alt2
|
||||
colchete $alt2
|
||||
colher $alt $noun
|
||||
colchete $alt2
|
||||
colher $alt $noun
|
||||
colheres $alt $noun
|
||||
colmeia $alt
|
||||
colore $alt
|
||||
@@ -732,8 +733,8 @@ concerto $alt2 $noun
|
||||
concordo $alt
|
||||
conforto $alt $verb
|
||||
consolo $alt2 $noun
|
||||
controle $alt2 $noun
|
||||
controlo $alt2 $noun
|
||||
controle $alt2 $noun
|
||||
controlo $alt2 $noun
|
||||
coreia $alt
|
||||
corneta $alt2
|
||||
cornos $alt
|
||||
@@ -789,7 +790,7 @@ escroto $alt2
|
||||
esforço $alt $verb
|
||||
esforços $alt
|
||||
esgoto $alt2 $noun
|
||||
esgotos $alt2
|
||||
esgotos $alt2
|
||||
esperma $alt
|
||||
espeto $alt2 $noun
|
||||
espiroqueta $alt2
|
||||
@@ -820,11 +821,11 @@ fogos $alt
|
||||
foguete $alt2
|
||||
foice $alt2
|
||||
forca $alt2
|
||||
força $alt2 $noun
|
||||
força $alt2 $noun
|
||||
forças $alt2
|
||||
forço $alt
|
||||
fordes $alt2
|
||||
fores $alt2
|
||||
forço $alt
|
||||
fordes $alt2
|
||||
fores $alt2
|
||||
forro $alt $verb
|
||||
fosse $alt2
|
||||
frevo $alt2
|
||||
@@ -833,7 +834,7 @@ galileia $alt
|
||||
gameta $alt2
|
||||
geleia $alt
|
||||
gelo $alt $verb
|
||||
genebra $alt
|
||||
genebra $alt
|
||||
germe $alt
|
||||
gesso $alt2
|
||||
golpe $alt
|
||||
@@ -841,33 +842,33 @@ gonorreia $alt
|
||||
gorda $alt2
|
||||
gosto $alt $verb
|
||||
gota $alt2
|
||||
governo $alt2 $noun
|
||||
gozo $alt $verb
|
||||
governo $alt2 $noun
|
||||
gozo $alt2 $noun
|
||||
graveto $alt2
|
||||
grelha $alt
|
||||
groselha $alt
|
||||
grosso $alt2
|
||||
grozo $alt $verb
|
||||
hemorroida $alt
|
||||
hemorroida $alt
|
||||
hoje $alt2
|
||||
horrores $alt2
|
||||
ideia $alt
|
||||
insonoro $alt
|
||||
interesse $alt2 $noun
|
||||
jogo $alt2 $noun
|
||||
interesse $alt2 $noun
|
||||
jogo $alt2 $noun
|
||||
joguete $alt2
|
||||
lambreta $alt2
|
||||
lebre $alt
|
||||
leste $alt2 $verb
|
||||
lopes $alt
|
||||
maior $alt
|
||||
maior $alt
|
||||
maleta $alt2
|
||||
marcelo $alt
|
||||
marmelo $alt
|
||||
marreta $alt2
|
||||
martelo $alt
|
||||
melhor $alt
|
||||
menor $alt
|
||||
melhor $alt
|
||||
menor $alt
|
||||
merda $alt
|
||||
megera $alt
|
||||
melo $alt
|
||||
@@ -880,7 +881,7 @@ mexi meS'i
|
||||
mexo m'eSU
|
||||
minueto $alt2
|
||||
miolo $alt2
|
||||
miolos $alt
|
||||
miolos $alt
|
||||
moeda $alt
|
||||
molho $alt2 $noun
|
||||
monera $alt
|
||||
@@ -889,7 +890,7 @@ morda $alt2
|
||||
moreia $alt
|
||||
mortos $alt
|
||||
motora $alt2
|
||||
mulher $alt
|
||||
mulher $alt
|
||||
mui mwi
|
||||
muito mw'iNtU // -s is included as a suffix
|
||||
muita mw'iNt&
|
||||
@@ -907,17 +908,17 @@ onu $1
|
||||
olho $alt2 $noun
|
||||
opereta $alt2
|
||||
ordens $alt
|
||||
osso $alt2
|
||||
ossos $alt
|
||||
osso $alt2
|
||||
ossos $alt
|
||||
ostra $alt2
|
||||
ovos $alt
|
||||
pachorra $alt2
|
||||
paexa paeSa
|
||||
palacete $alt2
|
||||
palheta $alt2
|
||||
panfleto $alt2
|
||||
panfleto $alt2
|
||||
pangeia $alt
|
||||
panqueca p,&~Nk'Ek&
|
||||
panqueca p,&~Nk'Ek&
|
||||
pantera $alt
|
||||
paralelo $alt
|
||||
parede $alt2
|
||||
@@ -929,8 +930,9 @@ pelo $alt $verb
|
||||
peso $alt $verb
|
||||
piloto $alt2 $noun
|
||||
pintora $alt2
|
||||
pior $alt
|
||||
pior $alt
|
||||
pirueta $alt2
|
||||
plaqueta $alt2
|
||||
plateia $alt
|
||||
plebeia $alt
|
||||
polca $alt
|
||||
@@ -944,7 +946,7 @@ poxa p'oS&
|
||||
primavera $alt
|
||||
provo $alt
|
||||
quarteto $alt2
|
||||
queda $alt
|
||||
queda $alt
|
||||
quinteto $alt2
|
||||
recomeço $alt2 $noun
|
||||
recordo $alt
|
||||
@@ -959,7 +961,7 @@ reitora $alt2
|
||||
relevo $alt2 $noun
|
||||
remorso $alt
|
||||
reprovo $alt
|
||||
retorno $alt $verb
|
||||
retorno $alt $verb
|
||||
rixa x'iS&
|
||||
rocha $alt
|
||||
rock $alt
|
||||
@@ -970,9 +972,9 @@ saleta $alt2
|
||||
sarjeta $alt
|
||||
seborreia $alt
|
||||
seca $alt2 $noun
|
||||
secas $alt2
|
||||
secas $alt2
|
||||
seco $alt2
|
||||
seco $alt $verb
|
||||
seco $alt $verb
|
||||
selo $alt $verb
|
||||
selvagem seUv'aZeIN
|
||||
sexteto $alt2
|
||||
@@ -985,14 +987,14 @@ sogra $alt
|
||||
sopro $alt2 $noun
|
||||
soro $alt2
|
||||
sorvete $alt2
|
||||
sossego $alt2 $noun
|
||||
sossego $alt2 $noun
|
||||
suborno $alt $verb
|
||||
sufoco $alt2 $noun
|
||||
sufocos $alt2
|
||||
suporto $alt
|
||||
suor swOr
|
||||
tapete $alt2
|
||||
temores $alt2
|
||||
temores $alt2
|
||||
tempero $alt2 $noun
|
||||
terrores $alt2
|
||||
teta $alt2
|
||||
@@ -1001,8 +1003,8 @@ tocha $alt
|
||||
toga $alt
|
||||
topo $alt $verb
|
||||
torno $alt $verb
|
||||
torre $alt2 $noun
|
||||
torres $alt2
|
||||
torre $alt2 $noun
|
||||
torres $alt2
|
||||
tortos $alt
|
||||
traqueia $alt
|
||||
travesso $alt2
|
||||
@@ -1012,13 +1014,13 @@ troco $alt2 $noun
|
||||
tropa $alt
|
||||
tropeço $alt2 $noun
|
||||
trombeta $alt2
|
||||
tumores $alt2
|
||||
tumores $alt2
|
||||
valeta $alt2
|
||||
vanessa $alt2
|
||||
velozes $alt
|
||||
verme $alt
|
||||
violeta $alt2
|
||||
violoncelo $alt
|
||||
violoncelo $alt
|
||||
voga $alt
|
||||
vozes $alt
|
||||
xarope $alt
|
||||
|
||||
+29
-25
@@ -349,7 +349,7 @@
|
||||
_d) e (L05_ E
|
||||
_vi) e (L05_ E
|
||||
fiz) e (L05_ E
|
||||
pus) e (L05_ E / com- im- de-
|
||||
pus) e (L05_ E // com- im- de-
|
||||
tiv) e (L05_ E // es-
|
||||
_com) e (L05_ e
|
||||
_pud) e (L05_ E
|
||||
@@ -359,34 +359,34 @@
|
||||
_perd) e (L05_ e
|
||||
_quis) e (L05_ E
|
||||
_soub) e (L05_ E
|
||||
tend) e (L06_ e / a- con- en- es-
|
||||
tend) e (L06_ e // a- con- en- es-
|
||||
_mord) e (L06_ e
|
||||
_rend) e (L06_ e
|
||||
_vend) e (L06_ e
|
||||
prend) e (L06_ e / a- rea- des- desa-
|
||||
prend) e (L06_ e // a- rea- des- desa-
|
||||
_arrepend) e (L06_ e
|
||||
_defend) e (L06_ e
|
||||
_depend) e (L06_ e
|
||||
_escond) e (L06_ e
|
||||
preend) e (L06_ e / com- a- re- sur-
|
||||
preend) e (L06_ e // com- a- re- sur-
|
||||
respond) e (L06_ e // cor-
|
||||
bat) e (L07_ e // re- com-
|
||||
ced) e (L07_ e // pro- con- su-
|
||||
met) e (L07_ e // co- pro- arre- re- intro- compro- sub-
|
||||
mov) e (L07_ e / re- co-
|
||||
mov) e (L07_ e // re- co-
|
||||
viv) e (L07_ e // re-
|
||||
_beb) e (L07_ e
|
||||
_com) e (L07_ e
|
||||
_tem) e (L07_ e
|
||||
colh) e (L07_ e // & es-
|
||||
corr) e (L07_ e // per- con- in- so- dis-
|
||||
ench) e (L07_ e / pre-
|
||||
nasc) e (L07_ e / re-
|
||||
tend) e (L07_ e / en- con- a- es-
|
||||
ench) e (L07_ e // pre-
|
||||
nasc) e (L07_ e // re-
|
||||
tend) e (L07_ e // en- con- a- es-
|
||||
torc) e (L07_ e // con-
|
||||
venc) e (L07_ e // con-
|
||||
vert) e (L07_ e // in- re- con-
|
||||
volv) e (L07_ e de- en- re-
|
||||
volv) e (L07_ e // de- en- re-
|
||||
_eleg) e (L07_ e
|
||||
_ergu) e (L07_ e
|
||||
_mord) e (L07_ e
|
||||
@@ -397,7 +397,7 @@ respond) e (L06_ e // cor-
|
||||
padec) e (L07_ e // com-
|
||||
parec) e (L07_ e // a- rea- com- desa-
|
||||
prend) e (L07_ e // a- rea- des-
|
||||
screv) e (L07_ e / e- in- ree- pre- de-
|
||||
screv) e (L07_ e // e- in- ree- pre- de-
|
||||
_abastec) e (L07_ e
|
||||
_aborrec) e (L07_ e
|
||||
_absolv) e (L07_ e
|
||||
@@ -430,11 +430,11 @@ _rejuvenec) e (L07_ e
|
||||
_resolv) e (L07_ e
|
||||
_suspend) e (L07_ e
|
||||
conhec) e (L07_ e // & re- des-
|
||||
estabelec) e (L07_ e / re-
|
||||
favorec) e (L07_ e / des-
|
||||
obedec) e (L07_ e / des-
|
||||
estabelec) e (L07_ e // re-
|
||||
favorec) e (L07_ e // des-
|
||||
obedec) e (L07_ e // des-
|
||||
preend) e (L07_ e // sur- com-
|
||||
proteg) e (L07_ e / des-
|
||||
proteg) e (L07_ e // des-
|
||||
respond) e (L07_ e // cor-
|
||||
qu) e (brL04_ E
|
||||
_hosp) e (dL03_ E
|
||||
@@ -442,6 +442,8 @@ respond) e (L07_ e // cor-
|
||||
_n) e (grL03_ e
|
||||
_estr) ei (L03_ EI
|
||||
_inv) e (jL04_ E
|
||||
proteg) e (l05_ e // des-
|
||||
tr) e (pL04_ E // es-
|
||||
_dec) e (pL04_ E
|
||||
_in) e (ptL03_ E
|
||||
_p) e (quL02_ E
|
||||
@@ -451,14 +453,14 @@ respond) e (L07_ e // cor-
|
||||
_sev) e (rL03_ E
|
||||
_reit) e (rL03_ E
|
||||
_sinc) e (rL03_ E
|
||||
g) e (rL04_ E / su- refri-
|
||||
qu) e (rL04_ E / re-
|
||||
g) e (rL04_ E // su- refri-
|
||||
qu) e (rL04_ E // re-
|
||||
_op) e (rL04_ E
|
||||
_alt) e (rL04_ E
|
||||
_sup) e (rL04_ E
|
||||
_tol) e (rL04_ E
|
||||
_ven) e (rL04_ E
|
||||
acel) e (rL04_ E / des-
|
||||
acel) e (rL04_ E // des-
|
||||
_coop) e (rL04_ E
|
||||
_temp) e (rL04_ E
|
||||
_v) e (rbL03_ E
|
||||
@@ -494,13 +496,13 @@ _obsol) e (tL03_ e
|
||||
_d) e (vL03_ e
|
||||
scr) e (vL03_ e // e- in- pre- ree- de-
|
||||
_atr) e (vL03_ e
|
||||
pr) e (zL04_ E / des- menos-
|
||||
pr) e (zL04_ E // des- menos-
|
||||
_embel) e (zL04_ E
|
||||
_acont) e (çL01_ e
|
||||
_arref) e (çL01_ e
|
||||
_emagr) e (çL03
|
||||
pr) e (çL03_ e / a-
|
||||
mer) e (çL03_ e / des-
|
||||
pr) e (çL03_ e // a-
|
||||
mer) e (çL03_ e // des-
|
||||
pad) e (çL03_ e // com-
|
||||
par) e (çL03_ e // a- re- com- rea- desa-
|
||||
_ado) e (çL03_ e
|
||||
@@ -508,7 +510,7 @@ _emagr) e (çL03
|
||||
_car) e (çL03_ e
|
||||
_per) e (çL03_ e_
|
||||
conh) e (çL03_ e // re-
|
||||
obed) e (çL03_ e / des-
|
||||
obed) e (çL03_ e // des-
|
||||
_esqu) e (çL03_ e
|
||||
_forn) e (çL03_ e
|
||||
_ofer) e (çL03_ e
|
||||
@@ -518,6 +520,7 @@ _agrad) e (çL03_ e
|
||||
_amanh) e (çL03_ e
|
||||
_amort) e (çL03_ e
|
||||
_anoit) e (çL03_ e
|
||||
_desguarn) e (çL03_ e
|
||||
_desguarnec) e (çL03_ e
|
||||
_enfraqu) e (çL03_ e
|
||||
_enlouqu) e (çL03_ e
|
||||
@@ -531,7 +534,7 @@ _espair) e (çL03_ e
|
||||
_estrem) e (çL03_ e
|
||||
_fortal) e (çL03_ e
|
||||
_rejuven) e (çL03_ e
|
||||
estabel) e (çL03_ e / re-
|
||||
estabel) e (çL03_ e // re-
|
||||
//endsort
|
||||
|
||||
|
||||
@@ -828,17 +831,17 @@ estabel) e (çL03_ e / re-
|
||||
_deb) o (chL04_ O
|
||||
_desabr) o (chL04_ O
|
||||
_s) o (frL02_ O
|
||||
r) o (gL04_ O / inter-
|
||||
r) o (gL04_ O // inter-
|
||||
_j) o (gL04_ O
|
||||
_af) o (gL04_ O
|
||||
_adv) o (gL04_ O
|
||||
_ref) o (gL04_ O
|
||||
_ap) oi (L01_ OI
|
||||
_t) o (lL03_ o
|
||||
c) o (lhL02_ O / es- en- re-
|
||||
c) o (lhL02_ O // es- en- re-
|
||||
_t) o (lhL02_ O
|
||||
_m) o (lhL04_ O
|
||||
env) o (lvL02_ O / des-
|
||||
env) o (lvL02_ O // des-
|
||||
_abs) o (lvL02_ O
|
||||
_dev) o (lvL02_ O
|
||||
_res) o (lvL02_ O
|
||||
@@ -854,6 +857,7 @@ _desabr) o (chL04_ O
|
||||
_r) o (snL04_ O
|
||||
_c) o (spL02_ O
|
||||
p) ostos (_ Ost=Us# // dispostos etc.
|
||||
_g) o (zL04_ O
|
||||
_ad) o (çL03_ O
|
||||
_end) o (çL03_ O
|
||||
//endsort
|
||||
|
||||
+18
-17
@@ -14,7 +14,7 @@ consonants 11 119
|
||||
af 39 138
|
||||
cy 29 134
|
||||
ga 29 133
|
||||
de 41 141
|
||||
de 40 140
|
||||
eo 13 116
|
||||
jbo 2 116
|
||||
nci 3 125
|
||||
@@ -66,7 +66,7 @@ consonants 11 119
|
||||
id 15 127
|
||||
sq 33 127
|
||||
hy 23 119
|
||||
da 46 139
|
||||
da 45 138
|
||||
ka 20 115
|
||||
fa 9 112
|
||||
rw 15 132
|
||||
@@ -448,9 +448,11 @@ l/l_ [l] base
|
||||
[l/] base
|
||||
[l/3] base
|
||||
[l/] fr
|
||||
[l/3] da
|
||||
l/l_@ [l/3] base
|
||||
[l/] fr
|
||||
l/l@ [¨ì,] base
|
||||
[l/3] da
|
||||
l/l@ [¨|8] base
|
||||
[l#] base
|
||||
[l] fr
|
||||
[l/2] fr
|
||||
@@ -484,7 +486,7 @@ l/L2_oL [l/2] base
|
||||
l/L2_uL [l/2] base
|
||||
l/l_3 [l/] de
|
||||
l/l_4 [ll] sq
|
||||
l/la [¨ì,] base
|
||||
l/la [¨|8] base
|
||||
[l#] base
|
||||
[l] fr
|
||||
[l/2] fr
|
||||
@@ -492,7 +494,8 @@ l/la [
|
||||
[K] tn
|
||||
l/l_a [l/3] base
|
||||
[l/] fr
|
||||
l/le [¨ì,] base
|
||||
[l/3] da
|
||||
l/le [¨|8] base
|
||||
[l#] base
|
||||
[l] fr
|
||||
[l/2] fr
|
||||
@@ -500,11 +503,12 @@ l/le [
|
||||
[K] tn
|
||||
l/l_e [l/3] base
|
||||
[l/] fr
|
||||
[l/3] da
|
||||
l/L_eL_af [&] af
|
||||
[&:] af
|
||||
l/l_front [L] sq
|
||||
l/l_front_ [l/4] sq
|
||||
l/li [¨ì,] base
|
||||
l/li [¨|8] base
|
||||
[l#] base
|
||||
[l] fr
|
||||
[l/2] fr
|
||||
@@ -514,22 +518,24 @@ l/li [
|
||||
l/l_i [l/3] base
|
||||
[l/] fr
|
||||
[i] sq
|
||||
[l/3] da
|
||||
ll/ll [L] base
|
||||
ll/_ll [L] base
|
||||
l/l_long [l] base
|
||||
[l] fr
|
||||
l/lo [¨ì,] base
|
||||
l/lo [¨|8] base
|
||||
[l#] base
|
||||
[l/2] fr
|
||||
[K] nso
|
||||
[K] tn
|
||||
l/l_o [l/3] base
|
||||
[l/] fr
|
||||
[l/3] da
|
||||
l^/l_rfx [l.] base
|
||||
[l;] lt
|
||||
[l] ru
|
||||
[l^] ru
|
||||
l/lu [¨ì,] base
|
||||
l/lu [¨|8] base
|
||||
[l#] base
|
||||
[l] fr
|
||||
[l/2] fr
|
||||
@@ -537,6 +543,7 @@ l/lu [
|
||||
[K] tn
|
||||
l/l_u [l/3] base
|
||||
[l/] fr
|
||||
[l/3] da
|
||||
l/l_vi [l] vi
|
||||
ll/xll [L] base
|
||||
l/l_y [l/] fr
|
||||
@@ -661,7 +668,6 @@ n/nu [n] base
|
||||
[n] fr
|
||||
[n#] is
|
||||
[n] zh
|
||||
r/@_ [V#] de
|
||||
r2/r2@ [r-] en
|
||||
[r-] tn
|
||||
r2/r2a [r-] en
|
||||
@@ -708,9 +714,7 @@ r3/r_trill.wav [R2] base
|
||||
[r*] sr
|
||||
[r] ru
|
||||
r3/r_uvl [r"] base
|
||||
[r2] de
|
||||
r3/r_uvl.wav [r"] base
|
||||
[r2] de
|
||||
r3/rx [*] base
|
||||
[r/] base
|
||||
[r/] af
|
||||
@@ -770,8 +774,6 @@ r/ru [r] base
|
||||
r/tr [r] base
|
||||
r/trr [r/] base
|
||||
[r] ro
|
||||
r/V_ [V#] de
|
||||
r/V_2_ [V#] de
|
||||
r/xr [r] base
|
||||
[R3] base
|
||||
[r-] en
|
||||
@@ -1089,6 +1091,7 @@ vdiph2/i@ [i@] en-n
|
||||
[i@] ga
|
||||
[i@] hy
|
||||
vdiph2/i@_2 [i@] en-wm
|
||||
[iR] de
|
||||
vdiph2/ie [i@] en-wi
|
||||
[ie] fi
|
||||
[ie] mt
|
||||
@@ -1633,8 +1636,6 @@ vowel/a_2 [a] base2
|
||||
[a] pt-pt
|
||||
[a] ro
|
||||
[a] el
|
||||
[a] da
|
||||
[?a] da
|
||||
[a] rw
|
||||
vowel/a#_2 [A] nl
|
||||
[a:] nl
|
||||
@@ -1663,8 +1664,6 @@ vowel/a_3 [a] en-sc
|
||||
[a:] la
|
||||
[A] zh
|
||||
[a] sq
|
||||
[A] da
|
||||
[?A] da
|
||||
[a] ka
|
||||
[a:] si
|
||||
vowel/a#_3 [a#] en
|
||||
@@ -1712,6 +1711,8 @@ vowel/a_7 [a] fr
|
||||
[a] ht
|
||||
vowel/a_8 [a] en
|
||||
[a] sk
|
||||
[A] da
|
||||
[?A] da
|
||||
vowel/aa [a:] et
|
||||
[A] fr-ca
|
||||
[A] no
|
||||
|
||||
+207
-189
@@ -1,3 +1,12 @@
|
||||
// PB General rules for vowels:
|
||||
// Short vowels
|
||||
// ACC: Short "pille" [p?el@-]
|
||||
// AC[V]: Short "piler" [p?ilV]
|
||||
// A[N]: Short "bange" [b?AN@-]
|
||||
// Long vowels
|
||||
// A + group #@ OR group #e: Long "ae" "aer" [&:@-]
|
||||
// AC + group #@ OR group #e: Long "pile" [pi:l@-]
|
||||
// AC[i]: Long "smidig" [smi:Di]
|
||||
|
||||
phoneme @
|
||||
vowel starttype #@ endtype #@
|
||||
@@ -36,42 +45,42 @@ endphoneme
|
||||
|
||||
phoneme i
|
||||
vowel starttype #i endtype #i
|
||||
length 150
|
||||
// IfNextVowelAppend(;)
|
||||
IF nextPhW(isNotVowel) AND NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@-) THEN
|
||||
glstop
|
||||
length 90
|
||||
length 90 //150
|
||||
// PB long vowel followed by consonant and certain vowels "gide"
|
||||
IF nextPhW(isNotVowel) AND next2PhW(#@) OR next2PhW(#e) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// "gider" TEST
|
||||
IF nextPhW(D) AND next2PhW(V) OR next2PhW(?V) THEN
|
||||
length 90
|
||||
ENDIF
|
||||
// PB long vowel followed by certain vowels - "pigen" [p'i@-n]
|
||||
IF nextPhW(#@) OR nextPhW(#e) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// Only this vowel (in this case [i])
|
||||
IF thisPh(isFinalVowel) AND thisPh(isWordEnd) AND thisPh(isWordStart) OR prevPhW(_) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// This vowel is word end - longer because it sounds too short
|
||||
// "sig", "si"
|
||||
IF thisPh(isWordEnd) THEN
|
||||
length 120
|
||||
ENDIF
|
||||
// "vilje" - short followed by 2 consonants
|
||||
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN
|
||||
length 90
|
||||
ENDIF
|
||||
// PB "tie", "stige", "krige" vowel + vowel: extra length
|
||||
// What is causing this very short [i] in words with final [@-]?
|
||||
// NOT "galleriet" [g,?&lVR'i@-D] NOT "krigen" [kR'i@-n]
|
||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) AND NOT next2PhW(D) AND NOT next2PhW(n) THEN
|
||||
length 240
|
||||
ENDIF
|
||||
// "siden"
|
||||
IF nextVowel(3) OR nextVowel(V) OR nextVowel(@) OR nextVowel(@-) AND nextPhW(D) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// "lise"
|
||||
IF nextPhW(isNotVowel) AND nextVowel(@-) OR nextVowel(@) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// PB "Bishop"
|
||||
IF nextPhW(S) AND next2PhW(V) THEN
|
||||
length 90
|
||||
ENDIF
|
||||
// "pjækkeri", "røveri"
|
||||
IF thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
|
||||
length 90
|
||||
ENDIF
|
||||
// "vilje"
|
||||
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN
|
||||
length 90
|
||||
ENDIF
|
||||
FMT(vowel/i_4)
|
||||
endphoneme
|
||||
|
||||
// PB Experimental glottal i
|
||||
// PB short i
|
||||
// sviret vs. svirret
|
||||
phoneme ?i
|
||||
vowel starttype #i endtype #i
|
||||
@@ -90,31 +99,11 @@ endphoneme
|
||||
|
||||
phoneme e
|
||||
vowel starttype #e endtype #e
|
||||
length 150
|
||||
IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN
|
||||
glstop
|
||||
length 90
|
||||
ENDIF
|
||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN
|
||||
length 90 //150
|
||||
// "delte", "mente"
|
||||
IF nextPhW(#e) OR nextPhW(#@) OR next2PhW(#e) OR next2PhW(#@) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// "delte", "mante", "evig" [evi]
|
||||
IF nextVowel(3) OR nextVowel(V) OR nextVowel(@) OR nextVowel(@) OR nextVowel(@-) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// "prinsen" - TEST
|
||||
IF nextPhW(n) AND next2PhW(s) THEN
|
||||
length 90
|
||||
ENDIF
|
||||
// "slesk", "sleske" short vowel
|
||||
IF nextPhW(s) AND next2PhW(t) AND nextVowel(@-) THEN
|
||||
length 90
|
||||
ELIF nextPhW(s) AND next2PhW(k) AND nextVowel(@-) THEN
|
||||
length 90
|
||||
// "skriften" - very broad: short before 2 consonants
|
||||
ELIF nextPhW(isNotVowel) AND next2PhW(isNotVowel) AND nextVowel(@-) THEN
|
||||
length 90
|
||||
ENDIF
|
||||
// PB "ring", "ringe"
|
||||
IF nextPhW(N) THEN
|
||||
length 90
|
||||
@@ -123,14 +112,18 @@ ENDIF
|
||||
IF nextPhW(isNotVowel) AND next2PhW(i) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// "labyrinter" , "labyrinten" - short followed by 2 consonants
|
||||
// Only "e"
|
||||
IF thisPh(isWordEnd) AND thisPh(isWordStart) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// "nedladende" [n'eDl&D@-n@-] - before 2 consonants: short
|
||||
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN
|
||||
length 60
|
||||
length 90
|
||||
ENDIF
|
||||
FMT(vowel/e)
|
||||
endphoneme
|
||||
|
||||
// PB glottal e
|
||||
// PB short e
|
||||
// "skille" vs. "skele", "pille" vs. "pile"
|
||||
phoneme ?e
|
||||
vowel starttype #e endtype #e
|
||||
@@ -140,42 +133,43 @@ endphoneme
|
||||
|
||||
phoneme E
|
||||
vowel starttype #e endtype #e
|
||||
length 150
|
||||
IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN
|
||||
glstop
|
||||
length 90
|
||||
ENDIF
|
||||
// example?
|
||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN
|
||||
length 50
|
||||
ENDIF
|
||||
length 90 //150
|
||||
// "værelse", "breve"
|
||||
IF nextVowel(3) OR nextVowel(V) OR nextVowel(@) OR nextVowel(@-) THEN
|
||||
length 150
|
||||
// length 150
|
||||
ENDIF
|
||||
// "fest", "feste" short vowel
|
||||
IF nextPhW(s) AND next2PhW(t) AND nextVowel(@-) THEN
|
||||
length 90
|
||||
ELIF nextPhW(s) AND next2PhW(k) AND nextVowel(@-) THEN
|
||||
length 90
|
||||
// PB knægten
|
||||
ELIF nextPhW(g) AND next2PhW(t) AND nextVowel(@-) THEN
|
||||
length 90
|
||||
// "femten", "tænker" - very broad: short before 2 consonants
|
||||
ELIF nextPhW(isNotVowel) AND next2PhW(isNotVowel) AND nextVowel(@-) OR nextVowel(V)THEN
|
||||
length 90
|
||||
// PB "kærlig" [k'Erli]- a bit longer because og the missing [ɐ] [ˈkæɐ̯li]
|
||||
ELIF nextPhW(r) AND next2PhW(isNotVowel) AND nextVowel(i) THEN
|
||||
length 130
|
||||
// "ræve"
|
||||
IF nextVowel(#@) OR nextVowel(#e) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// "ære", "kærester", "ærefrygt" - longer E
|
||||
IF nextPhW(V) THEN
|
||||
length 180
|
||||
ENDIF
|
||||
// Only the letter "æ" - long
|
||||
IF thisPh(isWordEnd) AND thisPh(isWordStart) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// "stædig" [st'EDi] long
|
||||
IF nextPhW(isNotVowel) AND next2PhW(i) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// "længe" - short - 2 consonants => 1 consonant
|
||||
IF nextPhW(N) THEN
|
||||
length 90
|
||||
ENDIF
|
||||
// "værelse" [v'E3-Vls@_!]
|
||||
IF nextPhW(3-) AND next2PhW(V) THEN
|
||||
length 90
|
||||
ENDIF
|
||||
// "mælkebøtte" - short followed by 2 consonants
|
||||
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN
|
||||
length 90
|
||||
ENDIF
|
||||
FMT(vowel/e_mid2)
|
||||
endphoneme
|
||||
|
||||
// PB Experimental glottal E
|
||||
// PB short E
|
||||
// "læsse" vs. "læse"
|
||||
phoneme ?E
|
||||
vowel starttype #e endtype #e
|
||||
@@ -190,44 +184,42 @@ endphoneme
|
||||
|
||||
phoneme &
|
||||
vowel starttype #e endtype #e
|
||||
length 150
|
||||
IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN
|
||||
glstop
|
||||
length 90
|
||||
ENDIF
|
||||
// PB "sable", "sabler", "anede", "David"
|
||||
IF nextVowel(3) OR nextVowel(V) OR nextVowel(@) OR nextVowel(i) OR nextVowel(@-) THEN
|
||||
ipa a
|
||||
length 90 //150
|
||||
// "same", "sale", "bade" - consonant + gooup #e or group #@: long
|
||||
IF next2PhW(#@) OR next2PhW(#e) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// "stadig" [st&Di]
|
||||
IF nextVowel(i) AND nextVowel(isFinalVowel) AND nextVowel(isWordEnd) THEN
|
||||
length 180
|
||||
// "stadigt" [st&Dit]
|
||||
ELIF nextVowel(i) AND nextVowel(isFinalVowel) AND next2PhW(t) THEN
|
||||
length 180
|
||||
// "latin" [l&t'in]
|
||||
ELIF nextVowel(i) AND nextVowel(isFinalVowel) AND NOT next2PhW(t) THEN
|
||||
length 90
|
||||
ENDIF
|
||||
// "ae", "aer", "dagen" vowel + vowel: extra length
|
||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN
|
||||
// ThisPh + gooup #e or group #@
|
||||
// "ae", "aer" vowel + vowel: extra length
|
||||
IF nextPhW(#@) OR nextPhW(#e) THEN
|
||||
length 240
|
||||
ENDIF
|
||||
// This vowel is word end - longer because it sounds too short
|
||||
// "ja", "Omaha"
|
||||
IF thisPh(isWordEnd) THEN
|
||||
length 120
|
||||
ENDIF
|
||||
// Only this vowel (in this case [&])
|
||||
IF thisPh(isFinalVowel) AND thisPh(isWordEnd) AND thisPh(isWordStart) OR prevPhW(_) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// "stadig" [st&Di], "stadigt" [st&Dit]
|
||||
IF nextPhW(isNotVowel) AND next2PhW(i) THEN
|
||||
length 180
|
||||
ENDIF
|
||||
// "Alfie", "alfer" - short before 2 consonants
|
||||
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN
|
||||
length 90
|
||||
ENDIF
|
||||
// "Omaha"
|
||||
IF thisPh(isWordEnd) THEN
|
||||
length 90
|
||||
ENDIF
|
||||
FMT(vowel/ee_2)
|
||||
endphoneme
|
||||
|
||||
// PB Experimental glottal a
|
||||
// PB Short &
|
||||
// e.g. the last a in "staldkarl"
|
||||
// "sale" vs. "sal"
|
||||
phoneme ?&
|
||||
ipa a
|
||||
vowel starttype #e endtype #e
|
||||
length 90
|
||||
FMT(vowel/ee_2)
|
||||
@@ -237,7 +229,7 @@ endphoneme
|
||||
phoneme &#
|
||||
vowel starttype #e endtype #e
|
||||
length 120
|
||||
IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN
|
||||
IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN
|
||||
glstop
|
||||
length 90
|
||||
ENDIF
|
||||
@@ -255,76 +247,77 @@ phoneme ?&#
|
||||
FMT(vowel/&)
|
||||
endphoneme
|
||||
|
||||
phoneme a
|
||||
vowel starttype #a endtype #a
|
||||
length 150
|
||||
IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN
|
||||
glstop
|
||||
length 90
|
||||
ENDIF
|
||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
FMT(vowel/a_2)
|
||||
endphoneme
|
||||
//phoneme a
|
||||
// vowel starttype #a endtype #a
|
||||
// length 90 //150
|
||||
//IF nextPhW(#@) OR nextPhW(#e) THEN
|
||||
// length 150
|
||||
//ENDIF
|
||||
// FMT(vowel/a_2)
|
||||
//endphoneme
|
||||
|
||||
// PB short (glottal) a
|
||||
// "bragt"
|
||||
phoneme ?a
|
||||
vowel starttype #a endtype #a
|
||||
length 90
|
||||
FMT(vowel/a_2)
|
||||
endphoneme
|
||||
//phoneme ?a
|
||||
// vowel starttype #a endtype #a
|
||||
// length 90
|
||||
// FMT(vowel/a_2)
|
||||
//endphoneme
|
||||
|
||||
phoneme A
|
||||
phoneme A // PB changed to a_8
|
||||
vowel starttype #a endtype #a
|
||||
length 150
|
||||
IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN
|
||||
glstop
|
||||
length 90
|
||||
ENDIF
|
||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) THEN
|
||||
length 90 //150
|
||||
// PB long vowel followed by consonant and certain vowels - "drabelig"
|
||||
IF nextPhW(isNotVowel) AND next2PhW(#@) OR next2PhW(#e) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// "far", "bastard" - a bit longer followed by [r]
|
||||
IF nextPhW(r) THEN
|
||||
IF nextPhW(r) AND nextPhW(isWordEnd) THEN
|
||||
length 120
|
||||
ENDIF
|
||||
FMT(vowel/a_3)
|
||||
// "bange" [bAN@-] - [N] = 2 consonants (ng) => short
|
||||
IF nextPhW(N) THEN
|
||||
length 90
|
||||
ENDIF
|
||||
FMT(vowel/a_8)
|
||||
endphoneme
|
||||
|
||||
// PB glottal a
|
||||
// PB short A
|
||||
// "drab" vs. "drabelig"
|
||||
phoneme ?A
|
||||
vowel starttype #a endtype #a
|
||||
length 90
|
||||
// "straffeattest", "straffe" - a bit longer after R
|
||||
IF prevPhW(R) AND nextPhW(isNotVowel) THEN
|
||||
length 120
|
||||
// "straffeattest", "straffe", "rapid" - a bit longer after R
|
||||
IF prevPhW(R) AND nextPhW(isNotVowel) AND next2PhW(isVowel) THEN
|
||||
length 110
|
||||
ENDIF
|
||||
FMT(vowel/a_3)
|
||||
FMT(vowel/a_8)
|
||||
endphoneme
|
||||
|
||||
phoneme u
|
||||
vowel starttype #u endtype #u
|
||||
length 150
|
||||
length 90 //150
|
||||
// Short vowel followed by consonant and NOT consonant + 3 or V or @
|
||||
// "blus" vs. "bluse" and "bluser"
|
||||
IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN
|
||||
glstop
|
||||
length 90
|
||||
// glstop
|
||||
// length 90
|
||||
ENDIF
|
||||
// "hue", "suge", "uge"
|
||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN
|
||||
// "suge", "uge", bluse
|
||||
IF nextPhW(#e) OR nextPhW(#@) OR next2PhW(#e) OR next2PhW(#@)THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// extra length followed by 3 or V or @
|
||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN
|
||||
length 240
|
||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) THEN
|
||||
// length 240
|
||||
ENDIF
|
||||
// "umulig"
|
||||
IF nextVowel(i) AND nextVowel(isFinalVowel) AND nextVowel(isWordEnd) THEN
|
||||
length 180
|
||||
ENDIF
|
||||
// Only "u"
|
||||
IF thisPh(isWordEnd) AND thisPh(isWordStart) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
FMT(vowel/u_bck)
|
||||
endphoneme
|
||||
@@ -368,13 +361,13 @@ endphoneme
|
||||
|
||||
phoneme O
|
||||
vowel starttype #o endtype #o
|
||||
length 150
|
||||
IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN
|
||||
glstop
|
||||
length 90
|
||||
length 90 // 150
|
||||
// PB "sove", "sover" - consonant + #e or #@: long
|
||||
IF next2PhW(#@) OR next2PhW(#e) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// PB "gået"
|
||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) THEN
|
||||
// PB "gået" - ThisPh + #e or #@
|
||||
IF nextPhW(#e) OR nextPhW(#@) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// "rådig"
|
||||
@@ -418,7 +411,7 @@ ENDIF
|
||||
FMT(vowel/V_4)
|
||||
endphoneme
|
||||
|
||||
// PB Glottal (short) å
|
||||
// PB Short å
|
||||
// "forstår" vs. "kåre"
|
||||
phoneme ?V
|
||||
vowel starttype #@ endtype #@
|
||||
@@ -448,35 +441,31 @@ endphoneme
|
||||
|
||||
phoneme y
|
||||
vowel starttype #i endtype #i
|
||||
// experiment: changed to short from 150
|
||||
length 150
|
||||
// Short vowel followed by consonant and NOT consonant + 3 or V
|
||||
// "lyd" vs. "lyde" and "lyder"
|
||||
IF nextPhW(isNotVowel) AND NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@)AND NOT next2PhW(@-) THEN
|
||||
glstop
|
||||
length 90
|
||||
// Length changed to short since most vowels are short.
|
||||
// It's probably easier only to make rules for long vowels.
|
||||
length 90 //150
|
||||
|
||||
// PB long vowel followed by consonant and certain vowels
|
||||
// "lyde", "lyder"
|
||||
IF nextPhW(isNotVowel) AND next2PhW(#@) OR next2PhW(#e) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// "syg" [sy]
|
||||
IF thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
|
||||
length 90
|
||||
ENDIF
|
||||
// "skyd"
|
||||
IF thisPh(isFinalVowel) AND nextPhW(isWordEnd) AND nextPhW(isNotVowel) THEN
|
||||
length 90
|
||||
// Only this vowel (in this case [y])
|
||||
IF thisPh(isFinalVowel) AND thisPh(isWordEnd) AND thisPh(isWordStart) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// "dydig" [dyDi]
|
||||
IF nextVowel(3) OR nextVowel(V) OR nextVowel(@) OR nextVowel(i) THEN
|
||||
IF nextPhW(isNotVowel) AND next2PhW(i) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// "syge" [sy3] vowel + vowel: extra length, but NOT "fyret" [fyVD]
|
||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) AND NOT next2PhW(D) THEN
|
||||
length 220
|
||||
IF nextPhW(#e) OR nextPhW(#@) AND NOT next2PhW(D) THEN
|
||||
length 200
|
||||
ENDIF
|
||||
// PB "kryster" - short y
|
||||
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN
|
||||
length 80
|
||||
// "tyve"
|
||||
IF nextPhW(?u) AND next2PhW(@-) THEN
|
||||
length 150
|
||||
ENDIF
|
||||
// PB "gryden"
|
||||
FMT(vowel/y)
|
||||
endphoneme
|
||||
|
||||
@@ -484,7 +473,7 @@ endphoneme
|
||||
// "kylling" vs. "kyle", "krybbe" vs. "krybe"
|
||||
phoneme ?y
|
||||
vowel starttype #i endtype #i
|
||||
length 70
|
||||
length 90
|
||||
FMT(vowel/y)
|
||||
endphoneme
|
||||
|
||||
@@ -503,24 +492,19 @@ endphoneme
|
||||
|
||||
phoneme W
|
||||
vowel starttype #@ endtype #@
|
||||
length 160
|
||||
// Shorter vowel when followed by consonant
|
||||
IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN
|
||||
glstop
|
||||
length 90
|
||||
ENDIF
|
||||
length 99 //160
|
||||
// "kløe" vowel + vowel: extra length
|
||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) THEN
|
||||
IF nextPhW(#@) OR nextPhW(#e) THEN
|
||||
length 220
|
||||
ENDIF
|
||||
// "klø" short W when word ends with W
|
||||
IF thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN
|
||||
length 90
|
||||
ENDIF
|
||||
// røde" W + 1 consonant + 3 or W or @
|
||||
IF next2PhW(3) OR next2PhW(V) OR next2PhW(@) THEN
|
||||
IF next2PhW(#@) OR next2PhW(#e) THEN
|
||||
length 160
|
||||
ENDIF
|
||||
// "røveri" TEST
|
||||
IF next2PhW(V) OR next2PhW(?V) THEN
|
||||
length 90
|
||||
ENDIF
|
||||
// PB "nødig", "nødigt", "kølige"
|
||||
IF nextVowel(i) THEN
|
||||
length 160
|
||||
@@ -536,7 +520,7 @@ ENDIF
|
||||
FMT(vowel/oe)
|
||||
endphoneme
|
||||
|
||||
// PB glottal W
|
||||
// PB short W
|
||||
// "prøv" vs. "prøve"
|
||||
phoneme ?W
|
||||
vowel starttype #@ endtype #@
|
||||
@@ -547,12 +531,13 @@ endphoneme
|
||||
// PB added for the ø in "røv", "røg", "øje" instead of [V3]
|
||||
phoneme W#
|
||||
vowel starttype #@ endtype #@
|
||||
length 150
|
||||
length 90 //150
|
||||
IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN
|
||||
glstop
|
||||
length 90
|
||||
// length 90
|
||||
ENDIF
|
||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN
|
||||
// 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 150
|
||||
ENDIF
|
||||
FMT(vowel/V)
|
||||
@@ -573,12 +558,17 @@ IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2Ph(@-) AND nextPhW(isNotVowel)
|
||||
glstop
|
||||
length 150
|
||||
ENDIF
|
||||
// "dreje" [dR'aI@-_!]
|
||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) THEN
|
||||
length 300
|
||||
length 280
|
||||
ENDIF
|
||||
// PB "drej" vs. "dreje"
|
||||
IF thisPh(isWordEnd) THEN
|
||||
length 140
|
||||
ENDIF
|
||||
// "lejde" [l'aId@-_!], "lejder" [l'aIdV_!]
|
||||
IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(V) THEN
|
||||
length 190
|
||||
ENDIF
|
||||
FMT(vdiph/ai)
|
||||
endphoneme
|
||||
@@ -591,7 +581,31 @@ phoneme l
|
||||
liquid
|
||||
lengthmod 7
|
||||
ChangePhoneme(l/3)
|
||||
CALL base/l
|
||||
// CALL base/l
|
||||
endphoneme
|
||||
|
||||
phoneme l/3 // Replacement for [l/]
|
||||
liquid
|
||||
lengthmod 7
|
||||
|
||||
IF nextPh(isVowel) THEN
|
||||
// ChangePhoneme(l)
|
||||
ENDIF
|
||||
|
||||
PrevVowelEndings
|
||||
VowelEnding(l/l_@)
|
||||
VowelEnding(l/l_a)
|
||||
VowelEnding(l/l_e, -40)
|
||||
VowelEnding(l/l_i, -70)
|
||||
VowelEnding(l/l_o)
|
||||
VowelEnding(l/l_u, -70)
|
||||
EndSwitch
|
||||
|
||||
// IF nextPh(isLiquid) THEN
|
||||
// FMT(l/_l)
|
||||
// ENDIF
|
||||
|
||||
FMT(l/l_)
|
||||
endphoneme
|
||||
|
||||
phoneme v // approximant, not fricative
|
||||
@@ -604,7 +618,7 @@ phoneme r // used for 'r' after a vowel (to create a diphthong)
|
||||
liquid
|
||||
lengthmod 7
|
||||
ipa ɐ̯
|
||||
IF nextPhW(isVowel) AND NOT nextPhW(?V) AND NOT nextPhW(V) THEN
|
||||
IF nextPhW(isVowel) AND NOT nextPhW(?V) AND NOT nextPhW(V) AND NOT nextPhW(@-) THEN
|
||||
ChangePhoneme(R)
|
||||
ENDIF
|
||||
FMT(r/a_)
|
||||
@@ -663,6 +677,10 @@ phoneme t
|
||||
IF nextPh(r) OR nextPh(R) OR nextPh(R2) THEN
|
||||
WAV(ustop/tr)
|
||||
ENDIF
|
||||
// "respekt" [REsp'Egd]
|
||||
IF thisPh(isWordEnd) THEN
|
||||
// ChangePhoneme(d)
|
||||
ENDIF
|
||||
WAV(ustop/t, 90)
|
||||
endphoneme
|
||||
|
||||
@@ -674,7 +692,7 @@ phoneme j
|
||||
NextVowelStarts
|
||||
VowelStart(j/j@)
|
||||
VowelStart(j/ja)
|
||||
VowelStart(j/je,-40)
|
||||
VowelStart(j/je,-35)
|
||||
VowelStart(j/ji)
|
||||
VowelStart(j/jo)
|
||||
VowelStart(j/ju)
|
||||
|
||||
+12
-40
@@ -97,11 +97,8 @@ phoneme U
|
||||
length 135
|
||||
ENDIF
|
||||
|
||||
IF nextPh(r) THEN
|
||||
IF next2Ph(isVowel) THEN
|
||||
ELSE
|
||||
ChangePhoneme(UR)
|
||||
ENDIF
|
||||
IF nextPh(r) AND next2Ph(isNotVowel) THEN
|
||||
ChangePhoneme(UR)
|
||||
ENDIF
|
||||
FMT(vowel/uu_2)
|
||||
endphoneme
|
||||
@@ -128,6 +125,10 @@ phoneme i:
|
||||
IF prevPh(w) THEN
|
||||
VowelStart(w/wi2)
|
||||
ENDIF
|
||||
|
||||
IF nextPh(r) AND next2Ph(isNotVowel) THEN
|
||||
ChangePhoneme(iR)
|
||||
ENDIF
|
||||
FMT(vowel/i_2)
|
||||
endphoneme
|
||||
|
||||
@@ -341,41 +342,12 @@ endphoneme
|
||||
|
||||
|
||||
|
||||
// This version of [r] was used in eSpeak 1.44, but received complaints
|
||||
phoneme r2 // uvular trill or fricative
|
||||
vcd uvl frc
|
||||
ipa ʀ
|
||||
lengthmod 6
|
||||
length 110
|
||||
IF nextPhW(isVowel) THEN
|
||||
FMT(r3/r_uvl) addWav(r3/r_uvl.wav, 50)
|
||||
ELSE
|
||||
IF prevPh(isFlag1) THEN
|
||||
ChangePhoneme(NULL) // 'r' is already included in the previous vowel
|
||||
ELSE
|
||||
ChangePhoneme(V#)
|
||||
ENDIF
|
||||
ENDIF
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
|
||||
phoneme V# // used for 'r' after a vowel (to create a diphthong)
|
||||
liquid
|
||||
lengthmod 7
|
||||
IF nextPhW(isVowel) THEN
|
||||
ChangePhoneme(r)
|
||||
ENDIF
|
||||
|
||||
ipa ɐ
|
||||
IF prevPh(#a) OR prevPh(E) THEN
|
||||
FMT(r/V_2_)
|
||||
ENDIF
|
||||
IF prevPh(#u) THEN
|
||||
FMT(r/@_)
|
||||
ENDIF
|
||||
FMT(r/V_)
|
||||
phoneme iR
|
||||
vowel starttype #i endtype #@
|
||||
ipa iɐ
|
||||
flag1
|
||||
length 180
|
||||
FMT(vdiph2/i@_2)
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
[Setup]
|
||||
AppName=eSpeak
|
||||
AppVerName=eSpeak version 1.46.42
|
||||
AppVerName=eSpeak version 1.46.47
|
||||
AppCopyright=Licensed under GNU General Public License version 3. (See file License.txt for details).
|
||||
WindowVisible=yes
|
||||
|
||||
@@ -149,29 +149,34 @@ begin
|
||||
$1c: Result := 'sq';
|
||||
$1d: Result := 'sv';
|
||||
$1f: Result := 'tr';
|
||||
//$20: Result := 'ur';
|
||||
$21: Result := 'id';
|
||||
$25: Result := 'et';
|
||||
//$26: Result := 'lv';
|
||||
$26: Result := 'lv';
|
||||
$27: Result := 'lt';
|
||||
$29: Result := 'fa';
|
||||
$2a: Result := 'vi';
|
||||
$2b: Result := 'hy';
|
||||
//$2c: Result := 'az';
|
||||
//$2d: Result := 'eu';
|
||||
$2f: Result := 'mk';
|
||||
$36: Result := 'af';
|
||||
$37: Result := 'kn';
|
||||
$39: Result := 'hi';
|
||||
//$3a: Result := 'mt';
|
||||
//$3c: Result := 'ga';
|
||||
$3c: Result := 'ga';
|
||||
//$3f: Result := 'kk';
|
||||
$41: Result := 'sw';
|
||||
//$44: Result := 'tt';
|
||||
$46: Result := 'pa';
|
||||
$49: Result := 'ta';
|
||||
$46: Result := 'pa';
|
||||
$4b: Result := 'kn';
|
||||
$4c: Result := 'ml';
|
||||
//$50: Result := 'mn';
|
||||
$52: Result := 'cy';
|
||||
//$5e: Result := 'am';
|
||||
//$61: Result := 'ne';
|
||||
$61: Result := 'ne';
|
||||
//$87: Result := 'rw';
|
||||
//$88: Result := 'wo';
|
||||
end;
|
||||
|
||||
@@ -618,7 +618,7 @@ int CTTSEngObj::ProcessFragList(const SPVTEXTFRAG* pTextFragList, wchar_t *pW_st
|
||||
sprintf(&cmdbuf[len],"%c%dF",CTRL_EMBEDDED,emphasis);
|
||||
len += strlen(&cmdbuf[len]);
|
||||
}
|
||||
if(sayas != gSayas)
|
||||
if((sayas != gSayas) || (sayas != 0))
|
||||
{
|
||||
sprintf(&cmdbuf[len],"%c%dY",CTRL_EMBEDDED,sayas);
|
||||
len += strlen(&cmdbuf[len]);
|
||||
|
||||
@@ -10,17 +10,17 @@ SRCS= compiledata.cpp compiledict.cpp debug.cpp dictionary.cpp espeak_command.cp
|
||||
|
||||
OBJS=$(patsubst %.cpp,%.o,$(SRCS))
|
||||
|
||||
WX_LIBS = -pthread -lwx_gtk2u_xrc-2.8 -lwx_gtk2u_qa-2.8 -lwx_gtk2u_html-2.8 \
|
||||
-lwx_gtk2u_adv-2.8 -lwx_gtk2u_core-2.8 -lwx_baseu_xml-2.8 -lwx_baseu_net-2.8 -lwx_baseu-2.8
|
||||
WX_LIBS = -pthread `wx-config --libs`
|
||||
|
||||
LIBS=-lstdc++ -lportaudio
|
||||
#LIBS=-lstdc++ /usr/lib/x86_64-linux-gnu/libportaudio.so.2
|
||||
|
||||
CPPFLAGS = -Wall -g -fexceptions -I/usr/lib/wx/include/gtk2-unicode-release-2.8
|
||||
CPPFLAGS = -Wall -g -fexceptions `wx-config --cflags`
|
||||
-I/usr/include/wx-2.8 \
|
||||
-DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES
|
||||
-D_LARGEFILE_SOURCE=1 -DNO_GCC_PRAGMA -D_ESPEAKEDIT
|
||||
|
||||
CXXFLAGS = -O2 -Wall -fexceptions -I/usr/lib/wx/include/gtk2-unicode-release-2.8 -I/usr/include/wx-2.8 \
|
||||
CXXFLAGS = -O2 -Wall -fexceptions `wx-config --cflags` \
|
||||
-DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D_LARGEFILE_SOURCE=1 -DNO_GCC_PRAGMA -D_ESPEAKEDIT
|
||||
|
||||
all: espeakedit
|
||||
|
||||
+2
-1
@@ -586,6 +586,7 @@ int TranslateLetter(Translator *tr, char *word, char *phonemes, int control)
|
||||
// return number of bytes used by the letter
|
||||
// control bit 0: a non-initial letter in a word
|
||||
// bit 1: say 'capital'
|
||||
// bit 2: say character code for unknown letters
|
||||
|
||||
int n_bytes;
|
||||
int letter;
|
||||
@@ -743,7 +744,7 @@ int TranslateLetter(Translator *tr, char *word, char *phonemes, int control)
|
||||
}
|
||||
}
|
||||
|
||||
if(!(control & 2) && (al_flags & AL_NOT_CODE))
|
||||
if(!(control & 4) && (al_flags & AL_NOT_CODE))
|
||||
{
|
||||
// don't speak the character code number, unless we want full details of this character
|
||||
speak_letter_number = 0;
|
||||
|
||||
+1
-1
@@ -339,7 +339,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
|
||||
ph = phoneme_tab[plist3->phcode];
|
||||
plist3[0].ph = ph;
|
||||
|
||||
if(plist3->phcode == phonSWITCH)
|
||||
if((plist3->phcode == phonSWITCH) && !(plist3->synthflags & SFLAG_EMBEDDED)) // ?? phonSWITCH can't have SFLAG_EMBEDDED ??
|
||||
{
|
||||
if((plist3[1].phcode == phonSWITCH) || ((plist3[1].type == phPAUSE) && (plist3[2].phcode == phonSWITCH)))
|
||||
continue; // next phoneme is also a phonSWITCH, so ignore
|
||||
|
||||
+1
-1
@@ -51,7 +51,7 @@
|
||||
#endif
|
||||
|
||||
#ifdef _ESPEAKEDIT
|
||||
//#define USE_PORTAUDIO
|
||||
#define USE_PORTAUDIO
|
||||
#define USE_ASYNC
|
||||
#define LOG_FRAMES // write keyframe info to log-espeakedit
|
||||
#endif
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@
|
||||
#include "translate.h"
|
||||
#include "wave.h"
|
||||
|
||||
const char *version_string = "1.46.46 11.Mar.13";
|
||||
const char *version_string = "1.46.47 12.Mar.13";
|
||||
const int version_phdata = 0x014640;
|
||||
|
||||
int option_device_number = -1;
|
||||
|
||||
@@ -70,6 +70,7 @@
|
||||
#define OFFSET_ETHIOPIC 0x1200
|
||||
|
||||
|
||||
// character ranges must be listed in ascending order
|
||||
ALPHABET alphabets [] = {
|
||||
{"_el", OFFSET_GREEK, 0x380, 0x3ff, L('e','l'), AL_DONT_NAME | AL_NOT_LETTERS},
|
||||
{"_cyr", OFFSET_CYRILLIC, 0x400, 0x52f, 0, 0},
|
||||
@@ -97,6 +98,7 @@ ALPHABET alphabets [] = {
|
||||
{"_braille", 0x2800, 0x2800,0x28ff, 0, AL_NO_SYMBOL},
|
||||
{"_ja", 0x3040, 0x3040,0x30ff, 0, AL_NOT_CODE},
|
||||
{"_zh", 0x3100, 0x3100,0x9fff, 0, AL_NOT_CODE},
|
||||
{"_ko", 0xa700, 0xa700,0xd7ff, 0, AL_NOT_CODE},
|
||||
{NULL, 0, 0, 0, 0, 0}
|
||||
};
|
||||
|
||||
@@ -108,9 +110,12 @@ ALPHABET *AlphabetFromChar(int c)
|
||||
|
||||
while(alphabet->name != NULL)
|
||||
{
|
||||
if((c >= alphabet->range_min) && (c <= alphabet->range_max))
|
||||
if(c <= alphabet->range_max)
|
||||
{
|
||||
return(alphabet);
|
||||
if(c >= alphabet->range_min)
|
||||
return(alphabet);
|
||||
else
|
||||
break;
|
||||
}
|
||||
alphabet++;
|
||||
}
|
||||
@@ -827,6 +832,7 @@ Translator *SelectTranslator(const char *name)
|
||||
case L('h','i'): // Hindi
|
||||
case L('n','e'): // Nepali
|
||||
case L('p','a'): // Punjabi
|
||||
case L('g','u'): // Gujarati
|
||||
{
|
||||
static const short stress_lengths_hi[8] = {190, 190, 210, 210, 0, 0, 230, 250};
|
||||
static const unsigned char stress_amps_hi[8] = {17,14, 20,19, 20,22, 22,21 };
|
||||
@@ -1543,7 +1549,7 @@ SetLengthMods(tr,3); // all equal
|
||||
0x1a1, 0x1edd, 0x1edb, 0x1edf, 0x1ee1, 0x1ee3, // ơ
|
||||
0x75, 0xf9, 0xfa, 0x1ee7, 0x169, 0x1ee5, // u
|
||||
0x1b0, 0x1eeb, 0x1ee9, 0x1eed, 0x1eef, 0x1ef1, // ư
|
||||
0x79, 0x1ef3, 0xfd, 0x1ef7, 0x1ef9, 0x1e, 0 }; // y
|
||||
0x79, 0x1ef3, 0xfd, 0x1ef7, 0x1ef9, 0x1ef5, 0 }; // y
|
||||
|
||||
SetupTranslator(tr,stress_lengths_vi,stress_amps_vi);
|
||||
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
|
||||
|
||||
+7
-4
@@ -633,8 +633,10 @@ static char *SpeakIndividualLetters(Translator *tr, char *word, char *phonemes,
|
||||
int capitals = 0;
|
||||
int non_initial = 0;
|
||||
|
||||
if (spell_word > 2)
|
||||
capitals = 2;
|
||||
if(spell_word > 2)
|
||||
capitals = 2; // speak 'capital'
|
||||
if(spell_word > 1)
|
||||
capitals |= 4; // speak charater code for unknown letters
|
||||
|
||||
while((*word != ' ') && (*word != 0))
|
||||
{
|
||||
@@ -1109,7 +1111,7 @@ int TranslateWord(Translator *tr, char *word_start, int next_pause, WORD_TAB *wt
|
||||
// change to another language in order to translate this word
|
||||
strcpy(word_phonemes,unpron_phonemes);
|
||||
if(strcmp(&unpron_phonemes[1],"en")==0)
|
||||
return(FLAG_SPELLWORD); // _^_en must have been set in TranslateLetter(), not *_rules
|
||||
return(FLAG_SPELLWORD); // _^_en must have been set in TranslateLetter(), not *_rules which uses only _^_
|
||||
return(0);
|
||||
}
|
||||
|
||||
@@ -1774,6 +1776,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa
|
||||
word_flags = wtab[0].flags;
|
||||
if(word_flags & FLAG_EMBEDDED)
|
||||
{
|
||||
wtab[0].flags &= ~FLAG_EMBEDDED; // clear it in case we call TranslateWord2() again for the same word
|
||||
embedded_flag = SFLAG_EMBEDDED;
|
||||
|
||||
Word_EmbeddedCmd();
|
||||
@@ -2121,7 +2124,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa
|
||||
{
|
||||
ph_list2[n_ph_list2].phcode = ph_code;
|
||||
ph_list2[n_ph_list2].sourceix = 0;
|
||||
ph_list2[n_ph_list2].synthflags = embedded_flag;
|
||||
ph_list2[n_ph_list2].synthflags = 0;
|
||||
ph_list2[n_ph_list2++].tone_ph = *p;
|
||||
SelectPhonemeTable(*p);
|
||||
p++;
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@
|
||||
#define CTRL_EMBEDDED 0x01 // control character at the start of an embedded command
|
||||
#define REPLACED_E 'E' // 'e' replaced by silent e
|
||||
|
||||
#define N_WORD_PHONEMES 160 // max phonemes in a word
|
||||
#define N_WORD_PHONEMES 200 // max phonemes in a word
|
||||
#define N_WORD_BYTES 160 // max bytes for the UTF8 characters in a word
|
||||
#define N_CLAUSE_WORDS 300 // max words in a clause
|
||||
#define N_RULE_GROUP2 120 // max num of two-letter rule chains
|
||||
|
||||
Reference in New Issue
Block a user