@@ -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 |
@@ -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 |
@@ -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 |
@@ -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 "ً" |
@@ -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 |
@@ -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 |
@@ -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 |
@@ -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 |
@@ -49,6 +49,8 @@ | |||
َ z@b@R | |||
ِ ze:R | |||
ُ pe:S | |||
ّ t,aSd'i:d | |||
ً d'o:zab'aR | |||
// The numbers | |||
@@ -220,9 +222,6 @@ _dpt _ISaRI'Ia_ | |||
اعلان e:l'a:n | |||
سنئیے sUn'i:;e: | |||
کلنگ k'IlIn,g | |||
انتقال ,Intaq'a:l | |||
انتقام ,Intaq'a:m | |||
انتخاب ,Intax'a:b | |||
چیف c'i:f | |||
جسٹس J'ast.,Is | |||
شکایت S,Ika:j'at | |||
@@ -245,7 +244,6 @@ _dpt _ISaRI'Ia_ | |||
دنوں dIn'o:n | |||
مصر m'Is.R | |||
مصری m'Is.R,i: | |||
انتظام ,IntIz.'a:m | |||
مختصر m,Uxtas.'aR | |||
پھر p#'IR | |||
پھرا p#'IRa: | |||
@@ -303,6 +301,58 @@ _dpt _ISaRI'Ia_ | |||
حاصل H'a:s.Il | |||
شدہ S'Ud,a | |||
بغیر baQ'e:R | |||
امیدوار Um'i:dva:R | |||
لکھ l'Ik# | |||
لکھئیے l'Ik#j,e: | |||
ممکن m'Umk,In | |||
ممکنہ m'Unk,In,a | |||
طرح taR'aH | |||
الیکشن ,Ile:kS'an | |||
ووٹنگ vo:t.'Ing | |||
شواہد Sav'a:HId | |||
محض me:He:z | |||
حزب H'Izb | |||
مخالف mUx'a:lIf | |||
استعمال ,Iste:m'a:l | |||
مخالفت m,Uxa:lIf'at | |||
مخالفین m,Uxa:lIf'i:n | |||
عشق 'ISq | |||
عمدہ 'Umda | |||
مارچ m'a:Rc | |||
چرچ c'aRc | |||
دہشت d'e:HS'at | |||
وحشت v,e:HS'at | |||
درست d'URUst | |||
صحت s.e:H'at | |||
فلم f'Ilm | |||
فلمی f'Ilm,i: | |||
مسلسل m,Usals'al | |||
تسلسل tas'als,Ul | |||
تشدد taS'adUd | |||
پرتشدد p,URtaS'adUd | |||
حجوم HUJ'u:m | |||
پرحجوم p,URHUJ'u:m | |||
تحفظ taH'afUz. | |||
تحفظات t,aHafUz.'a:t | |||
حفاظت H,Ifa:z.'at | |||
ہمت HIm'at | |||
سمیت sam'e:t | |||
اگرچہ ,agaRc'e:H | |||
بلکہ b,alk'e:H | |||
حصہ H'Is.,a | |||
حصے H'Is.e: | |||
حصوں HIs.'o:n | |||
حساب HIs'a:b | |||
ہوئیں Hu:'i:n | |||
ہوئی H'u:i: | |||
ہوئے H'u:e: | |||
اندسٹری ,Ind.'ast.Ri: | |||
بخود b'axUd | |||
تعین t'a:jUn | |||
باعث b'a:jIs | |||
کتب k'UtUb | |||
سلسلہ s'Ils,Il,a | |||
سلسلے s'Ils,Ile: | |||
بحث be:He:s | |||
قسمت q,Ism'at | |||
آور a:v'aR | |||
بظاہر baz.'a:HIR | |||
ظاہر z.'a:HIR | |||
حکم H'Ukm |
@@ -15,6 +15,7 @@ | |||
٧ 7 | |||
٨ 8 | |||
٩ 9 | |||
ي ی | |||
@@ -54,6 +55,32 @@ _) او u: | |||
_) ای e: | |||
ائ a:j | |||
اہ(_ a:H | |||
_) اتن 'Itn | |||
_) اتر Ut'aR | |||
_) اتر (L01 UtR | |||
_) الٹ Ul'at. | |||
_) الٹ (L01 Ult. | |||
_) الجھ Ul'aJh | |||
_) الجھ (L01 UlJh | |||
_) ابھر Ubh'aR | |||
_) ابھر (L01 UbhR | |||
_) اچھل Uch'al | |||
_) اچھل (L01 Uchl | |||
_) اجڑ UJ'ar. | |||
_) اجڑ (L01 UJr. | |||
افتتاح ,ItIt'a:H | |||
اسلام ,Isl'a:m | |||
_) انسان Ins'a:n | |||
_) انت 'Int,a | |||
_) امید Um'i:d | |||
اً(_ 'an | |||
_) امکان ,Imk'a:n | |||
_) افسر ,afs'aR | |||
_) اتفاق ,ItIf'a:q | |||
_) ابتدا 'Ibt,Ida: | |||
_) ایمان i:m'a:n | |||
_) اعت 'e:tI | |||
_) اضاف Iz'a:f | |||
.group آ | |||
آ a: | |||
@@ -63,6 +90,7 @@ _) ای e: | |||
ع a: | |||
عا a: | |||
_) ع a | |||
_) عیس 'i:s | |||
.group و | |||
@@ -72,6 +100,8 @@ _) ای e: | |||
و (L01 v | |||
_) و vV | |||
وع (_ u: | |||
وّ vv | |||
.group ی | |||
ی e: | |||
@@ -81,6 +111,8 @@ _) ای e: | |||
یع(_ i: | |||
@) ی i: | |||
یں(_ e:n | |||
یّ jj | |||
@) یت(_ j'at | |||
.group ے // yeh barree | |||
ے e: | |||
@@ -103,12 +135,31 @@ _) ای e: | |||
بھ b#V | |||
بھ (L01 b# | |||
ب (L01 b | |||
بّ bbV | |||
بّ (L01 bb | |||
_) بگڑ bIg'ar. | |||
_) بگڑ (L01 b'Igr. | |||
_) بکھر bIkh'aR | |||
_) بکھر (L01 b'IkhR | |||
_) بچھڑ bIch'ar. | |||
_) بچھڑ (L01 bIchr. | |||
_) بجھ b'UJh | |||
بھوک bh'u:k | |||
بھیک bh'i:k | |||
بھیگ bh'i:g | |||
بھول bh'u:l | |||
.group پ | |||
پ pV | |||
پھ p#V | |||
پ (L01 p | |||
پھ (L01 p# | |||
پّ ppV | |||
پّ (L01 pp | |||
_) پھر ph'IR | |||
پھول ph'u:l | |||
_) پہل (L01 p'e:Hl | |||
.group ت | |||
@@ -116,22 +167,35 @@ _) ای e: | |||
تھ t#V | |||
ت (L01 t | |||
تھ (L01 t# | |||
تّ ttV | |||
تّ (L01 tt | |||
.group ٹ | |||
ٹ t.V | |||
ٹھ t.#V | |||
ٹ (L01 t. | |||
ٹھ (L01 t.# | |||
ٹّ t.t.V | |||
ٹّ (L01 t.t. | |||
.group ث | |||
ث sV | |||
ث (L01 s | |||
ثّ ssV | |||
ثّ (L01 ss | |||
.group ج | |||
ج JV | |||
جھ J#V | |||
ج (L01 J | |||
جھ (L01 J# | |||
جّ JJV | |||
جّ (L01 JJ | |||
_) جیت J'i:t | |||
_) جوا J'ava: | |||
.group چ | |||
@@ -139,43 +203,71 @@ _) ای e: | |||
چھ c#V | |||
چ (L01 c | |||
چھ (L01 c# | |||
چّ ccV | |||
چّ (L01 cc | |||
.group ح | |||
ح HV | |||
ح (L01 H | |||
ح (_ H | |||
حّ HHV | |||
حّ (L01 HH | |||
.group خ | |||
خ xV | |||
خ (L01 x | |||
خت(_ xt | |||
خّ xxV | |||
خّ (L01 xx | |||
_) خوش x'US | |||
_) خود x'Ud | |||
_) خواہش xv'a:HIS | |||
.group د | |||
د dV | |||
دھ d#V | |||
د (L01 d | |||
دھ (L01 d# | |||
دّ ddV | |||
دّ (L01 dd | |||
.group ڈ | |||
ڈ d.V | |||
ڈھ d.#V | |||
ڈ (L01 d. | |||
ڈھ (L01 d.# | |||
ڈّ d.d.V | |||
ڈّ (L01 d.d. | |||
.group ذ | |||
ذ DV | |||
ذ (L01 D | |||
ذّ DDV | |||
ذّ (L01 DD | |||
.group ر | |||
ر RV | |||
ر (L01 R | |||
رّ RRV | |||
رّ (l01 RR | |||
.group ڑ | |||
ڑ r.V | |||
ڑ (L01 r. | |||
ڑّ r.r.V | |||
ڑّ (L01 r.r. | |||
ڑھ r.hV | |||
ڑھ (L01 r.h | |||
.group ز | |||
ز zV | |||
ز (L01 z | |||
زّ zzV | |||
زّ (L01 zz | |||
.group ژ | |||
ژ ZV | |||
@@ -184,60 +276,98 @@ _) ای e: | |||
.group س | |||
س sV | |||
س (L01 s | |||
سّ ssV | |||
سّ (L01 ss | |||
_) سرخ s'URx | |||
_) سن (L01 s'Un | |||
_) سلجھ sUl'aJh | |||
_) سلجھ (L01 sUlJh | |||
_) سدھر sUdh'aR | |||
_) سدھر (L01 sUdhR | |||
.group ش | |||
ش SV | |||
ش (L01 S | |||
شّ SSV | |||
شّ (L01 SS | |||
.group ص | |||
ص s.V | |||
ص (L01 s. | |||
صّ ssV | |||
صّ (L01 ss | |||
.group ض | |||
ض zV | |||
ض (L01 z | |||
ضّ zzv | |||
ضّ (L01 zz | |||
.group ط | |||
ط tV | |||
طھ t#V | |||
ط (L01 t | |||
طھ (L01 t# | |||
طّ ttV | |||
طّ (L01 tt | |||
.group ظ | |||
ظ z.V | |||
ظ (L01 z. | |||
ظّ z.z.V | |||
ظّ (L01 z.z. | |||
.group غ | |||
غ QV | |||
غ (L01 Q | |||
غّ QQV | |||
غّ (L01 QQ | |||
.group ف | |||
ف fV | |||
ف (L01 f | |||
فّ ffV | |||
فّ (L01 ff | |||
.group ق | |||
ق qV | |||
ق (L01 q | |||
قّ qqV | |||
قّ (L01 qq | |||
.group ک | |||
ک kV | |||
کھ k#V | |||
ک (L01 k | |||
کھ (L01 k# | |||
کّ kkV | |||
کّ (L01 kk | |||
_) کتن k'Itn | |||
.group گ | |||
گ gV | |||
گھ g#V | |||
گ (L01 g | |||
گھ (L01 g# | |||
گّ ggV | |||
گّ (L01 gg | |||
_) گرفت g'IRIft | |||
_) گزر gUz'aR | |||
_) گزر (L01 gUzR | |||
.group ل | |||
ل lV | |||
ل (L01 l | |||
لّ llV | |||
لّ (L01 ll | |||
لکھ l'Ik# | |||
.group م | |||
م mV | |||
م (L01 m | |||
مّ mmV | |||
مّ (L01 mm | |||
_) مشکل m'USk,Il | |||
.group ن | |||
ن nV | |||
@@ -246,6 +376,13 @@ _) ای e: | |||
@) ن (د n | |||
@) ن (ب n | |||
@) ن (س n | |||
نّ nnV | |||
نّ (L01 nn | |||
_) نکل nIk'al | |||
_) نکل (L01 nIkl | |||
@) ن (چ n | |||
_) نکال nIk'a:l | |||
_) نگاہ nIg'a:H | |||
.group ں | |||
ں n // this should nasalize the vowel | |||
@@ -258,9 +395,17 @@ _) ای e: | |||
_) ہ Ha | |||
_) ہ (L01 H | |||
_) ہ (ند HI | |||
ہّ HHV | |||
ہّ (L01 HH | |||
ہ (_ a | |||
.group ّ | |||
ّ | |||
.group ً | |||
ً | |||
// Common symbols | |||
@@ -1,5 +1,4 @@ | |||
name Irish Gaeilge | |||
language ga | |||
dictrules 1 // fix for eclipsis |
@@ -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 | |||
// 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 | |||
// "gider" TEST | |||
IF nextPhW(D) AND next2PhW(V) OR next2PhW(?V) THEN | |||
length 90 | |||
ENDIF | |||
// "siden" | |||
IF nextVowel(3) OR nextVowel(V) OR nextVowel(@) OR nextVowel(@-) AND nextPhW(D) THEN | |||
// PB long vowel followed by certain vowels - "pigen" [p'i@-n] | |||
IF nextPhW(#@) OR nextPhW(#e) THEN | |||
length 150 | |||
ENDIF | |||
// "lise" | |||
IF nextPhW(isNotVowel) AND nextVowel(@-) OR nextVowel(@) THEN | |||
// Only this vowel (in this case [i]) | |||
IF thisPh(isFinalVowel) AND thisPh(isWordEnd) AND thisPh(isWordStart) OR prevPhW(_) 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 | |||
// This vowel is word end - longer because it sounds too short | |||
// "sig", "si" | |||
IF thisPh(isWordEnd) THEN | |||
length 120 | |||
ENDIF | |||
// "vilje" | |||
// "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 | |||
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 150 | |||
ENDIF | |||
// "delte", "mante", "evig" [evi] | |||
IF nextVowel(3) OR nextVowel(V) OR nextVowel(@) OR nextVowel(@) OR nextVowel(@-) THEN | |||
length 90 //150 | |||
// "delte", "mente" | |||
IF nextPhW(#e) OR nextPhW(#@) OR next2PhW(#e) OR next2PhW(#@) 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 | |||
ipa a | |||
length 90 //150 | |||
// "same", "sale", "bade" - consonant + gooup #e or group #@: long | |||
IF next2PhW(#@) OR next2PhW(#e) THEN | |||
length 150 | |||
ENDIF | |||
// 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 | |||
// PB "sable", "sabler", "anede", "David" | |||
IF nextVowel(3) OR nextVowel(V) OR nextVowel(@) OR nextVowel(i) OR nextVowel(@-) THEN | |||
// Only this vowel (in this case [&]) | |||
IF thisPh(isFinalVowel) AND thisPh(isWordEnd) AND thisPh(isWordStart) OR prevPhW(_) 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 | |||
// "stadig" [st&Di], "stadigt" [st&Dit] | |||
IF nextPhW(isNotVowel) AND next2PhW(i) 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 | |||
length 240 | |||
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 | |||
ENDIF | |||
// "syg" [sy] | |||
IF thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN | |||
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 | |||
// "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) |
@@ -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 | |||
@@ -35,7 +35,7 @@ | |||
#define mkdir(p1,p2) mkdir(p1) | |||
#define PATHSEP '\\' | |||
//#define USE_PORTAUDIO | |||
#define USE_PORTAUDIO | |||
//#define USE_NANOSLEEP | |||
#define NO_VARIADIC_MACROS | |||
#define __cdecl |
@@ -35,7 +35,7 @@ | |||
#define mkdir(p1,p2) mkdir(p1) | |||
#define PATHSEP '\\' | |||
//#define USE_PORTAUDIO | |||
#define USE_PORTAUDIO | |||
//#define USE_NANOSLEEP | |||
#define NO_VARIADIC_MACROS | |||
#define __cdecl |
@@ -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]); |
@@ -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; |
@@ -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 |
@@ -51,7 +51,7 @@ | |||
#endif | |||
#ifdef _ESPEAKEDIT | |||
// USE_PORTAUDIO or USE_PULSEAUDIO are now defined in the makefile | |||
#define USE_PORTAUDIO | |||
#define USE_ASYNC | |||
#define LOG_FRAMES // write keyframe info to log-espeakedit | |||
#endif |
@@ -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 |
@@ -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++; |
@@ -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 |