From 703da2845451849f8f7444eea06d946e1f9bcbbf Mon Sep 17 00:00:00 2001 From: jonsd Date: Tue, 5 Feb 2008 01:18:56 +0000 Subject: [PATCH] [1.31.05] , if a character name is not defined, say its English name. phoneme tables, added beforenotvowel2 attribure for lang=tr lang=tr: initial draft git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@135 d46cf337-b52f-0410-862d-fd96e6ae7743 --- dictsource/de_list | 1 + dictsource/dict_phonemes | 31 ++++++---- dictsource/en_list | 23 ++++++- dictsource/en_rules | 20 +------ dictsource/es_list | 60 ++++++++++++++++++- dictsource/es_rules | 6 -- dictsource/fr_list | 8 ++- dictsource/fr_rules | 14 +++-- dictsource/no_list | 2 +- dictsource/tr_list | 71 ++++++++++++++++++++++ dictsource/tr_rules | 108 +++++++++++++++++++++++++++++++++ docs/phonemes.html | 4 +- espeak-data/voices/no | 1 + espeak-data/voices/tr | 4 ++ phsource/compile_report | 109 +++++++++++++++++++--------------- phsource/ph_english_us | 2 +- phsource/ph_french | 11 ++++ phsource/ph_norwegian | 1 - phsource/ph_turkish | 93 +++++++++++++++++++++++++++++ phsource/phonemes | 11 ++++ phsource/vowel/oe_2 | Bin 6244 -> 6240 bytes phsource/vowel/u# | Bin 9352 -> 9346 bytes phsource/vowel/u#_7 | Bin 0 -> 5204 bytes phsource/vowel/uu_2 | Bin 8016 -> 8016 bytes phsource/vowel/vowelchart.png | Bin 68237 -> 68596 bytes phsource/vwl_en_us/3_us | Bin 1348 -> 1348 bytes src/compiledata.cpp | 52 ++++++++-------- src/dictionary.cpp | 17 ++++++ src/extras.cpp | 6 +- src/numbers.cpp | 43 +++++++++----- src/phoneme.h | 7 ++- src/phonemelist.cpp | 8 +++ src/speech.h | 1 + src/synthdata.cpp | 4 +- src/tr_languages.cpp | 6 +- src/translate.cpp | 108 ++++++++++++++++++++------------- src/translate.h | 4 +- 37 files changed, 644 insertions(+), 192 deletions(-) create mode 100644 dictsource/tr_list create mode 100644 dictsource/tr_rules create mode 100755 espeak-data/voices/tr create mode 100644 phsource/ph_turkish create mode 100644 phsource/vowel/u#_7 diff --git a/dictsource/de_list b/dictsource/de_list index 73ac1ca0..feb154a5 100644 --- a/dictsource/de_list +++ b/dictsource/de_list @@ -42,6 +42,7 @@ _— g@d'ank@nSt@-*,IC _#9 t,abu:l'Ato:* _#32 l'e:*ts'aIC@n +_?? zymb'o:l // Not Roman numbers v faU diff --git a/dictsource/dict_phonemes b/dictsource/dict_phonemes index ee6649ef..cb663456 100644 --- a/dictsource/dict_phonemes +++ b/dictsource/dict_phonemes @@ -43,9 +43,9 @@ x z Dictionary de_dict 3 @ @- a A A: aI aU -E E2 E: e: EI I i2 I: -i: O o: OY U u: W y -y: Y: +E E2 E: e: EI I i2 i: +O o: OY U u: W y y: +Y: * : ; b C C2 d D dZ f g h j k l m @@ -117,8 +117,9 @@ w^i W~ y Y * : ; b c d dZ f g h j k l L m n -N n^ p r R s S t -t2 tS v w z Z z2 z3 +N n2 n^ p r R s S +t t2 tS v w z Z z2 +z3 Dictionary hi_dict @@ -281,7 +282,7 @@ u U uI u~ y g h j k l l^ m n N n^ p Q r R r- s S s# s; t T tS ts v -w w2 x z Z +w x z Z Dictionary ro_dict @@ -340,10 +341,10 @@ Dictionary zh_dict i i. i[ iou o o- ou u uai y -: f j k kh l m n -N p ph r R s s. S; -t th ts ts. ts. tS; tS; tsh -v w x z z. +(u) : f h j k kh l +m n N p ph r s s. +S; t th ts ts. ts. tS; tS; +tsh v w x z z. Dictionary jbo_dict @@ -390,3 +391,13 @@ x z Dictionary ja_dict + + +Dictionary tr_dict + +a e E i I o O u +u# W y Y + +: ; b d dZ f g h +j k l m n p Q r +R s S t tS v z Z diff --git a/dictsource/en_list b/dictsource/en_list index a98f12a0..1313a9e4 100644 --- a/dictsource/en_list +++ b/dictsource/en_list @@ -92,6 +92,25 @@ _| vi:b'A@ _} A@breIs _~ tIld@ +£ paUnd +¥ jEn +§ sEkS@n +_¶ par@graf // in en_rules +¤ kVr@nsI2saIn +© k0pI2raIt +° dI2gri:z +− maIn@s +± plVs@maIn@s +µ maIkroU +¼ a2kwO@t3 +½ a2hA:f +¾ Tri:kwO@t3 +× taImz +÷ dI2vaIdbaI +€ jU@roUz +♯ SA@p +♭ flat +ə SwA: // numeric @@ -2673,8 +2692,8 @@ than %Dan $only then DEn $verbf // these should be stressed at the start of a sentence -which ,wItS $pause $strend2 $only $verbsf -who ,hu: $verbsf $pause $strend2 $onlys +which ,wItS $pause $strend2 $only $verbf +who ,hu: $verbf $pause $strend2 $onlys whose ,hu:z $pause $only what ,w0t $strend2 $onlys how ,haU $strend2 $onlys diff --git a/dictsource/en_rules b/dictsource/en_rules index bcef1cf5..80257624 100644 --- a/dictsource/en_rules +++ b/dictsource/en_rules @@ -5160,7 +5160,6 @@ ë E ï i: ö 3: -?5 ö VR ü u: ç s ß s @@ -5178,7 +5177,6 @@ ?3 \\ bakslaS ?3 / slaS ' - £ paUnd ! _:Ekskl@meIS@n_: !) ! ? (? kwEstS@nmA@ks @@ -5227,22 +5225,6 @@ %) % (% %%) % (_ _:: -// extra symbols - ¥ jEn - § sEkS@n +// extra symbols (mostly in en_list) ¶ par@graf ¶¶ par@grafs - ¤ kVr@nsI2saIn - © k0pI2raIt - ° dI2gri:z - − maIn@s - ± plVs@maIn@s - µ maIkroU - ¼ a2kwO@t3 - ½ a2hA:f - ¾ Tri:kwO@t3 - × taImz - ÷ dI2vaIdbaI - € jU@roUz - ♯ SA@p - ♭ flat diff --git a/dictsource/es_list b/dictsource/es_list index beae3b9f..80b5f600 100644 --- a/dictsource/es_list +++ b/dictsource/es_list @@ -2,8 +2,54 @@ // This file in UTF8 encoded // letters -ch tSe -ll Ejje + +_cap m'aJ^us +_?? s'imbolo +_#32 Esp'aTjo + + +// names of symbols +_. punto +_, koma +_; p,untoik'oma +_: d,osp'untos +_! TE*R'aRaDmi**aTj'on +_? TE*R'aRintE*R,oQaTj'on +_¡ aB@-*'iRaDmi**aTj'on +_¿ aB@-*'iRintE*R,oQaTj'on +_= iQw'al +_< mEn'oRke +_> maJ^'oRke +_' apost@-*'ofo +_" kom'iJ^as +_+ s'iQnodesum'aR +_$ dolar +_# almoaD'il^a +_* astE*'isko +_- gJ^on +__ suB@-*aJ^'aDo +_/ ba*Ra +_\ b'a*RaimbERt'iDa +_` aT'Entog@-*'aBe +_( ,aB@-*epa**'EntEsis +_) Tj,E*Rapa**'EntEsis +_[ ,aB@-*ekoRtS'Ete +_] Tj,E*RakoRtS'Ete +_{ ,aB@-*eJ^'aBe +_} Tj,E*RaJ^'aBe +_« kom'iJ^as||iTkJ^'ERDas +_» kom'iJ^as||dE**'EtSas + +^ TiRkumfl'Exo +€ eU*o +% porTj'Ento +& ampERs'ant +@ a*R'oBa +/ ba*Ra +© kopi*R'aIt +£ liB@-*as +¶ p'a*Rafo +§ sEkTj'on // numbers @@ -291,8 +337,16 @@ v uve x Ekis _y ,ig@-*'iEQa y ,ig@-*'iEQa $atend +ch tSe +ll Ejje +á 'a||aTEntw'aDa +é 'e||aTEntw'aDa +í 'i||aTEntw'aDa +_ó 'o||aTEntw'aDa +ó 'o||aTEntw'aDa $atend +ú 'u||aTEntw'aDa +ü ,uDjE**'Esis -_. punto diff --git a/dictsource/es_rules b/dictsource/es_rules index ad6f60da..eb982ded 100644 --- a/dictsource/es_rules +++ b/dictsource/es_rules @@ -201,12 +201,6 @@ _)ñ (_ En^e $ d'olar - € eU*o - % porTj'Ento - & ampErs'ant - @ a*R'oBa - / b'a*Ra - © k,opi*R'aIt + m'as _) ++ (_ masm'as diff --git a/dictsource/fr_list b/dictsource/fr_list index 59b7f7c7..b119c9ed 100755 --- a/dictsource/fr_list +++ b/dictsource/fr_list @@ -63,9 +63,11 @@ _y i:gR'Ek // character names -//_cap k,ap@-t@L -_?A lEt@ -_?? sE~b'OL +//_cap k,ap@-t@L +_?A lEt@ +_?? sE~b'OL +_#9 tabylasjO~ +_#32 Espas _" gijmE _# djEz diff --git a/dictsource/fr_rules b/dictsource/fr_rules index 468835a3..8d0a8b12 100755 --- a/dictsource/fr_rules +++ b/dictsource/fr_rules @@ -3,7 +3,7 @@ // 2006-11-18 Gilles Casse // -// Updated: 2008-01-29 Michel Such +// Updated: 2008-02-04 Michel Such // // * The rules are based on Cicero TTS. // @@ -136,10 +136,9 @@ em (b A~ // décembre em (m A~ // emmancher em (p A~ - en (_ A~ // en + en (_ A~n2 // en en (hA A~n // enharmonique en (A A~n // enivrer - en (_A A~n // en avion C) en (d_ A~ // comprend dépend C) en (ds_ A~ @@ -395,6 +394,7 @@ _) h (ac _! // hache _) h (ai _! // haine haillon _) h (al _! // halte +_) h (amea _! // hameau _) h (amp _! // hampe _) h (an _! // hanche _) h (app _! // happer @@ -406,6 +406,7 @@ _) h (arp _! // harpe _) h (au _! // haut _) h (av _! // havre _) h (ern _! // hernie +_) h (éro _! // héros, héron _) h (ers _! // herse _) h (eurt _! // heurter _) h (ibo _! // hibou @@ -655,6 +656,7 @@ mou) rr RR // mourrai A) s (oft s // microsoft y) s (A z // paysage CCan) s (A z // transition + xpan) s (A s // expansion ibu) s (_ s @@ -758,8 +760,9 @@ C) te (_ t@- // patte um (b W~ // humble um (p W~ un (C W~ // emprunt lundi - un (_ W~ // brun - un (_A W~n // un avion + C) un (_ W~ // brun + uc) un (_ W~n2 // aucun + un (_ W~n2 // un avion g) u (A // fatigue g) u (ï y // ambiguïté @@ -864,3 +867,4 @@ C) te (_ t@- // patte + diff --git a/dictsource/no_list b/dictsource/no_list index 90186aff..93591071 100755 --- a/dictsource/no_list +++ b/dictsource/no_list @@ -23,7 +23,7 @@ m e:m n En p pe: q ku-: -r Err +r E:R s Es t te: v ve: diff --git a/dictsource/tr_list b/dictsource/tr_list new file mode 100644 index 00000000..eaad0544 --- /dev/null +++ b/dictsource/tr_list @@ -0,0 +1,71 @@ + +// This file is UTF8 encoded +// Spelling-to-phoneme words for Turkish + +a a +b be +c dZE +ç tSE +d dE +e E +f fE +g g;E +ğ jumuS'ak||g;'E +h hE +ı u# +i i +j ZE +k ka +l lE +m mE +n nE +o O +ö W +p pE +q kvE +r RE +s sE +ş SE +t tE +u u +ü y +v vE +w dubElv'E +x Eks +y jE +z zE + +_?? sEmb'Ol + +_0 su#fu#r +_1 bir +_2 iki +_3 YtS +_4 dWrt +_5 beS +_6 altu# +_7 jedi +_8 sekiz +_9 dokuz +_10 on +_1X on +_2X jirmi +_3X otuz +_4X ku#rk +_5X elli +_6X altmu#S +_7X jetmiS +_8X seksEn +_9X doksan +_0C jyz +_0M1 bIn +_0M2 miljon +_0M3 miljar +_dpt _virg,Yl + + + +// exceptions + +ankara $1 + diff --git a/dictsource/tr_rules b/dictsource/tr_rules new file mode 100644 index 00000000..fbe09344 --- /dev/null +++ b/dictsource/tr_rules @@ -0,0 +1,108 @@ + +// Turkish translation rules +// This file is UTF-8 encoded + + +.group a + a a + +.group b + b b + +.group c + c dZ + +.group ç + ç tS + +.group d + d d + +.group e + e e + +.group f + f f + +.group g + g g + +.group ğ + ğ Q + A) ğ : + +.group h + h h + +.group i + i i + +.group ı + ı u# + +.group j + j Z + +.group k + k k + +.group l + l l + +.group m + m m + + @) ma (_S2 m%a + @) me (_S2 m%e + @) mı (_S2 m%u# + +.group n + n n + +.group o + o o + +.group ö + ö W + +.group p + p p + +.group q + q k + +.group r + r r + +.group s + s s + +.group ş + ş S + +.group t + t t + +.group u + u u + +.group ü + ü y + +.group v + v v + +.group w + w v + +.group x + x ks + +.group y + y j + +.group z + z z + +.group + $ dolar diff --git a/docs/phonemes.html b/docs/phonemes.html index 15f3483b..0c3f80e4 100644 --- a/docs/phonemes.html +++ b/docs/phonemes.html @@ -144,8 +144,8 @@ In rhotic accents, such as General American, the phonemes [3:], [A@], [e@] [aU]mouth [oU]goat -[aI@] -[aU@] +[aI@]science +[aU@]hour diff --git a/espeak-data/voices/no b/espeak-data/voices/no index abd5818b..77b60b96 100755 --- a/espeak-data/voices/no +++ b/espeak-data/voices/no @@ -3,3 +3,4 @@ language no language nb gender male +intonation 4 diff --git a/espeak-data/voices/tr b/espeak-data/voices/tr new file mode 100755 index 00000000..00cef6fb --- /dev/null +++ b/espeak-data/voices/tr @@ -0,0 +1,4 @@ +name turkish-test +language tr +gender male + diff --git a/phsource/compile_report b/phsource/compile_report index 973eb0dd..c1da070d 100644 --- a/phsource/compile_report +++ b/phsource/compile_report @@ -1,51 +1,52 @@ -46 phoneme tables +47 phoneme tables new total - base 98 98 - base2 24 117 - en 54 147 - en_n 30 147 - en_us 34 147 - en_sc 39 149 - en_rp 34 147 - en_wm 30 147 - en_wi 30 147 - af 38 130 - cy 29 124 - de 33 125 - eo 13 110 - jbo 4 111 - fi 40 129 - fr 42 122 - fr_ca 11 122 - hi 50 134 - ta 15 136 - hu 23 114 - nl 28 121 - pl 15 109 - sk 29 127 - cs 6 127 - hr 20 132 - mk 3 133 - sr 14 132 - ru 38 128 - it 17 120 - la 21 116 - es 7 117 - pt 27 133 - pt_pt 20 133 - ro 36 141 - el 8 117 - grc 12 122 - sv 25 120 - no 28 124 - is 32 123 - vi 42 136 - zhy 40 131 - zh 62 146 - sw 14 107 - th 50 141 - id 14 119 - ja 7 103 + base 99 99 + base2 24 118 + en 54 148 + en_n 30 148 + en_us 34 148 + en_sc 39 150 + en_rp 34 148 + en_wm 30 148 + en_wi 30 148 + af 38 131 + cy 29 125 + de 33 126 + eo 13 111 + jbo 4 112 + fi 40 130 + fr 43 124 + fr_ca 11 124 + hi 50 135 + ta 15 137 + hu 23 115 + nl 28 122 + pl 15 110 + sk 29 128 + cs 6 128 + hr 20 133 + mk 3 134 + sr 14 133 + ru 38 129 + it 17 121 + la 21 117 + es 7 118 + pt 27 134 + pt_pt 20 134 + ro 36 142 + el 8 118 + grc 12 123 + sv 25 121 + no 28 125 + is 32 124 + vi 42 137 + zhy 40 132 + zh 62 147 + sw 14 108 + th 50 142 + id 14 120 + tr 14 123 + ja 7 104 Data file Used by b/b [b] base @@ -402,6 +403,7 @@ n/_n [n] base [n;] ro [n] zh n/n_ [n] base + [n2] fr [n;] ro n/n@ [(@)] base n/n#_ [n#] is @@ -1260,6 +1262,7 @@ vowel/a_5 [a:] ta [a] la [a] sv [a] sw + [a] tr vowel/aa [a] fi [A] fr_ca [A] no @@ -1367,6 +1370,7 @@ vowel/e_mid [E] en_rp [E] is [E] id [E2] id + [E] tr [e] ja vowel/e_mid2 [E] af [E] de @@ -1378,6 +1382,7 @@ vowel/e_mid2 [E] af [e] ro [e] el [e] sw + [e] tr vowel/@_fnt [@] en_wi [@2] en_wi [@2] hr @@ -1432,6 +1437,7 @@ vowel/i_6 [i:] en_us [i] ta [i] hr [i] id + [i] tr vowel/i#_7 [i[] zh vowel/i_en [i:] en [i:] fr @@ -1460,6 +1466,7 @@ vowel/ii_3 [I] cy [I] hr [I] sv [I] no + [I] tr vowel/ii_4 [I] en [I2] en [I] en_n @@ -1519,9 +1526,11 @@ vowel/oe [W] en [W] af [W] de vowel/oe_2 [W] no + [W] tr vowel/oe_4 [W] sv vowel/o_mid [O] fr [o] hu + [o] tr vowel/oo [O:] en_sc [O] en_wi [O:] en_wi @@ -1536,6 +1545,7 @@ vowel/oo [O:] en_sc [O] th [O:] th [O] id + [O] tr [o] ja vowel/oo_1 [O:] en_n [O:] en_rp @@ -1593,10 +1603,12 @@ vowel/u [u:] en_wi [u] id vowel/u# [u-] en [u:] en_sc + [Y] tr vowel/u_2 [u1] fi [u] sk [U] hr [u] ro + [u] tr vowel/u#_2 [u-] ta [u-] sv vowel/u_3 [yU] ro @@ -1608,6 +1620,7 @@ vowel/u_6 [U] pt_pt [u] pt_pt vowel/u#_6 [u:] en_us vowel/u_7 [u] vi +vowel/u#_7 [u#] tr vowel/u_bck [u] base2 [U] cy [u] fi @@ -1634,6 +1647,7 @@ vowel/uu [U] en vowel/uu_2 [U] base2 [U] de [U] ta + [U] tr vowel/uu_3 [u] af vowel/uu_4 [U] fi [U] sv @@ -1685,6 +1699,7 @@ vowel/y_3 [y] af vowel/y#_3 [W] is vowel/y_4 [y:] no vowel/y_5 [y:] sv + [y] tr vowel/yy [y"] fr_ca [y] no vowel/yy_3 [y] sv diff --git a/phsource/ph_english_us b/phsource/ph_english_us index 5af25f63..1d4d8457 100644 --- a/phsource/ph_english_us +++ b/phsource/ph_english_us @@ -276,6 +276,6 @@ phoneme t# // reduced [t] as in "city" vowelout f1=2 f2=1700 -300 300 f3=-100 80 formants d/tap2+x/d%70 after @ d/x_tap - lengthmod 2 + lengthmod 5 endphoneme diff --git a/phsource/ph_french b/phsource/ph_french index 52d8a568..20f34527 100644 --- a/phsource/ph_french +++ b/phsource/ph_french @@ -266,6 +266,17 @@ phoneme l endphoneme +phoneme n2 + beforenotvowel NULL + vcd alv nasal + vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk + length 100 + lengthmod 4 + formants n/n_ + before _ n/n_ +endphoneme + + phoneme p vls blb stop vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11 diff --git a/phsource/ph_norwegian b/phsource/ph_norwegian index d4389a3b..d18efdea 100644 --- a/phsource/ph_norwegian +++ b/phsource/ph_norwegian @@ -177,7 +177,6 @@ endphoneme phoneme Yy vowel starttype (@) endtype (u) length 270 - long formants vwl_no/y#y endphoneme diff --git a/phsource/ph_turkish b/phsource/ph_turkish new file mode 100644 index 00000000..ea3e0e07 --- /dev/null +++ b/phsource/ph_turkish @@ -0,0 +1,93 @@ + + +phoneme i + vowel starttype (i) endtype (i) + beforenotvowel2 I + length 150 + formants vowel/i_6 +endphoneme + +phoneme I + vowel starttype (i) endtype (i) + length 150 + formants vowel/ii_3 +endphoneme + +phoneme y + vowel starttype (u) endtype (u) + beforenotvowel2 Y + length 155 + formants vowel/y_5 +endphoneme + +phoneme Y + vowel starttype (u) endtype (u) + length 155 + formants vowel/u# +endphoneme + + + +phoneme e + vowel starttype (e) endtype (e) + beforenotvowel2 E + length 180 + formants vowel/e_mid2 +endphoneme + +phoneme E + vowel starttype (e) endtype (e) + length 180 + formants vowel/e_mid +endphoneme + +phoneme W + vowel starttype (@) endtype (@) + length 180 + formants vowel/oe_2 +endphoneme + + + +phoneme a + vowel starttype (a) endtype (a) + length 190 + formants vowel/a_5 +endphoneme + + + +phoneme u + vowel starttype (u) endtype (u) + beforenotvowel2 U + length 150 + formants vowel/u_2 +endphoneme + +phoneme U + vowel starttype (u) endtype (u) + length 150 + formants vowel/uu_2 +endphoneme + +phoneme u# + vowel starttype (@) endtype (@) + length 150 + formants vowel/u#_7 +endphoneme + + + +phoneme o + vowel starttype (o) endtype (o) + beforenotvowel2 O + length 190 + formants vowel/o_mid +endphoneme + +phoneme O + vowel starttype (o) endtype (o) + length 190 + formants vowel/oo +endphoneme + diff --git a/phsource/phonemes b/phsource/phonemes index 81e584f1..957f42bd 100644 --- a/phsource/phonemes +++ b/phsource/phonemes @@ -31,6 +31,7 @@ phonemenumber 24 _:: // long pause phonemenumber 25 t# // reduced version of [t] phonemenumber 26 '! // stress - emphasized phonemenumber 27 _;_ // clause pause +phonemenumber 28 _^^ // Change language + phoneme table number // The base phoneme table contains the utility phonemes, the consonants, // and a schwa. The vowels are defined in the language specific phoneme @@ -149,6 +150,13 @@ phoneme _^_ // Change dictionary (followed by language-code in ascii lengthmod 1 endphoneme +phoneme _^^ // Change phoneme table (followed by phoneme table number) + pause + starttype _ endtype _ + length 1 + lengthmod 1 +endphoneme + phoneme _X1 // a language specific action pause starttype _ endtype _ @@ -1268,5 +1276,8 @@ include ph_thai phonemetable id base2 include ph_indonesian +phonemetable tr base2 +include ph_turkish + phonemetable ja base include ph_japanese diff --git a/phsource/vowel/oe_2 b/phsource/vowel/oe_2 index c35aef7f8257e3e96d6f87b1d9def9c5da0feae4..d3d1c484b7292d4e5068363702c78a063cfd0a5f 100644 GIT binary patch delta 166 zcmaE2@W4PeIKb68B-k~Og@J(~KQ-QnjUffdf`W~T94su~-_3n6S(n9~i9vL88OwfV zmLKoL7fiO~01Gs600n+-oD((Kl?N=)$FrYV?B{ErCa@6>Y<&hxz%2V04U_FzM3vmY wyafylT&tMGnAb8kGyGs=5E5bHWinz-XRu)fS~5!jXy&g;u3I<9imlVwJ%eBqbvst%da~&k0)!g zxHCzKZ7yQj&&=}c=X?IirW{~_Iu4+~@9x>FCOh(g1-f|lGfVuQ#l8h>iUV7p!4fd* n0L#APYbP2Cb9sWf3m6zUC)Wvxfef7{05W4mc;4nn5q1^;jn6J` diff --git a/phsource/vowel/u# b/phsource/vowel/u# index 23df581301f6bc8dcdd71ed662eab023d551387e..2eafac85b03597ed16be1a5303e3aa6d36bbe38a 100644 GIT binary patch delta 237 zcmeD1Z1R)}4sdl233d%+Vqjn>Rpw+!0n!k#QGt_%<@;$Xjm^3&94st9&i3xvY{>y+ z{hYIO-(*)FeW?caQ%vueIvAZ9Iv5#*e=`1LoX-}-u!N04aC0BeerA@RS5?nU4itbX z>}7O;D_qOw2T?dn-~cmohh^8~SP_`IE=CKux|wXn5OvE$fa;b{@0y$`0aMq)s0mj$ ghb7#Qq-PLSRx#mU0*^U%w#&FU;1 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 literal 0 HcmV?d00001 diff --git a/phsource/vowel/uu_2 b/phsource/vowel/uu_2 index 4cdfe99513ab8c538b31a5cedec63812dafd1144..8a5d59681e29b37a62da14c2cd737e9838854e0b 100644 GIT binary patch delta 51 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 delta 47456 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 saxtH7pFk#5NAw@&I(_1wU*w$@~ diff --git a/phsource/vwl_en_us/3_us b/phsource/vwl_en_us/3_us index 0e5ca6c6c263aa7f62365cc3b73418178c38fbf1..85a4781ad52df9234f58c098bd1881f7c8cba6b7 100644 GIT binary patch delta 158 zcmX@Yb%bj|nB)(}1|bQi2aF6r5WvbH?8Owp1Y$p#nE%$X2gCvb2i6l0zzl{E1}27h zAoGI#GzJFFl}rX;#kdT)Ffm_r^Cm_MM&2AA2A-FU5Nqaa{?6peC>g=d!1EL;gd#op HJJWjrU3?<0 delta 150 zcmX@Yb%bj|nB)h>1|bQi2aF6rAjire?8Owp1Y)n4nE%$X3B&>d2i6l0zzl{E1}27B zAoGI#GzJFFl}rX;#dr)6-Mop>f|0j@hk@rMBgC2wo4+%;GETn7#Dgk4`8(5l03LK9 ATL1t6 diff --git a/src/compiledata.cpp b/src/compiledata.cpp index fcc6dfe6..0b88b6bb 100755 --- a/src/compiledata.cpp +++ b/src/compiledata.cpp @@ -58,21 +58,26 @@ #define tOLDNAME 14 #define tREDUCETO 15 #define tFIXEDCODE 16 + #define tBEFOREVOWEL 17 #define tBEFOREVOWELPAUSE 18 #define tBEFORENOTVOWEL 19 -#define tLINKOUT 20 +#define tBEFORENOTVOWEL2 20 #define tSWITCHVOICING 21 -#define tVOWELIN 22 -#define tVOWELOUT 23 -#define tAPPENDPH 24 // always insert another phoneme (linkout) after this one -#define tIMPORTPH 25 -#define tBEFOREPAUSE 26 + +#define tLINKOUT 23 +#define tVOWELIN 24 +#define tVOWELOUT 25 +#define tAPPENDPH 26 // always insert another phoneme (linkout) after this one +#define tIMPORTPH 27 +#define tBEFOREPAUSE 28 #define tPHONEMENUMBER 29 #define tPHONEMETABLE 30 #define tINCLUDE 31 +static const int flags_alternative[] = {phBEFOREVOWEL,phBEFOREVOWELPAUSE,phBEFORENOTVOWEL,phBEFORENOTVOWEL2,phSWITCHVOICING}; + extern void Write4Bytes(FILE *f, int value); extern int Read4Bytes(FILE *f); extern void MakeVowelLists(void); @@ -230,16 +235,17 @@ static keywtab_t keywords[] = { {"length", 12}, {"longlength", 13}, {"reduceto", 15}, - {"beforevowel", 17}, - {"beforevowelpause", 18}, - {"beforenotvowel",19}, - {"linkout",20}, - {"switchvoicing",21}, - {"vowelin",22}, - {"vowelout",23}, - {"appendph",24}, - {"import_phoneme",25}, - {"beforepause",26}, + {"beforevowel", tBEFOREVOWEL}, + {"beforevowelpause", tBEFOREVOWELPAUSE}, + {"beforenotvowel",tBEFORENOTVOWEL}, + {"beforenotvowel2",tBEFORENOTVOWEL2}, + {"linkout",tLINKOUT}, + {"switchvoicing",tSWITCHVOICING}, + {"vowelin",tVOWELIN}, + {"vowelout",tVOWELOUT}, + {"appendph",tAPPENDPH}, + {"import_phoneme",tIMPORTPH}, + {"beforepause",tBEFOREPAUSE}, // flags {"wavef", 0x2000000+phWAVE}, @@ -1374,18 +1380,12 @@ int Compile::CPhoneme() ph->phflags = (ph->phflags & 0xfffffff) + (value << 28); break; - case tBEFORENOTVOWEL: - ph->phflags |= phBEFORENOTVOWEL; // and drop through to tBEFOREVOWEL - case tBEFOREVOWELPAUSE: - ph->phflags |= phBEFOREVOWELPAUSE; case tBEFOREVOWEL: - if((phcode = NextItem(tPHONEMEMNEM)) == -1) - phcode = LookupPhoneme(item_string,1); - ph->alternative_ph = phcode; - break; - + case tBEFOREVOWELPAUSE: + case tBEFORENOTVOWEL: + case tBEFORENOTVOWEL2: case tSWITCHVOICING: - ph->phflags |= phSWITCHVOICING; + ph->phflags |= flags_alternative[item - tBEFOREVOWEL]; if((phcode = NextItem(tPHONEMEMNEM)) == -1) phcode = LookupPhoneme(item_string,1); ph->alternative_ph = phcode; diff --git a/src/dictionary.cpp b/src/dictionary.cpp index c411a210..82f26d9a 100755 --- a/src/dictionary.cpp +++ b/src/dictionary.cpp @@ -1197,6 +1197,23 @@ void Translator::SetWordStress(char *output, unsigned int dictionary_flags, int } break; + case 7: // LANG=tr, the last syllable for any vowel markes explicitly as unstressed + if(stressed_syllable == 0) + { + stressed_syllable = vowel_count - 1; + for(ix=2; ix < vowel_count; ix++) + { + if(vowel_stress[ix] == 1) + { + stressed_syllable = ix-1; + break; + } + } + vowel_stress[stressed_syllable] = 4; + max_stress = 4; + } + break; + case 9: // mark all as stressed for(ix=1; ix. This is the second sentence"; +const char* text1 = "Hello world. Testing."; void TestTest(int control) {//======================= @@ -1200,10 +1200,10 @@ if(control==2) f_wavtest = OpenWaveFile3("/home/jsd1/speechdata/text/test.wav"); f_events = fopen("/home/jsd1/speechdata/text/events","w"); - fprintf(f_events,"Type Audio Text Length Id\n"); + fprintf(f_events,"Type Audio Text Length Id\n"); fclose(f_events); - espeak_Initialize(AUDIO_OUTPUT_PLAYBACK,1000,NULL,0); + espeak_Initialize(AUDIO_OUTPUT_RETRIEVAL,1000,NULL,1); espeak_SetSynthCallback(TestSynthCallback); espeak_SetUriCallback(TestUriCallback); diff --git a/src/numbers.cpp b/src/numbers.cpp index 943fe664..f4114d44 100644 --- a/src/numbers.cpp +++ b/src/numbers.cpp @@ -31,6 +31,7 @@ #include "speech.h" #include "phoneme.h" #include "synthesize.h" +#include "voice.h" #include "translate.h" @@ -44,6 +45,15 @@ void Translator::LookupLetter(int letter, int next_byte, char *ph_buf1) char ph_stress[2]; char ph_buf3[30]; + if((letter <= 32) || iswspace(letter)) + { + // lookup space as _&32 etc. + sprintf(&single_letter[1],"_#%d ",letter); + Lookup(&single_letter[1],ph_buf1); + return; + } + + len = utf8_out(letter,&single_letter[2]); single_letter[len+2] = ' '; @@ -89,11 +99,13 @@ int Translator::TranslateLetter(char *word, char *phonemes, int control) int n_bytes; int letter; int len; + int phoneme_tab_en; char *p2; char *pbuf; char capital[20]; - char ph_buf[50]; - char ph_buf2[50]; + char ph_buf[60]; + char ph_buf2[60]; + char ph_buf_en[60]; char hexbuf[6]; static char single_letter[10] = {0,0}; @@ -117,15 +129,6 @@ int Translator::TranslateLetter(char *word, char *phonemes, int control) } letter = towlower(letter); - if((letter <= 32) || iswspace(letter)) - { - // lookup space as _&32 etc. - sprintf(&single_letter[1],"_#%d ",letter); - Lookup(&single_letter[1],ph_buf); - strcat(phonemes,ph_buf); - return(n_bytes); - } - LookupLetter(letter, word[n_bytes], ph_buf); if(ph_buf[0] == phonSWITCH) @@ -133,6 +136,18 @@ int Translator::TranslateLetter(char *word, char *phonemes, int control) strcpy(phonemes,ph_buf); return(0); } + + if(ph_buf[0] == 0) + { + phoneme_tab_en = SetTranslator2("en"); + translator2->LookupLetter(letter, word[n_bytes], ph_buf_en); + if(ph_buf_en[0] != 0) + { + sprintf(ph_buf,"%c%c%s%c%c",phonSWITCH2, phoneme_tab_en + phonTOP, ph_buf_en, phonSWITCH2, voice->phoneme_tab_ix + phonTOP); + } + SelectPhonemeTable(voice->phoneme_tab_ix); // revert to original phoneme table + } + if(ph_buf[0] == 0) { // character name not found @@ -166,8 +181,8 @@ int Translator::TranslateLetter(char *word, char *phonemes, int control) -void Translator::SetSpellingStress(char *phonemes, int control) -{//============================================================ +void Translator::SetSpellingStress(char *phonemes, int control, int n_chars) +{//========================================================================= // Individual letter names, reduce the stress of some. int ix; unsigned int c; @@ -188,7 +203,7 @@ void Translator::SetSpellingStress(char *phonemes, int control) count = 0; for(ix=0; (c = buf[ix]) != 0; ix++) { - if(c == phonSTRESS_P) + if((c == phonSTRESS_P) && (n_chars > 1)) { count++; diff --git a/src/phoneme.h b/src/phoneme.h index fb2acc23..c2662cce 100755 --- a/src/phoneme.h +++ b/src/phoneme.h @@ -45,18 +45,19 @@ #define phTRILL 0x80 #define phVOWEL2 0x100 // liquid that is considered a vowel #define phPALATAL 0x200 -#define phLONG 0x1000 #define phAPPENDPH 0x2000 // always insert another phoneme (link_out) after this one #define phBRKAFTER 0x4000 // [*] add a post-pause #define phBEFOREPAUSE 0x8000 // replace with the link_out phoneme if the next phoneme is a pause -#define phALTERNATIVE 0x0c00 // bits 10,11 specifying use of alternative_ph +#define phALTERNATIVE 0x1c00 // bits 10,11,12 specifying use of alternative_ph #define phBEFOREVOWEL 0x0000 #define phBEFOREVOWELPAUSE 0x0400 #define phBEFORENOTVOWEL 0x0c00 +#define phBEFORENOTVOWEL2 0x1000 #define phSWITCHVOICING 0x0800 #define phNONSYLLABIC 0x100000 // don't count this vowel as a syllable when finding the stress position +#define phLONG 0x200000 // fixed phoneme code numbers, these can be used from the program code #define phonCONTROL 1 @@ -86,6 +87,8 @@ #define phonT_REDUCED 25 #define phonSTRESS_TONIC 26 #define phonPAUSE_CLAUSE 27 +#define phonSWITCH2 28 +#define phonTOP 28 // highest pre-defined phoneme number extern const unsigned char pause_phonemes[8]; // 0, vshort, short, pause, long, glottalstop diff --git a/src/phonemelist.cpp b/src/phonemelist.cpp index 7fd57122..4a186f3d 100755 --- a/src/phonemelist.cpp +++ b/src/phonemelist.cpp @@ -395,6 +395,14 @@ void Translator::MakePhonemeList(int post_pause, int start_sentence) alternative = ph->alternative_ph; break; + case phBEFORENOTVOWEL2: // LANG=tr + if(((plist2+1)->sourceix != 0) || + ((next->type != phVOWEL) && ((phoneme_tab[(plist2+2)->phcode]->type != phVOWEL) || ((plist2+2)->sourceix != 0)))) + { + alternative = ph->alternative_ph; + } + break; + case phBEFOREVOWELPAUSE: if((next->type == phVOWEL) || (next->type == phPAUSE)) alternative = ph->alternative_ph; diff --git a/src/speech.h b/src/speech.h index 6223c700..44dad5fe 100755 --- a/src/speech.h +++ b/src/speech.h @@ -41,6 +41,7 @@ #endif #ifdef _ESPEAKEDIT +#define USE_PORTAUDIO #define USE_ASYNC #define LOG_FRAMES // write keyframe info to log-espeakedit #endif diff --git a/src/synthdata.cpp b/src/synthdata.cpp index 08722858..dcb25dc2 100755 --- a/src/synthdata.cpp +++ b/src/synthdata.cpp @@ -35,8 +35,8 @@ #include "translate.h" #include "wave.h" -const char *version_string = "1.31.04 30.Jan.08"; -const int version_phdata = 0x013100; +const char *version_string = "1.31.05 04.Feb.08"; +const int version_phdata = 0x013105; int option_device_number = -1; diff --git a/src/tr_languages.cpp b/src/tr_languages.cpp index ad901d29..d7d88a19 100644 --- a/src/tr_languages.cpp +++ b/src/tr_languages.cpp @@ -669,15 +669,15 @@ SetLengthMods(tr,3); // all equal case L('t','r'): // Turkish { static const unsigned char stress_amps_tr[8] = {16,16, 20,20, 20,24, 24,22 }; - static const short stress_lengths_tr[8] = {180,150, 200,180, 0,0, 230,270}; + static const short stress_lengths_tr[8] = {170,170, 190,170, 0,0, 250,270}; tr = new Translator(); SetupTranslator(tr,stress_lengths_tr,stress_amps_tr); tr->charset_a0 = charsets[9]; // ISO-8859-9 - Latin5 - tr->langopts.stress_rule = 3; // stress on the last syllable + tr->langopts.stress_rule = 7; // stress on the last syllable, before any explicitly unstressed syllable - tr->langopts.numbers = 0x1009; + tr->langopts.numbers = 0x1d09; tr->langopts.max_initial_consonants = 2; } break; diff --git a/src/translate.cpp b/src/translate.cpp index a78c7faf..578c6719 100755 --- a/src/translate.cpp +++ b/src/translate.cpp @@ -38,7 +38,7 @@ Translator *translator = NULL; // the main translator -static Translator *translator2 = NULL; // secondary translator for certain words +Translator *translator2 = NULL; // secondary translator for certain words static char translator2_language[20] = {0}; FILE *f_trans = NULL; // phoneme output text @@ -750,6 +750,7 @@ if((wmark > 0) && (wmark < 8)) while(*wordx != ' ') { wordx += TranslateLetter(wordx, phonemes,spell_word); + posn++; if(phonemes[0] == phonSWITCH) { // change to another language in order to translate this word @@ -757,7 +758,7 @@ if((wmark > 0) && (wmark < 8)) return(0); } } - SetSpellingStress(phonemes,spell_word); + SetSpellingStress(phonemes,spell_word,posn); } else if(found == 0) @@ -776,6 +777,7 @@ if((wmark > 0) && (wmark < 8)) // find a remainder that we can pronounce. emphasize_allcaps = 0; wordx += TranslateLetter(wordx,phonemes,0); + posn++; if(phonemes[0] == phonSWITCH) { // change to another language in order to translate this word @@ -798,7 +800,7 @@ if((wmark > 0) && (wmark < 8)) if(length > 0) wordx[-1] = ' '; // prevent this affecting the pronunciation of the pronuncable part } - SetSpellingStress(phonemes,0); + SetSpellingStress(phonemes,0,posn); // anything left ? if(*wordx != ' ') @@ -1164,6 +1166,39 @@ static int CountSyllables(unsigned char *phonemes) return(count); } + +int SetTranslator2(const char *new_language) +{//========================================= +// Set translator2 to a second language + int new_phoneme_tab; + + if((new_phoneme_tab = SelectPhonemeTableName(new_language)) >= 0) + { + if((translator2 != NULL) && (strcmp(new_language,translator2_language) != 0)) + { + // we already have an alternative translator, but not for the required language, delete it + delete translator2; + translator2 = NULL; + } + + if(translator2 == NULL) + { + translator2 = SelectTranslator(new_language); + strcpy(translator2_language,new_language); + + if(translator2->LoadDictionary(new_language,0) != 0) + { + SelectPhonemeTable(voice->phoneme_tab_ix); // revert to original phoneme table + new_phoneme_tab = -1; + translator2_language[0] = 0; + } + } + } + return(new_phoneme_tab); +} // end of SetTranslator2 + + + int Translator::TranslateWord2(char *word, WORD_TAB *wtab, int pre_pause, int next_pause) {//====================================================================================== int flags=0; @@ -1199,27 +1234,31 @@ int Translator::TranslateWord2(char *word, WORD_TAB *wtab, int pre_pause, int ne if(word_flags & FLAG_EMBEDDED) { embedded_flag = SFLAG_EMBEDDED; - value = embedded_list[embedded_read] >> 8; - switch(embedded_cmd = embedded_list[embedded_read] & 0x1f) + do { - case EMBED_Y: - option_sayas = value; - break; + embedded_cmd = embedded_list[embedded_read++]; + value = embedded_cmd >> 8; - case EMBED_F: - option_emphasis = value; - break; - - case EMBED_B: - // break command - if(value == 0) - pre_pause = 0; // break=none - else - pre_pause += value; - break; - } - while((embedded_list[embedded_read++] & 0x80) == 0); // read over the embedded commands for this word + switch(embedded_cmd & 0x1f) + { + case EMBED_Y: + option_sayas = value; + break; + + case EMBED_F: + option_emphasis = value; + break; + + case EMBED_B: + // break command + if(value == 0) + pre_pause = 0; // break=none + else + pre_pause += value; + break; + } + } while((embedded_cmd & 0x80) == 0); } if(word[0] == 0) @@ -1328,28 +1367,9 @@ int Translator::TranslateWord2(char *word, WORD_TAB *wtab, int pre_pause, int ne new_language = (char *)(&p[1]); if(new_language[0]==0) new_language = "en"; - if((switch_phonemes = SelectPhonemeTableName(new_language)) >= 0) - { - if((translator2 != NULL) && (strcmp(new_language,translator2_language) != 0)) - { - // we already have an alternative translator, but not for the required language, delete it - delete translator2; - translator2 = NULL; - } - if(translator2 == NULL) - { - translator2 = SelectTranslator(new_language); - strcpy(translator2_language,new_language); + switch_phonemes = SetTranslator2(new_language); - if(translator2->LoadDictionary(new_language,0) != 0) - { - SelectPhonemeTable(voice->phoneme_tab_ix); // revert to original phoneme table - switch_phonemes = -1; - translator2_language[0] = 0; - } - } - } if(switch_phonemes >= 0) { // re-translate the word using the new translator @@ -1488,6 +1508,12 @@ int Translator::TranslateWord2(char *word, WORD_TAB *wtab, int pre_pause, int ne srcix = source_ix+1; } else + if(ph_code == phonSWITCH2) + { + SetPlist2(&ph_list2[n_ph_list2],phonSWITCH); + ph_list2[n_ph_list2++].tone_number = *p++ - phonTOP; // phoneme table number (phonTOP is added to avoid confusion with special phoneme numbers) + } + else if(ph_code == phonX1) { // a language specific action diff --git a/src/translate.h b/src/translate.h index 46ca94a0..2389bc2f 100755 --- a/src/translate.h +++ b/src/translate.h @@ -416,7 +416,7 @@ public: private: int TranslateWord2(char *word, WORD_TAB *wtab, int pre_pause, int next_pause); int TranslateLetter(char *letter, char *phonemes, int control); - void SetSpellingStress(char *phonemes, int control); + void SetSpellingStress(char *phonemes, int control, int n_chars); void WriteMnemonic(int *ix, int mnem); void MakePhonemeList(int post_pause, int new_sentence); int SubstitutePhonemes(PHONEME_LIST2 *plist_out); @@ -541,6 +541,7 @@ extern unsigned char punctuation_to_tone[INTONATION_TYPES][PUNCT_INTONATIONS]; extern int speech_parameters[]; extern Translator *translator; +extern Translator *translator2; extern const unsigned short *charsets[N_CHARSETS]; extern char dictionary_name[40]; extern char ctrl_embedded; // to allow an alternative CTRL for embedded commands @@ -554,6 +555,7 @@ extern int (* phoneme_callback)(const char *); extern void SetLengthMods(Translator *tr, int value); Translator *SelectTranslator(const char *name); +int SetTranslator2(const char *name); int CompileDictionary(const char *dsource, const char *dict_name, FILE *log, char *err_name,int flags); void LoadConfig(void); int PhonemeCode(unsigned int mnem);