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