Fix: SAPI5 version, pitch not reset correctly after indicating capital letter. Language changes: ga, nl, pt. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@312 d46cf337-b52f-0410-862d-fd96e6ae7743master
| v _^_EN // not Roman number | v _^_EN // not Roman number | ||||
| x _^_EN // not Roman number | x _^_EN // not Roman number | ||||
| _?? znak | |||||
| _?A b'ukva | |||||
| // symbols | // symbols | ||||
| % prots'ent $max3 | % prots'ent $max3 | ||||
| + plus $max3 | + plus $max3 |
| v w x z Z | v w x z Z | ||||
| Dictionary hu_dict 2013-03-10 | |||||
| Dictionary hu_dict 2013-03-11 | |||||
| a A a: e E e: i i: | a A a: e E e: i i: | ||||
| o o: u u: Y y y: Y: | o o: u u: Y y y: Y: | ||||
| t tS v w x | t tS v w x | ||||
| Dictionary nl_dict 2013-03-05 | |||||
| Dictionary nl_dict 2013-03-11 | |||||
| 8 @ @- a A a: A~ e | 8 @ @- a A a: A~ e | ||||
| E e# E2 e: EI eU i I | E e# E2 e: EI eU i I | ||||
| ts; v w x z Z Z; | ts; v w x z Z Z; | ||||
| Dictionary pt_dict 2013-03-10 | |||||
| Dictionary pt_dict 2013-03-11 | |||||
| & &/ &U~ &~ @ @- a A | & &/ &U~ &~ @ @- a A | ||||
| aI aU e E eI EI eU EU | aI aU e E eI EI eU EU | ||||
| v w x z Z z. | v w x z Z z. | ||||
| Dictionary bg_dict 2012-07-15 | |||||
| Dictionary bg_dict 2013-03-11 | |||||
| @ a e i o u | @ a e i o u | ||||
| s. t t# t. t.# v w z | s. t t# t. t.# v w z | ||||
| Dictionary ga_dict 2013-03-08 | |||||
| Dictionary ga_dict 2013-03-11 | |||||
| 0 0# @ a a# A: aI aI# | 0 0# @ a a# A: aI aI# | ||||
| aU aU# e E E# e: i I | aU aU# e E E# e: i I |
| // precede by _ to distinguish from pronunciation as a language word | // precede by _ to distinguish from pronunciation as a language word | ||||
| _a eI | _a eI | ||||
| b bi: | |||||
| b bi: $atend | |||||
| ?1 bh v // eclipsis | |||||
| c si: | c si: | ||||
| d di: | |||||
| d di: $atend | |||||
| e i: | e i: | ||||
| f Ef | f Ef | ||||
| g dZi: | |||||
| h eItS | |||||
| g dZi: $atend | |||||
| h eItS $atend | |||||
| _i aI | _i aI | ||||
| j dZeI | j dZeI | ||||
| k keI | k keI | ||||
| l El | l El | ||||
| m Em | |||||
| n En | |||||
| m Em $atend | |||||
| n En $atend | |||||
| _o oU | _o oU | ||||
| p pi: | p pi: | ||||
| q kju: | q kju: | ||||
| r ar | r ar | ||||
| s Es | s Es | ||||
| t ti: | |||||
| t ti: $atend | |||||
| u ju: | u ju: | ||||
| v vi: | v vi: | ||||
| w d'O#b@lju: | w d'O#b@lju: |
| // translation rules for Irish Gaeilge | |||||
| // translation rules for Irish Gaeilge | |||||
| // This file is UTF-8 encoded | // This file is UTF-8 encoded | ||||
| // written by Ronan McGuirk January 2013 | // written by Ronan McGuirk January 2013 | ||||
| // Version 2.5B | // Version 2.5B | ||||
| // Conditional rules | |||||
| // ?1 allow eclipsis as 2 separate words | |||||
| .L01 e i é í // slender vowels | .L01 e i é í // slender vowels | ||||
| .L02 c ch d g gh n s // following ea gets ; sounds | .L02 c ch d g gh n s // following ea gets ; sounds | ||||
| .L03 b bh mb c ch f m mh dh // used for words likemuir or cuid | |||||
| .L03 b bh mb c ch f m mh dh // used for words likemuir or cuid | |||||
| .L04 b bh mb // for words like beag | .L04 b bh mb // for words like beag | ||||
| .L05 nn nna nnas dh r s ntas nach nas nais dar mar rtha nta mh chas chais cht chta nnach ntach llach d l ll // word endings where @ is to repleace ea or a | .L05 nn nna nnas dh r s ntas nach nas nais dar mar rtha nta mh chas chais cht chta nnach ntach llach d l ll // word endings where @ is to repleace ea or a | ||||
| .L06 aidh idh aí á eá eadh adh ad imid aimid imis aimis ainn inn idís aidís éin // word endings where f changes to h | .L06 aidh idh aí á eá eadh adh ad imid aimid imis aimis ainn inn idís aidís éin // word endings where f changes to h | ||||
| .L07 b c g ch bh gh mb | |||||
| .L07 b c g ch bh gh mb | |||||
| .L08 lc ll nt bhse // for words like cailc | .L08 lc ll nt bhse // for words like cailc | ||||
| .L09 cl cr chr f | .L09 cl cr chr f | ||||
| .L10 c ch p ph gl ghl | |||||
| .L11 c dh gh the s nn nne nt tiúil tiúla tíochta theoir theora ste steach ll llí llín g gí mse // word endings preceded by ai | |||||
| .L10 c ch p ph gl ghl | |||||
| .L11 c dh gh the s nn nne nt tiúil tiúla tíochta theoir theora ste steach ll llí llín g gí mse // word endings preceded by ai | |||||
| .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 m d dh g gc gh mh // aoi following | .L15 c ch f m d dh g gc gh mh // aoi following | ||||
| .L16 b c bh ch gr ghr // for inn word ending | .L16 b c bh ch gr ghr // for inn word ending | ||||
| .L17 l le li niste nn | |||||
| .L18 n nt nte neann neadh ntear nim nfear nfinn | |||||
| .L19 na nea ra rea la llea arga // word endings with silent dh | |||||
| .L17 l le li niste nn | |||||
| .L18 n nt nte neann neadh ntear nim nfear nfinn | |||||
| .L19 na nea ra rea la llea arga // word endings with silent dh | |||||
| .L20 eo eoir eá eabh io iu iú // slender m | .L20 eo eoir eá eabh io iu iú // slender m | ||||
| .L21 ll nn ndán nntán | .L21 ll nn ndán nntán | ||||
| .L22 eadh eag eaga eagán eagáinín eo io iu iú eall eabh ealtaine | .L22 eadh eag eaga eagán eagáinín eo io iu iú eall eabh ealtaine | ||||
| .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 | ||||
| .group a | .group a | ||||
| a 0# | |||||
| a (_ @ | |||||
| adh (a aI // words like radharc | |||||
| adh (C aI | |||||
| abht aU#t[ | |||||
| amhr aUr // words like amhras | |||||
| K) amhl aUl | |||||
| abhra aUr@ // words like slabhra | |||||
| aghaidh aIg | |||||
| t) abhair u:@r | |||||
| th) abhair u:@r | |||||
| t) abhar u:@r | |||||
| th) abhar u:@r | |||||
| _) an (sL01 @n | |||||
| _) an (- 0n // an prefix | |||||
| é) a @ // words like féach | |||||
| X) a (nn_ aU# | |||||
| X) a (ll_ aU# | |||||
| abha aU@ | |||||
| am (pla aUm | |||||
| ama(_ aU#m@ | |||||
| athair 'ah@r | |||||
| _) amh aU | |||||
| agha aI@ | |||||
| agh (d aI | |||||
| agh (s aI | |||||
| _) ath 0h | |||||
| ai (m_ @ | |||||
| aí i: | |||||
| aoi @i: | |||||
| _) aoi i: | |||||
| ath) aoi (r 'i:@ | |||||
| r) aoi (nín 'e:@ | |||||
| aoicht (_ 'i:@xt[ | |||||
| C) ao (C @e:@ | |||||
| _L24) ao (C w'e:@ | |||||
| C) ao (th_ @e: | |||||
| b) ao (++ we:@ | |||||
| b) ao (th_++ we: | |||||
| ao @e | |||||
| _) ao e: | |||||
| ae e: | |||||
| amhna (_ aUn@ | |||||
| a 0# | |||||
| a (_ @ | |||||
| adh (a aI // words like radharc | |||||
| adh (C aI | |||||
| abht aU#t[ | |||||
| amhr aUr // words like amhras | |||||
| K) amhl aUl | |||||
| abhra aUr@ // words like slabhra | |||||
| aghaidh aIg | |||||
| t) abhair u:@r | |||||
| th) abhair u:@r | |||||
| t) abhar u:@r | |||||
| th) abhar u:@r | |||||
| _) an (sL01 @n | |||||
| _) an (- 0n // an prefix | |||||
| é) a @ // words like féach | |||||
| X) a (nn_ aU# | |||||
| X) a (ll_ aU# | |||||
| abha aU@ | |||||
| am (pla aUm | |||||
| ama (_ aU#m@ | |||||
| athair 'ah@r | |||||
| _) amh aU | |||||
| agha aI@ | |||||
| agh (d aI | |||||
| agh (s aI | |||||
| _) ath 0h | |||||
| ai (m_ @ | |||||
| aí i: | |||||
| aoi @i: | |||||
| _) aoi i: | |||||
| ath) aoi (r 'i:@ | |||||
| r) aoi (nín 'e:@ | |||||
| aoicht (_ 'i:@xt[ | |||||
| C) ao (C @e:@ | |||||
| _L24) ao (C w'e:@ | |||||
| C) ao (th_ @e: | |||||
| b) ao (++ we:@ | |||||
| b) ao (th_++ we: | |||||
| ao @e | |||||
| _) ao e: | |||||
| ae e: | |||||
| amhna (_ aUn@ | |||||
| .group á | .group á | ||||
| á A: | |||||
| @) á ,A: | |||||
| ádh A: | |||||
| áthair (_ A:h@r | |||||
| áthar A:h@r | |||||
| ái (p A: | |||||
| áinig A:nIg | |||||
| ái 'A:i | |||||
| á A: | |||||
| @) á ,A: | |||||
| ádh A: | |||||
| áthair (_ A:h@r | |||||
| áthar A:h@r | |||||
| ái (p A: | |||||
| áinig A:nIg | |||||
| ái 'A:i | |||||
| .group ai | .group ai | ||||
| ai a# | |||||
| L04) ai (L17 0# | |||||
| aile (_ '0l;E // words like baile | |||||
| Xc) ai (l '0# | |||||
| ch) ai (l '0# | |||||
| m) ai (n 0# | |||||
| c) ai (th 0# | |||||
| ch) ai (th 0# | |||||
| ai (d 0# | |||||
| p) ai (l 0# | |||||
| @) ai (L11_ I | |||||
| ai (L08+ aI# | |||||
| c) ai (l_ I | |||||
| ai (msi 'aI // words like aimsir | |||||
| _L04) ai (L18_++ u1'I//words like bain | |||||
| c) ai (t_ u1'I | |||||
| s) ai (bh E | |||||
| aighre aIr@ | |||||
| X) aigh 'aI | |||||
| aigh aI# L04) aill (_ wi:l | |||||
| aing (_ Ing | |||||
| ai a# | |||||
| L04) ai (L17 0# | |||||
| aile (_ '0l;E // words like baile | |||||
| Xc) ai (l '0# | |||||
| ch) ai (l '0# | |||||
| m) ai (n 0# | |||||
| c) ai (th 0# | |||||
| ch) ai (th 0# | |||||
| ai (d 0# | |||||
| p) ai (l 0# | |||||
| @) ai (L11_ I | |||||
| ai (L08+ aI# | |||||
| c) ai (l_ I | |||||
| ai (msi 'aI // words like aimsir | |||||
| _L04) ai (L18_++ u1'I//words like bain | |||||
| c) ai (t_ u1'I | |||||
| s) ai (bh E | |||||
| aighre aIr@ | |||||
| X) aigh 'aI | |||||
| aigh aI# L04) aill (_ wi:l | |||||
| aing (_ Ing | |||||
| .group b | .group b | ||||
| b b // broad | |||||
| L01) b b; // slender | |||||
| b (L22 bj //slender | |||||
| bh v // broad | |||||
| bh (_ vv | |||||
| bh (L22 vj // slender | |||||
| L01) bh v | |||||
| _) bhf v /urú broad | |||||
| _) bhf (L22 v; // urú slender | |||||
| _) bp b //urú broad | |||||
| _) bp (L01 b; // urú slender | |||||
| a) bh (a U// for example cabhair | |||||
| ear) bha u: // words like Cearbhall | |||||
| bhfaigh v'aI | |||||
| b b // broad | |||||
| L01) b b; // slender | |||||
| b (L22 bj //slender | |||||
| bh v // broad | |||||
| bh (_ vv | |||||
| bh (L22 vj // slender | |||||
| L01) bh v | |||||
| ?1 _m_) b (@ | |||||
| _) bhf v // urú broad | |||||
| _) bhf (L22 v; // urú slender | |||||
| _) bp b // urú broad | |||||
| _) bp (L01 b; // urú slender | |||||
| ?1 _) bh (_f v // urú broad | |||||
| ?1 _) bh (_fL22 v; // urú slender | |||||
| ?1 _) b (_p b // urú broad | |||||
| ?1 _) b (_pL01 b; // urú slender | |||||
| a) bh (a U // for example cabhair | |||||
| ear) bha u: // words like Cearbhall | |||||
| bhfaigh v'aI | |||||
| .group c | .group c | ||||
| c k | |||||
| c (L01 k; // slender | |||||
| ch x | |||||
| ch (L01 C; | |||||
| ch (é+ C; | |||||
| ch (ei+ x; | |||||
| _) cabhr k'aUr | |||||
| _) chabhr x'aUr | |||||
| c k | |||||
| c (L01 k; // slender | |||||
| ch x | |||||
| ch (L01 C; | |||||
| ch (é+ C; | |||||
| ch (ei+ x; | |||||
| ?1 _g_) c (@ | |||||
| ?1 _g_) c (L01 | |||||
| _) cabhr k'aUr | |||||
| _) chabhr x'aUr | |||||
| .group d | .group d | ||||
| d d[ // broad | |||||
| L01) d dZ // slender | |||||
| d (L22 dZ //slender | |||||
| d (L01 d; //slender | |||||
| i) d (i dZ | |||||
| dh Q // broad | |||||
| dh (ui Q //broad | |||||
| dh (ao Q //broad | |||||
| dh (L01 j // slender | |||||
| _) dt d[ //broad urú | |||||
| _) dt (L01 dZ // slender urú | |||||
| _) d' (@P2 d | |||||
| i) dh (_ g | |||||
| a) dh (_ X | |||||
| o) dh (_ X | |||||
| L19) dh (_ // silent dh at wrd end | |||||
| Va) dh (_+ | |||||
| deartháir dr@h'A:r | |||||
| dheartháir gr@h'A:r | |||||
| deirfiúr d;r@f'u:r | |||||
| dheirfiúr g;r@f'u:r | |||||
| d d[ // broad | |||||
| L01) d dZ // slender | |||||
| d (L22 dZ // slender | |||||
| d (L01 d; // slender | |||||
| i) d (i dZ | |||||
| ?1 _n_) d (@ | |||||
| dh Q // broad | |||||
| dh (ui Q // broad | |||||
| dh (ao Q // broad | |||||
| dh (L01 j // slender | |||||
| _) dt d[ // broad urú | |||||
| _) dt (L01 dZ // slender urú | |||||
| ?1 _) d (_t d[ | |||||
| ?1 _) d (_tL01 dZ | |||||
| _) d' (@P2 d | |||||
| i) dh (_ g | |||||
| a) dh (_ X | |||||
| o) dh (_ X | |||||
| L19) dh (_ // silent dh at wrd end | |||||
| Va) dh (_+ | |||||
| deartháir dr@h'A:r | |||||
| dheartháir gr@h'A:r | |||||
| deirfiúr d;r@f'u:r | |||||
| dheirfiúr g;r@f'u:r | |||||
| .group e | .group e | ||||
| e E# | |||||
| eá A: | |||||
| ei E | |||||
| eidh (C aI | |||||
| r) ei (m aI | |||||
| eighea aI | |||||
| eighea aI | |||||
| eigh aI | |||||
| eo o: | |||||
| eogh o: | |||||
| d) eo (ch O# | |||||
| _) eo (ch O# | |||||
| s) eo (_ @ | |||||
| e E# | |||||
| eá A: | |||||
| ei E | |||||
| eidh (C aI | |||||
| r) ei (m aI | |||||
| eighea aI | |||||
| eighea aI | |||||
| eigh aI | |||||
| eo o: | |||||
| eogh o: | |||||
| d) eo (ch O# | |||||
| _) eo (ch O# | |||||
| s) eo (_ @ | |||||
| .group é | .group é | ||||
| é 'e: | |||||
| éi 'e: | |||||
| _) éi (rig aI // words like éirigh | |||||
| _) éi (rí aI // words like éirí | |||||
| _) éireoidh aIro:Ig | |||||
| éacs e:@ks | |||||
| é 'e: | |||||
| éi 'e: | |||||
| _) éi (rig aI // words like éirigh | |||||
| _) éi (rí aI // words like éirí | |||||
| _) éireoidh aIro:Ig | |||||
| éacs e:@ks | |||||
| .group ea | .group ea | ||||
| ea a# | |||||
| X) ea (L21_ aU | |||||
| ea (ltaine aU | |||||
| g) ea (ll aU | |||||
| X) ea (ch 0 | |||||
| _L04) ea (g @ | |||||
| _L04) ea (dh_ @ | |||||
| _L04) eagn @gn | |||||
| L04) eaga (_ @g@ | |||||
| eaghl aIl | |||||
| eabhra aUr@ // words like Feabhra | |||||
| eanbhean 'an@v,an | |||||
| eadhb aIb | |||||
| ea a# | |||||
| X) ea (L21_ aU | |||||
| ea (ltaine aU | |||||
| g) ea (ll aU | |||||
| X) ea (ch 0 | |||||
| _L04) ea (g @ | |||||
| _L04) ea (dh_ @ | |||||
| _L04) eagn @gn | |||||
| L04) eaga (_ @g@ | |||||
| eaghl aIl | |||||
| eabhra aUr@ // words like Feabhra | |||||
| eanbhean 'an@v,an | |||||
| eadhb aIb | |||||
| .group f | .group f | ||||
| f f // broad | |||||
| f (L22 f; // slender | |||||
| fh //silent | |||||
| fh (éin_ h | |||||
| fh (L22 ; //slender | |||||
| @) f (L06_ h | |||||
| f f // broad | |||||
| f (L22 f; // slender | |||||
| fh // silent | |||||
| fh (éin_ h | |||||
| fh (L22 ; // slender | |||||
| @) f (L06_ h | |||||
| ?1 _bh_) f (@ | |||||
| ?1 _bh_) f (L22 ; | |||||
| .group g | .group g | ||||
| g g // broad | |||||
| g (L01 g; // slender | |||||
| _) gh Q" | |||||
| _) gh (L01 Q"j | |||||
| _) gc g // urú broad | |||||
| _) gc (L01 g; // urú slender | |||||
| i) gh (_ g | |||||
| @C) gh (@ X | |||||
| _) gn g@n | |||||
| gh(n X@ | |||||
| gheobh j'o: | |||||
| gabh gaU | |||||
| g g // broad | |||||
| g (L01 g; // slender | |||||
| ?1 _n_) g (@ | |||||
| _) gh Q" | |||||
| _) gh (L01 Q"j | |||||
| _) gc g // urú broad | |||||
| _) gc (L01 g; // urú slender | |||||
| ?1 _) g (_c g // urú broad | |||||
| ?1 _) g (_cL01 g; // urú slender | |||||
| i) gh (_ g | |||||
| @C) gh (@ X | |||||
| _) gn g@n | |||||
| gh (n X@ | |||||
| gheobh j'o: | |||||
| gabh gaU | |||||
| .group h | .group h | ||||
| h h // silent | |||||
| h h // silent | |||||
| .group i | .group i | ||||
| i I | |||||
| _) i I | |||||
| ia i@ | |||||
| ia (tha i: | |||||
| io O# | |||||
| _) io (nadh u:// words like ionadh | |||||
| _pr) io (n u: | |||||
| L16) inn (_ i:n | |||||
| iai i:i | |||||
| impeall i:mp@l | |||||
| io (s I //words like fios and liosta | |||||
| L12) i i // non syllabic short i after long vowel | |||||
| iú u: | |||||
| m) i (d_ i: // verb ending | |||||
| .group k | |||||
| k k | |||||
| i I | |||||
| _) i I | |||||
| ia i@ | |||||
| ia (tha i: | |||||
| io O# | |||||
| _) io (nadh u:// words like ionadh | |||||
| _pr) io (n u: | |||||
| L16) inn (_ i:n | |||||
| iai i:i | |||||
| impeall i:mp@l | |||||
| io (s I //words like fios and liosta | |||||
| L12) i i // non syllabic short i after long vowel | |||||
| iú u: | |||||
| m) i (d_ i: // verb ending | |||||
| .group í | |||||
| í 'i: | |||||
| .group l | .group l | ||||
| l l // broad | |||||
| L01) l ( l; // slender | |||||
| l (L23 l; //slender | |||||
| ll l | |||||
| ll (L23 l; | |||||
| l (g l@ | |||||
| l (b l@ | |||||
| l l // broad | |||||
| L01) l l; // slender | |||||
| l (L23 l; //slender | |||||
| ll l | |||||
| ll (L23 l; | |||||
| l (g l@ | |||||
| l (b l@ | |||||
| .group m | .group m | ||||
| m m // broad | |||||
| m (L20 m; //slender | |||||
| mh v | |||||
| mh (L20 v; // slender | |||||
| _) mb m //urú | |||||
| _) mb (L22 m; // urú slender | |||||
| _) m (n m@// words like mná | |||||
| L14) mh v | |||||
| _) mh (n v@ | |||||
| léir) mheas vas | |||||
| r) m @m // words like gorm | |||||
| m m // broad | |||||
| m (L20 m; //slender | |||||
| mh v | |||||
| mh (L20 v; // slender | |||||
| _) mb m // urú | |||||
| _) mb (L22 m; // urú slender | |||||
| ?1 _) m (_b m // urú | |||||
| ?1 _) m (_bL22 m; // urú slender | |||||
| _) m (n m@// words like mná | |||||
| L14) mh v | |||||
| _) mh (n v@ | |||||
| léir) mheas vas | |||||
| r) m @m // words like gorm | |||||
| .group n | .group n | ||||
| n n // broad | |||||
| n (L01 n; // slender | |||||
| _) nd n // urú | |||||
| _) nd (L01 n; // urú slender | |||||
| nn n | |||||
| nn (L01 n; // slender | |||||
| n (b n@ | |||||
| n (m n@ | |||||
| n (bh n@ n(ch n@ | |||||
| c) n @n | |||||
| ch) n @n | |||||
| n n // broad | |||||
| n (L01 n; // slender | |||||
| ?1 _) n (_L01 n; | |||||
| _) nd n // urú | |||||
| _) nd (L01 n; // urú slender | |||||
| _) ng n | |||||
| _) ng (L01 n; | |||||
| ?1 _) n (_d n // urú | |||||
| ?1 _) n (_dL01 n; // urú slender | |||||
| ?1 _) n (_g n | |||||
| ?1 _) n (_gL01 n; | |||||
| nn n | |||||
| nn (L01 n; // slender | |||||
| n (b n@ | |||||
| n (m n@ | |||||
| n (bh n@ | |||||
| n (ch n@ | |||||
| c) n @n | |||||
| ch) n @n | |||||
| .group o | .group o | ||||
| o O# | |||||
| _) o 'O | |||||
| C) o (cht_ 'O | |||||
| orn (_ 'Or@n | |||||
| _C) omh o: | |||||
| _CC) omh o: | |||||
| omha o:@ | |||||
| omhai o:@ | |||||
| o (ll_ aU | |||||
| C) o (nn_ aU | |||||
| r) o (nn_ O# | |||||
| C) ogh aU | |||||
| omhan(_ aU@n | |||||
| omhain (_ aUIn | |||||
| odha aU | |||||
| opaic @pIk | |||||
| C) odh (_ o: | |||||
| odl (a O#l | |||||
| oí i: | |||||
| o O# | |||||
| _) o 'O | |||||
| C) o (cht_ 'O | |||||
| orn (_ 'Or@n | |||||
| _C) omh o: | |||||
| _CC) omh o: | |||||
| omha o:@ | |||||
| omhai o:@ | |||||
| o (ll_ aU | |||||
| C) o (nn_ aU | |||||
| r) o (nn_ O# | |||||
| C) ogh aU | |||||
| omhan (_ aU@n | |||||
| omhain (_ aUIn | |||||
| odha aU | |||||
| opaic @pIk | |||||
| C) odh (_ o: | |||||
| odl (a O#l | |||||
| oí i: | |||||
| .group ó | .group ó | ||||
| ó 'o: | |||||
| ómhai o:@ | |||||
| ó 'o: | |||||
| ómhai o:@ | |||||
| .group oi | .group oi | ||||
| oi O | |||||
| _L15) oi (+ @'I | |||||
| _) oi (b I | |||||
| oi (de I | |||||
| h) oi (b I | |||||
| _) oi (r I | |||||
| r) oi I | |||||
| l) oi (n I | |||||
| f) oi (lC aI | |||||
| l) oi (g I | |||||
| fh) oi (lC aI | |||||
| s) oi (ls aI# | |||||
| c) oi (c aI# | |||||
| oi (nnío @ | |||||
| oi (mis @ | |||||
| ois (++ O#S | |||||
| oill w'i:l | |||||
| _) oi (leá 'I | |||||
| oidh aI | |||||
| oir (_ 'ERR | |||||
| oigh (ea aI | |||||
| oi O | |||||
| _L15) oi (+ @'I | |||||
| _) oi (b I | |||||
| oi (de I | |||||
| h) oi (b I | |||||
| _) oi (r I | |||||
| r) oi I | |||||
| l) oi (n I | |||||
| f) oi (lC aI | |||||
| l) oi (g I | |||||
| fh) oi (lC aI | |||||
| s) oi (ls aI# | |||||
| c) oi (c aI# | |||||
| oi (nnío @ | |||||
| oi (mis @ | |||||
| ois (++ O#S | |||||
| oill w'i:l | |||||
| _) oi (leá 'I | |||||
| oidh aI | |||||
| oir (_ 'ERR | |||||
| oigh (ea aI | |||||
| .group p | .group p | ||||
| p p // broad | |||||
| ph f //broad | |||||
| p (L22 p; //slender | |||||
| ph (L20 f; // slender | |||||
| p p // broad | |||||
| ph f // broad | |||||
| p (L22 p; // slender | |||||
| ph (L20 f; // slender | |||||
| ?1 _b_) p (@ | |||||
| .group q | |||||
| q k | |||||
| qu k | |||||
| .group r | .group r | ||||
| r r // broad | |||||
| L01) r R // slender | |||||
| _) r (L01 R | |||||
| L12i) r (e_ Z | |||||
| L12i) r (t_ Z | |||||
| rr R | |||||
| rg r@g | |||||
| L01) rg R@g // slender | |||||
| r (bh r@ | |||||
| ríomh ri:@v | |||||
| s) r (A R | |||||
| _) ramh raU | |||||
| r r // broad | |||||
| L01) r R // slender | |||||
| _) r (L01 R | |||||
| L12i) r (e_ Z | |||||
| L12i) r (t_ Z | |||||
| rr R | |||||
| rg r@g | |||||
| L01) rg R@g // slender | |||||
| r (bh r@ | |||||
| ríomh ri:@v | |||||
| s) r (A R | |||||
| _) ramh raU | |||||
| .group s | .group s | ||||
| s s // broad | |||||
| L01) s S // slender | |||||
| s (L01 S // slender | |||||
| s (cL01 S | |||||
| s (CCL01 S // slender | |||||
| s (pCé s // broad | |||||
| sh h | |||||
| sh (CL01 h | |||||
| sh (L01 h; | |||||
| s (lL01 S | |||||
| s s // broad | |||||
| L01) s S // slender | |||||
| s (L01 S // slender | |||||
| s (cL01 S | |||||
| s (CCL01 S // slender | |||||
| s (pCé s // broad | |||||
| ?1 _t_) s (@ | |||||
| sh h | |||||
| sh (CL01 h | |||||
| sh (L01 h; | |||||
| s (lL01 S | |||||
| .group t | .group t | ||||
| t t[ // broad | |||||
| L01) t c // slender | |||||
| t (í++n tS //slender | |||||
| t (eo++ tS | |||||
| t (L01 c // slender | |||||
| L01C) t tS //slender after consonant | |||||
| t (CL01 tS // slender with following consonant before vowels | |||||
| th h | |||||
| th (L01 h; | |||||
| L01C) th h | |||||
| _) ts t[ //eclipsis broad | |||||
| _) ts (L01 t; // eclipsis slender | |||||
| L01) th h | |||||
| taine (_ t[In%E | |||||
| ao) th (_ | |||||
| thne (_ h@nE | |||||
| A) th (_ // silent th at word end | |||||
| t t[ // broad | |||||
| L01) t c // slender | |||||
| t (í++n tS // slender | |||||
| t (eo++ tS | |||||
| t (L01 c // slender | |||||
| ?1 _) t (_L01 c | |||||
| L01C) t tS // slender after consonant | |||||
| t (CL01 tS // slender with following consonant before vowels | |||||
| ?1 _d_) t (@ | |||||
| th h | |||||
| th (L01 h; | |||||
| L01C) th h | |||||
| _) ts t[ // eclipsis broad | |||||
| _) ts (L01 t; // eclipsis slender | |||||
| ?1 _) t (_s t[ // eclipsis broad | |||||
| ?1 _) t (_sL01 t; // eclipsis slender | |||||
| L01) th h | |||||
| taine (_ t[In%E | |||||
| ao) th (_ | |||||
| thne (_ h@nE | |||||
| A) th (_ // silent th at word end | |||||
| .group u | .group u | ||||
| u U# | |||||
| ua u@ | |||||
| uai u@ | |||||
| uai (g ui | |||||
| uai (d ui | |||||
| uá u:'A: | |||||
| ui I | |||||
| uinn (_ 'i:n | |||||
| uinti U#'i:ntI | |||||
| _b) uí wi: | |||||
| _bh) uí wi: | |||||
| g) uí wi: | |||||
| umh u: | |||||
| L03) ui @I | |||||
| _d) u (l_ O# | |||||
| g) ui (gh_ @i: | |||||
| gh) ui (gh_ @i: | |||||
| uí i: | |||||
| uachai 'ux@ | |||||
| u U# | |||||
| ua u@ | |||||
| uai u@ | |||||
| uai (g ui | |||||
| uai (d ui | |||||
| uá u:'A: | |||||
| ui I | |||||
| uinn (_ 'i:n | |||||
| uinti U#'i:ntI | |||||
| _b) uí wi: | |||||
| _bh) uí wi: | |||||
| g) uí wi: | |||||
| umh u: | |||||
| L03) ui @I | |||||
| _d) u (l_ O# | |||||
| g) ui (gh_ @i: | |||||
| gh) ui (gh_ @i: | |||||
| uí i: | |||||
| uachai 'ux@ | |||||
| .group ú | .group ú | ||||
| ú u: | |||||
| únmh u:nv | |||||
| ú u: | |||||
| únmh u:nv | |||||
| úi (r u: | |||||
| úi (r u: | |||||
| // words which contain j k q v w x y z, speak as English | |||||
| .group j | .group j | ||||
| j dZ | |||||
| j _^_EN | |||||
| .group k | |||||
| k _^_EN | |||||
| .group q | .group q | ||||
| q k | |||||
| qu (A kw | |||||
| q _^_EN | |||||
| .group v | .group v | ||||
| v v | |||||
| v _^_EN | |||||
| .group w | .group w | ||||
| w w | |||||
| w _^_EN | |||||
| .group x | .group x | ||||
| x ks | |||||
| _) x z | |||||
| x _^_EN | |||||
| .group y | .group y | ||||
| y (A j | |||||
| _A) y j | |||||
| y i | |||||
| y _^_EN | |||||
| .group z | .group z | ||||
| z z | |||||
| z _^_EN | |||||
| .group | |||||
| í 'i: | |||||
| ≠ nEmEJEnlY: | ≠ nEmEJEnlY: | ||||
| _ˇ lEfEle:n^i:l | _ˇ lEfEle:n^i:l | ||||
| _¡ AlSo:indEks | _¡ AlSo:indEks | ||||
| _braille bR2Ail:E | |||||
| // Alphabets | // Alphabets |
| körö) s (szeg S | körö) s (szeg S | ||||
| kolbászo) s S | kolbászo) s S | ||||
| feldolgozá) s S | feldolgozá) s S | ||||
| _ki) s (szín S | |||||
| .group ss | .group ss | ||||
| ssz ss2 | ssz ss2 |
| accessoire aksEsw'ar@ | accessoire aksEsw'ar@ | ||||
| accessoires aksEsw'ar@s | accessoires aksEsw'ar@s | ||||
| actiepunt Aksip8nt | actiepunt Aksip8nt | ||||
| adhesie Ath'e:zi | |||||
| agenda $2 | agenda $2 | ||||
| aldus Ald'8s | aldus Ald'8s | ||||
| alles Al@s | alles Al@s | ||||
| augustus VUQ'8st8s | augustus VUQ'8st8s | ||||
| bacterie bAkt'I:ri | bacterie bAkt'I:ri | ||||
| banengids $alt3 | banengids $alt3 | ||||
| bascule $2 | |||||
| beha be:_h'a: | beha be:_h'a: | ||||
| beige bEZ@ | beige bEZ@ | ||||
| benard b@nArt | benard b@nArt | ||||
| chat tSEt | chat tSEt | ||||
| check tSEk | check tSEk | ||||
| chiffon Sif'On | chiffon Sif'On | ||||
| cohesie $2 | |||||
| contour ko:nt'ur | contour ko:nt'ur | ||||
| controle $2 | controle $2 | ||||
| coureur ku:r'Y:r | coureur ku:r'Y:r | ||||
| crèches krES@s | crèches krES@s | ||||
| damascering damA;s'e:rIN | damascering damA;s'e:rIN | ||||
| december $2 | december $2 | ||||
| desillusie dEsIlyzi | |||||
| dieet $2 | dieet $2 | ||||
| diesel diz@l | diesel diz@l | ||||
| discipline $3 | |||||
| //discussie $2 | //discussie $2 | ||||
| divers div'Ers | divers div'Ers | ||||
| diftongering dIft,ON'e:rIN | diftongering dIft,ON'e:rIN | ||||
| elfstedentocht ,Elf'ste:d@ntoQt | elfstedentocht ,Elf'ste:d@ntoQt | ||||
| embouchuur A~buS'yr // embouchure | embouchuur A~buS'yr // embouchure | ||||
| enorm $2 | enorm $2 | ||||
| erosie e:r'o:zi | |||||
| eucharistie $4 | eucharistie $4 | ||||
| explosie $2 | |||||
| februari fe:bry'a:ri | februari fe:bry'a:ri | ||||
| fiche fiS@ | fiche fiS@ | ||||
| franchise frA'Si:z@ | franchise frA'Si:z@ | ||||
| ingrediënt $4 | ingrediënt $4 | ||||
| ingenieur Inzj@nj'Y:r | ingenieur Inzj@nj'Y:r | ||||
| informatie $3 | informatie $3 | ||||
| invasie $2 | |||||
| januari $3 | januari $3 | ||||
| kadaster $2 | kadaster $2 | ||||
| mangat $alt3 | mangat $alt3 |
| @) es (_S2qd 'Es // double the previous vowel | @) es (_S2qd 'Es // double the previous vowel | ||||
| @) es (_$w_alt2S1 s // just remove 's' | @) es (_$w_alt2S1 s // just remove 's' | ||||
| KAC) es (_S2e @s | KAC) es (_S2e @s | ||||
| es (ie_ e:z | |||||
| @) essen (_S5qd 'Es@n | @) essen (_S5qd 'Es@n | ||||
| @) eres (_S4qd @r'Es | @) eres (_S4qd @r'Es | ||||
| @) eressen (_S7sq @r'Es@n | @) eressen (_S7sq @r'Es@n | ||||
| @) etten (_S3 @n | @) etten (_S3 @n | ||||
| @) es (_$p_alt @s // for wors which end on [@] with multiple on 's'. | @) es (_$p_alt @s // for wors which end on [@] with multiple on 's'. | ||||
| @) esisch 'e:zis | |||||
| euille @'y | euille @'y | ||||
| eum (_$w_alt 'e:8m | eum (_$w_alt 'e:8m | ||||
| @mus) eum (_ ,e:8m // compounds | @mus) eum (_ ,e:8m // compounds | ||||
| m) ie (_ 'i | m) ie (_ 'i | ||||
| p) ie (_ 'i | p) ie (_ 'i | ||||
| ss) ie (_ =i | ss) ie (_ =i | ||||
| s) ië (_ =i@ | |||||
| ieus (_ ij'Y:s | ieus (_ ij'Y:s | ||||
| ieuze (_ ij'Y:z@ | ieuze (_ ij'Y:z@ | ||||
| ieuzer (_ ij'Y:z@r | ieuzer (_ ij'Y:z@r | ||||
| ie (CtjeX_ 'i | ie (CtjeX_ 'i | ||||
| ie (ren_ 'i | ie (ren_ 'i | ||||
| ie (rd_ 'i | ie (rd_ 'i | ||||
| iën (_ 'i@n | |||||
| CAns) ie (_ =i | |||||
| CAss) ie (_ =i | |||||
| @) ig (_S2dq =@x | @) ig (_S2dq =@x | ||||
| @) ige (_S3dq =@Q@ | @) ige (_S3dq =@Q@ | ||||
| @) igen (_ =@Q@n | @) igen (_ =@Q@n | ||||
| &) iko (_ =iko: | &) iko (_ =iko: | ||||
| _) in (C@P2 'In | _) in (C@P2 'In | ||||
| // _) in (gP2 'In | // _) in (gP2 'In | ||||
| _) in (do In | |||||
| ine (_ 'in@ | |||||
| ines (_ 'in@s | |||||
| io (nage iO | io (nage iO | ||||
| io (de_ i'o: | io (de_ i'o: | ||||
| iodes (_ i'o:d@s | iodes (_ i'o:d@s | ||||
| pl) oi (t v#A | pl) oi (t v#A | ||||
| c) oi (ffu v#A | c) oi (ffu v#A | ||||
| pr) o (gram o: | pr) o (gram o: | ||||
| _) on (@P2 %On | |||||
| oo (X 'o: | oo (X 'o: | ||||
| oon 'o:n // in compounds, eg. telefoongesprek | oon 'o:n // in compounds, eg. telefoongesprek | ||||
| oo (C_ 'o: | oo (C_ 'o: | ||||
| .group on | .group on | ||||
| _) on (@P2 %On | |||||
| _) onaan (@P5 On'a:n | _) onaan (@P5 On'a:n | ||||
| _) onder (@P5 'Ond@r | _) onder (@P5 'Ond@r | ||||
| _) onge (@P4 ,OnQ@ | _) onge (@P4 ,OnQ@ | ||||
| .group p | .group p | ||||
| p p | p p | ||||
| p) p | p) p | ||||
| @) si (o S | @) si (o S | ||||
| A) si (o Z | A) si (o Z | ||||
| @) ssi (o S | @) ssi (o S | ||||
| CAr) sie (_ =zi | |||||
| _) standaard (@P9 st'Anda:rt | _) standaard (@P9 st'Anda:rt | ||||
| @) straat (_S6 stra:t | @) straat (_S6 stra:t | ||||
| uw (_ yU | uw (_ yU | ||||
| _) uit (@P3 'Wyt | _) uit (@P3 'Wyt | ||||
| uul (_ 'yl // from -ule | |||||
| us (_ 8s | us (_ 8s | ||||
| u (sie_ 'y | u (sie_ 'y | ||||
| @) ute (_ 'yt | @) ute (_ 'yt |
| // pronouns | // pronouns | ||||
| eu $u+ $verbf | eu $u+ $verbf | ||||
| tu $u+ | |||||
| você vose $u2+ | |||||
| ele 'ely $u+ | |||||
| ela $u+ | |||||
| nós $u+ | |||||
| vós $u+ | |||||
| vocês $u2+ | |||||
| eles $u+ | |||||
| elas $u+ | |||||
| tu $u+ $verbf | |||||
| você vose $u2+ $verbf | |||||
| ele 'ely $u+ $verbf | |||||
| ela $u+ $verbf | |||||
| nós $u+ $verbf | |||||
| vós $u+ $verbf | |||||
| vocês $u2+ $verbf | |||||
| eles $u+ $verbf | |||||
| elas $u+ $verbf | |||||
| me $u // reflexive | me $u // reflexive | ||||
| te $u | |||||
| me $u $verbf | |||||
| te $u $verbf | |||||
| nos $u $nounf | nos $u $nounf | ||||
| la $u | la $u | ||||
| lo $u | lo $u | ||||
| coto $alt2 | coto $alt2 | ||||
| cratera $alt | cratera $alt | ||||
| crede $alt2 | crede $alt2 | ||||
| decore $alt | |||||
| desapego $alt2 $noun | desapego $alt2 $noun | ||||
| descabelo $alt | descabelo $alt | ||||
| descordo $alt | descordo $alt | ||||
| desemprego $alt2 | |||||
| desemprego $alt $verb | |||||
| desespero $alt2 $noun | desespero $alt2 $noun | ||||
| desfecho $alt2 | desfecho $alt2 | ||||
| desprezo $alt2 $noun | desprezo $alt2 $noun | ||||
| joguete $alt2 | joguete $alt2 | ||||
| lambreta $alt2 | lambreta $alt2 | ||||
| lebre $alt | lebre $alt | ||||
| leste $alt2 $verb | |||||
| lopes $alt | lopes $alt | ||||
| maior $alt | maior $alt | ||||
| maleta $alt2 | maleta $alt2 | ||||
| parede $alt2 | parede $alt2 | ||||
| pastora $alt2 | pastora $alt2 | ||||
| pedra $alt | pedra $alt | ||||
| pela $alt $verb | |||||
| pelego $alt2 | pelego $alt2 | ||||
| pelo $alt $verb | pelo $alt $verb | ||||
| peso $alt $verb | peso $alt $verb | ||||
| suporto $alt | suporto $alt | ||||
| suor swOr | suor swOr | ||||
| tapete $alt2 | tapete $alt2 | ||||
| temores $alt2 | |||||
| tempero $alt2 $noun | tempero $alt2 $noun | ||||
| terrores $alt2 | |||||
| teta $alt2 | teta $alt2 | ||||
| tetra $alt | tetra $alt | ||||
| tocha $alt | tocha $alt |
| _perd) e (L05_ e | _perd) e (L05_ e | ||||
| _quis) e (L05_ E | _quis) e (L05_ E | ||||
| _soub) e (L05_ E | _soub) e (L05_ E | ||||
| tend) e (L06_ e / a- con- en- es- | |||||
| _mord) e (L06_ e | |||||
| _rend) e (L06_ e | _rend) e (L06_ e | ||||
| _vend) e (L06_ e | _vend) e (L06_ e | ||||
| tend) e (L06_ e / a- con- en- es- | |||||
| _compreend) e (L06_ e | |||||
| prend) e (L06_ e / a- rea- des- desa- | |||||
| _arrepend) e (L06_ e | |||||
| _defend) e (L06_ e | |||||
| _depend) e (L06_ e | |||||
| _escond) e (L06_ e | |||||
| preend) e (L06_ e / com- a- re- sur- | |||||
| respond) e (L06_ e // cor- | respond) e (L06_ e // cor- | ||||
| _enraivec) e (L07_ e | |||||
| _espairec) e (L07_ e | |||||
| bat) e (L07_ e // re- com- | bat) e (L07_ e // re- com- | ||||
| ced) e (L07_ e // pro- con- su- | ced) e (L07_ e // pro- con- su- | ||||
| met) e (L07_ e // co- pro- arre- re- intro- compro- sub- | met) e (L07_ e // co- pro- arre- re- intro- compro- sub- | ||||
| mov) e (L07_ e / re- co- | |||||
| viv) e (L07_ e // re- | viv) e (L07_ e // re- | ||||
| _beb) e (L07_ e | _beb) e (L07_ e | ||||
| _com) e (L07_ e | _com) e (L07_ e | ||||
| _tem) e (L07_ e | _tem) e (L07_ e | ||||
| colh) e (L07_ e // & es- | colh) e (L07_ e // & es- | ||||
| corr) e (L07_ e // per- con- in- so- dis- | corr) e (L07_ e // per- con- in- so- dis- | ||||
| ench) e (L07_ e / pre- | |||||
| nasc) e (L07_ e / re- | nasc) e (L07_ e / re- | ||||
| tend) e (L07_ e / en- con- a- es- | |||||
| torc) e (L07_ e // con- | torc) e (L07_ e // con- | ||||
| venc) e (L07_ e // con- | venc) e (L07_ e // con- | ||||
| vert) e (L07_ e // in- re- con- | vert) e (L07_ e // in- re- con- | ||||
| volv) e (L07_ e de- en- re- | |||||
| _eleg) e (L07_ e | _eleg) e (L07_ e | ||||
| _ergu) e (L07_ e | _ergu) e (L07_ e | ||||
| _escond) e (L06_ e | |||||
| _mord) e (L06_ e | |||||
| _mord) e (L07_ e | _mord) e (L07_ e | ||||
| _morr) e (L07_ e | _morr) e (L07_ e | ||||
| _perd) e (L07_ e | _perd) e (L07_ e | ||||
| merec) e (L07_ e // des- | merec) e (L07_ e // des- | ||||
| padec) e (L07_ e // com- | padec) e (L07_ e // com- | ||||
| parec) e (L07_ e // a- rea- com- desa- | parec) e (L07_ e // a- rea- com- desa- | ||||
| prend) e (L07_ e // a- rea- des- | |||||
| screv) e (L07_ e / e- in- ree- pre- de- | |||||
| _abastec) e (L07_ e | |||||
| _aborrec) e (L07_ e | _aborrec) e (L07_ e | ||||
| _absolv) e (L07_ e | |||||
| _adoec) e (L07_ e | _adoec) e (L07_ e | ||||
| _adormec) e (L07_ e | _adormec) e (L07_ e | ||||
| _agradec) e (L07_ e | _agradec) e (L07_ e | ||||
| _amanhec) e (L07_ e | _amanhec) e (L07_ e | ||||
| _amolec) e (L07_ e | |||||
| _anoitec) e (L07_ e | _anoitec) e (L07_ e | ||||
| _arrepend) e (L06_ e | |||||
| _arrepend) e (L07_ e | _arrepend) e (L07_ e | ||||
| _cresc) e (L07_ e | _cresc) e (L07_ e | ||||
| _defend) e (L06_ e | |||||
| _defend) e (L07_ e | _defend) e (L07_ e | ||||
| _depend) e (L06_ e | |||||
| _depend) e (L07_ e | _depend) e (L07_ e | ||||
| _desguarnec) e (L07_ e | |||||
| _emagrec) e (L07_ e | _emagrec) e (L07_ e | ||||
| _endurec) e (L07_ e | |||||
| _enlouquec) e (L07_ e | _enlouquec) e (L07_ e | ||||
| _enraivec) e (L07_ e | |||||
| _entristec) e (L07_ e | _entristec) e (L07_ e | ||||
| _envaidec) e (L07_ e | _envaidec) e (L07_ e | ||||
| _envelhec) e (L07_ e | _envelhec) e (L07_ e | ||||
| _esclarec) e (L07_ e | _esclarec) e (L07_ e | ||||
| _escond) e (L07_ e | _escond) e (L07_ e | ||||
| _escurec) e (L07_ e | _escurec) e (L07_ e | ||||
| _espairec) e (L07_ e | |||||
| _esquec) e (L07_ e | _esquec) e (L07_ e | ||||
| _interromp) e (L07_ e | _interromp) e (L07_ e | ||||
| obedec) e (L07_ e / des- | |||||
| _suspend) e (L07_ e | |||||
| _perec) e (L07_ e | _perec) e (L07_ e | ||||
| _rejuvenec) e (L07_ e | _rejuvenec) e (L07_ e | ||||
| aprend) e (L07_ e // re- | |||||
| _resolv) e (L07_ e | |||||
| _suspend) e (L07_ e | |||||
| conhec) e (L07_ e // & re- des- | conhec) e (L07_ e // & re- des- | ||||
| tend) e (L07_ e / en- con- a- es- | |||||
| estabelec) e (L07_ e / re- | |||||
| favorec) e (L07_ e / des- | |||||
| obedec) e (L07_ e / des- | |||||
| preend) e (L07_ e // sur- com- | preend) e (L07_ e // sur- com- | ||||
| proteg) e (L07_ e / des- | |||||
| respond) e (L07_ e // cor- | respond) e (L07_ e // cor- | ||||
| qu) e (brL04_ E | qu) e (brL04_ E | ||||
| acel) e (rL04_ E / des- | |||||
| _hosp) e (dL03_ E | _hosp) e (dL03_ E | ||||
| _amort) e (çL03_ e | |||||
| _in) e (ptL03_ E | |||||
| _gr) e (gL03_ e | _gr) e (gL03_ e | ||||
| _n) e (grL03_ e | _n) e (grL03_ e | ||||
| _estr) ei (L03_ EI | _estr) ei (L03_ EI | ||||
| _inv) e (jL04_ E | _inv) e (jL04_ E | ||||
| _dec) e (pL04_ E | _dec) e (pL04_ E | ||||
| _in) e (ptL03_ E | |||||
| _p) e (quL02_ E | _p) e (quL02_ E | ||||
| _s) e (quL02_ E | _s) e (quL02_ E | ||||
| l) e (que_ E | l) e (que_ E | ||||
| _sup) e (rL04_ E | _sup) e (rL04_ E | ||||
| _tol) e (rL04_ E | _tol) e (rL04_ E | ||||
| _ven) e (rL04_ E | _ven) e (rL04_ E | ||||
| acel) e (rL04_ E / des- | |||||
| _coop) e (rL04_ E | _coop) e (rL04_ E | ||||
| _temp) e (rL04_ E | _temp) e (rL04_ E | ||||
| _v) e (rbL03_ E | _v) e (rbL03_ E | ||||
| _bez) e (rrL03_ e | _bez) e (rrL03_ e | ||||
| _inv) e (rtL03_ e | _inv) e (rtL03_ e | ||||
| _f) e (rvL03_ e | _f) e (rvL03_ e | ||||
| _enraiv) e (çL03_ e | |||||
| _p) e (sL01_ E | _p) e (sL01_ E | ||||
| _d) e (scL02_ E | _d) e (scL02_ E | ||||
| _cr) e (scL02_ E | _cr) e (scL02_ E | ||||
| _p) e (scL03_ E | _p) e (scL03_ E | ||||
| _m) e (sclL04 E | _m) e (sclL04 E | ||||
| _d) e (spL02_ E | |||||
| _p) e (squL02_ E | _p) e (squL02_ E | ||||
| _l) e (ssL02_ e | _l) e (ssL02_ e | ||||
| _esp) e (ssL03_ e | _esp) e (ssL03_ e | ||||
| _acont) e (çL01_ e | _acont) e (çL01_ e | ||||
| _arref) e (çL01_ e | _arref) e (çL01_ e | ||||
| _emagr) e (çL03 | _emagr) e (çL03 | ||||
| pr) e (çL03_ e / a- | |||||
| mer) e (çL03_ e / des- | |||||
| pad) e (çL03_ e // com- | |||||
| par) e (çL03_ e // a- re- com- rea- desa- | par) e (çL03_ e // a- re- com- rea- desa- | ||||
| _ado) e (çL03_ e | _ado) e (çL03_ e | ||||
| _aqu) e (çL03_ e | _aqu) e (çL03_ e | ||||
| _car) e (çL03_ e | _car) e (çL03_ e | ||||
| _mer) e (çL03_ e | |||||
| pad) e (çL03_ e // com- | |||||
| _per) e (çL03_ e | |||||
| _per) e (çL03_ e_ | |||||
| conh) e (çL03_ e // re- | conh) e (çL03_ e // re- | ||||
| obed) e (çL03_ e / des- | |||||
| _esqu) e (çL03_ e | _esqu) e (çL03_ e | ||||
| _forn) e (çL03_ e | _forn) e (çL03_ e | ||||
| obed) e (çL03_ e / des- | |||||
| _ofer) e (çL03_ e | _ofer) e (çL03_ e | ||||
| pr) e (çL03_ e / a- | |||||
| _espair) e (çL03_ e | |||||
| abast) e (çL03_ e // re- | abast) e (çL03_ e // re- | ||||
| _aborr) e (çL03_ e | _aborr) e (çL03_ e | ||||
| _agrad) e (çL03_ e | _agrad) e (çL03_ e | ||||
| _amanh) e (çL03_ e | _amanh) e (çL03_ e | ||||
| _amort) e (çL03_ e | |||||
| _anoit) e (çL03_ e | _anoit) e (çL03_ e | ||||
| _desguarnec) e (çL03_ e | |||||
| _enfraqu) e (çL03_ e | _enfraqu) e (çL03_ e | ||||
| _enlouqu) e (çL03_ e | _enlouqu) e (çL03_ e | ||||
| _enraiv) e (çL03_ e | |||||
| _enriqu) e (çL03_ e | _enriqu) e (çL03_ e | ||||
| _entrist) e (çL03_ e | _entrist) e (çL03_ e | ||||
| _envaid) e (çL03_ e | _envaid) e (çL03_ e | ||||
| _envelh) e (çL03_ e | _envelh) e (çL03_ e | ||||
| _esclar) e (çL03_ e | _esclar) e (çL03_ e | ||||
| _espair) e (çL03_ e | |||||
| _estrem) e (çL03_ e | _estrem) e (çL03_ e | ||||
| _fortal) e (çL03_ e | _fortal) e (çL03_ e | ||||
| _rejuven) e (çL03_ e | _rejuven) e (çL03_ e | ||||
| estabel) e (çL03_ e / re- | |||||
| //endsort | //endsort | ||||
| _deb) o (chL04_ O | _deb) o (chL04_ O | ||||
| _desabr) o (chL04_ O | _desabr) o (chL04_ O | ||||
| _s) o (frL02_ O | _s) o (frL02_ O | ||||
| r) o (gL04_ O / inter- | |||||
| _j) o (gL04_ O | _j) o (gL04_ O | ||||
| _r) o (gL04_ O | |||||
| _af) o (gL04_ O | |||||
| _adv) o (gL04_ O | _adv) o (gL04_ O | ||||
| _ref) o (gL04_ O | _ref) o (gL04_ O | ||||
| _ap) oi (L01_ OI | _ap) oi (L01_ OI | ||||
| _m) o (lhL04_ O | _m) o (lhL04_ O | ||||
| env) o (lvL02_ O / des- | env) o (lvL02_ O / des- | ||||
| _abs) o (lvL02_ O | _abs) o (lvL02_ O | ||||
| _dev) o (lvL02_ O | |||||
| _res) o (lvL02_ O | _res) o (lvL02_ O | ||||
| _rev) o (lvL02_ O | _rev) o (lvL02_ O | ||||
| _ent) o (pL02_ O | _ent) o (pL02_ O | ||||
| _r) o (snL04_ O | _r) o (snL04_ O | ||||
| _c) o (spL02_ O | _c) o (spL02_ O | ||||
| p) ostos (_ Ost=Us# // dispostos etc. | p) ostos (_ Ost=Us# // dispostos etc. | ||||
| _ad) o (çL03_ O | |||||
| _end) o (çL03_ O | |||||
| //endsort | //endsort | ||||
| .group ô | .group ô | ||||
| r (C *@- | r (C *@- | ||||
| A) r (A * | A) r (A * | ||||
| A) r (_A * | A) r (_A * | ||||
| rr x | |||||
| rr rx | |||||
| XC) r (A R | XC) r (A R | ||||
| C) r (A * | C) r (A * | ||||
| //?1 C) r (A r | //?1 C) r (A r |
| 88 phoneme tables | 88 phoneme tables | ||||
| new total | new total | ||||
| base 109 109 | base 109 109 | ||||
| consonants 10 118 | |||||
| consonants 11 119 | |||||
| base2 26 125 | base2 26 125 | ||||
| en 54 156 | en 54 156 | ||||
| en-n 33 156 | en-n 33 156 | ||||
| es-la 1 125 | es-la 1 125 | ||||
| ca 11 127 | ca 11 127 | ||||
| an 4 125 | an 4 125 | ||||
| pt 29 140 | |||||
| pt-pt 20 140 | |||||
| pt 32 143 | |||||
| pt-pt 20 143 | |||||
| ro 36 148 | ro 36 148 | ||||
| el 10 125 | el 10 125 | ||||
| grc 12 129 | grc 12 129 | ||||
| [l/] fr | [l/] fr | ||||
| l/l_@ [l/3] base | l/l_@ [l/3] base | ||||
| [l/] fr | [l/] fr | ||||
| l/l@ [¨\0] base | |||||
| l/l@ [¨ì,] base | |||||
| [l#] base | [l#] base | ||||
| [l] fr | [l] fr | ||||
| [l/2] fr | [l/2] fr | ||||
| l/L2_uL [l/2] base | l/L2_uL [l/2] base | ||||
| l/l_3 [l/] de | l/l_3 [l/] de | ||||
| l/l_4 [ll] sq | l/l_4 [ll] sq | ||||
| l/la [¨\0] base | |||||
| l/la [¨ì,] base | |||||
| [l#] base | [l#] base | ||||
| [l] fr | [l] fr | ||||
| [l/2] fr | [l/2] fr | ||||
| [K] tn | [K] tn | ||||
| l/l_a [l/3] base | l/l_a [l/3] base | ||||
| [l/] fr | [l/] fr | ||||
| l/le [¨\0] base | |||||
| l/le [¨ì,] base | |||||
| [l#] base | [l#] base | ||||
| [l] fr | [l] fr | ||||
| [l/2] fr | [l/2] fr | ||||
| [&:] af | [&:] af | ||||
| l/l_front [L] sq | l/l_front [L] sq | ||||
| l/l_front_ [l/4] sq | l/l_front_ [l/4] sq | ||||
| l/li [¨\0] base | |||||
| l/li [¨ì,] base | |||||
| [l#] base | [l#] base | ||||
| [l] fr | [l] fr | ||||
| [l/2] fr | [l/2] fr | ||||
| ll/_ll [L] base | ll/_ll [L] base | ||||
| l/l_long [l] base | l/l_long [l] base | ||||
| [l] fr | [l] fr | ||||
| l/lo [¨\0] base | |||||
| l/lo [¨ì,] base | |||||
| [l#] base | [l#] base | ||||
| [l/2] fr | [l/2] fr | ||||
| [K] nso | [K] nso | ||||
| [l;] lt | [l;] lt | ||||
| [l] ru | [l] ru | ||||
| [l^] ru | [l^] ru | ||||
| l/lu [¨\0] base | |||||
| l/lu [¨ì,] base | |||||
| [l#] base | [l#] base | ||||
| [l] fr | [l] fr | ||||
| [l/2] fr | [l/2] fr | ||||
| [k] lv | [k] lv | ||||
| [k] el | [k] el | ||||
| [k] sq | [k] sq | ||||
| ustop/k_asp [kh] consonants | |||||
| ustop/k_asp [k#] consonants | |||||
| [kh] consonants | |||||
| [g#] hi | [g#] hi | ||||
| [kh] zh | [kh] zh | ||||
| [k#] ka | [k#] ka | ||||
| [kh] tn | [kh] tn | ||||
| ustop/k_asp_a [k#] ka | |||||
| ustop/k_asp_e [k#] ka | |||||
| ustop/k_asp_a [k#] consonants | |||||
| [k#] ka | |||||
| ustop/k_asp_e [k#] consonants | |||||
| [k#] ka | |||||
| ustop/k_asp_u [k#] ka | ustop/k_asp_u [k#] ka | ||||
| ustop/k_ejc [k`] am | ustop/k_ejc [k`] am | ||||
| ustop/ki [k] base | ustop/ki [k] base |
| WAV(ustop/k_asp, 90) | WAV(ustop/k_asp, 90) | ||||
| endphoneme | endphoneme | ||||
| phoneme k# | |||||
| vls vel stop | |||||
| lengthmod 2 | |||||
| voicingswitch g | |||||
| Vowelin f1=1 f2=1400 -100 100 f3=-150 80 | |||||
| Vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20 | |||||
| IF nextPh(isPause2) THEN | |||||
| WAV(ustop/k_asp, 40) | |||||
| ENDIF | |||||
| IF nextPhW(#e) OR nextPhW(#i) THEN | |||||
| WAV(ustop/k_asp_e, 40) | |||||
| ELIF nextPhW(#o) OR nextPhW(#u) THEN | |||||
| WAV(ustop/k_asp_a, 25) | |||||
| ELSE | |||||
| WAV(ustop/k_asp_a, 30) | |||||
| ENDIF | |||||
| endphoneme | |||||
| phoneme s2 // second part of a long [s:] | phoneme s2 // second part of a long [s:] | ||||
| vls alv frc sibilant | vls alv frc sibilant |
| IF nextPhW(#e) OR nextPhW(#i) THEN | IF nextPhW(#e) OR nextPhW(#i) THEN | ||||
| WAV(ustop/k_asp_e, 40) | WAV(ustop/k_asp_e, 40) | ||||
| ELIF nextPhW(#o) OR nextPhW(#u) THEN | ELIF nextPhW(#o) OR nextPhW(#u) THEN | ||||
| WAV(ustop/k_asp_u, 50) | |||||
| WAV(ustop/k_asp_u, 30) | |||||
| ELSE | ELSE | ||||
| WAV(ustop/k_asp_a, 45) | |||||
| WAV(ustop/k_asp_a, 35) | |||||
| ENDIF | ENDIF | ||||
| endphoneme | endphoneme | ||||
| endphoneme | endphoneme | ||||
| phoneme k# | phoneme k# | ||||
| import_phoneme consonants/kh | |||||
| import_phoneme consonants/k# | |||||
| voicingswitch g# | voicingswitch g# | ||||
| endphoneme | endphoneme | ||||
| ipa ʃ | ipa ʃ | ||||
| endphoneme | endphoneme | ||||
| endphoneme | endphoneme | ||||
| // testing | |||||
| phoneme x2 | |||||
| import_phoneme af/x2 | |||||
| endphoneme | |||||
| phoneme x3 | |||||
| import_phoneme base/x | |||||
| endphoneme | |||||
| phoneme R1 | |||||
| import_phoneme base/R | |||||
| endphoneme | |||||
| phoneme n | phoneme n | ||||
| vcd alv nasal | vcd alv nasal | ||||
| Vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk | |||||
| Vowelout f1=2 f2=1500 -300 250 f3=-100 80 rms=20 brk | |||||
| lengthmod 4 | lengthmod 4 | ||||
| IF KlattSynth THEN | IF KlattSynth THEN | ||||
| vcd rfx nasal | vcd rfx nasal | ||||
| ipa ɳ | ipa ɳ | ||||
| starttype n endtype n | starttype n endtype n | ||||
| Vowelin f1=2 f2=1200 -300 250 f3=-500 80 rms=20 colr=2 | |||||
| Vowelout f1=2 f2=1200 -300 250 f3=-500 80 rms=20 brk colr=2 | |||||
| Vowelin f1=2 f2=1700 -300 300 f3=-500 80 rms=20 colr=2 | |||||
| Vowelout f1=2 f2=1700 -300 300 f3=-500 80 rms=20 brk colr=2 | |||||
| lengthmod 4 | lengthmod 4 | ||||
| IF KlattSynth THEN | IF KlattSynth THEN | ||||
| Vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20 | Vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20 | ||||
| IF nextPh(isPause) THEN | IF nextPh(isPause) THEN | ||||
| WAV(ufric/x, 120) | |||||
| WAV(ufric/x, 110) | |||||
| ENDIF | ENDIF | ||||
| WAV(ufric/x_hr, 25) | |||||
| WAV(ufric/x_hr, 20) | |||||
| endphoneme | endphoneme | ||||
| IF nextPh(isPause) THEN | IF nextPh(isPause) THEN | ||||
| WAV(ufric/xx, 70) | WAV(ufric/xx, 70) | ||||
| ENDIF | ENDIF | ||||
| WAV(ufric/xx) | |||||
| WAV(ufric/xx,80) | |||||
| endphoneme | endphoneme | ||||
| phonemetable kl base | phonemetable kl base | ||||
| include ph_greenlandic | include ph_greenlandic | ||||
| } // end of LookupLetter | } // end of LookupLetter | ||||
| static const char *hex_letters[] = {"'e:j","b'i:","s'i:","d'i:","'i:","'Ef"}; // using phonemes available to all languages | |||||
| int TranslateLetter(Translator *tr, char *word, char *phonemes, int control) | int TranslateLetter(Translator *tr, char *word, char *phonemes, int control) | ||||
| {//========================================================================= | {//========================================================================= | ||||
| char *p2; | char *p2; | ||||
| char *pbuf; | char *pbuf; | ||||
| ALPHABET *alphabet; | ALPHABET *alphabet; | ||||
| int al_offset; | |||||
| int al_flags; | |||||
| int language; | int language; | ||||
| int phontab_1; | int phontab_1; | ||||
| int speak_letter_number; | int speak_letter_number; | ||||
| return(0); | return(0); | ||||
| } | } | ||||
| alphabet = AlphabetFromChar(letter); | |||||
| al_offset = 0; | |||||
| al_flags = 0; | |||||
| if((alphabet = AlphabetFromChar(letter)) != NULL) | |||||
| { | |||||
| al_offset = alphabet->offset; | |||||
| al_flags = alphabet->flags; | |||||
| } | |||||
| if(alphabet != current_alphabet) | if(alphabet != current_alphabet) | ||||
| { | { | ||||
| // speak the name of the alphabet | // speak the name of the alphabet | ||||
| current_alphabet = alphabet; | current_alphabet = alphabet; | ||||
| if((alphabet != NULL) && !(alphabet->flags & AL_DONT_NAME) && (alphabet->offset != translator->letter_bits_offset)) | |||||
| if((alphabet != NULL) && !(al_flags & AL_DONT_NAME) && (al_offset != translator->letter_bits_offset)) | |||||
| { | { | ||||
| if((alphabet->flags & AL_DONT_NAME) || (alphabet->offset == translator->langopts.alt_alphabet)) | |||||
| if((al_flags & AL_DONT_NAME) || (al_offset == translator->langopts.alt_alphabet)) | |||||
| { | { | ||||
| // don't say the alphabet name | // don't say the alphabet name | ||||
| } | } | ||||
| if(ph_buf[0] == 0) | if(ph_buf[0] == 0) | ||||
| { | { | ||||
| if((alphabet != NULL) && (alphabet->language != 0) && !(alphabet->flags & AL_NOT_LETTERS)) | |||||
| if((alphabet != NULL) && (alphabet->language != 0) && !(al_flags & AL_NOT_LETTERS)) | |||||
| language = alphabet->language; | language = alphabet->language; | ||||
| else | else | ||||
| language = L('e','n'); | language = L('e','n'); | ||||
| if(ph_buf[0] == 0) | if(ph_buf[0] == 0) | ||||
| { | { | ||||
| // character name not found | // character name not found | ||||
| if((letter >= 0x2800) && (letter <= 0x28ff)) | |||||
| { | |||||
| // braille dots symbol | |||||
| Lookup(translator, "_braille", ph_buf); | |||||
| if(ph_buf[0] == 0) | |||||
| { | |||||
| EncodePhonemes("br'e:l", ph_buf, NULL); | |||||
| } | |||||
| if(ph_buf[0] != 0) | |||||
| { | |||||
| pbuf = ph_buf + strlen(ph_buf); | |||||
| for(ix=0; ix<8; ix++) | |||||
| { | |||||
| if(letter & (1 << ix)) | |||||
| { | |||||
| *pbuf++ = phonPAUSE_VSHORT; | |||||
| LookupLetter(translator, '1'+ix, 0, pbuf, 1); | |||||
| pbuf += strlen(pbuf); | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| if(ph_buf[0]== 0) | if(ph_buf[0]== 0) | ||||
| { | { | ||||
| if(iswalpha(letter)) | |||||
| Lookup(translator, "_?A", ph_buf); | |||||
| if((ph_buf[0]==0) && !iswspace(letter)) | |||||
| Lookup(translator, "_??", ph_buf); | |||||
| speak_letter_number = 1; | speak_letter_number = 1; | ||||
| if(ph_buf[0] == 0) | |||||
| if(!(al_flags & AL_NO_SYMBOL)) | |||||
| { | { | ||||
| EncodePhonemes("l'et@", ph_buf, NULL); | |||||
| if(translator->letter_bits_offset != 0) | |||||
| speak_letter_number = 0; // non-latin alphabet, no _?? entry, may not be able to speak hexadecimal | |||||
| if(iswalpha(letter)) | |||||
| Lookup(translator, "_?A", ph_buf); | |||||
| if((ph_buf[0]==0) && !iswspace(letter)) | |||||
| Lookup(translator, "_??", ph_buf); | |||||
| if(ph_buf[0] == 0) | |||||
| { | |||||
| EncodePhonemes("l'et@", ph_buf, NULL); | |||||
| } | |||||
| } | } | ||||
| if(!(control & 2) && (alphabet != NULL) && (alphabet->flags & AL_NOT_CODE)) | |||||
| if(!(control & 2) && (al_flags & AL_NOT_CODE)) | |||||
| { | { | ||||
| // don't speak the character code number | |||||
| // don't speak the character code number, unless we want full details of this character | |||||
| speak_letter_number = 0; | speak_letter_number = 0; | ||||
| } | } | ||||
| if(speak_letter_number) | if(speak_letter_number) | ||||
| { | { | ||||
| // speak the hexadecimal number of the character code | |||||
| sprintf(hexbuf,"%x",letter); | |||||
| if(al_offset == 0x2800) | |||||
| { | |||||
| // braille dots symbol, list the numbered dots | |||||
| p2 = hexbuf; | |||||
| for(ix=0; ix<8; ix++) | |||||
| { | |||||
| if(letter & (1 << ix)) | |||||
| { | |||||
| *p2++ = '1'+ix; | |||||
| } | |||||
| } | |||||
| *p2 = 0; | |||||
| } | |||||
| else | |||||
| { | |||||
| // speak the hexadecimal number of the character code | |||||
| sprintf(hexbuf,"%x",letter); | |||||
| } | |||||
| pbuf = ph_buf; | pbuf = ph_buf; | ||||
| for(p2 = hexbuf; *p2 != 0; p2++) | for(p2 = hexbuf; *p2 != 0; p2++) | ||||
| { | { | ||||
| pbuf += strlen(pbuf); | pbuf += strlen(pbuf); | ||||
| *pbuf++ = phonPAUSE_VSHORT; | *pbuf++ = phonPAUSE_VSHORT; | ||||
| LookupLetter(translator, *p2, 0, pbuf, 1); | LookupLetter(translator, *p2, 0, pbuf, 1); | ||||
| if(((pbuf[0] == 0) || (pbuf[0]==phonSWITCH)) && (*p2 >= 'a')) | |||||
| { | |||||
| // This language has no translation for 'a' to 'f', speak English names using base phonemes | |||||
| EncodePhonemes(hex_letters[*p2 - 'a'], pbuf, NULL); | |||||
| } | |||||
| } | } | ||||
| strcat(pbuf, pause_string); | strcat(pbuf, pause_string); | ||||
| } | } |
| int replace_flags; | int replace_flags; | ||||
| int n_plist_out = 0; | int n_plist_out = 0; | ||||
| int word_end; | int word_end; | ||||
| int switched_language = 0; | |||||
| PHONEME_LIST2 *plist2; | PHONEME_LIST2 *plist2; | ||||
| PHONEME_TAB *next=NULL; | PHONEME_TAB *next=NULL; | ||||
| { | { | ||||
| plist2 = &ph_list2[ix]; | plist2 = &ph_list2[ix]; | ||||
| if(plist2->phcode == phonSWITCH) | |||||
| switched_language ^= 1; | |||||
| // don't do any substitution if the language has been temporarily changed | // don't do any substitution if the language has been temporarily changed | ||||
| if(switched_language == 0) | |||||
| if(!(plist2->synthflags & SFLAG_SWITCHED_LANG)) | |||||
| { | { | ||||
| if(ix < (n_ph_list2 -1)) | if(ix < (n_ph_list2 -1)) | ||||
| next = phoneme_tab[ph_list2[ix+1].phcode]; | next = phoneme_tab[ph_list2[ix+1].phcode]; | ||||
| if((replace_flags & 2) && ((plist2->stresslevel & 0x7) > 3)) | if((replace_flags & 2) && ((plist2->stresslevel & 0x7) > 3)) | ||||
| continue; // this replacement doesn't occur in stressed syllables | continue; // this replacement doesn't occur in stressed syllables | ||||
| if((replace_flags & 4) && (plist2->sourceix == 0)) | |||||
| continue; // this replacement only occurs at the start of a word | |||||
| // substitute the replacement phoneme | // substitute the replacement phoneme | ||||
| plist2->phcode = replace_phonemes[k].new_ph; | plist2->phcode = replace_phonemes[k].new_ph; | ||||
| if((plist2->stresslevel > 1) && (phoneme_tab[plist2->phcode]->phflags & phUNSTRESSED)) | if((plist2->stresslevel > 1) && (phoneme_tab[plist2->phcode]->phflags & phUNSTRESSED)) | ||||
| PHONEME_TAB *next, *next2; | PHONEME_TAB *next, *next2; | ||||
| int unstress_count = 0; | int unstress_count = 0; | ||||
| int word_stress = 0; | int word_stress = 0; | ||||
| int switched_language = 0; | |||||
| int current_phoneme_tab; | |||||
| int max_stress; | int max_stress; | ||||
| int voicing; | int voicing; | ||||
| int regression; | int regression; | ||||
| } | } | ||||
| } | } | ||||
| // look for switch of phoneme tables | |||||
| current_phoneme_tab = tr->phoneme_tab_ix; | |||||
| for(j = 0; j < n_ph_list2; j++) | |||||
| { | |||||
| if(plist2[j].phcode == phonSWITCH) | |||||
| { | |||||
| current_phoneme_tab = plist2[j].tone_ph; | |||||
| } | |||||
| if(current_phoneme_tab != tr->phoneme_tab_ix) | |||||
| { | |||||
| plist2[j].synthflags |= SFLAG_SWITCHED_LANG; | |||||
| } | |||||
| } | |||||
| if((regression = tr->langopts.param[LOPT_REGRESSIVE_VOICING]) != 0) | if((regression = tr->langopts.param[LOPT_REGRESSIVE_VOICING]) != 0) | ||||
| { | { | ||||
| // set consonant clusters to all voiced or all unvoiced | // set consonant clusters to all voiced or all unvoiced | ||||
| if(ph == NULL) | if(ph == NULL) | ||||
| continue; | continue; | ||||
| if(ph->code == phonSWITCH) | |||||
| switched_language ^= 1; | |||||
| if(switched_language) | |||||
| if(plist2[j].synthflags & SFLAG_SWITCHED_LANG) | |||||
| { | |||||
| stop_propagation = 0; | |||||
| voicing = 0; | |||||
| continue; | continue; | ||||
| } | |||||
| type = ph->type; | type = ph->type; | ||||
| ph = phoneme_tab[phonPAUSE]; | ph = phoneme_tab[phonPAUSE]; | ||||
| ph_list3[0].ph = ph; | ph_list3[0].ph = ph; | ||||
| switched_language = 0; | |||||
| for(j=0; insert_ph || ((j < n_ph_list3) && (ix < N_PHONEME_LIST-3)); j++) | for(j=0; insert_ph || ((j < n_ph_list3) && (ix < N_PHONEME_LIST-3)); j++) | ||||
| { | { | ||||
| plist3 = &ph_list3[j]; | plist3 = &ph_list3[j]; | ||||
| // change phoneme table | // change phoneme table | ||||
| SelectPhonemeTable(plist3->tone_ph); | SelectPhonemeTable(plist3->tone_ph); | ||||
| switched_language ^= SFLAG_SWITCHED_LANG; | |||||
| } | } | ||||
| next = phoneme_tab[plist3[1].phcode]; // the phoneme after this one | next = phoneme_tab[plist3[1].phcode]; // the phoneme after this one | ||||
| plist3[1].ph = next; | plist3[1].ph = next; | ||||
| phlist[ix].ph = ph; | phlist[ix].ph = ph; | ||||
| phlist[ix].type = ph->type; | phlist[ix].type = ph->type; | ||||
| phlist[ix].env = PITCHfall; // default, can be changed in the "intonation" module | phlist[ix].env = PITCHfall; // default, can be changed in the "intonation" module | ||||
| phlist[ix].synthflags = plist3->synthflags | switched_language; | |||||
| phlist[ix].synthflags = plist3->synthflags; | |||||
| phlist[ix].stresslevel = plist3->stresslevel & 0xf; | phlist[ix].stresslevel = plist3->stresslevel & 0xf; | ||||
| phlist[ix].wordstress = plist3->wordstress; | phlist[ix].wordstress = plist3->wordstress; | ||||
| phlist[ix].tone_ph = plist3->tone_ph; | phlist[ix].tone_ph = plist3->tone_ph; |
| const char *name = "?"; | const char *name = "?"; | ||||
| char buf[120]; | char buf[120]; | ||||
| char len_string[20]; | char len_string[20]; | ||||
| char param_string[20]; | |||||
| if(index < 0) return; | if(index < 0) return; | ||||
| y1 = p->pitch1; | y1 = p->pitch1; | ||||
| y2 = p->pitch2; | y2 = p->pitch2; | ||||
| len_string[0] = 0; | len_string[0] = 0; | ||||
| param_string[0] = 0; | |||||
| if(p->std_length > 0) | if(p->std_length > 0) | ||||
| sprintf(len_string," Length %d", p->std_length*2); | sprintf(len_string," Length %d", p->std_length*2); | ||||
| if(p->sound_param != 0) | |||||
| sprintf(param_string,", %d", p->sound_param); | |||||
| sprintf(buf,"Stress %s%d Amp %2d LengthMod %2d Pitch %3d %3d %s PhFlags %.2x [%s%s]", | |||||
| emphasized,p->stresslevel&0x7,p->amp, p->length,y1,y2,name,p->ph->phflags, LookupManifest(p->phontab_addr), len_string); | |||||
| sprintf(buf,"Stress %s%d Amp %2d LengthMod %2d Pitch %3d %3d %s PhFlags %.2x (%s%s)%s", | |||||
| emphasized,p->stresslevel&0x7,p->amp, p->length,y1,y2,name,p->ph->phflags, LookupManifest(p->phontab_addr), param_string, len_string); | |||||
| wxLogStatus(wxString(buf,wxConvLocal)); | wxLogStatus(wxString(buf,wxConvLocal)); | ||||
| } | } | ||||
| #include "translate.h" | #include "translate.h" | ||||
| #include "wave.h" | #include "wave.h" | ||||
| const char *version_string = "1.46.45 10.Mar.13"; | |||||
| const char *version_string = "1.46.46 11.Mar.13"; | |||||
| const int version_phdata = 0x014640; | const int version_phdata = 0x014640; | ||||
| int option_device_number = -1; | int option_device_number = -1; | ||||
| #ifdef _ESPEAKEDIT | #ifdef _ESPEAKEDIT | ||||
| plist->std_length = phdata->pd_param[i_SET_LENGTH]; | plist->std_length = phdata->pd_param[i_SET_LENGTH]; | ||||
| if(phdata->sound_addr[0] != 0) | if(phdata->sound_addr[0] != 0) | ||||
| { | |||||
| plist->phontab_addr = phdata->sound_addr[0]; // FMT address | plist->phontab_addr = phdata->sound_addr[0]; // FMT address | ||||
| plist->sound_param = phdata->sound_param[0]; | |||||
| } | |||||
| else | else | ||||
| { | |||||
| plist->phontab_addr = phdata->sound_addr[1]; // WAV address | plist->phontab_addr = phdata->sound_addr[1]; // WAV address | ||||
| plist->sound_param = phdata->sound_param[1]; | |||||
| } | |||||
| #endif | #endif | ||||
| } // end of InterpretPhoneme | } // end of InterpretPhoneme | ||||
| n_phoneme_list = 0; | n_phoneme_list = 0; | ||||
| WcmdqStop(); | WcmdqStop(); | ||||
| embedded_value[EMBED_T] = 0; | |||||
| return(0); | return(0); | ||||
| } | } | ||||
| #define EMBED_A 3 // amplitude/volume | #define EMBED_A 3 // amplitude/volume | ||||
| #define EMBED_R 4 // pitch range/expression | #define EMBED_R 4 // pitch range/expression | ||||
| #define EMBED_H 5 // echo/reverberation | #define EMBED_H 5 // echo/reverberation | ||||
| #define EMBED_T 6 // different tone for announcing punctuation | |||||
| #define EMBED_T 6 // different tone for announcing punctuation (not used) | |||||
| #define EMBED_I 7 // sound icon | #define EMBED_I 7 // sound icon | ||||
| #define EMBED_S2 8 // speed (used in synthesize) | #define EMBED_S2 8 // speed (used in synthesize) | ||||
| #define EMBED_Y 9 // say-as commands | #define EMBED_Y 9 // say-as commands | ||||
| #ifdef _ESPEAKEDIT | #ifdef _ESPEAKEDIT | ||||
| unsigned char std_length; | unsigned char std_length; | ||||
| unsigned int phontab_addr; | unsigned int phontab_addr; | ||||
| int sound_param; | |||||
| #endif | #endif | ||||
| } PHONEME_LIST; | } PHONEME_LIST; | ||||
| {"_ka", OFFSET_GEORGIAN, 0x10a0,0x10ff, L('k','a'), AL_WORDS}, | {"_ka", OFFSET_GEORGIAN, 0x10a0,0x10ff, L('k','a'), AL_WORDS}, | ||||
| {"_ko", OFFSET_KOREAN, 0x1100,0x11ff, 0, 0}, | {"_ko", OFFSET_KOREAN, 0x1100,0x11ff, 0, 0}, | ||||
| {"_eth", OFFSET_ETHIOPIC, 0x1200,0x139f, 0, 0}, | {"_eth", OFFSET_ETHIOPIC, 0x1200,0x139f, 0, 0}, | ||||
| {"_braille", 0x2800, 0x2800,0x28ff, 0, AL_NO_SYMBOL}, | |||||
| {"_ja", 0x3040, 0x3040,0x30ff, 0, AL_NOT_CODE}, | {"_ja", 0x3040, 0x3040,0x30ff, 0, AL_NOT_CODE}, | ||||
| {"_zh", 0x3100, 0x3100,0x9fff, 0, AL_NOT_CODE}, | {"_zh", 0x3100, 0x3100,0x9fff, 0, AL_NOT_CODE}, | ||||
| {NULL, 0, 0, 0, 0, 0} | {NULL, 0, 0, 0, 0, 0} |
| } | } | ||||
| static const char *UCase_ga[] = {"bp","bhf","dt","gc","hA","mb","ng","ts","tA","nA",NULL}; | |||||
| static const char *UCase_ga[] = {"bp","bhf","dt","gc","hA","mb","nd","ng","ts","tA","nA",NULL}; | |||||
| int UpperCaseInWord(Translator *tr, char *word, int c) | int UpperCaseInWord(Translator *tr, char *word, int c) | ||||
| {//===================================================== | {//===================================================== |
| #define AL_NOT_LETTERS 0x02 // don't use the language for speaking letters | #define AL_NOT_LETTERS 0x02 // don't use the language for speaking letters | ||||
| #define AL_WORDS 0x04 // use the language to speak words | #define AL_WORDS 0x04 // use the language to speak words | ||||
| #define AL_NOT_CODE 0x08 // don't speak the character code | #define AL_NOT_CODE 0x08 // don't speak the character code | ||||
| #define AL_NO_SYMBOL 0x10 // don't repeat "symbol" or "character" | |||||
| #define N_LOPTS 21 | #define N_LOPTS 21 |
| if(fgets(buf,size,f_in) == NULL) | if(fgets(buf,size,f_in) == NULL) | ||||
| return(NULL); | return(NULL); | ||||
| if(buf[0] == '#') | |||||
| { | |||||
| buf[0] = 0; | |||||
| return(buf); | |||||
| } | |||||
| len = strlen(buf); | len = strlen(buf); | ||||
| while((--len > 0) && isspace(buf[len])) | while((--len > 0) && isspace(buf[len])) | ||||
| buf[len] = 0; | buf[len] = 0; | ||||
| // Set voice to the default values | // Set voice to the default values | ||||
| int pk; | int pk; | ||||
| static unsigned char default_heights[N_PEAKS] = {128,128,120,120,110,110,128,128,128}; | |||||
| static unsigned char default_widths[N_PEAKS] = {128,128,128,160,171,171,128,128,128}; | |||||
| // static unsigned char default_heights[N_PEAKS] = {140,128,120,110,90,90,128,128,128}; // changed for v.1.47 | |||||
| // static unsigned char default_widths[N_PEAKS] = {128,128,128,160,171,171,128,128,128}; | |||||
| static unsigned char default_heights[N_PEAKS] = {128,128,120,120,110,110,128,128,128}; // previous version | |||||
| static unsigned char default_widths[N_PEAKS] = {140,128,128,160,171,171,128,128,128}; | |||||
| static int breath_widths[N_PEAKS] = {0,200,200,400,400,400,600,600,600}; | static int breath_widths[N_PEAKS] = {0,200,200,400,400,400,600,600,600}; | ||||
| voice->n_harmonic_peaks = 5; | voice->n_harmonic_peaks = 5; | ||||
| voice->peak_shape = 0; | voice->peak_shape = 0; | ||||
| voice->voicing = 64; | voice->voicing = 64; | ||||
| voice->consonant_amp = 100; | |||||
| voice->consonant_amp = 85; // change to 85 for v.1.47 was 100 | |||||
| voice->consonant_ampv = 100; | voice->consonant_ampv = 100; | ||||
| voice->samplerate = samplerate_native; | voice->samplerate = samplerate_native; | ||||
| memset(voice->klattv,0,sizeof(voice->klattv)); | memset(voice->klattv,0,sizeof(voice->klattv)); |
| /*************************************************************************** | /*************************************************************************** | ||||
| * Copyright (C) 2005 to 2007 by Jonathan Duddington * | |||||
| * Copyright (C) 2005 to 2013 by Jonathan Duddington * | |||||
| * email: [email protected] * | * email: [email protected] * | ||||
| * * | * * | ||||
| * This program is free software; you can redistribute it and/or modify * | * This program is free software; you can redistribute it and/or modify * | ||||
| 105, 98, 90, 83, 76, 69, 62, 55, 49, 43, 37, 32, 27, 22, 18, 14, | 105, 98, 90, 83, 76, 69, 62, 55, 49, 43, 37, 32, 27, 22, 18, 14, | ||||
| 11, 8, 5, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | 11, 8, 5, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; | ||||
| // set from y = pow(2,x) * 128, x=-1 to 1 | // set from y = pow(2,x) * 128, x=-1 to 1 | ||||
| unsigned char pitch_adjust_tab[MAX_PITCH_VALUE+1] = { | unsigned char pitch_adjust_tab[MAX_PITCH_VALUE+1] = { | ||||
| hostApiOutputParameters.device = Pa_GetDefaultOutputDevice(); | hostApiOutputParameters.device = Pa_GetDefaultOutputDevice(); | ||||
| if( hostApiOutputParameters.device == paNoDevice ) | if( hostApiOutputParameters.device == paNoDevice ) | ||||
| return paDeviceUnavailable; | |||||
| return paDeviceUnavailable; | |||||
| hostApiOutputParameters.channelCount = outputChannelCount; | hostApiOutputParameters.channelCount = outputChannelCount; | ||||
| hostApiOutputParameters.sampleFormat = sampleFormat; | hostApiOutputParameters.sampleFormat = sampleFormat; | ||||
| amp = embedded_value[EMBED_H]; | amp = embedded_value[EMBED_H]; | ||||
| delay = 130; | delay = 130; | ||||
| } | } | ||||
| #ifdef deleted | |||||
| if(embedded_value[EMBED_T] > 0) | |||||
| { | |||||
| // announcing punctuation, add a small echo | |||||
| // This seems unpopular | |||||
| amp = embedded_value[EMBED_T] * 8; | |||||
| delay = 60; | |||||
| } | |||||
| #endif | |||||
| if(delay == 0) | if(delay == 0) | ||||
| amp = 0; | amp = 0; | ||||
| if(amp > 20) | if(amp > 20) | ||||
| echo_length = echo_head * 2; // perhaps allow 2 echo periods if the echo is loud. | echo_length = echo_head * 2; // perhaps allow 2 echo periods if the echo is loud. | ||||
| // echo_amp units are 1/256ths of the amplitude of the original sound. | |||||
| // echo_amp units are 1/256ths of the amplitude of the original sound. | |||||
| echo_amp = amp; | echo_amp = amp; | ||||
| // compensate (partially) for increase in amplitude due to echo | // compensate (partially) for increase in amplitude due to echo | ||||
| general_amplitude = GetAmplitude(); | general_amplitude = GetAmplitude(); | ||||
| static void SetPitchFormants() | static void SetPitchFormants() | ||||
| {//=========================== | {//=========================== | ||||
| int ix; | int ix; | ||||
| int factor; | |||||
| int factor = 256; | |||||
| int pitch_value; | int pitch_value; | ||||
| // adjust formants to give better results for a different voice pitch | // adjust formants to give better results for a different voice pitch | ||||
| { | { | ||||
| // only adjust if the pitch is higher than normal | // only adjust if the pitch is higher than normal | ||||
| factor = 256 + (25 * (pitch_value - 50))/50; | factor = 256 + (25 * (pitch_value - 50))/50; | ||||
| for(ix=0; ix<=5; ix++) | |||||
| { | |||||
| wvoice->freq[ix] = (wvoice->freq2[ix] * factor)/256; | |||||
| } | |||||
| } | } | ||||
| for(ix=0; ix<=5; ix++) | |||||
| { | |||||
| wvoice->freq[ix] = (wvoice->freq2[ix] * factor)/256; | |||||
| } | |||||
| factor = embedded_value[EMBED_T]*3; | factor = embedded_value[EMBED_T]*3; | ||||
| wvoice->height[0] = (wvoice->height2[0] * (256 - factor*2))/256; | wvoice->height[0] = (wvoice->height2[0] * (256 - factor*2))/256; | ||||
| wvoice->height[1] = (wvoice->height2[1] * (256 - factor))/256; | wvoice->height[1] = (wvoice->height2[1] * (256 - factor))/256; | ||||
| fprintf(f_log,"%3dmS %3d %3d %4d %4d (%3d %3d %3d %3d) to %3d %3d %4d %4d (%3d %3d %3d %3d)\n",length*1000/samplerate, | fprintf(f_log,"%3dmS %3d %3d %4d %4d (%3d %3d %3d %3d) to %3d %3d %4d %4d (%3d %3d %3d %3d)\n",length*1000/samplerate, | ||||
| fr1->ffreq[0],fr1->ffreq[1],fr1->ffreq[2],fr1->ffreq[3], fr1->fheight[0],fr1->fheight[1],fr1->fheight[2],fr1->fheight[3], | fr1->ffreq[0],fr1->ffreq[1],fr1->ffreq[2],fr1->ffreq[3], fr1->fheight[0],fr1->fheight[1],fr1->fheight[2],fr1->fheight[3], | ||||
| fr2->ffreq[0],fr2->ffreq[1],fr2->ffreq[2],fr2->ffreq[3], fr2->fheight[0],fr2->fheight[1],fr2->fheight[2],fr2->fheight[3] ); | fr2->ffreq[0],fr2->ffreq[1],fr2->ffreq[2],fr2->ffreq[3], fr2->fheight[0],fr2->fheight[1],fr2->fheight[2],fr2->fheight[3] ); | ||||
| fclose(f_log); | fclose(f_log); | ||||
| f_log=NULL; | f_log=NULL; | ||||
| } | } | ||||
| { | { | ||||
| sonicSetSpeed(sonicSpeedupStream, sonicSpeed); | sonicSetSpeed(sonicSpeedupStream, sonicSpeed); | ||||
| } | } | ||||
| sonicWriteShortToStream(sonicSpeedupStream, outbuf, length_in); | sonicWriteShortToStream(sonicSpeedupStream, outbuf, length_in); | ||||
| } | } | ||||