Conflicts: dictsource/dict_phonemes phsource/compile_reportmaster
| bangladesj baNglad'ES | bangladesj baNglad'ES | ||||
| barcelona bars@l'o@na | barcelona bars@l'o@na | ||||
| barkly _^_EN | barkly _^_EN | ||||
| batavië bat'A:vi@ | |||||
| bellevue b&lvju: | bellevue b&lvju: | ||||
| bermuda $2 | bermuda $2 | ||||
| bethlehem bEt_liEm | bethlehem bEt_liEm | ||||
| djakarta dZak'arta | djakarta dZak'arta | ||||
| doebaai $2 | doebaai $2 | ||||
| duitswes dYytsv'Es | duitswes dYytsv'Es | ||||
| eastgate _^_EN | |||||
| eastgate _^_EN | |||||
| efese e@f@s@ | efese e@f@s@ | ||||
| ermelo &rm@lo@ | ermelo &rm@lo@ | ||||
| florida flOrida | florida flOrida | ||||
| richardsbaai ritS@dsb'AI | richardsbaai ritS@dsb'AI | ||||
| riviersonderend r@fi:rsOn@r_'Ent | riviersonderend r@fi:rsOn@r_'Ent | ||||
| robertson _^_EN | robertson _^_EN | ||||
| saldanha sald'ana | |||||
| salvador salvadO:r | salvador salvadO:r | ||||
| santiago santi;'A:gu | santiago santi;'A:gu | ||||
| secunda s@kunda | secunda s@kunda | ||||
| abdullah abd'ula | abdullah abd'ula | ||||
| Abiméleg abin'e@lEx2 | Abiméleg abin'e@lEx2 | ||||
| abraham A:bram | abraham A:bram | ||||
| achilles ak'il@s | |||||
| ackerman ak@rman | ackerman ak@rman | ||||
| adam adam | adam adam | ||||
| adonis ad'o@n@s | |||||
| adriaan A:drijan | adriaan A:drijan | ||||
| adrie A:dri | adrie A:dri | ||||
| agnes _^_EN | agnes _^_EN | ||||
| lucas lukas | lucas lukas | ||||
| lukas lukas | lukas lukas | ||||
| lulu lulu | lulu lulu | ||||
| lydia lIdia | |||||
| mabalêl mabal'&l | mabalêl mabal'&l | ||||
| mabel _^_EN | mabel _^_EN | ||||
| macgill m@gjil | macgill m@gjil | ||||
| ogden _^_EN | ogden _^_EN | ||||
| olga Olga | olga Olga | ||||
| ontong OntON | ontong OntON | ||||
| pamela _^_EN | |||||
| patrick _^_EN | patrick _^_EN | ||||
| petoors p@to@rs | petoors p@to@rs | ||||
| phillips fIl@ps | phillips fIl@ps | ||||
| (nie waar nie) n,i||v,A:r||n'i | (nie waar nie) n,i||v,A:r||n'i | ||||
| (sy aan sy) s,eI||an||s'eI | (sy aan sy) s,eI||an||s'eI | ||||
| // Latin terms | |||||
| ab _^_LA | |||||
| actio _^_LA | |||||
| ad _^_LA | |||||
| alterius _^_LA | |||||
| amico _^_LA | |||||
| amicus _^_LA | |||||
| beneficium _^_LA | |||||
| bona _^_LA | |||||
| bono _^_LA | |||||
| contestatio _^_LA | |||||
| cum _^_LA | |||||
| curiae _^_LA | |||||
| (de facto) _^_LA | |||||
| (de jure) _^_LA | |||||
| delicti _^_LA | |||||
| delicto _^_LA | |||||
| deo _^_LA | |||||
| directus _^_LA | |||||
| divisionis _^_LA | |||||
| dolus _^_LA | |||||
| domicilium _^_LA | |||||
| eventualis _^_LA | |||||
| exclusio _^_LA | |||||
| executandi _^_LA | |||||
| excussionis _^_LA | |||||
| extremis _^_LA | |||||
| facto _^_LA | |||||
| factum _^_LA | |||||
| fide _^_LA | |||||
| fides _^_LA | |||||
| forma _^_LA | |||||
| grata _^_LA | |||||
| habitatio _^_LA | |||||
| inclusio _^_LA | |||||
| (in debiti) _^_LA | |||||
| (in absentia) _^_LA | |||||
| (in extremis) _^_LA | |||||
| initio _^_LA | |||||
| inter _^_LA | |||||
| ipsa _^_LA | |||||
| jus _^_LA | |||||
| laude _^_LA | |||||
| litis _^_LA | |||||
| loquitur _^_LA | |||||
| luna _^_LA | |||||
| mercatrix _^_LA | |||||
| mutandi _^_LA | |||||
| mutatis _^_LA | |||||
| nisi _^_LA | |||||
| pauperis _^_LA | |||||
| persona _^_LA | |||||
| publica _^_LA | |||||
| restitutio _^_LA | |||||
| sine _^_LA | |||||
| unius _^_LA | |||||
| usufruct _^_LA | |||||
| usufructus _^_LA | |||||
| usus _^_LA | |||||
| vivendi _^_LA | |||||
| vivos _^_LA | |||||
| // main word list | // main word list | ||||
| babelaas bab@lA:s | babelaas bab@lA:s | ||||
| barrikade $3 | barrikade $3 | ||||
| bedewete be@d@ve@t@ | |||||
| beide beId@ | beide beId@ | ||||
| bekaf b&kaf | bekaf b&kaf | ||||
| belangriker b@laNr@k,Ir | belangriker b@laNr@k,Ir | ||||
| beta be@ta $only | beta be@ta $only | ||||
| betlehemster bEtli:Emst&r | betlehemster bEtli:Emst&r | ||||
| bewe be@v@ | bewe be@v@ | ||||
| bewebeen be@v@be@n | |||||
| bewend be@v@nt | bewend be@v@nt | ||||
| bewering b@ve@rIN | bewering b@ve@rIN | ||||
| biopsie bi'Opsi | biopsie bi'Opsi | ||||
| dadelik dA:d@lIk | dadelik dA:d@lIk | ||||
| dagorde dax2_Ord@ | dagorde dax2_Ord@ | ||||
| dagster dax2st&r | dagster dax2st&r | ||||
| dagure dax2_yr@ | |||||
| daisy deIzi | daisy deIzi | ||||
| darem dar@m | darem dar@m | ||||
| dawidster dA:v@tst&r | dawidster dA:v@tst&r | ||||
| //gesamentlik x2@sA:m@ntl@k | //gesamentlik x2@sA:m@ntl@k | ||||
| gentleman _^_EN | gentleman _^_EN | ||||
| germolene dZI:m@l'i:n | germolene dZI:m@l'i:n | ||||
| geseling x2e@s@l@N | |||||
| gevallene x2@fal@n@ | gevallene x2@fal@n@ | ||||
| gewellys x2e@v@lleIs | gewellys x2e@v@lleIs | ||||
| gladiator x2ladi'A:tOr | gladiator x2ladi'A:tOr | ||||
| gomorra x2@mOra | gomorra x2@mOra | ||||
| graffiti graf'iti | graffiti graf'iti | ||||
| gratis x2r'A:t@s | gratis x2r'A:t@s | ||||
| groepeer $2 | |||||
| grondys x2rO:nt_eIs | grondys x2rO:nt_eIs | ||||
| hallo h'Il,@U | hallo h'Il,@U | ||||
| kulture $2 | kulture $2 | ||||
| kunsmatige kWnsm'A:t@x2@ | kunsmatige kWnsm'A:t@x2@ | ||||
| kwansuis $2 | kwansuis $2 | ||||
| kweekwal kwe@kval | |||||
| lasagne las'anj@ | lasagne las'anj@ | ||||
| legaat l@x2A:t | legaat l@x2A:t | ||||
| macho matS@U | macho matS@U | ||||
| madame mad'A:m | madame mad'A:m | ||||
| madamoiselle _^_FR | madamoiselle _^_FR | ||||
| manalleen man_ale@n | |||||
| maskering mask'e@r@N $only | maskering mask'e@r@N $only | ||||
| massaal $2 | massaal $2 | ||||
| massale $2 | massale $2 | ||||
| negeer n@x2e@r | negeer n@x2e@r | ||||
| negering n@x2e@r@N | negering n@x2e@r@N | ||||
| negester ne@x2@st&r | negester ne@x2@st&r | ||||
| nekaar n&k_A:r | |||||
| nekare n&k_A:r@ | |||||
| netjies nE:icis | netjies nE:icis | ||||
| netjiese nEicis@ | netjiese nEicis@ | ||||
| netsowel nEtso@v&l | netsowel nEtso@v&l | ||||
| verreweg f&r@v&x2 | verreweg f&r@v&x2 | ||||
| verse f&:rs@ | verse f&:rs@ | ||||
| vers f&:rs | vers f&:rs | ||||
| versene f&rs@n@ | |||||
| versindaba f&:rs_@ndA:ba | versindaba f&:rs_@ndA:ba | ||||
| verste f&rst@ | verste f&rst@ | ||||
| verte f&rt@ | verte f&rt@ | ||||
| volswanger $1 | volswanger $1 | ||||
| volte $1 | volte $1 | ||||
| voluit fOl_Yyt | voluit fOl_Yyt | ||||
| voorbene fo@rbe@n@ | |||||
| voorgee fo@rx2e@ | voorgee fo@rx2e@ | ||||
| voorkeer $1 | voorkeer $1 | ||||
| voorkom $2 $only | voorkom $2 $only | ||||
| weergalm $2 | weergalm $2 | ||||
| weerklink $2 | weerklink $2 | ||||
| weervoorspelling $1 | weervoorspelling $1 | ||||
| wegeb v&x2_Eb | |||||
| weggewens v&x2@v'E:ns | weggewens v&x2@v'E:ns | ||||
| welaf v&l_af | welaf v&l_af | ||||
| weleer v&l_'e@r | weleer v&l_'e@r |
| //maintainer: Willem van der Walt | |||||
| //maintainer: Willem van der Walt | |||||
| // email: [email protected] | // email: [email protected] | ||||
| // tel: +27 12 8413996 | // tel: +27 12 8413996 | ||||
| // Meraka Institute, CSIR | // Meraka Institute, CSIR | ||||
| karoo) d d // but Karoodorp/Karoodoring/Karoodistrik, etc. | karoo) d d // but Karoodorp/Karoodoring/Karoodistrik, etc. | ||||
| du (pliC du // duplikaat/dupliseer | du (pliC du // duplikaat/dupliseer | ||||
| duvet d%uveI: // duvet/-s/duvetoortreksel, etc. | duvet d%uveI: // duvet/-s/duvetoortreksel, etc. | ||||
| @) d (yster t_ // fix d sound, pause: bind-/brand-/vuurherd-/smeedyster... | |||||
| .group de | .group de | ||||
| de (flasi d%e@ // fix e sound: deflasie(beleid)/deflasionêr/deflasionisties | de (flasi d%e@ // fix e sound: deflasie(beleid)/deflasionêr/deflasionisties | ||||
| blind) e (C@ @ // fix e sound in compounds like: blindekol/-mol/-wese | blind) e (C@ @ // fix e sound in compounds like: blindekol/-mol/-wese | ||||
| _eend) e (CA @ // fix e sound: eendedam/-dans/-kuil/-pastei... | _eend) e (CA @ // fix e sound: eendedam/-dans/-kuil/-pastei... | ||||
| _eend) e (lig e@ // but: eendelig/-e/-heid | _eend) e (lig e@ // but: eendelig/-e/-heid | ||||
| @C) elys @leIs // fix e sound: beskuldigde-/debiteure-/dividende-/geskenkelys | |||||
| _meid) e (C @ // fix e sound: meidekamer/-naaier/-praatjies | _meid) e (C @ // fix e sound: meidekamer/-naaier/-praatjies | ||||
| pous) e (C @ // fix e sound: pousebrood/-klok/-tyd, etc. | pous) e (C @ // fix e sound: pousebrood/-klok/-tyd, etc. | ||||
| _siel) e (@ @ // fix e sound: sielesmart/-troos/-wroeging... | _siel) e (@ @ // fix e sound: sielesmart/-troos/-wroeging... | ||||
| nl) eer e@r // restore default stress: kernleerplan and compounds | nl) eer e@r // restore default stress: kernleerplan and compounds | ||||
| rl) eer e@r // move default stress: agterleer/burgerleer/kelderleer/solderleer | rl) eer e@r // move default stress: agterleer/burgerleer/kelderleer/solderleer | ||||
| sl) eer e@r // words containing sleer take default stress: seemsleer/volstruisleer | sl) eer e@r // words containing sleer take default stress: seemsleer/volstruisleer | ||||
| ep) eer e@r // default stress: (harde-/wilde-)peer and compounds | |||||
| Cep) eer e@r // default stress: (harde-/wilde-)peer and compounds, but (ge)groepeer | |||||
| Cs) eer e@r // words containing seer (meaning pain) take default stress | Cs) eer e@r // words containing seer (meaning pain) take default stress | ||||
| ks) eer 'e@r // annekseer/indekseer/lakseer/takseer and their compounds | ks) eer 'e@r // annekseer/indekseer/lakseer/takseer and their compounds | ||||
| ss) eer 'e@r // but many words cont. sseer take stress: adresseer, etc. | ss) eer 'e@r // but many words cont. sseer take stress: adresseer, etc. | ||||
| gas (ig x2A:s // long a and no pause: gasig/-e/-heid | gas (ig x2A:s // long a and no pause: gasig/-e/-heid | ||||
| gauteng x2%aUtEN //Gauteng and compounds | gauteng x2%aUtEN //Gauteng and compounds | ||||
| _) gh g | _) gh g | ||||
| gh (_ k | |||||
| gh (_ x2 // Tulbagh and similar | |||||
| @) gheid x2eIt // traagheid/leegheid/droogheid/stugheid | @) gheid x2eIt // traagheid/leegheid/droogheid/stugheid | ||||
| ghi (ta g%i // move default stress: ghitaar and compounds/ghitare | ghi (ta g%i // move default stress: ghitaar and compounds/ghitare | ||||
| ght _^_EN | ght _^_EN | ||||
| ge x2@ | ge x2@ | ||||
| C) ge (_ g@ | C) ge (_ g@ | ||||
| _) gebede x2@be@d@ // fix stress and vowel sounds: gebedeboek/-e/-tafel/-s | _) gebede x2@be@d@ // fix stress and vowel sounds: gebedeboek/-e/-tafel/-s | ||||
| gegesel x2@x2e@s@l // fix middle e sound | |||||
| K) gele (_ x2e@l@ // fix stress and e sound: (eier)gele | K) gele (_ x2e@l@ // fix stress and e sound: (eier)gele | ||||
| _) geler x2e@l@r // stress and 1st e sound: geler/gelerig | _) geler x2e@l@r // stress and 1st e sound: geler/gelerig | ||||
| gemel (d x2@m&l // fix e sound: bo-/bowe-/laas-/meergemeld/-e | gemel (d x2@m&l // fix e sound: bo-/bowe-/laas-/meergemeld/-e | ||||
| _) ig (lo ig // fix i and g sounds: iglo(e) | _) ig (lo ig // fix i and g sounds: iglo(e) | ||||
| @) ika (_ =%ik%a // logika/dinamika | @) ika (_ =%ik%a // logika/dinamika | ||||
| &) ike (_S3 @k@ | &) ike (_S3 @k@ | ||||
| &C) ikes (_ @k@s // fix penultimate e sound: (on)belangrikes | |||||
| C) iking @k@N | C) iking @k@N | ||||
| imbe (s @mb@ // fix stress: imbesiel/-e | imbe (s @mb@ // fix stress: imbesiel/-e | ||||
| _) immer (@P5 'Im@r_ // immerafhanklik/immeringesteld, etc. | _) immer (@P5 'Im@r_ // immerafhanklik/immeringesteld, etc. | ||||
| w) it (A It // fix i sound: eiwitafskeiding/witagtig/kwiteer/grondserwituut | w) it (A It // fix i sound: eiwitafskeiding/witagtig/kwiteer/grondserwituut | ||||
| itali (a %it%al%i // move default stress: Italianer/-s and compounds | itali (a %it%al%i // move default stress: Italianer/-s and compounds | ||||
| item itEm // fix e sound in item and compounds | item itEm // fix e sound in item and compounds | ||||
| @) iteit it'eIt // stress on iteit endings | |||||
| iteit it'eIt // stress on iteit endings: universiteit/outoriteit | |||||
| @C) itis (_ 'it@s // stress: many diseases ending in -itis | @C) itis (_ 'it@s // stress: many diseases ending in -itis | ||||
| C) iveer if'e@r // always takes stress | C) iveer if'e@r // always takes stress | ||||
| C) iver (A if'e@r // always takes stress: aktiverende/motivering | C) iver (A if'e@r // always takes stress: aktiverende/motivering | ||||
| .group ka | .group ka | ||||
| @A) kaa (t k'A: // advokaatstoga/fabrikaat/sertifikaatjie/triplikaat and many similar | @A) kaa (t k'A: // advokaatstoga/fabrikaat/sertifikaatjie/triplikaat and many similar | ||||
| @) kate (_ k'A:t@ // plurals of some of the above | @) kate (_ k'A:t@ // plurals of some of the above | ||||
| advo) kate (C 'kA:t@ // fix e sound and stress: advokatekamer/s/-latyn | |||||
| kabare (t k%ab%arE // fix stress and 1st a sound: kabaret/-te and compounds | kabare (t k%ab%arE // fix stress and 1st a sound: kabaret/-te and compounds | ||||
| kabel kA:b@l //stress and e sound | kabel kA:b@l //stress and e sound | ||||
| kabeljou kab@lj'@U //kabeljou and compounds | kabeljou kab@lj'@U //kabeljou and compounds | ||||
| manier m@ni:r //manier and compounds | manier m@ni:r //manier and compounds | ||||
| manifes manifEs // fix vowel sounds: manifes and compounds/manifestasie/manifesteer | manifes manifEs // fix vowel sounds: manifes and compounds/manifestasie/manifesteer | ||||
| mani (ku m%an%i // fix stress and a sound: manikuur and compounds | mani (ku m%an%i // fix stress and a sound: manikuur and compounds | ||||
| manilla (C m%anIl%a // fix stress and a sounds: manillakoevert/-papier, etc. | |||||
| manipu m%an%ip%y // fix stress and a sound: manipuleer/manipulering/manipulasie | manipu m%an%ip%y // fix stress and a sound: manipuleer/manipulering/manipulasie | ||||
| manji (fie m%anj@ // fix stress and i sound: manjifiek/-e | manji (fie m%anj@ // fix stress and i sound: manjifiek/-e | ||||
| man (moe m%an // move default stress: manmoedig/-e/-heid | man (moe m%an // move default stress: manmoedig/-e/-heid | ||||
| ng (eeR Nx2 // diftongeer/gedistingeerde/rangeer and compounds | ng (eeR Nx2 // diftongeer/gedistingeerde/rangeer and compounds | ||||
| ngees nx2e@s // split n/g: leuen-/span-/sportman-/wengees | ngees nx2e@s // split n/g: leuen-/span-/sportman-/wengees | ||||
| e) n (goeC n // split ng: lakengoed/-goeters and similar | e) n (goeC n // split ng: lakengoed/-goeters and similar | ||||
| n (_g N | |||||
| ng (ent Nx2 // kontingent/tangent and derivatives | ng (ent Nx2 // kontingent/tangent and derivatives | ||||
| CA) nger N@r // compounds of vinger/slinger; hangertjie/hongersnood/langeraad/swangerskap/tengerste | CA) nger N@r // compounds of vinger/slinger; hangertjie/hongersnood/langeraad/swangerskap/tengerste | ||||
| @) nges (_ N@s // banges/langes/dinges | @) nges (_ N@s // banges/langes/dinges | ||||
| @) otomie (_N %o@t%um'i // fix o sounds and stress of medical terms: laparotomie, etc. | @) otomie (_N %o@t%um'i // fix o sounds and stress of medical terms: laparotomie, etc. | ||||
| @) otomie (ë %o@t%um'i: // fix o sounds and stress of plurals of medical terms: leukotomieë/nefrotomieë, etc. | @) otomie (ë %o@t%um'i: // fix o sounds and stress of plurals of medical terms: leukotomieë/nefrotomieë, etc. | ||||
| _) outo (@P4 @Utu // fix stress and o sound: outomaat/-mate/-maties/outomobiel, etc. | _) outo (@P4 @Utu // fix stress and o sound: outomaat/-mate/-maties/outomobiel, etc. | ||||
| outo (psie %@UtO // fix stress and O sound: outopsie/-s and compounds | |||||
| out (okra %@Ut // to handle outokraat and derivatives | out (okra %@Ut // to handle outokraat and derivatives | ||||
| oux 'u //in surnames like tredoux, leroux etc. | oux 'u //in surnames like tredoux, leroux etc. | ||||
| _) o (va@ %o@ // move default stress: ovaal/ovale/ovaalvormig | _) o (va@ %o@ // move default stress: ovaal/ovale/ovaalvormig | ||||
| pale (stA p%al@ // fix stress and a sound: Palestina/Palestyn and derivatives | pale (stA p%al@ // fix stress and a sound: Palestina/Palestyn and derivatives | ||||
| pale (t p%alE // fix stress and a sound: palet/-te and compounds | pale (t p%alE // fix stress and a sound: palet/-te and compounds | ||||
| palin (dro p%al@n // fix stress and a sound: palindroom/-drome/-dromies | palin (dro p%al@n // fix stress and a sound: palindroom/-drome/-dromies | ||||
| palissade p%al%isA:d@ // fix a and i sounds and stress: palissade and compounds | |||||
| _) palja (K palj''a // fix stress on -jas: (ge)paljas/paljasse/paljasagtig/-e | _) palja (K palj''a // fix stress on -jas: (ge)paljas/paljasse/paljasagtig/-e | ||||
| pal (miet p%al // move default stress: palmiet and compounds | pal (miet p%al // move default stress: palmiet and compounds | ||||
| panado p@nA:d@U: // fix stress and vowel sounds: panado/-'s | panado p@nA:d@U: // fix stress and vowel sounds: panado/-'s | ||||
| per (so p@r // persoon/persone | per (so p@r // persoon/persone | ||||
| pers (om p&rs_ // fix e sound, pause: persombudsman/-ne and compounds | pers (om p&rs_ // fix e sound, pause: persombudsman/-ne and compounds | ||||
| perso (neel p%&rs%u // personeel and compounds | perso (neel p%&rs%u // personeel and compounds | ||||
| perspex pIrspEks // prevent English translation of compounds: perspexvenster/-ruit | |||||
| pervers p@rf&rs // pervers/perversie | pervers p@rf&rs // pervers/perversie | ||||
| pervert p@rf&rt // fix stress and e sounds: pervert/-e and compounds | pervert p@rf&rt // fix stress and e sounds: pervert/-e and compounds | ||||
| runder) pes pEs // fix e sound: runderpes and compounds | runder) pes pEs // fix e sound: runderpes and compounds | ||||
| @@@) s (_S1 s // to correctly handle plural s | @@@) s (_S1 s // to correctly handle plural s | ||||
| i) s (_ s // exceptions to rule: @@@) s (_S1 s | i) s (_ s // exceptions to rule: @@@) s (_S1 s | ||||
| sahara sah'A:ra // fix stress and a sound: Sahara/-woestyn and similar compounds | sahara sah'A:ra // fix stress and a sound: Sahara/-woestyn and similar compounds | ||||
| saldanha s%aldan%a // Saldanha(baai) | |||||
| sangere (K s%aN@rE //sangeres and compounds: opera-/popsangeres | sangere (K s%aN@rE //sangeres and compounds: opera-/popsangeres | ||||
| o) s (_ s // exceptions to rule: @@@) s (_S1 s | o) s (_ s // exceptions to rule: @@@) s (_S1 s | ||||
| u) s (_ s // exceptions to rule: @@@) s (_S1 s | u) s (_ s // exceptions to rule: @@@) s (_S1 s | ||||
| slag (off slax2_ // short a sound, insert pause: misdaadslagoffer and similar compounds | slag (off slax2_ // short a sound, insert pause: misdaadslagoffer and similar compounds | ||||
| sla (vin sl%a // move default stress and shorten a sound: slavin/-ne and compounds | sla (vin sl%a // move default stress and shorten a sound: slavin/-ne and compounds | ||||
| sla (we slA: // fix stress and a sound: slawearbeid/-er, etc. | sla (we slA: // fix stress and a sound: slawearbeid/-er, etc. | ||||
| slawe (k slA:v@ // fix e sound: slawe(ketting/-kind(ers)/-kos | |||||
| slop (emmer slOp_ // fix o sound and insert pause: slopemmer/-s | slop (emmer slOp_ // fix o sound and insert pause: slopemmer/-s | ||||
| @) sering s'e@r@N // analisering/kategorisering | @) sering s'e@r@N // analisering/kategorisering | ||||
| @) ses (_ s@s // fix 2 slb. words ending in ses | @) ses (_ s@s // fix 2 slb. words ending in ses | ||||
| spesi (a sp%ES%i // spesiaal/spesiale/spesialis | spesi (a sp%ES%i // spesiaal/spesiale/spesialis | ||||
| spesialis (A spESialis | spesialis (A spESialis | ||||
| spesialis spESal'Is | spesialis spESal'Is | ||||
| spesialis (een spESal'Is_ // fix stress, paus: spesialiseenheid/-eenhede | |||||
| spesi (f sp%Es%I // spesifiek/spesifiseer | spesi (f sp%Es%I // spesifiek/spesifiseer | ||||
| spine (t sp%inE // move default stress: spinet/-te and compounds | spine (t sp%inE // move default stress: spinet/-te and compounds | ||||
| _) sub (a sWb_ // subagent/subartikel/subatomies, etc. | _) sub (a sWb_ // subagent/subartikel/subatomies, etc. | ||||
| struktu (rerAn str%Wkt%y // fix stress: (her)strukturering(skoste)/strukturerende, etc. | struktu (rerAn str%Wkt%y // fix stress: (her)strukturering(skoste)/strukturerende, etc. | ||||
| studen (t st%ydEn // fix stress: student/regstudent/studentesentrum, etc. | studen (t st%ydEn // fix stress: student/regstudent/studentesentrum, etc. | ||||
| stu (de st%y // fix stress and e sound: bestuderend/bestudering | stu (de st%y // fix stress and e sound: bestuderend/bestudering | ||||
| _) stuurdere (KK st%yrd@rE // fix stress and e sound: bestuurderes/-se/-sie | |||||
| styfge (@P6 st'eIfx2@ // fix e sound: styfgewen/-de | styfge (@P6 st'eIfx2@ // fix e sound: styfgewen/-de | ||||
| verf (@ f&rf // verfkwas/-voorraad/-emmer and similar | verf (@ f&rf // verfkwas/-voorraad/-emmer and similar | ||||
| _) verf (lou f@rf // verflou/-ing | _) verf (lou f@rf // verflou/-ing | ||||
| _) verf (o f@rf // verfoei(lik)/verfomfaai/verfoes, etc.; see rule: verf | _) verf (o f@rf // verfoei(lik)/verfomfaai/verfoes, etc.; see rule: verf | ||||
| verf (raai f@rf // fix e sound and stress: verfraai(ing) | |||||
| verf (rom f@rf // verfrommel/-de/-ing; see rule: verf | verf (rom f@rf // verfrommel/-de/-ing; see rule: verf | ||||
| verf f&rf | verf f&rf | ||||
| _) vergesog f'&:r;x2@sOx2 | _) vergesog f'&:r;x2@sOx2 | ||||
| nd) w v // aandwandeling/brandweer/eindwedstryd/grondwet/grondwal | nd) w v // aandwandeling/brandweer/eindwedstryd/grondwet/grondwal | ||||
| Cod) w v // fix w sound: godwelgevallig/godweet/godwees | Cod) w v // fix w sound: godwelgevallig/godweet/godwees | ||||
| k) w w | k) w w | ||||
| werk) week ve@k // fix last w sound: (vyf-/sesdag)werkweek | |||||
| k) w (erC v // fix w sound: wrakwerf/-werwe | k) w (erC v // fix w sound: wrakwerf/-werwe | ||||
| volks) w v // fix w sound: Volkswagen/volkswelsyn/-weldoener, etc. | volks) w v // fix w sound: Volkswagen/volkswelsyn/-weldoener, etc. | ||||
| k) w (And v // fix w sound: buikwand/rukwinde | k) w (And v // fix w sound: buikwand/rukwinde | ||||
| yd) w v // fix w sound: sluittydwerk/(wa)wydwakker | yd) w v // fix w sound: sluittydwerk/(wa)wydwakker | ||||
| C) w (eerder v // fix w sound: insek-/muskiet-/reuk-/sweetweerder and similar | C) w (eerder v // fix w sound: insek-/muskiet-/reuk-/sweetweerder and similar | ||||
| s) w (eerder w // but: eed-/geesbe-/saamsweerder and similar | s) w (eerder w // but: eed-/geesbe-/saamsweerder and similar | ||||
| luk) wens ve~ns // fix w sound: gelukwens(brief...)/gelukwensing, etc. | |||||
| w (ese_ v //words ending in wese | w (ese_ v //words ending in wese | ||||
| wed (ren vEt // fix e and d sounds: (perde)wedren and other compounds | wed (ren vEt // fix e and d sounds: (perde)wedren and other compounds | ||||
| @C) w (eë v // fix w sound: duikweë/staatsweë/uitweë, etc. | @C) w (eë v // fix w sound: duikweë/staatsweë/uitweë, etc. | ||||
| welbehaaglik v%&lb@hA:x2l@k // move default stress: welbehaaglik/-e/-er/-ste | welbehaaglik v%&lb@hA:x2l@k // move default stress: welbehaaglik/-e/-er/-ste | ||||
| _) wel (edel v%&l_ // fix e sound and stress, insert pause: weledel/-e | _) wel (edel v%&l_ // fix e sound and stress, insert pause: weledel/-e | ||||
| welf (_ v&lf // fix e sound: omwelf/oorwelf | welf (_ v&lf // fix e sound: omwelf/oorwelf | ||||
| _) wel (op v&l_ // fix e sound, pause: welopgevoede/-opgeleide, etc. | |||||
| wel (skape v%&l // move default stress: welskape/-nheid | wel (skape v%&l // move default stress: welskape/-nheid | ||||
| wel (spreken v%&l // move default stress: welsprekend/-e | wel (spreken v%&l // move default stress: welsprekend/-e | ||||
| @) wendig v'End@x2 // inwendig/noodwendig/uitwendig | @) wendig v'End@x2 // inwendig/noodwendig/uitwendig | ||||
| &) wene (_ v@n@ // fix penultimate e sound: afgestorwene/-s/ingeskrewene/verdorwene/verhewene | &) wene (_ v@n@ // fix penultimate e sound: afgestorwene/-s/ingeskrewene/verdorwene/verhewene | ||||
| fees) wens ve~ns // fix w and e sounds: kersfeeswens/-e | fees) wens ve~ns // fix w and e sounds: kersfeeswens/-e | ||||
| luk) wens ve~ns // fix w sound: gelukwens(brief...)/gelukwensing, etc. | |||||
| A) wer (AA v@r // fix e sound: beyweraar/keweruitroeiing/nyweraar/oewereienaar | A) wer (AA v@r // fix e sound: beyweraar/keweruitroeiing/nyweraar/oewereienaar | ||||
| ge) were ve@r@ // fix e sound in compounds ending in gewere | ge) were ve@r@ // fix e sound in compounds ending in gewere | ||||
| werk (stelli v%&rk // fix stress: bewerkstellig and derivatives | werk (stelli v%&rk // fix stress: bewerkstellig and derivatives |
| Neuseeland $2 | Neuseeland $2 | ||||
| Rwanda rU'andA: | Rwanda rU'andA: | ||||
| Sri sr,i: | Sri sr,i: | ||||
| Tom tOm | |||||
| Tim tIm | |||||
| Tom tOm $only | |||||
| Tim tIm $only | |||||
| _) deme de:mE | _) deme de:mE | ||||
| demo (g de:mo: | demo (g de:mo: | ||||
| demo (k de:mo: | demo (k de:mo: | ||||
| design _^_EN | |||||
| design (_ d%IzaIn | |||||
| dge (_ _^_EN | dge (_ _^_EN | ||||
| _) dia d,i:a | _) dia d,i:a | ||||
| _) diver d%i:vEr | _) diver d%i:vEr |
| // ?7 Scottish | // ?7 Scottish | ||||
| // ?8 Use full vowel, not schwa in some word endings | // ?8 Use full vowel, not schwa in some word endings | ||||
| // $alt1 use strong ending (-an, -ance, -ative, -table, -inal, -ier) | |||||
| // $alt1 use strong ending (-an, -ance, -ative, -table, -inal, -ier -ored) | |||||
| // $alt2 use weak ending (ard, ate, ery, ess, ile, men, on) | // $alt2 use weak ending (ard, ate, ery, ess, ile, men, on) | ||||
| // $alt3 use weak first vowel, a->[a#], e->[@], o->[0#] | // $alt3 use weak first vowel, a->[a#], e->[@], o->[0#] | ||||
| // $alt4 separate 'h', not 'th' | // $alt4 separate 'h', not 'th' | ||||
| ֹ o | ֹ o | ||||
| ֻ u | ֻ u | ||||
| ּ d'agES | ּ d'agES | ||||
| U+5c1 SInd0t_ | |||||
| U+5c2 sInd0t_ | |||||
| // phonetic modifiers | // phonetic modifiers | ||||
| // ABBREVIATIONS | // ABBREVIATIONS | ||||
| //************** | //************** | ||||
| aaa $abbrev $allcaps | |||||
| abc $abbrev | abc $abbrev | ||||
| ac $abbrev | ac $abbrev | ||||
| adf $abbrev | adf $abbrev | ||||
| adze adz | adze adz | ||||
| aegis i:dZIs | aegis i:dZIs | ||||
| aerate e@r'eIt | aerate e@r'eIt | ||||
| aerogel e@roUdZEl | |||||
| aether i:T@ | aether i:T@ | ||||
| afar a#fA@ | afar a#fA@ | ||||
| affirmation af3m'eIS@n | affirmation af3m'eIS@n | ||||
| appal a#pO:l | appal a#pO:l | ||||
| apparatus ap@r'eIt@s | apparatus ap@r'eIt@s | ||||
| ?3 apparatus ap@r'at@s | ?3 apparatus ap@r'at@s | ||||
| appellate a#pEl@t | |||||
| apprentice a#prEnt2Is | apprentice a#prEnt2Is | ||||
| approximate a#pr0ksIm@t $only | approximate a#pr0ksIm@t $only | ||||
| approximate a#pr0ksImeIt $verb | approximate a#pr0ksImeIt $verb | ||||
| arch A@tS | arch A@tS | ||||
| arches A@tSI#z | arches A@tSI#z | ||||
| archimedes A@kIm'i:di:z | archimedes A@kIm'i:di:z | ||||
| archiso A@tS'aIsoU | |||||
| archway $1 | archway $1 | ||||
| arena a#ri:n@ | arena a#ri:n@ | ||||
| argon A@g0n | argon A@g0n | ||||
| blockade bl0k'eId | blockade bl0k'eId | ||||
| blouse blaUz | blouse blaUz | ||||
| bluest blu:@st | bluest blu:@st | ||||
| bluish blu:IS | |||||
| blurry bl3:rI | blurry bl3:rI | ||||
| ?5 blurry blVRrI | ?5 blurry blVRrI | ||||
| boing bOIN | boing bOIN | ||||
| chorizo tSOr'i:zoU | chorizo tSOr'i:zoU | ||||
| christmas krIsm@s | christmas krIsm@s | ||||
| chromosome kroUm@soUm | chromosome kroUm@soUm | ||||
| chrysalis krIs@lIs | |||||
| ciao tSaU | ciao tSaU | ||||
| cigar sI2gA@ | cigar sI2gA@ | ||||
| cigarette sIg@'rEt | cigarette sIg@'rEt | ||||
| cleanser klEnz3 | cleanser klEnz3 | ||||
| ?!3 clerk klA@k | ?!3 clerk klA@k | ||||
| cliche kli:SeI | cliche kli:SeI | ||||
| ?3 cliche kli:S'eI | |||||
| cliched kli:S'eId | |||||
| ?3 cliche kli:S'eI | |||||
| clientele $2 | clientele $2 | ||||
| clitoris klIt3rI#s | clitoris klIt3rI#s | ||||
| close kloUs $only | close kloUs $only | ||||
| constitute $1 | constitute $1 | ||||
| construct $1 $onlys | construct $1 $onlys | ||||
| construct $verb | construct $verb | ||||
| consummate $1 | |||||
| contemplative $2 | contemplative $2 | ||||
| content $1 $onlys | content $1 $onlys | ||||
| content $verb $past | content $verb $past | ||||
| convolute k0nv@l'u:t | convolute k0nv@l'u:t | ||||
| coop ku:p | coop ku:p | ||||
| cooper ku:p3 | cooper ku:p3 | ||||
| coordinate koU'O:dI2neIt $verb | |||||
| coordinate koU'O@dI2neIt $verb | |||||
| copier k0pi@3 | copier k0pi@3 | ||||
| copilot koUpaIl@t | copilot koUpaIl@t | ||||
| coral k0r@L | coral k0r@L | ||||
| decolletage deIk0lt'A:Z | decolletage deIk0lt'A:Z | ||||
| decor deIkO@ | decor deIkO@ | ||||
| ?3 decor deIk'O@ | ?3 decor deIk'O@ | ||||
| decorative dEkr@tIv | |||||
| decorative dEk@r@tIv | |||||
| decoy di:kOI | decoy di:kOI | ||||
| decry dI2kraI | decry dI2kraI | ||||
| defect di:fEkt | defect di:fEkt | ||||
| diaper daIp3 | diaper daIp3 | ||||
| diaphanous daI'af@n@s | diaphanous daI'af@n@s | ||||
| diaspora daI'asp@r@ | diaspora daI'asp@r@ | ||||
| dieback daIbak | |||||
| diehard daIhA@d | diehard daIhA@d | ||||
| dielectric daI@l'EktrIk | dielectric daI@l'EktrIk | ||||
| diesel di:z@L | diesel di:z@L | ||||
| evit EvI2t // inevitable | evit EvI2t // inevitable | ||||
| exalt Egz'0lt | exalt Egz'0lt | ||||
| execute EksI2kju:t // not $2 | execute EksI2kju:t // not $2 | ||||
| executable $3 | |||||
| exile $1 | exile $1 | ||||
| exodus Eks@d@s | exodus Eks@d@s | ||||
| expedite Eksp@daIt // expedited | expedite Eksp@daIt // expedited | ||||
| idly aIdlI | idly aIdlI | ||||
| ignoramus Igno@r'eIm@s | ignoramus Igno@r'eIm@s | ||||
| illiterate $alt2 | illiterate $alt2 | ||||
| imagery ImIdZri | |||||
| imagine I2madZI2n | imagine I2madZI2n | ||||
| impedance Imp'i:d@ns | impedance Imp'i:d@ns | ||||
| imperative Imp'Er@tIv | imperative Imp'Er@tIv | ||||
| iron aI3n | iron aI3n | ||||
| irony aIr@nI | irony aIr@nI | ||||
| isosceles aIs'0s@li:z | isosceles aIs'0s@li:z | ||||
| ?3 issuance ISu:@ns | |||||
| ja jA: | ja jA: | ||||
| jagged dZagI#d | jagged dZagI#d | ||||
| kowtow kaUt2aU | kowtow kaUt2aU | ||||
| la ,la $only | la ,la $only | ||||
| la $abbrev $allcaps | |||||
| (la vie) la||v'i: | (la vie) la||v'i: | ||||
| laboratory la#b'0r@trI | laboratory la#b'0r@trI | ||||
| ?3 laboratory labr@tO:ri | ?3 laboratory labr@tO:ri | ||||
| lunchroom lVntS||ru:m | lunchroom lVntS||ru:m | ||||
| luxury lVkS3ri | luxury lVkS3ri | ||||
| lychee li:tSi: | lychee li:tSi: | ||||
| lyin laIIn | |||||
| macabre m@kA:br@ | macabre m@kA:br@ | ||||
| macadamia mak@d'eImi@ | macadamia mak@d'eImi@ | ||||
| phoenix fi:nIks | phoenix fi:nIks | ||||
| photographer f@t'0gr@f@ | photographer f@t'0gr@f@ | ||||
| photography f@t'0gr@fi | photography f@t'0gr@fi | ||||
| photolysis foUt'0l@sIs | |||||
| piano pI'anoU | piano pI'anoU | ||||
| pecan pI#kA:n | pecan pI#kA:n | ||||
| piecemeal p'i:sm,i:l | piecemeal p'i:sm,i:l | ||||
| reindeer reIndi@3 | reindeer reIndi@3 | ||||
| rekey r,i:k'i: | rekey r,i:k'i: | ||||
| relative rEl@tIv | relative rEl@tIv | ||||
| relay ri:leI | |||||
| relic rElIk | relic rElIk | ||||
| relish rElI2S | relish rElI2S | ||||
| rely rI2laI | rely rI2laI | ||||
| sealion si:laI@n | sealion si:laI@n | ||||
| seance seI0ns | seance seI0ns | ||||
| secant si:k@nt | secant si:k@nt | ||||
| seconded sEk'0ndI#d | |||||
| seconded s@k0ndI#d | |||||
| secondment s@k0ndm@nt | |||||
| secrecy si:kr@si | secrecy si:kr@si | ||||
| secret si:kr@t | secret si:kr@t | ||||
| secrete sI2kri:t | |||||
| secretion sI2kri:S@n | |||||
| secretive si:kr@tIv | secretive si:kr@tIv | ||||
| secretary sEkr@trI | secretary sEkr@trI | ||||
| sedan sI2dan | sedan sI2dan | ||||
| segue sEgweI | segue sEgweI | ||||
| separate sEp@-r@t | separate sEp@-r@t | ||||
| separate sEp3reIt $verb | separate sEp3reIt $verb | ||||
| semaphored $alt1 | |||||
| semen si:m@n | semen si:m@n | ||||
| ?3 semi sEmaI | ?3 semi sEmaI | ||||
| semibreve $1 | semibreve $1 | ||||
| sewn soUn | sewn soUn | ||||
| sex sEks // sexism | sex sEks // sexism | ||||
| several sEvr@L | several sEvr@L | ||||
| severest s@vi@r@st | |||||
| shallow SaloU | shallow SaloU | ||||
| shampoo $2 | shampoo $2 | ||||
| shepherd SEp@d | shepherd SEp@d | ||||
| sincerest sIns'i@r@st | sincerest sIns'i@r@st | ||||
| sinew sInju: | sinew sInju: | ||||
| sinus saIn@s | sinus saIn@s | ||||
| siphon $alt2 | |||||
| sir s,3: $only | sir s,3: $only | ||||
| ?5 sir s,VR $only | ?5 sir s,VR $only | ||||
| site saIt // for sited | site saIt // for sited | ||||
| sorbet sO@beI | sorbet sO@beI | ||||
| soyabean sOI@bi:n | soyabean sOI@bi:n | ||||
| spaghetti spa#gEti | spaghetti spa#gEti | ||||
| spasm spas@m | |||||
| specific sp@sIfIk | specific sp@sIfIk | ||||
| specimen spEsI2m@n | specimen spEsI2m@n | ||||
| spraycan spreIkan | spraycan spreIkan | ||||
| troubadour tru:b@do@ | troubadour tru:b@do@ | ||||
| truely tru:lI $verbf | truely tru:lI $verbf | ||||
| truest tru:@st | truest tru:@st | ||||
| tryin traIIn | |||||
| tryst trIst | tryst trIst | ||||
| tudor tju:d3 | tudor tju:d3 | ||||
| turntable $alt1 | turntable $alt1 | ||||
| unaware Vn@w'e@ | unaware Vn@w'e@ | ||||
| uncle VNk@L | uncle VNk@L | ||||
| undeny VndIn'aI | undeny VndIn'aI | ||||
| undercarriage $1 | |||||
| underground $1 $noun | underground $1 $noun | ||||
| underling $1 | underling $1 | ||||
| underlings Vnd3lINz | underlings Vnd3lINz | ||||
| violin $2 | violin $2 | ||||
| viral vaI3r@L | viral vaI3r@L | ||||
| virginal $alt1 | virginal $alt1 | ||||
| (vis à vis) vi:za#v'i: | |||||
| (vis a vis) vi:za#v'i: | |||||
| visa vi:z@ | visa vi:z@ | ||||
| vitalis vaIt'alI#s | |||||
| vitamin vIt@mI#n | vitamin vIt@mI#n | ||||
| ?3 vitamin vaIt@mI#n | ?3 vitamin vaIt@mI#n | ||||
| vitriol vItri:@l | vitriol vItri:@l | ||||
| Albuquerque alb@k3:ki | Albuquerque alb@k3:ki | ||||
| Algiers $2 | Algiers $2 | ||||
| Altura O:lt'U@r@ | Altura O:lt'U@r@ | ||||
| ?3 Amazon ama#z0n | |||||
| Amman a#m'A:n | Amman a#m'A:n | ||||
| Andes andi:z | Andes andi:z | ||||
| Angeles andZ@li:s | Angeles andZ@li:s | ||||
| Buenos bweIn0s | Buenos bweIn0s | ||||
| Burundi bUr'Undi | Burundi bUr'Undi | ||||
| Brazil $alt3 | Brazil $alt3 | ||||
| Brunei bru:n'aI | |||||
| Cadiz $alt3 | Cadiz $alt3 | ||||
| Cairo kaIroU | Cairo kaIroU | ||||
| Calcutta $2 | Calcutta $2 | ||||
| Nevada nI2vA:d@ | Nevada nI2vA:d@ | ||||
| ?3 Nevada nI2vad@ | ?3 Nevada nI2vad@ | ||||
| Newfoundland nju:f@ndla#nd | Newfoundland nju:f@ndla#nd | ||||
| Nineveh nInIv@ | |||||
| Noumea nu:m'eI@ | Noumea nu:m'eI@ | ||||
| Oahu oU'A:hu: | Oahu oU'A:hu: | ||||
| Oklahoma oUkla#h'oUm@ | Oklahoma oUkla#h'oUm@ | ||||
| Peru p@ru: | Peru p@ru: | ||||
| Philippine fIlI2pi:n | Philippine fIlI2pi:n | ||||
| Philipine fIlI2pi:n // misspell | Philipine fIlI2pi:n // misspell | ||||
| Phnom pn0m | |||||
| Polish poUlIS $capital $only | Polish poUlIS $capital $only | ||||
| Portugal po@tS@g@L | Portugal po@tS@g@L | ||||
| Portuguese po@tS@g'i:z | Portuguese po@tS@g'i:z | ||||
| Utah ju:t2A: | Utah ju:t2A: | ||||
| ?3 Utah ju:t2O | ?3 Utah ju:t2O | ||||
| Utrecht ju:trECt | Utrecht ju:trECt | ||||
| Valencia $alt3 | |||||
| Vancouver $2 | Vancouver $2 | ||||
| Vegas veIg@s | Vegas veIg@s | ||||
| Vermont $2 | Vermont $2 | ||||
| Angelika $2 | Angelika $2 | ||||
| Anita $alt3 | Anita $alt3 | ||||
| Annamaria an@ma#r'i:@ | Annamaria an@ma#r'i:@ | ||||
| Anthony ant@ni | |||||
| ?!3 Anthony ant@ni | |||||
| Anton ant0n | Anton ant0n | ||||
| Aoife i:f@ | Aoife i:f@ | ||||
| Aoiffe i:f@ | Aoiffe i:f@ | ||||
| Connie k0ni | Connie k0ni | ||||
| Connor k0n3 | Connor k0n3 | ||||
| Conrad $1 | Conrad $1 | ||||
| Corinne k@ri:n | |||||
| Crichton kraIt@n | Crichton kraIt@n | ||||
| Curtis k3:tI#s | Curtis k3:tI#s | ||||
| ?5 Curtis kVRtI#s | ?5 Curtis kVRtI#s | ||||
| Cyrus saIr@s | |||||
| Dana deIn@ | Dana deIn@ | ||||
| Daphne dafni | Daphne dafni | ||||
| Darryl dar@L | Darryl dar@L | ||||
| Michelle mI2SEl | Michelle mI2SEl | ||||
| Miguel mi:Q'El | Miguel mi:Q'El | ||||
| Mildred mIldrI2d | Mildred mIldrI2d | ||||
| Mimi mi:mi | |||||
| Mindy mIndi | Mindy mIndi | ||||
| Minerva mI2n3:v@ | Minerva mI2n3:v@ | ||||
| Mirabel mIr@bEl | Mirabel mIr@bEl | ||||
| Ferguson f3:g@s@n | Ferguson f3:g@s@n | ||||
| Fleming flEmIN | Fleming flEmIN | ||||
| Folger foUldZ3 | Folger foUldZ3 | ||||
| Gallagher gal@g3 | |||||
| Genghis dZENgIs | Genghis dZENgIs | ||||
| Gibson gIbs@n | Gibson gIbs@n | ||||
| Guinness gInIs | Guinness gInIs |
| b) al (d+ O:l | b) al (d+ O:l | ||||
| b) al (k O:l | b) al (k O:l | ||||
| f) al (k 0l | f) al (k 0l | ||||
| alkali ak@laI | |||||
| alkali alk@laI | |||||
| b) all (K O:l | b) all (K O:l | ||||
| &b) all (er_ O:l | &b) all (er_ O:l | ||||
| _c) al (e al | _c) al (e al | ||||
| _) as (trolog a#s | _) as (trolog a#s | ||||
| _) as (trono a#s | _) as (trono a#s | ||||
| &) as (ty_ a#s | &) as (ty_ a#s | ||||
| ass (ym as | |||||
| _) as (ym eIs | |||||
| purch) as (e Is | purch) as (e Is | ||||
| ph) ase (_ eIz | ph) ase (_ eIz | ||||
| r) ase (_ eIz | r) ase (_ eIz | ||||
| be (see bI2 | be (see bI2 | ||||
| be (sie bI2 | be (sie bI2 | ||||
| _) be (sto bI2 | _) be (sto bI2 | ||||
| _) bestse (ll bEsts'E | |||||
| _) beta b,i:t@ | _) beta b,i:t@ | ||||
| ?3 _) beta b,eIt@ | ?3 _) beta b,eIt@ | ||||
| _) be (th bE | _) be (th bE | ||||
| _ta) ch k | _ta) ch k | ||||
| ta) ch tS | ta) ch tS | ||||
| sta) ch S | sta) ch S | ||||
| e) ch (o k | |||||
| _e) ch (o k | |||||
| bron) ch k | bron) ch k | ||||
| ch (ute S | ch (ute S | ||||
| ch (ure S | ch (ure S | ||||
| _) co (con k,oU | _) co (con k,oU | ||||
| _) co (eCP2 k,oU | _) co (eCP2 k,oU | ||||
| _) coe (l si: | _) coe (l si: | ||||
| _) co (g k0 | |||||
| _) cogno k0gn@ | |||||
| co (hab k%oU | co (hab k%oU | ||||
| co (llab k@ | co (llab k@ | ||||
| co (llap k@ | co (llap k@ | ||||
| _) deni (a dI2naI | _) deni (a dI2naI | ||||
| deni (tri d%i:naI | deni (tri d%i:naI | ||||
| _) de (no dI2 | _) de (no dI2 | ||||
| _) de (nu dI2 | |||||
| _) de (o d%i: | _) de (o d%i: | ||||
| _) de (p@ dI2 | _) de (p@ dI2 | ||||
| de (per d%i: | de (per d%i: | ||||
| de (reg d%i: | de (reg d%i: | ||||
| de (rel dE | de (rel dE | ||||
| de (riC dI2 | de (riC dI2 | ||||
| _) de (rAX dE | |||||
| de (rog dI2 | de (rog dI2 | ||||
| de (rACatio dE | de (rACatio dE | ||||
| _) des (@ dI2s | _) des (@ dI2s | ||||
| &) ency (_ @ns%i | &) ency (_ @ns%i | ||||
| ency (cli %EnsI | ency (cli %EnsI | ||||
| k) en (d_ En | k) en (d_ En | ||||
| t) en (d_ En | |||||
| en (dA_ 'En | en (dA_ 'En | ||||
| _) en (d En | _) en (d En | ||||
| _) en (da %En | _) en (da %En | ||||
| eg) en (d @n | eg) en (d @n | ||||
| en (dea %En | en (dea %En | ||||
| en (der En | |||||
| cal) en (der @n | |||||
| en (dous En | en (dous En | ||||
| _) endo EndoU | _) endo EndoU | ||||
| @) en (do_ 'En | @) en (do_ 'En | ||||
| en (ter En | en (ter En | ||||
| en (tert ,En | en (tert ,En | ||||
| enthra (l %EnTrO: | enthra (l %EnTrO: | ||||
| en (tia_+ 'En | |||||
| &) entice %EntaIs | &) entice %EntaIs | ||||
| _) en (ti %En | _) en (ti %En | ||||
| _c) enti EntI | _c) enti EntI | ||||
| mb) er (_ 3 | mb) er (_ 3 | ||||
| lin) er (_S1 3 | lin) er (_S1 3 | ||||
| lin) ers (_S2 3z | lin) ers (_S2 3z | ||||
| nc) er (_S1 3 | |||||
| er 3: | er 3: | ||||
| er (A 3:r | er (A 3:r | ||||
| _) er (A I2r | _) er (A I2r | ||||
| _) es (pl Es | _) es (pl Es | ||||
| _) es (tab I2s | _) es (tab I2s | ||||
| es (tate I2s | es (tate I2s | ||||
| @) esc (enC 'Es | |||||
| @) esc (ent_ 'Es | |||||
| @) esc (ence_ 'Es | |||||
| pr) es (ent Ez | pr) es (ent Ez | ||||
| es (iA i:z | es (iA i:z | ||||
| es (ian_ 'i:z | es (ian_ 'i:z | ||||
| &) ia (_N =i|@ | &) ia (_N =i|@ | ||||
| &) ia (_ =i@ | &) ia (_ =i@ | ||||
| @@) ia (_ =i@ | @@) ia (_ =i@ | ||||
| @) iae (_ =Ii: | |||||
| @) ian (cy I|@n | @) ian (cy I|@n | ||||
| l) iais I|eIz | l) iais I|eIz | ||||
| p) ia (no Ia | p) ia (no Ia | ||||
| _) in (flo In | _) in (flo In | ||||
| _) in (flu In | _) in (flu In | ||||
| _) in (fo_ In | _) in (fo_ In | ||||
| _) info (t ,InfoU | |||||
| _) infra (P5 ,Infr@ | _) infra (P5 ,Infr@ | ||||
| _) infra (c %Infra | _) infra (c %Infra | ||||
| in (ga_ 'IN | in (ga_ 'IN | ||||
| _sp) it (e aIt | _sp) it (e aIt | ||||
| cr) it (e_ It | cr) it (e_ It | ||||
| wr) ite aIt | wr) ite aIt | ||||
| it (ee_ aIt | |||||
| _s) it (e aIt | _s) it (e aIt | ||||
| _t) it (an aIt | _t) it (an aIt | ||||
| x) ite (_ aIt | x) ite (_ aIt | ||||
| br) oa (d O: | br) oa (d O: | ||||
| oar o@ | oar o@ | ||||
| oar (_ o@ | oar (_ o@ | ||||
| _h) o 0 | |||||
| cr) o (at oU | cr) o (at oU | ||||
| X) o (ba oU | X) o (ba oU | ||||
| t) o (bacc @ | t) o (bacc @ | ||||
| or (ig 0r | or (ig 0r | ||||
| or (ix 'O@r | or (ix 'O@r | ||||
| &) ored (_ 3d | &) ored (_ 3d | ||||
| h) ored (_S1 d | |||||
| &) ored (_$w_alt1S1 d | |||||
| _f) ore (C O@ | _f) ore (C O@ | ||||
| f) ore (clo %o@ | f) ore (clo %o@ | ||||
| f) ore (st 0rI | f) ore (st 0rI | ||||
| hyp) ost 0st | hyp) ost 0st | ||||
| osure 'oUZ3 | osure 'oUZ3 | ||||
| X) os (y oUz | X) os (y oUz | ||||
| @) os (y_ @s | |||||
| .group ou | .group ou | ||||
| ou aU | ou aU | ||||
| rrhea r'i@ | rrhea r'i@ | ||||
| rrhoea r'i@ | rrhoea r'i@ | ||||
| _) ru (bL01 ru: | _) ru (bL01 ru: | ||||
| _) rule (@ ru:l | |||||
| _) run (a rVn | _) run (a rVn | ||||
| _) run (o rVn | _) run (o rVn | ||||
| &ant) ry (_S2 r%I | &ant) ry (_S2 r%I | ||||
| A) sh (A_ =S | A) sh (A_ =S | ||||
| &) ship (_S4 SIp | &) ship (_S4 SIp | ||||
| &) ships (_S5 SIps | &) ships (_S5 SIps | ||||
| &) shipe (_ SIp | |||||
| &) shire (_S5 S3 | &) shire (_S5 S3 | ||||
| //?3 &) shire (_S5 Si@ | //?3 &) shire (_S5 Si@ | ||||
| sia (_ =zi@ | sia (_ =zi@ | ||||
| u) sin (_ z@n | u) sin (_ z@n | ||||
| A) s (itiv z | A) s (itiv z | ||||
| _) size (C@ saIz | _) size (C@ saIz | ||||
| s (mK z | |||||
| a) s (m z | a) s (m z | ||||
| o) s (m z | o) s (m z | ||||
| L07) s (mAn_ z | L07) s (mAn_ z | ||||
| &s) tian (_ tS@n | &s) tian (_ tS@n | ||||
| _) tian tjan | _) tian tjan | ||||
| &) tial S@L | &) tial S@L | ||||
| &s) tial tj@L | |||||
| s) tial tj@L | |||||
| &) ti (ali SI | &) ti (ali SI | ||||
| s) ti (ali tI | |||||
| i) tia (liL06 S@ | i) tia (liL06 S@ | ||||
| &) tien S@n | &) tien S@n | ||||
| &) tience S@ns | &) tience S@ns | ||||
| _) un (A_ ju:n | _) un (A_ ju:n | ||||
| _) unn %Vnn | _) unn %Vnn | ||||
| @) un (al 'ju:n | @) un (al 'ju:n | ||||
| un (A_ 'u:n | |||||
| une (_ ju:n | une (_ ju:n | ||||
| ?3 d) une (_ u:n | ?3 d) une (_ u:n | ||||
| j) un (A u:n | j) un (A u:n | ||||
| _) uni ju:nI | _) uni ju:nI | ||||
| _) un (ide ,Vn | _) un (ide ,Vn | ||||
| _) un (inP2 ,Vn | _) un (inP2 ,Vn | ||||
| _) un (il ,ju:n | |||||
| _) uni (l ,ju:nI | |||||
| _) un (io ju:n | _) un (io ju:n | ||||
| _) un (iq %ju:n | _) un (iq %ju:n | ||||
| unit (e ju:n'aIt | unit (e ju:n'aIt | ||||
| _) vehem vi@m | _) vehem vi@m | ||||
| _) vibra (t v%aIbreI | _) vibra (t v%aIbreI | ||||
| ?3 _) vibra (t v'aIbreI | ?3 _) vibra (t v'aIbreI | ||||
| video vIdI2oU | |||||
| vivi (@ vIvI | vivi (@ vIvI | ||||
| viv (_ vaIv | viv (_ vaIv | ||||
| ä E | ä E | ||||
| ë E | ë E | ||||
| ï i: | ï i: | ||||
| ó (n '0 | |||||
| ö 3: | ö 3: | ||||
| ör 3: | ör 3: | ||||
| ü u: | ü u: |
| // Irish Gaeilge dictionary | // Irish Gaeilge dictionary | ||||
| // written by Ronan McGuirk | // written by Ronan McGuirk | ||||
| // 2013 | // 2013 | ||||
| // version 2.7 | |||||
| // version 2.8.2 | |||||
| // Please send comments and suggestions to [email protected] | // Please send comments and suggestions to [email protected] | ||||
| // This file is UTF8 encoded | // This file is UTF8 encoded | ||||
| // letters | // letters | ||||
| // letter names, as they are spoken as a single character in text | |||||
| // letter namesd, as they are spoken as a single character in text | |||||
| // precede by _ to distinguish from pronunciation as a language word | // precede by _ to distinguish from pronunciation as a language word | ||||
| _a eI | _a eI | ||||
| //delete | //delete | ||||
| // old script | |||||
| ċur x'Ur | |||||
| ḃ b,i:b'u:ltS@ | |||||
| ċ s,i:b'u:ltS@ | |||||
| ḋ d,i:b'u:ltS@ | |||||
| ḟ ,Efb'u:ltS@ | |||||
| ġ dZ,i:b'u:ltS@ | |||||
| ṁ ,Emb'ultS@ | |||||
| ṗ p,i:b'u:ltS@ | |||||
| ṫ t,i:b'u:ltS@ | |||||
| // words | // words | ||||
| a @ | a @ | ||||
| ab @b | |||||
| abhaile @w'0l;E | abhaile @w'0l;E | ||||
| ach 0x $u | ach 0x $u | ||||
| ag Eg $verbf $u | ag Eg $verbf $u | ||||
| aige @g'E | aige @g'E | ||||
| air Er | air Er | ||||
| acu 0k'U | acu 0k'U | ||||
| ar Er $u | |||||
| ar Er | |||||
| arsa @rs@ | arsa @rs@ | ||||
| agaibh 0g@Iv | agaibh 0g@Iv | ||||
| agus 0g@s | |||||
| agus 0g@s $u | |||||
| aisfhilleadh ,aS'Il;@ | aisfhilleadh ,aS'Il;@ | ||||
| amach @m'0x | amach @m'0x | ||||
| amárach @m'A:r@x | amárach @m'A:r@x | ||||
| amuigh @mu1'I | amuigh @mu1'I | ||||
| amháin @w'A:in | amháin @w'A:in | ||||
| hamháin h@w'A:in | |||||
| am aUm | am aUm | ||||
| anaithnid '0nah@nIdZ | anaithnid '0nah@nIdZ | ||||
| anonn @naUn | anonn @naUn | ||||
| atá @t['A: $u | atá @t['A: $u | ||||
| baill bu1'i:l | baill bu1'i:l | ||||
| bhaill vu1'i:l | bhaill vu1'i:l | ||||
| beadh b;'@X | |||||
| bheadh v;'@X | |||||
| beidh bEg | beidh bEg | ||||
| bhfuil w'Il | bhfuil w'Il | ||||
| bheas v'e:@s | bheas v'e:@s | ||||
| faigh faIg | faigh faIg | ||||
| feadh fag | feadh fag | ||||
| fear f'ar | fear f'ar | ||||
| féin h'e:n | |||||
| gcathair g0h@r | gcathair g0h@r | ||||
| gan g0n $u | gan g0n $u | ||||
| gheall jaUl | gheall jaUl | ||||
| ina In@ $u | ina In@ $u | ||||
| ins Ins $u | ins Ins $u | ||||
| inniu Inj'u:v | inniu Inj'u:v | ||||
| irish _^_EN | |||||
| iontach 'i:nt[@x | |||||
| hiontach h'i:nt[@x | |||||
| irish _^_EN | |||||
| is 'Is $u | is 'Is $u | ||||
| (is ea) IS'a | (is ea) IS'a | ||||
| isteach IstS'0x | isteach IstS'0x | ||||
| mhama w'0m@ | mhama w'0m@ | ||||
| maith m'0 | maith m'0 | ||||
| mhaith w'0 | mhaith w'0 | ||||
| mhaithe w'0h;E | |||||
| mbeadh m;O#X | mbeadh m;O#X | ||||
| mo mO# $u | mo mO# $u | ||||
| mura mUr@ $u | mura mUr@ $u | ||||
| ná nA: $u | ná nA: $u | ||||
| nigh ni: | nigh ni: | ||||
| níorbh ni:rv | |||||
| níorbh ni:@r@vv $u | |||||
| nó nu: $u | nó nu: $u | ||||
| nollag n@l@g | nollag n@l@g | ||||
| nolaig nO#lig | nolaig nO#lig | ||||
| (s é) S'e: | (s é) S'e: | ||||
| (s í) S'i: | (s í) S'i: | ||||
| san s@n | san s@n | ||||
| seo S@_ | |||||
| san s'an $capital | |||||
| seo SU_ $u | |||||
| (sinn féin) S'In||f'e:n | |||||
| tabhair t'u:@r | tabhair t'u:@r | ||||
| (tiocfaidh ár lá) tSO#ki:|'A:r|l'A: | (tiocfaidh ár lá) tSO#ki:|'A:r|l'A: | ||||
| // translation rules for Irish Gaeilge | |||||
| f// translation rules for Irish Gaeilge | |||||
| // This file is UTF-8 encoded | // This file is UTF-8 encoded | ||||
| // written by Ronan McGuirk 2013 | // written by Ronan McGuirk 2013 | ||||
| // Version 2.7 | |||||
| // Version 2.8.3 | |||||
| // Please send comments and suggestions to [email protected] | // Please send comments and suggestions to [email protected] | ||||
| .L12 á é ó eo ua // when followed by i | .L12 á é ó eo ua // when followed by i | ||||
| .L13 oc omb | .L13 oc omb | ||||
| .L14 río dún gnío // followed with mh | .L14 río dún gnío // followed with mh | ||||
| .L15 c ch f bhf m d dh g gc gh mh // aoi following | |||||
| .L15 c ch f bhf fh m d dh g gc gh mh // aoi following | |||||
| .L16 b c bh ch gr ghr t th // for inn word ending | .L16 b c bh ch gr ghr t th // for inn word ending | ||||
| .L17 l le li niste nn | .L17 l le li niste nn | ||||
| .L18 n nt nte neann neadh ntear nim nfear nfinn nfidh nfidis neamar | .L18 n nt nte neann neadh ntear nim nfear nfinn nfidh nfidis neamar | ||||
| .L22 eadh eag eaga eagán eagáinín eo io iu iú eall eabh ealtaine eann | .L22 eadh eag eaga eagán eagáinín eo io iu iú eall eabh ealtaine eann | ||||
| .L23 ea eo i | .L23 ea eo i | ||||
| .L24 b mb bh g gh p ph bp m mh | .L24 b mb bh g gh p ph bp m mh | ||||
| .replace | |||||
| ḃ bh | |||||
| ċ ch | |||||
| ḋ dh | |||||
| ḟ fh | |||||
| ġ gh | |||||
| ṁ mh | |||||
| ṗ ph | |||||
| ṫ th | |||||
| ċ ch | |||||
| .group a | .group a | ||||
| a 0# | a 0# | ||||
| _) ath 0h | _) ath 0h | ||||
| a (rraige a | a (rraige a | ||||
| ai (m_ @ | ai (m_ @ | ||||
| aí i: | |||||
| aí 'i: | |||||
| aí (_ %i: | |||||
| aoi @i: | aoi @i: | ||||
| _) aoi i: | _) aoi i: | ||||
| ath) aoi (r 'i:@ | ath) aoi (r 'i:@ | ||||
| r) aoi (nín 'e:@ | r) aoi (nín 'e:@ | ||||
| aoicht (_ 'i:@xt[ | aoicht (_ 'i:@xt[ | ||||
| d) aoine (_ @i:n;%i: | |||||
| C) ao (C @e:@ | C) ao (C @e:@ | ||||
| _L24) ao (C w'e:@ | _L24) ao (C w'e:@ | ||||
| C) ao (th_ @e: | C) ao (th_ @e: | ||||
| arraing arIng | arraing arIng | ||||
| _) ath (@@P3 ,0_ | _) ath (@@P3 ,0_ | ||||
| _) athr '0hr | _) athr '0hr | ||||
| _) ard (@P3 A:rd[ | |||||
| .group á | .group á | ||||
| á A: | á A: | ||||
| _L04) ai (L18_++ u1'I//words like bain | _L04) ai (L18_++ u1'I//words like bain | ||||
| c) ai (t_ u1'I | c) ai (t_ u1'I | ||||
| s) ai (bh E | s) ai (bh E | ||||
| sh) ai (bh E | |||||
| aighre aIr@ | aighre aIr@ | ||||
| X) aigh 'aI | X) aigh 'aI | ||||
| aigh aI# L04) aill (_ wi:l | |||||
| aigh aI# | |||||
| _L04) aill (_ wi:l | |||||
| aing (_ Ing | aing (_ Ing | ||||
| ailleach '0l;@x | ailleach '0l;@x | ||||
| ai (llimh++ '0 // words like Gaillimh | ai (llimh++ '0 // words like Gaillimh | ||||
| _) beann (@ ba#n | _) beann (@ ba#n | ||||
| _) bheann (@ va#n | _) bheann (@ va#n | ||||
| _) bun (C@P3 b,Un | _) bun (C@P3 b,Un | ||||
| ?1 _m_) bun (C@P3 ,Un | |||||
| _) bpríomh (@P7 bR,i:v | |||||
| .group c | .group c | ||||
| c k | c k | ||||
| _) chabhr x'aUr | _) chabhr x'aUr | ||||
| _) ceann (C@P5 k;,aUn | _) ceann (C@P5 k;,aUn | ||||
| _) cheann (C@P6 C;,aUn | _) cheann (C@P6 C;,aUn | ||||
| _) comh (@@P4 k,o: | |||||
| _) chomh (@@P5 x,o: | |||||
| comhar k'o:@r | |||||
| chomhar x'o:@r | |||||
| comhair k'o:@r | |||||
| chomhair x'o:@r | |||||
| .group d | .group d | ||||
| d d[ // broad | d d[ // broad | ||||
| L01) d dZ // slender | L01) d dZ // slender | ||||
| d (L22 dZ // slender | d (L22 dZ // slender | ||||
| d (L01 d; // slender | d (L01 d; // slender | ||||
| d (CL01 dZ | |||||
| i) d (i dZ | i) d (i dZ | ||||
| ?1 _n_) d (@ | ?1 _n_) d (@ | ||||
| dh Q // broad | dh Q // broad | ||||
| _) d (_'fh d | _) d (_'fh d | ||||
| d'fh (L01 d | d'fh (L01 d | ||||
| dhaoine Q@i:n;%i: | |||||
| i) dh (_ g | i) dh (_ g | ||||
| a) dh (_ X | a) dh (_ X | ||||
| o) dh (_ X | o) dh (_ X | ||||
| dheartháir gr@h'A:r | dheartháir gr@h'A:r | ||||
| deirfiúr d;r@f'u:r | deirfiúr d;r@f'u:r | ||||
| dheirfiúr g;r@f'u:r | dheirfiúr g;r@f'u:r | ||||
| domhan d[aU@n | |||||
| _) do (Ch@@P2 d[,U_ | _) do (Ch@@P2 d[,U_ | ||||
| _) dí (C@@P2 d,i: | _) dí (C@@P2 d,i: | ||||
| dícheall d;'i:Ca#l | dícheall d;'i:Ca#l | ||||
| d) eo (ch O# | d) eo (ch O# | ||||
| dh) eo (ch O# | dh) eo (ch O# | ||||
| _) eo (ch O# | _) eo (ch O# | ||||
| _h) eo (ch O# | |||||
| s) eo (_ @ | s) eo (_ @ | ||||
| ea (ltaine aU | ea (ltaine aU | ||||
| g) ea (ll aU | g) ea (ll aU | ||||
| l) eamh (n aU | l) eamh (n aU | ||||
| dr) ea (m aU | |||||
| Kdr) ea (m aU | |||||
| X) ea (ch 0 | X) ea (ch 0 | ||||
| _L04) ea (g @ | _L04) ea (g @ | ||||
| _L04) ea (dh_ @ | _L04) ea (dh_ @ | ||||
| L04) eaga (_ @g@ | L04) eaga (_ @g@ | ||||
| eaghl aIl | eaghl aIl | ||||
| eabhra aUr@ // words like Feabhra | eabhra aUr@ // words like Feabhra | ||||
| eabhs aUs | |||||
| eanbhean 'an@v,an | eanbhean 'an@v,an | ||||
| eadhb aIb | eadhb aIb | ||||
| fh (L22 ; // slender | fh (L22 ; // slender | ||||
| @) f (L06_ h | @) f (L06_ h | ||||
| fios fIs | fios fIs | ||||
| faoi fw'i: | |||||
| fhios Is | fhios Is | ||||
| _) fo (C@@P2 f,U | _) fo (C@@P2 f,U | ||||
| _) fogh f'aU | _) fogh f'aU | ||||
| _) foc (@++ fOk | _) foc (@++ fOk | ||||
| ?1 _bh_) f (@ | ?1 _bh_) f (@ | ||||
| ?1 _bh_) f (L22 ; | ?1 _bh_) f (L22 ; | ||||
| _) fíor (@P4 f,i:r | |||||
| .group g | .group g | ||||
| g g // broad | g g // broad | ||||
| g (L01 g; // slender | g (L01 g; // slender | ||||
| ?1 _n_) g (@ | ?1 _n_) g (@ | ||||
| _) gh Q" | |||||
| gh Q" | |||||
| _) gh (L01 Q"j | _) gh (L01 Q"j | ||||
| _) gc g // urú broad | _) gc g // urú broad | ||||
| _) gc (L01 g; // urú slender | _) gc (L01 g; // urú slender | ||||
| gh (n X@ | gh (n X@ | ||||
| gheobh j'o: | gheobh j'o: | ||||
| gabh gaU | gabh gaU | ||||
| _) gearr (C@P5 g;,aR | |||||
| _) ghearr (C@P6 Q"j,aR | |||||
| ghabh Q"aU | |||||
| _) gearr (C@@P5 g;,aR | |||||
| _) ghearr (C@@P6 Q"j,aR | |||||
| _) gnáth (@@P5 g@n,A: | |||||
| _) ghnáth (@P6 X@n,A: | |||||
| .group h | .group h | ||||
| h h // silent | h h // silent | ||||
| iu U | iu U | ||||
| ia (tha i: | ia (tha i: | ||||
| io O# | io O# | ||||
| iond O#n@d[ | |||||
| ioml O#m@l | |||||
| io (dá I | io (dá I | ||||
| _) io (nadh u:// words like ionadh | _) io (nadh u:// words like ionadh | ||||
| s) io (mb I | s) io (mb I | ||||
| iú u: | iú u: | ||||
| m) i (d_ i: // verb ending | m) i (d_ i: // verb ending | ||||
| _) in (@@P2 ,In_ | _) in (@@P2 ,In_ | ||||
| _) inn In | |||||
| _) in (tinn 'In | |||||
| _) ionad (C@@P5 ,Ona#d[ | _) ionad (C@@P5 ,Ona#d[ | ||||
| .group í | .group í | ||||
| í (_ i: | í (_ i: | ||||
| ín (_ i:n | ín (_ i:n | ||||
| ío i:@ | ío i:@ | ||||
| íle (_ 'i:lE | |||||
| .group l | .group l | ||||
| ll (L23 l; | ll (L23 l; | ||||
| l (g l@ | l (g l@ | ||||
| l (b l@ | l (b l@ | ||||
| L01) l (b l;@ | |||||
| ll (b l | ll (b l | ||||
| _) lorg (@@P4 l,Or@g | _) lorg (@@P4 l,Or@g | ||||
| _) lán (@@P3 l,A:n | _) lán (@@P3 l,A:n | ||||
| _) mh (n v@ | _) mh (n v@ | ||||
| léir) mheas vas | léir) mheas vas | ||||
| r) m @m // words like gorm | r) m @m // words like gorm | ||||
| r) m (L20 @m; | |||||
| _) mear (@@P4 m,ar | _) mear (@@P4 m,ar | ||||
| _) mí (C@@P2 m,i: | |||||
| .group n | .group n | ||||
| n n // broad | n n // broad | ||||
| ?1 _) n (_L01 n; | ?1 _) n (_L01 n; | ||||
| _) nd n // urú | _) nd n // urú | ||||
| _) nd (L01 n; // urú slender | _) nd (L01 n; // urú slender | ||||
| _) ng N | |||||
| _) ng (L01 N; | |||||
| ng N | |||||
| ng (L01 N; | |||||
| ?1 _) n (_d n // urú | ?1 _) n (_d n // urú | ||||
| ?1 _) n (_dL01 n; // urú slender | ?1 _) n (_dL01 n; // urú slender | ||||
| ?1 _) n (_g N | ?1 _) n (_g N | ||||
| _C) omh o: | _C) omh o: | ||||
| _CC) omh o: | _CC) omh o: | ||||
| omha o:@ | omha o:@ | ||||
| omhai o:@ | omhai o:@ | ||||
| o (ll_ aU | o (ll_ aU | ||||
| C) o (nn_ aU | C) o (nn_ aU | ||||
| r) o (nn_ O# | r) o (nn_ O# | ||||
| C) ogh aU | C) ogh aU | ||||
| omhan (_ aU@n | |||||
| omhain (_ aUIn | omhain (_ aUIn | ||||
| odha aU | odha aU | ||||
| opaic @pIk | opaic @pIk | ||||
| C) odh (_ o: | C) odh (_ o: | ||||
| odl (a O#l | odl (a O#l | ||||
| oí i: | oí i: | ||||
| o (rd_ o: | |||||
| o (ird_ o: | |||||
| _) oll (@@P3 ,Ol | |||||
| .group ó | .group ó | ||||
| ó 'o: | ó 'o: | ||||
| oi (mis @ | oi (mis @ | ||||
| ois (++ O#S | ois (++ O#S | ||||
| n) ois (_++ IS | n) ois (_++ IS | ||||
| oill w'i:l | |||||
| oill (+ w'i:l | |||||
| _) oi (leá 'I | _) oi (leá 'I | ||||
| oidh aI | oidh aI | ||||
| oir (_ 'ERR | oir (_ 'ERR | ||||
| l) oic (_ Ek | |||||
| _sc) oi (r O | _sc) oi (r O | ||||
| oigh (ea aI | oigh (ea aI | ||||
| oighn aIXn | oighn aIXn | ||||
| oinse (_ @i:nS@ | |||||
| oi (nte @i: | |||||
| .group p | .group p | ||||
| p p // broad | p p // broad | ||||
| p (L22 p; // slender | p (L22 p; // slender | ||||
| ph (L20 f; // slender | ph (L20 f; // slender | ||||
| ?1 _b_) p (@ | ?1 _b_) p (@ | ||||
| _) príomh (@P6 pR,i:v | |||||
| _) phríomh (@P7 fR,i:v | |||||
| .group r | .group r | ||||
| r r // broad | r r // broad | ||||
| L01) r R // slender | L01) r R // slender | ||||
| _) r (L01 R | |||||
| r (L01 R | |||||
| L12i) r (e_ Z | L12i) r (e_ Z | ||||
| L12i) r (t_ Z | L12i) r (t_ Z | ||||
| rr R | rr R | ||||
| s (lL01 S | s (lL01 S | ||||
| _') s (_ s // 's in poems etc | _') s (_ s // 's in poems etc | ||||
| _) sain (@P4 s,an | _) sain (@P4 s,an | ||||
| _) sean (@@P4 S,an | |||||
| .group t | .group t | ||||
| t t[ // broad | t t[ // broad | ||||
| ao) th (_ | ao) th (_ | ||||
| thne (_ h@nE | thne (_ h@nE | ||||
| A) th (_ // silent th at word end | A) th (_ // silent th at word end | ||||
| c) th (e_ ih // guta cúnta | |||||
| K) th (as_ @h // guta cúnta | |||||
| .group u | .group u | ||||
| u U# | u U# | ||||
| ua u@ | ua u@ | ||||
| ua (_ u:@ | |||||
| uai u@ | uai u@ | ||||
| uai (g ui | uai (g ui | ||||
| uai (d ui | uai (d ui | ||||
| g) ui (gh_ @i: | g) ui (gh_ @i: | ||||
| gh) ui (gh_ @i: | gh) ui (gh_ @i: | ||||
| uí i: | uí i: | ||||
| uíomh 'i:@vv | |||||
| uachai 'ux@ | uachai 'ux@ | ||||
| _) uimhir (C@P6 ,IvIR | _) uimhir (C@P6 ,IvIR | ||||
| uibhne (_ @'i:n;E | |||||
| uibhneach (_ @'i:n@x | |||||
| .group ú | .group ú | ||||
| úi u: | úi u: | ||||
| úinn (_ u:IN | úinn (_ u:IN | ||||
| úibh (_ u:Iv | úibh (_ u:Iv | ||||
| úi (g u:i | |||||
| ?1 _0lang _^_EN // speak numbers in English | ?1 _0lang _^_EN // speak numbers in English | ||||
| // articles | // articles | ||||
| hο $u // ὁ | |||||
| ɦο $u // ὁ | |||||
| τὼ $u // τώ | τὼ $u // τώ | ||||
| οhι $u // οἱ | |||||
| hη $u // ἡ | |||||
| οɦι $u // οἱ | |||||
| ɦη $u // ἡ | |||||
| τὰ $u // τά | τὰ $u // τά | ||||
| αhι $u // αἱ | |||||
| αɦι $u // αἱ | |||||
| τὸ $u // τό | τὸ $u // τό | ||||
| τοὺ $u // τοῦ | τοὺ $u // τοῦ |
| // Preliminary character substitution: | // Preliminary character substitution: | ||||
| // Convert tonos, oxia and perispomeni to varia | // Convert tonos, oxia and perispomeni to varia | ||||
| // Remove psili (soft breathing) | // Remove psili (soft breathing) | ||||
| // Convert dasia accent to a separate prefix character ("h") | |||||
| // Convert dasia accent to a separate prefix character ("ɦ") NOTE: using U+0266 because it's above eSpeak's Latin character limit of 0x250. | |||||
| // Remove iota subscripts | // Remove iota subscripts | ||||
| // Replace Latin characters by same-shape Greek characters | // Replace Latin characters by same-shape Greek characters | ||||
| ᾷ ᾲ | ᾷ ᾲ | ||||
| ἀ α | ἀ α | ||||
| ἁ hα | |||||
| ἁ ɦα | |||||
| ἂ ὰ | ἂ ὰ | ||||
| ἃ hὰ | |||||
| ἃ ɦὰ | |||||
| ἄ ὰ | ἄ ὰ | ||||
| ἅ hὰ | |||||
| ἅ ɦὰ | |||||
| ἆ ὰ | ἆ ὰ | ||||
| ἇ hὰ | |||||
| ἇ ɦὰ | |||||
| ᾀ ᾳ | ᾀ ᾳ | ||||
| ᾁ hᾳ | |||||
| ᾁ ɦᾳ | |||||
| ᾂ ᾲ | ᾂ ᾲ | ||||
| ᾃ hᾲ | |||||
| ᾃ ɦᾲ | |||||
| ᾄ ᾲ | ᾄ ᾲ | ||||
| ᾅ hᾲ | |||||
| ᾅ ɦᾲ | |||||
| ᾆ ᾲ | ᾆ ᾲ | ||||
| ᾇ hᾲ | |||||
| ᾇ ɦᾲ | |||||
| // epsilon | // epsilon | ||||
| έ ὲ | έ ὲ | ||||
| έ ὲ | έ ὲ | ||||
| ἐ ε | ἐ ε | ||||
| ἑ hε | |||||
| ἑ ɦε | |||||
| ἒ ὲ | ἒ ὲ | ||||
| ἓ hὲ | |||||
| ἓ ɦὲ | |||||
| ἔ ὲ | ἔ ὲ | ||||
| ἕ hὲ | |||||
| ἕ ɦὲ | |||||
| // eta | // eta | ||||
| ή ὴ | ή ὴ | ||||
| ῇ ῂ | ῇ ῂ | ||||
| ἠ η | ἠ η | ||||
| ἡ hη | |||||
| ἡ ɦη | |||||
| ἢ ὴ | ἢ ὴ | ||||
| ἣ hὴ | |||||
| ἣ ɦὴ | |||||
| ἤ ὴ | ἤ ὴ | ||||
| ἥ hὴ | |||||
| ἥ ɦὴ | |||||
| ἦ ὴ | ἦ ὴ | ||||
| ἧ hὴ | |||||
| ἧ ɦὴ | |||||
| ᾐ ῃ | ᾐ ῃ | ||||
| ᾑ hῃ | |||||
| ᾑ ɦῃ | |||||
| ᾒ ῂ | ᾒ ῂ | ||||
| ᾓ hῂ | |||||
| ᾓ ɦῂ | |||||
| ᾔ ῂ | ᾔ ῂ | ||||
| ᾕ hῂ | |||||
| ᾕ ɦῂ | |||||
| ᾖ ῂ | ᾖ ῂ | ||||
| ᾗ hῂ | |||||
| ᾗ ɦῂ | |||||
| //iota | //iota | ||||
| ί ὶ | ί ὶ | ||||
| ῖ ὶ | ῖ ὶ | ||||
| ἰ ι | ἰ ι | ||||
| ἱ hι | |||||
| ἱ ɦι | |||||
| ἲ ὶ | ἲ ὶ | ||||
| ἳ hὶ | |||||
| ἳ ɦὶ | |||||
| ἴ ὶ | ἴ ὶ | ||||
| ἵ hὶ | |||||
| ἵ ɦὶ | |||||
| ἶ ὶ | ἶ ὶ | ||||
| ἷ hὶ | |||||
| ἷ ɦὶ | |||||
| ΐ ῒ | ΐ ῒ | ||||
| ῗ ῒ | ῗ ῒ | ||||
| ό ὸ | ό ὸ | ||||
| ό ὸ | ό ὸ | ||||
| ὀ ο | ὀ ο | ||||
| ὁ hο | |||||
| ὁ ɦο | |||||
| ὂ ὸ | ὂ ὸ | ||||
| ὃ hὸ | |||||
| ὃ ɦὸ | |||||
| ὄ ὸ | ὄ ὸ | ||||
| ὅ hὸ | |||||
| ὅ ɦὸ | |||||
| // upsilon | // upsilon | ||||
| ύ ὺ | ύ ὺ | ||||
| ῦ ὺ | ῦ ὺ | ||||
| ὐ υ | ὐ υ | ||||
| ὑ hυ | |||||
| ὑ ɦυ | |||||
| ὒ ὺ | ὒ ὺ | ||||
| ὓ hὺ | |||||
| ὓ ɦὺ | |||||
| ὔ ὺ | ὔ ὺ | ||||
| ὕ hὺ | |||||
| ὕ ɦὺ | |||||
| ὖ ὺ | ὖ ὺ | ||||
| ὗ hὺ | |||||
| ὗ ɦὺ | |||||
| ΰ ῢ | ΰ ῢ | ||||
| ῧ ῢ | ῧ ῢ | ||||
| ῷ ῲ | ῷ ῲ | ||||
| ὠ ω | ὠ ω | ||||
| ὡ hω | |||||
| ὡ ɦω | |||||
| ὢ ὼ | ὢ ὼ | ||||
| ὣ hὼ | |||||
| ὣ ɦὼ | |||||
| ὤ ὼ | ὤ ὼ | ||||
| ὥ hὼ | |||||
| ὥ ɦὼ | |||||
| ὦ ὼ | ὦ ὼ | ||||
| ὧ hὼ | |||||
| ὧ ɦὼ | |||||
| ᾠ ῳ | ᾠ ῳ | ||||
| ᾡ hῳ | |||||
| ᾡ ɦῳ | |||||
| ᾢ ῲ | ᾢ ῲ | ||||
| ᾣ hῲ | |||||
| ᾣ ɦῲ | |||||
| ᾤ ῲ | ᾤ ῲ | ||||
| ᾥ hῲ | |||||
| ᾥ ɦῲ | |||||
| ᾦ ῲ | ᾦ ῲ | ||||
| ᾧ hῲ | |||||
| ᾧ ɦῲ | |||||
| // rho | // rho | ||||
| ῤ ρ | ῤ ρ | ||||
| ῥ hρ | |||||
| ῥ ɦρ | |||||
| .group α | .group α | ||||
| αὶ 'aI | αὶ 'aI | ||||
| αυ aU | αυ aU | ||||
| αὺ 'aU | αὺ 'aU | ||||
| αhι haI | |||||
| αhὶ 'haI | |||||
| αhυ haU | |||||
| αhὺ 'haU | |||||
| αɦι haI | |||||
| αɦὶ 'haI | |||||
| αɦυ haU | |||||
| αɦὺ 'haU | |||||
| .group β | .group β | ||||
| β b | β b | ||||
| εὶ 'e: | εὶ 'e: | ||||
| ευ eU | ευ eU | ||||
| εὺ 'eU | εὺ 'eU | ||||
| εhι he: | |||||
| εhὶ 'he: | |||||
| εhυ heU | |||||
| εhὺ 'heU | |||||
| εɦι he: | |||||
| εɦὶ 'he: | |||||
| εɦυ heU | |||||
| εɦὺ 'heU | |||||
| .group ζ | .group ζ | ||||
| ζ z | ζ z | ||||
| ηὶ 'EI: | ηὶ 'EI: | ||||
| ηυ EU: | ηυ EU: | ||||
| ηὺ 'EU: | ηὺ 'EU: | ||||
| ηhι hEI: | |||||
| ηhὶ 'hEI: | |||||
| ηhυ hEU: | |||||
| ηhὺ 'hEU: | |||||
| ηɦι hEI: | |||||
| ηɦὶ 'hEI: | |||||
| ηɦυ hEU: | |||||
| ηɦὺ 'hEU: | |||||
| .group θ | .group θ | ||||
| θ T | θ T | ||||
| οὶ 'oI | οὶ 'oI | ||||
| ου u: | ου u: | ||||
| οὺ 'u: | οὺ 'u: | ||||
| οhι hoI | |||||
| οhὶ 'hoI | |||||
| οhυ hu: | |||||
| οhὺ 'hu: | |||||
| οɦι hoI | |||||
| οɦὶ 'hoI | |||||
| οɦυ hu: | |||||
| οɦὺ 'hu: | |||||
| .group π | .group π | ||||
| π p | π p | ||||
| υ y | υ y | ||||
| υι yI | υι yI | ||||
| υὶ 'yI | υὶ 'yI | ||||
| υhι hyI | |||||
| υhὶ 'hyI | |||||
| υɦι hyI | |||||
| υɦὶ 'hyI | |||||
| .group ϋ | .group ϋ | ||||
| ϋ y | ϋ y | ||||
| ϋι yI | ϋι yI | ||||
| ϋὶ 'yI | ϋὶ 'yI | ||||
| ϋhι hyI | |||||
| ϋhὶ 'hyI | |||||
| ϋɦι hyI | |||||
| ϋɦὶ 'hyI | |||||
| .group φ | .group φ | ||||
| φ f | φ f | ||||
| ωὶ 'OI: | ωὶ 'OI: | ||||
| ωυ OU: | ωυ OU: | ||||
| ωὺ 'OU: | ωὺ 'OU: | ||||
| ωhι hOI: | |||||
| ωhὶ 'hOI: | |||||
| ωhυ hOU: | |||||
| ωhὺ 'hOU: | |||||
| ωɦι hOI: | |||||
| ωɦὶ 'hOI: | |||||
| ωɦυ hOU: | |||||
| ωɦὺ 'hOU: | |||||
| .group h // dasia (rough breathing) | |||||
| h h | |||||
| .group ɦ // dasia (rough breathing) | |||||
| ɦ h | |||||
| // Latin letters to equivalent Greek sounds (plus 'q = η' 'w = ω' | // Latin letters to equivalent Greek sounds (plus 'q = η' 'w = ω' | ||||
| g g | g g | ||||
| gg Ng | gg Ng | ||||
| .group h | |||||
| h h | |||||
| .group i | .group i | ||||
| i i | i i | ||||
| _#9 tAb | _#9 tAb | ||||
| _#32 s'o:kYz | _#32 s'o:kYz | ||||
| _cap n'AJ_| | _cap n'AJ_| | ||||
| _?? kAR2AktEr // unknown characters (change this) | |||||
| _?? kAR2AktER2 // unknown characters (change this) | |||||
| // Abbreviations | // Abbreviations | ||||
| árban $unstressend | árban $unstressend | ||||
| (boltok ajánlatai) boltok_'||Aja:nlAtAi $unstressend | (boltok ajánlatai) boltok_'||Aja:nlAtAi $unstressend | ||||
| valaki $unstressend | valaki $unstressend | ||||
| (kellene biztosítani) kEl:Ene_||bistosi:tAni $unstressend | |||||
| (kellene biztosítani) kEl:EnE_||bistoSi:tAni $unstressend | |||||
| (már lehetséges) ma:R2_||lEhEtS:e:gES $unstressend | (már lehetséges) ma:R2_||lEhEtS:e:gES $unstressend | ||||
| (is támogatja) iS_||ta:mogAc:A $unstressend | (is támogatja) iS_||ta:mogAc:A $unstressend | ||||
| (lehet használni) lEhEt_||hAsna:lni $unstressend | (lehet használni) lEhEt_||hAsna:lni $unstressend |
| licen) ccs ts|tS | licen) ccs ts|tS | ||||
| nyol) c (csat ts | nyol) c (csat ts | ||||
| pokró) c (sá ts | pokró) c (sá ts | ||||
| barká) cs (zen tS | |||||
| kalapá) cs (zon tS | |||||
| _kapol) cs tS | |||||
| lán) c (sor ts | |||||
| barká) cs (zen tS | |||||
| kalapá) cs (zon tS | |||||
| _kapol) cs tS | |||||
| lán) c (sor ts | |||||
| daró) c (cs ts | |||||
| oroszlán) cs (or tS | |||||
| harmin) c (sor ts | |||||
| he) cc (sajt ts | |||||
| ccsz ts|s | |||||
| ifjon) c (csap ts | |||||
| kapo) cs (zár tS | |||||
| ketre) c (cs ts | |||||
| ketre) c (so ts | |||||
| kul) cs (zen tS | |||||
| lán) c (seb ts | |||||
| lidér) c (cs ts | |||||
| mala) c (cs ts | |||||
| matra) c (sor ts | |||||
| nyol) c (sark ts | |||||
| nyol) c (sej ts | |||||
| nyol) c (sug ts | |||||
| párdu) c (cs ts | |||||
| kar) c (sor ts | |||||
| szendvi) cs (zab tS | |||||
| tán) cs (i tS | |||||
| tanon) c (cs ts | |||||
| titán) cs tS | |||||
| torná) c (sor ts | |||||
| ujjper) c (cs ts | |||||
| ccsz ts|s | |||||
| _ér) c (saru ts | |||||
| .group ch | .group ch | ||||
| anar) ch (i h | anar) ch (i h | ||||
| almana) ch h | almana) ch h | ||||
| kronoszti) ch (on h | kronoszti) ch (on h | ||||
| arca) ch (on h | arca) ch (on h | ||||
| sza) ch (arid h | |||||
| szto) ch (aszti h | |||||
| sza) ch (arid h | |||||
| szto) ch (aszti h | |||||
| a) ch (aem h | |||||
| a) ch (át h | |||||
| a) ch (illes h | |||||
| ti) ch (on h | |||||
| arca) ch (on h | |||||
| ba) ch h | |||||
| blaskovi) ch tS | |||||
| ?1 chip tSip | |||||
| ?1 damjani) ch tS | |||||
| eu) ch (arisz h | |||||
| eunu) ch h | |||||
| fa) ch h | |||||
| fis) ch (er | |||||
| forgá) ch tS | |||||
| grassalkovi) ch tS | |||||
| ri) ch (ter C | |||||
| jurisi) chcs tS: | |||||
| jurisi) ch tS | |||||
| keglevi) ch tS | |||||
| s) ch (illing | |||||
| le) ch (ner h | |||||
| mala) ch (it h | |||||
| metterni) ch C | |||||
| pé) ch (y tS | |||||
| pejacsevi) ch tS | |||||
| kra) ch h | |||||
| tri) ch (in h | |||||
| e) ch (ó h | |||||
| .group d | .group d | ||||
| d d | d d | ||||
| své) d (zseb d | své) d (zseb d | ||||
| csalá) d (szer d | csalá) d (szer d | ||||
| szaba) d (sajt d | szaba) d (sajt d | ||||
| szomszé) d (jog d | |||||
| elő) d (szerv d | |||||
| árká) d (szerű d | |||||
| csalá) d (sztor d | |||||
| harminca) d (sze d | |||||
| hol) d (szond d | |||||
| kó) d (szöve d | |||||
| lipi) d (szint d | |||||
| máso) d (szava d | |||||
| _ná) d (szeg d | |||||
| nyárá) d (szere d | |||||
| rú) d (szerű d | |||||
| tize) d (szed d | |||||
| _va) d (szerb d | |||||
| va) d (tyúk d | |||||
| bőrön) d (sze d | |||||
| stran) d (szett d | |||||
| szomszé) d (jog d | |||||
| elő) d (szerv d | |||||
| árká) d (szerű d | |||||
| csalá) d (sztor d | |||||
| harminca) d (sze d | |||||
| hol) d (szond d | |||||
| kó) d (szöve d | |||||
| lipi) d (szint d | |||||
| máso) d (szava d | |||||
| _ná) d (szeg d | |||||
| nyárá) d (szere d | |||||
| rú) d (szerű d | |||||
| tize) d (szed d | |||||
| _va) d (szerb d | |||||
| va) d (tyúk d | |||||
| bőrön) d (sze d | |||||
| stran) d (szett d | |||||
| pa) d (szomszé d | |||||
| akkor) d (játsz d | |||||
| harma) d (szándék d | |||||
| rekor) d (szer d | |||||
| rekor) d (szezo d | |||||
| va) d (szállí d | |||||
| cső) d (szerű d | |||||
| hol) d (szputnyik d | |||||
| .group dz | .group dz | ||||
| fogó) dz (kod ts | fogó) dz (kod ts | ||||
| 000_-) el (_ REl // double R for 1000-el | 000_-) el (_ REl // double R for 1000-el | ||||
| 000000_-) el (_ El // ... but not 1000000-el | 000000_-) el (_ El // ... but not 1000000-el | ||||
| _) ehhez EhEz | _) ehhez EhEz | ||||
| egyezség EJ:ESSe:g | |||||
| egyezségg EJ:ESSe:g: | |||||
| egyezség EJ:ESSe:g | |||||
| egyezségg EJ:ESSe:g: | |||||
| .group é | .group é | ||||
| é e: | é e: | ||||
| fo) g (gyűrű g | fo) g (gyűrű g | ||||
| fo) g (gyö g | fo) g (gyö g | ||||
| kuplun) g (gyár g | kuplun) g (gyár g | ||||
| bélye) g (gyűjt g | |||||
| bélye) g (gy g | |||||
| jo) g (gyakor g | jo) g (gyakor g | ||||
| dö) g (gyapjú g | dö) g (gyapjú g | ||||
| fo) g (gyalu g | fo) g (gyalu g | ||||
| é) gh (ajla kh | é) gh (ajla kh | ||||
| pro) g (gyak g | pro) g (gyak g | ||||
| arcüre) g (gyulladás g | arcüre) g (gyulladás g | ||||
| bete) g (gyógyász g | |||||
| szöve) g (gyűjt g | szöve) g (gyűjt g | ||||
| ta) g (gyűl g | ta) g (gyűl g | ||||
| gu) gg (ol g | gu) gg (ol g | ||||
| baromsá) g (gy g | baromsá) g (gy g | ||||
| tehetsé) g (gy g | tehetsé) g (gy g | ||||
| bete) g (gy g | bete) g (gy g | ||||
| egysé) g (gy g | |||||
| átla) g (gy g | |||||
| szőnye) g (gyár g | |||||
| hűsé) g (gy g | |||||
| _ma) g (gyűjt g | |||||
| népessé) g (gy g | |||||
| öröksé) g (gy g | |||||
| _sze) g (gyár g | |||||
| szö) g (gyors g | |||||
| tisztsé) g (gy g | |||||
| szúnyo) g (gy g | |||||
| szala) g (gyakor g | |||||
| szala) g (gyűjt g | |||||
| egysé) g (gy g | |||||
| átla) g (gy g | |||||
| szőnye) g (gy g | |||||
| hűsé) g (gy g | |||||
| _ma) g (gyűjt g | |||||
| népessé) g (gy g | |||||
| öröksé) g (gy g | |||||
| _sze) g (gyár g | |||||
| szö) g (gyors g | |||||
| tisztsé) g (gy g | |||||
| szúnyo) g (gy g | |||||
| szala) g (gyakor g | |||||
| szala) g (gyűjt g | |||||
| azonossá) g (gy g | |||||
| barlan) g (gy g | |||||
| betegsé) g (gy g | |||||
| bizottsá) g (gy g | |||||
| boldogsá) g (gy g | |||||
| bumerán) g (gy g | |||||
| szövetsé) g (gy g | |||||
| cé) g (gyil g | |||||
| cé) g (gyűr g | |||||
| cukisá) g (gy g | |||||
| me) ggy (önte J: | |||||
| dö) g (gyár g | |||||
| dömpin) g (gy g | |||||
| dramatur) g (gy g | |||||
| egyvele) g (gy g | |||||
| ellensé) g (gy g | |||||
| érdekessé) g (gy g | |||||
| fére) g (gy g | |||||
| feszültsé) g (gy g | |||||
| gyalo) g (gy g | |||||
| sere) g (gy g | |||||
| hangszala) g (gy g | |||||
| haran) g (gy g | |||||
| híressé) g (gy g | |||||
| hólya) g (gy g | |||||
| horo) g (gy g | |||||
| hülyesé) g (gy g | |||||
| in) g (gyár g | |||||
| jé) g (gyűr g | |||||
| jo) g (gyűjt g | |||||
| jo) g (gyüm g | |||||
| közönsé) g (gy g | |||||
| lé) g (gyár g | |||||
| ma) g (gyár g | |||||
| vé) g (gyant g | |||||
| mássá) g (gy g | |||||
| me) ggy (asz J: | |||||
| me) ggy (ill J: | |||||
| me) ggy (ültet J: | |||||
| szala) g (gyár g | |||||
| anya) g (gy g | |||||
| nemzetsé) g (gy g | |||||
| ördö) g (gy g | |||||
| részle) g (gy g | |||||
| réte) g (gy g | |||||
| ru) g (gyant g | |||||
| sebessé) g (gy g | |||||
| szlen) g (gy g | |||||
| ta) g (gyül g | |||||
| tisztasá) g (gy g | |||||
| újsá) g (gy g | |||||
| végta) g (gy g | |||||
| ele) ggy (el J: | |||||
| .group gy | .group gy | ||||
| gy J | gy J | ||||
| száze) gy (edik J: | száze) gy (edik J: | ||||
| védje) gy (straté J | védje) gy (straté J | ||||
| na) gy (sor J | na) gy (sor J | ||||
| e) gy (esít J: | |||||
| ve) gy (érték J | |||||
| e) gy (esít J: | |||||
| ve) gy (érték J | |||||
| .group h | .group h | ||||
| h h | h h | ||||
| sz) í (verő i: | sz) í (verő i: | ||||
| sz) í (vevő i: | sz) í (vevő i: | ||||
| expressz) í (v i: | expressz) í (v i: | ||||
| recessz) í (ve i: | |||||
| v) í (zener i: | |||||
| recessz) í (ve i: | |||||
| v) í (zener i: | |||||
| .group j | .group j | ||||
| j j | j j | ||||
| k (-k k: //for example marok-körző word need cut one k letter and need spokening k: phoneme only | k (-k k: //for example marok-körző word need cut one k letter and need spokening k: phoneme only | ||||
| k-) k //silent with second k phoneme | k-) k //silent with second k phoneme | ||||
| _játé) kk (liens k: //exceptiof for kk (L01 rule | _játé) kk (liens k: //exceptiof for kk (L01 rule | ||||
| községg kYS:e:g: | |||||
| községg kYS:e:g: | |||||
| .group l | .group l | ||||
| lly (-L01 j //if have consonants after - character, need spokening one j letter with first part | lly (-L01 j //if have consonants after - character, need spokening one j letter with first part | ||||
| ll (-L01 l | ll (-L01 l | ||||
| bagate) ll (iz l | bagate) ll (iz l | ||||
| fü) l (lyuk l | |||||
| levé) l (lyuk l | |||||
| nyé) l (lyuk l | |||||
| .group m | .group m | ||||
| m m | m m | ||||
| n'Em _!'Ellt,e:,ES | n'Em _!'Ellt,e:,ES | ||||
| porcelá) n (ny n | porcelá) n (ny n | ||||
| részvé) ny (jegy n^ | |||||
| agyo) n (játsz n | |||||
| kölcsö) n (nyak n | |||||
| dohá) ny (jöv n^ | |||||
| elektro) n (ny n | |||||
| magá) n (nyar n | |||||
| igé) ny (jog n^ | |||||
| szé) n (nyom n | |||||
| verse) ny (játsz n^ | |||||
| ár) ny (játé n^ | |||||
| részvé) ny (jegy n^ | |||||
| agyo) n (játsz n | |||||
| kölcsö) n (nyak n | |||||
| dohá) ny (jöv n^ | |||||
| elektro) n (ny n | |||||
| magá) n (nyar n | |||||
| igé) ny (jog n^ | |||||
| szé) n (nyom n | |||||
| verse) ny (játsz n^ | |||||
| ár) ny (játé n^ | |||||
| arzé) n ((ny n | |||||
| bá) n (nyíre n | |||||
| benzi) n (ny n | |||||
| nny (elv n|n^ | |||||
| kö) nny (elv n^: | |||||
| elektro) n (ny n | |||||
| szé) n (nyom n | |||||
| haszo) n (ny n | |||||
| ingatla) n (nyil n | |||||
| io) n (ny n | |||||
| karbo) n (ny n | |||||
| kazá) n (ny n | |||||
| kokai) n (ny n | |||||
| kölcsö) n (ny n | |||||
| kupo) n (ny n | |||||
| vászo) n (ny n | |||||
| marato) n (ny n | |||||
| mediá) n (ny n | |||||
| telefo) n (ny n | |||||
| morfi) n (ny n | |||||
| mikro) n (ny n | |||||
| neutro) n (ny n | |||||
| oxigé) n (ny n | |||||
| _ö) n (nyug n | |||||
| panteo) n (ny n | |||||
| sablo) n (ny n | |||||
| skanze) n (ny n | |||||
| szentivá) n (ny n | |||||
| szé) n (nyom n | |||||
| ta) n (nyomd n | |||||
| vagyo) n (ny n | |||||
| külö) n (jára n | |||||
| szí) n (jeles n | |||||
| .group o | .group o | ||||
| o o | o o | ||||
| _ki) s (szín S | _ki) s (szín S | ||||
| kérdé) s S | kérdé) s S | ||||
| végzé) s S | végzé) s S | ||||
| blue) s (zen S | |||||
| fúvó) s (zené S | |||||
| települé) s (zón S | |||||
| adá) s (zár S | |||||
| blue) s (zen S | |||||
| fúvó) s (zené S | |||||
| települé) s (zón S | |||||
| _adá) s (zár S | |||||
| basszu) s (zen S | |||||
| blue) s (zon S | |||||
| egyene) s (zár S | |||||
| fázi) s (zár S | |||||
| konfliktu) s (zón S | |||||
| kortár) s (zen S | |||||
| kóru) s (zen S | |||||
| mikulá) s (zacs S | |||||
| mulató) s (zen S | |||||
| orvo) s (zseb S | |||||
| ő) s (száj S | |||||
| ő) s (szám S | |||||
| ő) s (szava S | |||||
| ő) s (szent S | |||||
| ő) s (szó S | |||||
| rugó) s (zárj S | |||||
| szeku) s (zen S | |||||
| töré) s (zón S | |||||
| verbunko) s (zen S | |||||
| .group ss | .group ss | ||||
| ssz ss2 | ssz ss2 | ||||
| közlekedé) ssz Ss | közlekedé) ssz Ss | ||||
| laká) ssz Ss | laká) ssz Ss | ||||
| légzé) ssz Ss | légzé) ssz Ss | ||||
| _le) ssz (ab Ss | |||||
| le) ssz (ab Ss | |||||
| meglepeté) ssz Ss | meglepeté) ssz Ss | ||||
| nyila) ssz Ss | nyila) ssz Ss | ||||
| pszichológu) ssz Ss | pszichológu) ssz Ss | ||||
| zsarolá) ssz (er S|s | zsarolá) ssz (er S|s | ||||
| dőlé) ssz (ab S|s | dőlé) ssz (ab S|s | ||||
| települé) ssz (isz Ss | települé) ssz (isz Ss | ||||
| vallá) ssz Ss | |||||
| folyá) ssz (er Ss | |||||
| _katyva) ssz s: | |||||
| mitugrá) ssz (al s: | |||||
| basszu) ssz Ss | |||||
| buká) ssz Ss | |||||
| erőlködé) ssz Ss | |||||
| szarva) ssz Ss | |||||
| ricinu) ssz Ss | |||||
| települé) ssz Ss | |||||
| utalá) ssz Ss | |||||
| erősíté) ssz Ss | |||||
| fázi) ssz Ss | |||||
| fejleszté) ssz Ss | |||||
| fúvó) ssz Ss | |||||
| autó) ssz Ss | |||||
| nyomá) ssz Ss | |||||
| hatá) ssz Ss | |||||
| effektu) ssz Ss | |||||
| pulzu) ssz Ss | |||||
| jelenté) ssz Ss | |||||
| váltá) ssz Ss | |||||
| mondá) ssz Ss | |||||
| fázá) ssz Ss | |||||
| ve) ssz (ők s: | |||||
| _ő) ssz (láv Ss | |||||
| periódu) ssz Ss | |||||
| pólu) ssz Ss | |||||
| rová) ssz Ss | |||||
| utasítá) ssz Ss | |||||
| tudá) ssz Ss | |||||
| turizmu) ssz Ss | |||||
| hajó) ssz (leng Ss | |||||
| vezeté) ssz Ss | |||||
| _vonó) ssz (iv Ss | |||||
| ülé) ssz Ss | |||||
| motoro) ssz Ss | |||||
| vallá) ssz Ss | |||||
| folyá) ssz (er Ss | |||||
| _katyva) ssz s: | |||||
| mitugrá) ssz (al s: | |||||
| basszu) ssz Ss | |||||
| buká) ssz Ss | |||||
| erőlködé) ssz Ss | |||||
| szarva) ssz Ss | |||||
| ricinu) ssz Ss | |||||
| települé) ssz Ss | |||||
| utalá) ssz Ss | |||||
| erősíté) ssz Ss | |||||
| fázi) ssz Ss | |||||
| fejleszté) ssz Ss | |||||
| fúvó) ssz Ss | |||||
| autó) ssz Ss | |||||
| nyomá) ssz Ss | |||||
| hatá) ssz Ss | |||||
| effektu) ssz Ss | |||||
| pulzu) ssz Ss | |||||
| jelenté) ssz Ss | |||||
| váltá) ssz Ss | |||||
| mondá) ssz Ss | |||||
| fázá) ssz Ss | |||||
| ve) ssz (ők s: | |||||
| _ő) ssz (láv Ss | |||||
| periódu) ssz Ss | |||||
| pólu) ssz Ss | |||||
| rová) ssz Ss | |||||
| utasítá) ssz Ss | |||||
| tudá) ssz Ss | |||||
| turizmu) ssz Ss | |||||
| hajó) ssz (leng Ss | |||||
| vezeté) ssz Ss | |||||
| _vonó) ssz (iv Ss | |||||
| ülé) ssz Ss | |||||
| motoro) ssz Ss | |||||
| adá) ssz Ss | |||||
| adó) ssz Ss | |||||
| aktivitá) ssz Ss | |||||
| akusztiku) ssz Ss | |||||
| arco) ssz Ss | |||||
| alkotá) ssz Ss | |||||
| állomá) ssz Ss | |||||
| típu) ssz Ss | |||||
| analízi) ssz Ss | |||||
| anyó) ssz Ss | |||||
| áramlá) ssz Ss | |||||
| emelkedé) ssz Ss | |||||
| árré) ssz Ss | |||||
| árveré) ssz Ss | |||||
| áttöré) ssz Ss | |||||
| autizmu) ssz Ss | |||||
| autoritá) ssz Ss | |||||
| metszé) ssz Ss | |||||
| mutatkozá) ssz Ss | |||||
| blue) ssz (al s: | |||||
| blue) ssz Ss | |||||
| bombázá) ssz Ss | |||||
| bukfencezé) ssz Ss | |||||
| bunyó) ssz Ss | |||||
| büfögé) ssz Ss | |||||
| carie) ssz Ss | |||||
| ciklu) ssz Ss | |||||
| cipru) ssz Ss | |||||
| ciripelé) ssz Ss | |||||
| citru) ssz Ss | |||||
| csevegé) ssz Ss | |||||
| csicsergé) ssz Ss | |||||
| diakónu) ssz Ss | |||||
| díjszabá) ssz Ss | |||||
| dinamiku) ssz Ss | |||||
| dobolá) ssz Ss | |||||
| dózi) ssz Ss | |||||
| dzsidá) ssz Ss | |||||
| egymá) ssz Ss | |||||
| elbeszélé) ssz Ss | |||||
| elektroniku) ssz Ss | |||||
| ellátá) ssz Ss | |||||
| eltolá) ssz Ss | |||||
| emigrán) ssz Ss | |||||
| éneke) ssz Ss | |||||
| epilógu) ssz Ss | |||||
| építé) ssz (ab Ss | |||||
| erőforrá) ssz Ss | |||||
| erszénye) ssz Ss | |||||
| érvelé) ssz Ss | |||||
| esé) ssz Ss | |||||
| észlelé) ssz Ss | |||||
| evező) ssz Ss | |||||
| evolven) ssz Ss | |||||
| fagyá) ssz Ss | |||||
| fá) ssz (er Ss | |||||
| dísze) ssz Ss | |||||
| fejlődé) ssz Ss | |||||
| fékezé) ssz Ss | |||||
| lángolá) ssz Ss | |||||
| feltevé) ssz Ss | |||||
| felvoná) ssz Ss | |||||
| féti) ssz Ss | |||||
| foga) ssz Ss | |||||
| fordítá) ssz Ss | |||||
| fotó) ssz Ss | |||||
| földmíve) ssz Ss | |||||
| földműve) ssz Ss | |||||
| rengé) ssz Ss | |||||
| főzé) ssz Ss | |||||
| fuvaro) ssz Ss | |||||
| hú) ssz (er Ss | |||||
| gerjeszté) ssz Ss | |||||
| gesztu) ssz Ss | |||||
| szűré) ssz Ss | |||||
| gulyá) ssz Ss | |||||
| gyártá) ssz Ss | |||||
| gyülekezé) ssz Ss | |||||
| gyűlé) ssz Ss | |||||
| hajtá) ssz Ss | |||||
| hangzá) ssz Ss | |||||
| hányado) ssz Ss | |||||
| háztartá) ssz Ss | |||||
| hente) ssz Ss | |||||
| hitelesíté) ssz Ss | |||||
| hivatá) ssz Ss | |||||
| horga) ssz Ss | |||||
| horkolá) ssz Ss | |||||
| hú) ssz (ál Ss | |||||
| hú) ssz (ekt Ss | |||||
| hú) ssz (eml Ss | |||||
| hú) ssz (int Ss | |||||
| hú) ssz (örny Ss | |||||
| hú) ssz (üksé Ss | |||||
| hűté) ssz Ss | |||||
| identitá) ssz Ss | |||||
| igazgatá) ssz Ss | |||||
| inciden) ssz Ss | |||||
| indítá) ssz Ss | |||||
| intriku) ssz Ss | |||||
| írá) ssz Ss | |||||
| játéko) ssz Ss | |||||
| jelölé) ssz Ss | |||||
| jézu) ssz Ss | |||||
| júdá) ssz Ss | |||||
| kaka) ssz Ss | |||||
| kántálá) ssz Ss | |||||
| kapacitá) ssz Ss | |||||
| kapitalizmu) ssz Ss | |||||
| karbantartá) ssz Ss | |||||
| kárpito) ssz Ss | |||||
| ver) ssz (er Ss | |||||
| kerékpáro) ssz Ss | |||||
| döfé) ssz Ss | |||||
| ké) ssz (án Ss | |||||
| ké) ssz (ár Ss | |||||
| ké) ssz (er Ss | |||||
| kette) ssz Ss | |||||
| kézműve) ssz Ss | |||||
| kidolgozá) ssz Ss | |||||
| kifejezé) ssz Ss | |||||
| ki) ssz (eke Ss | |||||
| ro) ssz (abb s: | |||||
| konfliktu) ssz Ss | |||||
| konstan) ssz Ss | |||||
| kontinen) ssz Ss | |||||
| kóro) ssz (en Ss | |||||
| kortár) ssz Ss | |||||
| kóru) ssz Ss | |||||
| _ko) ssz (er Ss | |||||
| köle) ssz Ss | |||||
| könyve) ssz (é s: | |||||
| könyvtáro) ssz Ss | |||||
| körö) ssz (e Ss | |||||
| kőrö) ssz (eg Ss | |||||
| kreativitá) ssz Ss | |||||
| krízi) ssz Ss | |||||
| kubiko) ssz Ss | |||||
| kulturáli) ssz Ss | |||||
| kurzu) ssz Ss | |||||
| kutatá) ssz Ss | |||||
| labirintu) ssz Ss | |||||
| lakato) ssz Ss | |||||
| lángo) ssz Ss | |||||
| ömlé) ssz Ss | |||||
| lebegé) ssz Ss | |||||
| leképezé) ssz Ss | |||||
| nyúlá) ssz Ss | |||||
| rohaná) ssz Ss | |||||
| levelezé) ssz Ss | |||||
| fo) ssz (ín Ss | |||||
| libbené) ssz Ss | |||||
| likviditá) ssz Ss | |||||
| lobbaná) ssz Ss | |||||
| lövé) ssz (ám Ss | |||||
| lövöldözé) ssz Ss | |||||
| maga) ssz (int Ss | |||||
| magatartá) ssz Ss | |||||
| mágu) ssz Ss | |||||
| érzé) ssz Ss | |||||
| jegyzé) ssz (er Ss | |||||
| lepé) ssz (er Ss | |||||
| művelé) ssz Ss | |||||
| megoldá) ssz Ss | |||||
| rendelé) ssz Ss | |||||
| megtorlá) ssz Ss | |||||
| méhka) ssz (er Ss | |||||
| mellka) ssz Ss | |||||
| mentő) ssz Ss | |||||
| mérgezé) ssz Ss | |||||
| mestersége) ssz Ss | |||||
| meteorológu) ssz Ss | |||||
| mósu) ssz (er Ss | |||||
| mután) ssz Ss | |||||
| működé) ssz Ss | |||||
| náda) ssz Ss | |||||
| négye) ssz Ss | |||||
| nyaralá) ssz Ss | |||||
| nyögé) ssz Ss | |||||
| oktatá) ssz Ss | |||||
| olvasá) ssz Ss | |||||
| órá) ssz Ss | |||||
| orgazmu) ssz Ss | |||||
| gyilko) ssz Ss | |||||
| orvo) ssz Ss | |||||
| ölelé) ssz Ss | |||||
| ellenőrzé) ssz Ss | |||||
| önkénte) ssz Ss | |||||
| öntözé) ssz Ss | |||||
| összeomlá) ssz Ss | |||||
| ötvö) ssz Ss | |||||
| pálo) ssz (en Ss | |||||
| lámpá) ssz Ss | |||||
| pazarlá) ssz Ss | |||||
| pedagógu) ssz Ss | |||||
| pesti) ssz Ss | |||||
| pirami) ssz Ss | |||||
| postá) ssz Ss | |||||
| pörsené) ssz Ss | |||||
| pré) ssz (ak Ss | |||||
| prímá) ssz Ss | |||||
| prioritá) ssz Ss | |||||
| próbálkozá) ssz Ss | |||||
| ré) ssz (ele Ss | |||||
| részesedé) ssz Ss | |||||
| reziden) ssz Ss | |||||
| rítu) ssz Ss | |||||
| robbaná) ssz Ss | |||||
| robbantá) ssz Ss | |||||
| röfögé) ssz Ss | |||||
| rögtönzé) ssz Ss | |||||
| rugó) ssz Ss | |||||
| sakkozá) ssz Ss | |||||
| sa) ssz (ikl Ss | |||||
| sa) ssz (imb Ss | |||||
| sa) ssz (obr Ss | |||||
| sa) ssz (obor Ss | |||||
| sercegé) ssz Ss | |||||
| _sor) ssz (ab Ss | |||||
| sörha) ssz Ss | |||||
| száza) ssz Ss | |||||
| szedé) ssz Ss | |||||
| széle) ssz Ss | |||||
| játszá) ssz Ss | |||||
| szintetiku) ssz Ss | |||||
| dobbaná) ssz Ss | |||||
| szociáli) ssz Ss | |||||
| szolgáltatá) ssz Ss | |||||
| szövé) ssz Ss | |||||
| taktu) ssz Ss | |||||
| tanulá) ssz Ss | |||||
| tapsolá) ssz Ss | |||||
| társulá) ssz Ss | |||||
| teknő) ssz Ss | |||||
| telje) ssz Ss | |||||
| teremté) ssz Ss | |||||
| terhe) ssz Ss | |||||
| termé) ssz Ss | |||||
| tervezé) ssz Ss | |||||
| tetoválá) ssz Ss | |||||
| textu) ssz Ss | |||||
| tizede) ssz Ss | |||||
| tölté) ssz Ss | |||||
| töré) ssz Ss | |||||
| trombitálá) ssz Ss | |||||
| trónu) ssz Ss | |||||
| tűré) ssz Ss | |||||
| tüsszögé) ssz Ss | |||||
| unikorni) ssz Ss | |||||
| uta) ssz Ss | |||||
| uzsorá) ssz Ss | |||||
| űrhajó) ssz Ss | |||||
| ütközé) ssz Ss | |||||
| vágá) ssz Ss | |||||
| ütő) ssz Ss | |||||
| választá) ssz Ss | |||||
| vállalkozá) ssz Ss | |||||
| varrá) ssz Ss | |||||
| esztergályo) ssz Ss | |||||
| verbunko) ssz Ss | |||||
| versengé) ssz Ss | |||||
| villámlá) ssz Ss | |||||
| vívá) ssz Ss | |||||
| bizto) ssz Ss | |||||
| vonaglá) ssz Ss | |||||
| voná) ssz Ss | |||||
| zaklatá) ssz Ss | |||||
| zászló) ssz Ss | |||||
| zöldsége) ssz Ss | |||||
| emlő) ssz (erű Ss | |||||
| kapá) ssz (őlő Ss | |||||
| kuva) ssz (al s: | |||||
| szertartá) ssz (erű Ss | |||||
| csipogá) ssz Ss | |||||
| .group sz | .group sz | ||||
| sz s | sz s | ||||
| ré) sz (árás Sz | ré) sz (árás Sz | ||||
| _te) szts (or st|S | _te) szts (or st|S | ||||
| serté) szs (ir S|Z | serté) szs (ir S|Z | ||||
| tava) sz (áról s | |||||
| te) sztsz (ezon st|s | |||||
| balla) szts (úly st|S | |||||
| kere) sztsz (ala st|s | |||||
| para) szts (alá st|S | |||||
| para) szts (ere st|S | |||||
| para) szts (orb st|S | |||||
| tava) sz (áról s | |||||
| te) sztsz (ezon st|s | |||||
| balla) szts (úly st|S | |||||
| kere) sztsz (ala st|s | |||||
| para) szts (alá st|S | |||||
| para) szts (ere st|S | |||||
| para) szts (orb st|S | |||||
| csömö) sz (öl s | |||||
| enyve) szs (in S|Z | |||||
| li) sztsz (emek st|s | |||||
| .group t | .group t | ||||
| t t | t t | ||||
| álla) t (cirk t | álla) t (cirk t | ||||
| szen) t (szob t | szen) t (szob t | ||||
| koncer) t (jeg t | koncer) t (jeg t | ||||
| tesz) t (cikl t | |||||
| tesz) t (járm t | |||||
| tesz) t (játék t | |||||
| interne) t (jog t | |||||
| á) tsz (orzás t|s | |||||
| bará) t (szeren t | |||||
| bi) t (széles t | |||||
| spor) t (sér t | |||||
| sej) t (szinte t | |||||
| cson) t (sová t | |||||
| direk) t (szorza t | |||||
| ese) t (szétvá t | |||||
| gondola) t (szond t | |||||
| karsz) t (járat t | |||||
| klariné) t (sz t | |||||
| látsza) t (jóin t | |||||
| metsze) t (sor t | |||||
| mosza) t (sejt t | |||||
| sej) t (sűrű t | |||||
| vilaje) t (szék t | |||||
| tesz) t (cikl t | |||||
| tesz) t (járm t | |||||
| tesz) t (játék t | |||||
| interne) t (jog t | |||||
| á) tsz (orzás t|s | |||||
| bará) t (szeren t | |||||
| bi) t (széles t | |||||
| spor) t (sér t | |||||
| sej) t (szinte t | |||||
| cson) t (sová t | |||||
| direk) t (szorza t | |||||
| ese) t (szétvá t | |||||
| gondola) t (szond t | |||||
| karsz) t (járat t | |||||
| klariné) t (sz t | |||||
| látsza) t (jóin t | |||||
| metsze) t (sor t | |||||
| mosza) t (sejt t | |||||
| sej) t (sűrű t | |||||
| vilaje) t (szék t | |||||
| csopor) t (sorsol t | |||||
| saj) t (salát t | |||||
| kama) t (jövedel t | |||||
| tisztele) t (jeggy t | |||||
| épüle) t (szobrá t | |||||
| eszkor) t (szolgál t | |||||
| foszfá) t (jövedel t | |||||
| gráni) t (szob t | |||||
| .group tj | .group tj | ||||
| C) tj c | C) tj c | ||||
| ké) tj (átszm tj | ké) tj (átszm tj | ||||
| szavaza) tj (og tj | szavaza) tj (og tj | ||||
| szavaza) tj (eg tj | szavaza) tj (eg tj | ||||
| vona) tj (eggy tj | |||||
| vona) tj (eggy tj | |||||
| billentyűze) tj (áté tj | |||||
| .group ts | .group ts | ||||
| ts (_S2 tS //general rule with word end of ts letters | ts (_S2 tS //general rule with word end of ts letters | ||||
| bennszülö) tt (jelmez t | bennszülö) tt (jelmez t | ||||
| krike) tt (ját t | krike) tt (ját t | ||||
| szé) tt (rancsír t: | szé) tt (rancsír t: | ||||
| elláto) tt (jog t | |||||
| felnő) tt (játszó t | |||||
| .group ty | .group ty | ||||
| mindszen) ty t|i | mindszen) ty t|i | ||||
| _ré) zs (ó zS | _ré) zs (ó zS | ||||
| ő) zs (uta zS | ő) zs (uta zS | ||||
| _vá) zs (or zS | _vá) zs (or zS | ||||
| szára) zs (ág SS | |||||
| szára) zs (ág SS | |||||
| _nehé) zs (ely zS | _nehé) zs (ely zS | ||||
| _) zürich tsyR2i C | _) zürich tsyR2i C | ||||
| tí) zsz (er s: | tí) zsz (er s: | ||||
| _tí) z (shill z | _tí) z (shill z | ||||
| topá) z z | topá) z z | ||||
| dör) zsz (ör Z|z | dör) zsz (ör Z|z | ||||
| raj) z (sa z | |||||
| tí) z (seb z | |||||
| raj) z (sa z | |||||
| tí) z (seb z | |||||
| egészségkö) z (pont s | egészségkö) z (pont s | ||||
| leme) z (slá z | |||||
| raj) z (sor z | |||||
| ri) zs (zab Z | |||||
| leme) z (slá z | |||||
| raj) z (sor z | |||||
| ri) zs (zab Z | |||||
| vá) z (sér z | |||||
| ví) z z | |||||
| leme) z z | |||||
| eszkö) z z | |||||
| gá) z (zsám z | |||||
| gá) z (seb z | |||||
| gá) z (ster z | |||||
| gá) z (súr z | |||||
| gá) z (sűr z | |||||
| gá) z (süt z | |||||
| gá) z (sát z | |||||
| halma) z z | |||||
| gá) z (síp z | |||||
| masszá) zs (zuh Z | |||||
| ő) z (salát z | |||||
| ő) z (sírá z | |||||
| raj) z (skic z | |||||
| raj) z (st z | |||||
| ré) z (zsan z | |||||
| tí) z (sch z | |||||
| ví) z (zsák z | |||||
| ví) z (zsong z | |||||
| .group | .group | ||||
| $ dolla:R2 | $ dolla:R2 |
| het h@t $only | het h@t $only | ||||
| een @n $only | een @n $only | ||||
| ən @-n // char.replacement for 'n | ən @-n // char.replacement for 'n | ||||
| ət t // char.replacement for 't | |||||
| ət @t // char.replacement for 't | |||||
| een e:n $atend | een e:n $atend | ||||
| (de een) d@||e:n | (de een) d@||e:n | ||||
| (het een) h@t||e:n | (het een) h@t||e:n | ||||
| trokken $alt | trokken $alt | ||||
| zeten $alt | zeten $alt | ||||
| // -emen is not a stressed ending | |||||
| boezemen $alt | |||||
| ademen $alt | |||||
| bliksemen $alt | |||||
| wasemen $alt | |||||
| // words where -er is not a stressed verb ending | // words where -er is not a stressed verb ending | ||||
| diller $alt // bediller | diller $alt // bediller | ||||
| schepper $alt // opschepper | schepper $alt // opschepper | ||||
| steller $alt // aansteller | steller $alt // aansteller | ||||
| wakker $alt | wakker $alt | ||||
| wapper $alt | wapper $alt | ||||
| water $alt | water $alt | ||||
| wedijver $alt | |||||
| wedijver v#Ed'EIv@r $alt | |||||
| weelder $alt | weelder $alt | ||||
| wegwijzer $alt | wegwijzer $alt | ||||
| weiger $alt | weiger $alt | ||||
| alles Al@s | alles Al@s | ||||
| amino $1 | amino $1 | ||||
| amnestie $3 | amnestie $3 | ||||
| antenne $2 $alt2 | |||||
| april a:pr'Il | april a:pr'Il | ||||
| armand _^_FR | armand _^_FR | ||||
| augustus VUQ'8st8s | augustus VUQ'8st8s | ||||
| damascering damA;s'e:rIN | damascering damA;s'e:rIN | ||||
| december $2 | december $2 | ||||
| desillusie dEsIlyzi | desillusie dEsIlyzi | ||||
| desondanks dEsOnd'ANks | |||||
| detail de:t'Aj | detail de:t'Aj | ||||
| dieet $2 | dieet $2 | ||||
| diesel diz@l | diesel diz@l | ||||
| enorm $2 | enorm $2 | ||||
| enquête A~k'Et@ $alt2 | enquête A~k'Et@ $alt2 | ||||
| erosie e:r'o:zi | erosie e:r'o:zi | ||||
| evangelie e:vANQ'e:li | |||||
| eucharistie $4 | eucharistie $4 | ||||
| explosie $2 | explosie $2 | ||||
| extern Ekst'Ern | |||||
| februari fe:bry'a:ri | februari fe:bry'a:ri | ||||
| fiche fiS@ | fiche fiS@ | ||||
| franchise frA'Si:z@ | franchise frA'Si:z@ | ||||
| gouache Qu'AS | gouache Qu'AS | ||||
| gefrituurd $3 | gefrituurd $3 | ||||
| hysterie hIstI:r'i | hysterie hIstI:r'i | ||||
| ideaal ide:j'a:l | |||||
| ideale ide:j'a:l@ | |||||
| immens Im'Ens | |||||
| impregnering Impr,EQn'e:IN | impregnering Impr,EQn'e:IN | ||||
| inductie $2 | inductie $2 | ||||
| informatieve InfOrma:t'iv@ | informatieve InfOrma:t'iv@ | ||||
| ingrediënt $4 | ingrediënt $4 | ||||
| ingenieur Inzj@nj'Y:r | ingenieur Inzj@nj'Y:r | ||||
| informatie $3 | informatie $3 | ||||
| intern Int'Ern | |||||
| invasie $2 | invasie $2 | ||||
| januari $3 | januari $3 | ||||
| jury Zyri | jury Zyri | ||||
| kadaster $2 | kadaster $2 | ||||
| kleinzerig klEInz'e:r@Q | kleinzerig klEInz'e:r@Q | ||||
| kredietwaardig $3 | |||||
| leesregel le:sre:Q@l | leesregel le:sre:Q@l | ||||
| levendig le:v@nd@Q | levendig le:v@nd@Q | ||||
| lunch l8nS | lunch l8nS | ||||
| mysterie mIst'I:ri | mysterie mIst'I:ri | ||||
| nabij nab'EI | nabij nab'EI | ||||
| new nyU | new nyU | ||||
| noordelijk no:rd@l@k | |||||
| november $2 | november $2 | ||||
| oceaan o:se:j'a:n | |||||
| oceanen o:se:j'a:n@n | |||||
| oktober $2 | oktober $2 | ||||
| oliesel o:lis@l | oliesel o:lis@l | ||||
| omver o:mv'Er | omver o:mv'Er | ||||
| //ongelukkig $3 | //ongelukkig $3 | ||||
| ongerieflijk $3 | ongerieflijk $3 | ||||
| //ongrondwettig $3 | //ongrondwettig $3 | ||||
| oostelijk o:st@l@k | |||||
| partijvoorzitters $2 | partijvoorzitters $2 | ||||
| periferie pI:rifI:r'i | periferie pI:rifI:r'i | ||||
| perron $2 | perron $2 | ||||
| pistache pist'AS | pistache pist'AS | ||||
| premie $1 | |||||
| privilege privil'e:Z@ $alt2 | privilege privil'e:Z@ $alt2 | ||||
| proces $2 | proces $2 | ||||
| projectielen $3 | projectielen $3 | ||||
| spektakel $2 | spektakel $2 | ||||
| sportief $2 | sportief $2 | ||||
| sportieve $2 | sportieve $2 | ||||
| stream stri:m | |||||
| tegennatuur $4 | tegennatuur $4 | ||||
| tralie $1 | tralie $1 | ||||
| travestie $3 | travestie $3 | ||||
| vergezicht vErQ@zIxt | vergezicht vErQ@zIxt | ||||
| verre vEr@ | verre vEr@ | ||||
| verrekijker vEr@kEIk@r | verrekijker vEr@kEIk@r | ||||
| versa vErs'a: | |||||
| verste vErst@ | verste vErst@ | ||||
| verte vErt@ | verte vErt@ | ||||
| volledig $2 | volledig $2 | ||||
| wanschapen $2 | wanschapen $2 | ||||
| wantrouwend $2 | wantrouwend $2 | ||||
| weliswaar v#ElIsw'a:r | weliswaar v#ElIsw'a:r | ||||
| werelden v#I:r@ld@n | |||||
| werktuigelijk $2 | werktuigelijk $2 | ||||
| westelijk v#Est@l@k | |||||
| zeeën ze:@n | |||||
| ziekenhuisbevalling zi:k@nhWysb@vAlIN | ziekenhuisbevalling zi:k@nhWysb@vAlIN | ||||
| zuiden zWyd@n | |||||
| zuidelijk zWyd@l@k | |||||
| alexandrië $3 | alexandrië $3 | ||||
| Benin be:n'in | Benin be:n'in | ||||
| canada kAna:da: | canada kAna:da: | ||||
| Genua Qe:nyv#a: | |||||
| Kinshasa kInS'a:sa: | Kinshasa kInS'a:sa: | ||||
| Nairobi nAjr'o:bi | Nairobi nAjr'o:bi | ||||
| Napel $alt | Napel $alt |
| _) adres (@P5 a:dr'Es | _) adres (@P5 a:dr'Es | ||||
| _) af (C@P2 'Af | _) af (C@P2 'Af | ||||
| _) affich %AfiS | _) affich %AfiS | ||||
| _) af (rika a:f | |||||
| age (_ 'a:Z@ | age (_ 'a:Z@ | ||||
| ages (_S1 s | ages (_S1 s | ||||
| age (_$w_alt a:Q@ | age (_$w_alt a:Q@ | ||||
| @) ant (e_ 'Ant | @) ant (e_ 'Ant | ||||
| @) ant (en_ 'Ant | @) ant (en_ 'Ant | ||||
| @) ant (er_ 'Ant | @) ant (er_ 'Ant | ||||
| ao (_ 'VU // cacao | |||||
| @) ares (_ a:r'Es | @) ares (_ a:r'Es | ||||
| aris (_ 'a:rIs | aris (_ 'a:rIs | ||||
| arissen (_ 'a:rIs@n | arissen (_ 'a:rIs@n | ||||
| el) e (_+S1qd @ | el) e (_+S1qd @ | ||||
| er) e (_+S1qd @ | er) e (_+S1qd @ | ||||
| ig) e (_+S1qdm @ | ig) e (_+S1qdm @ | ||||
| lijk) e (_S1m @ | |||||
| ea (_ 'e:a: | ea (_ 'e:a: | ||||
| eau 'o: //words with French origin | eau 'o: //words with French origin | ||||
| @) ee (_ 'e: | @) ee (_ 'e: | ||||
| @) ee (X_ 'e: | @) ee (X_ 'e: | ||||
| @) ee (r_ 'I | @) ee (r_ 'I | ||||
| h) ee (r_ I: | |||||
| @) ee (rt_ 'I | @) ee (rt_ 'I | ||||
| @) ee (rd_ 'I | @) ee (rd_ 'I | ||||
| @) ee (rde_ 'I | @) ee (rde_ 'I | ||||
| @) elen (_ 'e:l@n | @) elen (_ 'e:l@n | ||||
| @) el (en_$p_alt2 @L | @) el (en_$p_alt2 @L | ||||
| @) elds (_ @lts | |||||
| &) elijks @l@ks | &) elijks @l@ks | ||||
| &) em (_ @m | &) em (_ @m | ||||
| &) emen (_$w_alt @m@n | |||||
| waarn) em e:m | |||||
| &) e (ment @ | &) e (ment @ | ||||
| eden (_ e:d@n // ?? | eden (_ e:d@n // ?? | ||||
| &) en (_S2qd @n | &) en (_S2qd @n | ||||
| KAC) en (_S2e @n // flag 'e' means double the previous vowel | KAC) en (_S2e @n // flag 'e' means double the previous vowel | ||||
| KAj) en (_S2 @n | KAj) en (_S2 @n | ||||
| KAx) en (_S2 @n | |||||
| and) en (_S2 @n | and) en (_S2 @n | ||||
| ie) en (_S2 @n | |||||
| el) en (_+S2qd @n | el) en (_+S2qd @n | ||||
| er) en (_+S2qd @n | er) en (_+S2qd @n | ||||
| @) er (ingen_ 'I:r | @) er (ingen_ 'I:r | ||||
| &) er (_$p_alt =@r | &) er (_$p_alt =@r | ||||
| &) er (e_$p_alt =@r | &) er (e_$p_alt =@r | ||||
| &) er (en_$p_alt =@r | |||||
| &) er (en_$p_alt =@r // where 'eren' is not a verb ending | |||||
| &) er (t_$p_alt =@r | &) er (t_$p_alt =@r | ||||
| &) er (d_$p_alt =@r | &) er (d_$p_alt =@r | ||||
| &) er (de_$p_alt =@r | &) er (de_$p_alt =@r | ||||
| _) er (@P2 Er | _) er (@P2 Er | ||||
| &) er (_ @r | &) er (_ @r | ||||
| &) ere (_ @r@ | &) ere (_ @r@ | ||||
| &) er (en_$p_alt @r // where 'eren' is not a verb ending | |||||
| eren (_ 'I:r@n | eren (_ 'I:r@n | ||||
| erend (_ 'I:r@nd | erend (_ 'I:r@nd | ||||
| @) eres (_S4qd @r'Es | @) eres (_S4qd @r'Es | ||||
| gg Q | gg Q | ||||
| s) g x | s) g x | ||||
| _) gast (@ Q'Ast | |||||
| _) gasten (@P6 Q'Ast@n | |||||
| g (é Z | g (é Z | ||||
| g (ee_ Z | g (ee_ Z | ||||
| _lo) g (eer Z | _lo) g (eer Z | ||||
| gener (aal Q,e:n@r | gener (aal Q,e:n@r | ||||
| _) gelijk Q@lEIk | _) gelijk Q@lEIk | ||||
| _) gemeente (@P8 Q@m'e:nt@ | _) gemeente (@P8 Q@m'e:nt@ | ||||
| genre ZA~r@ | |||||
| _) ge (lC QE | _) ge (lC QE | ||||
| _) ge (rC QE | _) ge (rC QE | ||||
| _) ge (lenL02 Qe: | _) ge (lenL02 Qe: | ||||
| h h | h h | ||||
| C) h (K | C) h (K | ||||
| C) hand (_S4 h'Ant | |||||
| _) handicap hEndikEp | _) handicap hEndikEp | ||||
| _) her (@P3 hEr | _) her (@P3 hEr | ||||
| _) her (der hEr | |||||
| _) her (ds hEr | |||||
| _) her (en hI:r | _) her (en hI:r | ||||
| _) herfst (@P6 h'Erfst | |||||
| _) herinn h%ErIn // herinneren | _) herinn h%ErIn // herinneren | ||||
| _) hersen h'Ers@n | _) hersen h'Ers@n | ||||
| &) heid (_S4 hEIt | &) heid (_S4 hEIt | ||||
| CAss) ie (_ =i | CAss) ie (_ =i | ||||
| @) ig (_S2dq =@Q | @) ig (_S2dq =@Q | ||||
| @) ige (_S1m @ | @) ige (_S1m @ | ||||
| _) ige (_ @Q@ // when a prefix is removed, eg "herfstige" | |||||
| @) igen (_ =@Q@n | @) igen (_ =@Q@n | ||||
| @) iger (_ =@Q@r | @) iger (_ =@Q@r | ||||
| @) igere (_ =@Q@r@ | @) igere (_ =@Q@r@ | ||||
| &) iko (_ =iko: | &) iko (_ =iko: | ||||
| fam) i (lie 'i | fam) i (lie 'i | ||||
| _) in (C@P2 'In | _) in (C@P2 'In | ||||
| _) ing (eC_ IN // bewerkingen | |||||
| _) in (do In | _) in (do In | ||||
| _) in (forma In | _) in (forma In | ||||
| ine (_ 'in@ | ine (_ 'in@ | ||||
| ines (_ 'in@s | ines (_ 'in@s | ||||
| _) informatie (@P10 InfOrm'a:tsi | _) informatie (@P10 InfOrm'a:tsi | ||||
| _) inn (@P2 'I // ?? inneren | |||||
| _) inn (er 'In // ?? inneren | |||||
| _) inn (ig In | |||||
| _) inter Int@r | _) inter Int@r | ||||
| io (nage iO | io (nage iO | ||||
| io (de_ i'o: | io (de_ i'o: | ||||
| @) isme (_ 'Ism@ | @) isme (_ 'Ism@ | ||||
| @) ist (_ 'Ist | @) ist (_ 'Ist | ||||
| @) isten (_ 'Ist@n | @) isten (_ 'Ist@n | ||||
| Ar) ia (_ =ia: | |||||
| Ar) ium (_ =i8m | |||||
| .group j | .group j | ||||
| j j | j j | ||||
| _) jaar (@P4 j'a:r | _) jaar (@P4 j'a:r | ||||
| jaar (lijk ja:r | jaar (lijk ja:r | ||||
| jou (rna Zu | jou (rna Zu | ||||
| kokkerel kOk@r'El | kokkerel kOk@r'El | ||||
| _) koning k'o:nIN // in compounds | _) koning k'o:nIN // in compounds | ||||
| _) koningin ko:nIQ'In | _) koningin ko:nIQ'In | ||||
| _) krediet (@P7 kr@d'it | |||||
| .group l | .group l | ||||
| l l | l l | ||||
| l) l | l) l | ||||
| &) lijk (_S4 l@k | &) lijk (_S4 l@k | ||||
| &) lijke (_S5 l@k@ | |||||
| &) lijken (_S6 l@k@n | &) lijken (_S6 l@k@n | ||||
| &) lijker (_S6 l@k@r | &) lijker (_S6 l@k@r | ||||
| &) lijkere (_S7 l@k@r@ | &) lijkere (_S7 l@k@r@ | ||||
| &) laan (_S4 la:n | &) laan (_S4 la:n | ||||
| _) lange (@P5 laN@ | _) lange (@P5 laN@ | ||||
| _) land (@P4 l'And | |||||
| _) land (e l'And | |||||
| _) lente (@P5 l'Ent@ | |||||
| _) liefdes (@P7 l'ifd@s | _) liefdes (@P7 l'ifd@s | ||||
| detai) ll | detai) ll | ||||
| @) loog (_ lo:x | @) loog (_ lo:x | ||||
| _) mee (rC mI: | _) mee (rC mI: | ||||
| menu (_ m@ny | menu (_ m@ny | ||||
| _) mi (cro mi | _) mi (cro mi | ||||
| _) milieu mIlj'Y: | |||||
| _) mi (s@ m%I | _) mi (s@ m%I | ||||
| _) mis (anC miz | _) mis (anC miz | ||||
| _) mis (commP3 m'Is | _) mis (commP3 m'Is | ||||
| _) op (enen+ 'o:p | _) op (enen+ 'o:p | ||||
| _) openings (P8 'o:p@nINs | _) openings (P8 'o:p@nINs | ||||
| _) op (era 'o:p | _) op (era 'o:p | ||||
| _) opper Op@r | |||||
| _) op (tion Op | _) op (tion Op | ||||
| os (_ Os | os (_ Os | ||||
| ou (che_ u | ou (che_ u | ||||
| sch sx | sch sx | ||||
| sch (_ s | sch (_ s | ||||
| sch (e_ s | sch (e_ s | ||||
| sch (er_ s | |||||
| _) sch (n S | _) sch (n S | ||||
| _) sh S | _) sh S | ||||
| sh (K S | sh (K S | ||||
| _) trans (@P5 tr,Ans | _) trans (@P5 tr,Ans | ||||
| .group te | .group te | ||||
| _) tege (lijk t@Q@ | |||||
| _) tegen (P5 t'e:Q@n | _) tegen (P5 t'e:Q@n | ||||
| _) terug (P5 t@r'8x | _) terug (P5 t@r'8x | ||||
| _) te (gelijkP2 t@ | _) te (gelijkP2 t@ | ||||
| v v | v v | ||||
| s) v f | s) v f | ||||
| _) vakantie (@P8 va:k'Antsi | |||||
| _) van (@P3 v%An | _) van (@P3 v%An | ||||
| _) vanzelf (@P7 vAnz,Elf | _) vanzelf (@P7 vAnz,Elf | ||||
| _) vang vAN | _) vang vAN | ||||
| _) weg (@P3 v#'EQ | _) weg (@P3 v#'EQ | ||||
| _) weg (en v#e:Q | _) weg (en v#e:Q | ||||
| _) weg (e_ v#e:Q // bewegelijk | _) weg (e_ v#e:Q // bewegelijk | ||||
| _) weg (ing v#e:Q // bewegingen | |||||
| _) wereld (@P6 v#'I:r@lt | |||||
| _) werk (@P4 v#'Erk | _) werk (@P4 v#'Erk | ||||
| _) werk (el v#'Erk | _) werk (el v#'Erk | ||||
| _) werk (ing v#'Erk | |||||
| _) west (@P4 v#Est | _) west (@P4 v#Est | ||||
| _) wets (@P4 v#'Ets | |||||
| _) winter (@P6 v#'Int@r | |||||
| _) woon (@P4 v#'o:n | _) woon (@P4 v#'o:n | ||||
| _) wr (@ vr | _) wr (@ vr | ||||
| z (z | z (z | ||||
| s) z | s) z | ||||
| _) zee (@P3 z'e: | |||||
| _) zeeuw zeU | |||||
| zele (_S4 ze:l@ // common suffix for cities. | zele (_S4 ze:l@ // common suffix for cities. | ||||
| @) zelf (_S4 s'Elf | @) zelf (_S4 s'Elf | ||||
| _) zoge (@P4 z,o:Q@ | _) zoge (@P4 z,o:Q@ | ||||
| _) zomer (@P5 z'o:m@r | |||||
| _) zuid (@P4 zWyt | _) zuid (@P4 zWyt | ||||
| @ 'a:fna | @ 'a:fna | ||||
| # l'e:stvitsa | # l'e:stvitsa | ||||
| $ d'o:laR | $ d'o:laR | ||||
| % Otst'o:tOw | |||||
| % Otst'o:tkOw | |||||
| & 'i:n | & 'i:n | ||||
| * zv'e:ditsa | * zv'e:ditsa | ||||
| + plu:s | + plu:s |
| z zedi | z zedi | ||||
| // numbers | // numbers | ||||
| _0 sif'uRi | _0 sif'uRi | ||||
| _1 m'oJa | _1 m'oJa | ||||
| kwavyo $pause // by means of which | kwavyo $pause // by means of which | ||||
| kwaye $pause // by means of which | kwaye $pause // by means of which | ||||
| kwa $u $brk // with | |||||
| kwa $u // with | |||||
| mwenye $u $brk // with | mwenye $u $brk // with | ||||
| wenye $u $brk // with | wenye $u $brk // with | ||||
| yenye $u $brk // with | yenye $u $brk // with | ||||
| chenye $u $brk // with | chenye $u $brk // with | ||||
| vyenye $u $brk // with | vyenye $u $brk // with | ||||
| zenye $u $brk // with | zenye $u $brk // with | ||||
| malipo $unstressend | |||||
| // conjunctions | // conjunctions | ||||
| ingawa $pause // although | ingawa $pause // although | ||||
| iwapo $pause // when | iwapo $pause // when | ||||
| japo $pause | japo $pause | ||||
| (juu ya) J,u:ja/ $pause // as for | |||||
| (juu ya) J,u:ja $pause // as for | |||||
| kama $u+ $pause // if,like | kama $u+ $pause // if,like | ||||
| kisha $pause // moreover | kisha $pause // moreover | ||||
| kusudi $pause // in order to | kusudi $pause // in order to | ||||
| kuwa $u $pause // that | kuwa $u $pause // that | ||||
| (kwa kuwa) kwa||k,uwa/ $pause // becuse | |||||
| (kwa kuwa) kwa||k,uwa $pause // becuse | |||||
| kwamba $u $pause // that | kwamba $u $pause // that | ||||
| lakini $pause // however | lakini $pause // however | ||||
| walakini $pause // however | walakini $pause // however | ||||
| yaani $pause // i.e. | yaani $pause // i.e. | ||||
| // exceptions | |||||
| mantiki ma_|nt'iki $u1+ | |||||
| zanzibar $3 | |||||
| .group a | .group a | ||||
| a a | a a | ||||
| aa a: | |||||
| .group b | .group b | ||||
| b b | b b | ||||
| .group e | .group e | ||||
| e e | e e | ||||
| ee e: | |||||
| .group f | .group f | ||||
| f f | f f | ||||
| .group i | .group i | ||||
| i i | i i | ||||
| ii i: | |||||
| .group j | .group j | ||||
| j J | j J | ||||
| j (w J | |||||
| .group k | .group k | ||||
| k k | k k | ||||
| K) k (@@ _|k | |||||
| kh x | kh x | ||||
| .group l | .group l | ||||
| l l | l l | ||||
| .group m | .group m | ||||
| m m | m m | ||||
| _) m m- | _) m m- | ||||
| K) m (@@ _|m | K) m (@@ _|m | ||||
| K) m (C m- | K) m (C m- | ||||
| K) m (b@@ _|m | K) m (b@@ _|m | ||||
| K) m (v@@ _|m | |||||
| K) m (v@ _|m | |||||
| K) m (w@@ _|m | K) m (w@@ _|m | ||||
| .group n | .group n | ||||
| n (A n | n (A n | ||||
| n (@@ n | n (@@ n | ||||
| ny n^ | ny n^ | ||||
| n (ch n^ | |||||
| n (ch n- | |||||
| n (j n^ | n (j n^ | ||||
| ng' N | |||||
| ng (' N | |||||
| n (k N | n (k N | ||||
| _) n (k N- | _) n (k N- | ||||
| _) n (k@@ N- | _) n (k@@ N- | ||||
| n (g N | n (g N | ||||
| K) n (g N- | |||||
| _) n (g@@ N- | |||||
| .group o | .group o | ||||
| o o | o o | ||||
| oo o: | |||||
| .group p | .group p | ||||
| p p | p p | ||||
| .group u | .group u | ||||
| u u | u u | ||||
| uu u: | |||||
| .group v | .group v | ||||
| v v | v v | ||||
| .group w | .group w | ||||
| w w | w w | ||||
| j) w %u | |||||
| ny) w %u | |||||
| j) w %u | |||||
| ny) w %u | |||||
| .group x | .group x | ||||
| x ks | x ks |
| _: mukka:l||pul.l.i // முக்கால் புள்ளி | _: mukka:l||pul.l.i // முக்கால் புள்ளி | ||||
| _( id.V||piRaI // இட பிறை | _( id.V||piRaI // இட பிறை | ||||
| _) vVlV||piRaI // வல பிறை | _) vVlV||piRaI // வல பிறை | ||||
| _[ id.V||sadUrVm // இட சதுரம் | |||||
| _] vVlV||sadUrVm // வல சதுரம் | |||||
| _[ id.VppVgVrVm // இடப்பகரம் | |||||
| _] vVlVppVgVrVm // வலப்பகரம். | |||||
| _{ id.V||gVn.Vm // இட கணம் | _{ id.V||gVn.Vm // இட கணம் | ||||
| _} vVlV||gVn.Vm // வல கணம் | _} vVlV||gVn.Vm // வல கணம் | ||||
| < kuRaIvU // குறைவு | < kuRaIvU // குறைவு | ||||
| புசு $alt | புசு $alt | ||||
| புஸு $alt | புஸு $alt | ||||
| பாதிக்காம $alt | பாதிக்காம $alt | ||||
| பனியா $alt | |||||
| பாம் $alt | |||||
| // initial த as [d] | // initial த as [d] | ||||
| தாயம் $alt | தாயம் $alt | ||||
| திமு $alt | திமு $alt | ||||
| தாவா $alt | தாவா $alt | ||||
| துருவா $alt | |||||
| // initial ட | // initial ட |
| .L30 மெடல பிஷ ஃபிஷ | .L30 மெடல பிஷ ஃபிஷ | ||||
| // endings after போர்ட (board) | // endings after போர்ட (board) | ||||
| .L31 ் ிங் ின ை ுக்க ில ும | |||||
| .L31 ்_ ிங் ின ை ுக்க ில ும | |||||
| // consonants | // consonants | ||||
| க் (_க k | க் (_க k | ||||
| //sort | //sort | ||||
| _) க (ஃபார gV | |||||
| _) க (ங்கபாடி gV | _) க (ங்கபாடி gV | ||||
| _) க (ங்கர gV | _) க (ங்கர gV | ||||
| _) க (ங்கா gV | _) க (ங்கா gV | ||||
| _) க (தியை gV | _) க (தியை gV | ||||
| _) க (ந்தக gV | _) க (ந்தக gV | ||||
| _) க (ந்தகிரி kV | _) க (ந்தகிரி kV | ||||
| _) க (ந்தக்கோட்ட kV | |||||
| _) க (ந்தர்வ gV | _) க (ந்தர்வ gV | ||||
| _) கனக (ச்சித gVnVkV | _) கனக (ச்சித gVnVkV | ||||
| _) க (னக்க gV | _) க (னக்க gV | ||||
| _) க (னத் gV | _) க (னத் gV | ||||
| _) க (னபாடி gV | _) க (னபாடி gV | ||||
| _) க (னப்ப gV | |||||
| _) க (னம gV | _) க (னம gV | ||||
| _) க (னரக gV | _) க (னரக gV | ||||
| _) கப (ார gVf | |||||
| _) கப் (L04ா gVp | _) கப் (L04ா gVp | ||||
| _) கப்ச (ிப் gVptS | _) கப்ச (ிப் gVptS | ||||
| _) க (ப்புன gV | _) க (ப்புன gV | ||||
| _) க (ாந்தத் g | _) க (ாந்தத் g | ||||
| _) க (ாந்தப் g | _) க (ாந்தப் g | ||||
| _) க (ாந்தமா g | _) க (ாந்தமா g | ||||
| _) க (ாந்தர்வ g | |||||
| _) க (ாந்தார g | _) க (ாந்தார g | ||||
| _) க (ாந்தி g | _) க (ாந்தி g | ||||
| _) க (ானங் g | _) க (ானங் g | ||||
| க (ாரன k | க (ாரன k | ||||
| _) க (ார்டன g | _) க (ார்டன g | ||||
| _) க (ார்டியன g | _) க (ார்டியன g | ||||
| _) க (ால்ஃப் g | |||||
| _) கால்ப் ga:lf | |||||
| _) க (ிஃப்ட g | _) க (ிஃப்ட g | ||||
| _) கிட (ார git. | _) கிட (ார git. | ||||
| _) க (ிடுகிடு g | _) க (ிடுகிடு g | ||||
| _) கி (றித்த k | _) கி (றித்த k | ||||
| _) கி (றிஸ்டல k | _) கி (றிஸ்டல k | ||||
| _) கி (றிஸ்த k | _) கி (றிஸ்த k | ||||
| _) கி (லேசியர g | |||||
| _) க (ில்மா g | _) க (ில்மா g | ||||
| _) கி (ளப்_ k | _) கி (ளப்_ k | ||||
| _) கிளப்ப (ில kl.Vbb | _) கிளப்ப (ில kl.Vbb | ||||
| _) கி (ளாL04ு k | _) கி (ளாL04ு k | ||||
| _) கி (ளாL04ை k | _) கி (ளாL04ை k | ||||
| _) கி (ளாமர g | _) கி (ளாமர g | ||||
| _) கிளார்க் kl.a:rk | |||||
| _) கி (ளாஸ்_ g | _) கி (ளாஸ்_ g | ||||
| _) கி (ளாஸ்_மேட k | _) கி (ளாஸ்_மேட k | ||||
| _) கிளாஸ்க (ோ gl.a:sg | _) கிளாஸ்க (ோ gl.a:sg | ||||
| _) க (ுஜால g | _) க (ுஜால g | ||||
| _) க (ுடியாத்த g | _) க (ுடியாத்த g | ||||
| _) க (ுடுகுடு g | _) க (ுடுகுடு g | ||||
| _) க (ுணக் g | |||||
| _) க (ுணங் g | _) க (ுணங் g | ||||
| _) க (ுணசாலி g | |||||
| _) குணச (ித்திர gun.VtS | _) குணச (ித்திர gun.VtS | ||||
| _) க (ுணசீல g | _) க (ுணசீல g | ||||
| _) க (ுணசேகர g | _) க (ுணசேகர g | ||||
| _) க (ுருகுல g | _) க (ுருகுல g | ||||
| _) க (ுருக்கள g | _) க (ுருக்கள g | ||||
| _) க (ுருக்குல g | _) க (ுருக்குல g | ||||
| _) க (ுருக்ஷேத்திர g | |||||
| _) க (ுருசாமி g | _) க (ுருசாமி g | ||||
| _) குருச (ேத்திர gurUs. | |||||
| _) க (ுருஜி g | _) க (ுருஜி g | ||||
| _) க (ுருதேவ g | _) க (ுருதேவ g | ||||
| _) க (ுருத்வார g | |||||
| _) க (ுருநா g | _) க (ுருநா g | ||||
| _) க (ுருபகவான g | _) க (ுருபகவான g | ||||
| _) குருப (த்தினி gurupV | _) குருப (த்தினி gurupV | ||||
| _) குருப (ீட gurup | _) குருப (ீட gurup | ||||
| _) குருப (ூ gurup | _) குருப (ூ gurup | ||||
| _) க (ுருபூஜை g | _) க (ுருபூஜை g | ||||
| _) க (ுருபோத g | |||||
| _) குருப்பி (ரசாத gurupp | _) குருப்பி (ரசாத gurupp | ||||
| _) க (ுருப்பெயர g | _) க (ுருப்பெயர g | ||||
| _) க (ுருப்யோ g | |||||
| _) க (ுருமார g | _) க (ுருமார g | ||||
| _) க (ுருமூர்த்தி g | _) க (ுருமூர்த்தி g | ||||
| _) க (ுருரா g | _) க (ுருரா g | ||||
| _) க (ுருவடி g | _) க (ுருவடி g | ||||
| _) க (ுருவம்ச g | _) க (ுருவம்ச g | ||||
| _) க (ுருவம்மா g | |||||
| _) க (ுருவருள g | _) க (ுருவருள g | ||||
| _) க (ுருவா g | _) க (ுருவா g | ||||
| _) க (ுருவாய g | _) க (ுருவாய g | ||||
| _) க (ுருவை g | _) க (ுருவை g | ||||
| _) க (ுருவோ g | _) க (ுருவோ g | ||||
| _) க (ுருவோட g | _) க (ுருவோட g | ||||
| _) க (ுருஷேத்திர g | |||||
| _) கு (ரூப் g | _) கு (ரூப் g | ||||
| _) க (ுலாப g | _) க (ுலாப g | ||||
| _) க (ுலாம g | _) க (ுலாம g | ||||
| _) க (ெட்டிக்கனும k | _) க (ெட்டிக்கனும k | ||||
| _) க (ெட்டிக்கி k | _) க (ெட்டிக்கி k | ||||
| _) க (ெட்டிரு k | _) க (ெட்டிரு k | ||||
| _) க (ெட்டில k | |||||
| _) க (ெத் g | _) க (ெத் g | ||||
| _) க (ெரில்லா g | _) க (ெரில்லா g | ||||
| _) கெள (தம gaU | _) கெள (தம gaU | ||||
| _) க (ேமை g | _) க (ேமை g | ||||
| _) க (ேம்ஸ g | _) க (ேம்ஸ g | ||||
| _) கேரண்ட ge:rVn.t.V# | _) கேரண்ட ge:rVn.t.V# | ||||
| _) கேலக (்சி ge:lVk | |||||
| _) க (ேலக்ஸி g | |||||
| _) க (ேலரி g | _) க (ேலரி g | ||||
| _) க (ேலி g | _) க (ேலி g | ||||
| _) க (ேஸ்_L26 g | _) க (ேஸ்_L26 g | ||||
| _) க் (ரீன g | _) க் (ரீன g | ||||
| _) க் (ரூப g | _) க் (ரூப g | ||||
| _) க் (ரௌண்ட g | _) க் (ரௌண்ட g | ||||
| _) க் (லேசியர g | |||||
| _) க் (ளாமர g | _) க் (ளாமர g | ||||
| _) க் (ளாஸ்_ g | _) க் (ளாஸ்_ g | ||||
| _) க்வ (A kw | _) க்வ (A kw | ||||
| _தர்ம) க (ர்த kV | _தர்ம) க (ர்த kV | ||||
| _குல்) க (ர்னி kV | _குல்) க (ர்னி kV | ||||
| விஸ்வ) க (ர்மா kV | விஸ்வ) க (ர்மா kV | ||||
| உரை) க (ற் kV | |||||
| _மைல்) க (ற் kV | |||||
| _விண்) க (ற் kV | _விண்) க (ற் kV | ||||
| _லோ) க (ல kV | _லோ) க (ல kV | ||||
| _மெடி) க (ல kV | _மெடி) க (ல kV | ||||
| _சூரிய) க (லா kV | _சூரிய) க (லா kV | ||||
| _யூ) க (லிப்டஸ kV | _யூ) க (லிப்டஸ kV | ||||
| _ஜீவ) க (லை kV | _ஜீவ) க (லை kV | ||||
| உரை) க (ல் kV | |||||
| _மைல்) க (ல் kV | |||||
| _காய) கல்ப kVlpV# | _காய) கல்ப kVlpV# | ||||
| பஞ்ச) க (ல்யாண kV | பஞ்ச) க (ல்யாண kV | ||||
| _ரண) க (ள kV | _ரண) க (ள kV | ||||
| _கண்) க (ாணா k | _கண்) க (ாணா k | ||||
| _கர்ம) க (ாண்ட g | _கர்ம) க (ாண்ட g | ||||
| உத்திரா) க (ாண்ட k | உத்திரா) க (ாண்ட k | ||||
| அ) காத (மி ka:d.V | |||||
| _ராம) க (ாதை k | _ராம) க (ாதை k | ||||
| இராம) க (ாதை k | இராம) க (ாதை k | ||||
| _ஸ்ரீ) காந்த ka:ntV# | _ஸ்ரீ) காந்த ka:ntV# | ||||
| _கை) க (ுலு k | _கை) க (ுலு k | ||||
| _) குல்க (ந்த gulkV | _) குல்க (ந்த gulkV | ||||
| _மெரு) க (ூட்ட g | _மெரு) க (ூட்ட g | ||||
| _லா) க (ூர H | |||||
| _தயை) க (ூர k | _தயை) க (ூர k | ||||
| _தயவு) க (ூர k | _தயவு) க (ூர k | ||||
| அருள்) க (ூர k | அருள்) க (ூர k | ||||
| _நினைவு) க (ூர k | _நினைவு) க (ூர k | ||||
| _மு) க (ூர்த H | |||||
| _குறை) க (ூற k | _குறை) க (ூற k | ||||
| அறை) க (ூவ k | அறை) க (ூவ k | ||||
| _மார்) கெட் ket. | _மார்) கெட் ket. | ||||
| அயோ) க்க (ிய gg | அயோ) க்க (ிய gg | ||||
| ஆரோ) க்க (ிய gg | ஆரோ) க்க (ிய gg | ||||
| வைரா) க்க (ிய gg | வைரா) க்க (ிய gg | ||||
| _மூல) க்கி (ர gg | |||||
| அநு) க்கி (ர gg | அநு) க்கி (ர gg | ||||
| அனு) க்கி (ர gg | அனு) க்கி (ர gg | ||||
| _கர்ப்ப) க்கி (ர gg | _கர்ப்ப) க்கி (ர gg | ||||
| என்சை) க்லோப (ீடியா klo:p | என்சை) க்லோப (ீடியா klo:p | ||||
| _சு) க் (ள k | _சு) க் (ள k | ||||
| _ஷு) க் (ள k | _ஷு) க் (ள k | ||||
| _து) க்ளக் kl.Vk | |||||
| க் (ஸ k | க் (ஸ k | ||||
| _எ) க் (ஸாம g | _எ) க் (ஸாம g | ||||
| _மெ) க்ஸிக (ோ ksik | _மெ) க்ஸிக (ோ ksik | ||||
| ஞ்) ச dZV | ஞ்) ச dZV | ||||
| ஞ்) ச (B dZ | ஞ்) ச (B dZ | ||||
| ச் (_N tS | ச் (_N tS | ||||
| ச்_) ச tSV // previous word ends in ச் | |||||
| ச்_) ச (B tS | |||||
| ச் (_ச tS | |||||
| ச்_) ச (++ :V# // previous word ends in ச் | |||||
| _) சாம்ப (ியன tSa:mp | _) சாம்ப (ியன tSa:mp | ||||
| //sort | //sort | ||||
| _) ச (த்ரபதி tSV | _) ச (த்ரபதி tSV | ||||
| _) ச (த்ரு tSV | _) ச (த்ரு tSV | ||||
| ச (ந்தர tSV | ச (ந்தர tSV | ||||
| _வ) ச (ந்தர sV | |||||
| _) ச (ந்தர்ப sV | _) ச (ந்தர்ப sV | ||||
| அ) ச (ந்தர்ப sV | அ) ச (ந்தர்ப sV | ||||
| ச (ந்திர tSV | ச (ந்திர tSV | ||||
| _) ச (ப்பி tSV | _) ச (ப்பி tSV | ||||
| _) ச (ப்பு tSV | _) ச (ப்பு tSV | ||||
| _) ச (ப்பெ tSV | _) ச (ப்பெ tSV | ||||
| _) ச (ம்பல்பூர tSV | |||||
| _) சம்ப (ாரன tSVmp | _) சம்ப (ாரன tSVmp | ||||
| _நா) ச (ர zV | _நா) ச (ர zV | ||||
| _ரே) ச (ர zV | _ரே) ச (ர zV | ||||
| விப) ச (ார tS | விப) ச (ார tS | ||||
| _கிரL06) ச (ார tS | _கிரL06) ச (ார tS | ||||
| _குணா) ச (ார tS | _குணா) ச (ார tS | ||||
| _பிரிவுப) ச (ார tS | |||||
| _விருந்துப) ச (ார tS | |||||
| ராஜோப) ச (ார tS | ராஜோப) ச (ார tS | ||||
| ஆ) ச (ார_ tS | ஆ) ச (ார_ tS | ||||
| ஆ) ச (ாரங்கள tS | ஆ) ச (ாரங்கள tS | ||||
| _வி) ச (ாரங்கள tS | _வி) ச (ாரங்கள tS | ||||
| ஆ) ச (ாரத் tS | ஆ) ச (ாரத் tS | ||||
| _வி) ச (ாரத்த tS | _வி) ச (ாரத்த tS | ||||
| ஆ) ச (ாரப்பட tS | |||||
| ஆ) ச (ாரம tS | ஆ) ச (ாரம tS | ||||
| _வி) ச (ாரம tS | _வி) ச (ாரம tS | ||||
| _சிவா) ச (ாரி tS | _சிவா) ச (ாரி tS | ||||
| _சுகா) ச (ாரி tS | |||||
| _ரங்கா) ச (ாரி tS | _ரங்கா) ச (ாரி tS | ||||
| _வரதா) ச (ாரி tS | _வரதா) ச (ாரி tS | ||||
| _வேதா) ச (ாரி tS | _வேதா) ச (ாரி tS | ||||
| _) ச (ார்ஜை tS | _) ச (ார்ஜை tS | ||||
| _மொ) ச (ார்ட z | _மொ) ச (ார்ட z | ||||
| _) ச (ார்மினார tS | _) ச (ார்மினார tS | ||||
| ஆ) ச (ார்ய tS | |||||
| _) ச (ார்லஸ tS | _) ச (ார்லஸ tS | ||||
| _) ச (ார்லி tS | _) ச (ார்லி tS | ||||
| _) ச (ாலக்குடி tS | _) ச (ாலக்குடி tS | ||||
| _மலே) ச (ிய s. | _மலே) ச (ிய s. | ||||
| இந்தோனே) ச (ிய s. | இந்தோனே) ச (ிய s. | ||||
| _) ச (ியர்ஸ tS | _) ச (ியர்ஸ tS | ||||
| _) சி (யாம s. | |||||
| _பக்தி_) சிரத் (தை srVd | _பக்தி_) சிரத் (தை srVd | ||||
| _) சிரத்த (ைL27 srVdd | _) சிரத்த (ைL27 srVdd | ||||
| சி (ரம s | சி (ரம s | ||||
| _கபாலீ) சு (வ s | _கபாலீ) சு (வ s | ||||
| _ஜலகண்டே) சு (வ s | _ஜலகண்டே) சு (வ s | ||||
| அர்த்தனாரீ) சு (வ s | அர்த்தனாரீ) சு (வ s | ||||
| _) சு (வமேத s | |||||
| _சனீ) சு (வர s | _சனீ) சு (வர s | ||||
| ராஜே) சு (வர s | ராஜே) சு (வர s | ||||
| _மங்களே) சு (வர s | _மங்களே) சு (வர s | ||||
| _) ச (ேஞ்ச tS | _) ச (ேஞ்ச tS | ||||
| _) ச (ேட்டன tS | _) ச (ேட்டன tS | ||||
| _) ச (ேட்டர்ஜி tS | _) ச (ேட்டர்ஜி tS | ||||
| _குரு) ச (ேத்திர s. | |||||
| _) ச (ேனல tS | _) ச (ேனல tS | ||||
| _) ச (ேரி tS | _) ச (ேரி tS | ||||
| _தல) ச (ேரி tS | _தல) ச (ேரி tS | ||||
| _) சௌப (ாத்தி tSaUp | _) சௌப (ாத்தி tSaUp | ||||
| _) ச (ௌபே tS | _) ச (ௌபே tS | ||||
| _) ச (ௌஹான tS | _) ச (ௌஹான tS | ||||
| _ந) ச் (னு tS | |||||
| _கா) ச்மூச tSmu:tSV# | _கா) ச்மூச tSmu:tSV# | ||||
| //endsort | //endsort | ||||
| ஜ (B dZ | ஜ (B dZ | ||||
| //sort | //sort | ||||
| _கெ) ஜ (ட் zV | _கெ) ஜ (ட் zV | ||||
| _ட) ஜ (ன zV | |||||
| _டின்) ஜ (ர tSV | _டின்) ஜ (ர tSV | ||||
| _) ஜ (ர்தாரி zV | _) ஜ (ர்தாரி zV | ||||
| _க) ஜ (லா zV | _க) ஜ (லா zV | ||||
| _) ஜ (ாக்கீர z | _) ஜ (ாக்கீர z | ||||
| _ரம்) ஜ (ான z | _ரம்) ஜ (ான z | ||||
| _நி) ஜ (ாம z | _நி) ஜ (ாம z | ||||
| _) ஜ (ாம்பிய z | |||||
| _ப) ஜ (ார z | _ப) ஜ (ார z | ||||
| அ) ஜ (ாருதீன z | அ) ஜ (ாருதீன z | ||||
| _நா) ஜ (ி z | _நா) ஜ (ி z | ||||
| _) ஜிப்(_ zip | _) ஜிப்(_ zip | ||||
| _) ஜ (ிப்ப z | _) ஜ (ிப்ப z | ||||
| _) ஜ (ிப்பா dZ | _) ஜ (ிப்பா dZ | ||||
| _) ஜ (ிம்பாப்வே z | |||||
| _) ஜ (ியா_ z | _) ஜ (ியா_ z | ||||
| _) ஜ (ியாவ z | _) ஜ (ியாவ z | ||||
| _) ஜ (ீனத் z | _) ஜ (ீனத் z | ||||
| _) ஜ (ுல்ஃபி z | _) ஜ (ுல்ஃபி z | ||||
| _) ஜ (ுல்பி z | _) ஜ (ுல்பி z | ||||
| _) ஜு (வால dZ | _) ஜு (வால dZ | ||||
| _) ஜ (ூலு z | |||||
| _) ஜ (ெனித் z | _) ஜ (ெனித் z | ||||
| _) ஜ (ெராக்ஸ z | _) ஜ (ெராக்ஸ z | ||||
| //endsort | //endsort | ||||
| //sort | //sort | ||||
| _டே) ட t.V# | _டே) ட t.V# | ||||
| _மால்) ட t.V# | |||||
| _பேண்) ட t.V# | _பேண்) ட t.V# | ||||
| _வால்) ட t.V# | _வால்) ட t.V# | ||||
| _கமெண்) ட t.V# | _கமெண்) ட t.V# | ||||
| _) டோர்னமெண்ட t.o:rnVmen.t.V# | _) டோர்னமெண்ட t.o:rnVmen.t.V# | ||||
| _) ட (ோலிவுட் t. | _) ட (ோலிவுட் t. | ||||
| _லே) ட் t. | _லே) ட் t. | ||||
| _ஹி) ட் t. | |||||
| @மெண்) ட் t. // -ment | @மெண்) ட் t. // -ment | ||||
| _பேண்) ட் t. | _பேண்) ட் t. | ||||
| _ஹெல்மெ) ட் t. | _ஹெல்மெ) ட் t. | ||||
| _பாலிவு) ட்ட d.d.V# | _பாலிவு) ட்ட d.d.V# | ||||
| _மாலிவு) ட்ட d.d.V# | _மாலிவு) ட்ட d.d.V# | ||||
| _ஹாலிவு) ட்ட d.d.V# | _ஹாலிவு) ட்ட d.d.V# | ||||
| _ரெ) ட்ட (ிகள d.d. | |||||
| _ரெ) ட்ட (ிய d.d. | _ரெ) ட்ட (ிய d.d. | ||||
| _ஷெ) ட்ட (ில d.d. | |||||
| இ) ட்ட (ிலி d.d. | இ) ட்ட (ிலி d.d. | ||||
| _ஜி) ட்ட (ு d.d. | _ஜி) ட்ட (ு d.d. | ||||
| _ஷெ) ட்ட (ு d.d. | |||||
| _ஷெ) ட்ட (ை d.d. | |||||
| அப்பாயிண்) ட்மெண்ட t.men.t.V# | அப்பாயிண்) ட்மெண்ட t.men.t.V# | ||||
| _) ட் (யூசன t. | _) ட் (யூசன t. | ||||
| _) ட் (யூன t. | _) ட் (யூன t. | ||||
| எண்) ட் (ரி t. | எண்) ட் (ரி t. | ||||
| _) ட்ரிக (ர t.riggV | _) ட்ரிக (ர t.riggV | ||||
| _) ட்ரிக் t.rik | _) ட்ரிக் t.rik | ||||
| _ஹா) ட்ரிக் t.rik | |||||
| _) ட்ரிக்க (ர t.riggV | _) ட்ரிக்க (ர t.riggV | ||||
| _) ட் (ரிங்_ t. | _) ட் (ரிங்_ t. | ||||
| _நியூ) ட் (ரின t. | _நியூ) ட் (ரின t. | ||||
| _) த (கன dV | _) த (கன dV | ||||
| _) த (கி dV | _) த (கி dV | ||||
| _) த (க்க்ஷிண dV | _) த (க்க்ஷிண dV | ||||
| _) த (க்ஷக dV | |||||
| _) த (க்ஷசீல dV | |||||
| _) த (க்ஷன dV | _) த (க்ஷன dV | ||||
| _) த (க்ஷிண dV | _) த (க்ஷிண dV | ||||
| _) த (க்ஷிணா dV | _) த (க்ஷிணா dV | ||||
| _) தத்த (ியா dVdd | _) தத்த (ியா dVdd | ||||
| _) த (னகோடி dV | _) த (னகோடி dV | ||||
| _) த (னசேகரன dV | _) த (னசேகரன dV | ||||
| _) த (னத்த dV | |||||
| _) த (னன்ஜெயன dV | _) த (னன்ஜெயன dV | ||||
| _) த (னபால dV | _) த (னபால dV | ||||
| _) த (னராச dV | _) த (னராச dV | ||||
| _) த (னலக்ஷ்மி dV | _) த (னலக்ஷ்மி dV | ||||
| _) த (னலட்சுமி dV | _) த (னலட்சுமி dV | ||||
| _) த (னவந்த dV | _) த (னவந்த dV | ||||
| _) த (னாதிகார dV | |||||
| _) த (னுச dV | _) த (னுச dV | ||||
| _) த (னுர dV | |||||
| _) த (னுஷ dV | _) த (னுஷ dV | ||||
| _) த (ன்மந்திரி dV | _) த (ன்மந்திரி dV | ||||
| _) த (ன்ய dV | _) த (ன்ய dV | ||||
| _முல்) த (ான t | _முல்) த (ான t | ||||
| _சாந்) த (ானு tV# | _சாந்) த (ானு tV# | ||||
| _சி) த (ார t | _சி) த (ார t | ||||
| _நயன்) த (ாரா t | |||||
| _சரி) த (ாவ t | _சரி) த (ாவ t | ||||
| _ஹரி) த (ாஸ்_ d | _ஹரி) த (ாஸ்_ d | ||||
| _சும) த (ி t | _சும) த (ி t | ||||
| _) ப (ட்டக்ஸ bV | _) ப (ட்டக்ஸ bV | ||||
| _) ப (ட்டன bV | _) ப (ட்டன bV | ||||
| _) ப (ட்டன_ pV | _) ப (ட்டன_ pV | ||||
| _) ப (ட்டனப்பாக்க pV | |||||
| _) ப (ட்டாசாரி bV | _) ப (ட்டாசாரி bV | ||||
| _) ப (தில bV | _) ப (தில bV | ||||
| _) பத்த (ிரகாளி bVdd | _) பத்த (ிரகாளி bVdd | ||||
| _) பத்த (ிரபாகு bVdd | |||||
| _) பத்திரப் (_ bVttirVp | _) பத்திரப் (_ bVttirVp | ||||
| _) பத்திரப் (_பதி pVttirVp | _) பத்திரப் (_பதி pVttirVp | ||||
| _) ப (த்திரப்பட bV | _) ப (த்திரப்பட bV | ||||
| _) பத்த (ிரி_ bVdd | _) பத்த (ிரி_ bVdd | ||||
| _) பத்த (ிரிக்கு bVdd | _) பத்த (ிரிக்கு bVdd | ||||
| _) பத்த (ிரிய bVdd | _) பத்த (ிரிய bVdd | ||||
| _) ப (த்ரபாகு bV | |||||
| _) ப (த்ரி bV | _) ப (த்ரி bV | ||||
| _) பத் (ரிக்க pVt | _) பத் (ரிக்க pVt | ||||
| _சொந்த_) ப (ந்த bV | _சொந்த_) ப (ந்த bV | ||||
| _) ப (னாரச bV | _) ப (னாரச bV | ||||
| _) ப (னாரஸ bV | _) ப (னாரஸ bV | ||||
| _) ப (னியன bV | _) ப (னியன bV | ||||
| _) ப (னியாக்கள bV | |||||
| _) ப (னியாவ bV | |||||
| _) ப (ன்சல bV | _) ப (ன்சல bV | ||||
| _) ப (ன்னாரி bV | _) ப (ன்னாரி bV | ||||
| _டீயும்_) ப (ன்னும்_ bV | _டீயும்_) ப (ன்னும்_ bV | ||||
| _) ப (லத்தின bV | _) ப (லத்தின bV | ||||
| _) ப (லத்தினா bV | _) ப (லத்தினா bV | ||||
| _) ப (லத்தினுட bV | _) ப (லத்தினுட bV | ||||
| _) ப (லத்திற்க bV | |||||
| _) ப (லத்தில bV | _) ப (லத்தில bV | ||||
| _) ப (லத்துக் bV | _) ப (லத்துக் bV | ||||
| _) ப (லத்துச் bV | _) ப (லத்துச் bV | ||||
| _) ப (லப்பத்த bV | _) ப (லப்பத்த bV | ||||
| _) ப (லப்பம bV | _) ப (லப்பம bV | ||||
| _) ப (லப்பரீட்சை bV | _) ப (லப்பரீட்சை bV | ||||
| _) பலப்பி (ரயோ bVlVpp | |||||
| _) ப (லமணைத்த bV | _) ப (லமணைத்த bV | ||||
| _) ப (லமற்ற bV | _) ப (லமற்ற bV | ||||
| _) ப (லமாகC் bV | _) ப (லமாகC் bV | ||||
| _) ப (ாசு b | _) ப (ாசு b | ||||
| _) பாசுப (த pa:sUpV | _) பாசுப (த pa:sUpV | ||||
| _) ப (ாசுர p | _) ப (ாசுர p | ||||
| _) பாட (னி ba:t.V | |||||
| _டெட்_) ப (ாடி b | _டெட்_) ப (ாடி b | ||||
| _) ப (ாடி_பில்டர b | _) ப (ாடி_பில்டர b | ||||
| _) ப (ாடி_பில்டிங் b | _) ப (ாடி_பில்டிங் b | ||||
| _) ப (ாட்டிலுடன b | _) ப (ாட்டிலுடன b | ||||
| _) ப (ாட்டிலை b | _) ப (ாட்டிலை b | ||||
| _) ப (ாட்டில்கள b | _) ப (ாட்டில்கள b | ||||
| _) பாட்மிண்ட (ன ba:d.min.t.V | |||||
| _) ப (ாணங் b | _) ப (ாணங் b | ||||
| _) ப (ாணமு b | _) ப (ாணமு b | ||||
| _) ப (ாணர b | _) ப (ாணர b | ||||
| _) ப (ாதிப்படையுமெ b | _) ப (ாதிப்படையுமெ b | ||||
| _) ப (ாதிப்படைவ b | _) ப (ாதிப்படைவ b | ||||
| _) ப (ாதிப்பதா b | _) ப (ாதிப்பதா b | ||||
| _) ப (ாதிப்பதுண்ட b | |||||
| _) ப (ாதிப்பதும b | |||||
| _) ப (ாதிப்பதை b | _) ப (ாதிப்பதை b | ||||
| _) ப (ாதிப்பவை b | _) ப (ாதிப்பவை b | ||||
| _) ப (ாதிப்பாகி b | _) ப (ாதிப்பாகி b | ||||
| _) ப (ாதிப்புண்ட b | _) ப (ாதிப்புண்ட b | ||||
| _) ப (ாதிப்பும b | _) ப (ாதிப்பும b | ||||
| _) ப (ாதிப்புள்ள b | _) ப (ாதிப்புள்ள b | ||||
| _) ப (ாதிப்பென b | |||||
| _) ப (ாதிப்பேர p | _) ப (ாதிப்பேர p | ||||
| _) ப (ாதிப்பை b | _) ப (ாதிப்பை b | ||||
| _) ப (ாதிப்போ b | |||||
| _) பாத (ிமா fa:t | _) பாத (ிமா fa:t | ||||
| _) ப (ாதுஷா b | _) ப (ாதுஷா b | ||||
| _) ப (ாத்திமா f | _) ப (ாத்திமா f | ||||
| _) பாத்த (ியதை ba:dd | _) பாத்த (ியதை ba:dd | ||||
| _) பாத்த (ியப் ba:dd | |||||
| _) பாத்த (ியம்_ ba:dd | _) பாத்த (ியம்_ ba:dd | ||||
| _) ப (ாத்யதை b | _) ப (ாத்யதை b | ||||
| _) ப (ாத்ரூம b | _) ப (ாத்ரூம b | ||||
| _டைம்_) ப (ாம b | _டைம்_) ப (ாம b | ||||
| _) ப (ாமாவ b | _) ப (ாமாவ b | ||||
| _) ப (ாமினி b | _) ப (ாமினி b | ||||
| _) ப (ாமிரு b | |||||
| _) ப (ாமிலி f | _) ப (ாமிலி f | ||||
| _) ப (ாமில்ல b | |||||
| _) ப (ாமை b | |||||
| _) ப (ாம்கள b | |||||
| _) ப (ாம்பே b | _) ப (ாம்பே b | ||||
| _ஆடு_) ப (ாம்பே p | _ஆடு_) ப (ாம்பே p | ||||
| _விளையாடு_) ப (ாம்பே p | _விளையாடு_) ப (ாம்பே p | ||||
| _) ப (ாலாம்பாள b | _) ப (ாலாம்பாள b | ||||
| _) ப (ாலாம்பிக b | _) ப (ாலாம்பிக b | ||||
| _) ப (ாலாவ b | _) ப (ாலாவ b | ||||
| _) ப (ாலாவி_ p | |||||
| _) ப (ாலாவிய p | |||||
| _) ப (ாலித்_தீவ b | |||||
| _) ப (ாலின் p | _) ப (ாலின் p | ||||
| _) ப (ாலியத்த b | _) ப (ாலியத்த b | ||||
| _) ப (ாலிவுட் b | _) ப (ாலிவுட் b | ||||
| முகத்திலிருந்து_) ப (ாவ b | முகத்திலிருந்து_) ப (ாவ b | ||||
| _) ப (ாவனா b | _) ப (ாவனா b | ||||
| _) ப (ாவனை b | _) ப (ாவனை b | ||||
| _) ப (ாவமும்_நானே b | |||||
| _) ப (ாவிக்கப்பட b | _) ப (ாவிக்கப்பட b | ||||
| _) ப (ாவிக்கல b | _) ப (ாவிக்கல b | ||||
| _) ப (ாவிக்கவில்ல b | _) ப (ாவிக்கவில்ல b | ||||
| _) பி (ரதேஷ p | _) பி (ரதேஷ p | ||||
| _) பி (ரதோஷ p | _) பி (ரதோஷ p | ||||
| _) பி (ரத்தியேக p | _) பி (ரத்தியேக p | ||||
| _) பிரத் (யக்ஷ prVt | |||||
| _) பிரத் (யட்ச prVt | |||||
| _) பிரத் (யேக prVt | _) பிரத் (யேக prVt | ||||
| _) பி (ரனாப p | _) பி (ரனாப p | ||||
| _) பி (ரப p | _) பி (ரப p | ||||
| _) பிராஞ்ச bra:n^tS | _) பிராஞ்ச bra:n^tS | ||||
| _) பி (ராடாக f | _) பி (ராடாக f | ||||
| _) பி (ராட்_ f | _) பி (ராட்_ f | ||||
| _) பி (ராட்டஸ்ட p | |||||
| _) பி (ராட்டிஸ்லாவ b | _) பி (ராட்டிஸ்லாவ b | ||||
| _) பி (ராட்வே b | _) பி (ராட்வே b | ||||
| _) பி (ராண_ p | _) பி (ராண_ p | ||||
| _) பிரித (ிவ prit | _) பிரித (ிவ prit | ||||
| _) ப (ிரித்தானி b | _) ப (ிரித்தானி b | ||||
| _) பி (ரித்தானி b | _) பி (ரித்தானி b | ||||
| _) பி (ரின்L04ிபல p | |||||
| _) பிரின்சிப (ால prinsip | _) பிரின்சிப (ால prinsip | ||||
| _) பி (ரிமிய p | _) பி (ரிமிய p | ||||
| _) பி (ரியங்கள p | _) பி (ரியங்கள p | ||||
| _) பி (ரே p | _) பி (ரே p | ||||
| _) பி (ரேக்க b | _) பி (ரேக்க b | ||||
| _) பிரேச (ில bre:z | _) பிரேச (ில bre:z | ||||
| _) பி (ரேயில b | |||||
| _) பி (ரைல b | _) பி (ரைல b | ||||
| _) பிரைவேட praIve:t.V# | _) பிரைவேட praIve:t.V# | ||||
| _) பி (ரோகிதர p | _) பி (ரோகிதர p | ||||
| _) ப (ில்லி b | _) ப (ில்லி b | ||||
| _) ப (ில்லு b | _) ப (ில்லு b | ||||
| _) ப (ில்லை b | _) ப (ில்லை b | ||||
| _) பி (ளவர f | |||||
| _) பி (ளவுஸ b | _) பி (ளவுஸ b | ||||
| _) பி (ளஸ p | _) பி (ளஸ p | ||||
| _) பி (ளஸ்_ p | _) பி (ளஸ்_ p | ||||
| _) பிளாக் bla:k | _) பிளாக் bla:k | ||||
| _) பி (ளாட்பார p | _) பி (ளாட்பார p | ||||
| _) பிளாப் fl.a:p | _) பிளாப் fl.a:p | ||||
| _) பி (ளாஸ்க் f // flask | |||||
| _) பி (ளாஷ f | |||||
| _) பி (ளாஸ்க f // flask | |||||
| _) பி (ளீஸ p | _) பி (ளீஸ p | ||||
| _) பிள (ைட் fl. | _) பிள (ைட் fl. | ||||
| _) பி (ளௌஸ b | _) பி (ளௌஸ b | ||||
| _) புத்த (ம்_புதிய puttV | _) புத்த (ம்_புதிய puttV | ||||
| _) புத்த (ம்_புது puttV | _) புத்த (ம்_புது puttV | ||||
| _) புத்த (ரிசி puttV | _) புத்த (ரிசி puttV | ||||
| _) புத்த (ள puttV | |||||
| _) புத்த (ழக puttV | _) புத்த (ழக puttV | ||||
| _) ப (ுத்திக் b | _) ப (ுத்திக் b | ||||
| _) ப (ுத்திசாலி b | _) ப (ுத்திசாலி b | ||||
| _) பு (ருனாய b | _) பு (ருனாய b | ||||
| _) புரூப pru:fV# | _) புரூப pru:fV# | ||||
| _) புரொப (சர profV | _) புரொப (சர profV | ||||
| _) புரொப (ஸர profV | |||||
| _) புரொபொ (சர profV | _) புரொபொ (சர profV | ||||
| _) பு (ரோகித p | _) பு (ரோகித p | ||||
| _) ப (ுரோக்கர b | _) ப (ுரோக்கர b | ||||
| _) பு (ரௌச b | _) பு (ரௌச b | ||||
| _) ப (ுல்_L15 f | _) ப (ுல்_L15 f | ||||
| _) புல்க (ா fulk | _) புல்க (ா fulk | ||||
| _) புல்க (ான pulg | |||||
| _) ப (ுல்டோசர b | _) ப (ுல்டோசர b | ||||
| _) ப (ுல்லட் b | _) ப (ுல்லட் b | ||||
| _) ப (ுல்லா_ f | _) ப (ுல்லா_ f | ||||
| _) ப (ேகத் b | _) ப (ேகத் b | ||||
| _) ப (ேகம b | _) ப (ேகம b | ||||
| _) ப (ேக்கரி b | _) ப (ேக்கரி b | ||||
| _) ப (ேக்கிங்_சோடா b | |||||
| _) ப (ேக்டர f | _) ப (ேக்டர f | ||||
| _) ப (ேங்க் b | _) ப (ேங்க் b | ||||
| _) ப (ேச்சலர b | _) ப (ேச்சலர b | ||||
| _) ப (ொம்மனாட்டி p | _) ப (ொம்மனாட்டி p | ||||
| _) ப (ொம்மல b | _) ப (ொம்மல b | ||||
| _) ப (ொம்மை b | _) ப (ொம்மை b | ||||
| _) ப (ொலிவிய b | |||||
| _) ப (ோஃபர்ஸ b | _) ப (ோஃபர்ஸ b | ||||
| _) ப (ோஃபோர் b | _) ப (ோஃபோர் b | ||||
| _) ப (ோக_L13 b | _) ப (ோக_L13 b | ||||
| _) ப்ரோட (ான pro:t | _) ப்ரோட (ான pro:t | ||||
| _) ப் (ரௌச b | _) ப் (ரௌச b | ||||
| _) ப் (ரௌன b | _) ப் (ரௌன b | ||||
| _) ப் (ளவர f | |||||
| _) ப் (ளவுஸ b | _) ப் (ளவுஸ b | ||||
| _) ப்ளாப் fl.a:p | _) ப்ளாப் fl.a:p | ||||
| _) ப் (ளாஷ f | |||||
| _) ப் (ளாஸ்க f | |||||
| _) ப் (ளூஸ b | _) ப் (ளூஸ b | ||||
| _) ப் (ளோரிடா f | _) ப் (ளோரிடா f | ||||
| _) ப் (ளௌஸ b | _) ப் (ளௌஸ b | ||||
| நடை) ப pV# | நடை) ப pV# | ||||
| _கேம்) ப pV# | _கேம்) ப pV# | ||||
| _பிரதீ) ப pV# | _பிரதீ) ப pV# | ||||
| அஷ்ர) ப fV# | |||||
| ஒலிம்) ப pV# | ஒலிம்) ப pV# | ||||
| சங்கல்) ப pV# | சங்கல்) ப pV# | ||||
| _சொல்) ப pV# | _சொல்) ப pV# | ||||
| _நிலை) ப pV# | _நிலை) ப pV# | ||||
| _பயன்) ப pV# | _பயன்) ப pV# | ||||
| _விகல்) ப pV# | _விகல்) ப pV# | ||||
| _ஸ்டம்) ப pV# | |||||
| அடால்) ப fV# | அடால்) ப fV# | ||||
| அஷ்ரா) ப fV# | அஷ்ரா) ப fV# | ||||
| _ஒL10ி) ப pV# | _ஒL10ி) ப pV# | ||||
| _செயல்) ப pV# | _செயல்) ப pV# | ||||
| _முஷார) ப fV# | |||||
| _ருடால்) ப fV# | _ருடால்) ப fV# | ||||
| _ஸ்டாம்) ப pV# | |||||
| _ஷரீ) ப (+ fV# | _ஷரீ) ப (+ fV# | ||||
| _ஷெரீ) ப (+ fV# | _ஷெரீ) ப (+ fV# | ||||
| _ஸ்தா) ப (+ bV# | _ஸ்தா) ப (+ bV# | ||||
| தென்) ப (குதி pV | தென்) ப (குதி pV | ||||
| அக்கம்) ப (க்க bV | அக்கம்) ப (க்க bV | ||||
| ப (க்கK pV | ப (க்கK pV | ||||
| _தா) ப (க்கணல bV | |||||
| பரம) ப (க்த bV | பரம) ப (க்த bV | ||||
| ராம) ப (க்த bV | ராம) ப (க்த bV | ||||
| _தா) ப (ங்கள bV | _தா) ப (ங்கள bV | ||||
| _பக்கப்) ப (ல bV | _பக்கப்) ப (ல bV | ||||
| ஆன்ம) ப (ல bV | ஆன்ம) ப (ல bV | ||||
| படைப்) ப (ல bV | படைப்) ப (ல bV | ||||
| _பிரின்L04ி) ப (ல p | |||||
| _முனிசி) ப (ல pV | _முனிசி) ப (ல pV | ||||
| ஆயுதப்) ப (ல bV | ஆயுதப்) ப (ல bV | ||||
| _சம) ப (லங்கள bV | _சம) ப (லங்கள bV | ||||
| த) ப (ஸ bV | த) ப (ஸ bV | ||||
| _வா) ப (ஸ pV | _வா) ப (ஸ pV | ||||
| ஆக்டோ) ப (ஸ pV | ஆக்டோ) ப (ஸ pV | ||||
| _ப்ரொ) ப (ஸர fV | |||||
| _தீ) ப (ா p | _தீ) ப (ா p | ||||
| _கலி) ப (ா f | _கலி) ப (ா f | ||||
| _கலீ) ப (ா f | _கலீ) ப (ா f | ||||
| _) பாபவிமோசன pa:bVvimo:tSV | _) பாபவிமோசன pa:bVvimo:tSV | ||||
| _சாயி) பாப (ா ba:b | _சாயி) பாப (ா ba:b | ||||
| _சாய்) பாப (ா ba:b | _சாய்) பாப (ா ba:b | ||||
| அலி) பாப (ா ba:b | |||||
| அலை) ப (ாய p | அலை) ப (ாய p | ||||
| அ) பாயிண்ட்மெண்ட pa:jin.t.ment.V# | அ) பாயிண்ட்மெண்ட pa:jin.t.ment.V# | ||||
| அல்) ப (ாயு p | அல்) ப (ாயு p | ||||
| எதிர்) ப (ார p | எதிர்) ப (ார p | ||||
| _பிளாட்) ப (ார f | _பிளாட்) ப (ார f | ||||
| _யுக) ப (ாரதி b | _யுக) ப (ாரதி b | ||||
| _டி) பார்ட்மெண்ட pa:rt.men.t.V# | |||||
| இன்) ப (ார்ம f | இன்) ப (ார்ம f | ||||
| _யூனி) ப (ார்ம f | _யூனி) ப (ார்ம f | ||||
| அ) பார்மெண்ட pa:rment.V# | அ) பார்மெண்ட pa:rment.V# | ||||
| _மா) ப (ியா f | _மா) ப (ியா f | ||||
| _கன்) பி (யுச f | _கன்) பி (யுச f | ||||
| _பெர்) பி (யூம f | _பெர்) பி (யூம f | ||||
| _கடற்) பி (ர p | |||||
| _வரப்) பி (ரL04ாத p | _வரப்) பி (ரL04ாத p | ||||
| _ஞான) பிரக (ா prVk | _ஞான) பிரக (ா prVk | ||||
| _ஞானப்) பிரக (ா prVk | _ஞானப்) பிரக (ா prVk | ||||
| _சொற்) பி (ரயோக p | _சொற்) பி (ரயோக p | ||||
| L03ந்தப்) பி (ரளய p | L03ந்தப்) பி (ரளய p | ||||
| _சொற்) பி (ரவாக p | _சொற்) பி (ரவாக p | ||||
| உட்) பி (ரவேச p | |||||
| எக்ஸ்) பிர (ஸ pre | எக்ஸ்) பிர (ஸ pre | ||||
| ஆ) பி (ரஹாம b | ஆ) பி (ரஹாம b | ||||
| பயப்) பி (ராந்தி b | பயப்) பி (ராந்தி b | ||||
| ஆண்) ப (ிள்ளை p | ஆண்) ப (ிள்ளை p | ||||
| பெண்) ப (ிள்ளை p | பெண்) ப (ிள்ளை p | ||||
| அச்சா) ப (ீ f | அச்சா) ப (ீ f | ||||
| _தபாலா) ப (ீ f | |||||
| _ர) பீக் fi:k | _ர) பீக் fi:k | ||||
| உப) ப (ீட p | உப) ப (ீட p | ||||
| விக்கி) ப (ீடியா p | விக்கி) ப (ீடியா p | ||||
| _மர) ப (ுரிமை b | _மர) ப (ுரிமை b | ||||
| இன்) ப (ுற b | இன்) ப (ுற b | ||||
| _துன்) ப (ுற b | _துன்) ப (ுற b | ||||
| _நம்) ப (ுற b | |||||
| ப (ுறK p | ப (ுறK p | ||||
| _பா) ப (ுலர p | _பா) ப (ுலர p | ||||
| _) பு (ளோரன்ஸ f | _) பு (ளோரன்ஸ f | ||||
| _வட) ப (ெண்ணை p | _வட) ப (ெண்ணை p | ||||
| _தென்) ப (ெண்ணை p | _தென்) ப (ெண்ணை p | ||||
| _கம்) ப (ெனி p | _கம்) ப (ெனி p | ||||
| _மறு) ப (ெயர p | |||||
| இடம்) ப (ெயர p | இடம்) ப (ெயர p | ||||
| _புலம்) ப (ெயர p | _புலம்) ப (ெயர p | ||||
| மொழி) ப (ெயர் p | மொழி) ப (ெயர் p | ||||
| _ச) ப்த (மிய ptV | _ச) ப்த (மிய ptV | ||||
| _ச) ப் (தரிஷி p | _ச) ப் (தரிஷி p | ||||
| _ச) ப் (தஸ்வர p | _ச) ப் (தஸ்வர p | ||||
| _லு) ப் (தான f | |||||
| _ஹி) ப்னாட (ிச pna:t. | _ஹி) ப்னாட (ிச pna:t. | ||||
| கர்) ப்ப bbV# | கர்) ப்ப bbV# | ||||
| _நவா) ப்ப bbV# | _நவா) ப்ப bbV# | ||||
| _நகர்) ப்ப ppV# | |||||
| _ராமசு) ப்ப bbV# | _ராமசு) ப்ப bbV# | ||||
| L03) ப்ப (ங்களா bbV | L03) ப்ப (ங்களா bbV | ||||
| L03) ப்ப (தில bbV | L03) ப்ப (தில bbV | ||||
| _வெளி) ப்பி (ரகார pp | _வெளி) ப்பி (ரகார pp | ||||
| அதிக) ப்பி (ரசங்க pp | அதிக) ப்பி (ரசங்க pp | ||||
| L03) ப்பிரச (ார pprVtS | L03) ப்பிரச (ார pprVtS | ||||
| _மலை) ப்பி (ரதேச pp | |||||
| _வன) ப்பி (ரதேச pp | _வன) ப்பி (ரதேச pp | ||||
| _காட்டு) ப்பி (ரதேச pp | _காட்டு) ப்பி (ரதேச pp | ||||
| _நில) ப்பி (ரபு pp | _நில) ப்பி (ரபு pp | ||||
| _யூ) ப்ரட (ீஸ frVt. | _யூ) ப்ரட (ீஸ frVt. | ||||
| _சு) ப் (ரியா p | _சு) ப் (ரியா p | ||||
| _ஸ்ரீ) ப் (ரியா p | _ஸ்ரீ) ப் (ரியா p | ||||
| அ) ப் (ரீதி f | |||||
| _சு) ப் (ரீம p | _சு) ப் (ரீம p | ||||
| _) ப் (ரீயா f | _) ப் (ரீயா f | ||||
| _கம்) ப் (ரெஸ p | _கம்) ப் (ரெஸ p | ||||
| இம்) ப் (ரெஸ p | இம்) ப் (ரெஸ p | ||||
| _) ப் (லெட்சர f | _) ப் (லெட்சர f | ||||
| _மா) ப் (ள p | _மா) ப் (ள p | ||||
| _ம) ப் (ளர f | |||||
| ஏரோ) ப் (ளேன p | ஏரோ) ப் (ளேன p | ||||
| _) ப் (ளோரன்ஸ f | _) ப் (ளோரன்ஸ f | ||||
| ப் (ஸ p | ப் (ஸ p | ||||
| வ (B v | வ (B v | ||||
| _) வி (யா v | _) வி (யா v | ||||
| வி (யூக v | வி (யூக v | ||||
| இண்டர்) வி (யூ v | |||||
| .group ஶ | .group ஶ | ||||
| இ (ரவைகள | இ (ரவைகள | ||||
| இ (ரவையை | இ (ரவையை | ||||
| இ (ராக | இ (ராக | ||||
| இ (ராக்_ i | |||||
| இ (ராக்_கால | |||||
| இ (ராக்கிட i | |||||
| இ (ராக்கின i | |||||
| இ (ராக்கில i | |||||
| இ (ராக்கு i | |||||
| இ (ராக்கை i | |||||
| இ (ராச | இ (ராச | ||||
| இ (ராஜ | இ (ராஜ | ||||
| இராஞ்ச ra:n^tSV# | இராஞ்ச ra:n^tSV# | ||||
| இ (லவங்க | இ (லவங்க | ||||
| இ (லவங்காய i | இ (லவங்காய i | ||||
| இ (லாகவ | இ (லாகவ | ||||
| இலாக (ூர la:H | |||||
| இ (லாப | இ (லாப | ||||
| இ (லாவண்ய | இ (லாவண்ய | ||||
| இலேக்க (ிய le:gg | இலேக்க (ிய le:gg |
| // Irish Phonemes | // Irish Phonemes | ||||
| //Please contact [email protected] | //Please contact [email protected] | ||||
| // Version 2.7 2013 | |||||
| // Version 2.8 2013 | |||||
| // short vowels | // short vowels | ||||
| phoneme i | phoneme i | ||||
| vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
| length 165 | |||||
| length 200 | |||||
| FMT(vowel/i) | FMT(vowel/i) | ||||
| endphoneme | endphoneme | ||||
| phoneme e | phoneme e | ||||
| vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
| length 180 | |||||
| length 210 | |||||
| FMT(vowel/e_mid2) | FMT(vowel/e_mid2) | ||||
| endphoneme | endphoneme | ||||
| phoneme a/ | |||||
| vowel starttype #@ endtype #@ | |||||
| length 180 | |||||
| FMT(vowel/a#_2) | |||||
| endphoneme | |||||
| phoneme a | phoneme a | ||||
| vowel starttype #a endtype #a | vowel starttype #a endtype #a | ||||
| length 180 | |||||
| ChangeIfUnstressed(a/) | |||||
| length 210 | |||||
| FMT(vowel/a_5) | FMT(vowel/a_5) | ||||
| endphoneme | endphoneme | ||||
| phoneme o | phoneme o | ||||
| vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
| length 180 | |||||
| FMT(vowel/0_2) | |||||
| length 210 | |||||
| FMT(vowel/o_4) | |||||
| endphoneme | endphoneme | ||||
| phoneme u | phoneme u | ||||
| vowel starttype #u endtype #u | vowel starttype #u endtype #u | ||||
| length 170 | |||||
| FMT(vowel/u_5) | |||||
| length 200 | |||||
| FMT(vowel/u_bck2) | |||||
| endphoneme | endphoneme | ||||
| import_phoneme base2/d | import_phoneme base2/d | ||||
| endphoneme | endphoneme | ||||
| phoneme z | |||||
| vcd alv frc sibilant | |||||
| voicingswitch s | |||||
| lengthmod 6 | |||||
| Vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50 | |||||
| IF KlattSynth THEN | |||||
| Vowelin f1=0 f2=1390 -300 300 f3=0 0 | |||||
| Vowelout f1=1 f2=1390 -300 300 f3=-100 60 len=50 brk | |||||
| ENDIF | |||||
| FMT(voc/z_pzd_) addWav(ufric/s_pzd, 75) | |||||
| endphoneme | |||||
| phoneme t | |||||
| vls alv stop | |||||
| voicingswitch d | |||||
| lengthmod 2 | |||||
| Vowelin f1=0 f2=1700 -300 300 f3=-100 80 | |||||
| Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 | |||||
| WAV(ustop/t_hard, 70) | |||||
| endphoneme | |||||
| phoneme T | |||||
| vls dnt frc | |||||
| voicingswitch D | |||||
| lengthmod 3 | |||||
| Vowelin f1=0 f2=1700 -300 300 f3=-100 80 | |||||
| Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 | |||||
| WAV(ufric/th_,50) | |||||
| endphoneme | |||||
| phoneme S | |||||
| vls pla frc sibilant | |||||
| voicingswitch Z | |||||
| lengthmod 3 | |||||
| Vowelin f1=0 f2=2100 100 300 f3=-100 80 | |||||
| Vowelout f1=0 f2=2100 100 300 f3=-100 80 | |||||
| WAV(ufric/sh3) | |||||
| endphoneme | |||||
| phoneme s | |||||
| vls alv frc sibilant | |||||
| voicingswitch z | |||||
| lengthmod 3 | |||||
| Vowelin f1=0 f2=1700 -300 300 f3=-100 80 | |||||
| Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 | |||||
| WAV(ufric/s_,60) | |||||
| endphoneme | |||||
| phoneme p | |||||
| vls blb stop | |||||
| voicingswitch b | |||||
| lengthmod 2 | |||||
| Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11 | |||||
| Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22 | |||||
| WAV(ustop/p) | |||||
| endphoneme | |||||
| phoneme n^ | |||||
| vcd pal nasal palatal | |||||
| ipa ɲ | |||||
| Vowelout f1=3 f2=2500 300 500 f3=100 80 len=45 brk rate | |||||
| lengthmod 4 | |||||
| IF KlattSynth THEN | |||||
| VowelStart(klatt/n^@) | |||||
| FMT(klatt/n^) | |||||
| ENDIF | |||||
| NextVowelStarts | |||||
| VowelStart(n^/n^@) | |||||
| VowelStart(n^/n^a) | |||||
| VowelStart(n^/n^e) | |||||
| VowelStart(n^/n^i) | |||||
| VowelStart(n^/n^o) | |||||
| VowelStart(n^/n^u) | |||||
| EndSwitch | |||||
| FMT(n^/n^_) | |||||
| endphoneme | |||||
| phoneme N | |||||
| vcd vel nasal | |||||
| Vowelout f1=3 f2=2300 300 400 f3=-200 80 len=40 rms=20 brk | |||||
| lengthmod 8 // longer than 'n' | |||||
| IF KlattSynth THEN | |||||
| Vowelin f1=0 f2=2100 50 300 f3=0 80 | |||||
| FMT(klatt/nn) | |||||
| ENDIF | |||||
| NextVowelStarts | |||||
| VowelStart(nn/nn@) | |||||
| VowelStart(nn/nna) | |||||
| VowelStart(nn/nne) | |||||
| VowelStart(nn/nni) | |||||
| VowelStart(nn/nno) | |||||
| VowelStart(nn/nnu) | |||||
| EndSwitch | |||||
| FMT(nn/nn_,50) | |||||
| endphoneme | |||||
| phoneme w | |||||
| liquid | |||||
| lengthmod 7 | |||||
| NextVowelStarts | |||||
| VowelStart(w/w@) | |||||
| VowelStart(w/wa) | |||||
| VowelStart(w/we) | |||||
| VowelStart(w/wi) | |||||
| VowelStart(w/wo) | |||||
| VowelStart(w/wu) | |||||
| EndSwitch | |||||
| VowelEnding(w/xw, -30) | |||||
| FMT(w/w2) | |||||
| endphoneme | |||||
| phoneme k | |||||
| vls vel stop | |||||
| voicingswitch g | |||||
| lengthmod 2 | |||||
| Vowelin f1=0 f2=2300 200 300 f3=-200 80 | |||||
| Vowelout f1=0 f2=2300 300 400 f3=-200 80 rms=20 | |||||
| IF KlattSynth THEN | |||||
| Vowelout f1=0 f2=2300 200 300 f3=-200 80 rms=20 | |||||
| ENDIF | |||||
| WAV(ustop/k_,50) | |||||
| endphoneme | |||||
| phoneme J | |||||
| vcd pal afr sibilant palatal | |||||
| voicingswitch c | |||||
| lengthmod 5 | |||||
| Vowelin f1=2 f2=2700 400 600 f3=300 80 rate len=70 | |||||
| Vowelout f1=2 f2=2700 400 600 f3=300 80 colr=1 | |||||
| IF KlattSynth THEN | |||||
| FMT(klatt/dz_pzd) addWav(x/dzh_, 45) | |||||
| ENDIF | |||||
| IF nextPh(isNotVowel) THEN | |||||
| FMT(dzh/dz_pzd) addWav(x/dzh_, 45) | |||||
| ELSE | |||||
| FMT(dzh/dz_pzd) addWav(x/dzh_, 45) | |||||
| ENDIF | |||||
| endphoneme | |||||
| phoneme g | |||||
| vcd vel stop | |||||
| voicingswitch k | |||||
| lengthmod 5 | |||||
| Vowelin f1=2 f2=2300 200 300 f3=-300 80 | |||||
| Vowelout f1=2 f2=2300 250 300 f3=-300 80 brk | |||||
| IF PreVoicing THEN | |||||
| FMT(g/xg) | |||||
| ENDIF | |||||
| FMT(g/g) addWav(x/g2, 50) | |||||
| endphoneme |
| phonemetable si hi | phonemetable si hi | ||||
| include ph_sinhala | include ph_sinhala | ||||
| phonemetable gu hi | |||||
| include ph_gujarati | |||||
| phonemetable as bn | |||||
| include ph_assamese | |||||
| phonemetable tn base | phonemetable tn base | ||||
| include ph_setswana | include ph_setswana | ||||
| } | } | ||||
| spectseq->Load(stream); | spectseq->Load(stream); | ||||
| if(spectseq->frames == NULL) | |||||
| { | |||||
| error("Bad vowel file, no frames: '%s'",path); | |||||
| return(0); | |||||
| } | |||||
| // do we need additional klatt data ? | // do we need additional klatt data ? | ||||
| for(frame=0; frame < spectseq->numframes; frame++) | for(frame=0; frame < spectseq->numframes; frame++) | ||||
| { | { | ||||
| "# ------- ---------\n"); | "# ------- ---------\n"); | ||||
| fprintf(f_errors, "Source data path = '%s'\n", path_source); | |||||
| strncpy0(fname,path_phfile.mb_str(wxConvLocal),sizeof(fname)); | |||||
| fprintf(f_errors, "Master phonemes file = '%s'\n", fname); | |||||
| fprintf(f_errors, "Output to '%s/'\n\n", path_home); | |||||
| sprintf(fname,"%s/%s",path_home,"phondata"); | sprintf(fname,"%s/%s",path_home,"phondata"); | ||||
| f_phdata = fopen_log(f_errors,fname,"wb"); | f_phdata = fopen_log(f_errors,fname,"wb"); | ||||
| } | } | ||||
| static void copy_rule_string(char *string, int &state) | |||||
| {//=================================================== | |||||
| static void copy_rule_string(char *string, int *state_out) | |||||
| {//======================================================= | |||||
| // state 0: conditional, 1=pre, 2=match, 3=post, 4=phonemes | // state 0: conditional, 1=pre, 2=match, 3=post, 4=phonemes | ||||
| static char *outbuf[5] = {rule_cond, rule_pre, rule_match, rule_post, rule_phonemes}; | static char *outbuf[5] = {rule_cond, rule_pre, rule_match, rule_post, rule_phonemes}; | ||||
| static int next_state[5] = {2,2,4,4,4}; | static int next_state[5] = {2,2,4,4,4}; | ||||
| int value; | int value; | ||||
| int literal; | int literal; | ||||
| int hexdigit_input = 0; | int hexdigit_input = 0; | ||||
| int state = *state_out; | |||||
| MNEM_TAB *mr; | MNEM_TAB *mr; | ||||
| if(string[0] == 0) return; | if(string[0] == 0) return; | ||||
| if(c == 0) break; | if(c == 0) break; | ||||
| } | } | ||||
| state = next_state[state]; | |||||
| *state_out = next_state[state]; | |||||
| } // end of copy_rule_string | } // end of copy_rule_string | ||||
| case ')': // end of prefix section | case ')': // end of prefix section | ||||
| *p = 0; | *p = 0; | ||||
| state = 1; | state = 1; | ||||
| copy_rule_string(buf,state); | |||||
| copy_rule_string(buf,&state); | |||||
| p = buf; | p = buf; | ||||
| break; | break; | ||||
| case '(': // start of suffix section | case '(': // start of suffix section | ||||
| *p = 0; | *p = 0; | ||||
| state = 2; | state = 2; | ||||
| copy_rule_string(buf,state); | |||||
| copy_rule_string(buf,&state); | |||||
| state = 3; | state = 3; | ||||
| p = buf; | p = buf; | ||||
| if(input[ix+1] == ' ') | if(input[ix+1] == ' ') | ||||
| case '\r': | case '\r': | ||||
| case 0: // end of line | case 0: // end of line | ||||
| *p = 0; | *p = 0; | ||||
| copy_rule_string(buf,state); | |||||
| copy_rule_string(buf,&state); | |||||
| finish=1; | finish=1; | ||||
| break; | break; | ||||
| case '\t': // end of section section | case '\t': // end of section section | ||||
| case ' ': | case ' ': | ||||
| *p = 0; | *p = 0; | ||||
| copy_rule_string(buf,state); | |||||
| copy_rule_string(buf,&state); | |||||
| p = buf; | p = buf; | ||||
| break; | break; | ||||
| 0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x303,0x7f | 0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x303,0x7f | ||||
| }; | }; | ||||
| #define N_PHON_OUT 500 | |||||
| #define N_PHON_OUT 500 // realloc increment | |||||
| static char *phon_out_buf = NULL; | static char *phon_out_buf = NULL; | ||||
| static int phon_out_size = 0; | static int phon_out_size = 0; | ||||
| static int GetVowelStress(Translator *tr, unsigned char *phonemes, signed char *vowel_stress, int &vowel_count, int &stressed_syllable, int control) | |||||
| static int GetVowelStress(Translator *tr, unsigned char *phonemes, signed char *vowel_stress, int *vowel_count, int *stressed_syllable, int control) | |||||
| {//================================================================================================================================================= | {//================================================================================================================================================= | ||||
| // control = 1, set stress to 1 for forced unstressed vowels | // control = 1, set stress to 1 for forced unstressed vowels | ||||
| unsigned char phcode; | unsigned char phcode; | ||||
| { | { | ||||
| /* primary stress on preceeding vowel */ | /* primary stress on preceeding vowel */ | ||||
| j = count - 1; | j = count - 1; | ||||
| while((j > 0) && (stressed_syllable == 0) && (vowel_stress[j] < 4)) | |||||
| while((j > 0) && (*stressed_syllable == 0) && (vowel_stress[j] < 4)) | |||||
| { | { | ||||
| if((vowel_stress[j] != 0) && (vowel_stress[j] != 1)) | if((vowel_stress[j] != 0) && (vowel_stress[j] != 1)) | ||||
| { | { | ||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| if((ph->std_length < 4) || (stressed_syllable == 0)) | |||||
| if((ph->std_length < 4) || (*stressed_syllable == 0)) | |||||
| { | { | ||||
| stress = ph->std_length; | stress = ph->std_length; | ||||
| *ph_out = 0; | *ph_out = 0; | ||||
| /* has the position of the primary stress been specified by $1, $2, etc? */ | /* has the position of the primary stress been specified by $1, $2, etc? */ | ||||
| if(stressed_syllable > 0) | |||||
| if(*stressed_syllable > 0) | |||||
| { | { | ||||
| if(stressed_syllable >= count) | |||||
| stressed_syllable = count-1; // the final syllable | |||||
| if(*stressed_syllable >= count) | |||||
| *stressed_syllable = count-1; // the final syllable | |||||
| vowel_stress[stressed_syllable] = 4; | |||||
| vowel_stress[*stressed_syllable] = 4; | |||||
| max_stress = 4; | max_stress = 4; | ||||
| primary_posn = stressed_syllable; | |||||
| primary_posn = *stressed_syllable; | |||||
| } | } | ||||
| if(max_stress == 5) | if(max_stress == 5) | ||||
| max_stress = 4; | max_stress = 4; | ||||
| } | } | ||||
| stressed_syllable = primary_posn; | |||||
| vowel_count = count; | |||||
| *stressed_syllable = primary_posn; | |||||
| *vowel_count = count; | |||||
| return(max_stress); | return(max_stress); | ||||
| } // end of GetVowelStress | } // end of GetVowelStress | ||||
| signed char vowel_stress[N_WORD_PHONEMES/2]; | signed char vowel_stress[N_WORD_PHONEMES/2]; | ||||
| strcpy((char *)phonetic,word); | strcpy((char *)phonetic,word); | ||||
| max_stress = GetVowelStress(tr, phonetic, vowel_stress, vowel_count, stressed_syllable, 0); | |||||
| max_stress = GetVowelStress(tr, phonetic, vowel_stress, &vowel_count, &stressed_syllable, 0); | |||||
| if(new_stress >= 4) | if(new_stress >= 4) | ||||
| { | { | ||||
| unstressed_word = 1; | unstressed_word = 1; | ||||
| } | } | ||||
| max_stress = GetVowelStress(tr, phonetic, vowel_stress, vowel_count, stressed_syllable, 1); | |||||
| max_stress = GetVowelStress(tr, phonetic, vowel_stress, &vowel_count, &stressed_syllable, 1); | |||||
| if((max_stress < 0) && dictionary_flags) | if((max_stress < 0) && dictionary_flags) | ||||
| { | { | ||||
| max_stress = 0; | max_stress = 0; | ||||
| vowel_stress[stressed_syllable] = 4; | vowel_stress[stressed_syllable] = 4; | ||||
| max_stress = 4; | max_stress = 4; | ||||
| break; | break; | ||||
| case 13: // LANG=ml, 1st unless 1st vowel is short and 2nd is long | |||||
| if(stressed_syllable == 0) | |||||
| { | |||||
| stressed_syllable = 1; | |||||
| if((vowel_length[1] == 0) && (vowel_count > 2) && (vowel_length[2] > 0)) | |||||
| stressed_syllable = 2; | |||||
| vowel_stress[stressed_syllable] = 4; | |||||
| max_stress = 4; | |||||
| } | |||||
| break; | |||||
| } | } | ||||
| /* now guess the complete stress pattern */ | /* now guess the complete stress pattern */ | ||||
| if(tr->transpose_min > 0) | if(tr->transpose_min > 0) | ||||
| { | { | ||||
| strncpy0(word_buf,word, N_WORD_BYTES); | strncpy0(word_buf,word, N_WORD_BYTES); | ||||
| wlen = TransposeAlphabet(tr, word_buf); | |||||
| wlen = TransposeAlphabet(tr, word_buf); // bit 6 indicates compressed characters | |||||
| word = word_buf; | word = word_buf; | ||||
| } | } | ||||
| else | else |
| "--split=\"<minutes>\"\n" | "--split=\"<minutes>\"\n" | ||||
| "\t Starts a new WAV file every <minutes>. Used with -w\n" | "\t Starts a new WAV file every <minutes>. Used with -w\n" | ||||
| "--stdout Write speech output to stdout\n" | "--stdout Write speech output to stdout\n" | ||||
| "--version Shows version number and date, and location of espeak-data\n" | |||||
| "--voices=<language>\n" | "--voices=<language>\n" | ||||
| "\t List the available voices for the specified language.\n" | "\t List the available voices for the specified language.\n" | ||||
| "\t If <language> is omitted, then list all voices.\n"; | "\t If <language> is omitted, then list all voices.\n"; |
| //<decls and function prototypes | //<decls and function prototypes | ||||
| // my_mutex: protects my_thread_is_talking, | |||||
| // my_mutex: protects my_thread_is_talking, | |||||
| static pthread_mutex_t my_mutex; | static pthread_mutex_t my_mutex; | ||||
| static sem_t my_sem_start_is_required; | static sem_t my_sem_start_is_required; | ||||
| static sem_t my_sem_stop_is_required; | static sem_t my_sem_stop_is_required; | ||||
| enum {MIN_TIMEOUT_IN_MS=10, | enum {MIN_TIMEOUT_IN_MS=10, | ||||
| ACTIVITY_TIMEOUT=50, // in ms, check that the stream is active | ACTIVITY_TIMEOUT=50, // in ms, check that the stream is active | ||||
| MAX_ACTIVITY_CHECK=6 | |||||
| MAX_ACTIVITY_CHECK=6 | |||||
| }; | }; | ||||
| assert(-1 != sem_init(&my_sem_stop_is_required, 0, 0)); | assert(-1 != sem_init(&my_sem_stop_is_required, 0, 0)); | ||||
| assert(-1 != sem_init(&my_sem_stop_is_acknowledged, 0, 0)); | assert(-1 != sem_init(&my_sem_stop_is_acknowledged, 0, 0)); | ||||
| pthread_attr_t a_attrib; | |||||
| pthread_attr_t a_attrib; | |||||
| if (pthread_attr_init (& a_attrib) | if (pthread_attr_init (& a_attrib) | ||||
| || pthread_attr_setdetachstate(&a_attrib, PTHREAD_CREATE_JOINABLE) | || pthread_attr_setdetachstate(&a_attrib, PTHREAD_CREATE_JOINABLE) | ||||
| || pthread_create( &my_thread, | |||||
| & a_attrib, | |||||
| polling_thread, | |||||
| || pthread_create( &my_thread, | |||||
| & a_attrib, | |||||
| polling_thread, | |||||
| (void*)NULL)) | (void*)NULL)) | ||||
| { | { | ||||
| assert(0); | assert(0); | ||||
| "MARK", | "MARK", | ||||
| "PLAY", | "PLAY", | ||||
| "END", | "END", | ||||
| "MSG_TERMINATED" | |||||
| "MSG_TERMINATED" | |||||
| }; | }; | ||||
| SHOW("event_display > event=0x%x\n",event); | SHOW("event_display > event=0x%x\n",event); | ||||
| static espeak_EVENT* event_copy (espeak_EVENT* event) | static espeak_EVENT* event_copy (espeak_EVENT* event) | ||||
| { | { | ||||
| ENTER("event_copy"); | ENTER("event_copy"); | ||||
| if (event==NULL) | if (event==NULL) | ||||
| { | { | ||||
| return NULL; | return NULL; | ||||
| } | } | ||||
| espeak_EVENT* a_event=(espeak_EVENT*)malloc(sizeof(espeak_EVENT)); | espeak_EVENT* a_event=(espeak_EVENT*)malloc(sizeof(espeak_EVENT)); | ||||
| if (a_event) | if (a_event) | ||||
| { | { | ||||
| memcpy(a_event, event, sizeof(espeak_EVENT)); | memcpy(a_event, event, sizeof(espeak_EVENT)); | ||||
| switch(event->type) | switch(event->type) | ||||
| { | { | ||||
| case espeakEVENT_MARK: | case espeakEVENT_MARK: | ||||
| a_event->id.name = strdup(event->id.name); | a_event->id.name = strdup(event->id.name); | ||||
| } | } | ||||
| break; | break; | ||||
| default: | default: | ||||
| break; | break; | ||||
| } | } | ||||
| } | } | ||||
| event_display(a_event); | event_display(a_event); | ||||
| return a_event; | return a_event; | ||||
| } | } | ||||
| return EE_INTERNAL_ERROR; | return EE_INTERNAL_ERROR; | ||||
| } | } | ||||
| int a_status = pthread_mutex_lock(&my_mutex); | |||||
| int a_status = pthread_mutex_lock(&my_mutex); | |||||
| espeak_ERROR a_error = EE_OK; | espeak_ERROR a_error = EE_OK; | ||||
| if (!a_status) | if (!a_status) | ||||
| // | // | ||||
| // if (!a_status && !my_event_is_running && (a_error == EE_OK)) | // if (!a_status && !my_event_is_running && (a_error == EE_OK)) | ||||
| // { | // { | ||||
| // // quit when command is actually started | |||||
| // // quit when command is actually started | |||||
| // // (for possible forthcoming 'end of command' checks) | // // (for possible forthcoming 'end of command' checks) | ||||
| SHOW_TIME("event_declare > post my_sem_start_is_required\n"); | SHOW_TIME("event_declare > post my_sem_start_is_required\n"); | ||||
| sem_post(&my_sem_start_is_required); | sem_post(&my_sem_start_is_required); | ||||
| add_time_in_ms( &ts, time_in_ms); | add_time_in_ms( &ts, time_in_ms); | ||||
| SHOW("polling_thread > sleep_until_timeout_or_stop_request > start sem_timedwait from %d.%09lu to %d.%09lu \n", | |||||
| SHOW("polling_thread > sleep_until_timeout_or_stop_request > start sem_timedwait from %d.%09lu to %d.%09lu \n", | |||||
| to.tv_sec, to.tv_nsec, | to.tv_sec, to.tv_nsec, | ||||
| ts.tv_sec, ts.tv_nsec); | ts.tv_sec, ts.tv_nsec); | ||||
| while ((err = sem_timedwait(&my_sem_stop_is_required, &ts)) == -1 | |||||
| while ((err = sem_timedwait(&my_sem_stop_is_required, &ts)) == -1 | |||||
| && errno == EINTR) | && errno == EINTR) | ||||
| { | { | ||||
| continue; // Restart when interrupted by handler | continue; // Restart when interrupted by handler | ||||
| } | } | ||||
| assert (gettimeofday(&tv, NULL) != -1); | assert (gettimeofday(&tv, NULL) != -1); | ||||
| SHOW("polling_thread > sleep_until_timeout_or_stop_request > stop sem_timedwait %d.%09lu \n", | |||||
| SHOW("polling_thread > sleep_until_timeout_or_stop_request > stop sem_timedwait %d.%09lu \n", | |||||
| tv.tv_sec, tv.tv_usec*1000); | tv.tv_sec, tv.tv_usec*1000); | ||||
| if (err == 0) | if (err == 0) | ||||
| //> | //> | ||||
| //<get_remaining_time | //<get_remaining_time | ||||
| // Asked for the time interval required for reaching the sample. | // Asked for the time interval required for reaching the sample. | ||||
| // If the stream is opened but the audio samples are not played, | |||||
| // If the stream is opened but the audio samples are not played, | |||||
| // a timeout is started. | // a timeout is started. | ||||
| static int get_remaining_time(uint32_t sample, uint32_t* time_in_ms, int* stop_is_required) | static int get_remaining_time(uint32_t sample, uint32_t* time_in_ms, int* stop_is_required) | ||||
| // stream opened but not active | // stream opened but not active | ||||
| // | // | ||||
| // Several possible states: | |||||
| // * the stream is opened but not yet started: | |||||
| // Several possible states: | |||||
| // * the stream is opened but not yet started: | |||||
| // | // | ||||
| // wait for the start of stream | // wait for the start of stream | ||||
| // | // | ||||
| // * some samples have already been played, | |||||
| // * some samples have already been played, | |||||
| // ** the end of stream is reached | // ** the end of stream is reached | ||||
| // ** or there is an underrun | // ** or there is an underrun | ||||
| // | |||||
| // | |||||
| // wait for the close of stream | // wait for the close of stream | ||||
| *stop_is_required = sleep_until_timeout_or_stop_request( ACTIVITY_TIMEOUT); | |||||
| *stop_is_required = sleep_until_timeout_or_stop_request( ACTIVITY_TIMEOUT); | |||||
| } | } | ||||
| return err; | return err; | ||||
| SHOW_TIME("polling_thread > unlocked\n"); | SHOW_TIME("polling_thread > unlocked\n"); | ||||
| a_stop_is_required=0; | a_stop_is_required=0; | ||||
| a_status = sem_getvalue(&my_sem_stop_is_required, &a_stop_is_required); | |||||
| if ((a_status==0) && a_stop_is_required) | |||||
| a_status = sem_getvalue(&my_sem_stop_is_required, &a_stop_is_required); // NOTE: may set a_stop_is_required to -1 | |||||
| if ((a_status==0) && (a_stop_is_required > 0)) | |||||
| { | { | ||||
| SHOW("polling_thread > stop required (%d)\n", __LINE__); | SHOW("polling_thread > stop required (%d)\n", __LINE__); | ||||
| while(0 == sem_trywait(&my_sem_stop_is_required)) | while(0 == sem_trywait(&my_sem_stop_is_required)) | ||||
| } | } | ||||
| // In this loop, my_event_is_running = 1 | // In this loop, my_event_is_running = 1 | ||||
| while (head && !a_stop_is_required) | |||||
| while (head && (a_stop_is_required <= 0)) | |||||
| { | { | ||||
| SHOW_TIME("polling_thread > check head\n"); | SHOW_TIME("polling_thread > check head\n"); | ||||
| while(0 == sem_trywait(&my_sem_start_is_required)) | while(0 == sem_trywait(&my_sem_start_is_required)) | ||||
| { | { | ||||
| }; | }; | ||||
| espeak_EVENT* event = (espeak_EVENT*)(head->data); | espeak_EVENT* event = (espeak_EVENT*)(head->data); | ||||
| assert(event); | assert(event); | ||||
| uint32_t time_in_ms = 0; | uint32_t time_in_ms = 0; | ||||
| int err = get_remaining_time((uint32_t)event->sample, | |||||
| &time_in_ms, | |||||
| int err = get_remaining_time((uint32_t)event->sample, | |||||
| &time_in_ms, | |||||
| &a_stop_is_required); | &a_stop_is_required); | ||||
| if (a_stop_is_required) | |||||
| if (a_stop_is_required > 0) | |||||
| { | { | ||||
| break; | break; | ||||
| } | } | ||||
| else if (err != 0) | else if (err != 0) | ||||
| { | |||||
| { | |||||
| // No available time: the event is deleted. | // No available time: the event is deleted. | ||||
| SHOW("polling_thread > %s\n","audio device down"); | SHOW("polling_thread > %s\n","audio device down"); | ||||
| a_status = pthread_mutex_lock(&my_mutex); | a_status = pthread_mutex_lock(&my_mutex); | ||||
| if (my_callback) | if (my_callback) | ||||
| { | { | ||||
| event_notify(event); | event_notify(event); | ||||
| // the user_data (and the type) are cleaned to be sure | |||||
| // the user_data (and the type) are cleaned to be sure | |||||
| // that MSG_TERMINATED is called twice (at delete time too). | // that MSG_TERMINATED is called twice (at delete time too). | ||||
| event->type=espeakEVENT_LIST_TERMINATED; | event->type=espeakEVENT_LIST_TERMINATED; | ||||
| event->user_data=NULL; | event->user_data=NULL; | ||||
| } | } | ||||
| a_status = pthread_mutex_lock(&my_mutex); | a_status = pthread_mutex_lock(&my_mutex); | ||||
| SHOW_TIME("polling_thread > locked\n"); | SHOW_TIME("polling_thread > locked\n"); | ||||
| event_delete( (espeak_EVENT*)pop()); | event_delete( (espeak_EVENT*)pop()); | ||||
| a_status = pthread_mutex_unlock(&my_mutex); | a_status = pthread_mutex_unlock(&my_mutex); | ||||
| SHOW_TIME("polling_thread > unlocked\n"); | SHOW_TIME("polling_thread > unlocked\n"); | ||||
| a_stop_is_required=0; | a_stop_is_required=0; | ||||
| a_status = sem_getvalue(&my_sem_stop_is_required, &a_stop_is_required); | a_status = sem_getvalue(&my_sem_stop_is_required, &a_stop_is_required); | ||||
| if ((a_status==0) && a_stop_is_required) | |||||
| if ((a_status==0) && (a_stop_is_required > 0)) | |||||
| { | { | ||||
| SHOW("polling_thread > stop required (%d)\n", __LINE__); | SHOW("polling_thread > stop required (%d)\n", __LINE__); | ||||
| while(0 == sem_trywait(&my_sem_stop_is_required)) | while(0 == sem_trywait(&my_sem_stop_is_required)) | ||||
| a_stop_is_required = sleep_until_timeout_or_stop_request(time_in_ms); | a_stop_is_required = sleep_until_timeout_or_stop_request(time_in_ms); | ||||
| } | } | ||||
| } | } | ||||
| a_status = pthread_mutex_lock(&my_mutex); | a_status = pthread_mutex_lock(&my_mutex); | ||||
| SHOW_TIME("polling_thread > locked\n"); | SHOW_TIME("polling_thread > locked\n"); | ||||
| SHOW_TIME("polling_thread > my_event_is_running = 0\n"); | SHOW_TIME("polling_thread > my_event_is_running = 0\n"); | ||||
| my_event_is_running = 0; | my_event_is_running = 0; | ||||
| if(!a_stop_is_required) | |||||
| if(a_stop_is_required <= 0) | |||||
| { | { | ||||
| a_status = sem_getvalue(&my_sem_stop_is_required, &a_stop_is_required); | a_status = sem_getvalue(&my_sem_stop_is_required, &a_stop_is_required); | ||||
| if ((a_status==0) && a_stop_is_required) | |||||
| if ((a_status==0) && (a_stop_is_required > 0)) | |||||
| { | { | ||||
| SHOW("polling_thread > stop required (%d)\n", __LINE__); | SHOW("polling_thread > stop required (%d)\n", __LINE__); | ||||
| while(0 == sem_trywait(&my_sem_stop_is_required)) | while(0 == sem_trywait(&my_sem_stop_is_required)) | ||||
| a_status = pthread_mutex_unlock(&my_mutex); | a_status = pthread_mutex_unlock(&my_mutex); | ||||
| SHOW_TIME("polling_thread > unlocked\n"); | SHOW_TIME("polling_thread > unlocked\n"); | ||||
| if (a_stop_is_required) | |||||
| { | |||||
| if (a_stop_is_required > 0) | |||||
| { | |||||
| SHOW("polling_thread > %s\n","stop required!"); | SHOW("polling_thread > %s\n","stop required!"); | ||||
| // no mutex required since the stop command is synchronous | // no mutex required since the stop command is synchronous | ||||
| // and waiting for my_sem_stop_is_acknowledged | // and waiting for my_sem_stop_is_acknowledged | ||||
| SHOW("event > push > %s\n", "EE_BUFFER_FULL"); | SHOW("event > push > %s\n", "EE_BUFFER_FULL"); | ||||
| return EE_BUFFER_FULL; | return EE_BUFFER_FULL; | ||||
| } | } | ||||
| node *n = (node *)malloc(sizeof(node)); | node *n = (node *)malloc(sizeof(node)); | ||||
| if (n == NULL) | if (n == NULL) | ||||
| { | { | ||||
| return EE_INTERNAL_ERROR; | return EE_INTERNAL_ERROR; | ||||
| } | } | ||||
| if (head == NULL) | if (head == NULL) | ||||
| { | { | ||||
| head = n; | head = n; | ||||
| tail->next = n; | tail->next = n; | ||||
| tail = n; | tail = n; | ||||
| } | } | ||||
| tail->next = NULL; | tail->next = NULL; | ||||
| tail->data = the_data; | tail->data = the_data; | ||||
| node_counter++; | node_counter++; | ||||
| SHOW("event > push > counter=%d (uid=%d)\n",node_counter,((espeak_EVENT*)the_data)->unique_identifier); | SHOW("event > push > counter=%d (uid=%d)\n",node_counter,((espeak_EVENT*)the_data)->unique_identifier); | ||||
| return EE_OK; | return EE_OK; | ||||
| } | } | ||||
| { | { | ||||
| ENTER("event > pop"); | ENTER("event > pop"); | ||||
| void* the_data = NULL; | void* the_data = NULL; | ||||
| assert((!head && !tail) || (head && tail)); | assert((!head && !tail) || (head && tail)); | ||||
| if (head != NULL) | if (head != NULL) | ||||
| { | { | ||||
| node* n = head; | node* n = head; | ||||
| node_counter--; | node_counter--; | ||||
| SHOW("event > pop > event=0x%x (counter=%d, uid=%d)\n",the_data, node_counter,((espeak_EVENT*)the_data)->unique_identifier); | SHOW("event > pop > event=0x%x (counter=%d, uid=%d)\n",the_data, node_counter,((espeak_EVENT*)the_data)->unique_identifier); | ||||
| } | } | ||||
| if(head == NULL) | if(head == NULL) | ||||
| { | { | ||||
| tail = NULL; | tail = NULL; | ||||
| } | } | ||||
| return the_data; | return the_data; | ||||
| } | } | ||||
| static void init() | static void init() | ||||
| { | { | ||||
| ENTER("event > init"); | ENTER("event > init"); | ||||
| while (event_delete( (espeak_EVENT*)pop() )) | while (event_delete( (espeak_EVENT*)pop() )) | ||||
| {} | {} | ||||
| node_counter = 0; | node_counter = 0; | ||||
| } | } | ||||
| void event_terminate() | void event_terminate() | ||||
| { | { | ||||
| ENTER("event_terminate"); | ENTER("event_terminate"); | ||||
| if (my_thread) | if (my_thread) | ||||
| { | { | ||||
| pthread_cancel(my_thread); | pthread_cancel(my_thread); |
| //> | //> | ||||
| //<decls and function prototypes | //<decls and function prototypes | ||||
| // my_mutex: protects my_thread_is_talking, | |||||
| // my_mutex: protects my_thread_is_talking, | |||||
| // my_stop_is_required, and the command fifo | // my_stop_is_required, and the command fifo | ||||
| static pthread_mutex_t my_mutex; | static pthread_mutex_t my_mutex; | ||||
| static int my_command_is_running = 0; | static int my_command_is_running = 0; | ||||
| // + fifo | // + fifo | ||||
| // | // | ||||
| // my_thread: reads commands from the fifo, and runs them. | |||||
| // my_thread: reads commands from the fifo, and runs them. | |||||
| static pthread_t my_thread; | static pthread_t my_thread; | ||||
| static sem_t my_sem_start_is_required; | static sem_t my_sem_start_is_required; | ||||
| static sem_t my_sem_stop_is_acknowledged; | static sem_t my_sem_stop_is_acknowledged; | ||||
| assert(-1 != sem_init(&my_sem_start_is_required, 0, 0)); | assert(-1 != sem_init(&my_sem_start_is_required, 0, 0)); | ||||
| assert(-1 != sem_init(&my_sem_stop_is_acknowledged, 0, 0)); | assert(-1 != sem_init(&my_sem_stop_is_acknowledged, 0, 0)); | ||||
| pthread_attr_t a_attrib; | |||||
| pthread_attr_t a_attrib; | |||||
| if (pthread_attr_init (& a_attrib) | if (pthread_attr_init (& a_attrib) | ||||
| || pthread_attr_setdetachstate(&a_attrib, PTHREAD_CREATE_JOINABLE) | || pthread_attr_setdetachstate(&a_attrib, PTHREAD_CREATE_JOINABLE) | ||||
| || pthread_create( &my_thread, | |||||
| & a_attrib, | |||||
| say_thread, | |||||
| || pthread_create( &my_thread, | |||||
| & a_attrib, | |||||
| say_thread, | |||||
| (void*)NULL)) | (void*)NULL)) | ||||
| { | { | ||||
| assert(0); | assert(0); | ||||
| espeak_ERROR fifo_add_command (t_espeak_command* the_command) | espeak_ERROR fifo_add_command (t_espeak_command* the_command) | ||||
| { | { | ||||
| ENTER("fifo_add_command"); | ENTER("fifo_add_command"); | ||||
| int a_status = pthread_mutex_lock(&my_mutex); | |||||
| int a_status = pthread_mutex_lock(&my_mutex); | |||||
| espeak_ERROR a_error = EE_OK; | espeak_ERROR a_error = EE_OK; | ||||
| if (!a_status) | if (!a_status) | ||||
| if (!a_status && !my_command_is_running && (a_error == EE_OK)) | if (!a_status && !my_command_is_running && (a_error == EE_OK)) | ||||
| { | { | ||||
| // quit when command is actually started | |||||
| // quit when command is actually started | |||||
| // (for possible forthcoming 'end of command' checks) | // (for possible forthcoming 'end of command' checks) | ||||
| SHOW_TIME("fifo_add_command > post my_sem_start_is_required\n"); | SHOW_TIME("fifo_add_command > post my_sem_start_is_required\n"); | ||||
| sem_post(&my_sem_start_is_required); | sem_post(&my_sem_start_is_required); | ||||
| int val=1; | int val=1; | ||||
| while (val) | |||||
| while (val > 0) | |||||
| { | { | ||||
| usleep(50000); // TBD: event? | usleep(50000); // TBD: event? | ||||
| sem_getvalue(&my_sem_start_is_required, &val); | sem_getvalue(&my_sem_start_is_required, &val); | ||||
| espeak_ERROR fifo_add_commands (t_espeak_command* command1, t_espeak_command* command2) | espeak_ERROR fifo_add_commands (t_espeak_command* command1, t_espeak_command* command2) | ||||
| { | { | ||||
| ENTER("fifo_add_command"); | ENTER("fifo_add_command"); | ||||
| int a_status = pthread_mutex_lock(&my_mutex); | |||||
| int a_status = pthread_mutex_lock(&my_mutex); | |||||
| espeak_ERROR a_error = EE_OK; | espeak_ERROR a_error = EE_OK; | ||||
| if (!a_status) | if (!a_status) | ||||
| if (!a_status && !my_command_is_running && (a_error == EE_OK)) | if (!a_status && !my_command_is_running && (a_error == EE_OK)) | ||||
| { | { | ||||
| // quit when one command is actually started | |||||
| // quit when one command is actually started | |||||
| // (for possible forthcoming 'end of command' checks) | // (for possible forthcoming 'end of command' checks) | ||||
| SHOW_TIME("fifo_add_command > post my_sem_start_is_required\n"); | SHOW_TIME("fifo_add_command > post my_sem_start_is_required\n"); | ||||
| sem_post(&my_sem_start_is_required); | sem_post(&my_sem_start_is_required); | ||||
| int val=1; | int val=1; | ||||
| while (val) | |||||
| while (val > 0) | |||||
| { | { | ||||
| usleep(50000); // TBD: event? | usleep(50000); // TBD: event? | ||||
| sem_getvalue(&my_sem_start_is_required, &val); | sem_getvalue(&my_sem_start_is_required, &val); | ||||
| int a_start_is_required=0; | int a_start_is_required=0; | ||||
| // Wait for the start request (my_sem_start_is_required). | // Wait for the start request (my_sem_start_is_required). | ||||
| // Besides this, if the audio stream is still busy, | |||||
| // check from time to time its end. | |||||
| // The end of the stream is confirmed by several checks | |||||
| // Besides this, if the audio stream is still busy, | |||||
| // check from time to time its end. | |||||
| // The end of the stream is confirmed by several checks | |||||
| // for filtering underflow. | // for filtering underflow. | ||||
| // | // | ||||
| int i=0; | int i=0; | ||||
| add_time_in_ms( &ts, INACTIVITY_TIMEOUT); | add_time_in_ms( &ts, INACTIVITY_TIMEOUT); | ||||
| SHOW("fifo > sleep_until_start_request_or_inactivity > start sem_timedwait (start_is_required) from %d.%09lu to %d.%09lu \n", | |||||
| SHOW("fifo > sleep_until_start_request_or_inactivity > start sem_timedwait (start_is_required) from %d.%09lu to %d.%09lu \n", | |||||
| to.tv_sec, to.tv_nsec, | to.tv_sec, to.tv_nsec, | ||||
| ts.tv_sec, ts.tv_nsec); | ts.tv_sec, ts.tv_nsec); | ||||
| while ((err = sem_timedwait(&my_sem_start_is_required, &ts)) == -1 | |||||
| while ((err = sem_timedwait(&my_sem_start_is_required, &ts)) == -1 | |||||
| && errno == EINTR) | && errno == EINTR) | ||||
| { | { | ||||
| continue; | continue; | ||||
| } | } | ||||
| assert (gettimeofday(&tv, NULL) != -1); | assert (gettimeofday(&tv, NULL) != -1); | ||||
| SHOW("fifo > sleep_until_start_request_or_inactivity > stop sem_timedwait (start_is_required, err=%d) %d.%09lu \n", err, | |||||
| SHOW("fifo > sleep_until_start_request_or_inactivity > stop sem_timedwait (start_is_required, err=%d) %d.%09lu \n", err, | |||||
| tv.tv_sec, tv.tv_usec*1000); | tv.tv_sec, tv.tv_usec*1000); | ||||
| if (err==0) | if (err==0) | ||||
| { | { | ||||
| SHOW_TIME("fifo > close_stream > ENTER\n"); | SHOW_TIME("fifo > close_stream > ENTER\n"); | ||||
| // Warning: a wave_close can be already required by | |||||
| // an external command (espeak_Cancel + fifo_stop), if so: | |||||
| // Warning: a wave_close can be already required by | |||||
| // an external command (espeak_Cancel + fifo_stop), if so: | |||||
| // my_stop_is_required = 1; | // my_stop_is_required = 1; | ||||
| int a_status = pthread_mutex_lock(&my_mutex); | int a_status = pthread_mutex_lock(&my_mutex); | ||||
| a_stop_is_required = my_stop_is_required; | a_stop_is_required = my_stop_is_required; | ||||
| a_status = pthread_mutex_unlock(&my_mutex); | a_status = pthread_mutex_unlock(&my_mutex); | ||||
| if (a_stop_is_required) | if (a_stop_is_required) | ||||
| { | { | ||||
| // acknowledge the stop request | // acknowledge the stop request | ||||
| }; | }; | ||||
| if (my_stop_is_required) | if (my_stop_is_required) | ||||
| { | |||||
| { | |||||
| SHOW_TIME("say_thread > my_command_is_running = 0\n"); | SHOW_TIME("say_thread > my_command_is_running = 0\n"); | ||||
| my_command_is_running = 0; | my_command_is_running = 0; | ||||
| } | } | ||||
| } | } | ||||
| if (my_stop_is_required) | if (my_stop_is_required) | ||||
| { | |||||
| { | |||||
| // no mutex required since the stop command is synchronous | // no mutex required since the stop command is synchronous | ||||
| // and waiting for my_sem_stop_is_acknowledged | // and waiting for my_sem_stop_is_acknowledged | ||||
| init(1); | init(1); | ||||
| while(0==sem_trywait(&my_sem_start_is_required)) | while(0==sem_trywait(&my_sem_start_is_required)) | ||||
| { | { | ||||
| }; | }; | ||||
| // acknowledge the stop request | // acknowledge the stop request | ||||
| SHOW_TIME("say_thread > post my_sem_stop_is_acknowledged\n"); | SHOW_TIME("say_thread > post my_sem_stop_is_acknowledged\n"); | ||||
| int a_status = sem_post(&my_sem_stop_is_acknowledged); | int a_status = sem_post(&my_sem_stop_is_acknowledged); | ||||
| assert( a_status != -1); | assert( a_status != -1); | ||||
| } | } | ||||
| // and wait for the next start | // and wait for the next start | ||||
| SHOW_TIME("say_thread > wait for my_sem_start_is_required\n"); | |||||
| SHOW_TIME("say_thread > wait for my_sem_start_is_required\n"); | |||||
| } | } | ||||
| return NULL; | return NULL; | ||||
| } | } | ||||
| { | { | ||||
| return EE_INTERNAL_ERROR; | return EE_INTERNAL_ERROR; | ||||
| } | } | ||||
| if (head == NULL) | if (head == NULL) | ||||
| { | { | ||||
| head = n; | head = n; | ||||
| tail->next = n; | tail->next = n; | ||||
| tail = n; | tail = n; | ||||
| } | } | ||||
| tail->next = NULL; | tail->next = NULL; | ||||
| tail->data = the_command; | tail->data = the_command; | ||||
| } | } | ||||
| display_espeak_command(the_command); | display_espeak_command(the_command); | ||||
| return the_command; | return the_command; | ||||
| } | } | ||||
| number_body = 0; | number_body = 0; | ||||
| number_tail = 0; /* number between tonic syllable and next primary */ | number_tail = 0; /* number between tonic syllable and next primary */ | ||||
| last_primary = -1; | last_primary = -1; | ||||
| for(ix=start; ix<end; ix++) | for(ix=start; ix<end; ix++) | ||||
| { | { | ||||
| stress = syllable_tab[ix].stress; /* marked stress level */ | stress = syllable_tab[ix].stress; /* marked stress level */ | ||||
| n_steps = count_increments(syl_ix+1, head_final, 4); | n_steps = count_increments(syl_ix+1, head_final, 4); | ||||
| pitch = tune->onset << 8; | pitch = tune->onset << 8; | ||||
| used_onset = 1; | used_onset = 1; | ||||
| } | |||||
| } | |||||
| if(n_steps > tune->head_max_steps) | if(n_steps > tune->head_max_steps) | ||||
| n_steps = tune->head_max_steps; | n_steps = tune->head_max_steps; | ||||
| n_primary--; | n_primary--; | ||||
| if((tn->backwards) && (n_primary < 2)) | if((tn->backwards) && (n_primary < 2)) | ||||
| { | { | ||||
| pitch = tn->backwards[n_primary] << 8; | |||||
| pitch = tn->backwards[n_primary] << 8; | |||||
| } | } | ||||
| } | } | ||||
| if(n_increments <= 0) | if(n_increments <= 0) | ||||
| return; | return; | ||||
| if(n_increments > 1) | if(n_increments > 1) | ||||
| { | { | ||||
| increment = increment / n_increments; | increment = increment / n_increments; | ||||
| if(option_tone_flags & OPTION_EMPHASIZE_PENULTIMATE) | if(option_tone_flags & OPTION_EMPHASIZE_PENULTIMATE) | ||||
| { | { | ||||
| tone_posn = tone_posn2; // put tone on the penultimate stressed word | |||||
| tone_posn = tone_posn2; // put tone on the penultimate stressed word | |||||
| } | } | ||||
| ix = SetHeadIntonation(tune, ix, tone_posn, 0); | ix = SetHeadIntonation(tune, ix, tone_posn, 0); | ||||
| /* tonic syllable */ | /* tonic syllable */ | ||||
| /******************/ | /******************/ | ||||
| // if(tn->flags & T_EMPH) | // if(tn->flags & T_EMPH) | ||||
| // { | // { | ||||
| // syllable_tab[ix].flags |= SYL_EMPHASIS; | // syllable_tab[ix].flags |= SYL_EMPHASIS; | ||||
| /* tail, after the tonic syllable */ | /* tail, after the tonic syllable */ | ||||
| /**********************************/ | /**********************************/ | ||||
| SetPitchGradient(ix, end, tune->tail_start, tune->tail_end); | SetPitchGradient(ix, end, tune->tail_start, tune->tail_end); | ||||
| return(tone_pitch_env); | return(tone_pitch_env); | ||||
| if(option_tone_flags & OPTION_EMPHASIZE_PENULTIMATE) | if(option_tone_flags & OPTION_EMPHASIZE_PENULTIMATE) | ||||
| { | { | ||||
| tone_posn = tone_posn2; // put tone on the penultimate stressed word | |||||
| tone_posn = tone_posn2; // put tone on the penultimate stressed word | |||||
| } | } | ||||
| ix = calc_pitch_segment(ix,tone_posn, th, tn, PRIMARY, continuing); | ix = calc_pitch_segment(ix,tone_posn, th, tn, PRIMARY, continuing); | ||||
| // ix = SetBodyIntonation(&tunes[0], ix, tone_posn, 0); | // ix = SetBodyIntonation(&tunes[0], ix, tone_posn, 0); | ||||
| /* tonic syllable */ | /* tonic syllable */ | ||||
| /******************/ | /******************/ | ||||
| if(tn->flags & T_EMPH) | if(tn->flags & T_EMPH) | ||||
| { | { | ||||
| syllable_tab[ix].flags |= SYL_EMPHASIS; | syllable_tab[ix].flags |= SYL_EMPHASIS; | ||||
| /* tail, after the tonic syllable */ | /* tail, after the tonic syllable */ | ||||
| /**********************************/ | /**********************************/ | ||||
| SetPitchGradient(ix, end, tn->tail_start, tn->tail_end); | SetPitchGradient(ix, end, tn->tail_start, tn->tail_end); | ||||
| return(tone_pitch_env); | return(tone_pitch_env); | ||||
| if(tph->mnemonic == 0x343132) // [214] | if(tph->mnemonic == 0x343132) // [214] | ||||
| prev_p->tone_ph = PhonemeCode2('3','5'); | prev_p->tone_ph = PhonemeCode2('3','5'); | ||||
| else | else | ||||
| prev_p->tone_ph = PhonemeCode2('2','1'); | |||||
| prev_p->tone_ph = PhonemeCode2('2','1'); | |||||
| } | } | ||||
| if((prev_tph->mnemonic == 0x3135) && (tph->mnemonic == 0x3135)) // [51] + [51] | if((prev_tph->mnemonic == 0x3135) && (tph->mnemonic == 0x3135)) // [51] + [51] | ||||
| { | { | ||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| group_tone = tr->punct_to_tone[option][clause_type]; | |||||
| group_tone = tr->punct_to_tone[option][clause_type]; | |||||
| group_tone_emph = tr->punct_to_tone[option][5]; // emphatic form of statement | group_tone_emph = tr->punct_to_tone[option][5]; // emphatic form of statement | ||||
| group_tone_comma = tr->punct_to_tone[option][1]; // emphatic form of statement | group_tone_comma = tr->punct_to_tone[option][1]; // emphatic form of statement | ||||
| } | } | ||||
| calc_pitches(option, st_start, st_ix, group_tone); | calc_pitches(option, st_start, st_ix, group_tone); | ||||
| } | } | ||||
| // unpack pitch data | // unpack pitch data | ||||
| st_ix=0; | st_ix=0; | ||||
| for(ix=ph_start; ix < ph_end; ix++) | for(ix=ph_start; ix < ph_end; ix++) | ||||
| { | { | ||||
| p = &phoneme_list[ix]; | p = &phoneme_list[ix]; | ||||
| p->stresslevel = syllable_tab[st_ix].stress; | p->stresslevel = syllable_tab[st_ix].stress; | ||||
| if(p->synthflags & SFLAG_SYLLABLE) | if(p->synthflags & SFLAG_SYLLABLE) | ||||
| { | { | ||||
| syl = &syllable_tab[st_ix]; | syl = &syllable_tab[st_ix]; | ||||
| { | { | ||||
| p->stresslevel |= 8; // emphasized | p->stresslevel |= 8; // emphasized | ||||
| } | } | ||||
| st_ix++; | st_ix++; | ||||
| } | } | ||||
| } | } | ||||
| } // end of CalcPitches | } // end of CalcPitches | ||||
| // speak in the language for this alphabet (or English) | // speak in the language for this alphabet (or English) | ||||
| ph_buf[2] = SetTranslator2(WordToString2(language)); | ph_buf[2] = SetTranslator2(WordToString2(language)); | ||||
| if(((code = letter - 0xac00) >= 0) && (letter <= 0xd7af)) | |||||
| if(translator2 != NULL) | |||||
| { | { | ||||
| // Special case for Korean letters. | |||||
| // break a syllable hangul into 2 or 3 individual jamo | |||||
| if(((code = letter - 0xac00) >= 0) && (letter <= 0xd7af)) | |||||
| { | |||||
| // Special case for Korean letters. | |||||
| // break a syllable hangul into 2 or 3 individual jamo | |||||
| hangul_buf[0] = ' '; | |||||
| p3 = &hangul_buf[1]; | |||||
| if((initial = (code/28)/21) != 11) | |||||
| hangul_buf[0] = ' '; | |||||
| p3 = &hangul_buf[1]; | |||||
| if((initial = (code/28)/21) != 11) | |||||
| { | |||||
| p3 += utf8_out(initial + 0x1100, p3); | |||||
| } | |||||
| utf8_out(((code/28) % 21) + 0x1161, p3); // medial | |||||
| utf8_out((code % 28) + 0x11a7, &p3[3]); // final | |||||
| p3[6] = ' '; | |||||
| p3[7] = 0; | |||||
| ph_buf[3] = 0; | |||||
| TranslateRules(translator2, &hangul_buf[1], &ph_buf[3], sizeof(ph_buf)-3, NULL, 0, NULL); | |||||
| SetWordStress(translator2, &ph_buf[3], NULL, -1, 0); | |||||
| } | |||||
| else | |||||
| { | { | ||||
| p3 += utf8_out(initial + 0x1100, p3); | |||||
| LookupLetter(translator2, letter, word[n_bytes], &ph_buf[3], control & 1); | |||||
| } | } | ||||
| utf8_out(((code/28) % 21) + 0x1161, p3); // medial | |||||
| utf8_out((code % 28) + 0x11a7, &p3[3]); // final | |||||
| p3[6] = ' '; | |||||
| p3[7] = 0; | |||||
| ph_buf[3] = 0; | |||||
| TranslateRules(translator2, &hangul_buf[1], &ph_buf[3], sizeof(ph_buf)-3, NULL, 0, NULL); | |||||
| SetWordStress(translator2, &ph_buf[3], NULL, -1, 0); | |||||
| } | |||||
| else | |||||
| { | |||||
| LookupLetter(translator2, letter, word[n_bytes], &ph_buf[3], control & 1); | |||||
| } | |||||
| if(ph_buf[3] == phonSWITCH) | |||||
| { | |||||
| // another level of language change | |||||
| ph_buf[2] = SetTranslator2(&ph_buf[4]); | |||||
| LookupLetter(translator2, letter, word[n_bytes], &ph_buf[3], control & 1); | |||||
| } | |||||
| if(ph_buf[3] == phonSWITCH) | |||||
| { | |||||
| // another level of language change | |||||
| ph_buf[2] = SetTranslator2(&ph_buf[4]); | |||||
| LookupLetter(translator2, letter, word[n_bytes], &ph_buf[3], control & 1); | |||||
| } | |||||
| SelectPhonemeTable(voice->phoneme_tab_ix); // revert to original phoneme table | |||||
| SelectPhonemeTable(voice->phoneme_tab_ix); // revert to original phoneme table | |||||
| if(ph_buf[3] != 0) | |||||
| { | |||||
| ph_buf[0] = phonPAUSE; | |||||
| ph_buf[1] = phonSWITCH; | |||||
| len = strlen(&ph_buf[3]) + 3; | |||||
| ph_buf[len] = phonSWITCH; // switch back | |||||
| ph_buf[len+1] = tr->phoneme_tab_ix; | |||||
| ph_buf[len+2] = 0; | |||||
| if(ph_buf[3] != 0) | |||||
| { | |||||
| ph_buf[0] = phonPAUSE; | |||||
| ph_buf[1] = phonSWITCH; | |||||
| len = strlen(&ph_buf[3]) + 3; | |||||
| ph_buf[len] = phonSWITCH; // switch back | |||||
| ph_buf[len+1] = tr->phoneme_tab_ix; | |||||
| ph_buf[len+2] = 0; | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| } | } |
| static void ProcessParamStack(char *outbuf, int &outix) | |||||
| static void ProcessParamStack(char *outbuf, int *outix) | |||||
| {//==================================================== | {//==================================================== | ||||
| // Set the speech parameters from the parameter stack | // Set the speech parameters from the parameter stack | ||||
| int param; | int param; | ||||
| } | } | ||||
| speech_parameters[param] = new_parameters[param]; | speech_parameters[param] = new_parameters[param]; | ||||
| strcpy(&outbuf[outix],buf); | |||||
| outix += strlen(buf); | |||||
| strcpy(&outbuf[*outix],buf); | |||||
| *outix += strlen(buf); | |||||
| } | } | ||||
| } | } | ||||
| } // end of ProcessParamStack | } // end of ProcessParamStack | ||||
| } // end of PushParamStack | } // end of PushParamStack | ||||
| static void PopParamStack(int tag_type, char *outbuf, int &outix) | |||||
| static void PopParamStack(int tag_type, char *outbuf, int *outix) | |||||
| {//============================================================== | {//============================================================== | ||||
| // unwind the stack up to and including the previous tag of this type | // unwind the stack up to and including the previous tag of this type | ||||
| int ix; | int ix; | ||||
| if((tail[0]=='s') && (tail[1]=='t')) | if((tail[0]=='s') && (tail[1]=='t')) | ||||
| { | { | ||||
| #ifdef PLATFORM_RISCOS | |||||
| *value_out = 100; | |||||
| #else | |||||
| double x; | double x; | ||||
| // convert from semitones to a frequency percentage | // convert from semitones to a frequency percentage | ||||
| x = pow(double(2.0),double((value*sign)/12)) * 100; | |||||
| x = pow((double)2.0,(double)((value*sign)/12)) * 100; | |||||
| *value_out = (int)x; | *value_out = (int)x; | ||||
| #endif | |||||
| return(2); // percentage | return(2); // percentage | ||||
| } | } | ||||
| } // end of SetProsodyParemeter | } // end of SetProsodyParemeter | ||||
| static int ReplaceKeyName(char *outbuf, int index, int &outix) | |||||
| static int ReplaceKeyName(char *outbuf, int index, int *outix) | |||||
| {//=========================================================== | {//=========================================================== | ||||
| // Replace some key-names by single characters, so they can be pronounced in different languages | // Replace some key-names by single characters, so they can be pronounced in different languages | ||||
| static MNEM_TAB keynames[] = { | static MNEM_TAB keynames[] = { | ||||
| if((letter = LookupMnem(keynames, p)) != 0) | if((letter = LookupMnem(keynames, p)) != 0) | ||||
| { | { | ||||
| ix = utf8_out(letter, p); | ix = utf8_out(letter, p); | ||||
| outix = index + ix; | |||||
| *outix = index + ix; | |||||
| return(letter); | return(letter); | ||||
| } | } | ||||
| return(0); | return(0); | ||||
| } | } | ||||
| static int ProcessSsmlTag(wchar_t *xml_buf, char *outbuf, int &outix, int n_outbuf, int self_closing) | |||||
| static int ProcessSsmlTag(wchar_t *xml_buf, char *outbuf, int *outix, int n_outbuf, int self_closing) | |||||
| {//================================================================================================== | {//================================================================================================== | ||||
| // xml_buf is the tag and attributes with a zero terminator in place of the original '>' | // xml_buf is the tag and attributes with a zero terminator in place of the original '>' | ||||
| // returns a clause terminator value. | // returns a clause terminator value. | ||||
| // closing tag | // closing tag | ||||
| if((tag_type = LookupMnem(ssmltags,&tag_name[1])) != HTML_NOSPACE) | if((tag_type = LookupMnem(ssmltags,&tag_name[1])) != HTML_NOSPACE) | ||||
| { | { | ||||
| outbuf[outix++] = ' '; | |||||
| outbuf[(*outix)++] = ' '; | |||||
| } | } | ||||
| tag_type += SSML_CLOSE; | tag_type += SSML_CLOSE; | ||||
| } | } | ||||
| if((tag_type = LookupMnem(ssmltags,tag_name)) != HTML_NOSPACE) | if((tag_type = LookupMnem(ssmltags,tag_name)) != HTML_NOSPACE) | ||||
| { | { | ||||
| // separate SSML tags from the previous word (but not HMTL tags such as <b> <font> which can occur inside a word) | // separate SSML tags from the previous word (but not HMTL tags such as <b> <font> which can occur inside a word) | ||||
| outbuf[outix++] = ' '; | |||||
| outbuf[(*outix)++] = ' '; | |||||
| } | } | ||||
| if(self_closing && ignore_if_self_closing[tag_type]) | if(self_closing && ignore_if_self_closing[tag_type]) | ||||
| } | } | ||||
| sprintf(buf,"%c%dY",CTRL_EMBEDDED,value); | sprintf(buf,"%c%dY",CTRL_EMBEDDED,value); | ||||
| strcpy(&outbuf[outix],buf); | |||||
| outix += strlen(buf); | |||||
| strcpy(&outbuf[*outix],buf); | |||||
| *outix += strlen(buf); | |||||
| sayas_start = outix; | |||||
| sayas_start = *outix; | |||||
| sayas_mode = value; // punctuation doesn't end clause during SAY-AS | sayas_mode = value; // punctuation doesn't end clause during SAY-AS | ||||
| break; | break; | ||||
| case SSML_SAYAS + SSML_CLOSE: | case SSML_SAYAS + SSML_CLOSE: | ||||
| if(sayas_mode == SAYAS_KEY) | if(sayas_mode == SAYAS_KEY) | ||||
| { | { | ||||
| outbuf[outix] = 0; | |||||
| outbuf[*outix] = 0; | |||||
| ReplaceKeyName(outbuf, sayas_start, outix); | ReplaceKeyName(outbuf, sayas_start, outix); | ||||
| } | } | ||||
| outbuf[outix++] = CTRL_EMBEDDED; | |||||
| outbuf[outix++] = 'Y'; | |||||
| outbuf[(*outix)++] = CTRL_EMBEDDED; | |||||
| outbuf[(*outix)++] = 'Y'; | |||||
| sayas_mode = 0; | sayas_mode = 0; | ||||
| break; | break; | ||||
| { | { | ||||
| // use the alias rather than the text | // use the alias rather than the text | ||||
| ignore_text = 1; | ignore_text = 1; | ||||
| outix += attrcopy_utf8(&outbuf[outix],attr1,n_outbuf-outix); | |||||
| *outix += attrcopy_utf8(&outbuf[*outix],attr1,n_outbuf-*outix); | |||||
| } | } | ||||
| break; | break; | ||||
| if((index = AddNameData(buf,0)) >= 0) | if((index = AddNameData(buf,0)) >= 0) | ||||
| { | { | ||||
| sprintf(buf,"%c%dM",CTRL_EMBEDDED,index); | sprintf(buf,"%c%dM",CTRL_EMBEDDED,index); | ||||
| strcpy(&outbuf[outix],buf); | |||||
| outix += strlen(buf); | |||||
| strcpy(&outbuf[*outix],buf); | |||||
| *outix += strlen(buf); | |||||
| } | } | ||||
| } | } | ||||
| break; | break; | ||||
| if(index >= 0) | if(index >= 0) | ||||
| { | { | ||||
| sprintf(buf,"%c%dI",CTRL_EMBEDDED,index); | sprintf(buf,"%c%dI",CTRL_EMBEDDED,index); | ||||
| strcpy(&outbuf[outix],buf); | |||||
| outix += strlen(buf); | |||||
| strcpy(&outbuf[*outix],buf); | |||||
| *outix += strlen(buf); | |||||
| sp->parameter[espeakSILENCE] = 1; | sp->parameter[espeakSILENCE] = 1; | ||||
| } | } | ||||
| } | } | ||||
| if(uri_callback(1,uri,xmlbase) == 0) | if(uri_callback(1,uri,xmlbase) == 0) | ||||
| { | { | ||||
| sprintf(buf,"%c%dU",CTRL_EMBEDDED,index); | sprintf(buf,"%c%dU",CTRL_EMBEDDED,index); | ||||
| strcpy(&outbuf[outix],buf); | |||||
| outix += strlen(buf); | |||||
| strcpy(&outbuf[*outix],buf); | |||||
| *outix += strlen(buf); | |||||
| sp->parameter[espeakSILENCE] = 1; | sp->parameter[espeakSILENCE] = 1; | ||||
| } | } | ||||
| } | } | ||||
| if(value < 3) | if(value < 3) | ||||
| { | { | ||||
| // adjust prepause on the following word | // adjust prepause on the following word | ||||
| sprintf(&outbuf[outix],"%c%dB",CTRL_EMBEDDED,value); | |||||
| outix += 3; | |||||
| sprintf(&outbuf[*outix],"%c%dB",CTRL_EMBEDDED,value); | |||||
| *outix += 3; | |||||
| terminator = 0; | terminator = 0; | ||||
| } | } | ||||
| value = break_value[value]; | value = break_value[value]; | ||||
| self_closing = 1; | self_closing = 1; | ||||
| } | } | ||||
| terminator = ProcessSsmlTag(xml_buf,buf,ix,n_buf,self_closing); | |||||
| terminator = ProcessSsmlTag(xml_buf,buf,&ix,n_buf,self_closing); | |||||
| if(terminator != 0) | if(terminator != 0) | ||||
| { | { |
| "--split=\"<minutes>\"\n" | "--split=\"<minutes>\"\n" | ||||
| "\t Starts a new WAV file every <minutes>. Used with -w\n" | "\t Starts a new WAV file every <minutes>. Used with -w\n" | ||||
| "--stdout Write speech output to stdout\n" | "--stdout Write speech output to stdout\n" | ||||
| "--version Shows version number and date, and location of espeak-data\n" | |||||
| "--voices=<language>\n" | "--voices=<language>\n" | ||||
| "\t List the available voices for the specified language.\n" | "\t List the available voices for the specified language.\n" | ||||
| "\t If <language> is omitted, then list all voices.\n"; | "\t If <language> is omitted, then list all voices.\n"; |
| #ifdef PLATFORM_RISCOS | #ifdef PLATFORM_RISCOS | ||||
| setlocale(LC_CTYPE,"ISO8859-1"); | setlocale(LC_CTYPE,"ISO8859-1"); | ||||
| #else | #else | ||||
| if(setlocale(LC_CTYPE,"en_US.UTF-8") == NULL) | |||||
| if(setlocale(LC_CTYPE,"C.UTF-8") == NULL) | |||||
| { | { | ||||
| if(setlocale(LC_CTYPE,"UTF-8") == NULL) | if(setlocale(LC_CTYPE,"UTF-8") == NULL) | ||||
| setlocale(LC_CTYPE,""); | |||||
| if(setlocale(LC_CTYPE,"en_US.UTF-8") == NULL) | |||||
| setlocale(LC_CTYPE,""); | |||||
| } | } | ||||
| #endif | #endif | ||||
| espeakENDPAUSE If set then a sentence pause is added at the end of the text. If not set then | espeakENDPAUSE If set then a sentence pause is added at the end of the text. If not set then | ||||
| this pause is suppressed. | this pause is suppressed. | ||||
| unique_identifier: message identifier; helpful for identifying later | |||||
| data supplied to the callback. | |||||
| unique_identifier: This must be either NULL, or point to an integer variable to | |||||
| which eSpeak writes a message identifier number. | |||||
| eSpeak includes this number in espeak_EVENT messages which are the result of | |||||
| this call of espeak_Synth(). | |||||
| user_data: pointer which will be passed to the callback function. | |||||
| user_data: a pointer (or NULL) which will be passed to the callback function in | |||||
| espeak_EVENT messages. | |||||
| Return: EE_OK: operation achieved | Return: EE_OK: operation achieved | ||||
| EE_BUFFER_FULL: the command can not be buffered; | EE_BUFFER_FULL: the command can not be buffered; |
| break; | break; | ||||
| case '[': // width-- | case '[': // width-- | ||||
| pk->pkright -= 1; | |||||
| pk->pkright -= 10; | |||||
| if(pk->pkright < 0) | if(pk->pkright < 0) | ||||
| pk->pkright = 0; | pk->pkright = 0; | ||||
| display = 1; | display = 1; | ||||
| break; | break; | ||||
| case ']': // width++ | case ']': // width++ | ||||
| pk->pkright += 1; | |||||
| pk->pkright += 10; | |||||
| display = 1; | |||||
| field = 4; | |||||
| break; | |||||
| case '{': // width-- | |||||
| pk->pkright -= 2; | |||||
| if(pk->pkright < 0) | |||||
| pk->pkright = 0; | |||||
| display = 1; | |||||
| field = 4; | |||||
| break; | |||||
| case '}': // width++ | |||||
| pk->pkright += 2; | |||||
| display = 1; | display = 1; | ||||
| field = 4; | field = 4; | ||||
| break; | break; |
| //#define USE_PORTAUDIO | //#define USE_PORTAUDIO | ||||
| //#define USE_PULSEAUDIO | //#define USE_PULSEAUDIO | ||||
| #define USE_NANOSLEEP | #define USE_NANOSLEEP | ||||
| #define __cdecl | |||||
| #define __cdecl | |||||
| //#define ESPEAK_API extern "C" | //#define ESPEAK_API extern "C" | ||||
| #ifdef LIBRARY | #ifdef LIBRARY |
| #include "translate.h" | #include "translate.h" | ||||
| #include "wave.h" | #include "wave.h" | ||||
| const char *version_string = "1.47.11d 11.Jun.13"; | |||||
| const char *version_string = "1.47.12 23.Sep.13"; | |||||
| const int version_phdata = 0x014709; | const int version_phdata = 0x014709; | ||||
| int option_device_number = -1; | int option_device_number = -1; | ||||
| int vowel_transition0; | int vowel_transition0; | ||||
| int vowel_transition1; | int vowel_transition1; | ||||
| int FormantTransition2(frameref_t *seq, int &n_frames, unsigned int data1, unsigned int data2, PHONEME_TAB *other_ph, int which); | |||||
| int FormantTransition2(frameref_t *seq, int *n_frames, unsigned int data1, unsigned int data2, PHONEME_TAB *other_ph, int which); | |||||
| // do we need to modify a frame for blending with a consonant? | // do we need to modify a frame for blending with a consonant? | ||||
| if((this_ph->type == phVOWEL) && (fmt_params->fmt2_addr == 0) && (fmt_params->use_vowelin)) | if((this_ph->type == phVOWEL) && (fmt_params->fmt2_addr == 0) && (fmt_params->use_vowelin)) | ||||
| { | { | ||||
| seq_len_adjust += FormantTransition2(frames,nf,fmt_params->transition0,fmt_params->transition1,NULL,which); | |||||
| seq_len_adjust += FormantTransition2(frames,&nf,fmt_params->transition0,fmt_params->transition1,NULL,which); | |||||
| } | } | ||||
| length1 = 0; | length1 = 0; |
| q = wcmdq[wcmdq_tail]; | q = wcmdq[wcmdq_tail]; | ||||
| q[0] = WCMD_WAVE2; | q[0] = WCMD_WAVE2; | ||||
| q[1] = length | (wav_length << 16); // length in samples | q[1] = length | (wav_length << 16); // length in samples | ||||
| q[2] = long64(&wavefile_data[index]); | |||||
| q[2] = (long64)(&wavefile_data[index]); | |||||
| q[3] = wav_scale + (amp << 8); | q[3] = wav_scale + (amp << 8); | ||||
| WcmdqInc(); | WcmdqInc(); | ||||
| return(length); | return(length); | ||||
| q = wcmdq[wcmdq_tail]; | q = wcmdq[wcmdq_tail]; | ||||
| q[0] = WCMD_WAVE; | q[0] = WCMD_WAVE; | ||||
| q[1] = x; // length in samples | q[1] = x; // length in samples | ||||
| q[2] = long64(&wavefile_data[index]); | |||||
| q[2] = (long64)(&wavefile_data[index]); | |||||
| q[3] = wav_scale + (amp << 8); | q[3] = wav_scale + (amp << 8); | ||||
| WcmdqInc(); | WcmdqInc(); | ||||
| q = wcmdq[wcmdq_tail]; | q = wcmdq[wcmdq_tail]; | ||||
| q[0] = WCMD_WAVE; | q[0] = WCMD_WAVE; | ||||
| q[1] = len4*2; // length in samples | q[1] = len4*2; // length in samples | ||||
| q[2] = long64(&wavefile_data[index+x]); | |||||
| q[2] = (long64)(&wavefile_data[index+x]); | |||||
| q[3] = wav_scale + (amp << 8); | q[3] = wav_scale + (amp << 8); | ||||
| WcmdqInc(); | WcmdqInc(); | ||||
| q = wcmdq[wcmdq_tail]; | q = wcmdq[wcmdq_tail]; | ||||
| q[0] = WCMD_WAVE; | q[0] = WCMD_WAVE; | ||||
| q[1] = length; // length in samples | q[1] = length; // length in samples | ||||
| q[2] = long64(&wavefile_data[index+x]); | |||||
| q[2] = (long64)(&wavefile_data[index+x]); | |||||
| q[3] = wav_scale + (amp << 8); | q[3] = wav_scale + (amp << 8); | ||||
| WcmdqInc(); | WcmdqInc(); | ||||
| } | } | ||||
| } | } | ||||
| int FormantTransition2(frameref_t *seq, int &n_frames, unsigned int data1, unsigned int data2, PHONEME_TAB *other_ph, int which) | |||||
| int FormantTransition2(frameref_t *seq, int *n_frames, unsigned int data1, unsigned int data2, PHONEME_TAB *other_ph, int which) | |||||
| {//============================================================================================================================== | {//============================================================================================================================== | ||||
| int ix; | int ix; | ||||
| int formant; | int formant; | ||||
| frame_t *fr = NULL; | frame_t *fr = NULL; | ||||
| if(n_frames < 2) | |||||
| if(*n_frames < 2) | |||||
| return(0); | return(0); | ||||
| len = (data1 & 0x3f) * 2; | len = (data1 & 0x3f) * 2; | ||||
| if(flags & 8) | if(flags & 8) | ||||
| { | { | ||||
| fr = CopyFrame(seq[n_frames-1].frame,0); | |||||
| seq[n_frames-1].frame = fr; | |||||
| fr = CopyFrame(seq[*n_frames-1].frame,0); | |||||
| seq[*n_frames-1].frame = fr; | |||||
| rms = RMS_GLOTTAL1; | rms = RMS_GLOTTAL1; | ||||
| // degree of glottal-stop effect depends on closeness of vowel (indicated by f1 freq) | // degree of glottal-stop effect depends on closeness of vowel (indicated by f1 freq) | ||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| fr = DuplicateLastFrame(seq,n_frames++,len); | |||||
| fr = DuplicateLastFrame(seq,(*n_frames)++,len); | |||||
| if(len > 36) | if(len > 36) | ||||
| seq_len_adjust += (len - 36); | seq_len_adjust += (len - 36); | ||||
| if((vcolour > 0) && (vcolour <= N_VCOLOUR)) | if((vcolour > 0) && (vcolour <= N_VCOLOUR)) | ||||
| { | { | ||||
| for(ix=0; ix<n_frames; ix++) | |||||
| for(ix=0; ix < *n_frames; ix++) | |||||
| { | { | ||||
| fr = CopyFrame(seq[ix].frame,0); | fr = CopyFrame(seq[ix].frame,0); | ||||
| seq[ix].frame = fr; | seq[ix].frame = fr; |
| #define L_qa 0x716100 | #define L_qa 0x716100 | ||||
| #define L_grc 0x677263 // grc Ancient Greek | #define L_grc 0x677263 // grc Ancient Greek | ||||
| #define L_jbo 0x6a626f // jbo Lojban | #define L_jbo 0x6a626f // jbo Lojban | ||||
| #define L_mni 0x6d6e69 // mni Manipuri | |||||
| #define L_pap 0x706170 // pap Papiamento] | #define L_pap 0x706170 // pap Papiamento] | ||||
| #define L_qvi 0x717669 // qvi Kichwa | #define L_qvi 0x717669 // qvi Kichwa | ||||
| #define L_shs 0x736873 // shs Shuswap / Secwepemctsin | #define L_shs 0x736873 // shs Shuswap / Secwepemctsin | ||||
| {"_hi", OFFSET_DEVANAGARI, 0x900, 0x97f,L('h','i'), AL_WORDS}, | {"_hi", OFFSET_DEVANAGARI, 0x900, 0x97f,L('h','i'), AL_WORDS}, | ||||
| {"_bn", OFFSET_BENGALI, 0x0980, 0x9ff, L('b','n'), AL_WORDS}, | {"_bn", OFFSET_BENGALI, 0x0980, 0x9ff, L('b','n'), AL_WORDS}, | ||||
| {"_gur", OFFSET_GURMUKHI, 0xa00, 0xa7f, L('p','a'), AL_WORDS}, | {"_gur", OFFSET_GURMUKHI, 0xa00, 0xa7f, L('p','a'), AL_WORDS}, | ||||
| {"_gu", OFFSET_GUJARATI, 0xa80, 0xaff, 0, 0}, | |||||
| {"_gu", OFFSET_GUJARATI, 0xa80, 0xaff, L('g','u'), AL_WORDS}, | |||||
| {"_or", OFFSET_ORIYA, 0xb00, 0xb7f, 0, 0}, | {"_or", OFFSET_ORIYA, 0xb00, 0xb7f, 0, 0}, | ||||
| {"_ta", OFFSET_TAMIL, 0xb80, 0xbff, L('t','a'), AL_WORDS}, | {"_ta", OFFSET_TAMIL, 0xb80, 0xbff, L('t','a'), AL_WORDS}, | ||||
| {"_te", OFFSET_TELUGU, 0xc00, 0xc7f, L('t','e'), 0}, | {"_te", OFFSET_TELUGU, 0xc00, 0xc7f, L('t','e'), 0}, | ||||
| Translator *tr; | Translator *tr; | ||||
| static const short stress_lengths_equal[8] = {230, 230, 230, 230, 0, 0, 230, 230}; | static const short stress_lengths_equal[8] = {230, 230, 230, 230, 0, 0, 230, 230}; | ||||
| static const unsigned char stress_amps_equal[8] = {18,18, 18,18, 18,18, 18,18 }; | |||||
| static const unsigned char stress_amps_equal[8] = {19,19, 19,19, 19,19, 19,19 }; | |||||
| static const short stress_lengths_fr[8] = {190, 170, 190, 200, 0, 0, 190, 240}; | static const short stress_lengths_fr[8] = {190, 170, 190, 200, 0, 0, 190, 240}; | ||||
| static const unsigned char stress_amps_fr[8] = {18,16, 18,18, 18,18, 18,18 }; | static const unsigned char stress_amps_fr[8] = {18,16, 18,18, 18,18, 18,18 }; | ||||
| break; | break; | ||||
| case L('b','n'): // Bengali | case L('b','n'): // Bengali | ||||
| case L('a','s'): // Assamese | |||||
| case L_mni: // Manipuri (temporary placement - it's not indo-european) | |||||
| { | { | ||||
| static const short stress_lengths_bn[8] = {180, 180, 210, 210, 0, 0, 230, 240}; | static const short stress_lengths_bn[8] = {180, 180, 210, 210, 0, 0, 230, 240}; | ||||
| static const unsigned char stress_amps_bn[8] = {18,18, 18,18, 20,20, 22,22 }; | static const unsigned char stress_amps_bn[8] = {18,18, 18,18, 20,20, 22,22 }; | ||||
| case L('h','i'): // Hindi | case L('h','i'): // Hindi | ||||
| case L('n','e'): // Nepali | case L('n','e'): // Nepali | ||||
| case L('o','r'): // Oriya | |||||
| case L('p','a'): // Punjabi | case L('p','a'): // Punjabi | ||||
| case L('g','u'): // Gujarati | case L('g','u'): // Gujarati | ||||
| { | { | ||||
| tr->langopts.max_digits = 22; | tr->langopts.max_digits = 22; | ||||
| tr->langopts.numbers2 |= NUM2_ENGLISH_NUMERALS; | tr->langopts.numbers2 |= NUM2_ENGLISH_NUMERALS; | ||||
| } | } | ||||
| else | |||||
| if(name2 == L('o','r')) | |||||
| { | |||||
| tr->letter_bits_offset = OFFSET_ORIYA; | |||||
| } | |||||
| SetIndicLetters(tr); | SetIndicLetters(tr); | ||||
| } | } | ||||
| break; | break; | ||||
| break; | break; | ||||
| case L('t','a'): // Tamil | case L('t','a'): // Tamil | ||||
| case L('m','l'): // Malayalam | |||||
| case L('k','n'): // Kannada | case L('k','n'): // Kannada | ||||
| case L('m','l'): // Malayalam | |||||
| case L('m','r'): // Marathi | case L('m','r'): // Marathi | ||||
| case L('t','e'): // Telugu | case L('t','e'): // Telugu | ||||
| { | { | ||||
| 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 = STRESSPOSN_1L; | tr->langopts.stress_rule = STRESSPOSN_1L; | ||||
| tr->langopts.stress_flags = S_FINAL_DIM_ONLY; // use 'diminished' for unstressed final syllable | |||||
| tr->langopts.stress_flags = S_FINAL_DIM_ONLY | S_FINAL_NO_2; // use 'diminished' for unstressed final syllable | |||||
| tr->langopts.spelling_stress = 1; | tr->langopts.spelling_stress = 1; | ||||
| tr->langopts.break_numbers = 0x14a8; // 1000, 100,000 10,000,000 | tr->langopts.break_numbers = 0x14a8; // 1000, 100,000 10,000,000 | ||||
| else | else | ||||
| if(name2 == L('m','l')) | if(name2 == L('m','l')) | ||||
| { | { | ||||
| static const short stress_lengths_ml[8] = {180, 160, 240, 240, 0, 0, 260, 260}; | |||||
| SetupTranslator(tr,stress_lengths_ml, stress_amps_equal); | |||||
| tr->letter_bits_offset = OFFSET_MALAYALAM; | tr->letter_bits_offset = OFFSET_MALAYALAM; | ||||
| tr->langopts.numbers = NUM_OMIT_1_THOUSAND | NUM_OMIT_1_HUNDRED; | tr->langopts.numbers = NUM_OMIT_1_THOUSAND | NUM_OMIT_1_HUNDRED; | ||||
| tr->langopts.numbers2 = NUM2_OMIT_1_HUNDRED_ONLY; | tr->langopts.numbers2 = NUM2_OMIT_1_HUNDRED_ONLY; | ||||
| tr->langopts.stress_rule = 13; // 1st syllable, unless 1st vowel is short and 2nd is long | |||||
| } | } | ||||
| else | else | ||||
| if(name2 == L('k','n')) | if(name2 == L('k','n')) |
| return(0); | return(0); | ||||
| if((c >= 0x2500) && (c < 0x25a0)) | if((c >= 0x2500) && (c < 0x25a0)) | ||||
| return(1); // box drawing characters | return(1); // box drawing characters | ||||
| if((c >= 0xfff9) && (c <= 0xffff)) | |||||
| return(1); // unicode specials | |||||
| // if(wcschr(chars_space,c)) | // if(wcschr(chars_space,c)) | ||||
| // return(1); | // return(1); | ||||
| return(iswspace(c)); | return(iswspace(c)); | ||||
| int wflags; | int wflags; | ||||
| int wmark; | int wmark; | ||||
| int was_unpronouncable = 0; | int was_unpronouncable = 0; | ||||
| int loopcount; | |||||
| WORD_TAB wtab_null[8]; | WORD_TAB wtab_null[8]; | ||||
| // translate these to get pronunciations of plural 's' suffix (different forms depending on | // translate these to get pronunciations of plural 's' suffix (different forms depending on | ||||
| found = 0; | found = 0; | ||||
| confirm_prefix = 1; | confirm_prefix = 1; | ||||
| for (int loopcount = 0; (loopcount < 50) && (end_type & SUFX_P); loopcount++) | |||||
| for (loopcount = 0; (loopcount < 50) && (end_type & SUFX_P); loopcount++) | |||||
| { | { | ||||
| // Found a standard prefix, remove it and retranslate | // Found a standard prefix, remove it and retranslate | ||||
| // loopcount guards against an endless loop | // loopcount guards against an endless loop | ||||
| translator2 = SelectTranslator(new_language); | translator2 = SelectTranslator(new_language); | ||||
| strcpy(translator2_language,new_language); | strcpy(translator2_language,new_language); | ||||
| if(LoadDictionary(translator2, new_language, 0) != 0) | |||||
| if(LoadDictionary(translator2, translator2->dictionary_name, 0) != 0) | |||||
| { | { | ||||
| SelectPhonemeTable(voice->phoneme_tab_ix); // revert to original phoneme table | SelectPhonemeTable(voice->phoneme_tab_ix); // revert to original phoneme table | ||||
| new_phoneme_tab = -1; | new_phoneme_tab = -1; | ||||
| pre_pause = 1; | pre_pause = 1; | ||||
| } | } | ||||
| plist2 = &ph_list2[n_ph_list2]; | |||||
| stress = 0; | stress = 0; | ||||
| next_stress = 1; | next_stress = 1; | ||||
| srcix = 0; | srcix = 0; | ||||
| tr->prev_dict_flags[0] = 0; | tr->prev_dict_flags[0] = 0; | ||||
| tr->prev_dict_flags[1] = 0; | tr->prev_dict_flags[1] = 0; | ||||
| } | } | ||||
| plist2 = &ph_list2[n_ph_list2]; | |||||
| if((option_capitals==1) && (word_flags & FLAG_FIRST_UPPER)) | if((option_capitals==1) && (word_flags & FLAG_FIRST_UPPER)) | ||||
| { | { | ||||
| static int EmbeddedCommand(unsigned int &source_index) | |||||
| {//=================================================== | |||||
| static int EmbeddedCommand(unsigned int *source_index_out) | |||||
| {//======================================================= | |||||
| // An embedded command to change the pitch, volume, etc. | // An embedded command to change the pitch, volume, etc. | ||||
| // returns number of commands added to embedded_list | // returns number of commands added to embedded_list | ||||
| unsigned char c; | unsigned char c; | ||||
| char *p; | char *p; | ||||
| int cmd; | int cmd; | ||||
| int source_index = *source_index_out; | |||||
| c = source[source_index]; | c = source[source_index]; | ||||
| if(c == '+') | if(c == '+') | ||||
| } | } | ||||
| embedded_list[embedded_ix++] = cmd + sign + (value << 8); | embedded_list[embedded_ix++] = cmd + sign + (value << 8); | ||||
| *source_index_out = source_index; | |||||
| return(1); | return(1); | ||||
| } // end of EmbeddedCommand | } // end of EmbeddedCommand | ||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| embedded_count += EmbeddedCommand(source_index); | |||||
| embedded_count += EmbeddedCommand(&source_index); | |||||
| prev_in_save = prev_in; | prev_in_save = prev_in; | ||||
| // replace the embedded command by spaces | // replace the embedded command by spaces | ||||
| memset(&source[srcix],' ',source_index-srcix); | memset(&source[srcix],' ',source_index-srcix); | ||||
| } | } | ||||
| } | } | ||||
| letter_count++; | |||||
| if(tr->letter_bits_offset > 0) | |||||
| if(c != ' ') | |||||
| { | { | ||||
| if(((c < 0x250) && (prev_out >= tr->letter_bits_offset)) || | |||||
| ((c >= tr->letter_bits_offset) && (letter_count > 1) && (prev_out < 0x250))) | |||||
| letter_count++; | |||||
| if(tr->letter_bits_offset > 0) | |||||
| { | { | ||||
| // Don't mix native and Latin characters in the same word | |||||
| // Break into separate words | |||||
| c = ' '; | |||||
| space_inserted = 1; | |||||
| word_flags |= FLAG_HYPHEN_AFTER; | |||||
| next_word_flags |= FLAG_HYPHEN; | |||||
| if(((c < 0x250) && (prev_out >= tr->letter_bits_offset)) || | |||||
| ((c >= tr->letter_bits_offset) && (letter_count > 1) && (prev_out < 0x250))) | |||||
| { | |||||
| // Don't mix native and Latin characters in the same word | |||||
| // Break into separate words | |||||
| if(IsAlpha(prev_out)) | |||||
| { | |||||
| c = ' '; | |||||
| space_inserted = 1; | |||||
| word_flags |= FLAG_HYPHEN_AFTER; | |||||
| next_word_flags |= FLAG_HYPHEN; | |||||
| } | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| { | { | ||||
| int next2_in; | int next2_in; | ||||
| utf8_in(&next2_in,&source[source_index + next_in_nbytes]); | utf8_in(&next2_in,&source[source_index + next_in_nbytes]); | ||||
| if((tr->translator_name == L('n','l')) && (letter_count==2) && (c == 'j') && (prev_in == 'I')) | |||||
| { | |||||
| // Dutch words may capitalise initial IJ, don't split | |||||
| } | |||||
| else | |||||
| if(IsAlpha(next2_in)) | if(IsAlpha(next2_in)) | ||||
| { | { | ||||
| // changing from upper to lower case, start new word at the last uppercase, if 3 or more letters | // changing from upper to lower case, start new word at the last uppercase, if 3 or more letters |
| #define N_VOICE_VARIANTS 12 | #define N_VOICE_VARIANTS 12 | ||||
| const char variants_either[N_VOICE_VARIANTS] = {1,2,12,3,13,4,14,5,11,0}; | const char variants_either[N_VOICE_VARIANTS] = {1,2,12,3,13,4,14,5,11,0}; | ||||
| const char variants_male[N_VOICE_VARIANTS] = {1,2,3,4,5,6,7,0}; | |||||
| const char variants_male[N_VOICE_VARIANTS] = {1,2,3,4,5,6,0}; | |||||
| const char variants_female[N_VOICE_VARIANTS] = {11,12,13,14,0}; | const char variants_female[N_VOICE_VARIANTS] = {11,12,13,14,0}; | ||||
| const char *variant_lists[3] = {variants_either, variants_male, variants_female}; | const char *variant_lists[3] = {variants_either, variants_male, variants_female}; | ||||
| height2 = tone_pts[pt+1]; | height2 = tone_pts[pt+1]; | ||||
| if((freq2 - freq1) > 0) | if((freq2 - freq1) > 0) | ||||
| { | { | ||||
| rate = double(height2-height1)/(freq2-freq1); | |||||
| rate = (double)(height2-height1)/(freq2-freq1); | |||||
| for(ix=freq1; ix<freq2; ix++) | for(ix=freq1; ix<freq2; ix++) | ||||
| { | { | ||||
| y = height1 + int(rate * (ix-freq1)); | |||||
| y = height1 + (int)(rate * (ix-freq1)); | |||||
| if(y > 255) | if(y > 255) | ||||
| y = 255; | y = 255; | ||||
| voice->tone_adjust[ix] = y; | voice->tone_adjust[ix] = y; | ||||
| return; | return; | ||||
| if(freq >= 0) | if(freq >= 0) | ||||
| voice->freq[formant] = int(freq * 2.56001); | |||||
| voice->freq[formant] = (int)(freq * 2.56001); | |||||
| if(height >= 0) | if(height >= 0) | ||||
| voice->height[formant] = int(height * 2.56001); | |||||
| voice->height[formant] = (int)(height * 2.56001); | |||||
| if(width >= 0) | if(width >= 0) | ||||
| voice->width[formant] = int(width * 2.56001); | |||||
| voice->width[formant] = (int)(width * 2.56001); | |||||
| voice->freqadd[formant] = freqadd; | voice->freqadd[formant] = freqadd; | ||||
| } | } | ||||
| n = sscanf(p,"%d %d",&pitch1,&pitch2); | n = sscanf(p,"%d %d",&pitch1,&pitch2); | ||||
| voice->pitch_base = (pitch1 - 9) << 12; | voice->pitch_base = (pitch1 - 9) << 12; | ||||
| voice->pitch_range = (pitch2 - pitch1) * 108; | voice->pitch_range = (pitch2 - pitch1) * 108; | ||||
| factor = double(pitch1 - 82)/82; | |||||
| factor = (double)(pitch1 - 82)/82; | |||||
| voice->formant_factor = (int)((1+factor/4) * 256); // nominal formant shift for a different voice pitch | voice->formant_factor = (int)((1+factor/4) * 256); // nominal formant shift for a different voice pitch | ||||
| } | } | ||||
| break; | break; | ||||
| if((ix = SelectPhonemeTableName(phonemes_name)) < 0) | if((ix = SelectPhonemeTableName(phonemes_name)) < 0) | ||||
| { | { | ||||
| fprintf(stderr,"Unknown phoneme table: '%s'\n",phonemes_name); | fprintf(stderr,"Unknown phoneme table: '%s'\n",phonemes_name); | ||||
| ix = 0; | |||||
| } | } | ||||
| voice->phoneme_tab_ix = ix; | voice->phoneme_tab_ix = ix; | ||||
| new_translator->phoneme_tab_ix = ix; | new_translator->phoneme_tab_ix = ix; | ||||
| vp = voices[ix]; | vp = voices[ix]; | ||||
| // is the main voice the required gender? | // is the main voice the required gender? | ||||
| skip=0; | skip=0; | ||||
| if((gender != 0) && (vp->gender != gender)) | if((gender != 0) && (vp->gender != gender)) | ||||
| { | { | ||||
| skip=1; | skip=1; | ||||
| { | { | ||||
| skip=1; | skip=1; | ||||
| } | } | ||||
| if(skip==0) | if(skip==0) | ||||
| { | { | ||||
| voices2[ix2++] = vp; | voices2[ix2++] = vp; | ||||
| void FreeVoiceList() | void FreeVoiceList() | ||||
| {//================= | {//================= | ||||
| for(int ix=0; ix<n_voices_list; ix++) | |||||
| int ix; | |||||
| for(ix=0; ix<n_voices_list; ix++) | |||||
| { | { | ||||
| if(voices_list[ix] != NULL) | if(voices_list[ix] != NULL) | ||||
| { | { |
| for(ix=0; ix <= wvoice->n_harmonic_peaks; ix++) | for(ix=0; ix <= wvoice->n_harmonic_peaks; ix++) | ||||
| { | { | ||||
| peaks[ix].freq1 += peaks[ix].freq_inc; | peaks[ix].freq1 += peaks[ix].freq_inc; | ||||
| peaks[ix].freq = int(peaks[ix].freq1); | |||||
| peaks[ix].freq = (int)peaks[ix].freq1; | |||||
| peaks[ix].height1 += peaks[ix].height_inc; | peaks[ix].height1 += peaks[ix].height_inc; | ||||
| if((peaks[ix].height = int(peaks[ix].height1)) < 0) | |||||
| if((peaks[ix].height = (int)peaks[ix].height1) < 0) | |||||
| peaks[ix].height = 0; | peaks[ix].height = 0; | ||||
| peaks[ix].left1 += peaks[ix].left_inc; | peaks[ix].left1 += peaks[ix].left_inc; | ||||
| peaks[ix].left = int(peaks[ix].left1); | |||||
| peaks[ix].left = (int)peaks[ix].left1; | |||||
| if(ix < 3) | if(ix < 3) | ||||
| { | { | ||||
| peaks[ix].right1 += peaks[ix].right_inc; | peaks[ix].right1 += peaks[ix].right_inc; | ||||
| peaks[ix].right = int(peaks[ix].right1); | |||||
| peaks[ix].right = (int)peaks[ix].right1; | |||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| if(ix < 7) | if(ix < 7) | ||||
| { | { | ||||
| peaks[ix].freq1 += peaks[ix].freq_inc; | peaks[ix].freq1 += peaks[ix].freq_inc; | ||||
| peaks[ix].freq = int(peaks[ix].freq1); | |||||
| peaks[ix].freq = (int)peaks[ix].freq1; | |||||
| } | } | ||||
| peaks[ix].height1 += peaks[ix].height_inc; | peaks[ix].height1 += peaks[ix].height_inc; | ||||
| if((peaks[ix].height = int(peaks[ix].height1)) < 0) | |||||
| if((peaks[ix].height = (int)peaks[ix].height1) < 0) | |||||
| peaks[ix].height = 0; | peaks[ix].height = 0; | ||||
| } | } | ||||
| if((amp = wvoice->breath[ix]) != 0) | if((amp = wvoice->breath[ix]) != 0) | ||||
| { | { | ||||
| amp *= (peaks[ix].height >> 14); | amp *= (peaks[ix].height >> 14); | ||||
| value += int(resonator(&rbreath[ix],noise) * amp); | |||||
| value += (int)resonator(&rbreath[ix],noise) * amp; | |||||
| } | } | ||||
| } | } | ||||
| #endif | #endif | ||||
| for(pk=wvoice->n_harmonic_peaks+1; pk<N_PEAKS; pk++) | for(pk=wvoice->n_harmonic_peaks+1; pk<N_PEAKS; pk++) | ||||
| { | { | ||||
| // find the nearest harmonic for HF peaks where we don't use shape | // find the nearest harmonic for HF peaks where we don't use shape | ||||
| peak_harmonic[pk] = peaks[pk].freq / (wdata.pitch*16); | |||||
| peak_harmonic[pk] = ((peaks[pk].freq / (wdata.pitch*8)) + 1) / 2; | |||||
| } | } | ||||
| // adjust amplitude to compensate for fewer harmonics at higher pitch | // adjust amplitude to compensate for fewer harmonics at higher pitch | ||||
| for(h=1; h<=h_switch_sign; h++) | for(h=1; h<=h_switch_sign; h++) | ||||
| { | { | ||||
| total += (int(sin_tab[theta >> 5]) * harmspect[h]); | |||||
| total += ((int)sin_tab[theta >> 5] * harmspect[h]); | |||||
| theta += waveph; | theta += waveph; | ||||
| } | } | ||||
| while(h<=maxh) | while(h<=maxh) | ||||
| { | { | ||||
| total -= (int(sin_tab[theta >> 5]) * harmspect[h]); | |||||
| total -= ((int)sin_tab[theta >> 5] * harmspect[h]); | |||||
| theta += waveph; | theta += waveph; | ||||
| h++; | h++; | ||||
| } | } | ||||
| if(ix < 7) | if(ix < 7) | ||||
| { | { | ||||
| peaks[ix].freq1 = (fr1->ffreq[ix] * v->freq[ix] + v->freqadd[ix]*256) << 8; | peaks[ix].freq1 = (fr1->ffreq[ix] * v->freq[ix] + v->freqadd[ix]*256) << 8; | ||||
| peaks[ix].freq = int(peaks[ix].freq1); | |||||
| peaks[ix].freq = (int)peaks[ix].freq1; | |||||
| next = (fr2->ffreq[ix] * v->freq[ix] + v->freqadd[ix]*256) << 8; | next = (fr2->ffreq[ix] * v->freq[ix] + v->freqadd[ix]*256) << 8; | ||||
| peaks[ix].freq_inc = ((next - peaks[ix].freq1) * (STEPSIZE/4)) / length4; // lower headroom for fixed point math | peaks[ix].freq_inc = ((next - peaks[ix].freq1) * (STEPSIZE/4)) / length4; // lower headroom for fixed point math | ||||
| } | } | ||||
| peaks[ix].height1 = (fr1->fheight[ix] * v->height[ix]) << 6; | peaks[ix].height1 = (fr1->fheight[ix] * v->height[ix]) << 6; | ||||
| peaks[ix].height = int(peaks[ix].height1); | |||||
| peaks[ix].height = (int)peaks[ix].height1; | |||||
| next = (fr2->fheight[ix] * v->height[ix]) << 6; | next = (fr2->fheight[ix] * v->height[ix]) << 6; | ||||
| peaks[ix].height_inc = ((next - peaks[ix].height1) * STEPSIZE) / length2; | peaks[ix].height_inc = ((next - peaks[ix].height1) * STEPSIZE) / length2; | ||||
| if((ix <= 5) && (ix <= wvoice->n_harmonic_peaks)) | if((ix <= 5) && (ix <= wvoice->n_harmonic_peaks)) | ||||
| { | { | ||||
| peaks[ix].left1 = (fr1->fwidth[ix] * v->width[ix]) << 10; | peaks[ix].left1 = (fr1->fwidth[ix] * v->width[ix]) << 10; | ||||
| peaks[ix].left = int(peaks[ix].left1); | |||||
| peaks[ix].left = (int)peaks[ix].left1; | |||||
| next = (fr2->fwidth[ix] * v->width[ix]) << 10; | next = (fr2->fwidth[ix] * v->width[ix]) << 10; | ||||
| peaks[ix].left_inc = ((next - peaks[ix].left1) * STEPSIZE) / length2; | peaks[ix].left_inc = ((next - peaks[ix].left1) * STEPSIZE) / length2; | ||||
| if(ix < 3) | if(ix < 3) | ||||
| { | { | ||||
| peaks[ix].right1 = (fr1->fright[ix] * v->width[ix]) << 10; | peaks[ix].right1 = (fr1->fright[ix] * v->width[ix]) << 10; | ||||
| peaks[ix].right = int(peaks[ix].right1); | |||||
| peaks[ix].right = (int)peaks[ix].right1; | |||||
| next = (fr2->fright[ix] * v->width[ix]) << 10; | next = (fr2->fright[ix] * v->width[ix]) << 10; | ||||
| peaks[ix].right_inc = ((next - peaks[ix].right1) * STEPSIZE) / length2; | peaks[ix].right_inc = ((next - peaks[ix].right1) * STEPSIZE) / length2; | ||||
| } | } |