Fixed length stressed vowels in tr_language.c (see #80). Improved phonemes, new statements for [a] and long close [o]. Added last improvements in italian dict source tested on april-may 2016.master
| @@ -1,6 +1,6 @@ | |||
| | |||
| // This file is UTF-8 encoded | |||
| // Updated 2016 march 30 by Chris, Christian Leo M, <[email protected]> | |||
| // Updated 2016 june 4 by Chris, Christian Leo M, <[email protected]> | |||
| // $alt change [e] or [o] in the stressed syllable to [E] or [O] | |||
| // $alt2 change [E] or [O] in the stressed syllable to [e] or [o] | |||
| @@ -13,17 +13,17 @@ _a a: | |||
| b bi | |||
| c tSi | |||
| d d['i: | |||
| _e e: | |||
| _e E: | |||
| f 'Effe | |||
| g dZi | |||
| h ak:a | |||
| _i i: | |||
| j 'i||l'unga | |||
| j 'i||_l'uNga/ | |||
| k kap:a | |||
| l Elle | |||
| m Emme | |||
| n Enne/ | |||
| _o o: | |||
| _o O: | |||
| p pi | |||
| q ku | |||
| r ER*e | |||
| @@ -292,8 +292,8 @@ _0 dz'E*o | |||
| _1 'uno | |||
| _2 d'ue | |||
| _3 t@-*'e | |||
| _4 kw2'at:@-*o | |||
| _5 tS'inkw2e | |||
| _4 kw'at:@-*o | |||
| _5 tS'inkwe | |||
| _6 s'Ej | |||
| _7 s'Et:e | |||
| _8 'Ot:o | |||
| @@ -303,7 +303,7 @@ _11 'unditSi | |||
| _12 d'oditSi | |||
| _13 t@-*'editSi | |||
| _14 kw2at:'oRditSi | |||
| _15 kw2'imditSi | |||
| _15 kw'imditSi | |||
| _16 s'editSi | |||
| _17 ditSass'Et:e | |||
| _18 ditS'Ot:o | |||
| @@ -319,7 +319,7 @@ _28 vent'Ot:o | |||
| _29 ventin'Ove | |||
| _3X t@-*'enta | |||
| _4X kua*'a:nta | |||
| _5X tSinkw2'anta | |||
| _5X tSinkw'anta | |||
| _6X sess'anta | |||
| _7X set:'anta | |||
| _8X ot:'anta | |||
| @@ -345,8 +345,8 @@ _#ª a | |||
| _1ox p@-*im | |||
| _2ox sekond | |||
| _3ox tE@-*ts | |||
| _4ox kw2a:@-*t | |||
| _5ox kw2int | |||
| _4ox kwa:@-*t | |||
| _5ox kwint | |||
| _6ox sEst | |||
| _7ox s'Et:im | |||
| _8ox ot:av | |||
| @@ -355,8 +355,8 @@ _9ox non | |||
| _1o un'Ezim | |||
| _2o du'Ezim | |||
| _3o t@-*e'Ezim | |||
| _4o kw2at:@-*'Ezim | |||
| _5o tSinkw2'Ezim | |||
| _4o kwat:@-*'Ezim | |||
| _5o tSinkw'Ezim | |||
| _6o sEj'Ezim | |||
| _7o sEt:'Ezim | |||
| _8o Ot:'Ezim | |||
| @@ -376,7 +376,7 @@ _19o ditSan:Ov'Ezim | |||
| _20o vent'Ezim | |||
| _30o t@-*ent'Ezim | |||
| _40o kua*a:nt'Ezim | |||
| _50o tSinkw2ant'Ezim | |||
| _50o tSinkwant'Ezim | |||
| _60o sessant'Ezim | |||
| _70o set:ant'Ezim | |||
| _80o ot:ant'Ezim | |||
| @@ -432,6 +432,7 @@ uk $abbrev | |||
| unicef $1 | |||
| url u||eR*e||'El:e $only | |||
| usb $abbrev | |||
| utc ,u||ti||tS'i | |||
| wwf vu||vu||'Ef:e | |||
| www v,u||_vu||_v'u | |||
| xml iks||em:e||'El:e | |||
| @@ -496,11 +497,9 @@ sue $u+ | |||
| nostre $u+ | |||
| vostre $u+ | |||
| questo $u+ | |||
| questa $u+ | |||
| questi $u+ $nounf | |||
| queste $u+ | |||
| quest $u+ $nounf | |||
| (questa è) kw'esta||'E | |||
| (questo è) kw'esto/||,E | |||
| quel $u+ | |||
| quella $u+ | |||
| quei kw2eI | |||
| @@ -533,7 +532,7 @@ mentre $u+ | |||
| neanche $u+ $brk | |||
| né $u+ $brk $only | |||
| no nO $strend | |||
| non $u $only | |||
| non $u $verbf $only | |||
| o $u+ $brk | |||
| ogni $u+ | |||
| oltre $u+ | |||
| @@ -828,6 +827,7 @@ disney $1 | |||
| disneyland $1 | |||
| display displ'ei | |||
| device dIv'aIs | |||
| door d'o:@-* $onlys | |||
| doppler $1 | |||
| down d'a/:w2n | |||
| download d'a/:w2nl,o:d | |||
| @@ -1192,7 +1192,7 @@ rock'n'roll @-*,Oken@-*'o:l | |||
| (déjà vu) deIZa:||v'u: | |||
| (ladies and gentlemen) l'eIdIz||and||dZ'Ent@lm@n | |||
| (nôtre dame) noUt@-*'da:m | |||
| (question time) kw2'estiont'aIm | |||
| (question time) kw'estiont'aIm | |||
| // Main nouns Dictionary (see also it_listx) | |||
| @@ -1534,7 +1534,6 @@ retino $2 | |||
| revoche $1 | |||
| riavvia @-*iav:'i#a | |||
| riavvio @-*iav:'IO | |||
| riciao @-*i_tS'ao: | |||
| ricordino $3 $noun | |||
| rigoli $1 | |||
| rossonere $3 $alt2 | |||
| @@ -1560,7 +1559,7 @@ schettin $2 | |||
| schizzofrenia $4 | |||
| scia S'ia | |||
| sciabile Si'abile | |||
| sciacquii S,akw2'i:j | |||
| sciacquii S,akw'i:j | |||
| sciacquio S,akw2'i;O | |||
| sciator Si|at'oR | |||
| sciatric Siat@-*'ItS | |||
| @@ -1645,10 +1644,11 @@ com'era kom'E:Ra | |||
| cos'hai koz'a:i | |||
| cos'è koz'E | |||
| dov'è dov'E | |||
| qual'è kwal''E | |||
| tant'è taNt'E | |||
| l'ancora l'ankoRa | |||
| un'ancora un'a:nkoRa | |||
| quand'è kw2aNd'E | |||
| quand'è kwaNd'E | |||
| senz'altro sents'a:lt@-*o | |||
| nessun'altra nessun'alt@-*a | |||
| ultim'ora ultim'ORa | |||
| @@ -1660,8 +1660,7 @@ vent'anni vent'an:I | |||
| (principi attivi) p@-*intS'i:pI||at:'ivI | |||
| (principi morali) p@-*intS'i:pI||moR'alI | |||
| (principi sociali) p@-*intS'i:pI||sotS'alI | |||
| ciao tS'ao_ | |||
| (ciao a) tS'ao||_|,a_| | |||
| (ciao ciao) tS,a/o||tSao | |||
| (un turbine) un||_t'u@-*bine | |||
| (gli auguri) l^iaw2g'u:RI | |||
| (pro capite) p@-*ok'a:pIte | |||
| @@ -2032,6 +2031,7 @@ sandviciano $3 | |||
| sangano $2 | |||
| sanlazzaro san_l'adz:aRo | |||
| saragozzano $4 | |||
| sarcidano $3 | |||
| sarezzano $3 | |||
| sarnano $2 | |||
| sassano $2 | |||
| @@ -2177,6 +2177,7 @@ asdrubale $2 | |||
| asimov 'azim,ov | |||
| asterix $1 | |||
| augias a'u:dZas | |||
| avirex $1 | |||
| bardot ba@-*d'o | |||
| bartali $1 | |||
| bastian $2 | |||
| @@ -2232,6 +2233,7 @@ debor $1 $alt | |||
| deborah $1 $alt2 | |||
| deidda de'i:d:a | |||
| delrio del||@-*'io/ | |||
| dessolis $2 $onlys | |||
| diaz d'iats $only | |||
| Dickinson $1 | |||
| diocle $1 | |||
| @@ -2767,6 +2769,7 @@ attentino $2 | |||
| atterrano $2 | |||
| atterrino $2 | |||
| attestino $2 | |||
| attieniti $2 | |||
| attirano $2 | |||
| attirino $2 | |||
| attonit $2 | |||
| @@ -4305,6 +4308,7 @@ spolver $1 | |||
| spolverano $1 | |||
| spopolano $1 | |||
| sporchino $1 | |||
| spostino $1 $alt2 | |||
| sprecano $1 | |||
| spregia $1 | |||
| sprigionino $2 | |||
| @@ -4566,11 +4570,14 @@ zuccherano $1 | |||
| (come desideri) kome||dez'ideRi | |||
| (così desideri) koz'i||_dez'i:deRI | |||
| (cosa desideri) k'O:za||dez'i:deRI | |||
| (cui desideri) k'u:|I||dez'ide**I | |||
| (invece desideri) inv'etSe||dez'ide**I | |||
| (la desideri) ladez'i:deRi | |||
| (lo desideri) lodez'ideRi | |||
| (mi desideri) mI||dez'i:deRI | |||
| (quando desideri) kw2ando||_|dez'i:deRi | |||
| (quindi desideri) kw2,indi||_dez'i:deRi | |||
| // (non desideri) non||dez'ideRI | |||
| (quando desideri) kwando||_|dez'i:deRi | |||
| (quindi desideri) kw,indi||_dez'i:deRi | |||
| // pronominal verbs | |||
| @@ -4605,6 +4612,8 @@ causatoci $3 | |||
| cercal $1 | |||
| cercasi $1 | |||
| chiuditi kj'uditI | |||
| cliccal $1 | |||
| cliccaci $1 | |||
| compil $2 | |||
| comunicacel $2 | |||
| comunical $2 | |||
| @@ -4644,6 +4653,7 @@ evolverci $2 | |||
| evolversi $2 | |||
| fammel $1 | |||
| fattel f'at:el | |||
| fermati $1 $atstart | |||
| fermatosi $2 | |||
| formatosi $2 | |||
| giuravi $2 | |||
| @@ -4659,6 +4669,7 @@ illuminaci $2 | |||
| illuminami $2 | |||
| illuminal $2 | |||
| immergiti $2 | |||
| immetterl $2 | |||
| impostaci $2 | |||
| impostomi $2 | |||
| indirizziamoci indiRi_tsj'amotSI // $5 | |||
| @@ -4696,6 +4707,7 @@ pizzicami $1 | |||
| portala $1 | |||
| portalo $1 | |||
| portatel $2 | |||
| posizionati $4 $atstart | |||
| presentaci $2 | |||
| promessomi $2 | |||
| privaci $1 | |||
| @@ -283,7 +283,7 @@ aporia $3 | |||
| apostat $2 | |||
| apostrof $2 | |||
| apotem $alt | |||
| appen ap:,en | |||
| appen ap:'en | |||
| appendice $3 | |||
| appiomb $alt2 | |||
| appoggi $alt | |||
| @@ -1115,7 +1115,6 @@ costumanz kostum'an|ts | |||
| cot $alt | |||
| cottim $alt | |||
| coyote $alt | |||
| cozzoli k'o_tsolI | |||
| cratere $2 | |||
| cred $alt | |||
| credit $1 $alt2 | |||
| @@ -1,7 +1,7 @@ | |||
| // Italian translation rules | |||
| // This file is UTF-8 encoded | |||
| // Last update: 2016 march 3 by Chris <[email protected]> | |||
| // Last update: 2016 june 1 by Chris <[email protected]> | |||
| // letter groups | |||
| // A any vowel | |||
| // C any consonant | |||
| @@ -67,18 +67,18 @@ | |||
| cqui (A k:wj | |||
| c (Y tS | |||
| cc (Y tS: | |||
| ch (Y k | |||
| ch (Y k | |||
| cch (Y k: | |||
| s) ch (A k | |||
| ch (a tS | |||
| ch (o tS | |||
| ch (u tS | |||
| ci (A tS | |||
| cci (A tS: | |||
| @) co (lA_ =ko | |||
| ci (A tS | |||
| cci (A tS: | |||
| @) co (lA_ =ko | |||
| cardia (_ ka@-*d'ia | |||
| cardie (_ ka@-*d'ie | |||
| _) c' (P2t tS | |||
| _) c' (P2t tS | |||
| @@A) ce (A_ =tSE | |||
| ciano (_ =tSano // verbs | |||
| cciano (_ =tS:ano | |||
| @@ -90,18 +90,19 @@ | |||
| cuocer (L04_ kU'OtSe@-* | |||
| compra (L07_ k'omp@-*a | |||
| _L04Z) capit (A_ k'a:p,it | |||
| _L04Z) capit (ano_ k'a:p,it | |||
| _L04Z) capit (ano_ k'a:p,it | |||
| correr (L04_ k'o:R*eR | |||
| ccorrer (L04_ k:'o:R*eR | |||
| chiama (L07_ ki'a:ma | |||
| a) cquista (L07_ k:w2'ista | |||
| a) cquista (L07_ k:w'ista | |||
| re) cat (AL07_ k''at | |||
| .group d | |||
| d d | |||
| dd d: | |||
| d d | |||
| dd d: | |||
| n) dere (_ =deRe | |||
| _) dall' (P5t dall | |||
| _) dell' (P5t dell | |||
| _) dall' (P5t dall | |||
| _) dell' (P5t dell | |||
| _) d' (P2t d | |||
| donat (Y_ don'at | |||
| dona (L07_ d'ona // Pron.s verbs | |||
| @@ -116,7 +117,7 @@ | |||
| day (_ d'eI // foreign | |||
| .group e | |||
| e e | |||
| e e | |||
| ei (d Ej | |||
| ei (c Ej | |||
| ei (colA_ ei | |||
| @@ -125,48 +126,48 @@ | |||
| @t) ei (_ 'eI | |||
| @) ey (_ =eI | |||
| @C) e (_S1q e/ // lookup it_list without suffix | |||
| e (C_ E | |||
| e (A E | |||
| e (C%A_ E | |||
| e (C_ E | |||
| e (A E | |||
| e (C%A_ E | |||
| _d) e (llA_ e | |||
| e (CiCA_ E | |||
| e (CulA_ E | |||
| e (llu E | |||
| e (st E | |||
| e (ttA_ e | |||
| c) e (ttA_ E | |||
| e (tti@ E | |||
| e (zzA_ e | |||
| e (r E | |||
| e (rsi_N e | |||
| e (CiCA_ E | |||
| e (CulA_ E | |||
| e (llu E | |||
| e (st E | |||
| e (ttA_ e | |||
| c) e (ttA_ E | |||
| e (tti@ E | |||
| e (zzA_ e | |||
| e (r E | |||
| e (rsi_N e | |||
| A) e (r_ 'E | |||
| _r) e E | |||
| @) e (ci_ =e | |||
| e (l E | |||
| r) e (m E | |||
| e (monA_ 'e | |||
| e (nA_ E | |||
| g) e (ne E | |||
| e (ngA_ e | |||
| e (nCA_ E | |||
| @m) e (ntA_ e | |||
| %C) e (rA_ =E | |||
| C) e (re_ =E | |||
| gg) e (ro_ E | |||
| gg) e (ri_ E | |||
| f) e (rm e | |||
| @) e (rrimo_ 'E | |||
| e (l E | |||
| r) e (m E | |||
| e (monA_ 'e | |||
| e (nA_ E | |||
| g) e (ne E | |||
| e (ngA_ e | |||
| e (nCA_ E | |||
| @m) e (ntA_ e | |||
| %C) e (rA_ =E | |||
| C) e (re_ =E | |||
| gg) e (ro_ E | |||
| gg) e (ri_ E | |||
| f) e (rm e | |||
| @) e (rrimo_ 'E | |||
| an) e (simA_ 'e: | |||
| @) e (simA_ 'E | |||
| h) e (ss e | |||
| m) e (ss e | |||
| _sC) e (ss e | |||
| e (ssa_ e | |||
| e (tr E | |||
| e (ti E | |||
| e (vi_ E | |||
| e (vo_ E | |||
| @) e (volA_ 'e | |||
| h) e (ss e | |||
| m) e (ss e | |||
| _sC) e (ss e | |||
| e (ssa_ e | |||
| e (tr E | |||
| e (ti E | |||
| e (vi_ E | |||
| e (vo_ E | |||
| @) e (volA_ 'e | |||
| e (zA E | |||
| CC) eggia (no_ 'EdZ:a | |||
| C) ender (L04_ 'ende@-* // Pron.s verbs | |||
| @@ -190,6 +191,7 @@ | |||
| fobi (A_ fob'i; | |||
| fob (A_ =fob | |||
| farma (ci_ f'a@-*ma | |||
| ferma (L07_ f'e@-*ma/ | |||
| .group g | |||
| g g | |||
| @@ -478,10 +480,10 @@ | |||
| .group q | |||
| q k | |||
| qu (AK kw2 | |||
| qu (A kw | |||
| qui (A kwj | |||
| _) quell' (P6t kw2Ell | |||
| _) quest' (P6t kw2est | |||
| _) quell' (P6t kwEll | |||
| _) quest' (P6t kwest | |||
| .group r | |||
| C) r @-* | |||
| @@ -559,7 +561,8 @@ | |||
| .group t | |||
| t t | |||
| tt t: | |||
| @a) tria (_ t@-*'ia | |||
| _) t' (P2t t | |||
| @a) tria (_ t@-*'ia | |||
| @a) trie (_ t@-*'ie | |||
| a) ttoria (_ t:oR'ia | |||
| a) ttorie (_ t:oR'Ie | |||
| @@ -575,6 +578,8 @@ | |||
| _) togli (L04_ t'Ol^i | |||
| trova (L07_ t@-*'Ova | |||
| _) tutt' (P5t tut: | |||
| au) tentica (L07_ t'ENtIka/ | |||
| a) ttiva (L07_ t:'iva | |||
| L02) tre (_ t@-*'e | |||
| .group u | |||
| @@ -598,9 +603,9 @@ | |||
| uomini (_ w2'Omini | |||
| .group v | |||
| v v | |||
| vv v: | |||
| vvi (A v:i | |||
| v v | |||
| vv v: | |||
| vvi (A v:i | |||
| C) vi (A vI | |||
| C) vi (A_ =vI | |||
| A) vino (_ =vino // verbs | |||
| @@ -612,6 +617,7 @@ | |||
| _in) vader (L04_ v'a:de@-* | |||
| _) vota (L07_ v'Ota | |||
| s) veglia (L07_ v'el^ia | |||
| volta (L07_ v'Olta | |||
| .group w | |||
| w w2 | |||
| @@ -737,6 +743,6 @@ _L16_) : (_L17D_ _%%E_ // Say time | |||
| D) , (D v'i@-*gola | |||
| __) - (_D meno | |||
| A_) - (_D _ | |||
| C_) - (_D _ | |||
| § pa*'ag@-*afO | |||
| C_) - (_D _ | |||
| § pa*'ag@-*afO | |||
| 's (S2t s | |||
| @@ -1,6 +1,6 @@ | |||
| | |||
| //==================================================== | |||
| // Italian, last update 2 jan 2016 by Chris <[email protected]> | |||
| // Italian, last update 4 june 2016 by Chris <[email protected]> | |||
| //==================================================== | |||
| phoneme : // Lengthen previous vowel by "length" | |||
| @@ -13,23 +13,31 @@ phoneme a | |||
| vowel starttype #a endtype #a | |||
| length 160 | |||
| ChangeIfNotStressed(a/) | |||
| IF thisPh(isWordEnd) AND prevPhW(t) AND thisPh(isStressed) THEN | |||
| FMT(vowel/a) | |||
| ENDIF | |||
| IF nextPhW(o/) THEN | |||
| FMT(vowel/a_2) | |||
| ENDIF | |||
| IF prevPhW(isVowel) OR prevPhW(j) THEN | |||
| FMT(vowel/a, 90) | |||
| ENDIF | |||
| FMT(vwl_it/a) | |||
| endphoneme | |||
| phoneme a/ | |||
| vowel starttype #a endtype #a | |||
| length 140 | |||
| length 145 | |||
| IF thisPh(isWordEnd) THEN | |||
| FMT(vowel/a#_4, 65) | |||
| FMT(vowel/a_7, 75) | |||
| ENDIF | |||
| FMT(vowel/a_7) | |||
| FMT(vowel/a_8) | |||
| endphoneme | |||
| phoneme e | |||
| vowel starttype #e endtype #e | |||
| length 150 | |||
| length 155 | |||
| ChangeIfNotStressed(e/) | |||
| FMT(vowel/e_2, 80) | |||
| endphoneme | |||
| @@ -47,7 +55,7 @@ endphoneme | |||
| phoneme E | |||
| vowel starttype #e endtype #e | |||
| length 145 | |||
| length 150 | |||
| ChangeIfUnstressed(e/) | |||
| FMT(vwl_it/e_open) | |||
| endphoneme | |||
| @@ -83,19 +91,19 @@ endphoneme | |||
| phoneme o | |||
| vowel starttype #o endtype #o | |||
| length 150 | |||
| length 160 | |||
| ChangeIfNotStressed(o/) | |||
| FMT(vwl_it/o) | |||
| endphoneme | |||
| phoneme o/ | |||
| vowel starttype #o endtype #o | |||
| length 140 | |||
| length 145 | |||
| IF nextPhW(isNasal) OR nextPhW(isLiquid) THEN | |||
| FMT(vwl_it/o_open, 80) | |||
| ENDIF | |||
| IF thisPh(isWordEnd) THEN | |||
| FMT(vowel/o, 65) | |||
| FMT(vwl_it/o, 65) | |||
| ENDIF | |||
| FMT(vowel/o) | |||
| endphoneme | |||
| @@ -186,14 +194,17 @@ endphoneme | |||
| phoneme ts | |||
| vls alv afr sibilant | |||
| voicingswitch dz | |||
| voicingswitch s | |||
| lengthmod 9 | |||
| Vowelin f1=0 f2=1700 -300 300 f3=-100 60 len=60 | |||
| Vowelout f1=0 f2=1700 -300 250 f3=-100 70 rms=14 | |||
| IF nextPh(isPause2) THEN | |||
| IF nextPh(isNotVowel) THEN | |||
| WAV(ustop/ts_, 80) | |||
| ENDIF | |||
| WAV(ustop/ts_, 70) | |||
| IF prevPhW(isNotVowel) THEN | |||
| WAV(ustop/ts_, 70) | |||
| ENDIF | |||
| WAV(ustop/ts) | |||
| endphoneme | |||
| phoneme dz | |||
| @@ -1465,15 +1465,6 @@ void SetWordStress(Translator *tr, char *output, unsigned int *dictionary_flags, | |||
| if (shorten) | |||
| p++; | |||
| } | |||
| if ((v_stress >= 4) && (tr->langopts.param[LOPT_IT_LENGTHEN] == 2)) { | |||
| // LANG=Italian, lengthen penultimate stressed vowels, unless followed by 2 consonants | |||
| if ((v == (vowel_count - 2)) && (syllable_weight[v] == 0)) { | |||
| *output++ = phcode; | |||
| phcode = phonLENGTHEN; | |||
| } | |||
| } | |||
| v++; | |||
| } | |||
| @@ -978,9 +978,9 @@ Translator *SelectTranslator(const char *name) | |||
| case L('i', 't'): // Italian | |||
| { | |||
| static const short stress_lengths_it[8] = | |||
| { 165, 100, 170, 150, 0, 0, 215, 303 }; | |||
| { 165, 130, 170, 150, 0, 0, 218, 305 }; | |||
| static const unsigned char stress_amps_it[8] = | |||
| { 16, 15, 16, 14, 20, 22, 22, 24 }; | |||
| { 16, 18, 17, 14, 20, 22, 22, 22 }; | |||
| SetupTranslator(tr, stress_lengths_it, stress_amps_it); | |||