diff --git a/dictsource/dict_log b/dictsource/dict_log index a55da0d2..929a79a4 100644 --- a/dictsource/dict_log +++ b/dictsource/dict_log @@ -1,284 +1,6 @@ -Using phonemetable: 'af' -Compiling: '/home/jsd1/speechdata/dictsource/af_list' - 1443 entries -Compiling: '/home/jsd1/speechdata/dictsource/af_rules' - 5141 rules, 60 groups (0) - -Using phonemetable: 'bg' -Compiling: '/home/jsd1/speechdata/dictsource/bg_listx' - 2790 entries -Compiling: '/home/jsd1/speechdata/dictsource/bg_list' - 227 entries -Compiling: '/home/jsd1/speechdata/dictsource/bg_rules' - 118 rules, 31 groups (30) - Using phonemetable: 'hu' Compiling: '/home/jsd1/speechdata/dictsource/hu_list' - 4825 entries + 5008 entries Compiling: '/home/jsd1/speechdata/dictsource/hu_rules' - 1679 rules, 45 groups (0) - -Using phonemetable: 'ca' -Compiling: '/home/jsd1/speechdata/dictsource/ca_list' - 192 entries -Compiling: '/home/jsd1/speechdata/dictsource/ca_rules' - 134 rules, 28 groups (0) - -Using phonemetable: 'cs' -Compiling: '/home/jsd1/speechdata/dictsource/cs_list' - 357 entries -Compiling: '/home/jsd1/speechdata/dictsource/cs_rules' - 506 rules, 48 groups (0) - -Using phonemetable: 'cy' -Compiling: '/home/jsd1/speechdata/dictsource/cy_list' - 166 entries -Compiling: '/home/jsd1/speechdata/dictsource/cy_rules' - 208 rules, 27 groups (0) - -Using phonemetable: 'da' -Compiling: '/home/jsd1/speechdata/dictsource/da_list' - 11090 entries -Compiling: '/home/jsd1/speechdata/dictsource/da_rules' - 7410 rules, 56 groups (0) - -Using phonemetable: 'de' -Compiling: '/home/jsd1/speechdata/dictsource/de_list' - 634 entries -Compiling: '/home/jsd1/speechdata/dictsource/de_rules' - 1231 rules, 34 groups (0) - -Using phonemetable: 'el' -Compiling: '/home/jsd1/speechdata/dictsource/el_list' - 242 entries -Compiling: '/home/jsd1/speechdata/dictsource/el_rules' - 173 rules, 27 groups (26) - -Using phonemetable: 'en' -Compiling: '/home/jsd1/speechdata/dictsource/en_list' - 3347 entries -Compiling: '/home/jsd1/speechdata/dictsource/en_rules' - 5486 rules, 97 groups (0) - -Using phonemetable: 'eo' -Compiling: '/home/jsd1/speechdata/dictsource/eo_list' - 242 entries -Compiling: '/home/jsd1/speechdata/dictsource/eo_rules' - 129 rules, 27 groups (0) - -Using phonemetable: 'es' -Compiling: '/home/jsd1/speechdata/dictsource/es_list' - 385 entries -Compiling: '/home/jsd1/speechdata/dictsource/es_rules' - 172 rules, 27 groups (0) - -Using phonemetable: 'et' -Compiling: '/home/jsd1/speechdata/dictsource/et_list' - 303 entries -Compiling: '/home/jsd1/speechdata/dictsource/et_rules' - 220 rules, 31 groups (0) - -Using phonemetable: 'fi' -Compiling: '/home/jsd1/speechdata/dictsource/fi_list' - 316 entries -Compiling: '/home/jsd1/speechdata/dictsource/fi_rules' - 129 rules, 29 groups (0) - -Using phonemetable: 'fr' -Compiling: '/home/jsd1/speechdata/dictsource/fr_list' - 864 entries -Compiling: '/home/jsd1/speechdata/dictsource/fr_rules' - 1183 rules, 33 groups (0) - -Using phonemetable: 'grc' -Compiling: '/home/jsd1/speechdata/dictsource/grc_list' - 22 entries -Compiling: '/home/jsd1/speechdata/dictsource/grc_rules' - 134 rules, 54 groups (27) - -Using phonemetable: 'hr' -Compiling: '/home/jsd1/speechdata/dictsource/hbs_list' - 569 entries -Compiling: '/home/jsd1/speechdata/dictsource/hbs_rules' - 102 rules, 34 groups (0) - -Using phonemetable: 'hi' -Compiling: '/home/jsd1/speechdata/dictsource/hi_list' - 249 entries -Compiling: '/home/jsd1/speechdata/dictsource/hi_rules' - 216 rules, 88 groups (86) - -Using phonemetable: 'hy' -Compiling: '/home/jsd1/speechdata/dictsource/hy_list' - 70 entries -Compiling: '/home/jsd1/speechdata/dictsource/hy_rules' - 93 rules, 39 groups (38) - -Using phonemetable: 'id' -Compiling: '/home/jsd1/speechdata/dictsource/id_list' - 132 entries -Compiling: '/home/jsd1/speechdata/dictsource/id_rules' - 77 rules, 27 groups (0) - -Using phonemetable: 'is' -Compiling: '/home/jsd1/speechdata/dictsource/is_list' - 327 entries -Compiling: '/home/jsd1/speechdata/dictsource/is_rules' - 205 rules, 37 groups (0) - -Using phonemetable: 'it' -Compiling: '/home/jsd1/speechdata/dictsource/it_listx' - 4161 entries -Compiling: '/home/jsd1/speechdata/dictsource/it_list' - 412 entries -Compiling: '/home/jsd1/speechdata/dictsource/it_rules' - 309 rules, 28 groups (0) - -Using phonemetable: 'jbo' -Compiling: '/home/jsd1/speechdata/dictsource/jbo_list' - 68 entries -Compiling: '/home/jsd1/speechdata/dictsource/jbo_rules' - 63 rules, 27 groups (0) - -Using phonemetable: 'ka' -Compiling: '/home/jsd1/speechdata/dictsource/ka_list' - 135 entries -Compiling: '/home/jsd1/speechdata/dictsource/ka_rules' - 54 rules, 48 groups (43) - -Using phonemetable: 'kn' -Compiling: '/home/jsd1/speechdata/dictsource/kn_list' - 262 entries -Compiling: '/home/jsd1/speechdata/dictsource/kn_rules' - 111 rules, 55 groups (50) - -Using phonemetable: 'ku' -Compiling: '/home/jsd1/speechdata/dictsource/ku_list' - 106 entries -Compiling: '/home/jsd1/speechdata/dictsource/ku_rules' - 46 rules, 32 groups (0) - -Using phonemetable: 'la' -Compiling: '/home/jsd1/speechdata/dictsource/la_list' - 215 entries -Compiling: '/home/jsd1/speechdata/dictsource/la_rules' - 113 rules, 31 groups (0) - -Using phonemetable: 'lv' -Compiling: '/home/jsd1/speechdata/dictsource/lv_list' - 339 entries -Compiling: '/home/jsd1/speechdata/dictsource/lv_rules' - 1035 rules, 40 groups (0) - -Using phonemetable: 'mk' -Compiling: '/home/jsd1/speechdata/dictsource/mk_list' - 188 entries -Compiling: '/home/jsd1/speechdata/dictsource/mk_rules' - 150 rules, 65 groups (0) - -Using phonemetable: 'ml' -Compiling: '/home/jsd1/speechdata/dictsource/ml_list' - 99 entries -Compiling: '/home/jsd1/speechdata/dictsource/ml_rules' - 123 rules, 47 groups (42) - -Using phonemetable: 'nci' -Compiling: '/home/jsd1/speechdata/dictsource/nci_list' - 16 entries -Compiling: '/home/jsd1/speechdata/dictsource/nci_rules' - 41 rules, 21 groups (0) - -Using phonemetable: 'nl' -Compiling: '/home/jsd1/speechdata/dictsource/nl_list' - 1471 entries -Compiling: '/home/jsd1/speechdata/dictsource/nl_rules' - 635 rules, 33 groups (0) - -Using phonemetable: 'no' -Compiling: '/home/jsd1/speechdata/dictsource/no_list' - 236 entries -Compiling: '/home/jsd1/speechdata/dictsource/no_rules' - 142 rules, 32 groups (0) - -Using phonemetable: 'base2' -Compiling: '/home/jsd1/speechdata/dictsource/pap_list' - 86 entries -Compiling: '/home/jsd1/speechdata/dictsource/pap_rules' - 68 rules, 32 groups (0) - -Using phonemetable: 'pl' -Compiling: '/home/jsd1/speechdata/dictsource/pl_list' - 2957 entries -Compiling: '/home/jsd1/speechdata/dictsource/pl_rules' - 942 rules, 55 groups (0) - -Using phonemetable: 'pt' -Compiling: '/home/jsd1/speechdata/dictsource/pt_list' - 719 entries -Compiling: '/home/jsd1/speechdata/dictsource/pt_rules' - 687 rules, 38 groups (0) - -Using phonemetable: 'ro' -Compiling: '/home/jsd1/speechdata/dictsource/ro_list' - 2167 entries -Compiling: '/home/jsd1/speechdata/dictsource/ro_rules' - 348 rules, 32 groups (0) - -Using phonemetable: 'ru' -Compiling: '/home/jsd1/speechdata/dictsource/ru_list' - 156 entries -Compiling: '/home/jsd1/speechdata/dictsource/ru_rules' - 520 rules, 34 groups (33) - -Using phonemetable: 'sk' -Compiling: '/home/jsd1/speechdata/dictsource/sk_list' - 321 entries -Compiling: '/home/jsd1/speechdata/dictsource/sk_rules' - 535 rules, 46 groups (0) - -Using phonemetable: 'sq' -Compiling: '/home/jsd1/speechdata/dictsource/sq_list' - 132 entries -Compiling: '/home/jsd1/speechdata/dictsource/sq_rules' - 100 rules, 29 groups (0) - -Using phonemetable: 'sv' -Compiling: '/home/jsd1/speechdata/dictsource/sv_list' - 341 entries -Compiling: '/home/jsd1/speechdata/dictsource/sv_rules' - 697 rules, 30 groups (0) - -Using phonemetable: 'sw' -Compiling: '/home/jsd1/speechdata/dictsource/sw_list' - 167 entries -Compiling: '/home/jsd1/speechdata/dictsource/sw_rules' - 66 rules, 27 groups (0) - -Using phonemetable: 'ta' -Compiling: '/home/jsd1/speechdata/dictsource/ta_list' - 486 entries -Compiling: '/home/jsd1/speechdata/dictsource/ta_rules' - 3017 rules, 31 groups (26) - -Using phonemetable: 'tr' -Compiling: '/home/jsd1/speechdata/dictsource/tr_list' - 252 entries -Compiling: '/home/jsd1/speechdata/dictsource/tr_rules' - 200 rules, 33 groups (0) - -Using phonemetable: 'vi' -Compiling: '/home/jsd1/speechdata/dictsource/vi_list' - 135 entries -Compiling: '/home/jsd1/speechdata/dictsource/vi_rules' - 404 rules, 97 groups (0) - -Using phonemetable: 'zh' -Compiling: '/home/jsd1/speechdata/dictsource/zh_list' - 3873 entries -Compiling: '/home/jsd1/speechdata/dictsource/zh_rules' - 181 rules, 28 groups (0) - -Using phonemetable: 'zhy' -Compiling: '/home/jsd1/speechdata/dictsource/zhy_rules' - 79 rules, 27 groups (0) + 1957 rules, 46 groups (0) diff --git a/dictsource/dict_phonemes b/dictsource/dict_phonemes index 42982f0e..6d60ead8 100644 --- a/dictsource/dict_phonemes +++ b/dictsource/dict_phonemes @@ -15,29 +15,6 @@ n N n^ p r s S t T tS v w x x2 z Z -Dictionary bg_dict 2011-04-29 - -@ a e i o u - -: ; b C d d; dZ dz -f g g; h j k l L -l^ m n n^ p r s S -s; t t; tS ts v x z -Z z; - - -Dictionary hu_dict 2011-11-22 - -a A a: e E e: i i: -o o: u u: Y y y: Y: - -- : b c C d dZ dz -f g h j J k l l^ -m n n^ p r R R2 s -S s2 t t2 tS ts v w -z Z - - Dictionary ca_dict 2010-07-27 @ a a# aI e E E2 i @@ -89,6 +66,18 @@ R3 s S t T tS v w x Z +Dictionary hu_dict 2012-01-05 + +a A a: e E e: i i: +o o: u u: Y y y: Y: + +- : b c C d dZ dz +f g h j J k l l^ +m n n^ p r R R2 s +S s2 t t2 tS ts v w +z Z + + Dictionary de_dict 2011-10-16 3 @ @- a A A: aI aU @@ -113,7 +102,7 @@ p Q r R s s; t T ts v x z -Dictionary en_dict 2011-11-22 +Dictionary en_dict 2012-01-06 0 3 3: @ @- @2 @5 @L a a# A: A@ aa aI aI3 aI@ @@ -129,7 +118,7 @@ s S t T t2 tS v w x z Z z# -Dictionary eo_dict 2011-04-02 +Dictionary eo_dict 2011-12-24 @- a aI aU e eI eU i o oI u uI @@ -151,19 +140,6 @@ p Q r R R2 s S t T tS w x z -Dictionary et_dict 2011-11-16 - -& &: &i 8 8: a A1 a: -e E1 e: i I1 i1 i: o -O1 o: u U1 u: Y y Y: -y: Yi yi - -: b d d^ f g h j -k l l. l^ m n N n^ -p r R s S s2 s^ t -t^ tS v w z Z - - Dictionary fi_dict 2011-10-14 & &i &y a ai au e ei @@ -176,7 +152,7 @@ l m n N p r R s S s2 t v w Z -Dictionary fr_dict 2011-11-15 +Dictionary fr_dict 2011-12-14 @ @- a a- A~ e E e- E: E~ i I o O O~ u @@ -226,6 +202,19 @@ q r r. s S s. t T t. th th. v w x z +Dictionary ta_dict 2012-01-06 + +a a: aI aU e E e: i +I i: o o: u U u2 u: +U: V V# + +# #X1 #X2 : ; b C d +d. dZ f g h H j k +l l. m n N n. n^ p +Q r R s S s. t T +t. th tS v w z z. + + Dictionary hy_dict 2008-12-22 @ a aI e eI i i@ o @@ -283,30 +272,6 @@ l m n N p R s S t tS v w x z Z -Dictionary ka_dict 2011-04-11 - -@ @- a e i o u - -: ? b c d dZ dz f -g h j k k# l m n -p p# Q q r s S t -t# tS ts ts# v w x z -Z - - -Dictionary kn_dict 2011-06-25 - -a a: aI aU e E e: i -I i: o o: r- u u: - -#X1 #X2 : b bh c ch d -d. dh dh. dZ f g gh h -j J Jh k kh l l. m -n N n. n^ p ph r s -S s. S; t t. th th. tS -v w z - - Dictionary ku_dict 2008-04-14 8 a e E E# eI eU i @@ -353,20 +318,6 @@ N n^ p r R s S t tS ts tS; v x z Z -Dictionary ml_dict 2011-04-25 - -@ a a# a: aI aU e E -e: i I i: o o: r- u -u: V y - -#X1 #X2 : ; b bh c ch -d d# d. dh dh. dZ f g -gh h j J Jh k kh l -l. m n N n. n^ p ph -r R r. R2 s s. S; t -t. th th. tS v w z - - Dictionary nci_dict 2010-01-20 a e i o O @@ -514,17 +465,15 @@ p Q R s S t T tS v w x z -Dictionary ta_dict 2011-11-19 +Dictionary sl_dict 2011-03-14 -a a: aI aU e E e: i -I i: o o: u U u2 u: -U: V V# +@ a a: e E e: i i: +o O o: u u: y -# #X1 #X2 : ; b C d -d. dZ f g h H j k -l l. m n N n. n^ p -Q r R s S s. t T -t. th tS v w z z. +: b d dZ dz f g h +j k l l^ m n N n^ +p R R^ s S t tS ts +v w x z Z Dictionary tr_dict 2011-09-16 @@ -574,3 +523,277 @@ oi ong ou u ui yu b c d f g h j k l m n N p r s t tS v w z + + +Dictionary am_dict 2011-11-22 + +@ a e i o u y + +: ? b B d dZ f g +h j k k` l m n N +n^ p p` r s S t t` +tS tS` v w x z Z + + +Dictionary ml_dict 2011-12-05 + +@ a a# a: aI aU e E +e: i I i: o o: r- u +u: V y + +#X1 #X2 : ; b bh c ch +d d# d. dh dh. dZ f g +gh h j J Jh k kh l +l. m n N n. n^ p ph +r R r. R2 s s. S; t +t. th th. tS v w z + + +Dictionary ne_dict 2008-12-16 + +@ @/ @2 @3 a aI aU a~ +e E eI eU e~ E~ i I +i~ l- o O o: oI oU O~ +o~ r- u uI u~ V VI VU +V~ + +- : b bh c ch d d. +dh f g gh h H j J +Jh k kh l l. m n N +n. n^ p ph Q q r r. +s S s. t T t. th v +w x z z. + + +Dictionary pa_dict 2009-11-24 + +@ a a~ e E e~ E~ i +I i~ I~ o O O~ o~ r- +u U U~ u~ V V~ + +: ; b bh c ch d d. +dh dh. f g gh h H j +J Jh k kh l l. m n +N n. n^ p ph Q R R2 +s S t t. th th. v x +z + + +Dictionary prs_dict 2009-12-01 + +@ A E eI i o u + +: b d dZ f g h j +k l m n p r R s +S t tS v w X z Z + + +Dictionary rw_dict 2008-03-27 + +a e i o u + +* : b B c d dZ f +g h j J k l m n +N n^ p q R s S S; +t tS v w x z + + +Dictionary ur_dict 2011-12-05 + +@ a a: aI aU E e: i +I i: O o: U u: + +: b bh c ch d D d. +dh dh. dZ f g gh H j +J Jh k kh l m n N +p ph Q q R r. s S +s. t T t. th th. v x +z Z z. + + +Dictionary bg_dict 2011-04-29 + +@ a e i o u + +: ; b C d d; dZ dz +f g g; h j k l L +l^ m n n^ p r s S +s; t t; tS ts v x z +Z z; + + +Dictionary nso_dict 2010-08-27 + +@ a e E i m- n- N- +o u U + +- : ; b B d D dZ +f h j J k K l l# +m n N n^ p Q R3 s +S t tS v w x X x2 +z + + +Dictionary ht_dict 2010-06-29 + +a A~ e E E~ i o O +O~ u w y + +; b d f g j k l +m n N p r s S t +tS v z Z + + +Dictionary ak_dict 2010-08-11 + +a e E i o O u + +: b C d dZ dZ; f g +h j k l m n N n^ +p R s t tS; v w z +z; + + +Dictionary az_dict 2010-07-27 + +& @ a e E i o u +W y + +* b c C d dZ f g +h j J k l m n p +Q R s S t tS v w +x z Z + + +Dictionary wo_dict 2010-11-30 + +@ @: a a: e E e: E: +i i: m- n- N- o O O: +o: u u: + +: b c d f g h j +J k l m n N n^ p +q R R2 s s2 t v w +x z + + +Dictionary dv_dict 2011-01-08 + +@ @2 a a: aI e e: E: +E~ i I i: o O o: O: +O~ u U u: V + +: ? b c ch d D d. +dZ f g h j k kh l +l. m n N n. n^ p Q +q r R s S s. t T +t. th th. tS v w x z +Z + + +Dictionary kn_dict 2011-12-05 + +a a: aI aU e E e: i +I i: o o: r- u u: + +#X1 #X2 : b bh c ch d +d. dh dh. dZ f g gh h +j J Jh k kh l l. m +n N n. n^ p ph r s +S s. S; t t. th th. tS +v w z + + +Dictionary tn_dict 2011-02-17 + +@- a e i m- n- N- o +u + +* - : b B d D dZ +f g h j J k K l +l# m n N n^ p Q r +R R3 s S t T tS ts +v w x X z + + +Dictionary te_dict 2011-12-05 + +a a: aI aU e E e: i +i: l- o o: r- u u: V + +#X1 #X2 : ; b bh c ch +d d. dh dh. dZ f g gh +h j J Jh k kh l l. +m n N n. n^ p ph r +s s. S; t t. th th. tS +v w z + + +Dictionary ka_dict 2011-12-05 + +@ @- a e i o u + +: ? b c d dZ dz f +g h j k k# l m n +p p# Q q r s S t +t# tS ts ts# v w x z +Z + + +Dictionary si_dict 2011-12-05 + +& &: @ a a: aI aU e +E e: i i: o o: u u: + +b d d. dZ f g h j +k l l. m m# n N n# +N# n. n.# n^ n^# p r s +S t t. th tS v w z + + +Dictionary et_dict 2011-11-16 + +& &: &i 8 8: a A1 a: +e E1 e: i I1 i1 i: o +O1 o: u U1 u: Y y Y: +y: Yi yi + +: b d d^ f g h j +k l l. l^ m n N n^ +p r R s S s2 s^ t +t^ tS v w z Z + + +Dictionary mt_dict 2011-07-29 + +@ a ai au e ei eu i +I ie iu l- o u U ui +y yi yY + +* : b c C d dZ f +g h j k l m n p +q r s S t tS v w +x z Z + + +Dictionary bo_dict 2011-12-05 + +a a: e e: i i: l- o +o: r- u u: + +: ? b bh c ch d d. +dh dh. dz dzh g gh H j +J k kh l m n N n. +n^ p ph r s S s. t +t. th th. ts tsh w z Z + + +Dictionary kk_dict 2011-12-07 + +& 8 a A e E i I +o u U u# Y + +; b d f g G h j +k l m n N p q r +s S t tS v w X z +Z diff --git a/dictsource/en_list b/dictsource/en_list index 8c4b66db..6d49d064 100644 --- a/dictsource/en_list +++ b/dictsource/en_list @@ -17,6 +17,7 @@ // ?8 Use full vowel, not schwa in some word endings // $alt use strong ending +// $alt2 use weak ending // letter names, as they are spoken as a single character in text @@ -297,6 +298,7 @@ _17 s'Ev@nti:n _18 'eIti:n _19 n'aInti:n _2X tw'Enti +?3 _2X tw'Eni _3X T'3:ti ?5 _3X T'IRti _4X f'o@ti @@ -306,6 +308,7 @@ _7X s'Ev@nti ?7 _7X s'@v@nti _8X 'eIti _9X n'aInti + _0C h'Vndr@d _0M1 T'aUz@nd _0M2 m'Ili@n @@ -628,6 +631,7 @@ askance a#skaans askew a#skju: ass as assess a#sEs +asus eIs@s atlas atl@s atop a#t0p attache at'aSeI $only @@ -702,6 +706,7 @@ bizarre bIz'A@ bizzare bIz'A@ blancmange bl@m0nZ blase blA:zeI +bleh blEh blockade $2 blouse blaUz bluest blu:@st @@ -713,6 +718,7 @@ bombard $2 bonbon b0nb0n bonhomie b0n@mi: bonjour bO:nZ'U@ +booger bUg3 boogie b'u:gi bosun boUs@n boutique bu:t'i:k @@ -775,10 +781,13 @@ capitol kapIt@L caprice ka#pr'i:s caramel kar@mEl caravan kar@van +carburetor kA@b@r'Et3 +?3 carburetor kA@b@reIt3 career k@r'i@3 caress k@rEs carpel kA@p@l cascade $2 +cashier kaS'i@3 cashmere kaSm'i@3 catastrophe ka#tastr@f%i catarrh k@tA@ @@ -807,6 +816,8 @@ chapel tSap@L charade Sa#rA:d charismatic karIsm'atIk charit tSarIt // charitable +charlatan SA@l@t@n +chassis SaSi chateau SatoU chemise SEm'i:z chevrolet SEvr@leI @@ -891,18 +902,19 @@ concise k0ns'aIs conduct k0ndVkt conduct $verb cone koUn -conflict $1 $onlys +conflict k0nflIkt $onlys conflict $verb +confront k@nfrVnt conger k0Ng3 conscience k0nS@ns -construct $1 $onlys +construct k0nstrVkt $onlys construct $verb contemplative $2 -content $1 $onlys +content k0ntEnt $onlys content $verb $past -contest $1 $onlys +contest k0ntEst $onlys contest $verb -contract $1 $onlys +contract $1 $onlys contract $verb contralto k0ntr'altoU contraption k0ntr'apS@n @@ -928,6 +940,7 @@ corollary $2 corporal kO@pr@L corporate kO@p@r@t corps kO@ $only +corral k@r'al cosmos k0zm0s countered kaUnt3d coupon ku:p0n @@ -1075,6 +1088,7 @@ educe I2dju:s edwardian Edw'O@di@n efile i:faIl egg Eg // egging +egregious Igr'i:dZ@s eh eI eid i:d el ,El $only @@ -1086,6 +1100,7 @@ elicit I2lIsI2t élite Il'i:t embed Emb'Ed ember Emb3 +emphasis Emf@sIs empire $1 emu i:mju: enroute 0nr'u:t @@ -1162,6 +1177,7 @@ familiar f@mIli@3 famine famIn farewell $2 fasten faas@n +fatigue fa#ti:g fathom faD@m (faux pas) f'oU||p'A: favorite feIv@-rI2t // sp. @@ -1206,6 +1222,7 @@ foretell fo@t'El forever $2 forewarn $2 formid fO@m'Id // formidable +formica fO@m'aIk@ fortunate fO@tS@n@t fortune fO@tSu:n foyer fOIeI @@ -1252,6 +1269,7 @@ gilead g'IlIad gimme gImi giraffe dZI2raaf goin ,goUI2n $only // for goin' +gonna g,@n@ goodbye $2 goodday $2 goodnight $2 @@ -1336,8 +1354,6 @@ huzza h@z'A: huzzah h@z'A: hyperbola haIp'3:b@l@ hyperbole haIp'3:b@li -hypothesis haIp'0T@sIs -hypotheses haIp'0T@si:z hypotenuse haIp'0t@nju:s hypoxia haIp'0ksi@ @@ -1346,6 +1362,7 @@ icon aIk0n iconbar aIk0nbA@ idly aIdlI ignoramus Igno@r'eIm@s +illiterate $alt2 imagine I2madZI2n impedance Imp'i:d@ns imperative Imp'Er@tIv @@ -1397,6 +1414,7 @@ interrogatory $3 inventory Inv@ntrI interface $1 intermin Int'3:mIn // interminable +intern $1 $onlys internee Int'3:ni: internet Int3nEt interrupt $1 $onlys @@ -1448,7 +1466,7 @@ laity leI@ti landowner l'and,oUn3 las ,las $only ?3 las ,lA:s $only -lasagne l@zanj@ +lasagna l@zanj@ laser leIz3 lasso las'u: latte lateI @@ -1482,6 +1500,7 @@ lingerie l0nZ@ri linen lInI2n liqueur lI2kjU@ liter li:t3 +literate $alt2 literature lItrI2tS3 live laIv $onlys live lIv $verb @@ -1544,6 +1563,8 @@ meant mEnt meadow mEdoU mediaeval mEdI'i:v@L medicine mEds@n +melee mEleI +?3 melee meIleI melon mEl@n menus mEnju:z memo mEmoU @@ -1618,9 +1639,11 @@ mutate mju:t'eIt myriad mIrIad myrrh m3: ?5 myrrh mVR +myrtle m3:t@L naif naI'i:f naïve naI'i:v +naivete naI'i:v@teI naked neIkI#d nasa nasa# nascent neIs@nt @@ -1746,6 +1769,7 @@ paltry pO:ltrI panacea pana#s'i:@ panache $2 pancreas pankri@s +papaya pa#paI;@ parabola p@rab@l@ paralysis p@ral@sIs parameter p@ramI2t3 @@ -1904,6 +1928,7 @@ rabid reIbId radar reIdA@ radish radIS ragged ragI#d +raiment reIm@nt rainforest r'eInf,0rI2st rajah rA:dZA: rapier reIpi@3 @@ -2138,6 +2163,7 @@ society s@saI@ti sofa soUf@ soiree swA:reI sojourn soUdZ3:n +solder s0ld3 soldier soUldZ3 solemn s0l@m solicit s@lIsI2t // solicited,ing @@ -2152,7 +2178,7 @@ soundbite saUndbaIt souvenir su:v@n'i@3 sorbet sO@beI soyabean sOI@bi:n -spaghetti spag'Eti +spaghetti spa#gEti spasm spas@m specific sp@sIfIk specimen spEsI2m@n @@ -2206,8 +2232,6 @@ suspect sVspEkt $onlys suspect $verb symbol sImb@L sync sINk -synthesis sInT@sIs $only -synthesise sInT@saIz tableau tabloU tablet tabl@t @@ -2377,7 +2401,6 @@ vineyard vInj3d vinyl vaInI2l viola vaI'oUl@ violin $2 -virus vaI3r@s viral vaI3r@L visa vi:z@ visit vIzI2t @@ -2557,16 +2580,18 @@ Chile tSIli Cincinnati sInsIn'ati Cologne k@loUn Columbus $2 -Congo $1 +Congo k0NgoU Connecticut k@nEtI2k@t Copenhagen koUp@nh'eIg@n Cruz kru:z Cyprus saIpr@s Dahomey $2 +Dallas dal@s Damascus da#mask@s Dakota da#koUt@ Danish deInIS Delhi dEli +(Des moines) d@mOIn Dhabi dA:bi Djibouti dZIb'u:ti Donegal d0nI2g'O:l @@ -2907,6 +2932,7 @@ Loinnir lVni@ Lois loUIs Louis lu:i Louise lu:w'i:z +Luigi lu:'i:dZi Luis lu:Is Lupe lu:peI Madeline mad@lI2n @@ -2924,7 +2950,7 @@ Matthew maTju: Maurice m0rIs Mavis meIvIs Megan mEg@n -Melissa $2 +Melissa m@lIs@ Michele mI2SEl Michelle mI2SEl Miguel mi:Q'El @@ -2957,6 +2983,7 @@ Pamela pam@l@ Pandora $2 Patricia pa#trIS@ Penelope p@nEl@pi +Persephone p3s'Ef@ni Phoebe fi:bi: Rachael reItS@L Rachel reItS@L @@ -2964,6 +2991,7 @@ Raul raU'u:l Rees ri:s Reese ri:s Reggie rEdZi +Remus ri:m@s Reynold rEn@Ld Rhys ri:s Rihanna rI'A:n@ @@ -3021,11 +3049,13 @@ Dante danteI Disney dIzni Dolce d0ltSeI Dvorak d@-vo@Zak +Folger foUldZ3 Gibson gIbs@n Guinness gInIs Hades heIdi:z Mackenna m@kEn@ Mackenzie m@kEnzi +Medusa $2 Montague m0nt@gju: Niro ni@roU Patel pa#tEl @@ -3041,6 +3071,7 @@ Ubuntu u:b'u:ntu: Wii wi:: Yaesu jeIsu: Yamaha jam@hA: +zeus zju:s zhivago ZI2vA:goU diff --git a/dictsource/en_rules b/dictsource/en_rules index b480c1d6..826c2e2e 100644 --- a/dictsource/en_rules +++ b/dictsource/en_rules @@ -34,6 +34,7 @@ .L02 i y .L03 a i o u // vowel, not 'e' .L05 c g k +.L06 s z .L10 grap log met scop // scientific endings @@ -724,6 +725,7 @@ st) an (_ an m) an (_ an hum) an (_ @n + &) an (ty_ @n &) an (t_ @n ?8 &) an (t_ a#n pl) an (t_ an @@ -746,6 +748,7 @@ @) aneous 'eIni@s p) an (el an &) an (ese @n + _) ane (s anI an (gul 'an &) ani (_ 'A:nI an (ia 'eIn @@ -848,6 +851,7 @@ _) arr (@ a#r _) arr (ant ar _) arr (o ar + _) arro (g ar@ ar (i_ 'A:r ?3 @) ar (io_ 'ar _b) ar (L02t ar @@ -893,7 +897,7 @@ _) arch (AA A@k _) arch (er A@tS _) arch (et A@k - _) archi A@kI + _) archi (@ A@kI _) archiv (+ A@kaIv @) arch (y A@k @) arch (i A@k @@ -1039,6 +1043,7 @@ .group at _g) ator eIt3 + &) ate (_$w_alt2 @t pal) ate (_ @t consul) ate (_ @t macul) ate (_ @t @@ -1457,7 +1462,7 @@ co (mper k0 compe (tAn k0mpI co (mpila k0 - _) co (mpl k%0 + _) co (mpl k@ co (mplem k0 co (mplex_ k0 co (mplica k0 @@ -1483,6 +1488,7 @@ _) co (nfid k0 _) co (nfide k%0 _) confi (den k0nfI + _) co (nfigu k@ _) co (nfis k0 _) co (nflu k0 _) co (ngre k0 @@ -1501,7 +1507,8 @@ _) conse (q k0nsI conser (v k%0ns3: conser (vatio k0ns@ - consider k%0nsId3 + consider k@nsId3 + _) co (nsi k@ co (nson k0 _) co (nstabl k0 co (nstan k0 @@ -1551,6 +1558,7 @@ @@e) d (_S1 d // suffix db (_ d,i:bi: ddh d + dh (K d dj dZ dg (_ dZ dg (C dZ @@ -1559,6 +1567,7 @@ dg (i dZ dg (y dZ _) dir (_ daI3 + _) dmi (tr d@mi: we) dne (sd n dt (_ t ?3 &) du (CA dZu: @@ -1602,7 +1611,7 @@ de (law dE de (leg dE de (lica dE - de (ll dE + _) de (ll dE de (lph dE _) de (lt dE delu (g dElju: @@ -1789,6 +1798,7 @@ e (ffic %I efier (_ I2faI3 e (ful + _) e (ffu %I @@) efy (_ I2faI l) e (gal i: l) egi (b EdZ@ @@ -2231,6 +2241,7 @@ j) eo (p E _l) eo i@ p) eo (pl i: + _) eor eI3 @) eosis i:'oUsIs &) eous (_ =i@s th) eo (@ I2@ @@ -2343,7 +2354,7 @@ c) er (n_ 3: &) er (oCe_ =@r er (se 3: - er (sal '3: + v) er (sal '3: @) er (sial '3: @) er (sy 3: er (sib 3: @@ -2408,9 +2419,12 @@ es (tate I2s @) esc (enC 'Es pr) es (ent Ez - magn) es (i 'i:z + es (iA i:z es (ian_ 'i:z es (ic 'i:z + th) eses (_ @si:z + th) esis (_ @sIs + th) es (iL06e_ @s r) esis (_ 'i:sIs es (ive 'i:s esque 'Esk @@ -2425,6 +2439,7 @@ Cr) es (t Es v) es (t+ Es harv) es (t Is + esti (m EstI# v) es (ty @s .group et @@ -2472,6 +2487,7 @@ .group ev _) ev I2v + _) eva (ne Ev@ _) eve i:v _) even i:v@n _) eve (nt I2vE @@ -2577,6 +2593,7 @@ _) g (ilK g g (ilC g l) ging dZI2N + _) g (iz g g (y dZ exa) gg (er dZ ght t @@ -2589,6 +2606,7 @@ _) gnu g@nu: hun) g g g (ear g + %A) g (er g g (et g g (ette_ dZ ve) g (et dZ @@ -2653,6 +2671,7 @@ _) hypo (@P4 h,aIpoU _) hypo (cr hIp0 hypo (de h,aIp@ + hypo (thes haIp'0 hypo (thet h,aIp@ .group i @@ -2690,6 +2709,7 @@ &) ial (_ =I2@l i (ani_ I _) i (b aI + i (ba_ 'i: @) ibab aIb@b l) i (bel aI l) i (ber I @@ -2815,6 +2835,7 @@ ize (d_ aIz i (zen I2 iz (er_ aIz + i (zon_ 'aI p) izz (a i:t|s @@ -3072,6 +3093,7 @@ _) in (fo_ In _) infra (P5 ,Infr@ _) infra (c %Infra + in (ga_ 'IN in (got IN _) in (gro IN _) in (jur In @@ -3206,8 +3228,9 @@ .group io - io (_ =I2oU -?7 io (_ =i:oU + &) io (_ =I2oU +?7 &) io (_ =i:oU + io (_ i:oU b) io aIoU b) io (logy aI0 card) io I2oU @@ -3282,6 +3305,7 @@ _) ir (rA I ir (ro I ir (ru I + v) ir (us aIr iry (_ aI3rI @@ -3441,6 +3465,7 @@ _) ki (lC@ kI2 _) ki (ll@ kI _) kilo (@ kIl@ + kinesis k@n'i:sI#s kuan kwan ku (ch ku: kuwait ku:w'eIt @@ -3619,7 +3644,7 @@ &ia) n (_S1 n &ia) ns (_S2 nz - @) name (_S4 neIm + &) name (_S4 neIm _) nano (P4 n,anoU nause nO:sI necessit n@sEsIt @@ -3649,6 +3674,8 @@ ninth naInT n (Co_ =n _) non (@P3 n,0n + nonchala (n n0nS@l@ +?3 nonchala (n n0nS@l'A: _) nurse (B n3:s .group ng @@ -3782,7 +3809,7 @@ oer oU@ _) oe (s i: &) oe (s_S2 z - oe (soph I2 + oesopha I2s0f@ p) oe (t oUI f) oe (tA i: p) oe (ti oUE @@ -3920,6 +3947,7 @@ t) ol (er 0l m) ol (ec @l m) ol (ecule 0l + &) ol (enC @l old oUld w) olf Ulf p) olice @li:s @@ -4467,6 +4495,7 @@ photocop foUt@k0p phot (ograph+ foUt _) phot (oL10++ foUt + _) phth (A fT _) phyco f,aIkoU p (hole p sym) pa p@ @@ -4500,6 +4529,7 @@ per (cei p3 per (culi p3 per (cus p3 + _) peregrin pEr@grIn per (fec p3 per (iph p@r perme (a p3:mI @@ -4637,6 +4667,7 @@ qu (_ k quay ki: jac) qu k + mes) qui (t k'i: li) quor k3 quy kwI @@ -4673,7 +4704,7 @@ &B) red (_ r@d uv) re @ rer (_ r@ - re (_ 3 + &) re (_ 3 A) re (_ r@ r) re (_ r@ _) re (C_ rE @@ -4703,6 +4734,7 @@ un) rede (C ,ri:dI2 re (dem+ rI2 _) re (dC rE + _) re (dolen rE _) re (dr r%i: _) re (eduP2 r%i: _) re (emP2 r%i: @@ -4801,6 +4833,7 @@ sch (o sk sch (C S sch (_ S + _e) sch S ?3 sch (ed sk _) sch (il S _) scar (A ske@ @@ -4999,6 +5032,7 @@ _) tian tjan &) tial S@L &) ti (ali SI + i) tia (liL06 S@ &) tien S@n &) tience S@ns &) tion S=@n @@ -5122,7 +5156,7 @@ _l) u (a u: r) u (aC+ u: u (a_ =ju: - s) ua (d weI + s) ua (de weI s) uag weIdZ @g) ua (ge wI u (al_ ju: @@ -5261,6 +5295,7 @@ fl) ui (d u:I dr) ui (d u:I c) uisine wIzi:n + c) uis wIz rc) ui (t I rc) ui (tous ''ju:I g) ui (ta I2 @@ -5422,6 +5457,7 @@ with (C w%ID with (A w%ID with (e wID + &) wood (_S4 wUd s) wor (d o@ ss) wor (d w3: ?5 ss) wor (d wVR diff --git a/dictsource/fr_list b/dictsource/fr_list index e4019a1f..7b23cd63 100644 --- a/dictsource/fr_list +++ b/dictsource/fr_list @@ -24,7 +24,7 @@ // 2006-11-18 Gilles Casse // -// Updated 2011-10-14 Michel Such +// Updated 2011-10-29 Michel Such // // * Numbers, a few abbreviations and exceptions. // @@ -149,6 +149,8 @@ _’ apostr'Of _‘ apostr'Of _µ mikr'o _§ sEksj'O~ +_∞ infini + // symbols that are normally spoken when reading text @ _::arobaz @@ -680,6 +682,7 @@ bis bis bissus bisys blues _^_en blum blum +bootable boutable $text broglie breuil $text browglie breuil $text buffer bYfWr @@ -726,7 +729,9 @@ gus gys gym Zim han _|A~ hélas elas $u+ +here _^_en hermes _|ErmEs +his _^_en input _^_en island _^_en jackpot dZakpOt @@ -783,7 +788,9 @@ stocker stoker2 sus sys sus sy $verb sushi suSi +there _^_en thierry tjEri +those _^_en to tu $u+ tramway tramwE: tuttiquanti tutikw'anti diff --git a/dictsource/fr_rules b/dictsource/fr_rules index 315e9fdc..eb4cf4ba 100644 --- a/dictsource/fr_rules +++ b/dictsource/fr_rules @@ -1,1544 +1,1545 @@ -// French translation rules for Espeak - -// *************************************************************************** -// * Copyright (C) 2005 to 2010 by Jonathan Duddington * -// * email: jonsd@users.sourceforge.net * -// * * -// * This program is free software; you can redistribute it and/or modify * -// * it under the terms of the GNU General Public License as published by * -// * the Free Software Foundation; either version 3 of the License, or * -// * (at your option) any later version. * -// * * -// * This program is distributed in the hope that it will be useful, * -// * but WITHOUT ANY WARRANTY; without even the implied warranty of * -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * -// * GNU General Public License for more details. * -// * * -// * You should have received a copy of the GNU General Public License * -// * along with this program; if not, see: * -// * . * -// ***************************************************************************/ - -// This file is UTF-8 encoded - -// 2006-11-18 Gilles Casse -// Initial rules for French, imported from -// Cicero TTS: A Small, Fast and Free Text-To-Speech Engine. -// http://www.fluxnic.net/cicero -// -// Rules are now maintained by Michel Such -// Last update: 2011-10-26 Michel Such -// - -// Letter classes: -// A all vowels: a e i o u y â ä é ê è î ï ô ö ù û -// C all consonants -// Y front vowels: e i y é ê è î -// K not a vowel (i.e. consonant, space, ) - -.replace -œ oe - - -.L01 d e l n r t u -.L02 b c d f g h k p t v -.L03 d l m n s t v -.L04 c d f g l m n v -.L05 g h k l m v w - -// Following groups are used to manage mute e inside words. - -// After or before L06, e is not mute -.L06 bl br cl cr ct dr fl fr ft gl gr kl kr pl pr tr vr - -// After L07, e is not mute -.L07 ec éc ed éd lb lc ld lg lm ln lp lt lv rb rc rd rf rg rl rm rn rp rs rt rv - -// All consonants + ch gu qu used as ch g k -.L08 b c d f g h j k l m n p q r s t v w x z ch qu gu - -// E placed after a consonant following L09 is not mute -.L09 l r s - -// When these diphtonges are after a consonant folllowing e, e is not mute -.L10 ia ie io ua ue ui uo -.L11 b p -.L12 é è aï al ib ie iq l om on ym ré - -// Words ending "son" pust sound english if preceded by L13 -.L13 d g k l p er hn - -// For english words ending "side" -.L14 be in up ut -.L15 c f g h - -// Hours -.L16 0 1 2 3 4 5 6 7 8 9 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 - -// Minutes -.L17 0 1 2 3 4 5 - - - -.group a - ae (_ e // reggae vitae - aen A~ // caen (diff Cicero: aA~) - ae aE // maestro - aim (K E~ // faim - ain (K E~ // pain - Ct) ain (_ E~n2 // certain ami - ch) ain (_ E~n2 // prochain arret - ai E - ai (_ e -_bal) ai (_ E -_ess) ai (_ E -_vr) ai (_ E - aie E - ais (_ Ez2 - ait (_ Et2 - aient Et2 - f) ai (sA @ // faisons faisan - a (ilK a - am (L11 A~ // jambon, tampon - am (m a // programmation - _) am (n am // amnistie - am (n a // condamner - - _L04) an (_ an - an (n_ a - _h) an (_ an - _) anti (@@P4 A~ti - _) anti (CAXP4 A~ti - _) arché (@P5 arke // archéologue - _) archéo (@P6 arkeo // archéologue - _) arch (aP4 ark // archange - _) arch (oP4 ark // archonte - _) anarcho (@P7 anarko // anarchosyndicalisme - - a (nnA a // manne - an (K A~ // ancien, élan - an (h an - @@m) an (_ an // tennisman - zm) an (_ an // jazzman - L02m) an (_ an - lism) an (_ A~ // talisman - ulm) an (_ A~ // musulman - _caïm) an (_ A~ // caïman - _C) aon (_ A~ // faon, paon, taon - s) aoul (_ u // saoul - s) aou (le u // saoule - août ut // août - août (i aus // aoûtien - aut (_ ot2 - a (ô // saune - au o // au, aux - aud (_ o // chaud -_C) aud (_ od // Maud - au (l_ O // Paul - au (re_ O // dinosaure - _) audio (@P5 odio - _) auto (@P4 oto - _) autom (n otO - bb) aye (X ei // abbaye - ay (C E // aymé - ay Ej // paye - ay (ak aj // kayak - ay (_ E // display - bb) aye (_ aj // cobbaye layer - Xl) ayer (X EjWr // player, layer - h) am (_S2 am - w) an (_ an - a a // bateau - -// group a: English section - any _^_en - aw (K _^_en - - -.group b - bb b // abbé - om) b (_ // plomb applomb - b b // aube - -// group b: English section - back _^_en -_) be (L15A _^_en - board _^_en // board, keyboard - box (_ _^_en // box, inbox, outbox - bugg _^_en // debugger - - -.group c - _) c' (P2v s // s - cch k // bacchanale - cc (Y ks // accéder - cc k // occuper - _) c (d se - _) ch (arism k // charisme, charismatique - _) ch (irop k // chiroptère - _) coe (la se // coelacante - a) ch (_ k // almanach - ar) c (ti // arctique - e) ch (_ k // varech - ni) ch (_ k - _A) ch (o_ k // écho - mani) ch (é k // manichéisme - wi) ch tS // sandwich - mito) ch (o k // mitochondrie - _eu) ch (ari k // eucharistie - or) ch (esC k // orchestre - or) ch (iC k // orchidée - _) ch (ao k // chaos, chaotique - _) ch (orA k // chorale - _) ch (oriz S - _) ch (oro S - ch (r k // chrétien - _) chrono (@P6 krono - ch (l k - ch (n k - ch (s k - ch (to k - ch S // chien - ck k // nickel - cqu k // grecque - cq k // pecq - s) c (Y - x) c (Y - c (Y s // cède - _) cyber (P5 sibEr - Can) c (_ // banc - Con) c (_ // tronc, jonc - _don) c (_ k // donc - cler) c (_ // leclerc - tchou) c (_ - taba) c (_ - toma) c (_ - se) c (ond g // seconde secondaire - c k // recoin donc -zin) c (_ g // zinc - - cient (_ sit2 // ils appr�ient, remercient. - effi) cient sjA~ // coefficient - défi) cient sjA~ // déficient - cast (_S4 kast // podcast - casts (_S5 kast // podcasts - _) clown klun - -// group c: English section - n) ch (_ _^_en // french - ch (ment _^_en // attachment - cut (_ _^_en // cut, shortcut - - -.group ç - - ç s // rançon - _) ç' (P2v s - - -.group d - dd d // addition - _) d' (P2 d - _ban) d (_ d - _lan) d (_ d // land - _stan) d (_ d // stand - an) d (_ - _san) d (_ d - - _gran) d (_ t2 // grand ami, grand marchand - Cen) d (_ t2 - Con) d (_ - con) d (_ t2 - quen) d (_ t2 - r) d (_ - _har) d (_ d - lor) d (_ d - oi) d (_ - ou) d (_ - - dt (_ t // Schmidt - _ni) d (_ // nid - d d // don bled - _expé) dien (t_ djA~ // expédient -V_expé) dien (t_ di // expédient -_ingré) dien (t_ djA~ // ingrédient - dien (t_ di // étudient (verbe) - _) dendro (@P6 dE~dro - -// group d: English section - day (_ _^_en - _) devic _^_en - dle (X _^_en // bundle, handle - -.group e - -// Define use of the final 'e' in french - e (_ - -// Manage mute e inside words -@C) e (CeCA @ -@L08) e (CA -@L08) e (CL10C @ -@L08) e (L06 -@L08) e (L06L10C @ -@L06) e (CA @ -@L06) e (L06 @ -@L07) e (CA @ -@L07) e (L06 @ -@L09gu) e (CA @ -@L09gu) e (L06 @ -@L09qu) e (CA @ -@L09qu) e (L06 @ - e (ct+++++ E - e (x+++++ E - - _C) e (_ @- // je te - -c) e (_ - -j) e (_ - C) e (- - -_) e (CAN e // Evident -_) e (L06A e // Ecran -_eC) e (CA++ E // Evenement - eau (++ o // bateau - e (CC E - cap) e (la_ E - gh) e (tAX E // spagheti - p) ect (_ E // suspect - ect (_ Ekt // direct - pi) ed (_ e // pied - _art) e (++ e // arte, artefact - _cl) ef (_ e // clef - _) ein (K En // Einstein - ein (K E~ // peindre - pl) ein (_ E~n2 // plein emploi - e (il E // vieille - ei E // neige - e (oi // asseoir - el (l E // belle - _f) em (me a // femme - i) e (mA // remerciement, d�ploiement - A) e (rA // remerciera - tch) e (rX W - @) em (me a // patiemment - em (L11 A~ // décembre - em (mACC A~ // emmancher - em (mACAC A~ // emmagasiner - em (ma E // emmanuel - em (mai A~ // emmailloter - l) em (n a // solemnel - il) emn Em // dilemne - en (_ A~n2 // en - en (hA A~n // enharmonique - _C) en (j E~ // benjamin - _flam) en (c E~ // flamenco - _) en (A A~n // enivrer - - C) en (d_ A~ // comprend dépend - od) en (dr E~ // rhododendron - qu) en (d_ A~ - - pati) en A~ // patient patience - en (nu A~ // ennui - en (nA E // penne ennemi - - é) en (_ E~ // européen - - Ci) en (nA E // mienne - - éC) en (t_ A~ // récent différent élément - équ) en (t_ A~ // fréquent, conséquent - étic) en (t_ A~ // réticent - - _C) en (t_ A~ // cent vent lent dent - cc) en (t_ A~ // accent - Asc) en (t_ A~ // luminescent - _dol) en (t_ A~ // dolent - ol) en (t_ A~ // somnolent, violent - Vol) en (t_ // somnolent, violent - Xol) ent (_ t2 // volent - eul) ent (_ t2 // veulent - ul) en (t_ A~ // turbulent - Ccul) ent (_ t2 - Vul) ent (_ t2 - imCoC) en (t_ A~ // impotent - inCoC) en (t_ A~ // innocent, indolent - -XACcid) en (t_ A~ // accident, occident - - _ag) en (t_ A~ // agent - _ard) en (t_ A~ // ardent - _arg) en (t_ A~ // argent - _urg) en (t_ A~ // urgent - V_urg) ent (_ t2 // urgent (verbe) - - _émin) en (t_ A~ // éminent - immin) en (t_ A~ // imminent - oémin) en (t_ A~ // proéminent - jac) en (t_ A~ // sous-jacent, adjacent - _lat) en (t_ A~ // latent - - ig) ent (_ t2 - ilig) ent (_ A~t2 - llig) ent (_ A~t2 - ndig) ent (_ A~t2 - tang) ent (_ A~t2 // tangent - @@ing) en (t_ A~ // astreingent, contingentindigent - - man) en (t_ A~ // permanent - _pat) en (t_ A~ // patent - rmam) en (t_ A~ // firmament - verg) en (t_ A~ // convergent, divergent - Vverg) ent (_ t2 // convergent, divergent (verbe) - - _serg) en (t_ A~ // sergent -CACCim) en (t_ A~ // condiment, gentiment - dim) en (t_ A~ // rudiment - Agim) en (t_ A~ // régiment - Alim) en (t_ A~ // poliment - inim) en (t_ A~ // infiniment - manim) en (t_ A~ // maniment - onim) en (t_ A~ // boniment - plim) en (t_ A~ // compliment - Atim) en (t_ A~ // bâtiment - _cim) en (t_ A~ // ciment - _pim) en (t_ A~ // piment - gm) en (t_ A~ // fragment - Asim) en (t_ A~ // quasiment - - ertin) en (t_ A~ // pertinent, impertinent - ontin) en (t_ A~ // continent, incontinent - _sArm) en (t_ A~ // sarment, serment - erm) en (t_ A~ // ferment - Vferm) ent (_ t2 // ferment, referment (verbe) - XArp) en (t_ A~ // arpent, serpent - CArr) en (t_ A~ // conncurrent, torrent - Cerr) ent (_ t2 // ils serrent -_appar) en (t_ A~ // apparent - spar) en (t_ A~ // transparent - _par) en (t_ A~ // parent - V_par) ent (_ t2 // parent (verbe) - _var) en (t_ A~ // varent - mitt) en (t_ A~ // intermittent - énit) en (t_ A~ // pénitent - tourm) en (t_ A~ // tourment - Cflu) en (t_ A~ // affluent, confluent - VCflu) ent (_ t2 // refluent, influent (verbe) - - _tal) en (t_ A~ // talent - ival) en (t_ A~ // équivalent - Vival) ent (_ t2 // équivalent (verbe) - xcell) en (t_ A~ // excellent -Vxcell) ent (_ t2 // excellent - - iCam) en (t_ A~ - mm) en (t_ A~ - em) en (t_ A~ // lentement - mom) en (t_ A~ // moment - Aaim) en (t_ A~ - Caim) en (t_ A~ - dum) en (t_ A~ - gum) en (t_ A~ - jum) en (t_ A~ - oCum) en (t_ A~ - rum) en (t_ A~ - - éCid) en (t_ A~ - VéCid) ent (_ t2 - Xtrid) en (t_ A~ - _flor) en (t_ A~ - _laur) en (t_ A~ -_mécont) en (t_ A~ - _cont) en (t_ A~ -_Vcont) ent (_ t2 - éC) en (t_ A~ // compétent - _souv) en (t_ A~ // souvent - Cud) en (t_ A~ - - _couv) en (tS3f A~ // le couvent -V_couv) en (t_ // elles couvent -s_couv) en (t_ // elles couvent - - ent (_ t2 // étaient mangent - A) ent (_ t2 // étaient mangent - - Ci) en (K E~ // rien, lien - Ci) en (c A~ // science - - AA) en (_ E~ - C) en (_ En // amen, abdomen, golden - C) en (to_ En // memento - nc) ens (_ A~ // encens - xam) en (_ E~ // examen - - en (s_ A~ - en (CA A~ // pentathlon - en (CC A~ // entre - sp) ens (_ Ens // suspens - éC) ens (_ A~z2 // dépens démens - - _C) er (_ Er // fer - _Ch) er (_ Er // cher - _env) er (_ Er - _hi) er (_ Er // hier - _fi) er (_ Er // fier - _hiv) er (X Er // hiver - Cst) er (X Er // hamster - _cart) er (X Er // carter - _cutt) er (X Wr // cutter - tain) er (X Er // container - _ti) er (_ Er - ack) er (K Wr - ock) er (K Er - rock) er (K Wr - - er (_ e // parler léger - er (s_ e - - i) e (rt_ E // requiert - - d) e (ssus_ @ // dessus - - _d) es (bA e - _d) es (jA e // Desjardins - _d) es (nA e - _d) es (qA e // desquels - - _l) es (qA e // lesquels - - _m) es (dA e // mesdames - _m) es (nA e - Am) es (dA e - Am) es (nA e // Dumesnil - - d) esh (A ez // Deshormeaux - f) eb (vA E // Lefebvre - - _r) e (ss @ // ressembler - _r) e (ssu e // ressusciter - _r) e (stra @ - _r) e (stro @ - _r) e (stru @ // restructurer - -) est (_ Est // -est - - dg) et (_ Et // Bridget, gadget - k) et (_ Et - tick) et (_ E - m) et (_ Et2 - - eu Y // eu - eu (CX W // neuf - eu (CeX W // fleuve - eu (Cer_ Y // pleurer - eu (i W // feuille - eu (CeX Y // meule - eu (reX W // demeure - eu (leX W // gueule - eu (ler Y // gueuler - eu (rC W // pleurnicher - eu (rreX W // beurre - _) eu (ss y // eusse - - _) eut (_ yt2 - eut (_ Yt2 - eux (_ Yz2 - _) extra (uP5 Ekstra - _) extra (CP5 Ekstra - _) eû y // eût - eû Y: // jeûne - - ey (_ E // dahomey - ey (C E // ceylan - ey Ej // asseye - - ez (_ ez2 // nez mangez chez - - g) e (A // mangeons - g) eu W // vengeur - g) eu (re y // gageure - - _d) e (ch @ - _r) e (ch @ // recherche - e (Cl @ - - _l) e (CA @ - _l) e (ChA @ - _l) e (ClA @ // Leclerc - tr) e (CA @ - tr) e (ChA @ - - e (Cr @ - _) e (C% e // effet, effectuer - e (C_ E - e (rC E - es (_ z2 - - e (ri_++ e - e (ria_++ e - e (ro_++ e // Cicero - e (rr+++ E - - e @ // menue - _) e (CA e - Cr) eam I:m - Cr) eamer ImWr - Cl) eaner InWr - vert) e (rX W - eï (K 'Ej - _y) en (_ En - iew) er (X er2 - _m) e (ga e - app) en (di E~ // appendice - - -// group e: English section - ea _^_en -_) e (CeX _^_en - ed (_ _^_en - ee _^_en // meeting - efore (_ _^_en // before - eing (_ _^_en // being, boeing - eive _^_en // receive - el (CX _^_en // field - el (sX El - _) enter (_ _^_en // enter - _) enhan _^_en - ess (_ _^_en // loudness - qu) est (_ _^_en // request - qu) este (X_ _^_en // requested, requester - even (_ _^_en - _) ever _^_en - oC) ever _^_en // forever, however - ew (++ _^_en - _) eye _^_en - - -.group è - - Z) ème iEm - è E - ès (_ E - Ar) ès (_ Es - m) ès (_ Es - n) ès (_ Es - p) ès (_ Es - - -.group ë - u) ë // ambiguë -no) ë (_ e // canoë - ë E // citroën noël - - -.group f - f f - f (f - _ner) f (X - _neu) f (_ans v // liaison: neuf ans - _neu) f (_heures v - -// group f: English section - _) fire (CA _^_en - _) fire (CCA _^_en - fly _^_en - _) frame _^_en - fter (_ _^_en - - -.group g - g g - g (Y Z - ge (a Z - ge (o Z - - su) gg (Y gZ // suggérer suggestif - gg g // agglomérer - ai) gni n^ // craignions châtaignier - gn nj // agneau -_wa) gner (_ gnEr - gni n^i // signifier - gn (e_ n^ - gn (_ n^ - gn (eCA nj@- - gn (ie n // compagnie - dia) g (no g - _a) g (no g -_quatrevin) gts (_ z2 - - vin) gt (_A t // liaison: vingt ans - - vin) gt (_un - vin) gt (_deux t - vin) gt (_trois t //liaison: vingt-trois - vin) gt (_quatr t - vin) gt (_cinq t - vin) gt (_six t - vin) gt (_sept t - vin) gt (_huit t - vin) gt (_neuf t - vin) gt (_neuvi t - - gt (_ // vingt doigts - An) gt (A t // vingtaine doigté - - gu (i g // anguille - ai) gui (l gyi // aiguillage - in) gui (s gyi // linguiste - g (C g - - _ran) g (_ // rang - _san) g (_ // sang - étan) g (_ // étang - _lon) g (_ // long - bour) g (_ // Strasbourg - - g (_ g // grog gag goulag - -// group g: English section - _) game (X _^_en - girl _^_en // girl - gh (K _^_en - gy (_ _^_en - - -.group h - _) h _| - _) h (abi // habit, habilleur - _) h (allo // hallogène - _) h (ame // hameçon - _) h (andr // handroïde - _) h (arm // harmonie - _) h (el // hellène - _) h (ect // hectare - _) h (erb // herbe - _) h (é - _) h (éris _| - _) h (éro _| - _) h (eure // heure - _) h (iber // hibernation - _) hi (A _|j // hier - _) h (ippo // hippodrome - _) h (iro // hirondelle - _) h (ist // histoire - _) h (iv // hiver - _) h (omm // homme - _) h (onn // honneur - _) h (ô // hôpital - _) h (os // hostile - _) h (ora // horaire - _) h (orip // horipeau - _) h (oriz // horizon - _) h (oro // horoscope - _) h (orlo // horloge - _) h (orr // horreur - _) h (uil // huile - _) h (uiss // huissier - _) h (uitr // huître - _) h (umA // humain - _) h (umC // humble - _) hy (A j - haus (_ os //blockhaus - heim (_ ajm - _) h (y // hypermarché - _) hyper (@P5 ipEr - _) hyper (_ ipEr - _) hypra (@P5 ipra - h // ahuri - -// group h: English section - _) half _^_en - _) ha (C_ _^_en - hn _^_en - - -.group i - i i // cri - - C) i (erA i - C) ien (t_ i - dév) ien (t_ i - t) ien (K_ jE~ // tient - v) ien (K_ jE~ // vient - at) ien (t_ jA~ // patient - cip) ien (C jA~ // récipient - cl) ien (C iA~ // client - mol) ien (C jA~ // émolient - vén) ien (C jA~ // inconvénient - or) ien (t iA~ // orient, orienter - ot) ien (t_ jA~ // quotient - - _) i (ce@ aj // iceberg - _) il (l i // illégal - aigu) ill ij // aiguille - anqu) ill il // tranquille - c) ill (i il - dist) ill il // distiller - _L05) ill il // Lille, mille, william - v) ill (e_ il // ville - osc) ill il // osciller - gu) ill ij // guillaume - qu) ill ij // quille - A) ill j // caillou - C) ill ij // famille - a) il (_ j // bail - e) il (_ j - gt) i (m aj - u) il (_ j // deuil - L01_f) ils (_ is // fils (enfant) - - imm imm // immaculé - im (_ im // karim - im (C E~ // timbre - inct (_ E~ // distinct - in (h in // inhumain - in (n i // innombrable - in (C E~ // vingt - in (_ E~ // vin -// ing (_ iN - ing (h ing - ing (s iN - _) infra (sP5 E~fra - _) inter (@@P5 E~tEr - _) interr (A E~tEr - _) inter (_ E~t'Er - _) inter (ne_ E~t'Er - _) intra (neP5 E~tra - _) intra (uP5 E~tra - C) is (_ i - Kir) is (_ is - bor) is (_ is - dor) is (_ is - tor) is (_ is - fl) irt Wrt - otl) i (neX aj - onl) i (ne_ aj - offl) i (ne_ aj - dr) i (ve aj - pr) int (_ int - -// group i: English section - ibuter (X _^_en - iev _^_en - ife (_ _^_en - ign (_ _^_en - ill (_ _^_en // Bill - C) ill (y_ _^_en // Billy - ing (_ _^_en - i (pAd _^_en -C) irt (_ _^_en - iven (_ _^_en - ind (X _^_en // find, mind - _C) ind (erX _^_en // finder - AC) ind (erX _^_en // reminder - C) ird (X _^_en // bird - ize (K _^_en // realize - ram_f) i (le _^_en - -.group ï - ï i // naïf - A) ï (_ j - A) ïe (_ j - A) ï (lA j - - - ïn (K E~ // coïncidence - Ca) ïs (_ is // maïs - - - -.group j - j Z // adjoint joujoux - je (a Z // Jean - _) j' (P2v Z - _) jazz dZaz - _) j (obK dZ - _) j (ohK dZ - _) jusqu' (P6 Zysk - - -.group k - k k // kafka - - -// group k: English section - ke (_ _^_en // make, take - ke (s_ _^_en // makes, takes - ke (rX _^_en // maker - ke (nX _^_en // taken -AC) k (X _^_en // bank - -.group l - l l // lit - ll (A l // aller - _) l' (P2 l - au) lt // hérault - uCi) l (_ // outil, fusil - nti) l (_ // gentil - nti) lh j // gentilhomme - ui) ll j // juillet - _) lorsqu' (P7 lorsk - -// group l: English section -o) ld (_ _^_en // old -u) ld (_ _^_en // could - less (_ _^_en // noiseless -%C) l (eX _^_en -ff) l (eX l -pp) l (eX l - _) line (X _^_en - _) live _^_en - @) loud (_ _^_en - AC) l (X _^_en - - -.group m - m m // film - mm m // pomme - _) m' (P2v m - _) mc (@P2 mak - _) ms (P2 EmEs - master (_S6 mastWr - -// group m: English section - m (n_ _^_en // column, autumn -e) mail _^_en -d) mail _^_en -g) mail _^_en -t) mail _^_en - mov (AX _^_en // move, movy - mov (ie_ _^_en // move, movy - - -.group n - n n // une - nn n - ng (_ N - ngh ng - - _) n' (P2v n - _wAC) ner (_ nEr - - _) n (_° nymero - _) neuro (@@P5 nYro - _) nvda (P4 Envedea - -// group n: English section -_) name _^_en -_re) name _^_en - n (eme_ _^_en - n (emes_ _^_en - - -.group o - br) oc (_ o // broc - cr) oc (_ o // escroc - _) os (_++ Os - _v) os (gY o - s_) os (_ o - x_) os (_ o - o (t_ o - - oe (llA wa // moelleux - oe (i W // oeil - _) oe (C Y // oesophage - _ph) oe (C e // phoetus - _ph) oe (n_ W // phoen - oeu W // voeu - oeud Y // noeud - oeufs (_ Y // oeufs boeufs - oeu (x Yz2 // voeux - o (eC o // coefficient - _) oi (gnon o // oignons - oin (C wE~ - oin (_ wE~ // coin - oi wa // poil - oê (l wa // poêle - om (L11 O~ // bombe, pompe - om (t O~ // comte - n) om (X O~ // nom - om (_ Om // www.web.com - - on (K O~ // montre, vision - on (n O // bonne, personne - on (t_ O~t2 // mont vont sont - _m) ont (pAC O~ // Montpellier - _m) ont (m O~ - _m) ont (rAal O~ // Montreal - onsh (A O~z // bonshommes - onh (A On // bonhomme - _) on (z _|O~ // onze, onzième - - _c) on (_ O~ // no comment - _C) on (_ O~n2 // mon appui, mon histoire, mon havre - - alc) oo (l O // alcool - z) oo o // zoo - z) oo (C oo // zoologue - z) oo (m u // zoom - _gal) op (_ o // galop - - _sir) op (_ o // sirop - - v) ost (_ o // Prévost - _C) oup (_ u // coup, loup - - - ou u // hibou brouillard groupe encouragé - ou (in w // pingouin - oue (mA u // dévouement - _) ou (at _|u // ouate - où u // où - oû u // coûter - oy (A waj // noyer voyelles - _b) oy (co Oj // boycott - _c) oy (o Oi // coyote - _y) o (y O - oy wa - o (_ o // zorro allégro - gr) oss os // grosse, grossir - -C) o (me_ o // atome, chrome -_C) o (me_ O // Rome tome - o (sA o // position - o (zA o // Mozilla - o (CC O // poste, votre - o O - -// group o: English section - oa (X _^_en // approach, load - oa (_ oa - oa (s_ oa - oa (CerX _^_en - oach _^_en - oes _^_en -_) of (X _^_en - o (lder_ _^_en // folder, older -_) o (rder_ _^_en // order - C) oing (_ _^_en // going - gt) on (_ _^_en - Cst) on (_ _^_en - oo (Ce _^_en // boomer - oo (k _^_en // book, cook - oo (st _^_en // booster - oo (X _^_en // pool - C) oot _^_en // bootable football - _) one _^_en -l) oud (X _^_en // cloud, loud -XC) oud (X _^_en - oun (C _^_en // bounce, found - _) over _^_en // over - _sC) ot _^_en // shot, slot, spot - ow (e _^_en // flower, power - ow (X _^_en -_C) oy (X _^_en // boy, toy - - -.group ô - ôt (_ o // rôt - ô o // cône - - -.group p - p p // pas - _) para (pCP4 para - _) photo (@P5 foto - _) poly (@P4 poli - _) post (CP4 post - _) post (ACCP4 post - _) pseudo (@P6 psYdo - p (p // appliquer - pays pEiz2 // pays, paysage - ph f // phrase - - m) ps (_ // temps champs - r) ps (_ // corps - - cham) p (_ // champ - - cam) p (_ // camp - - dra) p (_ // drap - _) psych (@P5 psik - _) psych (iCP5 psiS - _) psych (AA_P5 psiS - - ba) p (t // baptiser - com) p (t // compte - - C) pt (_ // prompt exempt - - se) pt (_ t // sept - se) pt (iè t // septième - scul) p (t // sculpture - _) puisqu' (P7 pyisk - -// group p: English section - pad (_ _^_en - plug _^_en // plug - printer (_ _^_en // printer - - -.group q - q k // coq - _) qu' (AP3 k - _) qua (d kwa // quadrature - _) qua (tA kwa // quaternaire - _) quan (tA kwA~ // quantique - _) qua (drill ka // quadriller - _a) qua kwa // aquarium - _a) qu (if ku // aquifère - _A) qui (dist kyi // équidistant - _A) qui (lat kyi // équilatéral - _C) qua kwa // squale square - _A) qua kwa // équateur - dé) qua kwa // adequate - _) qua (rtz kwa // quartz - qu k // quatre - _) que (_ k@ // que - n) q (_ k // cinq - n) q (_mill // cinq mille - n) q (_cent_ // cinq cent - -// group q: English section - quick _^_en // quick, quickly - - -.group r - - _su) rr rr // surréaliste - cou) rr rr // courrai - mou) rr rr // mourrai - cou) rr (i r // courrier - cou) rr (o r // courroie - r r // rien - rr r - _) radio (@P5 radio - -// group r: English section - _) real _^_en - rst (_ _^_en - r (Cy_ _^_en - _) rule _^_en - - -.group s - s s // verser sien - - s (_S1 z2 - stein (_ Stajn - - _) s' (P2v s // s'amène - _) s' (esXP2v s // s'amène - sç s // immisça - sch (ie sk // schierzo - sch (iz sk // schizophrène - sch (ol sk - sch (oo sk - schu Su - - sch S // schéma - dé) sh (A z // déshabiller - sh S // shérif - ss s // assez - - ai) s (em s // vraisemblable - _al) s (ac z // Alsace - aCè) s (_ s - nè) s (_ s - kansa) s (_ s // Kansas, Arkansas - aka) s (_ s - ub) s (is z // subsister - tran) s (A z // transition - tran) s (e s // transe - tran) s (ub s // transubstantiation - A) s (A z // baiser - A) s (oft s // microsoft - A) s (ol_ s // tournesol - _) socio (@P5 sosio - _) super (@@P5 sypEr - _) super (_ sypEr - _) supra (@P5 sypra - batro) s (_ s - océro) s (_ s - scien (t siA~ // conscient scientifique - sql (_S3 EskyEl - - _u) s (_ s - Cu) s (_ - Abu) s (_ s - _Abu) s (_ - mbu) s (_ s -_cACpu) s (_ s - Acu) s (_ s - docu) s (_ - écu) s (_ - asu) s (_ s - odu) s (_ s - gu) s (_ s - igu) s (_ // aigus - iu) s (_ s // radius - ïu) s (_ s // laïus - Culu) s (_ s // cumulus - plu) s (_ z2 // plus, surplus - ylu) s (_ s // stylus - mu) s (_ s - _mu) s (_ - ému) s (_ - opu) s (_ s // opus, octopus - Aru) s (_ s // virus - aru) s (_ // disparus - ouru) s (_ // courus - Anu) s (_ s // bonus, tonus - enu) s (_ // menus, venus - psu) s (_ s // lapsus - cessu) s (_ s // processus - - atu) s (_ s // stratus motus - ctu) s (_ s // cactus - etu) s (_ s - aitu) s (_ - itu) s (_ s - ltu) s (_ s // altus - otu) s (_ s // motus - Cutu) s (_ s - - _tou) s (_ s - - s (b z // sbire - s (d z - s (g z - s (j z - s (v z - _tou) s (_Ces_ - _tou) s (_des_ s - _tou) s (_Cos_ - _tou) s (_leurs_ - -// group s: English section - send (_ _^_en -_) server (X _^_en - sh (_ _^_en - sh (Ap _^_en // shop, ship - sh (At _^_en // shut, shot -_) side (X+++ _^_en -L14) side (X+++ _^_en - _) sky _^_en - _) smil _^_en // smile, smiley - spy _^_en -_A) s (_ _^_en -L13) son (_ _^_en -L13) ston (_ _^_en - stone (_ _^_en - - -.group t - t t // bataille - _) t (_ te - -) t (- t2 - _) t' (P2v t - Vn) t (_ t2 - A) t (- t2 - VCi) t (_ t2 - t (_ - peti) t (_ t2 - th (L12++ t - th (ArA++ t - th (oCA t -or) th (++ t - _) th (erm t - ts (_S1 z2 // silent at end of word unless next word starts with a vowel - C) t (_ t // compost watt soft script malttact abrupt - ki) t (_ t // kit - n) t (_ - r) t (_ - - aul) t (_ // Renault - grani) t (_ t - - _) télé (@P4 tele - _) tele tele - _) thermo (@P6 tErmo - - tt t // attitude - - s) th (m // asthme - th t // théorie - hui) t (_ t3 // huit - - _) t t // tien tiers - an) t (ia t // Santiago - C) t (ieu s // contentieux - - t (io_ s // ratio - - Ama) t (ieX s // diplomatie - a) t (ia s // spatial - en) t (ia s // confidentialit� - lbu) t (iA s // balbutiait - r) t (ia s // impartial - ini) t (iA s // initier - p) t (ia s // nuptial - an) t (iat s // transsubstantiation - - t (ion s // programmation - V) t (ion t // verbes - ache) t (ion t // achetions, rachetions - ai) t (ion t // souhaitions, traitions - oi) t (ion t // boitions - si) t (ion s // position - chan) t (ion t // chantions, d�chantions - Cisi) t (ion t // visitions - ci) t (ions t // citions - comp) t (ions t // comptions, escomptions - CAnc) t (ion s // fonctionner, ponctionner - Ce) t (ions t // jetions, rejetions - Vec) t (ion t // respections - Vep) t (ion t // respections - éCi) t (ions t // hésitions, héritions - éti) t (ion s // pétition - Vé) t (ion t // répétions - habi) t (ions t // habitions - imi) t (ions t // imitions, limitions - VAu) t (ion t // ajoutions - lu) t (ion s // févolution - Apor) t (ion t // emportions, exportions - opor) t (ion s // proportion - Cpor) t (ion t // emportions, exportions - sor) t (ion t // sortions - rê) t (ion t // arrêtions, apprêtions - - s) t (ion t // gestion - _ta) t (ion t // tation - sen) t (ion_ t // sentions, ressentions - t) t (ion t // combattions - - t (iel s // partiel - t (ieu s // ambitieux - t (iAm s // patiemment - - mar) t (ien s // martien vénitienne - a) t (ien s - i) t (ien s - o) t (ien s - - ipé) t (ieX s - amé) t (ieX s - nu) t (ieX s // minutie - ni) tien (t_ si - bu) tien (t_ si - - cra) t (ieX s // démocratie - - ner) t (ie s // inertie - - _ce) t (_ t -_transA) t (_ t - -// group t: English section - th (A _^_en // this - th (K _^_en // month - _) time _^_en - tle (_ _^_en - too _^_en - ttl _^_en -g) ton (_ _^_en // try, country -i) t (uneX _^_en - try (_ _^_en // try, country - sCar) t (_ _^_en // smart, start - sCar) t (er_ _^_en // starter - _) tun (AX _^_en - - -.group u - u y // cruel nuage brut - ue (il W // orgueil - ui yi // nuit, fuite - uin (K yE~ // juin - _C) u (rfX W - _bl) u (ff W - _s) u (rfeX W - uy (A yij - - C) ucci utSi // capuccino - _g) ua wa - ag) ua (X wa - Ctig) ua (_ wa - _c) ul (_ y - _) ultra (P5 yltra - g) u (ay u - haïk) u (X u - - C) u (bX W // hub, club - C) u (gX W // bug, mug - _n) u (rse W // nurse - pr) unt (_ W~ // emprunt - um (_ Om // album - f) um (_ W~ // parfum - um (L11 W~ // humble - un (C W~ // emprunt lundi - un (n y // tunnel - CC) un (_ W~ // brun - uc) un (_ W~n2 // aucun - un (_ W~n2 // un avion - _h) un (_ W~ // hun - - fl) ux (_ y // flux, reflux - g) u (A // fatigue - g) u (ï y // ambiguïté - g) u (ë y // ambiguë - p) u (tsch u // putsch - uz (z W - -// group u: English section - ual (_ _^_en // usual - uch (_ _^_en // much - _b) usi _^_en // business, businessman - C) ui (ce _^_en // produice, juice -C) ult (_ _^_en - umber (_ _^_en - ump (_ _^_en - r) u (nX _^_en // run, autorun - unch _^_en - under _^_en // under, understand, thunder - _C) un (_ _^_en - _C) un (ny _^_en - _) up (C _^_en // upper, update - up (_ _^_en // setup - urn (X _^_en // burn, turn - ust (_ _^_en // just, trust - uzz _^_en // buzz - - -.group ü - ü y - üs (_ ys - üm (_ om - ül (_ yll - - -.group v - v v - vers (_ vErz2 - dri) ver (X vWr - view (X vju - _) view (A vjuv - -// group v: English section - voice (X _^_en - void (_ _^_en - vy (_ _^_en - - -.group w - w w - _) w (A _|w - w (ag++ v // wagon - -// group w: English section - _) w (AC _^_en - _) w (ina w - _) w (Ai _^_en - _) w (Att w - _) w (ACo w - _) we _^_en - wh _^_en // why whisky when - wr _^_en // write - war _^_en // war - wav _^_en // wave - way _^_en // way, away -A) wn _^_en - wor _^_en - - -.group x - x ks - xx ks - _) x (A gz // xylophone - _) x (CP1 iks // xylophone - xml (_S3 _|iksEmEl - e) x (A gz // exagérer exemple - L03e) x (A ks // annexe, vexer - _ine) x (A gz - _e) x (h gz // exhumer - - ai) x (_ // voix paix prix - oi) x (_ - ri) x (_ - - _soi) x (A s // soixante - - Au) x (_ z2 // faux feux choux - - _au) x (quel // auxquels - - _di) x (_neuf z // liaison: dix-neuf - _di) x (_ z3 - _si) x (_neu s // liaison: six-neuf - _si) x (_ z3 - - di) x (iè z // dixième - si) x (iè z // sixième - deu) x (iè z // deuxième - - -.group y - y i // cryogénique myope - _) y (A _|j // yak - _) y (eu j // yeux - _) yacht _^_en // yacht, yachtman - - _) yahoo (P5 ja'u - ym (L11 E~ // tympan - ym (_ E~ // thym - X) ys (_ is - - yn (K E~ // laryngite - y (nn i - -// group y: English section -_C) y (_ _^_en -AC) y (_ _^_en -C) y (e_ _^_en -%C) y (_ _^_en -ss) y (_ i -@CeC) y (_ _^_en -nC) y (_ _^_en - yze _^_en - - -.group z - z z - t) z s // tzigane - t) zer (_ zEr - C) zer (_ zWr - - -.group -// accented characters, these could have their own groups if they need more rules - â a: - ñ n^ - - é e // été - ê E // fête - - ö o // angström - û y: // fûtes - ü y // bülcher - - -// symbols that are normally spoken when reading text -// , (D pilk:u -_L16_) : (_L17D_ Wr // Say time - $ dOlar - ° d@gre - _n_) ° // n° - ' (C _^_en - - - - - - - - - +// French translation rules for Espeak + +// *************************************************************************** +// * Copyright (C) 2005 to 2010 by Jonathan Duddington * +// * email: jonsd@users.sourceforge.net * +// * * +// * This program is free software; you can redistribute it and/or modify * +// * it under the terms of the GNU General Public License as published by * +// * the Free Software Foundation; either version 3 of the License, or * +// * (at your option) any later version. * +// * * +// * This program is distributed in the hope that it will be useful, * +// * but WITHOUT ANY WARRANTY; without even the implied warranty of * +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +// * GNU General Public License for more details. * +// * * +// * You should have received a copy of the GNU General Public License * +// * along with this program; if not, see: * +// * . * +// ***************************************************************************/ + +// This file is UTF-8 encoded + +// 2006-11-18 Gilles Casse +// Initial rules for French, imported from +// Cicero TTS: A Small, Fast and Free Text-To-Speech Engine. +// http://www.fluxnic.net/cicero +// +// Rules are now maintained by Michel Such +// Last update: 2011-10-26 Michel Such +// + +// Letter classes: +// A all vowels: a e i o u y â ä é ê è î ï ô ö ù û +// C all consonants +// Y front vowels: e i y é ê è î +// K not a vowel (i.e. consonant, space, ) + +.replace +œ oe + + +.L01 d e l n r t u +.L02 b c d f g h k p t v +.L03 d l m n s t v +.L04 c d f g l m n v +.L05 g h k l m v w + +// Following groups are used to manage mute e inside words. + +// After or before L06, e is not mute +.L06 bl br cl cr ct dr fl fr ft gl gr kl kr pl pr tr vr + +// After L07, e is not mute +.L07 ec éc ed éd lb lc ld lg lm ln lp lt lv rb rc rd rf rg rl rm rn rp rs rt rv + +// All consonants + ch gu qu used as ch g k +.L08 b c d f g h j k l m n p q r s t v w x z ch qu gu + +// E placed after a consonant following L09 is not mute +.L09 l r s + +// When these diphtonges are after a consonant folllowing e, e is not mute +.L10 ia ie io ua ue ui uo +.L11 b p +.L12 é è aï al ib ie iq l om on ym ré + +// Words ending "son" pust sound english if preceded by L13 +.L13 d g k l p er hn + +// For english words ending "side" +.L14 be in up ut +.L15 c f g h + +// Hours +.L16 0 1 2 3 4 5 6 7 8 9 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 + +// Minutes +.L17 0 1 2 3 4 5 + + + +.group a + ae (_ e // reggae vitae + aen A~ // caen (diff Cicero: aA~) + ae aE // maestro + aim (K E~ // faim + ain (K E~ // pain + Ct) ain (_ E~n2 // certain ami + ch) ain (_ E~n2 // prochain arret + ai E + ai (_ e +_bal) ai (_ E +_ess) ai (_ E +_vr) ai (_ E + aie E + ais (_ Ez2 + ait (_ Et2 + aient Et2 + f) ai (sA @ // faisons faisan + a (ilK a + am (L11 A~ // jambon, tampon + am (m a // programmation + _) am (n am // amnistie + am (n a // condamner + + _L04) an (_ an + an (n_ a + _h) an (_ an + _) anti (@@P4 A~ti + _) anti (CAXP4 A~ti + _) arché (@P5 arke // archéologue + _) archéo (@P6 arkeo // archéologue + _) arch (aP4 ark // archange + _) arch (oP4 ark // archonte + _) anarcho (@P7 anarko // anarchosyndicalisme + + a (nnA a // manne + an (K A~ // ancien, élan + an (h an + @@m) an (_ an // tennisman + zm) an (_ an // jazzman + L02m) an (_ an + lism) an (_ A~ // talisman + ulm) an (_ A~ // musulman + _caïm) an (_ A~ // caïman + _C) aon (_ A~ // faon, paon, taon + s) aoul (_ u // saoul + s) aou (le u // saoule + août ut // août + août (i aus // aoûtien + aut (_ ot2 + a (ô // saune + au o // au, aux + aud (_ o // chaud +_C) aud (_ od // Maud + au (l_ O // Paul + au (re_ O // dinosaure + _) audio (@P5 odio + _) auto (@P4 oto + _) autom (n otO + bb) aye (X ei // abbaye + ay (C E // aymé + ay Ej // paye + ay (ak aj // kayak + ay (_ E // display + bb) aye (_ aj // cobbaye layer + Xl) ayer (X EjWr // player, layer + h) am (_S2 am + w) an (_ an + a a // bateau + +// group a: English section + any _^_en + aw (K _^_en + + +.group b + bb b // abbé + om) b (_ // plomb applomb + b b // aube + +// group b: English section + back _^_en +_) be (L15A _^_en + board _^_en // board, keyboard + box (_ _^_en // box, inbox, outbox + bugg _^_en // debugger + + +.group c + _) c' (P2v s // s + cch k // bacchanale + cc (Y ks // accéder + cc k // occuper + _) c (d se + _) ch (arism k // charisme, charismatique + _) ch (irop k // chiroptère + _) coe (la se // coelacante + a) ch (_ k // almanach + ar) c (ti // arctique + e) ch (_ k // varech + ni) ch (_ k + _A) ch (o_ k // écho + mani) ch (é k // manichéisme + wi) ch tS // sandwich + mito) ch (o k // mitochondrie + _eu) ch (ari k // eucharistie + or) ch (esC k // orchestre + or) ch (iC k // orchidée + _) ch (ao k // chaos, chaotique + _) ch (orA k // chorale + _) ch (oriz S + _) ch (oro S + ch (r k // chrétien + _) chrono (@P6 krono + ch (l k + ch (n k + ch (s k + ch (to k + ch S // chien + ck k // nickel + cqu k // grecque + cq k // pecq + s) c (Y + x) c (Y + c (Y s // cède + _) cyber (P5 sibEr + Can) c (_ // banc + Con) c (_ // tronc, jonc + _don) c (_ k // donc + cler) c (_ // leclerc + tchou) c (_ + taba) c (_ + toma) c (_ + se) c (ond g // seconde secondaire + c k // recoin donc +zin) c (_ g // zinc + + cient (_ sit2 // ils appr�ient, remercient. + effi) cient sjA~ // coefficient + défi) cient sjA~ // déficient + cast (_S4 kast // podcast + casts (_S5 kast // podcasts + _) clown klun + +// group c: English section + n) ch (_ _^_en // french + ch (ment _^_en // attachment + cut (_ _^_en // cut, shortcut + + +.group ç + + ç s // rançon + _) ç' (P2v s + + +.group d + dd d // addition + _) d' (P2 d + _ban) d (_ d + _lan) d (_ d // land + _stan) d (_ d // stand + an) d (_ + _san) d (_ d + + _gran) d (_ t2 // grand ami, grand marchand + Cen) d (_ t2 + Con) d (_ + con) d (_ t2 + quen) d (_ t2 + r) d (_ + _har) d (_ d + lor) d (_ d + oi) d (_ + ou) d (_ + + dt (_ t // Schmidt + _ni) d (_ // nid + d d // don bled + _expé) dien (t_ djA~ // expédient +V_expé) dien (t_ di // expédient +_ingré) dien (t_ djA~ // ingrédient + dien (t_ di // étudient (verbe) + _) dendro (@P6 dE~dro + +// group d: English section + day (_ _^_en + _) devic _^_en + dle (X _^_en // bundle, handle + +.group e + +// Define use of the final 'e' in french + e (_ + +// Manage mute e inside words +@C) e (CeCA @ +@L08) e (CA +@L08) e (CL10C @ +@L08) e (L06 +@L08) e (L06L10C @ +@L06) e (CA @ +@L06) e (L06 @ +@L07) e (CA @ +@L07) e (L06 @ +@L09gu) e (CA @ +@L09gu) e (L06 @ +@L09qu) e (CA @ +@L09qu) e (L06 @ + e (ct+++++ E + e (x+++++ E + + _C) e (_ @- // je te + -c) e (_ + -j) e (_ + C) e (- + +_) e (CAN e // Evident +_) e (L06A e // Ecran +_eC) e (CA++ E // Evenement + eau (++ o // bateau + e (CC E + cap) e (la_ E + gh) e (tAX E // spagheti + p) ect (_ E // suspect + ect (_ Ekt // direct + pi) ed (_ e // pied + _art) e (++ e // arte, artefact + _cl) ef (_ e // clef + _) ein (K En // Einstein + ein (K E~ // peindre + pl) ein (_ E~n2 // plein emploi + e (il E // vieille + ei E // neige + e (oi // asseoir + el (l E // belle + _f) em (me a // femme + i) e (mA // remerciement, d�ploiement + A) e (rA // remerciera + tch) e (rX W + @) em (me a // patiemment + em (L11 A~ // décembre + em (mACC A~ // emmancher + em (mACAC A~ // emmagasiner + em (ma E // emmanuel + em (mai A~ // emmailloter + l) em (n a // solemnel + il) emn Em // dilemne + en (_ A~n2 // en + en (hA A~n // enharmonique + _C) en (j E~ // benjamin + _flam) en (c E~ // flamenco + _) en (A A~n // enivrer + + C) en (d_ A~ // comprend dépend + od) en (dr E~ // rhododendron + qu) en (d_ A~ + + pati) en A~ // patient patience + en (nu A~ // ennui + en (nA E // penne ennemi + + é) en (_ E~ // européen + + Ci) en (nA E // mienne + + éC) en (t_ A~ // récent différent élément + équ) en (t_ A~ // fréquent, conséquent + étic) en (t_ A~ // réticent + + _C) en (t_ A~ // cent vent lent dent + cc) en (t_ A~ // accent + Asc) en (t_ A~ // luminescent + _dol) en (t_ A~ // dolent + ol) en (t_ A~ // somnolent, violent + Vol) en (t_ // somnolent, violent + Xol) ent (_ t2 // volent + eul) ent (_ t2 // veulent + ul) en (t_ A~ // turbulent + Ccul) ent (_ t2 + Vul) ent (_ t2 + imCoC) en (t_ A~ // impotent + inCoC) en (t_ A~ // innocent, indolent + +XACcid) en (t_ A~ // accident, occident + + _ag) en (t_ A~ // agent + _ard) en (t_ A~ // ardent + _arg) en (t_ A~ // argent + _urg) en (t_ A~ // urgent + V_urg) ent (_ t2 // urgent (verbe) + + _émin) en (t_ A~ // éminent + immin) en (t_ A~ // imminent + oémin) en (t_ A~ // proéminent + jac) en (t_ A~ // sous-jacent, adjacent + _lat) en (t_ A~ // latent + + ig) ent (_ t2 + ilig) ent (_ A~t2 + llig) ent (_ A~t2 + ndig) ent (_ A~t2 + tang) ent (_ A~t2 // tangent + @@ing) en (t_ A~ // astreingent, contingentindigent + + man) en (t_ A~ // permanent + _pat) en (t_ A~ // patent + rmam) en (t_ A~ // firmament + verg) en (t_ A~ // convergent, divergent + Vverg) ent (_ t2 // convergent, divergent (verbe) + + _serg) en (t_ A~ // sergent +CACCim) en (t_ A~ // condiment, gentiment + dim) en (t_ A~ // rudiment + Agim) en (t_ A~ // régiment + Alim) en (t_ A~ // poliment + inim) en (t_ A~ // infiniment + manim) en (t_ A~ // maniment + onim) en (t_ A~ // boniment + plim) en (t_ A~ // compliment + Atim) en (t_ A~ // bâtiment + _cim) en (t_ A~ // ciment + _pim) en (t_ A~ // piment + gm) en (t_ A~ // fragment + Asim) en (t_ A~ // quasiment + + ertin) en (t_ A~ // pertinent, impertinent + ontin) en (t_ A~ // continent, incontinent + _sArm) en (t_ A~ // sarment, serment + erm) en (t_ A~ // ferment + Vferm) ent (_ t2 // ferment, referment (verbe) + XArp) en (t_ A~ // arpent, serpent + CArr) en (t_ A~ // conncurrent, torrent + Cerr) ent (_ t2 // ils serrent +_appar) en (t_ A~ // apparent + spar) en (t_ A~ // transparent + _par) en (t_ A~ // parent + V_par) ent (_ t2 // parent (verbe) + _var) en (t_ A~ // varent + mitt) en (t_ A~ // intermittent + énit) en (t_ A~ // pénitent + tourm) en (t_ A~ // tourment + Cflu) en (t_ A~ // affluent, confluent + VCflu) ent (_ t2 // refluent, influent (verbe) + + _tal) en (t_ A~ // talent + ival) en (t_ A~ // équivalent + Vival) ent (_ t2 // équivalent (verbe) + xcell) en (t_ A~ // excellent +Vxcell) ent (_ t2 // excellent + + iCam) en (t_ A~ + mm) en (t_ A~ + em) en (t_ A~ // lentement + mom) en (t_ A~ // moment + Aaim) en (t_ A~ + Caim) en (t_ A~ + dum) en (t_ A~ + gum) en (t_ A~ + jum) en (t_ A~ + oCum) en (t_ A~ + rum) en (t_ A~ + + éCid) en (t_ A~ + VéCid) ent (_ t2 + Xtrid) en (t_ A~ + _flor) en (t_ A~ + _laur) en (t_ A~ +_mécont) en (t_ A~ + _cont) en (t_ A~ +_Vcont) ent (_ t2 + éC) en (t_ A~ // compétent + _souv) en (t_ A~ // souvent + Cud) en (t_ A~ + + _couv) en (tS3f A~ // le couvent +V_couv) en (t_ // elles couvent +s_couv) en (t_ // elles couvent + + ent (_ t2 // étaient mangent + A) ent (_ t2 // étaient mangent + + Ci) en (K E~ // rien, lien + Ci) en (c A~ // science + + AA) en (_ E~ + C) en (_ En // amen, abdomen, golden + C) en (to_ En // memento + nc) ens (_ A~ // encens + xam) en (_ E~ // examen + + en (s_ A~ + en (CA A~ // pentathlon + en (CC A~ // entre + sp) ens (_ Ens // suspens + éC) ens (_ A~z2 // dépens démens + + _C) er (_ Er // fer + _Ch) er (_ Er // cher + _env) er (_ Er + _hi) er (_ Er // hier + _fi) er (_ Er // fier + _hiv) er (X Er // hiver + Cst) er (X Er // hamster + _cart) er (X Er // carter + _cutt) er (X Wr // cutter + tain) er (X Er // container + _ti) er (_ Er + ack) er (K Wr + ock) er (K Er + rock) er (K Wr + + er (_ e // parler léger + er (s_ e + + i) e (rt_ E // requiert + + d) e (ssus_ @ // dessus + + _d) es (bA e + _d) es (jA e // Desjardins + _d) es (nA e + _d) es (qA e // desquels + + _l) es (qA e // lesquels + + _m) es (dA e // mesdames + _m) es (nA e + Am) es (dA e + Am) es (nA e // Dumesnil + + d) esh (A ez // Deshormeaux + f) eb (vA E // Lefebvre + + _r) e (ss @ // ressembler + _r) e (ssu e // ressusciter + _r) e (stra @ + _r) e (stro @ + _r) e (stru @ // restructurer + -) est (_ Est // -est + + dg) et (_ Et // Bridget, gadget + k) et (_ Et + tick) et (_ E + m) et (_ Et2 + + eu Y // eu + eu (CX W // neuf + eu (CeX W // fleuve + eu (Cer_ Y // pleurer + eu (i W // feuille + eu (CeX Y // meule + eu (reX W // demeure + eu (leX W // gueule + eu (ler Y // gueuler + eu (rC W // pleurnicher + eu (rreX W // beurre + _) eu (ss y // eusse + + _) eut (_ yt2 + eut (_ Yt2 + eux (_ Yz2 + _) extra (uP5 Ekstra + _) extra (CP5 Ekstra + _) eû y // eût + eû Y: // jeûne + + ey (_ E // dahomey + ey (C E // ceylan + ey Ej // asseye + + ez (_ ez2 // nez mangez chez + + g) e (A // mangeons + g) eu W // vengeur + g) eu (re y // gageure + + _d) e (ch @ + _r) e (ch @ // recherche + e (Cl @ + + _l) e (CA @ + _l) e (ChA @ + _l) e (ClA @ // Leclerc + tr) e (CA @ + tr) e (ChA @ + + e (Cr @ + _) e (C% e // effet, effectuer + e (C_ E + e (rC E + es (_ z2 + + e (ri_++ e + e (ria_++ e + e (ro_++ e // Cicero + e (rr+++ E + + e @ // menue + _) e (CA e + Cr) eam I:m + Cr) eamer ImWr + Cl) eaner InWr + vert) e (rX W + eï (K 'Ej + _y) en (_ En + iew) er (X er2 + _m) e (ga e + app) en (di E~ // appendice + + +// group e: English section + ea _^_en +_) e (CeX _^_en + ed (_ _^_en + ee _^_en // meeting + efore (_ _^_en // before + eing (_ _^_en // being, boeing + eive _^_en // receive + el (CX _^_en // field + el (sX El + _) enter (_ _^_en // enter + _) enhan _^_en + ess (_ _^_en // loudness + qu) est (_ _^_en // request + qu) este (X_ _^_en // requested, requester + even (_ _^_en + _) ever _^_en + oC) ever _^_en // forever, however + ew (++ _^_en + _) eye _^_en + + +.group è + + Z) ème iEm + è E + ès (_ E + Ar) ès (_ Es + m) ès (_ Es + n) ès (_ Es + p) ès (_ Es + + +.group ë + u) ë // ambiguë +no) ë (_ e // canoë + ë E // citroën noël + + +.group f + f f + f (f + _ner) f (X + _neu) f (_ans v // liaison: neuf ans + _neu) f (_heures v + +// group f: English section + _) fire (CA _^_en + _) fire (CCA _^_en + fly _^_en + _) frame _^_en + fter (_ _^_en + + +.group g + g g + g (Y Z + ge (a Z + ge (o Z + + su) gg (Y gZ // suggérer suggestif + gg g // agglomérer + ai) gni n^ // craignions châtaignier + gn nj // agneau +_wa) gner (_ gnEr + gni n^i // signifier + gn (e_ n^ + gn (_ n^ + gn (eCA nj@- + gn (ie n // compagnie + dia) g (no g + _a) g (no g +_quatrevin) gts (_ z2 + + vin) gt (_A t // liaison: vingt ans + + vin) gt (_un + vin) gt (_deux t + vin) gt (_trois t //liaison: vingt-trois + vin) gt (_quatr t + vin) gt (_cinq t + vin) gt (_six t + vin) gt (_sept t + vin) gt (_huit t + vin) gt (_neuf t + vin) gt (_neuvi t + + gt (_ // vingt doigts + An) gt (A t // vingtaine doigté + + gu (i g // anguille + ai) gui (l gyi // aiguillage + in) gui (s gyi // linguiste + g (C g + + _ran) g (_ // rang + _san) g (_ // sang + étan) g (_ // étang + _lon) g (_ // long + bour) g (_ // Strasbourg + + g (_ g // grog gag goulag + +// group g: English section + _) game (X _^_en + girl _^_en // girl + gh (K _^_en + gy (_ _^_en + + +.group h + _) h _| + _) h (abi // habit, habilleur + _) h (allo // hallogène + _) h (ame // hameçon + _) h (andr // handroïde + _) h (arm // harmonie + _) h (el // hellène + _) h (ect // hectare + _) h (erb // herbe + _) h (é + _) h (éris _| + _) h (éro _| + _) h (eure // heure + _) h (iber // hibernation + _) hi (A _|j // hier + _) h (ippo // hippodrome + _) h (iro // hirondelle + _) h (ist // histoire + _) h (iv // hiver + _) h (omm // homme + _) h (onn // honneur + _) h (ô // hôpital + _) h (os // hostile + _) h (ora // horaire + _) h (orip // horipeau + _) h (oriz // horizon + _) h (oro // horoscope + _) h (orlo // horloge + _) h (orr // horreur + _) h (uil // huile + _) h (uiss // huissier + _) h (uitr // huître + _) h (umA // humain + _) h (umC // humble + _) hy (A j + haus (_ os //blockhaus + heim (_ ajm + _) h (y // hypermarché + _) hyper (@P5 ipEr + _) hyper (_ ipEr + _) hypra (@P5 ipra + h // ahuri + +// group h: English section + _) half _^_en + _) ha (C_ _^_en + hn _^_en + + +.group i + i i // cri + + C) i (erA i + C) ien (t_ i + dév) ien (t_ i + t) ien (K_ jE~ // tient + v) ien (K_ jE~ // vient + at) ien (t_ jA~ // patient + cip) ien (C jA~ // récipient + cl) ien (C iA~ // client + mol) ien (C jA~ // émolient + vén) ien (C jA~ // inconvénient + or) ien (t iA~ // orient, orienter + ot) ien (t_ jA~ // quotient + + _) i (ce@ aj // iceberg + _) il (l i // illégal + aigu) ill ij // aiguille + anqu) ill il // tranquille + c) ill (i il + dist) ill il // distiller + _L05) ill il // Lille, mille, william + v) ill (e_ il // ville + osc) ill il // osciller + gu) ill ij // guillaume + qu) ill ij // quille + A) ill j // caillou + C) ill ij // famille + a) il (_ j // bail + e) il (_ j + gt) i (m aj + u) il (_ j // deuil + L01_f) ils (_ is // fils (enfant) + + imm imm // immaculé + im (_ im // karim + im (C E~ // timbre + inct (_ E~ // distinct + in (h in // inhumain + in (n i // innombrable + in (C E~ // vingt + in (_ E~ // vin +// ing (_ iN + ing (h ing + ing (s iN + _) infra (sP5 E~fra + _) inter (@@P5 E~tEr + _) interr (A E~tEr + _) inter (_ E~t'Er + _) inter (ne_ E~t'Er + _) intra (neP5 E~tra + _) intra (uP5 E~tra + C) is (_ i + Kir) is (_ is + bor) is (_ is + dor) is (_ is + tor) is (_ is + fl) irt Wrt + otl) i (neX aj + onl) i (ne_ aj + offl) i (ne_ aj + dr) i (ve aj + pr) int (_ int + +// group i: English section + ibuter (X _^_en + iev _^_en + ife (_ _^_en + ign (_ _^_en + ill (_ _^_en // Bill + C) ill (y_ _^_en // Billy + ing (_ _^_en + i (pAd _^_en +C) irt (_ _^_en + iven (_ _^_en + ind (X _^_en // find, mind + _C) ind (erX _^_en // finder + AC) ind (erX _^_en // reminder + C) ird (X _^_en // bird + ize (K _^_en // realize + ram_f) i (le _^_en + +.group ï + ï i // naïf + A) ï (_ j + A) ïe (_ j + A) ï (lA j + + + ïn (K E~ // coïncidence + Ca) ïs (_ is // maïs + + + +.group j + j Z // adjoint joujoux + je (a Z // Jean + _) j' (P2v Z + _) jazz dZaz + _) j (obK dZ + _) j (ohK dZ + _) jusqu' (P6 Zysk + + +.group k + k k // kafka + + +// group k: English section + ke (_ _^_en // make, take + ke (s_ _^_en // makes, takes + ke (rX _^_en // maker + ke (nX _^_en // taken +AC) k (X _^_en // bank + +.group l + l l // lit + ll (A l // aller + _) l' (P2 l + au) lt // hérault + uCi) l (_ // outil, fusil + nti) l (_ // gentil + nti) lh j // gentilhomme + ui) ll j // juillet + _) lorsqu' (P7 lorsk + +// group l: English section +o) ld (_ _^_en // old +u) ld (_ _^_en // could + less (_ _^_en // noiseless +%C) l (eX _^_en +ff) l (eX l +pp) l (eX l + _) line (X _^_en + _) live _^_en + @) loud (_ _^_en + AC) l (X _^_en + + +.group m + m m // film + mm m // pomme + _) m' (P2v m + _) mc (@P2 mak + _) ms (P2 EmEs + master (_S6 mastWr + +// group m: English section + m (n_ _^_en // column, autumn +e) mail _^_en +d) mail _^_en +g) mail _^_en +t) mail _^_en + mov (AX _^_en // move, movy + mov (ie_ _^_en // move, movy + + +.group n + n n // une + nn n + ng (_ N + ngh ng + + _) n' (P2v n + _wAC) ner (_ nEr + + _) n (_° nymero + _) neuro (@@P5 nYro + _) nvda (P4 Envedea + +// group n: English section +_) name _^_en +_re) name _^_en + n (eme_ _^_en + n (emes_ _^_en + + +.group o + br) oc (_ o // broc + cr) oc (_ o // escroc + _) os (_++ Os + _v) os (gY o + s_) os (_ o + x_) os (_ o + o (t_ o + + oe (llA wa // moelleux + oe (i W // oeil + _) oe (C Y // oesophage + _ph) oe (C e // phoetus + _ph) oe (n_ W // phoen + oeu W // voeu + oeud Y // noeud + oeufs (_ Y // oeufs boeufs + oeu (x Yz2 // voeux + o (eC o // coefficient + _) oi (gnon o // oignons + oin (C wE~ + oin (_ wE~ // coin + oi wa // poil + oê (l wa // poêle + om (L11 O~ // bombe, pompe + om (t O~ // comte + n) om (X O~ // nom + om (_ Om // www.web.com + + on (K O~ // montre, vision + on (n O // bonne, personne + on (t_ O~t2 // mont vont sont + _m) ont (pAC O~ // Montpellier + _m) ont (m O~ + _m) ont (rAal O~ // Montreal + onsh (A O~z // bonshommes + onh (A On // bonhomme + _) on (z _|O~ // onze, onzième + + _c) on (_ O~ // no comment + _C) on (_ O~n2 // mon appui, mon histoire, mon havre + + alc) oo (l O // alcool + z) oo o // zoo + z) oo (C oo // zoologue + z) oo (m u // zoom + _gal) op (_ o // galop + + _sir) op (_ o // sirop + + v) ost (_ o // Prévost + _C) oup (_ u // coup, loup + + + ou u // hibou brouillard groupe encouragé + ou (in w // pingouin + oue (mA u // dévouement + _) ou (at _|u // ouate + où u // où + oû u // coûter + oy (A waj // noyer voyelles + _b) oy (co Oj // boycott + _c) oy (o Oi // coyote + _y) o (y O + oy wa + o (_ o // zorro allégro + gr) oss os // grosse, grossir + +C) o (me_ o // atome, chrome +_C) o (me_ O // Rome tome + o (sA o // position + o (zA o // Mozilla + o (CC O // poste, votre + o O + +// group o: English section + oa (X _^_en // approach, load + oa (_ oa + oa (s_ oa + oa (CerX _^_en + oach _^_en + oes _^_en +_) of (X _^_en + o (lder_ _^_en // folder, older +_) o (rder_ _^_en // order + C) oing (_ _^_en // going + gt) on (_ _^_en + Cst) on (_ _^_en + oo (Ce _^_en // boomer + oo (k _^_en // book, cook + oo (st _^_en // booster + oo (X _^_en // pool + C) oot _^_en // bootable football + _) one _^_en +l) oud (X _^_en // cloud, loud +XC) oud (X _^_en + oun (C _^_en // bounce, found + _) over _^_en // over + _sC) ot _^_en // shot, slot, spot + ow (e _^_en // flower, power + ow (X _^_en +_C) oy (X _^_en // boy, toy + + +.group ô + ôt (_ o // rôt + ô o // cône + + +.group p + p p // pas + _) para (pCP4 para + _) photo (@P5 foto + _) poly (@P4 poli + _) post (CP4 post + _) post (ACCP4 post + _) pseudo (@P6 psYdo + p (p // appliquer + pays pEiz2 // pays, paysage + ph f // phrase + + m) ps (_ // temps champs + r) ps (_ // corps + + cham) p (_ // champ + + cam) p (_ // camp + + dra) p (_ // drap + _) psych (@P5 psik + _) psych (iCP5 psiS + _) psych (AA_P5 psiS + + ba) p (t // baptiser + com) p (t // compte + + C) pt (_ // prompt exempt + + se) pt (_ t // sept + se) pt (iè t // septième + scul) p (t // sculpture + _) puisqu' (P7 pyisk + +// group p: English section + pad (_ _^_en + plug _^_en // plug + printer (_ _^_en // printer + + +.group q + q k // coq + _) qu' (AP3 k + _) qua (d kwa // quadrature + _) qua (tA kwa // quaternaire + _) quan (tA kwA~ // quantique + _) qua (drill ka // quadriller + _a) qua kwa // aquarium + _a) qu (if ku // aquifère + _A) qui (dist kyi // équidistant + _A) qui (lat kyi // équilatéral + _C) qua kwa // squale square + _A) qua kwa // équateur + dé) qua kwa // adequate + _) qua (rtz kwa // quartz + qu k // quatre + _) que (_ k@ // que + n) q (_ k // cinq + n) q (_mill // cinq mille + n) q (_cent_ // cinq cent + +// group q: English section + quick _^_en // quick, quickly + + +.group r + + _su) rr rr // surréaliste + cou) rr rr // courrai + mou) rr rr // mourrai + cou) rr (i r // courrier + cou) rr (o r // courroie + r r // rien + rr r + _) radio (@P5 radio + +// group r: English section + _) real _^_en + rst (_ _^_en + r (Cy_ _^_en + _) rule _^_en + + +.group s + s s // verser sien + + s (_S1 z2 + stein (_ Stajn + + _) s' (P2v s // s'amène + _) s' (esXP2v s // s'amène + sç s // immisça + sch (ie sk // schierzo + sch (iz sk // schizophrène + sch (ol sk + sch (oo sk + schu Su + + sch S // schéma + dé) sh (A z // déshabiller + sh S // shérif + ss s // assez + + ai) s (em s // vraisemblable + _al) s (ac z // Alsace + aCè) s (_ s + nè) s (_ s + kansa) s (_ s // Kansas, Arkansas + aka) s (_ s + ub) s (is z // subsister + tran) s (A z // transition + tran) s (e s // transe + tran) s (ub s // transubstantiation + A) s (A z // baiser + A) s (oft s // microsoft + A) s (ol_ s // tournesol + _) socio (@P5 sosio + _) super (@@P5 sypEr + _) super (_ sypEr + _) supra (@P5 sypra + batro) s (_ s + océro) s (_ s + scien (t siA~ // conscient scientifique + sql (_S3 EskyEl + + _u) s (_ s + Cu) s (_ + Abu) s (_ s + _Abu) s (_ + mbu) s (_ s +_cACpu) s (_ s + Acu) s (_ s + docu) s (_ + écu) s (_ + asu) s (_ s + odu) s (_ s + gu) s (_ s + igu) s (_ // aigus + iu) s (_ s // radius + ïu) s (_ s // laïus + Culu) s (_ s // cumulus + plu) s (_ z2 // plus, surplus + ylu) s (_ s // stylus + mu) s (_ s + _mu) s (_ + ému) s (_ + opu) s (_ s // opus, octopus + Aru) s (_ s // virus + aru) s (_ // disparus + ouru) s (_ // courus + Anu) s (_ s // bonus, tonus + enu) s (_ // menus, venus + psu) s (_ s // lapsus + cessu) s (_ s // processus + + atu) s (_ s // stratus motus + ctu) s (_ s // cactus + etu) s (_ s + aitu) s (_ + itu) s (_ s + ltu) s (_ s // altus + otu) s (_ s // motus + Cutu) s (_ s + + _tou) s (_ s + + s (b z // sbire + s (d z + s (g z + s (j z + s (v z + _tou) s (_Ces_ + _tou) s (_des_ s + _tou) s (_Cos_ + _tou) s (_leurs_ + +// group s: English section + send (_ _^_en +_) server (X _^_en + sh (_ _^_en + sh (Ap _^_en // shop, ship + sh (At _^_en // shut, shot +_) side (X+++ _^_en +L14) side (X+++ _^_en + _) sky _^_en + _) smil _^_en // smile, smiley + spy _^_en +_A) s (_ _^_en +L13) son (_ _^_en +L13) ston (_ _^_en + stone (_ _^_en + + +.group t + t t // bataille + _) t (_ te + -) t (- t2 + _) t' (P2v t + Vn) t (_ t2 + A) t (- t2 + VCi) t (_ t2 + t (_ + peti) t (_ t2 + th (L12++ t + th (ArA++ t + th (oCA t +or) th (++ t + _) th (erm t + ts (_S1 z2 // silent at end of word unless next word starts with a vowel + C) t (_ t // compost watt soft script malttact abrupt + ki) t (_ t // kit + n) t (_ + r) t (_ + + aul) t (_ // Renault + grani) t (_ t + + _) télé (@P4 tele + _) tele tele + _) thermo (@P6 tErmo + + tt t // attitude + + s) th (m // asthme + th t // théorie + hui) t (_ t3 // huit + + _) t t // tien tiers + an) t (ia t // Santiago + C) t (ieu s // contentieux + + t (io_ s // ratio + + Ama) t (ieX s // diplomatie + a) t (ia s // spatial + en) t (ia s // confidentialit� + lbu) t (iA s // balbutiait + r) t (ia s // impartial + ini) t (iA s // initier + p) t (ia s // nuptial + an) t (iat s // transsubstantiation + + t (ion s // programmation + V) t (ion t // verbes + ache) t (ion t // achetions, rachetions + ai) t (ion t // souhaitions, traitions + oi) t (ion t // boitions + si) t (ion s // position + chan) t (ion t // chantions, d�chantions + Cisi) t (ion t // visitions + ci) t (ions t // citions + comp) t (ions t // comptions, escomptions + CAnc) t (ion s // fonctionner, ponctionner + Ce) t (ions t // jetions, rejetions + Vec) t (ion t // respections + Vep) t (ion t // respections + éCi) t (ions t // hésitions, héritions + éti) t (ion s // pétition + Vé) t (ion t // répétions + habi) t (ions t // habitions + imi) t (ions t // imitions, limitions + VAu) t (ion t // ajoutions + lu) t (ion s // févolution + Apor) t (ion t // emportions, exportions + opor) t (ion s // proportion + Cpor) t (ion t // emportions, exportions + sor) t (ion t // sortions + rê) t (ion t // arrêtions, apprêtions + + s) t (ion t // gestion + _ta) t (ion t // tation + sen) t (ion_ t // sentions, ressentions + t) t (ion t // combattions + + t (iel s // partiel + t (ieu s // ambitieux + t (iAm s // patiemment + + mar) t (ien s // martien vénitienne + a) t (ien s + i) t (ien s + o) t (ien s + + ipé) t (ieX s + amé) t (ieX s + nu) t (ieX s // minutie + ni) tien (t_ si + bu) tien (t_ si + + cra) t (ieX s // démocratie + + ner) t (ie s // inertie + + _ce) t (_ t +_transA) t (_ t + +// group t: English section + th (A _^_en // this + th (K _^_en // month + _) time _^_en + tle (_ _^_en + too _^_en + ttl _^_en +g) ton (_ _^_en // try, country +i) t (uneX _^_en + try (_ _^_en // try, country + sCar) t (_ _^_en // smart, start + sCar) t (er_ _^_en // starter + _) tun (AX _^_en + + +.group u + u y // cruel nuage brut + ue (il W // orgueil + ui yi // nuit, fuite + uin (K yE~ // juin + _C) u (rfX W + _bl) u (ff W + _s) u (rfeX W + uy (A yij + + C) ucci utSi // capuccino + _g) ua wa + ag) ua (X wa + Ctig) ua (_ wa + _c) ul (_ y + _) ultra (P5 yltra + g) u (ay u + haïk) u (X u + + C) u (bX W // hub, club + C) u (gX W // bug, mug + _n) u (rse W // nurse + pr) unt (_ W~ // emprunt + um (_ Om // album + f) um (_ W~ // parfum + um (L11 W~ // humble + un (C W~ // emprunt lundi + un (n y // tunnel + CC) un (_ W~ // brun + uc) un (_ W~n2 // aucun + un (_ W~n2 // un avion + _h) un (_ W~ // hun + + fl) ux (_ y // flux, reflux + g) u (A // fatigue + g) u (ï y // ambiguïté + g) u (ë y // ambiguë + p) u (tsch u // putsch + uz (z W +g) ua (l_ wa + +// group u: English section +L03) ual (_ _^_en // usual + uch (_ _^_en // much + _b) usi _^_en // business, businessman + C) ui (ce _^_en // produice, juice +C) ult (_ _^_en + umber (_ _^_en + ump (_ _^_en + r) u (nX _^_en // run, autorun + unch _^_en + under _^_en // under, understand, thunder + _C) un (_ _^_en + _C) un (ny _^_en + _) up (C _^_en // upper, update + up (_ _^_en // setup + urn (X _^_en // burn, turn + ust (_ _^_en // just, trust + uzz _^_en // buzz + + +.group ü + ü y + üs (_ ys + üm (_ om + ül (_ yll + + +.group v + v v + vers (_ vErz2 + dri) ver (X vWr + view (X vju + _) view (A vjuv + +// group v: English section + voice (X _^_en + void (_ _^_en + vy (_ _^_en + + +.group w + w w + _) w (A _|w + w (ag++ v // wagon + +// group w: English section + _) w (AC _^_en + _) w (ina w + _) w (Ai _^_en + _) w (Att w + _) w (ACo w + _) we _^_en + wh _^_en // why whisky when + wr _^_en // write + war _^_en // war + wav _^_en // wave + way _^_en // way, away +A) wn _^_en + wor _^_en + + +.group x + x ks + xx ks + _) x (A gz // xylophone + _) x (CP1 iks // xylophone + xml (_S3 _|iksEmEl + e) x (A gz // exagérer exemple + L03e) x (A ks // annexe, vexer + _ine) x (A gz + _e) x (h gz // exhumer + + ai) x (_ // voix paix prix + oi) x (_ + ri) x (_ + + _soi) x (A s // soixante + + Au) x (_ z2 // faux feux choux + + _au) x (quel // auxquels + + _di) x (_neuf z // liaison: dix-neuf + _di) x (_ z3 + _si) x (_neu s // liaison: six-neuf + _si) x (_ z3 + + di) x (iè z // dixième + si) x (iè z // sixième + deu) x (iè z // deuxième + + +.group y + y i // cryogénique myope + _) y (A _|j // yak + _) y (eu j // yeux + _) yacht _^_en // yacht, yachtman + + _) yahoo (P5 ja'u + ym (L11 E~ // tympan + ym (_ E~ // thym + X) ys (_ is + + yn (K E~ // laryngite + y (nn i + +// group y: English section +_C) y (_ _^_en +AC) y (_ _^_en +C) y (e_ _^_en +%C) y (_ _^_en +ss) y (_ i +@CeC) y (_ _^_en +nC) y (_ _^_en + yze _^_en + + +.group z + z z + t) z s // tzigane + t) zer (_ zEr + C) zer (_ zWr + + +.group +// accented characters, these could have their own groups if they need more rules + â a: + ñ n^ + + é e // été + ê E // fête + + ö o // angström + û y: // fûtes + ü y // bülcher + + +// symbols that are normally spoken when reading text +// , (D pilk:u +_L16_) : (_L17D_ Wr // Say time + $ dOlar + ° d@gre + _n_) ° // n° + ' (C _^_en + + + + + + + + + diff --git a/dictsource/hu_list b/dictsource/hu_list index 04de6d0b..db5ea1c4 100644 --- a/dictsource/hu_list +++ b/dictsource/hu_list @@ -452,6 +452,7 @@ mm milime:tER2 $unstressend (mm-nyire) milime:tER2n^iR2E $unstressend (mm-es) milime:tER2ES $unstressend (mm-t) milime:tER2t $unstressend +nszk EnEska: RAM R2Am $allcaps //Espeak normaly spokening this abbreviation with erraem, but this is not good Psszt ps:t $capital // similar word with quiet word. Espeak default spokening this abbrew quiet word with letter by letter by default. Pszt ps:t $capital //same as prewious abbrewiation @@ -3272,6 +3273,8 @@ koncepciójáról $unstressend (törvény koncepciójáról) tYR2ve:n^_||kontsEptsio:ja:R2o:l $unstressend miniszterelnök $unstressend (orbán viktor miniszterelnök) oR2ba:n_||viktoR2_||ministER2ElnYk $unstressend +(számít a miniszterelnök) sa:mi:t_'||A'||ministER2ElnYk $unstressend +(a miniszterelnök) A'||ministER2ElnYk $unstressend minisztert $unstressend összeülnek $unstressend tárgyalásokban $unstressend @@ -4445,7 +4448,7 @@ alkalmazással $unstressend (dolgok idegesítenek) dolgok_'||idEgESi:tEnEk $unstressend (is jelezték) iS_||jElEzte:k $unstressend fordulok $unstressend -(miért van az) mie:R2t_'||vAn_'||Az $unstressend +(miért van az) mie:R2t||vAn||Az $unstressend (módot választom) mo:dot_||va:lAstom $unstressend (a hiba) A'||hibA $unstressend (kerül sor) kER2yl_||SoR2 $unstressend @@ -4720,6 +4723,188 @@ biciklizőknek $unstressend forintért $unstressend (a szintet) A'||sintEt $unstressend (egy próbát) EJ_'||pR2o:ba:t $unstressend +(lehetőség van arra) lEhEtY:Se:g||vAn||AR2R2A $unstressend +szervét $unstressend +parancsnokságát $unstressend +kötelezettséget $unstressend +tarthatnak $unstressend +korhatárt $unstressend +korhatára $unstressend +törvényt $unstressend +gondoskodik $unstressend +(tartja el) tArcA_'||El $unstressend +(alól az) Alo:l_'||Az $unstressend +életévét $unstressend + + +nagykorú $unstressend +szólaljon $unstressend +elmaradt $unstressend +őszintén $unstressend +(éjszaka volt) e:jsAkA_'||volt $unstressend +szabott $unstressend +dolgok $unstressend +kifizetnie $unstressend +különadót $unstressend +ezzel $unstressend +szóba $unstressend +azzal $unstressend +(van itt) vAn_'||it: $unstressend +(tudta volna) tut:A'||volnA $unstressend +maradhatnak $unstressend +címezte $unstressend +hivatkozott $unstressend +felelősségük $unstressend +bíróságot $unstressend +(vezetik el) vEzEtik_'||El $unstressend +firtassuk $unstressend +fogni $unstressend +társadalomban $unstressend +években $unstressend +(számunkra az) sa:munkR2A_'||Az $unstressend +azután $unstressend +vitába $unstressend +múltról $unstressend +munkahely $unstressend +pedig $unstressend +vitában $unstressend +(ki kell mondani) ki_||kEl:_||mondAni $unstressend +(lehet venni) lEhEt_'||vEn:i $unstressend +klónok $unstressend +(kerül itthon) kER2yl_'||ithon $unstressend +összeg $unstressend +élményét $unstressend +háttértár $unstressend +(fejlett processzor) fEjlEt:_'||pR2otsEs:oR2 $unstressend +eredményező $unstressend +alkalmazásával $unstressend +(akar a gyártó) AkAR2_'||A'||Ja:R2to: $unstressend +(dob piacra) dob_'||piAtsR2A $unstressend +nyitja $unstressend +kötnie $unstressend +(úgy fest) u:J_'||fESt $unstressend +(lehet ismerős) lEhEt_'||iSmER2Y:S $unstressend +kamerát $unstressend +alkalmas $unstressend +bővíteni $unstressend +(is lehet bővíteni) iS_'||lEhEt_'||bY:vi:tEni $unstressend +(a tablethez) A'||tAblEthEz $unstressend +olcsó $unstressend +kapcsolható $unstressend +kapcsolni $unstressend +peremére $unstressend +(nagyra van állítva) nAJR2A_'||vAn_'||a:li:tvA $unstressend +folyamatos $unstressend +(is lehet csatlakoztatni) iS_'||lEhEt_'||tSAtlAkostAtni $unstressend +kipróbálni $unstressend +(lehet tudni róla) lEhEt_'||tudni_'||Ro:lA $unstressend +váltana $unstressend +találtam $unstressend +(sem biztosak) SEm_'||bistoSAk $unstressend +kaphatnak $unstressend +költ $unstressend +hivatalt $unstressend +támogatással $unstressend +ugyanis $unstressend +bizonyítják $unstressend +ösztönzése $unstressend +elvégezze $unstressend + +intézet $unstressend +takarítani $unstressend +bízza $unstressend +bízna $unstressend +filmekkel $unstressend +lejátszóhoz $unstressend +filmeket $unstressend +vesződni $unstressend +(legkényelmesebb az) lEgke:n^ElmESEb:_||Az $unstressend +sejtem $unstressend +vonalat $unstressend +ragaszkodni $unstressend +(mellett az) mEl:Et:_||Az $unstressend +(a felület) A'||fElylEt $unstressend +terveket $unstressend +tervek $unstressend +közben $unstressend +menetrendet $unstressend +(az indoklást) Az_'||indokla:St $unstressend +hóbort $unstressend +fogom $unstressend +(az adatokat) Az_'||AdAtokAt $unstressend +zajlik $unstressend +kütyüt $unstressend +tartok $unstressend +(törvényt is) tYR2ve:n^t_||iS $unstressend +ülésen $unstressend +jogszabály $unstressend +törvényjavaslatról $unstressend +rövid $unstressend +vonulhatnának $unstressend +(horderejű kérdésben) hoR2dER2Ejy:_||ke:R2de:SbEn $unstressend +törvényjavaslatához $unstressend +(miniszter volt) ministER2||volt $unstressend +szavazatot $unstressend +(rendelkezést is) REndElkEze:St_||iS $unstressend +(lehetővé tenné) lEhEtY:ve:_||tEn:e: $unstressend +(indítványnak van) indi:tva:n^nAk_||vAn $unstressend +(ellenére is biztosítaná) El:Ene:R2E_||iS_||bistoSi:tAna: $unstressend +emelni $unstressend +(csak ki) tSAk_||ki $unstressend +indítványokról $unstressend +(a módosítások) A'||mo:doSi:ta:Sok $unstressend +közölni $unstressend +tudjanak $unstressend +piacot $unstressend +rakott $unstressend +(ott van) ot:_||vAn $unstressend +(rangú tisztviselője) R2Angu:_||tistviSElY:jE $unstressend +kritikákat $unstressend +viszonyulnak $unstressend +jók $unstressend +államtitkárával $unstressend +beszélt $unstressend +külföldön $unstressend +törvénnyel $unstressend +folyamatot $unstressend +eloszlatásával $unstressend +mutatják $unstressend +illetékes $unstressend +(jogokban illetékes) jogokbAn_||il:Ete:kES $unstressend +megnyilvánulás $unstressend +iránytól $unstressend +vonatkozzanak $unstressend +addig $unstressend +(tagjaira vonatkozzanak) tAgjAiR2A_||vonAtkoz:AnAk $unstressend +(nevezte azt) nEvEstE_||Ast $unstressend +kritikákra $unstressend +kérő $unstressend +irányítják $unstressend +érkező $unstressend +tulajdonítani $unstressend +(jelentőséget tulajdonítani) jElEntY:Se:gEt_||tulAjdoni:tAni $unstressend +(hajtja végre) hAjcA_||ve:gR2E $unstressend +érdekeivel $unstressend +(megállapodás köthető) mEga:l:Apoda:S_||kYthEtY: $unstressend +(kell fogadni) kEl:_||fogAdni $unstressend +megállapodás $unstressend +kérését $unstressend +megalkotását $unstressend +kompromisszumok $unstressend +(jöhetnek szóba) jYhEtnEk_||so:bA $unstressend +jellemezte $unstressend +lábán $unstressend +kellenek $unstressend +(áll arra) a:l:_||AR2R2A $unstressend +tárgyalások $unstressend +megkötésében $unstressend +vélekedett $unstressend +világról $unstressend +növekedés $unstressend +(a feladata) A'||fElAdAtA $unstressend +bankja $unstressend +banknak $unstressend +kérdését $unstressend // word pairs @@ -4991,5 +5176,5 @@ egyezség eggyesség (Mhz-en) megahercen (ORTT-től) oerrtététől //special exceptio (kilogramm) kilogram - +mszmp emeszempé diff --git a/dictsource/hu_rules b/dictsource/hu_rules index 6362b0f2..c500d417 100644 --- a/dictsource/hu_rules +++ b/dictsource/hu_rules @@ -81,7 +81,7 @@ gyümöl) cs (zs tS _kó) c (csomó ts árbó) c (csúcs ts árbo) c (csúcs ts -fegyen) c (csoport ts +fegyen) c ts ccs (L01 tS // only speak one cs if followed by a consonant cc (L01 ts // only speak one c if followed by a consonant ccsr tSR2 //special exception with need always execute @@ -127,10 +127,24 @@ szanité) c (cs ts kilen) c (schill ts _bohó) cs ts|S _ar) c (sérül ts - _har) c (sor ts - _áká) c (söv ts + _har) csor ts|SoR2 _áká) c (söv ts + _aká) c (söv ts _bohó) c (sz ts + _vi) cc (sor ts + tán) cs (ics tS + _ér) c (sisak ts + _in) cz (éd ts +_virgon) c (ság ts +_elmén) c (ség ts +martaló) c (ser ts + _ér) c (sas ts + _újon) c (ság ts + _kuru) c (ság ts + _paló) c (ság ts +_fejlé) c ts + nyol) c (seb ts + bará) cs (ágta tS: .group ch anar) ch (i h @@ -161,6 +175,12 @@ oligar) ch h mazo) ch (izm h mazo) ch (is h ar) ch (aikus h + _ar) ch (imé h +diszti) ch (on h + ma) ch (iavell h + _or) ch (ide h +almana) ch h + .group d @@ -184,7 +204,8 @@ oligar) ch h dsz (_S3 ts: beszé) d (szin d beszé) d (sebesség d - cselé) d d + cselé) d (so d + dobermann dob:ER2mAn föl) d (sánc d ha) dd (_S2 d @@ -318,6 +339,49 @@ miliár) d (szor d beszé) d (jel d _biliár) d (szo d rekor) d (sebesség d + beszé) d (stílus d + zöl) d (szín d + ná) d (szőnye d +manzár) d (szob d +paliszá) d (sor d + föl) d (színé d + föl) d (színű d + ren) d (szerető d + kó) d (szó d + fjor) d (szerű d + harma) d (száz d + kar) d (szíj d + negye) d (szél d +smarag) d (szín d + száza) d (szám d + tér) d (szokny d + _va) d (szag d + _va) d (szam d + _va) d (szárny d + árpá) d (zászló d + árpá) d (sáv d + beszé) d (zagy d + ezre) d (szerte d + ezre) d (zászl d + föl) d (színek d + föl) d (szökő d + föl) d (szürk d + kalan) d (szerep d + _kar) d (szúr d + _kö) d (szerű d + _kö) d (szürk d + ná) d (síp d + ná) d (szerd d + ná) d (szöve d + _ren) d (jel d + _ren) dsz (eretet d|s + szaba) d (szelle d + szaba) d (szerel d + száza) d (szint d + tér) d (szíj d + _tér) d (zseb d + twee) d (szövet d + utó) d (szerv d .group dz fogó) dz (kod ts @@ -330,6 +394,7 @@ harapó) dz z himbáló) dz z lopó) dz z szedelő) dz z +szedelő) dz (kö s tapogató) dz z ó) dz (kod ts villó) dz z @@ -478,6 +543,9 @@ imádsá) g (gyűjt g rá) g (gyűjt g //for example virággyűjtés, virággyűjteményt words _lo) g (gyűjt g //for example loggyűjtemény word dro) g (gyanú g + le) gg (roteszk g: + _agya) g (gy g + anya) g (győz g .group gy gy J @@ -593,14 +661,25 @@ huszone) gy (es J: _e) gy (é_ J: _mint-e) gy (é_ J: na) gy (sáp J +_hiszeke) gy (e J: +huszone) gy (ed J: +huszone) gy (ez J: + újrae) gy (esít J: + e) gy (éjszak J: +_egyszere) gy (e J: +_huszone) gy (e J: .group h h h hertz hER2ts hh (-L01 h minde) hh (ez h - - + _cse) h (ország //special exception, the h phoneme doesn't need spokening thiws word part + _cse) h (szlovák //special exception, the h phoneme doesn't need spokening thiws word part + _ju) h (kolb + _ju) h (sajt + _ju) h (tenyész + _ju) h (szárnyék .group i i i @@ -620,6 +699,7 @@ _mint-e) gy (é_ J: v) í (zére i sz) í (ve i t) í (zes i + t) í (zesz i: sz) í (vel i: _t) í (zük i _sz) í (vattak i @@ -627,6 +707,12 @@ _mint-e) gy (é_ J: _sz) í (vató i _v) í (zi i //for example vízipipa, vízimentők beginning words need spokening i, not i: phoneme _v) í (zió i: //But this word an exception for prewious rule +agressz) í (v i: + _sz) í (nész i + _sz) í (néssz i + sz) í (vatn i +_megsz) í (vatta i + .group j j j @@ -816,6 +902,9 @@ helybe) n (jár n mikrofo) n (nyílás n szí) n (nyom n kormá) ny (javaslat n^ + _me) ny (assz n^ + _me) nny (assz n^ +kölcsö) n (jegyz n .group o o o @@ -843,6 +932,7 @@ mikrofo) n (nyílás n ?1 _) potsdam potsda:m pp (-L01 p //if have consonant after - character, need spokening one p letter + .group q q kv qu kv @@ -899,7 +989,7 @@ robbaná) s S gyalogo) s (zászló S ki) s (zsidó S szennye) s (zsá S - alvá) s (zavar S + alvá) s (zava S magatartá) s (zavar S erőforrá) s (zabál S működé) s (zava S @@ -913,6 +1003,31 @@ identitá) s (zavar S fáklyá) s (zen S _ki) s (zombor S _alvá) ssz (üksé Ss +_barná) ssz (ürke Ss +_kőműve) s (sz S + _lőré) s (sz S +_pörkölé) s (sz S + hadá) s (szag S + _körö) s (szakál S + hú) s (szag S +gránáto) s S +páncélo) s S +robbaná) s (zaj S + üté) s (záp S + mozgá) s (zava S +ejtőernyő) s S + puská) s S + lépé) s S + mágne) s S + padlá) s S + _pili) s S + _piro) s S + típu) s (zub S + _vörö) s S +termelé) s S + _áldá) s S +_asztalo) s S + _árgu) s S .group ss ssz ss2 @@ -927,7 +1042,6 @@ danubiu) ss s: //a radio station name danubiu) ssz s: //a radio station name juventu) ss s: juventu) ssz s: //a radio station name -ejtőernyő) ssz S|s farka) ssz (em Ss villamo) ssz (ék Ss titko) ssz (olgál Ss @@ -953,7 +1067,7 @@ zuhaná) ssz (erű Ss karo) ssz (éria Ss bor) ssz (em Ss bor) ssz (ór Ss - kéke) ssz (ürke Ss + kéke) ssz (ürk Ss éde) ssz (áj Ss égé) ssz (abály Ss egyene) ssz Ss @@ -1006,11 +1120,9 @@ könyve) ssz (ek Ss látomá) ssz (erű Ss lejté) ssz (ög Ss lengé) ssz (abály Ss - lépé) ssz (ám Ss nyomá) ssz (erű Ss löké) ssz (erű Ss luxu) ssz Ss - mágne) ssz (alag Ss megállapodá) ssz (erű Ss meglepeté) ssz (erű Ss motoro) ssz (án Ss @@ -1022,7 +1134,6 @@ motoro) ssz (án Ss orvo) ssz (er Ss ökrö) ssz (ekér Ss ő) ssz (üle Ss - padlá) ssz (ob Ss pikkelye) ssz (árny Ss piro) ssz (em Ss plü) ssz (erű Ss @@ -1074,7 +1185,6 @@ kavará) ssz (erű Ss _sa) ssz (eg Ss ké) ssz (úrás Ss gyalogo) ssz Ss - puská) ssz Ss mozgá) ssz Ss _ke) ss (elring s: rádió) ssz (ob Ss @@ -1105,6 +1215,7 @@ ellátá) ssz (er Ss égé) ssz (ag Ss csapá) ssz (erű Ss menekülé) ssz (erű Ss + csapá) ssz (ám Ss _ökrö) ssz (ekere Ss _nyár) ssz (erű Ss hamva) ssz (őke Ss @@ -1150,6 +1261,147 @@ _farka) ssz (ig Ss lako) ssz (ám Ss _szencsége) ssz (űz Ss ki) ssz (ekrény Ss +csattaná) ssz (erű Ss + csikó) ssz (ám Ss +_csipké) ssz Ss +csobbaná) ssz (erű Ss +csuklá) ssz (erű Ss +csavará) ssz (erű Ss + ájulá) ssz (erű Ss +aranyo) ssz (őke Ss +_bakfi) ssz Ss + barná) ssz (ők Ss + bélé) ssz (alag Ss +_berendezé) ssz (e Ss + omlá) ssz (ag Ss + rengé) ssz (erű Ss + pergé) ssz (erű Ss + dú) ssz (akáll Ss + _éde) ssz (esztest Ss +egyene) ssz (ál Ss + előőr) ssz (erű S|s + rúgá) ssz (erű Ss + farka) ssz (uk Ss + _fá) ssz (ín Ss +fehére) ssz (őke Ss +feketé) ssz (ürk Ss + pa) ssz (íroz s + ma) ssz (íroz s +szerelé) ssz (ett Ss +fertőzé) ssz (erű Ss + fájá) ssz (er Ss +csuszamlá) ssz (erű Ss + fűté) ssz (ag Ss +habitu) ssz (erű Ss +halotta) ssz (ob Ss + hányá) ssz (ag Ss +világo) ssz (őke Ss + + kéré) ssz (erű Ss +rándulá) ssz (erű Ss + utalá) ssz (erű Ss +villaná) ssz (erű Ss + hárma) ssz (ám Ss + szoro) ssz (erű Ss +_hente) ssz (ak Ss + örgé) ssz (erű Ss + hő) ssz (erep Ss + hú) ssz (állít Ss + járá) ssz (olgálat Ss + járá) ssz (erű Ss + irtá) ssz (él Ss +jelenté) ssz (int Ss + karo) ssz (ériá Ss +katekizmu) ssz (erű Ss +_keríté) ssz (ag Ss + _kevé) ssz (er Ss + látá) ssz (ög Ss +nyilatkoztatá) ssz (erű Ss +szögellé) ssz (erű Ss +_kitünteté) ssz Ss +kommunikáció) ssz (ob Ss + köle) ssz (em Ss + köntö) ssz (erű Ss +könyöklé) ssz (él Ss + _körö) ssz (ig Ss + _kőri) ssz Ss +_küldeté) ssz Ss +labirintu) ssz (er Ss +lázadá) ssz Ss +_lejté) ssz S|s + üté) ssz (ám Ss + málhá) ssz Ss + medre) ssz (ék Ss + _mela) ssz (ín s: + _méne) ssz Ss +_mesze) ssz (ür Ss + _móku) ssz Ss + _napo) ssz (ob Ss + utazá) ssz (erű Ss + nedve) ssz (ürk Ss + neme) ssz (ív Ss + neme) ssz (őrm Ss +nyikkaná) ssz (er Ss + nyomá) ssz (ab Ss + orvo) ssz (áz Ss + orvo) ssz (er Ss + vodá) ssz (int Ss +örvénylé) ssz (erű Ss + párná) ssz (ék Ss + _pené) ssz (ín s: +pedagógu) ssz (ob Ss +pirami) ssz (erű Ss +_pirító) ssz (e Ss +_piszko) ssz Ss +pisztolylövé) ssz (erű Ss + rádió) ssz (erep Ss + rántá) ssz (erű Ss +repülő) ssz (árny Ss + _ré) ssz (erű Ss +_rózsá) ssz (ők Ss + ruhá) ssz (ekere Ss +selyme) ssz (őke Ss + sérté) ssz (ám Ss +borzongá) ssz (erű S|s +sikoltá) ssz (erű Ss + _sor) ssz (eszély Ss +suhogá) ssz (erű Ss + _suva) ssz (a s: + tálto) ssz (árny Ss +szórakozá) ssz (ám Ss + szúró) ssz (em Ss + támlá) ssz (ék Ss +társalgá) ssz (ámba Ss +templomo) ssz (ak Ss +_tigri) ssz Ss + _típu) ssz (ám Ss + _típu) ssz (öveg Ss +tizede) ssz (állás Ss + tölté) ssz (ab Ss + tölté) ssz (erű Ss + ulánu) ssz (ázad Ss +utasítá) ssz (erű Ss + uta) ssz (int Ss + uta) ssz (olg Ss +ügyelete) ssz (ob Ss +_vallomá) ssz Ss + _váro) ssz (él Ss + vére) ssz (áj Ss + vere) ssz (őke Ss + vérte) ssz (ázad Ss +vörhenye) ssz (őke Ss + _vörö) ssz Ss +zavaro) ssz (ür Ss +_nesze) ssz (er s + a) ssz (isztens s + ka) ssz (íroz s + _e) ssz (enci s +bégeté) ssz (erű Ss + a) ssz (isztál s + piro) ssz (ka s + ágyú) ssz Ss + alá) ssz (olg Ss + almá) ssz (ürk Ss .group sz @@ -1162,10 +1414,8 @@ _szencsége) ssz (űz Ss sz (öld Sz va) sz (abl S||z egé) szs (ég S -liszte) szs (ák SZ rend) sz (er s: -krumpli) szs (ák SZ -szerszámo) szs (ák SZ + rend) sz (erető s maro) sz (ug Sz körö) sz (ug Sz fáklyá) sz (ene Sz @@ -1173,23 +1423,16 @@ fáklyá) sz (ene Sz evé) sz (avar Sz vonó) sz (ene Sz va) sz (ár Sz -kenyere) szs (ák SZ sonká) szs (eml SZ vize) szs (em SZ iga) szs (ágos S: li) sztsz (erű st|s tava) sz (ára s -rongyo) szs (ák SZ para) sztsz (ek st|s rava) sz (ár s _ka) sztsze st|sE -szemete) szs (ák SZ dro) sztsze (rző st|sE //drosztszerződés word need spokening st and single sE phoneme - _búzá) szs (ák SZ -_szene) szs (ák SZ -_szalmá) szs (ák SZ va) szs (anér SZ -gaboná) szs (ák SZ va) sz (ápor Sz bati) sztsz (erű st|s para) sztsz (andál st|s @@ -1201,13 +1444,12 @@ gaboná) szs (ák SZ azbe) szt (sisak st nyu) szt (süveg st serté) szs (ír SZ - szere) szs (ák SZ - rizse) szs (ák SZ tá) szs (in SZ - ruhá) szs (ák SZ - ro) szs (ák SZ va) szs (ír SZ - széná) szs (ák SZ + szs (ák SZ //All szsák part containing part need spokening single S and Z phoneme, for example kenyereszsák, pénzeszsák, krumpliszsák, cukroszsák words + sz (acsk Sz //all szacsk containing part block need spokening single S and z phoneme, for example chipseszacskó word + legké) szs (éges S: + ameti) sztsze st|sE .group t t t @@ -1308,6 +1550,13 @@ fejeze) t (sor t küldö) tt (gyűl t szé) t (söpör t rokkan) t (segít t +összebéké) ts (e tS: + _hé) t (col t + _fro) tt (ír t + plaká) t (cég t + álla) t (szőr t + aszal) t (jeg t + .group tj C) tj c @@ -1376,6 +1625,12 @@ terüle) tj (elöl tj _á) tj (u tj _tábláza) tj (egy tj üzene) tj (el tj + á) tj (össz tj +_keresz) tj (á tj +_deszan) tj (árm tj +_készle) tj (elen tj +tisztele) tj (egy tj + _vész) tj (ósl tj .group ts ts (_S2 tS //general rule with word end of ts letters @@ -1588,6 +1843,8 @@ támogato) ts (ág tS: _á) tsz (olgál t|s felira) ts (áv t|S pö) tsz (en ts: + _á) tsz (orult t|s + leme) tsz (vén ts .group tt tt t: @@ -1604,6 +1861,10 @@ helyeze) tt (ről t: ttyj c: keresz) tt (űz t: me) ttsz (et ts: +bennszülö) tt (jelmez t + +.group ty +mindszen) ty t|i .group u u u @@ -1614,6 +1875,10 @@ szovjet) u (nió u: h) ú (szan u h) ú (szas u h) ú (szat u + _h) ú (gocs u + h) ú (gom u + _h) ú (gy u + _h) ú (ggy u .group ü @@ -1786,7 +2051,6 @@ magyará) z (kod s ezkö) z (sáv z eszkö) z (sáv z _mé) z (sárg z - tű) z (sáv z _tí) z (sor z _szá) z (sor z ré) z (sisak z @@ -1799,8 +2063,28 @@ magyará) z (kod s ezkö) z (sor z wal) z (er ts tanácskö) z (társaság s - tű) z (sebesség z + tű) z z _tű) z (zsonglőr z + búcsú) z (tat s + bogo) z (ták s + fogó) z (kod ts + szára) z (sült z + precí) z (ség z + _ro) zs (zabál Z + _bor) z (zsír z + oszto) z (kod s +csatlako) z (tok s + _bron) z z + tű) z (zsák z + búcsú) z (kod s + búcsú) z (t s + gá) z (spra z + eszkö) z (t s + kórhá) z (sá z + neme) z z + helye) z (ke s + _tí) z (sou z + leme) z (stú z .group $ dolla:R2 diff --git a/dictsource/ka_rules b/dictsource/ka_rules index 5dff815c..729321d4 100644 --- a/dictsource/ka_rules +++ b/dictsource/ka_rules @@ -140,13 +140,13 @@ // For cyrillic characters (U+0400 to U+04FF) use Russian voice .group 0xd0 - \320 _^_RU + 0xd0 _^_RU .group 0xd1 - \321 _^_RU + 0xd1 _^_RU .group 0xd2 - \322 _^_RU + 0xd2 _^_RU .group 0xd3 - \323 _^_RU + 0xd3 _^_RU .group $ dolari diff --git a/dictsource/kn_rules b/dictsource/kn_rules index 7b3370dd..f8cd483f 100644 --- a/dictsource/kn_rules +++ b/dictsource/kn_rules @@ -258,9 +258,9 @@ .group 0xe0a4 // devanagari - \340\244 _^_HI // switch to hindi voice for devanagari characters + 0xe0a4 _^_HI // switch to hindi voice for devanagari characters .group 0xe0a5 // devanagari - \340\245 _^_HI + 0xe0a5 _^_HI .group diff --git a/dictsource/ml_rules b/dictsource/ml_rules index 6191e601..c07810dd 100644 --- a/dictsource/ml_rules +++ b/dictsource/ml_rules @@ -273,9 +273,9 @@ _പ്രൊ) ഫ (സര് fa .group 0xe0a4 // devanagari - \340\244 _^_HI // switch to hindi voice + 0xe0a4 _^_HI // switch to hindi voice .group 0xe0a5 // devanagari - \340\245 _^_HI + 0xe0a5 _^_HI .group diff --git a/dictsource/ta_list b/dictsource/ta_list index 43e6938b..45f703f7 100644 --- a/dictsource/ta_list +++ b/dictsource/ta_list @@ -299,7 +299,6 @@ tamil தமிழ் $text பீச்சில் $alt பீல் fi:l புக் $alt -பீர் $alt போயிங் $alt பலத்தாலான $alt பார $alt @@ -308,7 +307,6 @@ tamil தமிழ் $text பாலிய $alt புக்கு $alt படுவா $alt -பீரும் $alt பல்ப் $alt பிரேக் bre:k ப்ரேக் bre:k @@ -358,9 +356,12 @@ tamil தமிழ் $text பாதிப்பு $alt பீடா $alt பைக்க $alt -பாதிக்கும் $alt பாதிக்குமா $alt பத்திரப் bVttirVp +பாய்ஸ் $alt +புக்கர் $alt +பாதிக்க $alt +பலக்க $alt @@ -385,7 +386,6 @@ tamil தமிழ் $text திக்கற்ற $alt தானு $alt திட $alt -தேவ $alt தோ $alt தரும $alt தொப் $alt @@ -427,6 +427,10 @@ tamil தமிழ் $text தட $alt தடியாய் $alt தொள $alt +தான $alt +தம்மம் $alt +தம்ம $alt +தாயம் $alt // initial ட @@ -510,6 +514,9 @@ tamil தமிழ் $text கௌன் $alt கிண் $alt கிர் $alt +கங்க $alt +காந்த $alt + @@ -522,7 +529,6 @@ tamil தமிழ் $text பாதரிடம் fa:dVrid.Vm பாதருடன் fa:dVrUd.Vn பாதரில்லாமல் fa:dVrilla:mVl -காபி ka:fi பேனில் fe:nil பேன்ல fe:nlV போன்ல fo:nlV @@ -541,3 +547,5 @@ tamil தமிழ் $text செட் set. திக் dik பிட் bit. +புட் fud. +உப்ப ubbV diff --git a/dictsource/ta_rules b/dictsource/ta_rules index 4939b6ef..c8293bc2 100644 --- a/dictsource/ta_rules +++ b/dictsource/ta_rules @@ -86,6 +86,16 @@ // words after 'full' .L15 மீல்ஸ கிளாஸ பாட்டில டிக்கெட் டாஸ +// words after பாதிக்கும் +.L16 மேல மேற் குறை + +// words after செல்லக் [tSellVg] செல்லப் [tSellVb] செல்லத் [tSellVd] +.L17 குழந்தை கிளி குட்டி கழுதை குதிரை குரங்க +.L18 பிள்ளை பெண் பையன +.L19 தம்பி தங்க + +// words after கோரப் [go:rVb] +.L20 பல் பற் போர // consonants @@ -115,6 +125,8 @@ //sort + _) க (ங்கபாடி gV + _) க (ங்கர gV _) க (ங்கா gV _) க (ங்காரு kV _) க (ங்கை gV @@ -141,10 +153,12 @@ _) க (தியில் gV _) க (தியை gV _) க (ந்தர்வ gV + _) கனக (ச்சித gVnVkV _) க (னக்க gV _) க (னத் gV _) க (னபாடி gV _) க (னம gV + _) க (னரக gV _) கப் (L04ா gVp _) கப்ச (ிப் gVptS _) க (ப்பெ gV @@ -161,6 +175,7 @@ _) க (ர்வ gV _) க (லாட்டா gV _) க (லிலL08யோ gV + _) க (லீசிய gV _) க (லீர gV _) க (லீல gV _) க (ளுக் gV @@ -173,11 +188,15 @@ _) க (வுனை gV _) க (வுன்கள gV _) க (வுர gV + _) க (ாசியாபாத் g _) க (ாண்டாமிருக g _) க (ாண்டீப g _) காண்டேக (ர ga:n.d.e:kV + _) க (ாந்தக் g _) க (ாந்தங் g _) க (ாந்தத் g + _) க (ாந்தப் g + _) க (ாந்தமா g _) க (ாந்தி g _) க (ானங் g _) க (ானத்த g @@ -187,6 +206,7 @@ _) க (ாயத்திரி g க (ாரன k _) க (ார்டன g + _) க (ார்டியன g _) க (ிஃப்ட g _) க (ிடுகிடு g _) க (ிண்ணென்ற g @@ -202,8 +222,11 @@ _) கி (ரந்த g _) கி (ரவுண்ட g _) கி (ரஹ g + _) கிராஃபைட gra:faIt.V# _) கி (ராக்கி g + _) கிராணைட gra:naIt.V# _) கி (ராதக k + _) கிராபைட gra:faIt.V# _) கிராப் kra:p _) கி (ராம g _) கி (ராம்ப k @@ -211,6 +234,7 @@ _) க (ிரிக்கா g _) க (ிரிஜா g _) க (ிரிதர g + _) க (ிரிதார g _) கி (ரித்த k _) கி (ரிமினல k _) கி (ரியா_ k @@ -219,6 +243,7 @@ _) க (ிரியி g _) க (ிரியு g _) கி (ரில் g + _) க (ிரிவல g _) கி (ரிஸ்ட k _) கிரிஸ்டோப (ர krist.o:fV _) கி (ரிஸ்த k @@ -237,8 +262,10 @@ _) கி (ரைண்டர g _) கி (ரௌண்ட g _) க (ிர்ரெ g + _) கி (றிஸ்டல k _) கி (ளப்_ k _) கிளப்ப (ில kl.Vbb + _) கிளப்ப (ுகள klVbb _) கிளப்ப (ுக் kl.Vbb _) கிளப்ப (ை kl.Vbb _) கிளர்க் klVrk @@ -300,6 +327,7 @@ _மன்மதக்) க (ுகை g _) க (ுதிச் g _) க (ுதித் g _) க (ுதிப் g + _) க (ுதிப்பகுதி k _) க (ுபீர g _) க (ுபுகுபு g _) க (ுபுக் g @@ -373,6 +401,7 @@ _மன்மதக்) க (ுகை g _) க (ேஸ்_சிலிண்டர g _) க (ேஸ்_ஸ்டவ் g _) க (ைட g + _) க (ைனக g _) க (ொணத் g _) க (ொணம g _) க (ொரில g @@ -408,11 +437,8 @@ _மன்மதக்) க (ுகை g _) க (ோர_முடிய k _) க (ோர_வேண்ட k _) க (ோரக g - _) க (ோரத g - _) க (ோரப g - _) க (ோரப்பட k - _) க (ோரப்போக k - _) க (ோரப்போவ k + _) க (ோரத்_தாண்ட g + _) க (ோரப்_L20 g _) க (ோரம g _) க (ோலிக g _) க (ோலிய g @@ -427,6 +453,7 @@ _மன்மதக்) க (ுகை g _) க (ௌன்கள g _) க (ௌரவ g _) க (ௌரி g + _) க (ௌளை g _) க் (ரவுண்ட g _) க் (ரிகோரிய g _) க்ரிஸ்டோப (ர krist.o:fV @@ -448,6 +475,8 @@ _வெங்) கட kVt.V# ஒரு) க (ட்ட kV மறு) க (ட்ட kV _கால) க (ட்ட kV + _பின்) க (ட்ட kV + _முன்) க (ட்ட kV ஆரம்ப) க (ட்ட kV _கல்) க (ண்ட kV _நற்) க (தி gV @@ -515,6 +544,7 @@ _மௌனி) க (ா k _ஸ்ரீலங்) க (ா k _ஹன்L04ி) க (ா k அனாமி) க (ா k +சித்திரலே) க (ா k _ஹாங்) க (ாங் k _தென்) க (ாசி k _நேர்) க (ாணல k @@ -532,6 +562,7 @@ _ஹன்L04ி) க (ா k _பால்) க (ாரர k _தையல்) க (ாரர k _வண்டி) க (ாரர k + அங்) க (ாரா k _பூ) க (ாரி k _பால்) க (ாரி k _கடை) க (ாரி k @@ -571,7 +602,10 @@ _தொன்ம) க (ால k ஆதி) க (ுடி k _பூர்வ) க (ுடி k _மூத்த) க (ுடி k + அமண்) கு (டி ku2 அரிய) கு (டி ku2 // Don't change to [U] +அம்மன்) கு (டி ku2 +உடையார்) கு (டி ku2 மன்னார்) கு (டி ku2 நற்) க (ுண g _சற்) க (ுண g @@ -590,6 +624,7 @@ _டா) குமெண்ட kUmen.tV# _) குல்க (ந்த gulkV _மெரு) க (ூட்ட g அறை) க (ூவ k + _மார்) கெட் ket. _ஓ) க (ே k நீல) க (ேசி k புலி) க (ேசி k @@ -629,8 +664,10 @@ _விவே) க் (_ k _ஸ்வர்) க்க ggV# _கை) க்க (டிகார kgV _துணை) க்க (ண்ட ggV + _மார்) க்க (ண்டேய kkV நிர்) க்க (தி ggV _தீர்) க்க (மாக ggV + _தீர்) க்க (மான ggV தீர்) க்க (ாலோசநை gg _ல) க்க (ின gg _வி) க்க (ினம்_ gg @@ -657,6 +694,7 @@ _தேவா) க்க (ினை gg கு) க்கி (ராம gg அ) க்கி (ராம gg இ) க்கி (ராம gg + _சாலி) க்கி (ராம gg L03) க்க (ுகை gg _மு) க்க (ுண gg L03) க்க (ுண gg @@ -665,6 +703,7 @@ _போர்) க்க (ுண gg _வெடி) க்க (ுண்ட gg _துப்பாக்கி) க்க (ுண்ட gg ஜன) க்க (ும்பல gg + _மார்) க்கெட் kket. _ல) க்க (ேஜ gg L03) க்க (ோபுர gg _வி) க்ச (னரி ks.V @@ -685,13 +724,16 @@ _துப்பாக்கி) க்க (ுண்ட gg _சௌ) க் (ய k அசௌ) க் (ய k _செ) க்யூரிட (ி kjU:rit. + _சா) க் (ரடீஸ k _ச) க்ரப (ாணி krVp + _சீ) க் (ரம k வி) க (்ரம k _ரெ) க்ரூட் krU:t. ஆ) க (்ரோஷ k _பை) க் (ல_ k என்சை) க்லோப (ீடியா klo:p க் (ஸ k + _எ) க் (ஸாம g _மெ) க்ஸிக (ோ ksik //endsort @@ -722,12 +764,16 @@ _துப்பாக்கி) க்க (ுண்ட gg _) சாம்ப (ியன tSa:mp //sort + _ராஞ்) ச tSV# + _ப) சக் tSVk _) ச (க்கரவர்த்தி tSV _) ச (க்கிலி tSV சங்க (ர s.VNkV + _) ச (ட்டL08ஸ்கர tSV _) ச (ட்டினி tSV _) ச (ட்னி tSV _) ச (ண்டாள tSV + _) ச (ண்டி tSV ச (ண்பக s.V ச (ண்மு s.V _) ச (துர் tSV @@ -749,6 +795,7 @@ _விமோ) ச (ன tSV _) ச (ப்பா tSV _) ச (ப்பி tSV _) ச (ப்பு tSV + _) ச (ப்பெ tSV _டின்) ச (ர tSV _பங்) ச (ர tSV _) சரசு (வதி sVrVs @@ -789,10 +836,10 @@ _தணிகா) ச (ல tSV ச (ாரிய tS _) சாருலத (ா tSa:rUlVt _) ச (ாருவ tS + _) ச (ார்ஜ tS _ரீ) ச (ார்ஜ tS _டிஸ்) ச (ார்ஜ tS _) ச (ார்ஜை tS - _) ச (ார்ஜ்_ tS _) ச (ார்லஸ tS _) ச (ார்லி tS _) ச (ாளுக்கிய tS @@ -848,6 +895,9 @@ _தணிகா) ச (ல tSV _) ச (ீனாவ tS _) ச (ீனிவா s சீ (னிவாச sri: + _) ச (ீஸு tS + _) ச (ீஸை tS + _) ச (ீஸ்_ tS _ஈ) சு s _) ச (ுடிதார tS _) ச (ுட்டிப் tS @@ -891,11 +941,14 @@ _தணிகா) ச (ல tSV _) ச (ெய்ன tS _) செய்ன்ட sejnt. _) ச (ெர்னோபில tS + _) ச (ெல்லக்_L17 tS _) ச (ெல்லக்கிளி tS _) ச (ெல்லக்குட்டி tS _) ச (ெல்லக்குழந்த tS + _) ச (ெல்லத்_L19 tS _) ச (ெல்லத்துக்கு tS _) ச (ெல்லத்தை tS + _) ச (ெல்லப்_L18 tS _) ச (ெல்லப்பன tS _) ச (ெல்லப்பா tS _) ச (ெல்லப்பிள்ளை tS @@ -937,7 +990,7 @@ _தணிகா) ச (ல tSV ஞ n^V ஞ (B n^ - _கா) ஞ்ச (னா ntSV + _கா) ஞ்ச (ன ntSV இ) ஞ்ச் ntS _வி) ஞ்ச் ntS @@ -956,11 +1009,14 @@ _தணிகா) ச (ல tSV //sort + _டே) ட t.V# + _பேண்) ட t.V# _வால்) ட t.V# _கமெண்) ட t.V# _க்ளையண்) ட t.V# _பேஷண்) ட t.V# _ரிப்போர்) ட t.V# +_வோல்) ட t.V# _ஷிஃப்) ட t.V# அL04ால்) ட t.V# அக்ரீமெண்) ட t.V# @@ -1010,6 +1066,7 @@ _ஷிஃப்) ட t.V# _மால்) ட (ா t. _) டாக் (_ t.a:k _) ட (ாக்க t. // talkies + _) டாக்குமெண்ட d.a:kkUmen.t.V# _) டாக்ட (ர d.a:kt.V _) டாக (்ஸி t.a:k _) டாங்க (ர t.a:NkV @@ -1042,15 +1099,18 @@ _நாவல்) ட (ி t. _போர்) ட (ிகோ t. ஆர்) டிக் t.ik _) ட (ிக்க t. + _) டிட (ோ t.it. _மார்) ட (ின t. காண்) டினெண்ட (ல t.inen.t.V கான்) டினென்ட (ல t.inent.V _) ட (ின் t. _) டின்க (ரிங் t.inkV + _) ட (ின்னர d. _) டிப (ன t.ifV _சர்) டிபிகேட t.ifige:t.V# _) ட (ிப்ஸ t. _செண்) டிமெண்ட t.imen.t.V# + _) ட (ிம்பர t. _) டி (யூசன t. _) டியூட (ி d.jU:t. _) டி (யூன t. @@ -1114,6 +1174,7 @@ _செண்) டிமெண்ட t.imen.t.V# _) ட (ீசல d. _காண்) ட (ீன t. _கேண்) ட (ீன t. + _) டுட (ோரியல t.ut. _) ட (ுனிசியா t. _) ட (ுனிஸ t. _) ட (ுனீL04 t. @@ -1125,7 +1186,7 @@ _செண்) டிமெண்ட t.imen.t.V# _) ட (ூர t. இண்) ட (ெ t. _) டெக் (னாலஜி t.ek - _) டெக்னிக (ல t.eknikV + _) டெக்னிக t.eknikV# _) ட (ெக்ஸாஸ t. _) ட (ெக்ஸ் t. _) ட (ெண்டர t. @@ -1164,8 +1225,10 @@ _லான்_) ட (ென்னிஸ t. ளு) ட (ோனிய t. _) டோரண்ட (ோ t.o:rVn.t. _ப்ரி) ட (ோரிய t. + _லே) ட் t. @மெண்) ட் t. // -ment _பேண்) ட் t. +_ஹெல்மெ) ட் t. இண்டர்நெ) ட் t. ல) ட்சு (மண ks. ல) ட்சு (மி ks. @@ -1195,6 +1258,7 @@ _லான்_) ட (ென்னிஸ t. _) ட் (ரான்ஸ்ஃபர t. _) ட் (ரான்ஸ்ப t. _) ட்ரான்ஸ்ப (ர t.ra:nsfV + _) ட்ரான்ஸ்ப (ரண்ட t.ra:nspV _) ட் (ரான்ஸ்பாண்டர t. _) ட்ரான்ஸ்பிரண்ட t.ra:nspirVn.t.V# _) ட் (ரான்ஸ்மீட்டர t. @@ -1275,7 +1339,7 @@ _நடுரோ) ட் (ல t. // exceptions, த as [d] //sort - _) த (L04ாவதார dV + _) த (L04ா dV _) த (L08னா d _) த (கதக dV _) த (கன dV @@ -1332,14 +1396,17 @@ _நடுரோ) ட் (ல t. _) த (னலக்ஷ்மி dV _) த (னலட்சுமி dV _) த (னவந்த dV + _) த (னுச dV _) த (னுஷ dV _) த (ன்மந்திரி dV _) த (ன்ராஜ dV _) த (ன்வந்தரி dV _) தபதப dVbVdVbV# _) த (மயந்தி dV + _) த (ம்படி dV _) த (ம்பதி dV _) த (ம்பிடி dV + _) த (ம்மடிL11் dV _) த (யவ dV _) த (யாணந்த dV _) த (யால dV @@ -1350,8 +1417,12 @@ _நடுரோ) ட் (ல t. _) த (ரிசனங் dV _) த (ரிசனத் dV _) த (ரிசி dV + _) தரித்த (ிர_ dVridd + _) தரித்த (ிரத்த dVridd _) த (ரித்திரம dV + _) தரித்த (ிரம் dVridd _) த (ருமங் dV + _) த (ருமசேன dV _) த (ருமச் dV _) த (ருமத் dV _) த (ருமன dV @@ -1395,6 +1466,9 @@ _நடுரோ) ட் (ல t. _) த (ானுவ d _) த (ாமோதர d _) த (ாம்_தூம d + _) த (ாயங்கள d + _) த (ாயத்த+ d + _) த (ாயமா d _) த (ாயாதி d _) த (ாரணி d _) த (ாரா_சிக்கோ d @@ -1411,6 +1485,7 @@ _நடுரோ) ட் (ல t. _) த (ிகம்பர d _) த (ிகில d _) த (ிகுதிகு d + _) த (ிக்கித்த d _) த (ிக்கில d _) த (ிக்கு d _) த (ிக்கு_முக்க t @@ -1495,13 +1570,17 @@ _நடுரோ) ட் (ல t. _) த (ீர்க d _) த (ீர்க்க t _) தீர்க்க (தரிச di:rggV + _) தீர்க்க (த்துடன di:rggV# _) த (ீர்க்கமா d _) தீர்க்க (மி di:rggV + _) தீர்க்க (முள்ள di:rggV# _) தீர்க்க (ம்_ di:rggV + _) தீர்க்க (ாயு di:rggV# _) து(ரோக d _) த (ுக்க d _) த (ுச்சம d _) த (ுச்சாதனன d + _) த (ுஜஸ் d _) த (ுட்ட d _) த (ுபாய d _) த (ுபாஷி d @@ -1545,6 +1624,7 @@ _நடுரோ) ட் (ல t. _) த (ூர்_ t _) த (ூர்ந் t _) த (ூர்வ t + _) த (ூஷ d _) த (ூஷணை d _) த (ூஷித்த d _) த (ெண்ட d @@ -1553,33 +1633,17 @@ _நடுரோ) ட் (ல t. _) த (ேக்க t _) த (ேச d _) த (ேச்ச t - _) த (ேவகான d - _) த (ேவகி d - _) த (ேவகுமார d - _) த (ேவகுரு d - _) த (ேவகுல d - _) த (ேவக் d - _) த (ேவசேன d - _) த (ேவதூத d - _) த (ேவதை d - _) த (ேவநேய d - _) த (ேவன d - _) த (ேவராஜ d - _) த (ேவராட்டி d - _) த (ேவராணி d - _) த (ேவராள d - _) த (ேவருலக d - _) த (ேவர்க d - _) த (ேவலோக d - _) த (ேவஸ்தான d - _) த (ேவாதி d - _) த (ேவாமிருத d - _) த (ேவாம்ச d - _) த (ேவார d - _) த (ேவாலய d - _) த (ேவி d + _) த (ேவ d + _) த (ேவடியா t + _) த (ேவரிட t + _) த (ேவரு t + _) த (ேவரை t + _) த (ேவர்_ t + _) த (ேவல t + _) த (ேவிடியா t _) த (ேவிடியா t _) த (ேவேந் d + _) த (ேவை t _) த (ைரிய d _) த (ொனி d _) த (ொன்னை d @@ -1601,13 +1665,19 @@ _நடுரோ) ட் (ல t. //sort _வசந்) த tV# _க) த (L08ஜா t + _சாந்) த (_ tV _ப) த (ஞ்சலி tV + _பல்) த (ட tV _கீழ்) த (ட்ட tV _மேல்) த (ட்ட tV + _சாந்) த (த்த tV# பிள்ளை) த (ன tV முட்டாள்) த (ன tV _கௌ) த (ம tV + _சாந்) த (ம tV# _கௌ) த (மி tV + _புல்) த (ரை tV + _சாந்) த (லிங்க tV# _கீ) த (ா t _சீ) த (ா t _ல) த (ா t @@ -1629,6 +1699,7 @@ _புஷ்பல) த (ா t _நே) த (ாஜி t _சுல்) த (ான t _முல்) த (ான t + _சாந்) த (ானு tV# _சும) த (ி t _சாந்) த (ி t _சுகந்) த (ி t @@ -1647,10 +1718,12 @@ _பிரசார்_பார) த (ி t எ) தியோப (ிய tijo:p _பிர) த (ீ t த (ுறை t + த (ூக்க t // in word வீண்) த (ேவை t _நிவேதி) த (ை t வீண்) த (ொல்லை t அம்பே) த்க tkV# + _வா) த் (சல்ய t யு) த்த ddV# _சிரார்) த்த ddV# _ஸ்ரார்) த்த ddV# @@ -1674,10 +1747,12 @@ _சிறை) த்த (ண்டனை ddV L03) த்த (ின dd சில) த்த (ினங் dd பல) த்த (ினங் dd + வர்) த்த (ினி dd சா) த்த (ிய dd ம) த்த (ிய dd வா) த்த (ிய dd வை) த்த (ிய dd + உபா) த்த (ிய dd _சா) த்த (ிய_ tt பு) த்த (ியி dd _சா) த்த (ியிரு tt @@ -1688,6 +1763,7 @@ _சிறை) த்த (ண்டனை ddV _சுப) த்த (ிர dd _ரு) த்த (ிர dd _ரௌ) த்த (ிர dd + _சூ) த்த (ிரச்சி dd _சூ) த்த (ிரன dd _சூ) த்த (ிரரி dd _சூ) த்த (ிரர் dd @@ -1721,10 +1797,12 @@ _வில்வி) த்த (ை dd _ஜெ) த் (மலானி t ச) த (்ய t நி) த (்ய t + ஆதி) த் (ய t இ) த் (யாதி t _மி) த் (ர t _காமசூ) த் (ர t ச) த்ரபதி trVpVti +_சி) த்ரலேக (ா trVle:k சி) த (்ரா t _சி) த் (ரா tti பவி) த (்ரா t @@ -1789,6 +1867,7 @@ _காமசூ) த் (ர t _) ப (கவான bV _) ப (காசுர bV _) ப (காசூரன bV + _) ப (காய bV _) ப (கிரங்க bV _) பக (ிரண்ட bVg _) ப (கிஷ்க bV @@ -1824,6 +1903,10 @@ _காமசூ) த் (ர t _) பத்த (ிரகாளி bVdd _) ப (த்திரப்பட bV _) ப (த்திரமா bV + _) பத்த (ிரி_ bVdd + _) பத்த (ிரிக்கு bVdd + _) பத்த (ிரிய bVdd + _) ப (த்ரி bV _சொந்த_) ப (ந்த bV _) ப (ந்த_பாச bV _) ப (ந்தங்கள bV @@ -1864,6 +1947,7 @@ _டீயும்_) ப (ன்னும்_ bV _) ப (யாலஜி bV _) பயாஸ்கோப் bVja:sko:p _) ப (யில்வான bV + _) ப (ரதக் bV _) ப (ரதநாட்டிய bV _) ப (ரதன bV _) ப (ரதர bV @@ -1874,11 +1958,13 @@ _டீயும்_) ப (ன்னும்_ bV _) ப (ராக்_ஒபாமா bV _) பரூக் fVrU:k _) ப (ரோட bV + _) ப (ர்ஃபி bV _) ப (ர்கர bV _) ப (ர்த் bV _) ப (ர்னாலா bV _) பர்னிச (ர fVrnitSV _) ப (ர்னிச்சர fV + _) பர்ப (ி bVrf _) ப (ர்ம bV _) ப (ர்லாங் fV _) ப (லகீன bV @@ -1890,11 +1976,13 @@ _டீயும்_) ப (ன்னும்_ bV _) ப (லத்தினுட bV _) ப (லத்துட bV _) ப (லத்தை bV + _) ப (லத்தோடு bV _) ப (லப்பட bV _) ப (லப்படு bV _) ப (லப்பரீட்சை bV _) ப (லமணைத்த bV _) ப (லமாகC் bV + _) ப (லமாகவ bV _) ப (லமாகவே bV _) ப (லமாகி bV _) ப (லமாச்ச bV @@ -1905,6 +1993,7 @@ _டீயும்_) ப (ன்னும்_ bV _) ப (லமுடைந்த bV _) ப (லமுடைய bV _) ப (லமும bV + _) ப (லமுள்ள bV _) ப (லராம bV _) ப (லவந்த bV _) ப (லவான bV @@ -1921,6 +2010,7 @@ _டீயும்_) ப (ன்னும்_ bV _) ப (லீஜா bV _) பலுச (ிஸ்தான bVlUtS _) ப (லூன bV + _கம்) ப (ல் pV _) ப (ல்கேரிய bV _) பல்ட (ி bVlt. _) ப (ல்பு bV @@ -1937,6 +2027,7 @@ _டீயும்_) ப (ன்னும்_ bV _) ப (ஷீர bV _) ப (ஸ bV _) ப (ஹதூர bV + _) ப (ஹாய bV _) ப (ஹிரங்க bV _) ப (ஹிரண்ட bV _) ப (ஹ்ரெய bV @@ -1971,7 +2062,10 @@ _டெட்_) ப (ாடி b _) ப (ாட்டில்கள b _) ப (ாணங் b _) ப (ாணமு b + _) ப (ாணர b + _) ப (ாணாசுர b _) ப (ாணி b + _) ப (ாண்டேஜ b _) ப (ாதிக்கக்கூட b _) ப (ாதிக்கண் p _) ப (ாதிக்கப்பட b @@ -1979,26 +2073,38 @@ _டெட்_) ப (ாடி b _) ப (ாதிக்கலாம b _) ப (ாதிக்கவா b _) ப (ாதிக்கவில் b + _) ப (ாதிக்காத b _) ப (ாதிக்கால p + _) ப (ாதிக்கின்ற b + _) ப (ாதிக்கிற b _) ப (ாதிக்கு_ p _) ப (ாதிக்குமான b + _) ப (ாதிக்குமாறு b _) ப (ாதிக்குமாவ b _) ப (ாதிக்குமெ b + _) ப (ாதிக்கும்_ b + _) ப (ாதிக்கும்_L16 p _) ப (ாதிக்கும்_குறை p _) ப (ாதிக்கும்_மேற் p _) ப (ாதிக்கும்_மேற்பட்ட_ p _) ப (ாதிக்கும்_மேல p _) ப (ாதித்த b + _) ப (ாதிப்படை b _) ப (ாதிப்படைகி b _) ப (ாதிப்படையுமெ b _) ப (ாதிப்படைவ b _) ப (ாதிப்பதா b _) ப (ாதிப்பதை b + _) ப (ாதிப்பாகிற b + _) ப (ாதிப்பால b _) ப (ாதிப்பினால b _) ப (ாதிப்பிற்க b _) ப (ாதிப்பில b + _) ப (ாதிப்புகள b _) ப (ாதிப்புக் b + _) ப (ாதிப்புண்ட b _) ப (ாதிப்பும b + _) ப (ாதிப்புள்ள b _) ப (ாதிப்பேர p _) ப (ாதிப்பை b _) பாத (ிமா fa:t @@ -2011,6 +2117,7 @@ _டெட்_) ப (ாடி b _) ப (ானங்கள b _) ப (ானத்த b _) ப (ானமு b + _) ப (ானர்ஜி b _) ப (ானு b _) ப (ானெட் b _) பாப (ர ba:bV @@ -2025,6 +2132,8 @@ _டெட்_) ப (ாடி b _ஆடு_) ப (ாம்பே p _விளையாடு_) ப (ாம்பே p _ரூம்_) ப (ாய b + _) ப (ாய்லர b + _) ப (ாரங்கள b _) ப (ாரத b _) ப (ாரதி b _) ப (ாரத்த b @@ -2047,6 +2156,7 @@ _விளையாடு_) ப (ாம்பே p _) ப (ாலன b _) பாலப (ாட ba:lVp _) ப (ாலமுர b + _) ப (ாலம்மாள b _) ப (ாலய்யா b _) ப (ாலாஜி b _) ப (ாலாபிஷேக p @@ -2056,6 +2166,7 @@ _விளையாடு_) ப (ாம்பே p _) ப (ாலியத்த b _) ப (ாலிவுட் b _) ப (ாலுசாமி b + _) ப (ாலுசுவாமி b _) ப (ாலுடன் p _) ப (ாலும்_ p _) ப (ாலுவ b @@ -2063,7 +2174,9 @@ _விளையாடு_) ப (ாம்பே p _) ப (ால் p _) ப (ால்_தாக்கரே b _) பால்க (னி ba:lkV + _) பால்ட (ிமோர ba:lt. _) ப (ால்ய b + _) ப (ால்ஸ b _நேய_) ப (ாவ b _ராக_) ப (ாவ b _சகோதர_) ப (ாவ b @@ -2095,6 +2208,7 @@ _ராகத்தின்_) ப (ாவ b _) ப (ாவேய b _) ப (ாஷாக்கள b _) ப (ாஷாவ b + _) ப (ாஷிய b _) ப (ாஷை b _) ப (ாஷ்ய b _) ப (ாஸ்கர b @@ -2124,6 +2238,7 @@ _ராகத்தின்_) ப (ாவ b _) பிப (ி bip _) ப (ிபிசி b // bbc _) ப (ிம்ப b + _) ப (ியர b இயற்) ப (ியல b _) பி (யூனஸ்_ b _) ப (ிரகதீ b @@ -2155,8 +2270,13 @@ _ராகத்தின்_) ப (ாவ b _) பி (ரதம p _) பி (ரதர்_ b _) பி (ரதர்_ b + _) பி (ரதான p + _) பி (ரதி p _) பி (ரதீ p _) பி (ரதேச p + _) பி (ரதேஷ p + _) பி (ரத்தியேக p + _) பிரத் (யேக prVt _) பி (ரப p _) பி (ரமாண p _) பி (ரமாண்ட b @@ -2223,6 +2343,7 @@ _ராகத்தின்_) ப (ாவ b _) பி (ராமிக் b _) பி (ராமின்_ b _) பி (ராமிஸ p + _) பி (ராய்லர b _) பி (ரார்தன p _) பி (ரார்தி p _) பி (ரார்த்த p @@ -2236,6 +2357,7 @@ _ராகத்தின்_) ப (ாவ b _) பி (ரிட b _) பிரிட (ோரிய prit. _) பி (ரிட்டோரிய p + _) பிரிண்ட prin.t.V# _) பிரிண்ட (ர prin.t.V _) ப (ிரித்தானி b _) பி (ரித்தானி b @@ -2276,14 +2398,18 @@ _ராகத்தின்_) ப (ாவ b _) பி (ரௌச b _) பி (ரௌன b _) ப (ிலாஸ்பூர b + _) ப (ில்கள b _) ப (ில்டப் b _) ப (ில்டிங் b + _) ப (ில்லா b _) ப (ில்லியன b _) பி (ளவுஸ b _) பி (ளஸ p _) பி (ளஸ்_ p _) பி (ளா p + _) பிளாக் bla:k _) பி (ளாட்பார p + _) பிளாப் fl.a:p _) பி (ளாஸ்க் f // flask _) பி (ளீஸ p _) பிள (ைட் fl. @@ -2320,10 +2446,11 @@ _ராகத்தின்_) ப (ாவ b _) ப (ீன்ஸ b _) ப (ீப்பொலி b _) ப (ீம b + _) ப (ீர b _) ப (ீரங்கி b _) பீ (ராமண b _) ப (ீராமணர b - _) ப (ீரை b + _) ப (ீரிட p _) ப (ீரோ b _) ப (ீர்பால b _) ப (ீஹார b @@ -2336,6 +2463,7 @@ _ராகத்தின்_) ப (ாவ b _) ப (ுஜ b _) ப (ுட்டி b _பெனசீர்_) ப (ுட்டோ b + _) புட்ப (ால fut.b _) ப (ுதன b _) புத்த(K buddV _) புத் (தJ_புத+ put @@ -2358,6 +2486,7 @@ _பெனசீர்_) ப (ுட்டோ b _) ப (ுரோக்கர b _) பு (ரோக்கர b _) புரோட (ான pro:t. + _) பு (ரோட்டா bV _) பு (ரௌச b _) ப (ுல்_L15 f _) ப (ுல்டோசர b @@ -2374,12 +2503,14 @@ _பெனசீர்_) ப (ுட்டோ b _) ப (ூச்சாண்டி b _) பூட (ான bu:t. _) ப (ூட்ஸ b + _) ப (ூதகண b _) ப (ூதகணங்க b _) ப (ூதங் b _) ப (ூதத் b _) ப (ூதபாண்டிய b _) ப (ூதம b _) ப (ூதவுடம்ப b + _) ப (ூதாகர b _) ப (ூதாகார b _) ப (ூதான b _) ப (ூதேவி b @@ -2391,6 +2522,7 @@ _பெனசீர்_) ப (ுட்டோ b _) ப (ூத்துக்குப் b _) ப (ூத்தை b _) பூப (தி bu:pV + _) ப (ூபனே b _) ப (ூபாள b _) ப (ூமத்திய b _) ப (ூமாதா b @@ -2413,6 +2545,7 @@ _பெனசீர்_) ப (ுட்டோ b _) பெப்ப (ே bebb _) ப (ெப்ரவரி f _) ப (ெர்னாட்ஷா b + _) ப (ெர்னாண்ட f _) ப (ெர்னான்ட f _) ப (ெர்னார்ட b _) ப (ெர்முடா b @@ -2445,13 +2578,17 @@ _பெனசீர்_) ப (ுட்டோ b _) ப (ேல் b _) ப (ேஷன f _) ப (ேஷா b + _) ப (ைகுக்கு b + _) ப (ைக்கிற்க b _) ப (ைக்குகள b + _) ப (ைக்கும b _) ப (ைசன b _) ப (ைண்ட b _) ப (ைனாக b _) ப (ைனாமி b _) ப (ைபிள b _) ப (ைரவ b + _) ப (ைராகி b _) ப (ொம்மன b _) ப (ொம்மனாட்டி p _) ப (ொம்மல b @@ -2464,6 +2601,7 @@ _பெனசீர்_) ப (ுட்டோ b _) ப (ோகத்தில b _) ப (ோகத்துக்க b _) ப (ோகத்தை b + _) ப (ோகன்வில்லா b _) ப (ோகர b _) ப (ோகித் b _) ப (ோகிப் b @@ -2492,6 +2630,7 @@ _பெனசீர்_) ப (ுட்டோ b _) ப (ோன்ஸ்லே b _) போப (ால bo:p _) போப (ோர் bo:f + _) ப (ோரடி b _) ப (ோரடிக்காமலா b _) ப (ோரடிக்குத b _) ப (ோரடிக்கும b @@ -2504,6 +2643,8 @@ _பெனசீர்_) ப (ுட்டோ b _சந்திர_) ப (ோஸ b _) ப (ோஸிட b _) போ (ஸ்டன ba: + _கம்) ப (ௌண்ட p + _காம்) ப (ௌண்ட p _) பௌண்ட (ன faUn.t.V _) ப (ௌதிக b _) ப (ௌத்த b @@ -2540,12 +2681,14 @@ _சந்திர_) ப (ோஸ b _) ப் (ரௌச b _) ப் (ரௌன b _) ப் (ளவுஸ b + _) ப்ளாப் fl.a:p _) ப் (ளோரிடா f _) ப் (ளௌஸ b //endsort //sort இடர்) ப pV# + _கேம்) ப pV# _பிரதீ) ப pV# ஒலிம்) ப pV# சங்கல்) ப pV# @@ -2634,6 +2777,7 @@ _சொந்த) ப (ந்த bV அனு) ப (மா pV _க) ப (ம்_ bV _ஊடு) ப (யிர pV + _நடை) ப (யிற்சி pV கா) ப (ர bV நாகா) ப (ரண bV _ஒலி) ப (ரப் pV @@ -2644,6 +2788,7 @@ _சொந்த) ப (ந்த bV ஆ) ப (ரேஷன pV _கார்) ப (ரேஷன pV _பம்) ப (ர்_ pV + _கன்) ப (ர்ம fV கரம்) ப (ற் pV ப (ற்றி_ pV _தேக) ப (ல bV @@ -2656,10 +2801,13 @@ _முனிசி) ப (ல pV ஆயுதப்) ப (ல bV _மகா) ப (லி bV _மூடு) ப (ல்லக் pV + _மணி) ப (ல்லவ pV + அனு) ப (ல்லவி pV _க) ப (ளிகர bV வேலைப்) ப (ளு bV வட) ப (ழ pV வீண்) ப (ழி pV + _முத்து) ப (வள pV _வா) ப (ஸ pV _தீ) ப (ா p _கலி) ப (ா f @@ -2683,7 +2831,10 @@ _வெளிப்) ப (ாக b _பிக்) ப (ாக்க+ p உ) ப (ாசனை p ஈடு) ப (ாட p + _கட்டு) ப (ாட p _வழி) ப (ாட p + _குறை) ப (ாட p + _பட்ட) ப (ாட p _வேறு) ப (ாட p சமன்) ப (ாட p முரன்) ப (ாட p @@ -2702,6 +2853,8 @@ _வெளிப்) ப (ாக b அL06மதா) ப (ாத b ஒளரங்கா) ப (ாத b ஔரங்கா) ப (ாத b + _சிறு) ப (ாதை p + _நடை) ப (ாதை p ஜிந்தா) ப (ாத் b _பஞ்ச) ப (ாத்திர p ச) பாபதி ba:pVti @@ -2713,6 +2866,7 @@ _வெளிப்) ப (ாக b _சரி) ப (ார p எதிர்) ப (ார p _பிளாட்) ப (ார f + இன்) ப (ார்ம f அ) பார்மெண்ட pa:rment.V# கண்) ப (ார்வை p இம்) ப (ால f @@ -2737,8 +2891,10 @@ _ப்ரின்சி) ப (ால p அடி) ப (ாவி p _நவ) ப (ாஷ p _தமிழ்ப்) ப (ாஷ _b + _கா) ப (ி f வாதா) ப (ி p _கடா) ப (ி f + _யுஎஸ்) ப (ி b சித்தப்) பி(ரமை b _கன்) ப (ிகர f வாலி) பிக (ேஷன fik @@ -2746,6 +2902,8 @@ _தமிழ்ப்) ப (ாஷ _b _கா) பிட(ல pit.V கண்டு) ப (ிடி p திமிர்) ப (ிடி p + _கடை) ப (ிடி p + _வெறி) ப (ிடி p ராவல்) ப (ிண்டி p _டால்) ப (ின f ஒ) ப (ினியன p @@ -2770,7 +2928,7 @@ _ஞானப்) பிரக (ா prVk ஆ) பி (ரகாம b பிரக (ாஷ prVk மதப்) பிரச (ார prVtS - பி (ரத p + பி (ரதர b ராஜப்) பி (ரதிநிதி p அரசுப்) பி (ரதிநிதி p _தர்மப்) பி (ரப p @@ -2802,10 +2960,12 @@ L03ந்தப்) பி (ராய p ஆண்) ப (ிள்ளை p பெண்) ப (ிள்ளை p விக்கி) ப (ீடியா p + இம்) ப (ீரியல p _திம்) ப (ு p _அன்) ப (ுட b _மார்) ப (ுட b _) புத்தம்ப (ுத puttVmp + ராஜ) ப (ுத்திர p வாயு) ப (ுத்திர p அக்னி) ப (ுத்திர p பாடலி) ப (ுத்திர p @@ -2817,6 +2977,7 @@ L03ந்தப்) பி (ராய p இன்) ப (ுற b _துன்) ப (ுற b ப (ுறK p + _பா) ப (ுலர p _) பு (ளோரன்ஸ f மண்) ப (ுழு p ப (ூச்சி p @@ -2849,6 +3010,8 @@ _கோலாலம்) ப (ூர p _மறு) ப (ேச்ச p ஒரு) ப (ேச்ச p வீண்) ப (ேச்ச p + ப (ேட்டை p + ம்) ப (ேட்டை b _சில) ப (ேர p _பல) ப (ேர p _வெல்) ப (ேர f @@ -2894,6 +3057,7 @@ _கோலாலம்) ப (ூர p ப (ோன்ற+ p // ?? end-of-word + suffix ?? ப (ோயிரு p ப (ோய் p + எம்) ப (ோரியல p ஏர்) போர்ட po:rt.V# கலி) ப (ோர்னிய f ப (ோல_ p @@ -2929,6 +3093,8 @@ _மைக்ரோசா) ப் (ட f ஆ) ப்ப (ரிக்க fV தென்னா) ப்ப (ரிக்க fV உயிர்) ப்ப (லி bbV + L03) ப்ப (ஸ bbV + _ட) ப்ப (ா bb அடி) ப்ப (ாக bb இறுதி) ப்ப (ாக bb துர்) ப்ப (ாக்கிய bb @@ -2959,12 +3125,14 @@ _ஒL10ி) ப்பி (ரவாக pp ஆ) ப்பி (ரிக்க f தென்னா) ப்பி (ரிக்க fV _ஹ) ப்ப (ிள bb + _க்ள) ப்ப (ுகள bb உ) ப்ப (ுசத்த bb உ) ப்ப (ுசம bb _சந்தேக) ப்ப (ுத்தி bb இ) ப்ப (ூமி bb _ல) ப்ப (ை bb துர்) ப்ப (ோதனை bb + _கே) ப் (மாரி p கம்) ப்யூட (ர pjU:t.V _சு) ப் (ரீம p _) ப் (ரீயா f @@ -3036,7 +3204,6 @@ _சந்தேக) ப்ப (ுத்தி bb _ஆ) ப (ிஸ f // office _ஆ) ப (ிச f // office கிராம) ப (ோன f // gramaphone - _கா) ப (ியை f _) ப (ோட்டோ_ f _) ப (ோட்டோவ f @@ -3131,7 +3298,7 @@ _சந்தேக) ப்ப (ுத்தி bb இ i இ (யேச இ (ரகசிய // silent - இ (ரகுமான + இ (ரகு இ (ரகுராம இ (ரசனை இ (ரசாயன @@ -3147,9 +3314,12 @@ _சந்தேக) ப்ப (ுத்தி bb இ (ரம்மிய இ (ரயில இ (ரவீந்திர + இ (ரவைகள + இ (ரவையை இ (ராக இ (ராச இ (ராஜ + இராஞ்ச ra:n^tSV# இ (ராட்சத இ (ராட்சஷ இ (ராணி @@ -3261,9 +3431,9 @@ _சந்தேக) ப்ப (ுத்தி bb ௗ : // aU length mark .group 0xe0a4 // devanagari - \340\244 _^_HI // switch to hindi voice + 0xe0a4 _^_HI // switch to hindi voice .group 0xe0a5 // devanagari - \340\245 _^_HI + 0xe0a5 _^_HI .group ் // virama diff --git a/phsource/compile_report b/phsource/compile_report index 91d129d6..cf420d99 100644 --- a/phsource/compile_report +++ b/phsource/compile_report @@ -1,4 +1,4 @@ -77 phoneme tables +79 phoneme tables new total base 107 107 consonants 10 116 @@ -77,6 +77,8 @@ consonants 10 116 tn 27 119 mt 32 127 bo 10 152 + kk 20 117 + fa 9 110 Data file Used by b/b [b] base @@ -400,7 +402,7 @@ l/l_ [l] base [l/] fr l/l_@ [l/3] base [l/] fr -l/l@ [hvs] base +l/l@ [hAö] base [l#] base [l] fr [l/2] fr @@ -434,7 +436,7 @@ l/L2_oL [l/2] base l/L2_uL [l/2] base l/l_3 [l/] de l/l_4 [ll] sq -l/la [hvs] base +l/la [hAö] base [l#] base [l] fr [l/2] fr @@ -442,7 +444,7 @@ l/la [hvs] base [K] tn l/l_a [l/3] base [l/] fr -l/le [hvs] base +l/le [hAö] base [l#] base [l] fr [l/2] fr @@ -454,7 +456,7 @@ l/L_eL_af [&] af [&:] af l/l_front [L] sq l/l_front_ [l/4] sq -l/li [hvs] base +l/li [hAö] base [l#] base [l] fr [l/2] fr @@ -468,7 +470,7 @@ ll/ll [L] bg ll/_ll [L] bg l/l_long [l] base [l] fr -l/lo [hvs] base +l/lo [hAö] base [l#] base [l/2] fr [K] nso @@ -478,7 +480,7 @@ l/l_o [l/3] base l^/l_rfx [l.] base [l] ru [l^] ru -l/lu [hvs] base +l/lu [hAö] base [l#] base [l] fr [l/2] fr @@ -786,6 +788,7 @@ ufric/x [x] base [kh] vi ufric/x2 [x2] af [x] ku + [X] kk ufric/x_hr [x] base [x] hr [x] ru @@ -1017,6 +1020,7 @@ vdiph2/ii@ [i@] en [i@3] en [i@] en-us [ja] ru +vdiph2/ii@_2 [e] kk vdiph2/ii@_3 [i@] vi vdiph2/iioo [io] zh vdiph2/iu [iU] base2 @@ -1049,6 +1053,7 @@ vdiph2/uw [u:] en-us vdiph2/uw_2 [u:] en vdiph2/uw_3 [yU] ro vdiph2/uw_4 [u:] en-n +vdiph2/uw_6 [u#] kk vdiph2/y@ [y@] zh vdiph2/y#@ [Y@] af vdiph2/ye [yE] sq @@ -1147,6 +1152,7 @@ vdiph/eei_2 [eI] eo [ei] lv [eI] id [ei] mt + [eI] fa vdiph/eei_3 [eI] sk [eI] ku vdiph/eeu [EU] pt @@ -1229,6 +1235,7 @@ vdiph/ou [ou] fi [ou] mt vdiph/ou_2 [oU] sk [oU] ro + [oU] fa vdiph/ou_3 [oU] is [oU:] is vdiph/ou_4 [o:] nl @@ -1409,6 +1416,7 @@ vowel/& [a] en-rp [&] sv [&#] da [&] az + [a] fa vowel/0 [0] en [O] hi [O] pt @@ -1422,6 +1430,7 @@ vowel/0_3 [O:] en-us [O] en-sc [0] en-rp [A] hu + [A] fa vowel/@_2 [@] vi [@:] vi [@] sq @@ -1450,6 +1459,7 @@ vowel/@_6 [@] en [W] fr [W2] fr vowel/8 [o-] zh + [8] kk vowel/8_2 [U] en-us [8] sv vowel/8_3 [eo] zhy @@ -1554,6 +1564,7 @@ vowel/a_4 [a] es [a] vi vowel/a#_4 [a:] nl [a] bg + [a/] it [a] tr vowel/a_5 [a:] ta [a:] ml @@ -1563,6 +1574,7 @@ vowel/a_5 [a:] ta [a] sw [a:] te [a] tn + [a] kk vowel/a_6 [a] ca [a:] vi [a] am @@ -1611,6 +1623,7 @@ vowel/aa_9 [a] fi [a] pa [a] ak [a] mt + [A] kk vowel/@_bck [@] hi [@] bg [@] zh @@ -1693,6 +1706,7 @@ vowel/ee_2 [E] cy [E#] ku [&] da [E] pa + [&] kk vowel/ee#_2 [E1] et [E-] sv [E#] sq @@ -1766,9 +1780,11 @@ vowel/e_mid2 [E] af [e:] si [e] mt [e] bo + [e] fa vowel/@_fnt [@] en-wi [@2] en-wi [@2] hr + [E] kk vowel/@_fr [3] en-n vowel/@_hgh [@] fr [@-] fr @@ -1807,6 +1823,7 @@ vowel/i [i] base [i:] te [i:] si [i] bo + [i] fa vowel/i# [y:] cy vowel/i_2 [i2] de [i:] de @@ -1874,6 +1891,7 @@ vowel/ii# [Y] cy [Y] ru [I] ku [i] sq + [I] kk vowel/ii_2 [I] en [i] zh [I] mt @@ -1912,6 +1930,7 @@ vowel/ii_6 [I] en-wm [i] wo vowel/ii_7 [i] en [i] sq +vowel/ii_8 [i] kk vowel/ii_final [i] en-us [i] en-rp vowel/@_low [@] en-rp @@ -1977,6 +1996,7 @@ vowel/o_2 [o:] cy vowel/o-_2 [V] en-n [V] en-wm vowel/o_3 [oU] en-sc + [o] kk vowel/o-_3 [U] en-rp vowel/o-_4 [o] ro [o] am @@ -2002,6 +2022,7 @@ vowel/o_mid [U@] en-rp [o] az [o] dv [o:] dv + [o] fa vowel/o_mid2 [O] fr [O] ht vowel/oo [o] base @@ -2172,7 +2193,9 @@ vowel/u_bck2 [u] et [u:] la [u] es [u] ht + [u] fa vowel/u_bck3 [u:] et + [u] kk vowel/uu [U] en [U] en-n [U] en-wm @@ -2182,6 +2205,7 @@ vowel/uu_2 [U] base2 [U] de [U] ca [U] tr + [U] kk vowel/uu_3 [u] af [y] zh vowel/uu_4 [U] fi @@ -2254,6 +2278,7 @@ vowel/y_3 [y] af vowel/y#_3 [W] is [W:] is vowel/y_4 [y:] no +vowel/y#_4 [Y] kk vowel/y_5 [y:] sv [y] tr [y] ku diff --git a/phsource/error_log b/phsource/error_log index b4c3f8f8..72598adb 100644 --- a/phsource/error_log +++ b/phsource/error_log @@ -457,5 +457,17 @@ include ph_tibetan +______________________________ +Phoneme Table: 'kk' +include ph_kazakh -Refs 2579, Reused 1791 + + +______________________________ +Phoneme Table: 'fa' +include ph_farsi + + + + +Refs 2602, Reused 1810 diff --git a/phsource/ph_estonian b/phsource/ph_estonian index 4ff36223..a4b25436 100644 --- a/phsource/ph_estonian +++ b/phsource/ph_estonian @@ -314,7 +314,7 @@ phoneme r // used for [r] when not preceding a vowel FMT(r3/r_) addWav(r3/rx) endphoneme -phoneme k // tasasemad klõklsud +phoneme k // tasasemad kl�klsud vls vel stop lengthmod 2 voicingswitch g diff --git a/phsource/ph_farsi b/phsource/ph_farsi new file mode 100644 index 00000000..6333d193 --- /dev/null +++ b/phsource/ph_farsi @@ -0,0 +1,63 @@ + +// Long Vowels + +phoneme A + vowel starttype #i endtype #i + length 200 + FMT(vowel/0_3) +endphoneme + + +phoneme i + vowel starttype #i endtype #i + length 200 + FMT(vowel/i) +endphoneme + + +phoneme u + vowel starttype #i endtype #i + length 200 + FMT(vowel/u_bck2) +endphoneme + + +// Short Vowels + +phoneme a + vowel starttype #i endtype #i + length 160 + FMT(vowel/&) +endphoneme + + +phoneme e + vowel starttype #i endtype #i + length 160 + FMT(vowel/e_mid2) +endphoneme + + +phoneme o + vowel starttype #i endtype #i + length 160 + FMT(vowel/o_mid) +endphoneme + + +// Diphthongs + + +phoneme eI + vowel starttype #i endtype #i + length 220 + FMT(vdiph/eei_2) +endphoneme + + +phoneme oU + vowel starttype #i endtype #i + length 220 + FMT(vdiph/ou_2) +endphoneme + diff --git a/phsource/ph_french b/phsource/ph_french index 46affef7..bd65828e 100644 --- a/phsource/ph_french +++ b/phsource/ph_french @@ -288,7 +288,7 @@ phoneme a length 170 ENDIF - FMT(vowel/a_7, 80) + FMT(vowel/a_7) endphoneme @@ -297,7 +297,7 @@ phoneme a- unstressed length 130 - FMT(vowel/a_7, 80) + FMT(vowel/a_7, 85) endphoneme @@ -984,7 +984,7 @@ endphoneme // translate from English to French phonemes equivalents en -remove_stress +//remove_stress 0 O 3 W r 3: W : r diff --git a/phsource/ph_italian b/phsource/ph_italian index 7a4c8def..b3564b7f 100644 --- a/phsource/ph_italian +++ b/phsource/ph_italian @@ -20,6 +20,9 @@ endphoneme phoneme a/ vowel starttype #@ endtype #@ length 180 + IF thisPh(isWordEnd) THEN + FMT(vowel/a#_4) + ENDIF FMT(vowel/a_5) endphoneme diff --git a/phsource/ph_kazakh b/phsource/ph_kazakh new file mode 100644 index 00000000..2537b429 --- /dev/null +++ b/phsource/ph_kazakh @@ -0,0 +1,139 @@ + +// use "flag1" for soft vowels + +// short vowels + +phoneme I + vowel starttype #@ endtype #@ + flag1 + length 100 + IF thisPh(isWordEnd) THEN + length 140 + ENDIF + FMT(vowel/ii#) +endphoneme + +phoneme 8 + vowel starttype #@ endtype #@ + length 100 + IF thisPh(isWordEnd) THEN + length 140 + ENDIF + FMT(vowel/8) +endphoneme + +phoneme u# + vowel starttype @ endtype @ + length 100 + flag1 + IF thisPh(isWordEnd) THEN + length 140 + ENDIF + FMT(vdiph2/uw_6) +endphoneme + +phoneme U + vowel starttype #u endtype #u + length 100 + IF thisPh(isWordEnd) THEN + length 140 + ENDIF + FMT(vowel/uu_2) +endphoneme + + +// long vowels + +phoneme A + vowel starttype #a endtype #a + length 200 + FMT(vowel/aa_9) +endphoneme + +phoneme a + vowel starttype #a endtype #a + length 200 + FMT(vowel/a_5) +endphoneme + +phoneme & + vowel starttype #a endtype #a + flag1 + length 200 + FMT(vowel/ee_2) +endphoneme + +phoneme e + vowel starttype #e endtype #e + length 200 + flag1 + FMT(vdiph2/ii@_2) +endphoneme + +phoneme E + vowel starttype @ endtype @ + length 200 + FMT(vowel/@_fnt) +endphoneme + +phoneme i + vowel starttype #i endtype #i + length 180 + FMT(vowel/ii_8) +endphoneme + +phoneme o + vowel starttype #o endtype #o + length 200 + FMT(vowel/o_3) +endphoneme + +phoneme Y + vowel starttype #@ endtype #@ + length 200 + flag1 + FMT(vowel/y#_4) +endphoneme + +phoneme u + vowel starttype #u endtype #u + length 200 + FMT(vowel/u_bck3) +endphoneme + + + +phoneme r + import_phoneme base/R2 +endphoneme + +phoneme t + import_phoneme base2/t +endphoneme + +phoneme G + import_phoneme base/r" +endphoneme + +phoneme X + vls uvl frc + lengthmod 3 + Vowelin f1=0 f2=2300 200 400 f3=-100 100 + Vowelout f1=0 f2=2300 300 400 f3=-100 100 rms=20 + lengthmod 3 + WAV(ufric/x2, 60) +endphoneme + +phoneme L + import_phoneme sq/ll +// import_phoneme base/l- +endphoneme + +phoneme l + liquid + IF nextPhW(isFlag1) THEN + ELSE + ChangePhoneme(L) // Hard + ENDIF + CALL base/l +endphoneme diff --git a/phsource/phonemes b/phsource/phonemes index 358136f6..deea225e 100644 --- a/phsource/phonemes +++ b/phsource/phonemes @@ -1884,3 +1884,10 @@ include ph_maltese phonemetable bo hi include ph_tibetan + +phonemetable kk base +include ph_kazakh + +phonemetable fa base +include ph_farsi + diff --git a/phsource/ufric/s_pal.wav b/phsource/ufric/s_pal.wav index bc67ac28..c079c84c 100644 Binary files a/phsource/ufric/s_pal.wav and b/phsource/ufric/s_pal.wav differ diff --git a/phsource/vdiph/ou_2 b/phsource/vdiph/ou_2 index 36208f13..125eecc2 100644 Binary files a/phsource/vdiph/ou_2 and b/phsource/vdiph/ou_2 differ diff --git a/phsource/vowel/&_3 b/phsource/vowel/&_3 new file mode 100644 index 00000000..fc7ed6ae Binary files /dev/null and b/phsource/vowel/&_3 differ diff --git a/phsource/vowel/a_7 b/phsource/vowel/a_7 index 750d6788..76223125 100644 Binary files a/phsource/vowel/a_7 and b/phsource/vowel/a_7 differ diff --git a/phsource/vowel/ii_8 b/phsource/vowel/ii_8 new file mode 100644 index 00000000..6218e30e Binary files /dev/null and b/phsource/vowel/ii_8 differ diff --git a/phsource/vowel/o_3 b/phsource/vowel/o_3 index 4f704a98..8091c872 100644 Binary files a/phsource/vowel/o_3 and b/phsource/vowel/o_3 differ diff --git a/phsource/vowel/o_mid2 b/phsource/vowel/o_mid2 index 077cb61a..474fe651 100644 Binary files a/phsource/vowel/o_mid2 and b/phsource/vowel/o_mid2 differ diff --git a/phsource/vowel/u_fnt2 b/phsource/vowel/u_fnt2 new file mode 100644 index 00000000..6c9152e6 Binary files /dev/null and b/phsource/vowel/u_fnt2 differ diff --git a/phsource/vowel/vowelchart.png b/phsource/vowel/vowelchart.png index 7226a60c..1d635d17 100644 Binary files a/phsource/vowel/vowelchart.png and b/phsource/vowel/vowelchart.png differ diff --git a/phsource/vowel/y#_4 b/phsource/vowel/y#_4 new file mode 100644 index 00000000..ca32bcb5 Binary files /dev/null and b/phsource/vowel/y#_4 differ diff --git a/phsource/vowelcharts/af b/phsource/vowelcharts/af index 077d8049..c3bda65b 100644 --- a/phsource/vowelcharts/af +++ b/phsource/vowelcharts/af @@ -1,7 +1,7 @@ @ 1 536 1416 2320 584 1400 2000 @ 0 536 1420 2420 536 1420 2420 @- 0 525 1441 2340 525 1441 2340 -a 0 19271 29922 -25436 16780 -13920 10796 +a 0 -3389 682 10183 -14324 -3574 28986 i 0 272 2247 3100 288 2247 3100 u 0 352 1000 2240 352 1000 2200 E 0 504 1900 2544 496 1920 2552 diff --git a/phsource/vowelcharts/af.png b/phsource/vowelcharts/af.png index c6110762..492929bb 100644 Binary files a/phsource/vowelcharts/af.png and b/phsource/vowelcharts/af.png differ diff --git a/phsource/vowelcharts/am b/phsource/vowelcharts/am index 29454b98..861a5026 100644 --- a/phsource/vowelcharts/am +++ b/phsource/vowelcharts/am @@ -1,7 +1,8 @@ -@ 0 584 1440 2460 600 1440 2460 -a 0 904 1320 2700 896 1340 2660 +@ 1 640 1562 2400 355 2222 2720 +@ 0 528 1500 2380 528 1500 2380 +a 1 904 1320 2740 344 2222 2720 +a 0 864 1280 2700 864 1280 2700 e 0 504 1900 2544 496 1920 2552 -i 0 280 2280 2840 240 2339 2840 +i 0 336 2210 2800 336 2210 2760 o 0 496 972 2500 496 972 2500 u 0 344 800 2360 344 800 2360 -y 0 336 1760 2580 344 1760 2580 diff --git a/phsource/vowelcharts/am.png b/phsource/vowelcharts/am.png index a7b8e31a..f605ce4d 100644 Binary files a/phsource/vowelcharts/am.png and b/phsource/vowelcharts/am.png differ diff --git a/phsource/vowelcharts/bo b/phsource/vowelcharts/bo new file mode 100644 index 00000000..1cece3d1 --- /dev/null +++ b/phsource/vowelcharts/bo @@ -0,0 +1,10 @@ +a 0 904 1320 2700 896 1340 2660 +e 0 504 1900 2544 496 1920 2552 +i 0 280 2280 2840 240 2339 2840 +o 0 454 812 2559 432 824 2520 +u 0 320 860 2360 320 860 2460 +i: 0 304 2440 3020 304 2440 3020 +e: 0 416 2140 2660 416 2140 2660 +a: 0 712 1160 2780 696 1160 2780 +o: 0 424 800 2580 408 780 2600 +u: 0 320 740 2400 320 740 2400 diff --git a/phsource/vowelcharts/bo.png b/phsource/vowelcharts/bo.png new file mode 100644 index 00000000..bd96d35a Binary files /dev/null and b/phsource/vowelcharts/bo.png differ diff --git a/phsource/vowelcharts/ca b/phsource/vowelcharts/ca index 39778d33..652c15c9 100644 --- a/phsource/vowelcharts/ca +++ b/phsource/vowelcharts/ca @@ -8,5 +8,5 @@ E 0 584 1820 2560 584 1820 2560 O 0 552 860 2660 552 880 2660 U 0 388 940 2420 394 980 2360 aI 0 912 1320 2740 360 2200 2820 -a# 0 865 0 0 837 0 0 +a# 0 514 514 514 514 514 514 E2 0 584 1820 2560 584 1820 2560 diff --git a/phsource/vowelcharts/ca.png b/phsource/vowelcharts/ca.png index 203bbfb1..064a231f 100644 Binary files a/phsource/vowelcharts/ca.png and b/phsource/vowelcharts/ca.png differ diff --git a/phsource/vowelcharts/cs b/phsource/vowelcharts/cs index fa179dea..c627fdb3 100644 --- a/phsource/vowelcharts/cs +++ b/phsource/vowelcharts/cs @@ -1,4 +1,5 @@ @- 0 525 1441 2340 525 1441 2340 +a 1 856 1320 2700 856 1320 2700 a 0 904 1320 2700 896 1340 2660 e 0 584 1820 2560 584 1820 2560 i 0 360 2120 2680 360 2120 2660 diff --git a/phsource/vowelcharts/cs.png b/phsource/vowelcharts/cs.png index bd8e96e7..6ba3a87e 100644 Binary files a/phsource/vowelcharts/cs.png and b/phsource/vowelcharts/cs.png differ diff --git a/phsource/vowelcharts/de b/phsource/vowelcharts/de index 33231617..edef991c 100644 --- a/phsource/vowelcharts/de +++ b/phsource/vowelcharts/de @@ -1,13 +1,11 @@ @ 0 496 1500 2420 496 1500 2420 @- 0 525 1441 2340 525 1441 2340 a 0 904 1320 2700 896 1340 2660 -e 0 456 1980 2540 440 1980 2540 i 0 280 2280 2840 240 2339 2840 o 0 552 860 2660 552 880 2660 n- 1 496 1512 2380 480 1500 2540 n- 0 496 1512 2380 380 1780 2540 3 0 658 1408 2460 658 1408 2460 -3: 0 658 1408 2460 658 1408 2460 E 0 504 1900 2544 496 1920 2552 E2 0 504 1900 2544 496 1920 2552 I 0 384 2030 2610 384 2030 2610 @@ -21,7 +19,7 @@ i: 0 280 2255 3030 264 2255 3030 i2 0 280 2255 3030 264 2255 3030 u: 0 320 860 2360 320 860 2460 aU 0 776 1200 2760 368 900 2540 -aI 0 904 1320 2700 355 2222 2720 +aI 0 904 1320 2740 344 2222 2720 EI 0 680 1800 2440 355 2222 2720 OY 0 469 864 2440 310 2040 2440 E: 0 488 1990 2540 488 1990 2540 diff --git a/phsource/vowelcharts/de.png b/phsource/vowelcharts/de.png index adf840c8..cb23b92a 100644 Binary files a/phsource/vowelcharts/de.png and b/phsource/vowelcharts/de.png differ diff --git a/phsource/vowelcharts/en b/phsource/vowelcharts/en index e69de29b..2fca00d8 100644 --- a/phsource/vowelcharts/en +++ b/phsource/vowelcharts/en @@ -0,0 +1,46 @@ +@ 1 552 1441 2400 552 1441 2400 +@ 0 525 1441 2340 525 1441 2340 +@- 0 525 1441 2340 525 1441 2340 +a 1 856 1320 2700 856 1320 2700 +a 0 904 1320 2700 896 1340 2660 +i 0 376 1970 2585 376 1970 2585 +I2 0 408 1920 2580 416 1900 2580 +@2 0 525 1441 2340 525 1441 2340 +@5 0 525 1441 2340 525 1441 2340 +U 0 445 902 2620 445 902 2620 +@L 0 485 891 2780 450 792 2980 +a# 0 -1 -1 257 257 257 257 +aa 0 904 1320 2700 896 1340 2660 +E 0 646 1780 2500 646 1780 2500 +I 0 408 1940 2600 408 1940 2600 +0 0 670 946 2620 630 902 2700 +V 0 654 1274 2586 654 1274 2586 +A: 0 775 1067 2800 795 1122 2580 +A@ 0 775 1067 2800 795 1122 2580 +3: 0 480 1408 2320 545 1419 2320 +i: 0 296 2220 2820 216 2400 2820 +O: 0 465 836 2640 530 1001 2620 +O 0 465 836 2640 530 1001 2620 +O@ 0 465 836 2640 530 1001 2620 +o@ 0 465 836 2640 530 1001 2620 +u: 1 384 1280 2280 290 1023 2220 +u: 0 360 1562 2260 290 1023 2220 +aU 0 830 1364 2440 488 900 2240 +oU 0 630 1353 2340 390 957 2140 +aI 0 860 1240 2820 415 2044 2600 +eI 0 680 1800 2440 355 2222 2720 +OI 0 545 780 2720 310 2002 2500 +e@ 0 720 1760 2420 672 1562 2520 +i@ 0 368 2156 2720 528 1595 2460 +i@3 0 368 2156 2720 528 1595 2460 +U@ 1 520 1160 2440 524 1401 2300 +U@ 0 430 960 2340 558 1300 2300 +aI@ 0 860 1240 2820 640 1518 2400 +aU@ 0 904 1480 2670 705 1344 2320 +IR 0 544 1340 2460 616 1190 2450 +VR 0 648 1180 2595 640 1140 2460 +o: 0 454 812 2559 432 824 2520 +A~ 0 592 1000 2640 592 1000 2640 +O~ 0 540 896 2632 512 900 2620 +e: 0 456 1980 2540 440 1980 2540 +@# 0 528 1500 2380 528 1500 2380 diff --git a/phsource/vowelcharts/en-n b/phsource/vowelcharts/en-n index c3737ef9..4199959e 100644 --- a/phsource/vowelcharts/en-n +++ b/phsource/vowelcharts/en-n @@ -25,7 +25,7 @@ O@ 0 575 891 2640 580 1023 2480 o@ 0 575 891 2640 580 1023 2480 u: 0 332 1527 2256 290 1023 2220 aU 0 660 1562 2360 340 990 2360 -oU 0 546 13623 5943 -16248 -29802 -14707 +oU 0 20480 0 256 768 578 140 aI 0 860 1360 2660 488 1840 2440 OI 0 545 780 2720 310 2002 2500 e@ 0 647 1778 2530 593 1553 2370 diff --git a/phsource/vowelcharts/en-n.png b/phsource/vowelcharts/en-n.png index db322c84..277bd9df 100644 Binary files a/phsource/vowelcharts/en-n.png and b/phsource/vowelcharts/en-n.png differ diff --git a/phsource/vowelcharts/en-us b/phsource/vowelcharts/en-us index a9c507a7..b909b4bc 100644 --- a/phsource/vowelcharts/en-us +++ b/phsource/vowelcharts/en-us @@ -9,7 +9,7 @@ I2 0 416 1800 2560 416 1800 2560 @5 0 525 1441 2340 525 1441 2340 U 0 496 1040 2560 496 1040 2560 @L 0 485 891 2780 450 792 2980 -a# 0 0 0 771 0 0 697 +a# 0 -256 255 0 257 257 257 aa 1 670 1719 2556 710 1672 2671 aa 0 700 1680 2506 652 1488 2470 E 0 544 1760 2580 608 1600 2580 diff --git a/phsource/vowelcharts/en-us.png b/phsource/vowelcharts/en-us.png index f9cc3ca0..ce7595a4 100644 Binary files a/phsource/vowelcharts/en-us.png and b/phsource/vowelcharts/en-us.png differ diff --git a/phsource/vowelcharts/en-wm b/phsource/vowelcharts/en-wm index 9f0bd3b3..d23d3cfe 100644 --- a/phsource/vowelcharts/en-wm +++ b/phsource/vowelcharts/en-wm @@ -9,7 +9,7 @@ I2 0 312 2213 2775 312 2213 2775 @5 0 525 1441 2340 525 1441 2340 U 0 445 902 2620 445 902 2620 @L 0 485 891 2780 450 792 2980 -a# 0 4552 0 4554 4508 0 4510 +a# 0 511 -1 257 257 257 -1 aa 0 904 1320 2700 896 1340 2660 E 0 456 1980 2540 440 1980 2540 I 1 384 2030 2610 384 2030 2610 diff --git a/phsource/vowelcharts/en-wm.png b/phsource/vowelcharts/en-wm.png index 1f7d6692..e2023f2e 100644 Binary files a/phsource/vowelcharts/en-wm.png and b/phsource/vowelcharts/en-wm.png differ diff --git a/phsource/vowelcharts/en.png b/phsource/vowelcharts/en.png index 58fac915..5219814d 100644 Binary files a/phsource/vowelcharts/en.png and b/phsource/vowelcharts/en.png differ diff --git a/phsource/vowelcharts/es b/phsource/vowelcharts/es index 3144e76f..44d9c00f 100644 --- a/phsource/vowelcharts/es +++ b/phsource/vowelcharts/es @@ -1,9 +1,8 @@ -a 1 760 1420 2600 736 1380 2540 -a 0 896 1440 2710 896 1440 2710 +a 0 841 1409 2550 841 1409 2550 e 0 504 1900 2544 496 1920 2552 i 0 280 2280 2840 240 2339 2840 o 0 454 812 2559 432 824 2520 -u 0 320 740 2400 320 740 2400 +u 0 320 820 2360 320 820 2360 E 0 584 1820 2560 584 1820 2560 O 0 552 860 2660 552 880 2660 aU 0 847 1383 2510 360 800 2360 diff --git a/phsource/vowelcharts/es-la b/phsource/vowelcharts/es-la index 3144e76f..44d9c00f 100644 --- a/phsource/vowelcharts/es-la +++ b/phsource/vowelcharts/es-la @@ -1,9 +1,8 @@ -a 1 760 1420 2600 736 1380 2540 -a 0 896 1440 2710 896 1440 2710 +a 0 841 1409 2550 841 1409 2550 e 0 504 1900 2544 496 1920 2552 i 0 280 2280 2840 240 2339 2840 o 0 454 812 2559 432 824 2520 -u 0 320 740 2400 320 740 2400 +u 0 320 820 2360 320 820 2360 E 0 584 1820 2560 584 1820 2560 O 0 552 860 2660 552 880 2660 aU 0 847 1383 2510 360 800 2360 diff --git a/phsource/vowelcharts/es-la.png b/phsource/vowelcharts/es-la.png index b2944219..58a5cbb5 100644 Binary files a/phsource/vowelcharts/es-la.png and b/phsource/vowelcharts/es-la.png differ diff --git a/phsource/vowelcharts/es.png b/phsource/vowelcharts/es.png index b2944219..58a5cbb5 100644 Binary files a/phsource/vowelcharts/es.png and b/phsource/vowelcharts/es.png differ diff --git a/phsource/vowelcharts/et b/phsource/vowelcharts/et new file mode 100644 index 00000000..a6214496 --- /dev/null +++ b/phsource/vowelcharts/et @@ -0,0 +1,27 @@ +a 0 712 1160 2780 696 1160 2780 +e 0 504 1700 2480 504 1700 2480 +i 0 320 2255 3030 320 2255 3030 +o 0 488 900 2520 488 920 2520 +u 0 320 820 2360 320 820 2360 +a: 0 688 1064 2806 672 1100 2806 +A1 0 728 1200 2660 712 1200 2660 +e: 0 452 1880 2520 452 1880 2520 +E1 0 592 1580 2480 592 1580 2460 +i: 0 264 2340 2880 240 2339 2860 +I1 0 360 2120 2680 360 2120 2660 +i1 0 336 1440 2460 336 1440 2460 +o: 0 454 812 2559 432 824 2520 +O1 0 584 940 2580 584 940 2580 +u: 0 296 740 2400 296 740 2400 +U1 0 360 860 2360 360 860 2360 +8 0 448 1220 2260 448 1220 2260 +8: 0 464 1140 2640 464 1140 2640 +& 0 736 1540 2500 752 1540 2500 +&: 0 736 1540 2500 752 1540 2500 +Y 0 448 1520 2420 463 1520 2400 +Y: 0 448 1520 2420 463 1520 2400 +y 0 280 1720 2340 280 1720 2340 +y: 0 280 1720 2340 280 1720 2340 +&i 0 744 1540 2500 328 2280 2720 +Yi 0 536 1420 2420 355 2222 2720 +yi 0 280 1720 2320 296 2280 2780 diff --git a/phsource/vowelcharts/et.png b/phsource/vowelcharts/et.png new file mode 100644 index 00000000..74003384 Binary files /dev/null and b/phsource/vowelcharts/et.png differ diff --git a/phsource/vowelcharts/fa b/phsource/vowelcharts/fa new file mode 100644 index 00000000..a1ed6ba0 --- /dev/null +++ b/phsource/vowelcharts/fa @@ -0,0 +1,15 @@ +@ 0 525 1441 2340 525 1441 2340 +@- 0 525 1441 2340 525 1441 2340 +a 0 736 1540 2500 752 1540 2500 +e 0 504 1900 2544 496 1920 2552 +i 0 280 2280 2840 240 2339 2840 +o 0 488 900 2520 488 920 2520 +u 0 320 820 2360 320 820 2360 +m- 1 512 1300 2340 472 1100 2130 +m- 0 512 1300 2340 370 1040 2300 +n- 1 496 1512 2380 480 1500 2540 +n- 0 496 1512 2380 380 1780 2540 +N- 0 504 1824 2548 490 2100 2540 +A 0 656 1000 2620 630 960 2700 +eI 0 547 1855 2536 320 2300 2740 +oU 0 496 900 2520 360 800 2140 diff --git a/phsource/vowelcharts/fa.png b/phsource/vowelcharts/fa.png new file mode 100644 index 00000000..36e9ef0d Binary files /dev/null and b/phsource/vowelcharts/fa.png differ diff --git a/phsource/vowelcharts/fr b/phsource/vowelcharts/fr index 8f31467f..75cdb96d 100644 --- a/phsource/vowelcharts/fr +++ b/phsource/vowelcharts/fr @@ -1,6 +1,6 @@ @ 0 456 1460 2426 456 1460 2426 -@- 0 525 1441 2340 525 1441 2340 -a 0 856 1320 2700 856 1320 2700 +@- 0 456 1460 2426 456 1460 2426 +a 0 845 1270 2695 845 1270 2695 e 0 488 1990 2540 488 1990 2540 i 0 320 2255 3030 320 2255 3030 o 1 412 760 2680 412 760 2680 @@ -13,10 +13,13 @@ A~ 0 624 960 2880 624 960 2880 E~ 1 584 1820 2560 584 1820 2560 E~ 0 694 1360 2624 694 1360 2624 W~ 0 694 1360 2624 694 1360 2624 -O~ 0 392 700 2720 392 700 2720 +O~ 0 344 700 2620 344 700 2620 W 0 552 1441 2400 552 1441 2400 j/ 0 355 2222 2720 355 2222 2720 -a# 0 8562 0 8564 8518 0 8520 +a- 0 845 1270 2695 845 1270 2695 +a# 0 -1 -1 257 257 257 257 +e- 0 488 1990 2540 488 1990 2540 +E- 0 584 1820 2560 584 1820 2560 I 0 408 1940 2600 408 1940 2600 I2 0 408 1920 2580 416 1900 2580 O 1 544 900 2520 544 900 2520 @@ -25,11 +28,12 @@ O 1 544 900 2520 544 900 2520 O 0 488 900 2520 488 920 2520 oU 0 630 1353 2340 390 957 2140 u: 0 320 820 2360 320 820 2360 +y- 0 280 1720 2340 280 1720 2340 W2 0 552 1441 2400 552 1441 2400 Y 0 448 1520 2420 463 1520 2400 U 0 320 820 2360 320 820 2360 y" 1 280 1720 2340 280 1720 2340 y" 0 280 1720 2340 280 1720 2340 E: 0 584 1820 2560 584 1820 2560 -A 0 856 1320 2700 856 1320 2700 +A 0 845 1270 2695 845 1270 2695 V 0 654 1274 2586 654 1274 2586 diff --git a/phsource/vowelcharts/fr-ca b/phsource/vowelcharts/fr-ca index c460bae2..9bb7899f 100644 --- a/phsource/vowelcharts/fr-ca +++ b/phsource/vowelcharts/fr-ca @@ -1,6 +1,6 @@ @ 0 456 1460 2426 456 1460 2426 -@- 0 525 1441 2340 525 1441 2340 -a 0 856 1320 2700 856 1320 2700 +@- 0 456 1460 2426 456 1460 2426 +a 0 845 1270 2695 845 1270 2695 e 0 488 1990 2540 488 1990 2540 i 0 320 2255 3030 320 2255 3030 o 1 412 760 2680 412 760 2680 @@ -17,10 +17,13 @@ E 0 584 1820 2560 584 1820 2560 A~ 0 624 960 2880 624 960 2880 E~ 0 672 1660 2624 672 1660 2624 W~ 0 694 1360 2624 694 1360 2624 -O~ 0 392 700 2720 392 700 2720 +O~ 0 344 700 2620 344 700 2620 W 0 552 1441 2400 552 1441 2400 j/ 0 355 2222 2720 355 2222 2720 -a# 0 8562 0 8564 8518 0 8520 +a- 0 845 1270 2695 845 1270 2695 +a# 0 -1 -1 257 257 257 257 +e- 0 488 1990 2540 488 1990 2540 +E- 0 584 1820 2560 584 1820 2560 I 0 384 2030 2610 384 2030 2610 I2 0 408 1920 2580 416 1900 2580 O 1 544 900 2520 544 900 2520 @@ -29,6 +32,7 @@ O 1 544 900 2520 544 900 2520 O 0 488 900 2520 488 920 2520 oU 0 630 1353 2340 390 957 2140 u: 0 320 820 2360 320 820 2360 +y- 0 280 1720 2340 280 1720 2340 W2 0 552 1441 2400 552 1441 2400 Y 0 448 1520 2420 463 1520 2400 U 0 368 880 2440 368 900 2440 diff --git a/phsource/vowelcharts/fr-ca.png b/phsource/vowelcharts/fr-ca.png index 231cfe15..c6187510 100644 Binary files a/phsource/vowelcharts/fr-ca.png and b/phsource/vowelcharts/fr-ca.png differ diff --git a/phsource/vowelcharts/fr.png b/phsource/vowelcharts/fr.png index 5b71021f..b89cf6da 100644 Binary files a/phsource/vowelcharts/fr.png and b/phsource/vowelcharts/fr.png differ diff --git a/phsource/vowelcharts/hi b/phsource/vowelcharts/hi index b68d7957..97ee73c5 100644 --- a/phsource/vowelcharts/hi +++ b/phsource/vowelcharts/hi @@ -1,16 +1,13 @@ @ 1 584 1440 2460 600 1440 2460 @ 0 544 1220 2520 544 1260 2520 -@- 0 525 1441 2340 525 1441 2340 a 0 658 1408 2460 658 1408 2460 e 0 416 2140 2660 416 2140 2660 i 0 296 2220 2880 288 2260 2900 o 0 454 812 2559 432 824 2520 -@/ 0 544 1220 2520 544 1260 2520 V 1 584 1440 2460 600 1440 2460 V 0 695 1316 2500 695 1316 2500 -@2 0 584 1440 2460 600 1440 2460 @3 0 528 1500 2380 528 1500 2380 -@4 0 525 1441 2340 525 1441 2340 +@2 0 584 1440 2460 600 1440 2460 i: 0 304 2440 3020 304 2440 3020 I 0 360 2120 2680 360 2120 2660 e: 0 416 2140 2660 416 2140 2660 diff --git a/phsource/vowelcharts/hi.png b/phsource/vowelcharts/hi.png index 42a8af39..cbdd703f 100644 Binary files a/phsource/vowelcharts/hi.png and b/phsource/vowelcharts/hi.png differ diff --git a/phsource/vowelcharts/ht b/phsource/vowelcharts/ht index af61ae55..b89c96d7 100644 --- a/phsource/vowelcharts/ht +++ b/phsource/vowelcharts/ht @@ -1,4 +1,4 @@ -a 0 856 1320 2700 856 1320 2700 +a 0 845 1270 2695 845 1270 2695 e 0 436 2076 2604 436 2076 2604 i 0 320 2255 3030 320 2255 3030 o 0 412 760 2680 412 760 2680 diff --git a/phsource/vowelcharts/ht.png b/phsource/vowelcharts/ht.png index 2c8f0da3..0fae69be 100644 Binary files a/phsource/vowelcharts/ht.png and b/phsource/vowelcharts/ht.png differ diff --git a/phsource/vowelcharts/hu b/phsource/vowelcharts/hu index d3e64f9d..5620ee0a 100644 --- a/phsource/vowelcharts/hu +++ b/phsource/vowelcharts/hu @@ -1,4 +1,5 @@ a 0 904 1320 2700 896 1340 2660 +e 0 456 1980 2540 440 1980 2540 i 0 312 2300 2820 304 2300 2820 o 0 488 900 2520 488 920 2520 u 0 368 880 2440 368 900 2440 diff --git a/phsource/vowelcharts/hu.png b/phsource/vowelcharts/hu.png index d666a013..38f99673 100644 Binary files a/phsource/vowelcharts/hu.png and b/phsource/vowelcharts/hu.png differ diff --git a/phsource/vowelcharts/ka b/phsource/vowelcharts/ka index 239856ca..962901ce 100644 --- a/phsource/vowelcharts/ka +++ b/phsource/vowelcharts/ka @@ -1,6 +1,7 @@ @ 0 525 1441 2340 525 1441 2340 @- 0 525 1441 2340 525 1441 2340 a 0 728 1300 2595 736 1300 2595 +e 1 584 1820 2560 584 1820 2560 e 0 647 1778 2530 647 1778 2530 i 0 280 2280 2840 240 2339 2840 o 0 512 860 2648 512 860 2648 diff --git a/phsource/vowelcharts/ka.png b/phsource/vowelcharts/ka.png index 94e6ae49..783efda7 100644 Binary files a/phsource/vowelcharts/ka.png and b/phsource/vowelcharts/ka.png differ diff --git a/phsource/vowelcharts/kk b/phsource/vowelcharts/kk new file mode 100644 index 00000000..9df236cd --- /dev/null +++ b/phsource/vowelcharts/kk @@ -0,0 +1,13 @@ +a 0 834 1220 2690 834 1220 2690 +e 0 395 2068 2720 515 1595 2460 +i 0 312 2213 2775 256 2360 2820 +o 0 412 760 2680 412 760 2680 +u 0 296 740 2400 296 740 2400 +I 0 448 1660 2528 448 1660 2528 +8 0 520 1160 2440 520 1160 2440 +u# 0 352 1420 2260 320 1120 2235 +U 0 388 940 2420 394 980 2360 +A 0 712 1160 2780 696 1160 2780 +& 0 645 1705 2520 645 1705 2520 +E 0 512 1620 2560 512 1620 2560 +Y 0 400 1370 2300 439 1280 2369 diff --git a/phsource/vowelcharts/kk.png b/phsource/vowelcharts/kk.png new file mode 100644 index 00000000..2cef486b Binary files /dev/null and b/phsource/vowelcharts/kk.png differ diff --git a/phsource/vowelcharts/ml b/phsource/vowelcharts/ml index 597cd0de..0f3d2969 100644 --- a/phsource/vowelcharts/ml +++ b/phsource/vowelcharts/ml @@ -16,4 +16,3 @@ o: 0 454 812 2559 432 824 2520 u: 0 320 860 2360 320 860 2460 aI 0 912 1320 2740 360 2200 2820 aU 0 724 1130 2760 472 780 2500 -y 0 496 1312 2408 496 1312 2408 diff --git a/phsource/vowelcharts/ml.png b/phsource/vowelcharts/ml.png index bf692148..5238864e 100644 Binary files a/phsource/vowelcharts/ml.png and b/phsource/vowelcharts/ml.png differ diff --git a/phsource/vowelcharts/mt b/phsource/vowelcharts/mt new file mode 100644 index 00000000..2a426993 --- /dev/null +++ b/phsource/vowelcharts/mt @@ -0,0 +1,26 @@ +@ 0 525 1441 2340 525 1441 2340 +a 0 712 1160 2780 696 1160 2780 +e 0 504 1900 2544 496 1920 2552 +i 0 744 1540 2500 328 2280 2720 +o 0 512 860 2648 512 860 2648 +u 0 320 740 2400 320 740 2400 +I 0 408 1940 2600 408 1940 2600 +Y 0 448 1520 2420 463 1520 2400 +U 0 368 800 2660 368 800 2660 +y 0 280 1720 2340 280 1720 2340 +ai 0 688 1064 2806 312 2300 2820 +oi 0 545 780 2720 310 2002 2500 +ei 0 547 1855 2536 320 2300 2740 +Yi 0 448 1520 2420 355 2222 2720 +ui 0 320 740 2400 272 2247 3100 +yi 0 280 1720 2320 296 2280 2780 +au 0 688 1060 2580 368 900 2540 +ou 0 516 860 2648 312 860 2360 +eu 0 460 1929 2512 327 947 2367 +iu 0 296 2180 2820 320 920 2360 +ey 0 547 1855 2536 280 1720 2340 +Yy 0 448 1520 2420 280 1720 2340 +iy 0 280 2280 2820 280 1720 2340 +uo 0 344 896 2375 494 864 2468 +ie 0 280 2280 2820 728 1562 2520 +yY 0 280 1720 2340 448 1520 2420 diff --git a/phsource/vowelcharts/mt.png b/phsource/vowelcharts/mt.png new file mode 100644 index 00000000..cfc399a5 Binary files /dev/null and b/phsource/vowelcharts/mt.png differ diff --git a/phsource/vowelcharts/ne b/phsource/vowelcharts/ne index 257f2e58..28db33a4 100644 --- a/phsource/vowelcharts/ne +++ b/phsource/vowelcharts/ne @@ -5,12 +5,10 @@ e 0 456 1980 2540 440 1980 2540 i 0 280 2280 2840 240 2339 2840 o 0 488 900 2520 488 920 2520 u 0 320 740 2400 320 740 2400 -@/ 1 584 1440 2460 600 1440 2460 -@/ 0 544 1220 2520 544 1260 2520 V 1 584 1440 2460 600 1440 2460 V 0 544 1220 2520 544 1260 2520 -@2 0 584 1440 2460 600 1440 2460 @3 0 528 1500 2380 528 1500 2380 +@2 0 584 1440 2460 600 1440 2460 I 0 360 2120 2680 360 2120 2660 E 0 584 1820 2560 584 1820 2560 o: 0 424 800 2580 408 780 2600 @@ -25,6 +23,8 @@ o~ 0 448 840 2598 448 840 2598 u~ 0 328 900 2360 328 900 2360 aI 0 752 1140 2820 424 2000 2500 aU 0 724 1130 2760 472 780 2500 +@/ 1 584 1440 2460 600 1440 2460 +@/ 0 544 1220 2520 544 1260 2520 eI 0 680 1800 2440 355 2222 2720 eU 0 460 1929 2512 327 947 2367 VI 0 605 1232 2620 400 2222 2720 diff --git a/phsource/vowelcharts/ne.png b/phsource/vowelcharts/ne.png index 96f6e1a9..b9d47547 100644 Binary files a/phsource/vowelcharts/ne.png and b/phsource/vowelcharts/ne.png differ diff --git a/phsource/vowelcharts/nl b/phsource/vowelcharts/nl index 9da6a061..dfb96322 100644 --- a/phsource/vowelcharts/nl +++ b/phsource/vowelcharts/nl @@ -1,6 +1,6 @@ @ 0 496 1500 2420 496 1500 2420 @- 0 525 1441 2340 525 1441 2340 -a 0 904 1320 2700 896 1340 2660 +a 0 896 1440 2710 896 1440 2710 e 0 456 1980 2540 440 1980 2540 i 0 280 2255 3030 264 2255 3030 o 0 552 860 2660 552 880 2660 @@ -16,7 +16,7 @@ a: 1 728 1300 2595 736 1300 2595 a: 1 800 1320 2637 800 1320 2637 a: 0 904 1320 2700 896 1340 2660 A 1 728 1300 2595 736 1300 2595 -A 0 762 1120 2840 762 1120 2840 +A 0 728 1200 2660 712 1200 2660 A~ 0 624 960 2880 624 960 2880 O~ 0 540 896 2632 512 900 2620 e: 0 464 1980 2520 328 2280 2720 diff --git a/phsource/vowelcharts/nl.png b/phsource/vowelcharts/nl.png index 8b4dc341..73a8f052 100644 Binary files a/phsource/vowelcharts/nl.png and b/phsource/vowelcharts/nl.png differ diff --git a/phsource/vowelcharts/pt-pt b/phsource/vowelcharts/pt-pt index cff17dec..4b715e33 100644 --- a/phsource/vowelcharts/pt-pt +++ b/phsource/vowelcharts/pt-pt @@ -21,7 +21,7 @@ o~ 0 448 840 2598 448 840 2598 u~ 0 328 900 2360 328 900 2360 &~ 0 670 1719 2556 710 1672 2671 &U~ 0 658 1408 2460 392 520 2580 -& 0 8564 0 8566 8520 0 8522 +& 0 257 -1 257 257 257 257 &/ 0 658 1408 2460 658 1408 2460 A 0 896 1440 2710 896 1440 2710 i/ 0 376 1515 2460 376 1515 2460 diff --git a/phsource/vowelcharts/pt-pt.png b/phsource/vowelcharts/pt-pt.png index 43bb1c59..33fec8ff 100644 Binary files a/phsource/vowelcharts/pt-pt.png and b/phsource/vowelcharts/pt-pt.png differ diff --git a/phsource/vowelcharts/si b/phsource/vowelcharts/si new file mode 100644 index 00000000..446157bd --- /dev/null +++ b/phsource/vowelcharts/si @@ -0,0 +1,16 @@ +@ 0 584 1440 2460 600 1440 2460 +a 0 728 1300 2595 736 1300 2595 +e 0 584 1820 2560 584 1820 2560 +i 0 296 2220 2880 288 2260 2900 +o 0 512 860 2648 512 860 2648 +u 0 320 940 2360 320 900 2360 +i: 0 280 2280 2840 240 2339 2840 +e: 0 504 1900 2544 496 1920 2552 +E 0 584 1820 2560 584 1820 2560 +&: 0 680 1660 2520 680 1660 2520 +a: 0 784 1180 2680 776 1200 2680 +o: 0 512 860 2648 512 860 2648 +u: 0 320 940 2360 320 900 2360 +aI 0 904 1320 2700 304 2360 2980 +aU 0 830 1364 2440 488 900 2240 +& 0 680 1660 2520 680 1660 2520 diff --git a/phsource/vowelcharts/si.png b/phsource/vowelcharts/si.png new file mode 100644 index 00000000..92c56af1 Binary files /dev/null and b/phsource/vowelcharts/si.png differ diff --git a/phsource/vowelcharts/sk b/phsource/vowelcharts/sk index 7f4cc85b..91d004d6 100644 --- a/phsource/vowelcharts/sk +++ b/phsource/vowelcharts/sk @@ -1,4 +1,5 @@ @- 0 525 1441 2340 525 1441 2340 +a 1 856 1320 2700 856 1320 2700 a 0 904 1320 2700 896 1340 2660 e 0 504 1900 2544 496 1920 2552 i 0 360 2120 2680 360 2120 2660 diff --git a/phsource/vowelcharts/sk.png b/phsource/vowelcharts/sk.png index 06407360..152949ec 100644 Binary files a/phsource/vowelcharts/sk.png and b/phsource/vowelcharts/sk.png differ diff --git a/phsource/vowelcharts/sq b/phsource/vowelcharts/sq index aca22bdc..9bdb9b77 100644 --- a/phsource/vowelcharts/sq +++ b/phsource/vowelcharts/sq @@ -15,7 +15,7 @@ a/ 0 658 1408 2460 658 1408 2460 A 1 658 1408 2460 658 1408 2460 A 0 664 1040 2800 648 1060 2840 E 0 592 1700 2505 592 1700 2505 -E# 0 592 1580 2460 592 1580 2460 +E# 0 592 1580 2480 592 1580 2460 I 0 312 2213 2775 312 2213 2775 y 0 280 1720 2340 280 1720 2340 O 1 512 860 2648 512 860 2648 diff --git a/phsource/vowelcharts/sq.png b/phsource/vowelcharts/sq.png index 418b40da..6005a776 100644 Binary files a/phsource/vowelcharts/sq.png and b/phsource/vowelcharts/sq.png differ diff --git a/phsource/vowelcharts/tn b/phsource/vowelcharts/tn index 9fc9e8d0..9e3cd7ba 100644 --- a/phsource/vowelcharts/tn +++ b/phsource/vowelcharts/tn @@ -2,7 +2,7 @@ @ 0 536 1420 2420 536 1420 2420 @- 0 525 1441 2340 525 1441 2340 a 0 834 1220 2690 834 1220 2690 -e 0 592 1580 2460 592 1580 2460 +e 0 592 1580 2480 592 1580 2460 i 0 384 2030 2610 384 2030 2610 o 0 630 920 2627 616 940 2627 u 0 360 860 2360 360 860 2360 diff --git a/phsource/vowelcharts/tn.png b/phsource/vowelcharts/tn.png index e0bb97b8..ccef0e5b 100644 Binary files a/phsource/vowelcharts/tn.png and b/phsource/vowelcharts/tn.png differ diff --git a/phsource/vowelcharts/tr b/phsource/vowelcharts/tr index da8289e7..ff59d736 100644 --- a/phsource/vowelcharts/tr +++ b/phsource/vowelcharts/tr @@ -8,5 +8,5 @@ O 0 552 860 2660 552 880 2660 U 0 388 940 2420 394 980 2360 y 0 280 1980 2340 280 1980 2340 Y 0 392 1700 2240 392 1700 2240 -I 0 360 2120 2680 360 2120 2660 +I 0 336 2210 2800 336 2210 2760 W 0 448 1520 2420 463 1520 2400 diff --git a/phsource/vowelcharts/tr.png b/phsource/vowelcharts/tr.png index 8c7bebcf..213f2eec 100644 Binary files a/phsource/vowelcharts/tr.png and b/phsource/vowelcharts/tr.png differ diff --git a/platforms/big_endian/espeak-phoneme-data.c b/platforms/big_endian/espeak-phoneme-data.c index 72a3825e..8d7ca32f 100644 --- a/platforms/big_endian/espeak-phoneme-data.c +++ b/platforms/big_endian/espeak-phoneme-data.c @@ -167,6 +167,7 @@ int main (int argc, char *argv[]) #else printf ("Host seems to be little-endian ..\n"); #endif + printf ("Reading from: %s\n", indir); sprintf (f1, "%s/phondata", indir); sprintf (f2, "%s/temp_1", outdir); @@ -211,6 +212,8 @@ void swap_phondata (const char *infile, const char *outfile, {//========================================================== FILE *in, *mfest, *out; int displ; + int displ_out; + int errorflag_displ = 0; // only report the first displ mismatch error char line[1024]; unsigned char buf_4[4]; @@ -241,6 +244,13 @@ void swap_phondata (const char *infile, const char *outfile, sscanf(&line[2],"%x",&displ); fseek(in, displ, SEEK_SET); + fflush(out); + displ_out = ftell(out); + if((errorflag_displ==0) && (displ != displ_out)) + { + fprintf(stderr, "Length error at the line before: %s", line); + errorflag_displ = 1; + } if (line[0] == 'S') { SPECT_SEQ buf_spect; diff --git a/platforms/big_endian/phondata-manifest b/platforms/big_endian/phondata-manifest index b2f4ef5a..7889d907 100644 --- a/platforms/big_endian/phondata-manifest +++ b/platforms/big_endian/phondata-manifest @@ -413,391 +413,395 @@ S 0x35bb4 vowelr/o_r S 0x35d38 vowel/u# S 0x35e3c vdiph/au# S 0x35f80 vowel/o_3 -S 0x36084 vwl_en/aI@_2 -S 0x36208 vdiph/ai_7 -S 0x3638c vowel/e_2 -S 0x36490 vdiph/0i_2 -S 0x36614 vowelr/i_r -S 0x36758 vdiph2/u#@ -S 0x3689c vwl_en/@L_2 -S 0x369a0 vowel/@_low -S 0x36a64 vowel/& -S 0x36b68 vowel/e_mid -S 0x36c6c vowel/V_3 -S 0x36d70 vowel/o-_3 -S 0x36e74 vwl_en_rp/aa -S 0x36fb8 vowel/3_3 -S 0x370fc vowel/u_6 -S 0x37200 vdiph/au_3 -S 0x37384 vdiph/@u_2 -S 0x374c8 vdiph/ai_6 -S 0x3768c vdiph2/ei_2 -S 0x377d0 vdiph/ooi_3 -S 0x37954 vdiph2/ee@_2 -S 0x37a98 vwl_en_rp/i@ -S 0x37c1c vowel/o_mid -S 0x37d20 vwl_en_rp/aU@ -S 0x37ea4 vowel/ii_6 -S 0x37f68 vdiph2/ei_3 -S 0x380ac vdiph/@u -S 0x381f0 vdiph/Vu_2 -S 0x38374 vdiph/@i_3 -S 0x384b8 vdiph2/i@_2 -S 0x3863c vwl_en/ooi@ -S 0x38800 vowel/@_fnt -S 0x38904 vowel/uu_bck -S 0x38a08 vowel/i_fnt -S 0x38b0c vdiph2/o_oo -S 0x38c50 vdiph/aau_2 -S 0x38d94 vdiph2/ie -S 0x38ed8 vwl_af/r@ -S 0x38f9c vwl_af/@ -S 0x39060 vowel/e_mid2 -S 0x39164 vwl_af/I -S 0x39228 vowel/oo_3 -S 0x392ec vowel/oe -S 0x393b0 vowel/uu_3 -S 0x39474 l/L_eL_af -S 0x39538 vowel/ee_3 -S 0x395fc vowel/aa_3 -S 0x39700 vdiph/i@_2 -S 0x39884 vowel/i_3 -S 0x39988 vdiph2/o@ -S 0x39b0c vowel/y_3 -S 0x39c10 vdiph2/iu_3 -S 0x39dd4 vdiph/Vu -S 0x39f58 vdiph/ai_4 -S 0x3a0dc vdiph/aai_2 -S 0x3a2a0 vdiph/@i_2 -S 0x3a3e4 vdiph/ooi_2 -S 0x3a5a8 vdiph/oi_2 -S 0x3a76c vdiph/ui_2 -S 0x3a8f0 vdiph/y#y_2 -S 0x3aa74 vdiph2/y#@ -S 0x3abb8 vnasal/aa_n3 -S 0x3acfc vnasal/e_n -S 0x3ae00 vnasal/o_n2 -W 0x3af44 ufric/x2 -S 0x3b89c vowel/ee_2 -S 0x3b9a0 vowel/ii_3 -S 0x3baa4 vowel/ii# -S 0x3bba8 vowel/i# -S 0x3bcac vowel/o_2 -S 0x3bdf0 vdiph2/iu_4 -S 0x3bf34 vdiph/ui_3 -S 0x3c0b8 vowel/aa_6 -S 0x3c1fc vowel/i_2 -S 0x3c300 vdiph/aau_6 -S 0x3c484 vdiph/ai_5 -S 0x3c5c8 vowel/e_8 -S 0x3c6cc vowel/yy_4 -S 0x3c7d0 l/l_3 -S 0x3c854 j/_j_short -S 0x3c8d8 r/V_2_ -S 0x3c99c r/@_ -S 0x3ca60 r/V_ -S 0x3cb24 vwl_de/uu_@ -S 0x3cc68 vnasal/aa_n4 -Q 0x3cdac de -S 0x3cdbc vdiph/eei_2 -S 0x3cf00 vowel/i_4 -S 0x3d004 vowel/aa_9 -S 0x3d108 vowel/u_2 -S 0x3d20c vowel/uu_4 -S 0x3d310 vdiph/aai_3 -S 0x3d494 vdiph/&i -S 0x3d5d8 vdiph/y#i -S 0x3d71c vdiph/ui_4 -S 0x3d860 vdiph/yi -S 0x3d9a4 vdiph/aau -S 0x3db28 vdiph/ou -S 0x3dc6c vdiph/eu_2 -S 0x3ddb0 vdiph2/iu_2 -S 0x3df34 vdiph/&y -S 0x3e078 vdiph/eey -S 0x3e1bc vdiph/y#y -S 0x3e300 vdiph2/iy -S 0x3e444 vdiph2/uo -S 0x3e588 vdiph2/y-y# -S 0x3e6cc r3/r_trill_short -W 0x3e7d0 h/hu_fi -S 0x3f0c0 vowel/aa -S 0x3f1c4 vowel/e_7 -S 0x3f2c8 vowel/ee#_2 -S 0x3f3cc vowel/i_8 -S 0x3f4d0 vowel/i_7 -S 0x3f5d4 vowel/i#_7 -S 0x3f6d8 vowel/u_bck2 -S 0x3f7dc vowel/u_bck3 -S 0x3f8e0 vowel/u_5 -S 0x3f9e4 vowel/8_7 -S 0x3fae8 vowel/8_4 -S 0x3fbec vdiph/@i -W 0x3fd30 ufric/s_pal -S 0x40b38 d/xd_pzd -W 0x40bfc x/d_pzd -S 0x41010 vwl_fr/y2r -S 0x41094 vwl_fr/e_2r -S 0x41118 vwl_fr/aa2r -S 0x4119c vwl_fr/ee2r -S 0x41260 vwl_fr/oo2r -S 0x41324 vwl_fr/@2r -S 0x413a8 vwl_fr/a2r -S 0x4142c vwl_fr/e2r -S 0x414b0 vwl_fr/i2r -S 0x41534 vwl_fr/o2r -S 0x415b8 vwl_fr/u2r -S 0x4163c vwl_fr/re2 -S 0x416c0 vwl_fr/r@2 -S 0x41744 vwl_fr/raa -S 0x417c8 vwl_fr/ree -S 0x4184c vwl_fr/ry -S 0x418d0 vwl_fr/rw -S 0x41954 vwl_fr/roo -S 0x419d8 vwl_fr/rj -S 0x41a5c vwl_fr/r@ -S 0x41ae0 vwl_fr/ra -S 0x41b64 vwl_fr/re -S 0x41be8 vwl_fr/ri -S 0x41c6c vwl_fr/ro -S 0x41cf0 vwl_fr/ru -S 0x41d74 vwl_fr/r -S 0x41df8 vwl_fr/trr -S 0x41ebc vwl_fr/rr -S 0x41f40 vwl_fr/r_@ -S 0x41fc4 vwl_fr/r_a -S 0x42048 vwl_fr/r_e -S 0x420cc vwl_fr/r_i -S 0x42150 vwl_fr/r_o -S 0x421d4 vwl_fr/r_u -S 0x42258 vwl_fr/r_y -S 0x422dc vwl_fr/r_n -S 0x423a0 vwl_fr/r_ -S 0x42424 vwl_fr/tr -S 0x42528 vwl_fr/br -S 0x4262c vwl_fr/lo -S 0x426b0 l/l_y -S 0x42734 vowel/@_hgh -S 0x427f8 vowel/a_7 -S 0x428fc vwl_fr/j -S 0x42a00 vowel/o_8 -S 0x42b44 vowel/o_mid2 -S 0x42c48 vwl_fr/wa -S 0x42d0c vnasal/W_n -S 0x42e50 vnasal/o_n4 -S 0x42f94 b/xbr -S 0x43058 b/br -S 0x430dc d/xdr -S 0x431a0 g/xgr -S 0x43264 g/gr -W 0x43328 x/g -S 0x435e8 n/n_long_ -W 0x436ac ustop/t_short_ -Q 0x43938 fr -S 0x439ec vnasal/ee_n -S 0x43b30 vowel/yy -S 0x43c34 vdiph/ae -S 0x43d78 vwl_fr/@R2 -S 0x43e7c vowel/@_bck -S 0x43f80 vowel/i_6 -S 0x44084 vdiph/ee-e -S 0x441c8 vnasal/i_n2 -S 0x442cc vnasal/ii_n -S 0x443d0 vnasal/aa_n -S 0x44514 vnasal/V_n -S 0x44618 vnasal/o_n -S 0x4475c vnasal/u_n -S 0x44860 vdiph/aau_3 -S 0x449e4 d/xd3 -S 0x44aa8 g2/xg -W 0x44b6c ustop/percus02 -S 0x44e9c vowel/a_5 -S 0x44fa0 vowel/ii_5 -S 0x450a4 vowel/u#_3 -S 0x451a8 vdiph/ai_8 -S 0x4532c vowel/a#_2 -S 0x45430 vowel/y#_2 -S 0x45534 vdiph/aai -S 0x456b8 vdiph2/uaa -S 0x4583c vdiph2/ie_2 -W 0x45980 ustop/ts2 -S 0x45e50 vowel/o_6 -S 0x45f54 vowel/a#_4 -S 0x46058 vdiph/y#y_3 -S 0x4615c vdiph/ou_4 -S 0x462a0 vdiph2/yu -S 0x46424 voc/Q_less -W 0x464e8 vocw/Q2 -S 0x46db4 vowel/ee# -S 0x46eb8 vowel/oo_5 -S 0x46fbc vowel/ii#_2 -S 0x470c0 vnasal/ee_u_n -S 0x47244 vnasal/oo_n3 -S 0x473c8 vowel/ee_6 -S 0x4748c vdiph/ou_2 -S 0x475d0 vdiph/eei_3 -W 0x47714 r3/rz_cs -S 0x481c0 voc/zh_2 -S 0x48284 vdiph/oou -W 0x483c8 ufric/sh3 -W 0x48d5c ustop/tsh2 -W 0x49468 ustop/ts_pzd3 -S 0x49ae8 dzh/dzh2 -W 0x49bac ustop/t_sr -S 0x49ee4 d/d_dnt -W 0x49fa8 ufric/ch_sr -W 0x4ab88 ufric/x_sr -W 0x4b408 ufric/sh_pzd2 -W 0x4bf58 ustop/ts_sr -W 0x4c714 ustop/tsh_sr -W 0x4d02c x/g3 -S 0x4d214 vwl_ro/mi -S 0x4d358 vwl_ru/ii- -S 0x4d41c vwl_ru/ii -S 0x4d520 vwl_ru/ii# -S 0x4d5e4 vwl_ru/i# -S 0x4d6e8 vwl_ru/e -S 0x4d7ec vwl_ru/E# -S 0x4d8f0 vwl_ru/E@ -S 0x4d9f4 vwl_ru/o -S 0x4daf8 vwl_ru/oo -S 0x4dbbc vwl_ru/u -S 0x4dcc0 vwl_ru/u# -S 0x4de04 vwl_ru/u#u -S 0x4df48 vwl_ru/8 -S 0x4e00c vwl_ru/ee -S 0x4e150 vwl_ru/ju -S 0x4e254 vwl_ru/ja -S 0x4e3d8 vwl_ru/a -S 0x4e4dc vwl_ru/aa -S 0x4e5e0 r3/r_ru2 -W 0x4e6e4 r3/r_ru -S 0x4e9e8 ll/xll -S 0x4eaac ll/_ll -S 0x4ebb0 ll/ll -S 0x4ec74 vowel/y_2 -S 0x4edb8 vdiph/eeu_2 -S 0x4eefc vowel/a_4 -S 0x4f000 voc/v2 -S 0x4f0c4 vowel/a_6 -S 0x4f1c8 vnasal/i_n -S 0x4f2cc vnasal/a#_n -S 0x4f3d0 vnasal/a#u_n -S 0x4f514 vnasal/oi_n -S 0x4f6d8 vdiph/0i -S 0x4f89c vdiph/eeu -S 0x4f9e0 vowel/i#_5 -S 0x4fae4 vwl_fr/@R -S 0x4fbe8 vwl_ro/li -S 0x4fcec vwl_ro/ni -S 0x4fdf0 vwl_ro/ii- -S 0x4feb4 vowel/o-_4 -S 0x4ffb8 vdiph/@u_3 -S 0x5013c vdiph/ii -S 0x50300 vdiph/i#i -S 0x50444 vdiph2/uw_3 -S 0x50588 vdiph2/ea -S 0x506cc vdiph2/eo -S 0x50850 vdiph2/e_u -S 0x50994 vdiph2/oa -S 0x50ad8 d/tap_i -S 0x50b9c d/tap -W 0x50c60 ustop/t_unasp2 -S 0x50d6c vowel/y_5 -S 0x50eb0 vowel/yy_3 -S 0x50fb4 vowel/u#_2 -S 0x510b8 vowel/oe_4 -S 0x5117c vowel/aa_4 -W 0x51280 ufric/sx_sv -S 0x51ac8 vowel/y_4 -S 0x51bcc vowel/oe_2 -S 0x51cd0 vwl_no/y# -S 0x51dd4 vwl_no/& -S 0x51ed8 vwl_no/u# -S 0x51fdc vwl_no/u#2 -S 0x52120 vdiph/ai_3 -S 0x52264 vwl_no/y#y -S 0x523a8 vwl_no/au- -S 0x5256c vowel/y## -S 0x52670 vowel/y#_3 -S 0x52774 vdiph/ou_3 -S 0x52878 vdiph/y#i_2 -S 0x529bc m/m#_ -S 0x52ac0 n/n#_ -S 0x52bc4 n^/n^#_ -S 0x52cc8 nn/nn#_ -W 0x52dcc ufric/tl# -S 0x53734 r3/r#_ -E 0x537b8 envelope/p_level -E 0x53838 envelope/p_fall -E 0x538b8 envelope/p_rise -E 0x53938 envelope/p_fallrise -E 0x539b8 envelope/p_214 -E 0x53a38 envelope/vi_5amp -E 0x53ab8 envelope/p_512 -E 0x53b38 envelope/vi_6amp -S 0x53bb8 vowel/u_7 -S 0x53cbc vowel/u#_5 -S 0x53dc0 vowel/@_2 -S 0x53ec4 vdiph/&i_3 -S 0x54048 vdiph/u-i -S 0x5418c vdiph/aau_4 -S 0x54310 vdiph2/ii@_3 -S 0x54494 l/l_vi -S 0x54598 vwl_zh/ang -S 0x5479c vwl_zh/aang -S 0x549e0 vdiph/au_2 -S 0x54b64 vwl_zh/eng -S 0x54d68 vwl_zh/ing -S 0x54fac vwl_zh/ng -S 0x550f0 vwl_zh/oeng -S 0x552b4 vwl_zh/ong -S 0x55438 vwl_zh/ung -S 0x555bc vowel/8_3 -E 0x556c0 envelope/i_risefall -S 0x55740 nn/nn2_ -W 0x55804 ustop/k_unasp_ -W 0x55ac0 ustop/tsh_pzd_unasp -W 0x56310 ustop/tsh_pzd -W 0x56e50 ustop/ts_unasp -W 0x576c8 ustop/ts_rfx_unasp -W 0x582b4 ustop/ts_rfx -S 0x58f94 vwl_zh/a_n -S 0x59098 vwl_zh/aau -S 0x591dc vowel/i#_6 -S 0x592e0 vwl_zh/iaa -S 0x59424 vwl_zh/iaau -S 0x595a8 vwl_zh/ie -S 0x596ec vdiph2/iioo -S 0x59830 vwl_zh/iou -S 0x599b4 vowel/8 -S 0x59ab8 vwl_zh/uaa -S 0x59bfc vwl_zh/uai -S 0x59d80 vwl_zh/uei -S 0x59f04 vwl_zh/uo -S 0x5a088 vwl_zh/y& -S 0x5a1cc vwl_zh/yee -S 0x5a310 vdiph2/y@ -S 0x5a454 vowel/u#_7 -S 0x5a558 vowel/8_5 -S 0x5a65c vowel/o_7 -S 0x5a760 vowel/uu# -S 0x5a864 vowel/8_6 -S 0x5a968 vowel/ee_4 -S 0x5aa6c vdiph2/ye -S 0x5abb0 l/l_front_ -S 0x5acf4 l/l_front -S 0x5adf8 l/l_4 -S 0x5aebc vowel/o_5 -S 0x5afc0 r/a_ -S 0x5b084 r/aa -W 0x5b148 ustop/k_asp2 -E 0x5b914 envelope/i_risefall2 -S 0x5b994 vdiph/Vi -W 0x5bb18 ufric/tlh -S 0x5d034 vowel/e_6 -W 0x5d138 ustop/tsh_unasp -W 0x5d5f8 ustop/k_ejc -S 0x5dda8 vwl_tn/r@ -S 0x5de6c vwl_tn/@ -S 0x5df30 vwl_tn/I +S 0x360c4 vwl_en/aI@_2 +S 0x36248 vdiph/ai_7 +S 0x363cc vowel/e_2 +S 0x364d0 vdiph/0i_2 +S 0x36654 vowelr/i_r +S 0x36798 vdiph2/u#@ +S 0x368dc vwl_en/@L_2 +S 0x369e0 vowel/@_low +S 0x36aa4 vowel/& +S 0x36ba8 vowel/e_mid +S 0x36cac vowel/V_3 +S 0x36db0 vowel/o-_3 +S 0x36eb4 vwl_en_rp/aa +S 0x36ff8 vowel/3_3 +S 0x3713c vowel/u_6 +S 0x37240 vdiph/au_3 +S 0x373c4 vdiph/@u_2 +S 0x37508 vdiph/ai_6 +S 0x376cc vdiph2/ei_2 +S 0x37810 vdiph/ooi_3 +S 0x37994 vdiph2/ee@_2 +S 0x37ad8 vwl_en_rp/i@ +S 0x37c5c vowel/o_mid +S 0x37d60 vwl_en_rp/aU@ +S 0x37ee4 vowel/ii_6 +S 0x37fa8 vdiph2/ei_3 +S 0x380ec vdiph/@u +S 0x38230 vdiph/Vu_2 +S 0x383b4 vdiph/@i_3 +S 0x384f8 vdiph2/i@_2 +S 0x3867c vwl_en/ooi@ +S 0x38840 vowel/@_fnt +S 0x38944 vowel/uu_bck +S 0x38a48 vowel/i_fnt +S 0x38b4c vdiph2/o_oo +S 0x38c90 vdiph/aau_2 +S 0x38dd4 vdiph2/ie +S 0x38f18 vwl_af/r@ +S 0x38fdc vwl_af/@ +S 0x390a0 vowel/e_mid2 +S 0x391a4 vwl_af/I +S 0x39268 vowel/oo_3 +S 0x3932c vowel/oe +S 0x393f0 vowel/uu_3 +S 0x394b4 l/L_eL_af +S 0x39578 vowel/ee_3 +S 0x3963c vowel/aa_3 +S 0x39740 vdiph/i@_2 +S 0x398c4 vowel/i_3 +S 0x399c8 vdiph2/o@ +S 0x39b4c vowel/y_3 +S 0x39c50 vdiph2/iu_3 +S 0x39e14 vdiph/Vu +S 0x39f98 vdiph/ai_4 +S 0x3a11c vdiph/aai_2 +S 0x3a2e0 vdiph/@i_2 +S 0x3a424 vdiph/ooi_2 +S 0x3a5e8 vdiph/oi_2 +S 0x3a7ac vdiph/ui_2 +S 0x3a930 vdiph/y#y_2 +S 0x3aab4 vdiph2/y#@ +S 0x3abf8 vnasal/aa_n3 +S 0x3ad3c vnasal/e_n +S 0x3ae40 vnasal/o_n2 +W 0x3af84 ufric/x2 +S 0x3b8dc vowel/ee_2 +S 0x3b9e0 vowel/ii_3 +S 0x3bae4 vowel/ii# +S 0x3bbe8 vowel/i# +S 0x3bcec vowel/o_2 +S 0x3be30 vdiph2/iu_4 +S 0x3bf74 vdiph/ui_3 +S 0x3c0f8 vowel/aa_6 +S 0x3c23c vowel/i_2 +S 0x3c340 vdiph/aau_6 +S 0x3c4c4 vdiph/ai_5 +S 0x3c608 vowel/e_8 +S 0x3c70c vowel/yy_4 +S 0x3c810 l/l_3 +S 0x3c894 j/_j_short +S 0x3c918 r/V_2_ +S 0x3c9dc r/@_ +S 0x3caa0 r/V_ +S 0x3cb64 vwl_de/uu_@ +S 0x3cca8 vnasal/aa_n4 +Q 0x3cdec de +S 0x3cdfc vdiph/eei_2 +S 0x3cf40 vowel/i_4 +S 0x3d044 vowel/aa_9 +S 0x3d148 vowel/u_2 +S 0x3d24c vowel/uu_4 +S 0x3d350 vdiph/aai_3 +S 0x3d4d4 vdiph/&i +S 0x3d618 vdiph/y#i +S 0x3d75c vdiph/ui_4 +S 0x3d8a0 vdiph/yi +S 0x3d9e4 vdiph/aau +S 0x3db68 vdiph/ou +S 0x3dcac vdiph/eu_2 +S 0x3ddf0 vdiph2/iu_2 +S 0x3df74 vdiph/&y +S 0x3e0b8 vdiph/eey +S 0x3e1fc vdiph/y#y +S 0x3e340 vdiph2/iy +S 0x3e484 vdiph2/uo +S 0x3e5c8 vdiph2/y-y# +S 0x3e70c r3/r_trill_short +W 0x3e810 h/hu_fi +S 0x3f100 vowel/aa +S 0x3f204 vowel/e_7 +S 0x3f308 vowel/ee#_2 +S 0x3f40c vowel/i_8 +S 0x3f510 vowel/i_7 +S 0x3f614 vowel/i#_7 +S 0x3f718 vowel/u_bck2 +S 0x3f81c vowel/u_bck3 +S 0x3f920 vowel/u_5 +S 0x3fa24 vowel/8_7 +S 0x3fb28 vowel/8_4 +S 0x3fc2c vdiph/@i +W 0x3fd70 ufric/s_pal +S 0x40624 d/xd_pzd +W 0x406e8 x/d_pzd +S 0x40afc vwl_fr/y2r +S 0x40b80 vwl_fr/e_2r +S 0x40c04 vwl_fr/aa2r +S 0x40c88 vwl_fr/ee2r +S 0x40d4c vwl_fr/oo2r +S 0x40e10 vwl_fr/@2r +S 0x40e94 vwl_fr/a2r +S 0x40f18 vwl_fr/e2r +S 0x40f9c vwl_fr/i2r +S 0x41020 vwl_fr/o2r +S 0x410a4 vwl_fr/u2r +S 0x41128 vwl_fr/re2 +S 0x411ac vwl_fr/r@2 +S 0x41230 vwl_fr/raa +S 0x412b4 vwl_fr/ree +S 0x41338 vwl_fr/ry +S 0x413bc vwl_fr/rw +S 0x41440 vwl_fr/roo +S 0x414c4 vwl_fr/rj +S 0x41548 vwl_fr/r@ +S 0x415cc vwl_fr/ra +S 0x41650 vwl_fr/re +S 0x416d4 vwl_fr/ri +S 0x41758 vwl_fr/ro +S 0x417dc vwl_fr/ru +S 0x41860 vwl_fr/r +S 0x418e4 vwl_fr/trr +S 0x419a8 vwl_fr/rr +S 0x41a2c vwl_fr/r_@ +S 0x41ab0 vwl_fr/r_a +S 0x41b34 vwl_fr/r_e +S 0x41bb8 vwl_fr/r_i +S 0x41c3c vwl_fr/r_o +S 0x41cc0 vwl_fr/r_u +S 0x41d44 vwl_fr/r_y +S 0x41dc8 vwl_fr/r_n +S 0x41e8c vwl_fr/r_ +S 0x41f10 vwl_fr/tr +S 0x42014 vwl_fr/br +S 0x42118 vwl_fr/lo +S 0x4219c l/l_y +S 0x42220 vowel/@_hgh +S 0x422e4 vowel/a_7 +S 0x423e8 vwl_fr/j +S 0x424ec vowel/o_8 +S 0x42630 vowel/o_mid2 +S 0x42734 vwl_fr/wa +S 0x427f8 vnasal/W_n +S 0x4293c vnasal/o_n4 +S 0x42a80 b/xbr +S 0x42b44 b/br +S 0x42bc8 d/xdr +S 0x42c8c g/xgr +S 0x42d50 g/gr +W 0x42e14 x/g +S 0x430d4 n/n_long_ +W 0x43198 ustop/t_short_ +Q 0x43424 fr +S 0x434d8 vnasal/ee_n +S 0x4361c vowel/yy +S 0x43720 vdiph/ae +S 0x43864 vwl_fr/@R2 +S 0x43968 vowel/@_bck +S 0x43a6c vowel/i_6 +S 0x43b70 vdiph/ee-e +S 0x43cb4 vnasal/i_n2 +S 0x43db8 vnasal/ii_n +S 0x43ebc vnasal/aa_n +S 0x44000 vnasal/V_n +S 0x44104 vnasal/o_n +S 0x44248 vnasal/u_n +S 0x4434c vdiph/aau_3 +S 0x444d0 d/xd3 +S 0x44594 g2/xg +W 0x44658 ustop/percus02 +S 0x44988 vowel/a_5 +S 0x44a8c vowel/ii_5 +S 0x44b90 vowel/u#_3 +S 0x44c94 vdiph/ai_8 +S 0x44e18 vowel/a#_2 +S 0x44f1c vowel/y#_2 +S 0x45020 vdiph/aai +S 0x451a4 vdiph2/uaa +S 0x45328 vdiph2/ie_2 +W 0x4546c ustop/ts2 +S 0x4593c vowel/o_6 +S 0x45a40 vowel/a#_4 +S 0x45b44 vdiph/y#y_3 +S 0x45c48 vdiph/ou_4 +S 0x45d8c vdiph2/yu +S 0x45f10 voc/Q_less +W 0x45fd4 vocw/Q2 +S 0x468a0 vowel/ee# +S 0x469a4 vowel/oo_5 +S 0x46aa8 vowel/ii#_2 +S 0x46bac vnasal/ee_u_n +S 0x46d30 vnasal/oo_n3 +S 0x46eb4 vowel/ee_6 +S 0x46f78 vdiph/ou_2 +S 0x470bc vdiph/eei_3 +W 0x47200 r3/rz_cs +S 0x47cac voc/zh_2 +S 0x47d70 vdiph/oou +W 0x47eb4 ufric/sh3 +W 0x48848 ustop/tsh2 +W 0x48f54 ustop/ts_pzd3 +S 0x495d4 dzh/dzh2 +W 0x49698 ustop/t_sr +S 0x499d0 d/d_dnt +W 0x49a94 ufric/ch_sr +W 0x4a674 ufric/x_sr +W 0x4aef4 ufric/sh_pzd2 +W 0x4ba44 ustop/ts_sr +W 0x4c200 ustop/tsh_sr +W 0x4cb18 x/g3 +S 0x4cd00 vwl_ro/mi +S 0x4ce44 vwl_ru/ii- +S 0x4cf08 vwl_ru/ii +S 0x4d00c vwl_ru/ii# +S 0x4d0d0 vwl_ru/i# +S 0x4d1d4 vwl_ru/e +S 0x4d2d8 vwl_ru/E# +S 0x4d3dc vwl_ru/E@ +S 0x4d4e0 vwl_ru/o +S 0x4d5e4 vwl_ru/oo +S 0x4d6a8 vwl_ru/u +S 0x4d7ac vwl_ru/u# +S 0x4d8f0 vwl_ru/u#u +S 0x4da34 vwl_ru/8 +S 0x4daf8 vwl_ru/ee +S 0x4dc3c vwl_ru/ju +S 0x4dd40 vwl_ru/ja +S 0x4dec4 vwl_ru/a +S 0x4dfc8 vwl_ru/aa +S 0x4e0cc r3/r_ru2 +W 0x4e1d0 r3/r_ru +S 0x4e4d4 ll/xll +S 0x4e598 ll/_ll +S 0x4e69c ll/ll +S 0x4e760 vowel/y_2 +S 0x4e8a4 vdiph/eeu_2 +S 0x4e9e8 vowel/a_4 +S 0x4eaec voc/v2 +S 0x4ebb0 vowel/a_6 +S 0x4ecb4 vnasal/i_n +S 0x4edb8 vnasal/a#_n +S 0x4eebc vnasal/a#u_n +S 0x4f000 vnasal/oi_n +S 0x4f1c4 vdiph/0i +S 0x4f388 vdiph/eeu +S 0x4f4cc vowel/i#_5 +S 0x4f5d0 vwl_fr/@R +S 0x4f6d4 vwl_ro/li +S 0x4f7d8 vwl_ro/ni +S 0x4f8dc vwl_ro/ii- +S 0x4f9a0 vowel/o-_4 +S 0x4faa4 vdiph/@u_3 +S 0x4fc28 vdiph/ii +S 0x4fdec vdiph/i#i +S 0x4ff30 vdiph2/uw_3 +S 0x50074 vdiph2/ea +S 0x501b8 vdiph2/eo +S 0x5033c vdiph2/e_u +S 0x50480 vdiph2/oa +S 0x505c4 d/tap_i +S 0x50688 d/tap +W 0x5074c ustop/t_unasp2 +S 0x50858 vowel/y_5 +S 0x5099c vowel/yy_3 +S 0x50aa0 vowel/u#_2 +S 0x50ba4 vowel/oe_4 +S 0x50c68 vowel/aa_4 +W 0x50d6c ufric/sx_sv +S 0x515b4 vowel/y_4 +S 0x516b8 vowel/oe_2 +S 0x517bc vwl_no/y# +S 0x518c0 vwl_no/& +S 0x519c4 vwl_no/u# +S 0x51ac8 vwl_no/u#2 +S 0x51c0c vdiph/ai_3 +S 0x51d50 vwl_no/y#y +S 0x51e94 vwl_no/au- +S 0x52058 vowel/y## +S 0x5215c vowel/y#_3 +S 0x52260 vdiph/ou_3 +S 0x52364 vdiph/y#i_2 +S 0x524a8 m/m#_ +S 0x525ac n/n#_ +S 0x526b0 n^/n^#_ +S 0x527b4 nn/nn#_ +W 0x528b8 ufric/tl# +S 0x53220 r3/r#_ +E 0x532a4 envelope/p_level +E 0x53324 envelope/p_fall +E 0x533a4 envelope/p_rise +E 0x53424 envelope/p_fallrise +E 0x534a4 envelope/p_214 +E 0x53524 envelope/vi_5amp +E 0x535a4 envelope/p_512 +E 0x53624 envelope/vi_6amp +S 0x536a4 vowel/u_7 +S 0x537a8 vowel/u#_5 +S 0x538ac vowel/@_2 +S 0x539b0 vdiph/&i_3 +S 0x53b34 vdiph/u-i +S 0x53c78 vdiph/aau_4 +S 0x53dfc vdiph2/ii@_3 +S 0x53f80 l/l_vi +S 0x54084 vwl_zh/ang +S 0x54288 vwl_zh/aang +S 0x544cc vdiph/au_2 +S 0x54650 vwl_zh/eng +S 0x54854 vwl_zh/ing +S 0x54a98 vwl_zh/ng +S 0x54bdc vwl_zh/oeng +S 0x54da0 vwl_zh/ong +S 0x54f24 vwl_zh/ung +S 0x550a8 vowel/8_3 +E 0x551ac envelope/i_risefall +S 0x5522c nn/nn2_ +W 0x552f0 ustop/k_unasp_ +W 0x555ac ustop/tsh_pzd_unasp +W 0x55dfc ustop/tsh_pzd +W 0x5693c ustop/ts_unasp +W 0x571b4 ustop/ts_rfx_unasp +W 0x57da0 ustop/ts_rfx +S 0x58a80 vwl_zh/a_n +S 0x58b84 vwl_zh/aau +S 0x58cc8 vowel/i#_6 +S 0x58dcc vwl_zh/iaa +S 0x58f10 vwl_zh/iaau +S 0x59094 vwl_zh/ie +S 0x591d8 vdiph2/iioo +S 0x5931c vwl_zh/iou +S 0x594a0 vowel/8 +S 0x595a4 vwl_zh/uaa +S 0x596e8 vwl_zh/uai +S 0x5986c vwl_zh/uei +S 0x599f0 vwl_zh/uo +S 0x59b74 vwl_zh/y& +S 0x59cb8 vwl_zh/yee +S 0x59dfc vdiph2/y@ +S 0x59f40 vowel/u#_7 +S 0x5a044 vowel/8_5 +S 0x5a148 vowel/o_7 +S 0x5a24c vowel/uu# +S 0x5a350 vowel/8_6 +S 0x5a454 vowel/ee_4 +S 0x5a558 vdiph2/ye +S 0x5a69c l/l_front_ +S 0x5a7e0 l/l_front +S 0x5a8e4 l/l_4 +S 0x5a9a8 vowel/o_5 +S 0x5aaac r/a_ +S 0x5ab70 r/aa +W 0x5ac34 ustop/k_asp2 +E 0x5b400 envelope/i_risefall2 +S 0x5b480 vdiph/Vi +W 0x5b604 ufric/tlh +S 0x5cb20 vowel/e_6 +W 0x5cc24 ustop/tsh_unasp +W 0x5d0e4 ustop/k_ejc +S 0x5d894 vwl_tn/r@ +S 0x5d958 vwl_tn/@ +S 0x5da1c vwl_tn/I +S 0x5dae0 vdiph2/uw_6 +S 0x5dc24 vdiph2/ii@_2 +S 0x5dda8 vowel/ii_8 +S 0x5deac vowel/y#_4 diff --git a/platforms/windows/make_espeak.iss b/platforms/windows/make_espeak.iss index 3494b461..8d571341 100644 --- a/platforms/windows/make_espeak.iss +++ b/platforms/windows/make_espeak.iss @@ -2,7 +2,7 @@ [Setup] AppName=eSpeak -AppVerName=eSpeak version 1.46.01 +AppVerName=eSpeak version 1.46.02 AppCopyright=Licensed under GNU General Public License version 3. (See file License.txt for details). WindowVisible=yes @@ -116,9 +116,9 @@ begin Result := 'en'; // Translation from microsoft codes to language codes - // Used to set default voices for inatallation. + // Used to set default voices for installation. case lang_main of - //$02: Result := 'bg'; + $02: Result := 'bg'; $03: Result := 'ca'; $04: Result := 'zh'; $05: Result := 'cs'; @@ -155,9 +155,11 @@ begin $36: Result := 'af'; $39: Result := 'hi'; //$3a: Result := 'mt'; + //$3f: Result := 'kk'; $41: Result := 'sw'; $49: Result := 'ta'; $4b: Result := 'kn'; + $4c: Result := 'ml'; //$50: Result := 'mn'; $52: Result := 'cy'; //$5e: Result := 'am'; @@ -226,6 +228,7 @@ begin 'is': value := $40f; 'it': value := $410; 'ka': value := $437; + 'kk': value := $43f; 'kn': value := $44b; 'ko': value := $412; 'lv': value := $426; diff --git a/platforms/windows/make_espeakedit.iss b/platforms/windows/make_espeakedit.iss index 19d31f59..de906cce 100644 --- a/platforms/windows/make_espeakedit.iss +++ b/platforms/windows/make_espeakedit.iss @@ -1,7 +1,7 @@ [Setup] AppName=eSpeakEdit -AppVerName=eSpeakEdit version 1.46.01 +AppVerName=eSpeakEdit version 1.46.02 DefaultDirName={pf}\eSpeak DefaultGroupName=eSpeak OutputBaseFilename=setup_espeakedit diff --git a/praat-mod/Praat_notes b/praat-mod/Praat_notes new file mode 100644 index 00000000..f9e69dbe --- /dev/null +++ b/praat-mod/Praat_notes @@ -0,0 +1,60 @@ + +This is a version of Praat which has an extra function added: Sound_to_Espeak(), +which produces a file: spectrum.dat which can be loaded by espeakedit. + +Praat source is available from http://www.praat.org/ +Use praat version 5.1.20 or later. + +Packages Needed: + +Package: "libmotif3" to run praat, and package: "libmotif-dev" to compile praat. +(or alternatively packages "lesstif2" and "lesstif2-dev", but Pratt's user interface +doesn't work correctly with these). + +install packages: libxt-dev, x11proto-print-dev, libasound-dev + + + +Modifications to add "Sound_to_Espeak" function and button. +This analyses speech WAV data and produces a file: "spectrum.dat" +which can be loaded in espeakedit to show a sequence of time-slice +spectra. + + + +1. Copy the file: "Sound_JSD.c" into the directory "fon". + + +2. In the file "fon/Makefile", add to the list of OBJECTS: Sound_JSD.o + + +3. Edit the file: fon/praat_Sound_Init.c, + +after + FORM (Sound_to_Spectrogram.... + ... + END +add + +FORM (Sound_to_Espeak, L"From Sound to Spectrogram", L"Sound: To Espeak...") + POSITIVE (L"Minimum pitch (Hz)", L"75") + POSITIVE (L"Maximum pitch (Hz)", L"300") + POSITIVE (L"Maximum frequency (Hz)", L"9500") + POSITIVE (L"Frequency step (Hz)", L"40") + POSITIVE (L"Maximum formant (Hz)", L"5000") + REAL (L"Adjust (min freq)", L"2500") + OK +DO + EVERY_TO (Sound_to_Espeak (OBJECT, GET_REAL (L"Minimum pitch"), GET_REAL (L"Maximum pitch"), + GET_REAL (L"Maximum frequency"), + GET_REAL (L"Frequency step"), + GET_REAL (L"Maximum formant"), + GET_REAL (L"Adjust"))) +END + + +after + praat_addAction1 (classSound, 0, L"To Spectrogram...", 0, 1, DO_Sound_to_Spectrogram); +add + praat_addAction1 (classSound, 0, L"To eSpeak...", 0, 1, DO_Sound_to_Espeak); + diff --git a/praat-mod/Sound_JSD.c b/praat-mod/Sound_JSD.c new file mode 100644 index 00000000..6421036b --- /dev/null +++ b/praat-mod/Sound_JSD.c @@ -0,0 +1,208 @@ +/* Sound_JSD.c + * A modification to praat (www.praat.org) + * to analyse a speech sample to produce a data file "spectrum.dat" which can + * be loaded into my espeakedit program to show a sequence of time-slice spectra. + * + * Copyright (C) 2005 Jonathan Duddington + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + + +#include "Sound_to_PointProcess.h" // JSD +#include "Sound_to_Pitch.h" +#include "Pitch_to_PointProcess.h" +#include "Formant.h" +#include "Sound_to_Formant.h" + +#include "Sound_and_Spectrogram.h" +#include "NUM2.h" + +Spectrogram Sound_to_Espeak (Sound me, double fmin, double fmax, double maxfreq, double minFreqStep1, double maxformant, double phase) +// Added by JSD - testing +{ + long pt; + long i, j; + long n_samples, leftSample, rightSample; + int rept; + int count; + int best; + int start, end; + FILE *fout; + int ny=1; + double cyclen; + double f0; + double value; + double bandw; + double time; + double timenext; + double total; + double max; + double average; + Spectrogram thee = NULL; + Spectrogram spect = NULL; + Sound sound = NULL; + PointProcess points = NULL; + Formant formants = NULL; + + Pitch pitch = Sound_to_Pitch (me, 0.8 / fmin, fmin, fmax); + if (! pitch) goto error; + + if (! (points = Sound_Pitch_to_PointProcess_cc (me, pitch))) goto error; + + formants = Sound_to_Formant_burg (me, 0.00625, 5, maxformant, 0.025, 50); + + + // make temporary sound object, 0.1 sec, for doing analysis on + sound = Sound_create(1, 0.0, 0.1, 0.1/my dx, my dx, my dx/2); + + fout = fopen("spectrum.dat","w"); + if(fout != NULL) + { + fprintf(fout,"%d\n",points->nt-1); // num of frames + } + + // analyse each interval in the pitch point process + for(pt=1; pt < points->nt; pt++) + { + time = points->t[pt]; + if(pt < points->nt-1) + timenext = points->t[pt+1]; + else + timenext = time + cyclen; // end of pitch points, reuse last length + + leftSample = Sampled_xToLowIndex (me, time); + rightSample = Sampled_xToLowIndex (me, timenext); + n_samples = rightSample - leftSample; + cyclen = timenext - time; + + // make sequential copies of the cycle + j=1; + for(rept=0; rept<5; rept++) + { + for(i=1; i<=n_samples && j<=sound->nx; i++) + { + sound->z[1][j++] = me->z[1][i+leftSample]; + } + } + + if(spect != NULL) forget (spect); + + spect = Sound_to_Spectrogram(sound,cyclen,maxfreq,cyclen/16, + minFreqStep1,kSound_to_Spectrogram_windowShape_GAUSSIAN, + 8.0,8.0); + + if(thee == NULL) + { + ny = spect->ny; + thee = Spectrogram_create(1,points->nt-1,points->nt-1,1,0.5, + 0.0,maxfreq,ny+1,spect->dy, + 0.5*spect->dy); + } + + f0 = Pitch_getValueAtTime(pitch,time,0,1); + while(f0==NUMundefined && ptnt-1) + { + f0 = Pitch_getValueAtTime(pitch,points->t[pt+1],0,1); // ???? + pt++; + } + + // extract spectrum from spectrogram + if(fout != NULL) + { + if(spect == NULL) break; + + fprintf(fout,"%f %.2f %d %.2f\n", + time,f0,spect->ny,spect->dy); + + for(count=1; count<=5; count++) + { + value = 0; + if(formants != NULL) + { + value = + Formant_getValueAtTime(formants,count,time,0); + if(value == NUMundefined) + value = 0.0; + + bandw =Formant_getBandwidthAtTime(formants,count,time,0); + if(bandw == NUMundefined) + bandw = 0.0; + } + fprintf(fout,"%.1f %.1f ",value,bandw); + } + fputc('\n',fout); + + // find the 'best' looking slice - largest standard deviation + max = 0.0; + best = 24; + start = 1; + if(spect->dy > 0) + start = (int)(phase / spect->dy) + 1; // only use higher freq than 'phase' +// end = spect->ny; + end = (int)(maxformant/spect->dy)+1; // and lower than 'end' + + for(count=32; count<48; count++) + { + total = 0.0; + for(i=start; i<=end; i++) + total += spect->z[i][count]; + + if(spect->ny <= start) break; + + average = total / (spect->ny + 1 - start); + total = 0.0; + for(i=start; i<=end; i++) + { + value = spect->z[i][count] - average; + total += (value * value); + } + if(total > max) + { + max = total; + best = count; + } + } +//printf("%d: fstart=%d-%d max=%f best=%d\n",pt,start,end,max,best); + for(i=1; i <= spect->ny; i++) + { + value = spect->z[i][best]; + if(value < 0) value = 0; + + fprintf(fout,"%f%c",sqrt(value), + (i % 8)==0?'\n':' '); + } + fprintf(fout,"\n\n"); + } + for(i=1; i <= ny; i++) + { + if(i <= spect->ny) + thee->z[i][pt] = spect->z[i][best]; + else + thee->z[i][pt] = 0; + } + } + if(fout != NULL) fclose(fout); + + forget (spect); + forget (pitch); + forget (points); + forget (sound); + return thee; +error: + forget (pitch); + return Melder_errorp ("(Sound_to_PointProcess:) Not performed."); +} + diff --git a/src/compiledata.cpp b/src/compiledata.cpp index 32add637..e84767ab 100644 --- a/src/compiledata.cpp +++ b/src/compiledata.cpp @@ -44,6 +44,7 @@ extern void FindPhonemesUsed(void); extern void DisplayErrorFile(const char *fname); extern int utf8_out(unsigned int c, char *buf); +extern void DrawEnvelopes(); char path_source[sizeof(path_home)+20]; @@ -3503,9 +3504,9 @@ fprintf(f_errors,"\nRefs %d, Reused %d\n",count_references,duplicate_references CompileReport(); report_dict = CompileAllDictionaries(); -#ifdef deleted +//#ifdef deleted DrawEnvelopes(); -#endif +//#endif if(gui_flag) { diff --git a/src/compiledict.cpp b/src/compiledict.cpp index a4b56661..31fffa44 100644 --- a/src/compiledict.cpp +++ b/src/compiledict.cpp @@ -879,6 +879,18 @@ static int group3_ix; +int isHexDigit(int c) +{ + if((c >= '0') && (c <= '9')) + return(c - '0'); + if((c >= 'a') && (c <= 'f')) + return(c - 'a' + 10); + if((c >= 'A') && (c <= 'F')) + return(c - 'A' + 10); + return(-1); +} + + static void copy_rule_string(char *string, int &state) {//=================================================== // state 0: conditional, 1=pre, 2=match, 3=post, 4=phonemes @@ -889,9 +901,11 @@ static void copy_rule_string(char *string, int &state) int ix; int len; char c; + int c2, c3; int sxflags; int value; int literal; + int hexdigit_input = 0; MNEM_TAB *mr; if(string[0] == 0) return; @@ -911,18 +925,38 @@ static void copy_rule_string(char *string, int &state) { literal = 0; c = *p++; + if((c == '0') && (p[0] == 'x') && (isHexDigit(p[1]) >= 0) && (isHexDigit(p[2]) >= 0)) + { + hexdigit_input = 1; + c = p[1]; + p+= 2; + } if(c == '\\') { c = *p++; // treat next character literally +//#ifdef deleted if((c >= '0') && (c <= '3') && (p[0] >= '0') && (p[0] <= '7') && (p[1] >= '0') && (p[1] <= '7')) { // character code given by 3 digit octal value; c = (c-'0')*64 + (p[0]-'0')*8 + (p[1]-'0'); p += 2; } +//endif literal = 1; } - + if(hexdigit_input) + { + if(((c2 = isHexDigit(c)) >= 0) && ((c3 = isHexDigit(p[0])) >= 0)) + { + c = c2 * 16 + c3; + literal = 1; + p++; + } + else + { + hexdigit_input = 0; + } + } if((state==1) || (state==3)) { // replace special characters (note: 'E' is reserved for a replaced silent 'e') diff --git a/src/dictionary.cpp b/src/dictionary.cpp index 6371c8c4..012d23b2 100644 --- a/src/dictionary.cpp +++ b/src/dictionary.cpp @@ -524,27 +524,33 @@ unsigned short ipa1[96] = { }; -static void WritePhMnemonic(char **buf, PHONEME_TAB *ph, PHONEME_LIST *plist) -{//======================================================================================= +char *WritePhMnemonic(char *phon_out, PHONEME_TAB *ph, PHONEME_LIST *plist, int use_ipa) +{//===================================================================================== int c; int mnem; int len; int first; int ix = 0; - char *phon_out; + char *p; unsigned int ipa_control=0; // first byte of ipa string may control the phoneme name interpretation. 0x20 = ignore this phoneme PHONEME_DATA phdata; - phon_out = *buf; - if(ph->code == phonEND_WORD) { // ignore phon_out[0] = 0; - return; + return(phon_out); } - if(option_phonemes == 3) + if(ph->code == phonSWITCH) + { + // the tone_ph field contains a phoneme table number + p = phoneme_tab_list[plist->tone_ph].name; + sprintf(phon_out, "(%s)", p); + return(phon_out + strlen(phon_out)); + } + + if(use_ipa) { // has an ipa name been defined for this phoneme ? phdata.ipa_string[0] = 0; @@ -568,8 +574,9 @@ static void WritePhMnemonic(char **buf, PHONEME_TAB *ph, PHONEME_LIST *plist) } if(ipa_control >= 0x20) { - *buf += ix; - return; // 0x20 = ignore phoneme + phon_out = &phon_out[ix]; + *phon_out = 0; + return(phon_out); // 0x20 = ignore phoneme } } } @@ -580,7 +587,7 @@ static void WritePhMnemonic(char **buf, PHONEME_TAB *ph, PHONEME_LIST *plist) if((c == '/') && (option_phoneme_variants==0)) break; // discard phoneme variant indicator - if(option_phonemes == 3) + if(use_ipa) { // convert from ascii to ipa if(first && (c == '_')) @@ -605,13 +612,15 @@ static void WritePhMnemonic(char **buf, PHONEME_TAB *ph, PHONEME_LIST *plist) first = 0; } - *buf += ix; + phon_out = &phon_out[ix]; + *phon_out = 0; + return(phon_out); } // end of WritePhMnemonic -void GetTranslatedPhonemeString(char *phon_out, int n_phon_out) -{//============================================================ +void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int use_ipa) +{//========================================================================= /* Can be called after a clause has been translated into phonemes, in order to display the clause in phoneme mnemonic form. */ @@ -622,7 +631,6 @@ void GetTranslatedPhonemeString(char *phon_out, int n_phon_out) int phon_out_ix=0; int stress; unsigned int c; - char *p; char *buf; char phon_buf[30]; PHONEME_LIST *plist; @@ -646,7 +654,7 @@ void GetTranslatedPhonemeString(char *phon_out, int n_phon_out) c = 0; if(stress > 5) stress = 5; - if(option_phonemes == 3) + if(use_ipa) { c = 0x2cc; // ipa, secondary stress if(stress > 3) @@ -664,30 +672,22 @@ void GetTranslatedPhonemeString(char *phon_out, int n_phon_out) } } - if(plist->ph->code == phonSWITCH) - { - // the tone_ph field contains a phoneme table number - p = phoneme_tab_list[plist->tone_ph].name; + buf = WritePhMnemonic(buf, plist->ph, plist, use_ipa); - sprintf(buf, "(%s)", p); - buf += (strlen(p) + 2); - } - else + if(plist->ph->code != phonSWITCH) { - WritePhMnemonic(&buf, plist->ph, plist); - if(plist->synthflags & SFLAG_LENGTHEN) { - WritePhMnemonic(&buf, phoneme_tab[phonLENGTHEN], NULL); + buf = WritePhMnemonic(buf, phoneme_tab[phonLENGTHEN], NULL, use_ipa); } if((plist->synthflags & SFLAG_SYLLABLE) && (plist->type != phVOWEL)) { // syllablic consonant - WritePhMnemonic(&buf, phoneme_tab[phonSYLLABIC], NULL); + buf = WritePhMnemonic(buf, phoneme_tab[phonSYLLABIC], NULL, use_ipa); } if(plist->tone_ph > 0) { - WritePhMnemonic(&buf, phoneme_tab[plist->tone_ph], NULL); + buf = WritePhMnemonic(buf, phoneme_tab[plist->tone_ph], NULL, use_ipa); } } diff --git a/src/espeak.cpp b/src/espeak.cpp index b9add838..aa49195d 100644 --- a/src/espeak.cpp +++ b/src/espeak.cpp @@ -313,6 +313,17 @@ static int SynthCallback(short *wav, int numsamples, espeak_EVENT *events) } +static void PrintVersion() +{//======================= + const char *version; + const char *path_data; + espeak_Initialize(AUDIO_OUTPUT_SYNCHRONOUS, 0, NULL, espeakINITIALIZE_DONT_EXIT); + version = espeak_Info(&path_data); + printf("eSpeak text-to-speech: %s Data at: %s\n", version, path_data); +} + + + #ifdef NEED_GETOPT struct option { char *name; @@ -352,6 +363,7 @@ int main (int argc, char **argv) {"phonout", required_argument, 0, 0x108}, {"pho", no_argument, 0, 0x109}, {"ipa", no_argument, 0, 0x10a}, + {"version", no_argument, 0, 0x10b}, {0, 0, 0, 0} }; @@ -473,15 +485,10 @@ int main (int argc, char **argv) break; case 'h': - { - const char *version; - const char *path_data; - espeak_Initialize(AUDIO_OUTPUT_SYNCHRONOUS, 0, data_path, espeakINITIALIZE_DONT_EXIT); - version = espeak_Info(&path_data); - printf("\n"); - printf("eSpeak text-to-speech: %s Data at: %s\n%s", version, path_data, help_text); - exit(0); - } + printf("\n"); + PrintVersion(); + printf("%s", help_text); + exit(0); break; case 'k': @@ -599,6 +606,10 @@ int main (int argc, char **argv) option_phonemes = 3; break; + case 0x10b: // -version + PrintVersion(); + exit(0); + default: exit(0); } diff --git a/src/extras.cpp b/src/extras.cpp index 615d414b..5f056464 100644 --- a/src/extras.cpp +++ b/src/extras.cpp @@ -134,7 +134,13 @@ int TestSynthCallback(short *wav, int numsamples, espeak_EVENT *events) fprintf(f_events,"'%s'\n",events->id.name); else if(type==espeakEVENT_PHONEME) - fprintf(f_events,"[%s]\n",WordToString(events->id.number)); + { + char buf[10]; + fprintf(f_events,"[%s]\n",WordToString(events->id.number)); //old version, only 4 characters bytes +// memcpy(buf, events->id.string, 8); +// buf[8] = 0; +// fprintf(f_events,"[%s]\n", buf); + } else fprintf(f_events,"%d\n",events->id.number); @@ -2309,7 +2315,7 @@ if(control==2) fprintf(f_events,"Type Audio Text Length Id\n"); fclose(f_events); - espeak_Initialize(AUDIO_OUTPUT_RETRIEVAL,1000,NULL,1); + espeak_Initialize(AUDIO_OUTPUT_RETRIEVAL, 1000, NULL, espeakINITIALIZE_PHONEME_EVENTS); espeak_SetSynthCallback(TestSynthCallback); espeak_SetUriCallback(TestUriCallback); diff --git a/src/fifo.cpp b/src/fifo.cpp index 39e314d6..bf9cc83f 100644 --- a/src/fifo.cpp +++ b/src/fifo.cpp @@ -60,7 +60,7 @@ static void* say_thread(void*); static espeak_ERROR push(t_espeak_command* the_command); static t_espeak_command* pop(); -static void init(); +static void init(int process_parameters); static int node_counter=0; enum {MAX_NODE_COUNTER=400, INACTIVITY_TIMEOUT=50, // in ms, check that the stream is inactive @@ -75,7 +75,7 @@ void fifo_init() // security pthread_mutex_init( &my_mutex, (const pthread_mutexattr_t *)NULL); - init(); + init(0); assert(-1 != sem_init(&my_sem_start_is_required, 0, 0)); assert(-1 != sem_init(&my_sem_stop_is_acknowledged, 0, 0)); @@ -457,7 +457,7 @@ static void* say_thread(void*) { // no mutex required since the stop command is synchronous // and waiting for my_sem_stop_is_acknowledged - init(); + init(1); // purge start semaphore SHOW_TIME("say_thread > purge my_sem_start_is_required\n"); @@ -569,14 +569,24 @@ static t_espeak_command* pop() } -static void init() +static void init(int process_parameters) { - ENTER("fifo > init"); - while (delete_espeak_command( pop() )) - {} - node_counter = 0; + // Changed by Tyler Spivey 30.Nov.2011 + t_espeak_command *c = NULL; + ENTER("fifo > init"); + c = pop(); + while (c != NULL) { + if (process_parameters && (c->type == ET_PARAMETER || c->type == ET_VOICE_NAME || c->type == ET_VOICE_SPEC)) + { + process_espeak_command(c); + } + delete_espeak_command(c); + c = pop(); + } + node_counter = 0; } + //> //= 7) { // tonic syllable, include a constant component so it doesn't decrease directly with speed - length_mod += 20; + length_mod += tr->langopts.lengthen_tonic; if(emphasized) - length_mod += 10; + length_mod += (tr->langopts.lengthen_tonic/2); } else if(emphasized) { - length_mod += 20; + length_mod += tr->langopts.lengthen_tonic; } if((len = tr->stress_lengths[stress]) == 0) @@ -739,7 +741,8 @@ if(stress <= 1) } } - if(end_of_clause == 2) + + if((end_of_clause == 2) && !(tr->langopts.stress_flags & S_NO_EOC_LENGTHEN)) { // this is the last syllable in the clause, lengthen it - more for short vowels len = (p->ph->std_length * 2); diff --git a/src/speak.cpp b/src/speak.cpp index e74208f4..35d756da 100644 --- a/src/speak.cpp +++ b/src/speak.cpp @@ -282,7 +282,7 @@ static void CloseWaveFile() -void MarkerEvent(int type, unsigned int char_position, int value, unsigned char *out_ptr) +void MarkerEvent(int type, unsigned int char_position, int value, int value2, unsigned char *out_ptr) {//====================================================================================== // Do nothing in the command-line version. if(type == 2) @@ -444,6 +444,8 @@ static void StopSpeak(int unused) signal(SIGINT,StopSpeak); } // end of StopSpeak() + + #ifdef NEED_GETOPT struct option { char *name; @@ -483,6 +485,7 @@ int main (int argc, char **argv) {"phonout", required_argument, 0, 0x108}, {"pho", no_argument, 0, 0x109}, {"ipa", no_argument, 0, 0x10a}, + {"version", no_argument, 0, 0x10b}, {0, 0, 0, 0} }; @@ -601,7 +604,6 @@ int main (int argc, char **argv) init_path(argv[0],data_path); printf("\nspeak text-to-speech: %s Data at: %s\n%s",version_string,path_home,help_text); exit(0); - break; case 'k': option_capitals = atoi(optarg2); @@ -722,6 +724,11 @@ int main (int argc, char **argv) option_phonemes = 3; break; + case 0x10b: // --version + init_path(argv[0],data_path); + printf("speak text-to-speech: %s Data at: %s\n",version_string,path_home); + exit(0); + default: exit(0); } diff --git a/src/speak_lib.cpp b/src/speak_lib.cpp index 187a22ed..299285b3 100644 --- a/src/speak_lib.cpp +++ b/src/speak_lib.cpp @@ -66,6 +66,7 @@ int (* uri_callback)(int, const char *, const char *) = NULL; int (* phoneme_callback)(const char *) = NULL; char path_home[N_PATH_HOME]; // this is the espeak-data directory +extern int saved_parameters[N_SPEECH_PARAM]; //Parameters saved on synthesis start void WVoiceChanged(voice_t *wvoice) @@ -543,9 +544,9 @@ static const char* label[] = { #endif -void MarkerEvent(int type, unsigned int char_position, int value, unsigned char *out_ptr) -{//====================================================================================== - // type: 1=word, 2=sentence, 3=named mark, 4=play audio, 5=end +void MarkerEvent(int type, unsigned int char_position, int value, int value2, unsigned char *out_ptr) +{//================================================================================================== + // type: 1=word, 2=sentence, 3=named mark, 4=play audio, 5=end, 7=phoneme ENTER("MarkerEvent"); espeak_EVENT *ep; double time; @@ -574,7 +575,20 @@ void MarkerEvent(int type, unsigned int char_position, int value, unsigned char if((type == espeakEVENT_MARK) || (type == espeakEVENT_PLAY)) ep->id.name = &namedata[value]; else +#ifdef deleted +// temporarily removed, don't introduce until after eSpeak version 1.46.02 + if(type == espeakEVENT_PHONEME) + { + int *p; + p = (int *)(ep->id.string); + p[0] = value; + p[1] = value2; + } + else +#endif + { ep->id.number = value; + } } // end of MarkerEvent @@ -596,6 +610,9 @@ espeak_ERROR sync_espeak_Synth(unsigned int unique_identifier, const void *text, my_unique_identifier = unique_identifier; my_user_data = user_data; + for (int i=0; i < N_SPEECH_PARAM; i++) + saved_parameters[i] = param_stack[0].parameter[i]; + switch(position_type) { case POS_CHARACTER: @@ -769,13 +786,13 @@ ENTER("espeak_Initialize"); option_phonemes = 0; option_mbrola_phonemes = 0; - option_phoneme_events = (options & 1); + option_phoneme_events = (options & (espeakINITIALIZE_PHONEME_EVENTS | espeakINITIALIZE_PHONEME_IPA)); VoiceReset(0); // SetVoiceByName("default"); for(param=0; param LEAVE"); #endif embedded_value[EMBED_T] = 0; // reset echo for pronunciation announcements + + for (int i=0; i < N_SPEECH_PARAM; i++) + SetParameter(i, saved_parameters[i], 0); + return EE_OK; } // end of espeak_Cancel diff --git a/src/synth_mbrola.cpp b/src/synth_mbrola.cpp index e0ae20a0..fe6fe556 100644 --- a/src/synth_mbrola.cpp +++ b/src/synth_mbrola.cpp @@ -488,7 +488,11 @@ int MbrolaTranslate(PHONEME_LIST *plist, int n_phonemes, int resume, FILE *f_mbr len = (80 * speed.wav_factor)/256; if(ph->code != phonEND_WORD) - DoMarker(espeakEVENT_PHONEME, (p->sourceix & 0x7ff) + clause_start_char, 0, ph->mnemonic); + { + char phoneme_name[16]; + WritePhMnemonic(phoneme_name, p->ph, p, option_phoneme_events & espeakINITIALIZE_PHONEME_IPA); + DoPhonemeMarker(espeakEVENT_PHONEME, (p->sourceix & 0x7ff) + clause_start_char, 0, phoneme_name); + } ptr += sprintf(ptr,"%s\t",WordToString(name)); diff --git a/src/synthdata.cpp b/src/synthdata.cpp index 5200243b..11f66f48 100644 --- a/src/synthdata.cpp +++ b/src/synthdata.cpp @@ -35,7 +35,7 @@ #include "translate.h" #include "wave.h" -const char *version_string = "1.46.01 22.Nov.11"; +const char *version_string = "1.46.02 06.Jan.12"; const int version_phdata = 0x014600; int option_device_number = -1; @@ -675,7 +675,7 @@ static bool InterpretCondition(Translator *tr, int control, PHONEME_LIST *plist, if(control & 0x100) { - // change phonemes pass + // "change phonemes" pass plist->ph = phoneme_tab[plist->phcode]; } ph = plist->ph; diff --git a/src/synthesize.cpp b/src/synthesize.cpp index 5c845228..3334ad60 100644 --- a/src/synthesize.cpp +++ b/src/synthesize.cpp @@ -1211,10 +1211,27 @@ void DoMarker(int type, int char_posn, int length, int value) // Type 1=word, 2=sentence, 3=named marker, 4=play audio, 5=end if(WcmdqFree() > 5) { - wcmdq[wcmdq_tail][0] = WCMD_MARKER; - wcmdq[wcmdq_tail][1] = type; - wcmdq[wcmdq_tail][2] = (char_posn & 0xffffff) | (length << 24); - wcmdq[wcmdq_tail][3] = value; + wcmdq[wcmdq_tail][0] = WCMD_MARKER + (type << 8); + wcmdq[wcmdq_tail][1] = (char_posn & 0xffffff) | (length << 24); + wcmdq[wcmdq_tail][2] = value; + WcmdqInc(); + } +} // end of DoMarker + + +void DoPhonemeMarker(int type, int char_posn, int length, char *name) +{//================================================================== +// This could be used to return an index to the word currently being spoken +// Type 7=phoneme + int *p; + + if(WcmdqFree() > 5) + { + wcmdq[wcmdq_tail][0] = WCMD_MARKER + (type << 8); + wcmdq[wcmdq_tail][1] = (char_posn & 0xffffff) | (length << 24); + p = (int *)name; + wcmdq[wcmdq_tail][2] = p[0]; // up to 8 bytes of UTF8 characters + wcmdq[wcmdq_tail][3] = p[1]; WcmdqInc(); } } // end of DoMarker @@ -1319,6 +1336,8 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume) unsigned char *pitch_env=NULL; unsigned char *amp_env; PHONEME_TAB *ph; + int use_ipa=0; + char phoneme_name[16]; static int sourceix=0; PHONEME_DATA phdata; @@ -1330,6 +1349,9 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume) if(option_quiet) return(0); + if(option_phoneme_events & espeakINITIALIZE_PHONEME_IPA) + use_ipa = 1; + if(mbrola_name[0] != 0) return(MbrolaGenerate(phoneme_list,n_ph,resume)); @@ -1405,7 +1427,8 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume) if(option_phoneme_events && (p->type != phVOWEL) && (p->ph->code != phonEND_WORD)) { // Note, for vowels, do the phoneme event after the vowel-start - DoMarker(espeakEVENT_PHONEME, sourceix, 0, p->ph->mnemonic); + WritePhMnemonic(phoneme_name, p->ph, p, use_ipa); + DoPhonemeMarker(espeakEVENT_PHONEME, sourceix, 0, phoneme_name); } switch(p->type) @@ -1712,7 +1735,8 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume) if(option_phoneme_events) { - DoMarker(espeakEVENT_PHONEME, sourceix, 0, p->ph->mnemonic); + WritePhMnemonic(phoneme_name, p->ph, p, use_ipa); + DoPhonemeMarker(espeakEVENT_PHONEME, sourceix, 0, phoneme_name); } fmtp.fmt_addr = phdata.sound_addr[pd_FMT]; @@ -1896,7 +1920,11 @@ int SpeakNextClause(FILE *f_in, const void *text_in, int control) if((option_phonemes > 0) || (phoneme_callback != NULL)) { - GetTranslatedPhonemeString(translator->phon_out,sizeof(translator->phon_out)); + int use_ipa = 0; + if(option_phonemes == 3) + use_ipa = 1; + + GetTranslatedPhonemeString(translator->phon_out, sizeof(translator->phon_out), use_ipa); if(option_phonemes > 0) { fprintf(f_trans,"%s\n",translator->phon_out); diff --git a/src/synthesize.h b/src/synthesize.h index 946e04c3..67d8a754 100644 --- a/src/synthesize.h +++ b/src/synthesize.h @@ -17,6 +17,8 @@ * . * ***************************************************************************/ +#define espeakINITIALIZE_PHONEME_IPA 0x0002 // move this to speak_lib.h, after eSpeak version 1.46.02 + #define N_PHONEME_LIST 1000 // enough for source[N_TR_SOURCE] full of text, else it will truncate @@ -475,7 +477,7 @@ int WavegenInitSound(); void WavegenInit(int rate, int wavemult_fact); float polint(float xa[],float ya[],int n,float x); int WavegenFill(int fill_zeros); -void MarkerEvent(int type, unsigned int char_position, int value, unsigned char *out_ptr); +void MarkerEvent(int type, unsigned int char_position, int value, int value2, unsigned char *out_ptr); extern unsigned char *wavefile_data; @@ -559,7 +561,7 @@ int MbrolaFill(int length, int resume, int amplitude); void MbrolaReset(void); void DoEmbedded(int *embix, int sourceix); void DoMarker(int type, int char_posn, int length, int value); -//int DoSample(PHONEME_TAB *ph1, PHONEME_TAB *ph2, int which, int length_mod, int amp); +void DoPhonemeMarker(int type, int char_posn, int length, char *name); int DoSample3(PHONEME_DATA *phdata, int length_mod, int amp); int DoSpect2(PHONEME_TAB *this_ph, int which, FMT_PARAMS *fmt_params, PHONEME_LIST *plist, int modulation); int PauseLength(int pause, int control); diff --git a/src/tr_languages.cpp b/src/tr_languages.cpp index 8216f38a..81d8665d 100644 --- a/src/tr_languages.cpp +++ b/src/tr_languages.cpp @@ -141,7 +141,7 @@ static Translator* NewTranslator(void) memset(tr->letter_bits,0,sizeof(tr->letter_bits)); memset(tr->letter_groups,0,sizeof(tr->letter_groups)); - // 0-5 sets of characters matched by A B C H F G Y in pronunciation rules + // 0-6 sets of characters matched by A B C H F G Y in pronunciation rules // these may be set differently for different languages SetLetterBits(tr,0,"aeiou"); // A vowels, except y SetLetterBits(tr,1,"bcdfgjklmnpqstvxz"); // B hard consonants, excluding h,r,w @@ -164,6 +164,7 @@ static Translator* NewTranslator(void) } memset(&(tr->langopts),0,sizeof(tr->langopts)); tr->langopts.max_lengthmod = 500; + tr->langopts.lengthen_tonic = 20; tr->langopts.stress_rule = STRESSPOSN_2R; tr->langopts.unstressed_wd1 = 1; @@ -274,11 +275,13 @@ static const unsigned int replace_cyrillic_latin[] = 0x45c,0x107, 0}; // ѓ ѕ ќ + +static const unsigned char ru_vowels[] = {0x10,0x15,0x31,0x18,0x1e,0x23,0x2b,0x2d,0x2e,0x2f, 0xb9,0xc9,0x91,0x8f,0x36,0}; //also kazakh +static const unsigned char ru_consonants[] = {0x11,0x12,0x13,0x14,0x16,0x17,0x19,0x1a,0x1b,0x1c,0x1d,0x1f,0x20,0x21,0x22,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2c, 0x73,0x7b,0x83,0x9b,0}; + static void SetCyrillicLetters(Translator *tr) {//=========================================== // character codes offset by 0x420 - static const char ru_vowels[] = {0x10,0x15,0x31,0x18,0x1e,0x23,0x2b,0x2d,0x2e,0x2f,0}; - static const char ru_consonants[] = {0x11,0x12,0x13,0x14,0x16,0x17,0x19,0x1a,0x1b,0x1c,0x1d,0x1f,0x20,0x21,0x22,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2c,0}; static const char ru_soft[] = {0x2c,0x19,0x27,0x29,0}; // letter group B [k ts; s;] static const char ru_hard[] = {0x2a,0x16,0x26,0x28,0}; // letter group H [S Z ts] static const char ru_nothard[] = {0x11,0x12,0x13,0x14,0x17,0x19,0x1a,0x1b,0x1c,0x1d,0x1f,0x20,0x21,0x22,0x24,0x25,0x27,0x29,0x2c,0}; @@ -291,14 +294,14 @@ static void SetCyrillicLetters(Translator *tr) tr->letter_bits_offset = OFFSET_CYRILLIC; memset(tr->letter_bits,0,sizeof(tr->letter_bits)); - SetLetterBits(tr,LETTERGP_A,ru_vowels); + SetLetterBits(tr,LETTERGP_A,(char *)ru_vowels); SetLetterBits(tr,1,ru_soft); - SetLetterBits(tr,2,ru_consonants); + SetLetterBits(tr,2,(char *)ru_consonants); SetLetterBits(tr,3,ru_hard); SetLetterBits(tr,4,ru_nothard); SetLetterBits(tr,5,ru_voiced); SetLetterBits(tr,6,ru_ivowels); - SetLetterBits(tr,LETTERGP_VOWEL2,ru_vowels); + SetLetterBits(tr,LETTERGP_VOWEL2,(char *)ru_vowels); } // end of SetCyrillicLetters @@ -893,6 +896,30 @@ SetLengthMods(tr,3); // all equal } break; + case L('k','k'): // Kazakh + { + static const unsigned char stress_amps_tr[8] = {18,16, 20,21, 20,21, 21,20 }; + static const short stress_lengths_tr[8] = {190,180, 230,230, 0,0, 250,250}; + + tr->letter_bits_offset = OFFSET_CYRILLIC; + memset(tr->letter_bits,0,sizeof(tr->letter_bits)); + SetLetterBits(tr,LETTERGP_A,(char *)ru_vowels); + SetLetterBits(tr,LETTERGP_C,(char *)ru_consonants); + SetLetterBits(tr,LETTERGP_VOWEL2,(char *)ru_vowels); + + SetupTranslator(tr,stress_lengths_tr,stress_amps_tr); + + tr->langopts.stress_rule = 7; // stress on the last syllable, before any explicitly unstressed syllable + tr->langopts.stress_flags = S_NO_AUTO_2 + S_NO_EOC_LENGTHEN; //no automatic secondary stress, don't lengthen at end-of-clause + tr->langopts.lengthen_tonic = 0; + tr->langopts.param[LOPT_SUFFIX] = 1; + + tr->langopts.numbers = NUM_OMIT_1_HUNDRED | NUM_DFRACTION_6 ; + tr->langopts.max_initial_consonants = 2; +SetLengthMods(tr,3); // all equal + } + break; + case L('k','o'): // Korean, TEST { static const char ko_ivowels[] = {0x63,0x64,0x67,0x68,0x6d,0x72,0x74,0x75,0}; // y and i vowels diff --git a/src/translate.cpp b/src/translate.cpp index 731a9e5a..3ac2de4b 100644 --- a/src/translate.cpp +++ b/src/translate.cpp @@ -334,16 +334,16 @@ static unsigned char length_mods_en0[100] = { static unsigned char length_mods_equal[100] = { /* a , t s n d z r N <- next */ - 110,110,110,110,110,110,110,110,110, 110, /* a <- next2 */ - 110,110,110,110,110,110,110,110,110, 110, /* , */ - 110,110,110,110,110,110,110,110,110, 110, /* t */ - 110,110,110,110,110,110,110,110,110, 110, /* s */ - 110,110,110,110,110,110,110,110,110, 110, /* n */ - 110,110,110,110,110,110,110,110,110, 110, /* d */ - 110,110,110,110,110,110,110,110,110, 110, /* z */ - 110,110,110,110,110,110,110,110,110, 110, /* r */ - 110,110,110,110,110,110,110,110,110, 110, /* N */ - 110,110,110,110,110,110,110,110,110, 110 }; // SPARE + 110,120,100,110,110,110,110,110,110, 110, /* a <- next2 */ + 110,120,100,110,110,110,110,110,110, 110, /* , */ + 110,120,100,110,100,110,110,110,100, 110, /* t */ + 110,120,100,110,110,110,110,110,110, 110, /* s */ + 110,120,100,110,110,110,110,110,110, 110, /* n */ + 110,120,100,110,110,110,110,110,110, 110, /* d */ + 110,120,100,110,110,110,110,110,110, 110, /* z */ + 110,120,100,110,110,110,110,110,110, 110, /* r */ + 110,120,100,110,110,110,110,110,110, 110, /* N */ + 110,120,100,110,110,110,110,110,110, 110 }; // SPARE static unsigned char *length_mod_tabs[6] = { diff --git a/src/translate.h b/src/translate.h index 49d8f013..6e310798 100644 --- a/src/translate.h +++ b/src/translate.h @@ -355,6 +355,7 @@ typedef struct { #define S_INITIAL_2 0x2000 #define S_NO_AUTO_DIM 0x10000 #define S_HYPEN_UNSTRESS 0x100000 +#define S_NO_EOC_LENGTHEN 0x200000 // bit0=don't stress monosyllables, except at end of clause // bit1=don't set diminished stress, // bit2=mark unstressed final syllables as diminished @@ -373,6 +374,7 @@ typedef struct { // bit18= don't lengthen short vowels more than long vowels at end-of-clause // bit19=stress on final syllable if it has a long vowel, but previous syllable has a short vowel // bit20= hyphenated words, 2nd part is unstressed +// bit21= don't lengthen vowels at end-of-clause int stress_flags; int unstressed_wd1; // stress for $u word of 1 syllable @@ -398,6 +400,7 @@ typedef struct { #define NUM_DFRACTION_3 0x6000 #define NUM_DFRACTION_4 0x8000 #define NUM_DFRACTION_5 0xa000 +#define NUM_DFRACTION_6 0xc000 #define NUM_ORDINAL_DOT 0x10000 #define NUM_NOPAUSE 0x20000 #define NUM_AND_HUNDRED 0x40000 @@ -476,7 +479,8 @@ typedef struct { const unsigned int *replace_chars; // characters to be substitutes const char *ascii_language; // switch to this language for Latin characters int max_lengthmod; - int suffix_add_e; // replace a suffix (which has the SUFX_E flag) with this character + int lengthen_tonic; // lengthen the tonic syllable + int suffix_add_e; // replace a suffix (which has the SUFX_E flag) with this character } LANGUAGE_OPTIONS; @@ -635,7 +639,7 @@ int IsDigit(unsigned int c); int IsAlpha(unsigned int c); int isspace2(unsigned int c); int towlower2(unsigned int c); -void GetTranslatedPhonemeString(char *phon_out, int n_phon_out); +void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int use_ipa); Translator *SelectTranslator(const char *name); int SetTranslator2(const char *name); @@ -675,6 +679,7 @@ int ReadClause(Translator *tr, FILE *f_in, char *buf, short *charix, int *charix void SetVoiceStack(espeak_VOICE *v, const char *variant_name); void InterpretPhoneme(Translator *tr, int control, PHONEME_LIST *plist, PHONEME_DATA *phdata); void InterpretPhoneme2(int phcode, PHONEME_DATA *phdata); +char *WritePhMnemonic(char *phon_out, PHONEME_TAB *ph, PHONEME_LIST *plist, int use_ipa); extern FILE *f_trans; // for logging extern FILE *f_logespeak; diff --git a/src/transldlg.cpp b/src/transldlg.cpp index f9b4003a..fce227c1 100644 --- a/src/transldlg.cpp +++ b/src/transldlg.cpp @@ -408,6 +408,7 @@ void TranslDlg::OnCommand(wxCommandEvent& event) char phon_out[N_PH_LIST*2]; int clause_tone; int clause_count; + int use_ipa = 0; FILE *f; int fd_temp; char fname_temp[100]; @@ -459,6 +460,7 @@ void TranslDlg::OnCommand(wxCommandEvent& event) t_phonetic->SetDefaultStyle(style_phonetic_large); translate_text = 3; + use_ipa = 1; break; case T_PROCESS: @@ -468,7 +470,7 @@ void TranslDlg::OnCommand(wxCommandEvent& event) myframe->OnProsody(event); } prosodycanvas->LayoutData(ph_list,n_ph_list); - option_phoneme_events = 1; + option_phoneme_events = espeakINITIALIZE_PHONEME_EVENTS; option_log_frames = 1; MakeWave2(ph_list,n_ph_list); option_log_frames = 0; @@ -495,7 +497,7 @@ void TranslDlg::OnCommand(wxCommandEvent& event) CalcPitches(translator,clause_tone); CalcLengths(translator); - GetTranslatedPhonemeString(translator->phon_out,sizeof(translator->phon_out)); + GetTranslatedPhonemeString(translator->phon_out, sizeof(translator->phon_out), use_ipa); if(clause_count++ > 0) strcat(phon_out," ||"); strcat(phon_out,translator->phon_out); diff --git a/src/wave_pulse.cpp b/src/wave_pulse.cpp index 64e15376..a5db6389 100644 --- a/src/wave_pulse.cpp +++ b/src/wave_pulse.cpp @@ -745,19 +745,32 @@ size_t wave_write(void* theHandler, char* theMono16BitsWaveBuffer, size_t theSiz int wave_close(void* theHandler) { SHOW_TIME("wave_close > ENTER"); + static int aStopStreamCount = 0; - int a_status = pthread_mutex_lock(&pulse_mutex); - if (a_status) { - SHOW("Error: pulse_mutex lock=%d (%s)\n", a_status, __FUNCTION__); - return PULSE_ERROR; - } - - drain(); + // Avoid race condition by making sure this function only + // gets called once at a time + aStopStreamCount++; + if (aStopStreamCount != 1) + { + SHOW_TIME("wave_close > LEAVE (stopStreamCount)"); + return 0; + } - pthread_mutex_unlock(&pulse_mutex); - SHOW_TIME("wave_close (ret)"); + int a_status = pthread_mutex_lock(&pulse_mutex); + if (a_status) + { + SHOW("Error: pulse_mutex lock=%d (%s)\n", a_status, __FUNCTION__); + aStopStreamCount = 0; // last action + return PULSE_ERROR; + } - return PULSE_OK; + drain(); + + pthread_mutex_unlock(&pulse_mutex); + SHOW_TIME("wave_close (ret)"); + + aStopStreamCount = 0; // last action + return PULSE_OK; } //> diff --git a/src/wavegen.cpp b/src/wavegen.cpp index 31043e4c..01f5dabb 100644 --- a/src/wavegen.cpp +++ b/src/wavegen.cpp @@ -261,8 +261,11 @@ unsigned char pitch_adjust_tab[MAX_PITCH_VALUE+1] = { #ifdef LOG_FRAMES -static void LogMarker(int type, int value) -{//======================================= +static void LogMarker(int type, int value, int value2) +{//=================================================== + char buf[20]; + int *p; + if(option_log_frames == 0) return; @@ -272,7 +275,13 @@ static void LogMarker(int type, int value) if(f_log) { if(type == espeakEVENT_PHONEME) - fprintf(f_log,"Phoneme [%s]\n",WordToString(value)); + { + p = (int *)buf; + p[0] = value; + p[1] = value2; + buf[8] = 0; + fprintf(f_log,"Phoneme [%s]\n", buf); + } else fprintf(f_log,"\n"); fclose(f_log); @@ -1630,7 +1639,7 @@ void WavegenSetVoice(voice_t *v) } WavegenSetEcho(); SetPitchFormants(); - MarkerEvent(espeakEVENT_SAMPLERATE,0,wvoice->samplerate,out_ptr); + MarkerEvent(espeakEVENT_SAMPLERATE, 0, wvoice->samplerate, 0, out_ptr); // WVoiceChanged(wvoice); } @@ -1862,6 +1871,7 @@ int WavegenFill2(int fill_zeros) long *q; int length; int result; + int marker_type; static int resume=0; static int echo_complete=0; @@ -1889,7 +1899,7 @@ int WavegenFill2(int fill_zeros) q = wcmdq[wcmdq_head]; length = q[1]; - switch(q[0]) + switch(q[0] & 0xff) { case WCMD_PITCH: SetPitch(length,(unsigned char *)q[2],q[3] >> 16,q[3] & 0xffff); @@ -1946,13 +1956,14 @@ int WavegenFill2(int fill_zeros) #endif case WCMD_MARKER: - MarkerEvent(q[1],q[2],q[3],out_ptr); + marker_type = q[0] >> 8; + MarkerEvent(marker_type, q[1],q[2],q[3],out_ptr); #ifdef LOG_FRAMES - LogMarker(q[1],q[3]); + LogMarker(marker_type, q[2], q[3]); #endif - if(q[1] == 1) + if(marker_type == 1) // word marker { - current_source_index = q[2] & 0xffffff; + current_source_index = q[1] & 0xffffff; } break;