diff --git a/dictsource/dict_phonemes b/dictsource/dict_phonemes index 58386dec..453ae642 100644 --- a/dictsource/dict_phonemes +++ b/dictsource/dict_phonemes @@ -101,8 +101,8 @@ Dictionary fr_dict @ @- @2 a A a2 A~ e E E~ i i: o O o2 O2 -O~ u u: W W2 w^i W~ y -Y +O~ u u: W W2 w^a w^i W~ +y Y : ; b c d dZ f g h j k l m n N n2 diff --git a/dictsource/en_list b/dictsource/en_list index ee4b4b2d..4d500ce0 100644 --- a/dictsource/en_list +++ b/dictsource/en_list @@ -1129,6 +1129,7 @@ house haUz $verb however $2 howto haUtu: hubris hu:brIs +humane $2 hunger hVng3 hurrah hVr'A: hurray hVr'eI @@ -1522,7 +1523,6 @@ photograph foUt@graf piano pI2anoU piecemeal p'i:sm,i:l pier pi@3 -pigeon pIdZ@n pigsty pIgstaI pilot paIl@t pineapple p'aInap@L @@ -2408,6 +2408,7 @@ Maurice m0rIs Mavis meIvIs Melissa $2 Michael maIk@L +Michele mI2SEl Michelle mI2SEl Miguel mi:Q'El Mohammad moUh'amId diff --git a/dictsource/en_rules b/dictsource/en_rules index 2058470f..140d5f1c 100644 --- a/dictsource/en_rules +++ b/dictsource/en_rules @@ -2539,6 +2539,8 @@ if (icAnC 'If r) i (fl aI st) i (fl aI + igeo IdZ@ + n) ihi aI|@ ii (_ IaI f) i (j i: diff --git a/dictsource/fr_list b/dictsource/fr_list index c485ff4f..e8168719 100755 --- a/dictsource/fr_list +++ b/dictsource/fr_list @@ -24,7 +24,7 @@ // 2006-11-18 Gilles Casse // -// Updated 2008-08-17 Michel Such +// Updated 2008-08-20 Michel Such // // * Numbers, a few abbreviations and exceptions. // @@ -140,7 +140,7 @@ _} f'ERm_akOl'ad _0 zeRo _1 W~ _2 dYz2 -_3 tRwa2z2 +_3 tRw^az2 _4 katR _5 sE~k _6 siz3 @@ -160,7 +160,7 @@ _19 diznWf _20 vE~ _21 vE~te:W~ _22 vE~tdYz2 -_23 vE~t:tRwa2z2 +_23 vE~t:tRw^az2 _24 vE~tkatR _25 vE~tsE~k _26 vE~tsiz3 @@ -173,18 +173,18 @@ _4X kaRA~t _41 kaRA~te:W~ _5X sE~kA~t _51 sE~kA~te:W~ -_6X swa2sA~t -_61 swa2sA~te:W~ -_7X swa2sA~t:diz3 -_71 swa2sA~te:O~z -_72 swa2sA~t:duz -_73 swa2sA~t:tREz -_74 swa2sA~t:katORz -_75 swa2sA~t:kE~z -_76 swa2sA~t:sEz -_77 swa2sA~t:dis:Et -_78 swa2sA~t:diz'w^it3 -_79 swa2sA~t:diznWf +_6X sw^asA~t +_61 sw^asA~te:W~ +_7X sw^asA~t:diz3 +_71 sw^asA~te:O~z +_72 sw^asA~t:duz +_73 sw^asA~t:tREz +_74 sw^asA~t:katORz +_75 sw^asA~t:kE~z +_76 sw^asA~t:sEz +_77 sw^asA~t:dis:Et +_78 sw^asA~t:diz'w^it3 +_79 sw^asA~t:diznWf _8X katR@vE~ _80 katR@vE~z2 _9X katR@vE~diz3 @@ -210,20 +210,17 @@ _dpt virgyl ?2 _7X sEptA~t ?2 _71 sEptA~te:W~ ?2 _72 sEptA~t:dYz2 -?2 _73 sEptA~t:trwa2z2 +?2 _73 sEptA~t:trw^az2 ?2 _74 sEptA~t:katr ?2 _75 sEptA~t:sE~k ?2 _76 sEptA~t:siz3 ?2 _77 sEptA~t:sEt ?2 _78 sEptA~t:w^it3 ?2 _79 sEptA~t:nWf -?2 _8X o2ktA~t -?2 _80 o2ktA~t -?2 _81 o2ktA~te:W~ ?2 _9X no2nA~t ?2 _91 no2nA~te:W~ ?2 _92 no2nA~t:dYz2 -?2 _93 no2nA~t:trwa2z2 +?2 _93 no2nA~t:trw^az2 ?2 _94 no2nA~t:katr ?2 _95 no2nA~t:sE~k ?2 _96 no2nA~t:siz3 @@ -235,7 +232,7 @@ _dpt virgyl (31 ème) trA~te:yniEm (41 ème) karA~te:yniEm (51 ème) sE~kA~te:yniEm -(61 ème) swa2sA~te:yniEm +(61 ème) sw^asA~te:yniEm (81 ème) katr@vE~:yniEm // ABBREVIATIONS @@ -262,7 +259,7 @@ hz _!Erts ibm $abbrev ide $abbrev ip $abbrev -jaws Z'owz +jaws Z'o2wz kde $abbrev kg kilogram khz kiloErts @@ -271,7 +268,7 @@ kw kilowat m. m@sjY mbrola Em'bRola mhz megaErts -mlle mad@mwa2zEl +mlle mad@mw^azEl mme madam mr m@sjY nsi $abbrev @@ -328,6 +325,7 @@ néanmoins $brk toutefois $brk avant $u+ $brk après $u+ $brk +(temps en temps) tA~zA~tA~ alors alOr $u+ depuis $u+ ainsi $u+ @@ -433,6 +431,7 @@ dès $u entre $u+ entre $verb contre $u+ +chaque $u+ plusieurs $u+ durant $u+ avec $u+ @@ -466,7 +465,7 @@ pourtant $u+ // auxillary verbs (be, have, can, etc) suis $u+ $verb -es Ez2 $u+ $verb +es Ez2 $u+ est Et2 $u+ sommes $u+ $verb êtes $u+ $verb @@ -484,6 +483,7 @@ soit $u+ ai $u $verb as as as az2 $u+ $verb +(as tu) aty a $u+ $verb ont $u+ $verb @@ -684,7 +684,7 @@ help _^_en hot _^_en in _^_en inside _^_en -(internet explorer) E~tErn'Et||EksplOr'Wr +(internet explorer) E~tErn'Et||Eksplo2r'Wr klaxon klaksOn let _^_en lite _^_en @@ -697,8 +697,8 @@ messenger mesEnZWr my _^_en not _^_en null _^_en -ok oke -open Op'Wn +ok o2ke +open o2p'Wn outlook autlu:k paint _^_en paper _^_en @@ -724,7 +724,7 @@ discutions diskytjO~z2 débutions debytjO~z2 désertions dezERtjO~z2 $verb détentions detA~tjO~z2 -exploitions Eksplwa2tjO~z2 +exploitions Eksplw^atjO~z2 exportions EkspORtjO~z2 heurtions hWRtjO~z2 limitions limitjO~z2 diff --git a/dictsource/fr_rules b/dictsource/fr_rules index 8d47435e..0bfa2e8c 100755 --- a/dictsource/fr_rules +++ b/dictsource/fr_rules @@ -23,7 +23,7 @@ // 2006-11-18 Gilles Casse // -// Updated: 2008-08-17 Michel Such +// Updated: 2008-08-20 Michel Such // // Letter classes: @@ -149,9 +149,10 @@ cient (_ sit2 // ils appr�ient, remercient. effi) cien (t sjA~ // coefficient défi) cien (t sjA~ // déficient + cast (_S4 kast // podcast + casts (_S5 kast // podcasts // group c: English section - cast (_ _^_en // broadcast n) ch (_ _^_en // french cut (_ _^_en // cut, shortcut @@ -435,6 +436,7 @@ _) ç' (P2v s eu (x_ Y eu (i W eu (rC W2 + _l) eu (r_ W2 eu (tr Y _) eut (_ yt2 @@ -446,7 +448,7 @@ _) ç' (P2v s e (x E // exact ey (_ E // dahomey - ey (C e // ceylan + ey (C E // ceylan ey Ej // asseye ez (_ ez2 // nez mangez chez @@ -637,24 +639,25 @@ _) half _^_en .group i i i // cri - i (A i // rien + i (A i + i (o j + i (è j + i (eu j _f) i (a i: l) i (a i: Cr) i (a i: _Cr) i (A i: Cr) i (é i: Cr) i (er_ i: - dr) iver ajvWr - i (euK j - i (o j + dr) iver a2jvWr C) ien (t_ i dév) ien (t_ i - t) ient (_ jE~t2 // tient - v) ient (_ jE~t2 // vient + 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 iA~ // émolient + cl) ien (C i:A~ // client + mol) ien (C jA~ // émolient vén) ien (C jA~ // inconvénient or) ien (t jA~ // orient, orienter ot) ien (t_ jA~ // quotient @@ -779,7 +782,9 @@ _) half _^_en br) oc (_ o // broc cr) oc (_ o // escroc o (ckK O2 + o (CerA O2 o (lC O2 + om (merA O2 on (n O on (nerA O2 o (rC O2 @@ -801,8 +806,9 @@ _) half _^_en o (Ceau o2 o (Co_ o2 o (Cos_ o2 + C) o (d_ O2 - oe (ll wa2 // moelleux + oe (ll w^a // moelleux _) oe (C Y // oesophage _ph) oe (C e // phoetus oeu W // soeur coeur @@ -815,10 +821,10 @@ _) half _^_en _) oi (gnon o // oignons oin (C wE~ oin (_ wE~ // coin - _) oi o2a // oiseau - oi wa2 // poil - oê (l wa2 // poêle - oî wa2 // boîte + _) oi w^a // oiseau + oi w^a // poil + oê (l w^a // poêle + oî w^a // boîte om (C O~ // bombe om (m O // nommer _) om (n O2m // omnibus @@ -851,9 +857,9 @@ _) half _^_en ou u // hibou brouillard où u // où oû u // coûter - oyes (_ wa2 // troyes - oy (A wa2j // noyer voyelles - oy wa2 // roy + oyes (_ w^a // troyes + oy (A w^aj // noyer voyelles + oy w^a // roy o (_ o // zorro allégro o (z_ o // berlioz o O @@ -983,7 +989,7 @@ mou) rr RR // mourrai A) s (ol_ s // tournesol _anti) s (A s // antisocial _) socio (@P5 sosio - _) super (@P5 sypEr + _) super (@@P5 sypEr _) super (_ sypEr _) supra (@P5 sypra @@ -1140,6 +1146,7 @@ _) t (_ te .group u u y // cruel nuage brut ui w^i // nuit, fuite + uin (K yE~ // juin uy (A w^ij _b) usi _^_en // business, businessman diff --git a/dictsource/pt_list b/dictsource/pt_list index 86a5d7be..0097a328 100755 --- a/dictsource/pt_list +++ b/dictsource/pt_list @@ -78,7 +78,7 @@ _& 'e ?2 _' ap'OstR,ofU _( ,abRipa*'eINtezy _) f,ES&pa*'eINtezy -_* ,aste*'iskU +_* &ste*'iskU _+ m'aIs# _, v'irgul& diff --git a/dictsource/pt_rules b/dictsource/pt_rules index 6e16a323..db6e9174 100755 --- a/dictsource/pt_rules +++ b/dictsource/pt_rules @@ -857,7 +857,7 @@ . (. _: \.) . - * aste*r'isku + * &ste*'iskU *) * (* ** **) * (_ _:: diff --git a/espeak-data/voices/fr-be b/espeak-data/voices/fr-be new file mode 100755 index 00000000..7d984407 --- /dev/null +++ b/espeak-data/voices/fr-be @@ -0,0 +1,7 @@ +language fr-be +name french (Belgium) +gender male + +dictrules 2 +intonation 2 + diff --git a/phsource/compile_report b/phsource/compile_report index b2041313..4875bd1e 100644 --- a/phsource/compile_report +++ b/phsource/compile_report @@ -15,8 +15,8 @@ eo 13 110 jbo 4 111 fi 40 129 - fr 53 132 - fr_ca 11 132 + fr 54 133 + fr_ca 11 133 hi 51 135 ta 17 138 hu 23 114 @@ -1520,6 +1520,7 @@ vowel/ii_6 [I] en_wm [y] pt [i/] pt vowel/ii_en [i] en +vowel/ii_final [i] en_us vowel/@_low [3] en_rp [@] en_rp [@2] en_rp @@ -1654,6 +1655,8 @@ vowel/u_2 [u1] fi [u] tr vowel/u#_2 [u-] ta [u-] sv +vowel/u_3 [u] fr + [u:] fr vowel/u#_3 [U] ta [U:] ta vowel/u#_4 [U] en_sc @@ -1685,9 +1688,7 @@ vowel/u_bck [u] base2 [u] rw [u#] rw [u] ko -vowel/u_bck2 [u] fr - [u:] fr - [u:] la +vowel/u_bck2 [u:] la vowel/u_fnt [u:] en_rp vowel/uu [U] en [U] en_wm @@ -1799,7 +1800,7 @@ vwl_en/u_L [u:] en [u:] en_n [u:] en_rp vwl_en_us/3_us [3] en_us - [3:] en_us +vwl_en_us/3_us2 [3:] en_us vwl_en_us/a [a] en_us [aa] en_us vwl_en_us/ai@ [aI@] en_us @@ -1807,7 +1808,6 @@ vwl_en_us/ar [A:] en_us [A@] en_us vwl_en_us/ee [E] en_us vwl_en_us/er [e@] en_us -vwl_en_us/ii_3 [i] en_us vwl_en_us/ir [i@3] en_us [i@3] en_sc vwl_en_us/oor [O@] en_us @@ -1815,11 +1815,12 @@ vwl_en_us/or [O:] en_us [o@] en_us [O:] en_sc vwl_en_us/ur [U@] en_us -vwl_fr/@R [R] fr +vwl_fr/@R [x] pt_pt +vwl_fr/@R2 [R] fr_ca +vwl_fr/@R3 [R] fr [r] fr [r2] fr - [x] pt_pt -vwl_fr/@R2 [R] fr_ca +vwl_fr/w_a [w^a] fr vwl_hi/A [a:] hi vwl_hi/l-voc [l-] jbo [l-] hi diff --git a/phsource/ph_english_us b/phsource/ph_english_us index a14cef70..0caa7bff 100644 --- a/phsource/ph_english_us +++ b/phsource/ph_english_us @@ -89,9 +89,7 @@ endphoneme phoneme i // optional variant of [I] for end of words vowel starttype (i) endtype (i) length 180 -// formants vowel/ii_3 - formants vwl_en_us/ii_3 -// formants vowel/i# + formants vowel/ii_final linkout ; endphoneme @@ -139,7 +137,7 @@ endphoneme phoneme 3: vowel starttype (@) endtype (@) length 240 - formants vwl_en_us/3_us + formants vwl_en_us/3_us2 linkout r- endphoneme diff --git a/phsource/ph_french b/phsource/ph_french index 93653bd2..1a4bd7f9 100644 --- a/phsource/ph_french +++ b/phsource/ph_french @@ -60,9 +60,9 @@ phoneme i endphoneme -phoneme i: // Slitely longer than i +phoneme i: // longer than i vowel starttype (i) endtype (i) - length 212 + length 240 formants vowel/i_3 linkout ; endphoneme @@ -113,14 +113,14 @@ endphoneme phoneme u vowel starttype (u) endtype (u) length 180 - formants vowel/u_bck2 + formants vowel/u_3 endphoneme phoneme u: // slitely longer than u vowel starttype (u) endtype (u) length 220 - formants vowel/u_bck2 + formants vowel/u_3 endphoneme @@ -153,6 +153,13 @@ phoneme W2 // same as W but don't reduce endphoneme +phoneme w^a + vowel starttype (o) endtype (a) + length 220 + formants vwl_fr/w_a +endphoneme + + phoneme w^i vowel starttype (u) endtype (i) length 220 @@ -164,7 +171,7 @@ endphoneme phoneme A~ vowel starttype (a) endtype (a) - length 200 + length 210 formants vnasal/aa_n2 endphoneme @@ -179,7 +186,7 @@ endphoneme phoneme O~ vowel starttype (o) endtype (o) - length 200 + length 220 formants vnasal/o_n3 before n2 vowel/o_mid endphoneme @@ -353,7 +360,7 @@ phoneme r length 100 lengthmod 3 beforenotvowel r/ - formants vwl_fr/@R+r3/rx%25 + formants vwl_fr/@R3+r3/rx%25 after t r/tr after k r/tr after p r/tr @@ -368,7 +375,7 @@ phoneme r2 // silent unless followed by vowel length 100 lengthmod 3 beforenotvowel NULL - formants vwl_fr/@R+r3/rx%25 + formants vwl_fr/@R3+r3/rx%25 before _ r/r endphoneme @@ -379,7 +386,7 @@ phoneme R length 100 lengthmod 3 beforenotvowel r/ - formants vwl_fr/@R+r3/rx%25 + formants vwl_fr/@R3+r3/rx%25 // after r r/rr endphoneme diff --git a/phsource/vdiph/8u b/phsource/vdiph/8u index 3059674b..9eb71dec 100644 Binary files a/phsource/vdiph/8u and b/phsource/vdiph/8u differ diff --git a/phsource/vdiph2/ei_4 b/phsource/vdiph2/ei_4 index aaec8900..1db76594 100644 Binary files a/phsource/vdiph2/ei_4 and b/phsource/vdiph2/ei_4 differ diff --git a/phsource/vdiph2/vowelchart.png b/phsource/vdiph2/vowelchart.png index f183e69a..d618b5a6 100644 Binary files a/phsource/vdiph2/vowelchart.png and b/phsource/vdiph2/vowelchart.png differ diff --git a/phsource/vnasal/aa_n2 b/phsource/vnasal/aa_n2 index ac924c6a..4f22e290 100644 Binary files a/phsource/vnasal/aa_n2 and b/phsource/vnasal/aa_n2 differ diff --git a/phsource/vnasal/o_n3 b/phsource/vnasal/o_n3 index ba126bdb..f00626d4 100644 Binary files a/phsource/vnasal/o_n3 and b/phsource/vnasal/o_n3 differ diff --git a/phsource/vowel/V_6 b/phsource/vowel/V_6 index e3573968..5ea53407 100644 Binary files a/phsource/vowel/V_6 and b/phsource/vowel/V_6 differ diff --git a/phsource/vowel/a_5 b/phsource/vowel/a_5 index bd853c60..d3a65d3e 100644 Binary files a/phsource/vowel/a_5 and b/phsource/vowel/a_5 differ diff --git a/phsource/vowel/e b/phsource/vowel/e index 8780ac2a..146af7a9 100644 Binary files a/phsource/vowel/e and b/phsource/vowel/e differ diff --git a/phsource/vwl_en_us/ii_3 b/phsource/vowel/ii_final similarity index 100% rename from phsource/vwl_en_us/ii_3 rename to phsource/vowel/ii_final diff --git a/phsource/vowel/o_2 b/phsource/vowel/o_2 index 8427dcfd..b2da51c2 100644 Binary files a/phsource/vowel/o_2 and b/phsource/vowel/o_2 differ diff --git a/phsource/vowel/u_3 b/phsource/vowel/u_3 new file mode 100755 index 00000000..5acced12 Binary files /dev/null and b/phsource/vowel/u_3 differ diff --git a/phsource/vowel/u_bck2 b/phsource/vowel/u_bck2 index dfc99f0a..20701f8d 100644 Binary files a/phsource/vowel/u_bck2 and b/phsource/vowel/u_bck2 differ diff --git a/phsource/vowel/vowelchart.png b/phsource/vowel/vowelchart.png index f850a988..7e24a8f0 100644 Binary files a/phsource/vowel/vowelchart.png and b/phsource/vowel/vowelchart.png differ diff --git a/phsource/vwl_en_us/3_us2 b/phsource/vwl_en_us/3_us2 new file mode 100644 index 00000000..390cef77 Binary files /dev/null and b/phsource/vwl_en_us/3_us2 differ diff --git a/phsource/vwl_en_us/a b/phsource/vwl_en_us/a index ce292923..f5435aef 100644 Binary files a/phsource/vwl_en_us/a and b/phsource/vwl_en_us/a differ diff --git a/phsource/vwl_en_us/ir b/phsource/vwl_en_us/ir index d62d59f6..729228f3 100644 Binary files a/phsource/vwl_en_us/ir and b/phsource/vwl_en_us/ir differ diff --git a/phsource/vwl_fr/@R3 b/phsource/vwl_fr/@R3 new file mode 100755 index 00000000..6b027e15 Binary files /dev/null and b/phsource/vwl_fr/@R3 differ diff --git a/phsource/vwl_fr/w_a b/phsource/vwl_fr/w_a new file mode 100755 index 00000000..0bdd2f8b Binary files /dev/null and b/phsource/vwl_fr/w_a differ diff --git a/src/numbers.cpp b/src/numbers.cpp index 5408837f..279d4b47 100644 --- a/src/numbers.cpp +++ b/src/numbers.cpp @@ -1305,7 +1305,7 @@ int Translator::TranslateNumber_1(char *word, char *ph_out, unsigned int *flags, decimal_count--; n_digits++; } - if(decimal_count <= max_decimal_count) + if((decimal_count <= max_decimal_count) && isdigit(word[n_digits])) { LookupNum3(atoi(&word[n_digits]),buf1,0,0,0); strcat(ph_out,buf1); diff --git a/src/synthdata.cpp b/src/synthdata.cpp index 3381c815..f576bb41 100755 --- a/src/synthdata.cpp +++ b/src/synthdata.cpp @@ -35,7 +35,7 @@ #include "translate.h" #include "wave.h" -const char *version_string = "1.37.13 18.Aug.08"; +const char *version_string = "1.37.14 20.Aug.08"; const int version_phdata = 0x013400; int option_device_number = -1; diff --git a/src/tr_languages.cpp b/src/tr_languages.cpp index 52beda8b..be3c2535 100644 --- a/src/tr_languages.cpp +++ b/src/tr_languages.cpp @@ -296,8 +296,8 @@ Translator *SelectTranslator(const char *name) case L('f','r'): // french { - static const short stress_lengths_fr[8] = {190, 170, 190, 200, 0, 0, 235, 235}; - static const unsigned char stress_amps_fr[8] = {18,16, 20,20, 20,22, 22,22 }; + static const short stress_lengths_fr[8] = {190, 170, 190, 200, 0, 0, 235, 240}; + static const unsigned char stress_amps_fr[8] = {18,16, 20,20, 20,22, 22,21 }; tr = new Translator(); SetupTranslator(tr,stress_lengths_fr,stress_amps_fr);