Fix to UTF-8/8-bit character set recognition. lang=de, more additions to translation rules, changed phoneme name [OI] to [OY]. lang=it, turned of "syntactic doubling" (temporarily?) git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@51 d46cf337-b52f-0410-862d-fd96e6ae7743master
| _6 'zEks | _6 'zEks | ||||
| _7 'zi:b@n | _7 'zi:b@n | ||||
| _8 '_axt | _8 '_axt | ||||
| _9 'nOIn | |||||
| _9 'nOYn | |||||
| _10 'tse:n | _10 'tse:n | ||||
| _11 '_Elf | _11 '_Elf | ||||
| _12 'tsvWlf | _12 'tsvWlf | ||||
| _16 'zEktse:n | _16 'zEktse:n | ||||
| _17 'zi:btse:n | _17 'zi:btse:n | ||||
| _18 '_axttse:n | _18 '_axttse:n | ||||
| _19 'nOIntse:n | |||||
| _19 'nOYntse:n | |||||
| _2X 'tsvantsIC | _2X 'tsvantsIC | ||||
| _3X 'd@-*aItsIC | _3X 'd@-*aItsIC | ||||
| _4X 'fi:*tsIC | _4X 'fi:*tsIC | ||||
| _6X 'zEktsIC | _6X 'zEktsIC | ||||
| _7X 'zi:btsIC | _7X 'zi:btsIC | ||||
| _8X '_axttsIC | _8X '_axttsIC | ||||
| _9X 'nOIntsIC | |||||
| _9X 'nOYntsIC | |||||
| _0C 'hUnd3t | _0C 'hUnd3t | ||||
| _0M1 'taUz@nt | _0M1 'taUz@nt | ||||
| _1M1 'taUz@nt // no '1' before thousand | _1M1 'taUz@nt // no '1' before thousand | ||||
| bde bEnd@ | bde bEnd@ | ||||
| bzw b@tsi:hUNsvaIz@ | bzw b@tsi:hUNsvaIz@ | ||||
| chr k@-*Istu:s | chr k@-*Istu:s | ||||
| dm d'OItSm,A:*k $capital $only $abbrev | |||||
| dm d'OYtSm,A:*k $capital $only $abbrev | |||||
| dr dOkt'o:* | dr dOkt'o:* | ||||
| evtl e:vEntu:'El | evtl e:vEntu:'El | ||||
| od o:d3 | od o:d3 | ||||
| fr f@-*aU | fr f@-*aU | ||||
| frl f@-*OIlaIn | |||||
| frl f@-*OYlaIn | |||||
| hr hE* | hr hE* | ||||
| hrsg hE*'aUsge:b3 | hrsg hE*'aUsge:b3 | ||||
| inkl Inklu:s'i:v@ | inkl Inklu:s'i:v@ | ||||
| bis bIs $u+ $pause | bis bIs $u+ $pause | ||||
| da $u+ | da $u+ | ||||
| durch $u+ $pause | durch $u+ $pause | ||||
| für fy:* $u+ $pause | |||||
| für fy:* $u+ $pause $only | |||||
| gegen ge:g@n $u+ $pause | gegen ge:g@n $u+ $pause | ||||
| gegend ge:g@nt | gegend ge:g@nt | ||||
| hin hIn | hin hIn | ||||
| extrem Ekstr'e:m | extrem Ekstr'e:m | ||||
| feuerrot $3 | feuerrot $3 | ||||
| friedvoll f@-*'i:tf,Ol | |||||
| furchen fU*C@n | |||||
| furie $alt | furie $alt | ||||
| geben ge:b@n | geben ge:b@n | ||||
| miteinander $1 | miteinander $1 | ||||
| mitte mIt@ | mitte mIt@ | ||||
| modell mo:d'El | modell mo:d'El | ||||
| monoton $3 | |||||
| monsun $2 | |||||
| montag mo:ntA:k | |||||
| mors mO*s | |||||
| mumie $alt | mumie $alt | ||||
| nebulos $3 | nebulos $3 | ||||
| negligier ne:gli:Z'i:* | |||||
| negligent ne:gli:dZ'Ent | |||||
| oberen o:b@*@n | oberen o:b@*@n | ||||
| oboe o:bo:@ | oboe o:bo:@ | ||||
| ok o:k'e: | ok o:k'e: | ||||
| passage pas'aZ@ | passage pas'aZ@ | ||||
| perplex $2 | |||||
| petersilie $alt | petersilie $alt | ||||
| pinie $alt | pinie $alt | ||||
| planet plan'Et | planet plan'Et | ||||
| pochs pOxs | pochs pOxs | ||||
| präsident $3 | präsident $3 | ||||
| prämie $alt | prämie $alt | ||||
| problem p@-*Obl'e:m | |||||
| privatisier p@-*i:vati:z'i:* | |||||
| problematisier p@-*o:ble:m'a:tIzi:* | |||||
| reliquie $alt | reliquie $alt | ||||
| rupie $alt | rupie $alt |
| tr) ain En | tr) ain En | ||||
| akqu %akv | akqu %akv | ||||
| @A) al (_ 'A:l | @A) al (_ 'A:l | ||||
| g) al (_ 'A:l | |||||
| k) al (_ 'A:l | k) al (_ 'A:l | ||||
| n) al (_ 'A:l | n) al (_ 'A:l | ||||
| &kan) al (_ ,A:l | &kan) al (_ ,A:l | ||||
| &sign) al (_ ,A:l | &sign) al (_ ,A:l | ||||
| r) al (_ 'A:l | r) al (_ 'A:l | ||||
| t) al (_ 'A:l | |||||
| @) an (_ 'A:n | @) an (_ 'A:n | ||||
| ein) an (der 'an | ein) an (der 'an | ||||
| @) ant (_ 'ant | @) ant (_ 'ant | ||||
| _) anthropo ,ant@-*o:p%o: | _) anthropo ,ant@-*o:p%o: | ||||
| _) anti (@P4 ,anti: | _) anti (@P4 ,anti: | ||||
| anier (_N 'A:ni:3 | anier (_N 'A:ni:3 | ||||
| _) an (ten an | |||||
| _) an (th an | |||||
| _) appe (ll@ ,apE | _) appe (ll@ ,apE | ||||
| _) archa (i %a*CA | _) archa (i %a*CA | ||||
| arier (_N 'A:*i:3 | arier (_N 'A:*i:3 | ||||
| _) ch (or k | _) ch (or k | ||||
| bre) ch (en x | bre) ch (en x | ||||
| chro k@-*o: | |||||
| nä) chs (t Cs | nä) chs (t Cs | ||||
| c (ie s | c (ie s | ||||
| pla) c (ie ts | pla) c (ie ts | ||||
| dt t | dt t | ||||
| ddt t | ddt t | ||||
| _) daten (@P5 d'at@n | |||||
| _) deal _^_EN | _) deal _^_EN | ||||
| _) deme de:mE | _) deme de:mE | ||||
| demo (g de:mo: | demo (g de:mo: | ||||
| e (x E | e (x E | ||||
| ei aI | ei aI | ||||
| eu OI | |||||
| eu OY | |||||
| ey (_ e: | ey (_ e: | ||||
| eb (t_ e:p | eb (t_ e:p | ||||
| e (gt_+ e: | e (gt_+ e: | ||||
| &) el (_ @l | &) el (_ @l | ||||
| &) eln (_S1 n | &) eln (_S1 n | ||||
| &) elnd (_S2 nt | |||||
| &) e (lt_ @ | &) e (lt_ @ | ||||
| &) em (_NS2 @m | &) em (_NS2 @m | ||||
| &) em (_ 'e:m | &) em (_ 'e:m | ||||
| _) end (C@P3 'Ent | _) end (C@P3 'Ent | ||||
| _) endo (@ ,Endo: | _) endo (@ ,Endo: | ||||
| @) en (_S2 @n | @) en (_S2 @n | ||||
| &) end (_N @nt | |||||
| &) end (_NS3 @nt | |||||
| &) ende (_S4 @nd@ | |||||
| &) endem (_S5 @nd@m | |||||
| &) enden (_S5 @nd@n | |||||
| &) ender (_S5 @nd3 | |||||
| &) endes (_S5 @nd@s | |||||
| &) end (_ @nd | &) end (_ @nd | ||||
| ier) end (_NS3 @nt | ier) end (_NS3 @nt | ||||
| ier) end (_ @nd | ier) end (_ @nd | ||||
| @) er (r E* | @) er (r E* | ||||
| @) er (ti E* | @) er (ti E* | ||||
| @) er (nC E* | @) er (nC E* | ||||
| @) er (_S2 3 | |||||
| @) er (_S2 3 | |||||
| &) ere (_S3 @*@ | &) ere (_S3 @*@ | ||||
| &) erem (_S4 @*@m | &) erem (_S4 @*@m | ||||
| &) eren (_S4 @*@n | &) eren (_S4 @*@n | ||||
| _) ent (@P3 _|%Ent | _) ent (@P3 _|%Ent | ||||
| _) enten Ent@n | _) enten Ent@n | ||||
| _) ent (er Ent | _) ent (er Ent | ||||
| t) en (t En | |||||
| qu) en (tA En | |||||
| &) en (tum @n | |||||
| &) e (nz_ 'E | &) e (nz_ 'E | ||||
| _) epi (@ ,e:pi: | _) epi (@ ,e:pi: | ||||
| _) epi (sk e:pI | _) epi (sk e:pI | ||||
| _) flug fl'u:g | _) flug fl'u:g | ||||
| foto fo:to: | foto fo:to: | ||||
| _) free _^_EN | _) free _^_EN | ||||
| _) feudal f%OIdA:l | |||||
| _) feuer (@ fOI@* | |||||
| _) feudal f%OYdA:l | |||||
| _) feuer (@ fOY@* | |||||
| _) frev f@-*e:f | |||||
| _) froh (@P4 f@-*'o: | |||||
| _) frohlock f@-*o:l'Ok | |||||
| _) fung (A fUNg | |||||
| .group g | .group g | ||||
| _) g (_ ge: | _) g (_ ge: | ||||
| i (i i:_! | i (i i:_! | ||||
| @) ik (_ 'i:k | |||||
| s) ik (_ 'i:k | |||||
| @r) ik (_ Ik | |||||
| br) ik (_ 'i:k | |||||
| @t) ik (_ =i:k | @t) ik (_ =i:k | ||||
| polit) ik 'i:k | polit) ik 'i:k | ||||
| @) ik (el_ 'i:k | @) ik (el_ 'i:k | ||||
| _) inter Int@* | _) inter Int@* | ||||
| @) ion (_ j'o:n | @) ion (_ j'o:n | ||||
| @) io (n Io: | @) io (n Io: | ||||
| io Io: | |||||
| @) is (_ Is | @) is (_ Is | ||||
| &) isch (_ =IS | &) isch (_ =IS | ||||
| is (mus_ 'Is | is (mus_ 'Is | ||||
| ieh i: | ieh i: | ||||
| @) ie (_ 'i: | @) ie (_ 'i: | ||||
| &) ie (ll_ i:,E | |||||
| &) ie (ll_ I'E | |||||
| &) ie (r_ 'i: | &) ie (r_ 'i: | ||||
| u) ie (r_ _|'i: | u) ie (r_ _|'i: | ||||
| &) ie (rlich 'i: | &) ie (rlich 'i: | ||||
| mitt (eC mIt | mitt (eC mIt | ||||
| mitt (l mIt | mitt (l mIt | ||||
| _) mo (rb m%O | _) mo (rb m%O | ||||
| _) mono (@ m,o:no: | |||||
| _) motor m%o:to:* | _) motor m%o:to:* | ||||
| _) ms _^_EN | _) ms _^_EN | ||||
| musik m%u:zi:k | musik m%u:zi:k | ||||
| ng N | ng N | ||||
| // ng (A Ng | // ng (A Ng | ||||
| // ng (l Ng | // ng (l Ng | ||||
| o) ng (e ng | |||||
| o) ng (A Ng | |||||
| ng (r Ng | ng (r Ng | ||||
| nk Nk | nk Nk | ||||
| nk (A nk | nk (A nk | ||||
| fu) nk Nk | |||||
| nce (_ _^_EN | nce (_ _^_EN | ||||
| _) ne (b ne: | |||||
| nebeneina (nd n,e:b@n_|aIn'a | nebeneina (nd n,e:b@n_|aIn'a | ||||
| _) ne (g ne: | |||||
| neglig ne:gli:Z | |||||
| neglige ne:gli:Z | |||||
| &in) nen (_S3 @n | &in) nen (_S3 @n | ||||
| &) ness _^_EN | &) ness _^_EN | ||||
| news _^_EN | news _^_EN | ||||
| _) ob (jek %Op | _) ob (jek %Op | ||||
| _) obst (reP4 'o:pst | _) obst (reP4 'o:pst | ||||
| @) o (g_ 'o: | @) o (g_ 'o: | ||||
| t) ogen (_ o:g'e:n | |||||
| @) o (gin_ 'o: | @) o (gin_ 'o: | ||||
| o (l_ 'o: | |||||
| o (m_ 'o: | o (m_ 'o: | ||||
| @A) o (n_ 'o: | @A) o (n_ 'o: | ||||
| @) oo (_ u: | @) oo (_ u: | ||||
| z) oo (m u: | z) oo (m u: | ||||
| &t) or (_ =o:* | &t) or (_ =o:* | ||||
| &) oren (_ 'o:*@n | &) oren (_ 'o:*@n | ||||
| oso (_ 'o:zo: | |||||
| st) o (ss o: | st) o (ss o: | ||||
| passagie pasaZ'i: | passagie pasaZ'i: | ||||
| _) pay _^_EN | _) pay _^_EN | ||||
| _) peri p,e:*i: | _) peri p,e:*i: | ||||
| _) perio p,e:*Io: | |||||
| _) periphe p,e:*i:fe: | _) periphe p,e:*i:fe: | ||||
| _) personen (@P8 pE*s'o:n@n | |||||
| philie f'i:li: | philie f'i:li: | ||||
| _) pro (@ %p@-*o: | _) pro (@ %p@-*o: | ||||
| _) poly (@P4 p,o:ly: | _) poly (@P4 p,o:ly: | ||||
| partei p%a*taI | partei p%a*taI | ||||
| _) perfe (k p%E*fE | _) perfe (k p%E*fE | ||||
| _) polik p'o:li:k | |||||
| _) po (lit p%o: | |||||
| pool _^_EN | pool _^_EN | ||||
| power _^_EN | power _^_EN | ||||
| _) preß (@P4 p@-*'Es | _) preß (@P4 p@-*'Es | ||||
| _) prinzipien (@P9 p@-*Ints'i:pI@ | _) prinzipien (@P9 p@-*Ints'i:pI@ | ||||
| _) privat (@P6 p@-*i:v'A:t | |||||
| problem p@-*%o:ble:m | |||||
| _) psycho (@P6 ps,y:Co: | _) psycho (@P6 ps,y:Co: | ||||
| _) psycho (ti psy:C'o: | _) psycho (ti psy:C'o: | ||||
| _) pu (e p%u: | _) pu (e p%u: | ||||
| _) teen _^_EN | _) teen _^_EN | ||||
| thrill _^_EN | thrill _^_EN | ||||
| _pa) th t | _pa) th t | ||||
| the (era te: | |||||
| @) tient (_ tsI'Ent | @) tient (_ tsI'Ent | ||||
| @) tion tsI,o:n | @) tion tsI,o:n | ||||
| @) tion (_ tsI'o:n | @) tion (_ tsI'o:n | ||||
| _) z (_ tsEt | _) z (_ tsEt | ||||
| z ts | z ts | ||||
| z) z | z) z | ||||
| ziell tsj'El | |||||
| _) zer (@ %tsE* | |||||
| _) zentral (@P7 tsEnt@-*'A:l | |||||
| _) zentral (i tsEnt@-*al | |||||
| _) zer (@P3 tsE* | |||||
| _) zere (b tse:*e: | |||||
| _) zere (m tse:*e: | |||||
| ziell tsj'El | |||||
| _) zie (ge@P3 ts'aI | |||||
| _) zeit (@P4 ts'aIt | |||||
| _) ziel (@P4 ts'i:l | |||||
| _) zier (@P4 ts'i:* | |||||
| _) zigaretten (@P10 tsi:ga*'Et@n | |||||
| _) zigeu tsi:g'OY | |||||
| _) zu (C@P2 ts%u: | _) zu (C@P2 ts%u: | ||||
| _) zu (nC tsU | _) zu (nC tsU | ||||
| _) zurück (@P6 tsu:*'yk | _) zurück (@P6 tsu:*'yk | ||||
| .group ä | .group ä | ||||
| ä E: | ä E: | ||||
| äh (+ e: | äh (+ e: | ||||
| äu OI | |||||
| äu OY | |||||
| ä (C% E | ä (C% E | ||||
| ä (CC E | ä (CC E | ||||
| ö Y: | ö Y: | ||||
| öh (+ Y: | öh (+ Y: | ||||
| ö (_ 'Y: | |||||
| ö (C% W | ö (C% W | ||||
| ö (CC W | ö (CC W | ||||
| ö (sch W | ö (sch W | ||||
| .group | .group | ||||
| é e: | |||||
| ée 'e: | |||||
| é (_ 'e: | |||||
| , (D kOma | , (D kOma | ||||
| / slaS | / slaS | ||||
| % p@-*o:ts'Ent | % p@-*o:ts'Ent | ||||
| $ dOl@ | $ dOl@ | ||||
| € OI*o: | |||||
| € OY*o: | |||||
| £ paUnd | £ paUnd | ||||
| . pUnkt | . pUnkt |
| 3 @ @- a A A: aI aU | 3 @ @- a A A: aI aU | ||||
| E E2 E: e: I i: O o: | E E2 E: e: I i: O o: | ||||
| OI U u: W y y: Y: | |||||
| OY U u: W y y: Y: | |||||
| * : ; b C C2 d D | * : ; b C C2 d D | ||||
| dZ f g h j k l m | dZ f g h j k l m | ||||
| * : b c C d dZ f | * : b c C d dZ f | ||||
| g h j J k l m n | g h j J k l m n | ||||
| N n^ p R s S s2 t | N n^ p R s S s2 t | ||||
| tS ts v z Z z2 | |||||
| tS ts v z Z | |||||
| Dictionary it_dict | Dictionary it_dict | ||||
| l- l: o o: oU r- r: u | l- l: o o: oU r- r: u | ||||
| u: | u: | ||||
| * b c d d; dZ f g | |||||
| h j k l l^ m n N | |||||
| n^ p r R R^ R^/ s S | |||||
| t t; tS ts v w x z | |||||
| Z | |||||
| * b d d; dZ f g h | |||||
| j k l l^ m n N n^ | |||||
| p r R R^ R^/ s S t | |||||
| t; tS ts v w x z Z | |||||
| Dictionary sv_dict | Dictionary sv_dict |
| uninterest Vn'Int@r@st | uninterest Vn'Int@r@st | ||||
| university ju:nIv'3:sItI2 | university ju:nIv'3:sItI2 | ||||
| unite ju:n'aIt | unite ju:n'aIt | ||||
| unless Vnl'Es | |||||
| unread Vnr'Ed $only | unread Vnr'Ed $only | ||||
| unsure VnS'U@ | unsure VnS'U@ | ||||
| untidy Vnt'aIdI2 | untidy Vnt'aIdI2 |
| C) y (abl I2 | C) y (abl I2 | ||||
| y (y | y (y | ||||
| y (C I | y (C I | ||||
| C) y I2 | |||||
| y (Be# aI | y (Be# aI | ||||
| @C) y (Be# aI | @C) y (Be# aI | ||||
| ye (_ aI | ye (_ aI |
| _. pont | _. pont | ||||
| % sa:zAle:k | % sa:zAle:k | ||||
| @ kukAts | @ kukAts | ||||
| € Eu*o | |||||
| € EuRo | |||||
| + plus | + plus | ||||
| § p'A*AgRAfuS | |||||
| § pRARAgRAfuS | |||||
| C) ds tS | C) ds tS | ||||
| ds (C tS | ds (C tS | ||||
| A) ds (A tS: | A) ds (A tS: | ||||
| dsz dz | |||||
| dsz ts | |||||
| dsz (C ts | dsz (C ts | ||||
| A) dsz (A ts: | A) dsz (A ts: | ||||
| dz dz | dz dz | ||||
| _) semmelweiss sEmmElvEjs | _) semmelweiss sEmmElvEjs | ||||
| engel) s s | engel) s s | ||||
| _) saar sAAR | |||||
| _) saar sa:R | |||||
| .group t | .group t | ||||
| zs Z | zs Z | ||||
| zzs Z: | zzs Z: | ||||
| gá) z (sz z2 // don't devoice [z] to [s] | |||||
| gé) z (sz z2 | |||||
| há) z (so z2 | |||||
| há) z (sz z2 | |||||
| lá) z (sz z2 | |||||
| má) zc (sz z2 | |||||
| mé) zc (sz z2 | |||||
| nehé) z (sé z2 | |||||
| tű) z (sz z2 | |||||
| ví) z (sz z2 | |||||
| ga) zs (ág z2S | |||||
| _gá) zsz (ámla z2s: | |||||
| _gá) zsz (ámlá z2s: | |||||
| _ré) zs (ó z2S | |||||
| _vá) zs (or z2S | |||||
| _szára) zs (ág z2S | |||||
| _kö) zs (ég z2S | |||||
| gá) z (sz z // don't devoice [z] to [s] | |||||
| gé) z (sz z | |||||
| há) z (so z | |||||
| há) z (sz z | |||||
| lá) z (sz z | |||||
| má) zc (sz z | |||||
| mé) zc (sz z | |||||
| nehé) z (sé z | |||||
| tű) z (sz z | |||||
| ví) z (sz z | |||||
| tor) z (szülött z | |||||
| ga) zs (ág zS | |||||
| _gá) zsz (ámla zs: | |||||
| _gá) zsz (ámlá zs: | |||||
| _ré) zs (ó zS | |||||
| _vá) zs (or zS | |||||
| _szára) zs (ág zS | |||||
| _kö) zs (ég zS | |||||
| .group | .group |
| _4X St'i*idsat; | _4X St'i*idsat; | ||||
| _5X p'&t;d;esjat | _5X p'&t;d;esjat | ||||
| _6X S'est;d;esjat | _6X S'est;d;esjat | ||||
| _7X s'ed;emdsjat | |||||
| _7X s'ed;emd;esjat | |||||
| _8X 'osemd;esjat | _8X 'osemd;esjat | ||||
| _9X d'ev&t;d;esjat | _9X d'ev&t;d;esjat | ||||
| _0C st'o | _0C st'o | ||||
| // treat as letters if at the end of the clause | // treat as letters if at the end of the clause | ||||
| a a: $atend // letter-a | a a: $atend // letter-a | ||||
| k ke: $atend // letter-k | |||||
| k ka: $atend // letter-k | |||||
| o o: $atend // letter-o | o o: $atend // letter-o | ||||
| s es $atend | s es $atend | ||||
| v ve: $atend | v ve: $atend |
| ě e | ě e | ||||
| ů u: // czech | ů u: // czech | ||||
| $ dola:r | $ dola:r | ||||
| % percento | |||||
| % pertsento | |||||
| + plus | + plus | ||||
| // 557 | |||||
| // 557 |
| fr 32 118 | fr 32 118 | ||||
| fr_ca 11 118 | fr_ca 11 118 | ||||
| hi 49 131 | hi 49 131 | ||||
| hu 24 114 | |||||
| hu 23 113 | |||||
| nl 26 117 | nl 26 117 | ||||
| pl 15 107 | pl 15 107 | ||||
| sk 29 125 | sk 29 125 | ||||
| 2 ufric/hu_fi fi | 2 ufric/hu_fi fi | ||||
| 2 ufric/ll base is | 2 ufric/ll base is | ||||
| 3 ufric/s base es pt | 3 ufric/s base es pt | ||||
| 13 ufric/s_ base fi fr hu es pt ro | |||||
| 11 ufric/s_ base fi fr hu es pt ro | |||||
| 15 ufric/s! base fi hu es pt | 15 ufric/s! base fi hu es pt | ||||
| 2 ufric/s_continue fi hu | 2 ufric/s_continue fi hu | ||||
| 2 ufric/sh base pt_pt | 2 ufric/sh base pt_pt | ||||
| 6 vocw/v base ro | 6 vocw/v base ro | ||||
| 4 vocw/zh base ro | 4 vocw/zh base ro | ||||
| 2 vocw/zh_rfx base | 2 vocw/zh_rfx base | ||||
| 4 voc/z base fr hu ro | |||||
| 4 voc/z_ base fr hu ro | |||||
| 3 voc/z base fr ro | |||||
| 3 voc/z_ base fr ro | |||||
| 4 voc/zh base sk ro | 4 voc/zh base sk ro | ||||
| 3 voc/zh_ base ro | 3 voc/zh_ base ro | ||||
| 1 voc/zh_2 sk | 1 voc/zh_2 sk |
| endphoneme | endphoneme | ||||
| phoneme OI | |||||
| phoneme OY | |||||
| vowel starttype (o) endtype (i) | vowel starttype (o) endtype (i) | ||||
| length 220 | length 220 | ||||
| formants vdiph/oi | formants vdiph/oi |
| endphoneme | endphoneme | ||||
| phoneme z2 // [z] but without switchvoicing | |||||
| vcd alv frc sibilant | |||||
| vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50 | |||||
| formants voc/z+ufric/s_ | |||||
| before _ voc/z_+ufric/s_%80 | |||||
| lengthmod 6 | |||||
| endphoneme | |||||
| int OpenWavFile(const char *path, int rate) | |||||
| //========================================= | |||||
| int OpenWavFile(char *path, int rate) | |||||
| //=================================== | |||||
| { | { | ||||
| static unsigned char wave_hdr[44] = { | static unsigned char wave_hdr[44] = { | ||||
| 'R','I','F','F',0,0,0,0,'W','A','V','E','f','m','t',' ', | 'R','I','F','F',0,0,0,0,'W','A','V','E','f','m','t',' ', | ||||
| if(path[0] == 0) | if(path[0] == 0) | ||||
| return(0); | return(0); | ||||
| if(path == "stdout") | |||||
| if(strcmp(path,"stdout")==0) | |||||
| f_wavfile = stdout; | f_wavfile = stdout; | ||||
| else | else | ||||
| f_wavfile = fopen(path,"wb"); | f_wavfile = fopen(path,"wb"); | ||||
| { | { | ||||
| unsigned int pos; | unsigned int pos; | ||||
| if((f_wavfile==NULL) || (wavefile == "stdout")) | |||||
| if((f_wavfile==NULL) || (f_wavfile == stdout)) | |||||
| return; | return; | ||||
| fflush(f_wavfile); | fflush(f_wavfile); |
| espeak_Initialize(AUDIO_OUTPUT_RETRIEVAL,1000,NULL,1); | espeak_Initialize(AUDIO_OUTPUT_RETRIEVAL,1000,NULL,1); | ||||
| espeak_SetSynthCallback(TestSynthCallback); | espeak_SetSynthCallback(TestSynthCallback); | ||||
| espeak_SetUriCallback(TestUriCallback); | |||||
| unsigned int unique_identifier=0; | unsigned int unique_identifier=0; | ||||
| int index=0; | int index=0; |
| if((c2 & 0xc0) != 0x80) | if((c2 & 0xc0) != 0x80) | ||||
| { | { | ||||
| // This is not UTF8. Change to 8-bit characterset. | // This is not UTF8. Change to 8-bit characterset. | ||||
| if(n_bytes > 1) | |||||
| if((n_bytes == 2) && (ix == 1)) | |||||
| ungot2 = cbuf[2]; | ungot2 = cbuf[2]; | ||||
| GetC_unget(c2); | GetC_unget(c2); | ||||
| break; | break; | ||||
| sprintf(p,"\001+10S%s",tone_punct_on); | sprintf(p,"\001+10S%s",tone_punct_on); | ||||
| while(punct_count-- > 0) | while(punct_count-- > 0) | ||||
| sprintf(buf,"%s %s",buf,punctname); | sprintf(buf,"%s %s",buf,punctname); | ||||
| sprintf(p,"%s %s\001S",buf,tone_punct_off); | |||||
| sprintf(p,"%s %s\001-10S",buf,tone_punct_off); | |||||
| } | } | ||||
| else | else | ||||
| { | { |
| extern "C" | extern "C" | ||||
| #endif | #endif | ||||
| void espeak_SetUriCallback(int (*UriCallback)(int, const char*, const char*)); | void espeak_SetUriCallback(int (*UriCallback)(int, const char*, const char*)); | ||||
| /* This function must be called before synthesis functions are used, in order to deal with | |||||
| /* This function may be called before synthesis functions are used, in order to deal with | |||||
| <audio> tags. It specifies a callback function which is called when an <audio> element is | <audio> tags. It specifies a callback function which is called when an <audio> element is | ||||
| encountered and allows the calling program to indicate whether the sound file which | encountered and allows the calling program to indicate whether the sound file which | ||||
| is specified in the <audio> element is available and is to be played. | is specified in the <audio> element is available and is to be played. |
| #include "translate.h" | #include "translate.h" | ||||
| #include "wave.h" | #include "wave.h" | ||||
| const char *version_string = "1.26.06 18.Jun.07"; | |||||
| const char *version_string = "1.26.08 19.Jun.07"; | |||||
| const int version_phdata = 0x012601; | const int version_phdata = 0x012601; | ||||
| int option_device_number = -1; | int option_device_number = -1; |
| tr->langopts.unstressed_wd1 = 2; | tr->langopts.unstressed_wd1 = 2; | ||||
| tr->langopts.unstressed_wd2 = 2; | tr->langopts.unstressed_wd2 = 2; | ||||
| tr->langopts.param[LOPT_IT_LENGTHEN] = 2; // remove lengthen indicator from unstressed or non-penultimate syllables | tr->langopts.param[LOPT_IT_LENGTHEN] = 2; // remove lengthen indicator from unstressed or non-penultimate syllables | ||||
| tr->langopts.param[LOPT_IT_DOUBLING] = 2; | |||||
| // tr->langopts.param[LOPT_IT_DOUBLING] = 2; | |||||
| tr->langopts.param[LOPT_SONORANT_MIN] = 130; // limit the shortening of sonorants before short vowels | tr->langopts.param[LOPT_SONORANT_MIN] = 130; // limit the shortening of sonorants before short vowels | ||||
| tr->langopts.param[LOPT_REDUCE] = 1; // reduce vowels even if phonemes are specified in it_list | tr->langopts.param[LOPT_REDUCE] = 1; // reduce vowels even if phonemes are specified in it_list | ||||
| tr->langopts.numbers = 0x2709; | tr->langopts.numbers = 0x2709; |
| char end_phonemes2[N_WORD_PHONEMES]; | char end_phonemes2[N_WORD_PHONEMES]; | ||||
| // remove any standard suffix and confirm that the prefix is still recognised | // remove any standard suffix and confirm that the prefix is still recognised | ||||
| phonemes2[0] = 0; | |||||
| end2 = TranslateRules(word, phonemes2, N_WORD_PHONEMES, end_phonemes2, wflags|FLAG_NO_PREFIX|FLAG_NO_TRACE, dictionary_flags); | end2 = TranslateRules(word, phonemes2, N_WORD_PHONEMES, end_phonemes2, wflags|FLAG_NO_PREFIX|FLAG_NO_TRACE, dictionary_flags); | ||||
| if(end2) | if(end2) | ||||
| { | { |
| #define LOPT_LENGTH_MODS 6 | #define LOPT_LENGTH_MODS 6 | ||||
| // increase this to prevent sonorants being shortened before shortened (eg. unstressed) vowels | // increase this to prevent sonorants being shortened before shortened (eg. unstressed) vowels | ||||
| #define LOPT_SONORANT_MIN 7 | #define LOPT_SONORANT_MIN 7 | ||||
| // Italian "syntactic doubling" | |||||
| // bit 0=Italian "syntactic doubling" of consoants in the word after a word marked with $double attribute | |||||
| // bit 1=also after a word which ends with a stressed vowel | |||||
| #define LOPT_IT_DOUBLING 8 | #define LOPT_IT_DOUBLING 8 | ||||
| // max. amplitude for vowel at the end of a clause | // max. amplitude for vowel at the end of a clause | ||||
| #define LOPT_MAXAMP_EOC 9 | #define LOPT_MAXAMP_EOC 9 |
| extern "C" | extern "C" | ||||
| #endif | #endif | ||||
| ESPEAK_API void espeak_SetUriCallback(int (*UriCallback)(int, const char*, const char*)); | ESPEAK_API void espeak_SetUriCallback(int (*UriCallback)(int, const char*, const char*)); | ||||
| /* This function must be called before synthesis functions are used, in order to deal with | |||||
| /* This function may be called before synthesis functions are used, in order to deal with | |||||
| <audio> tags. It specifies a callback function which is called when an <audio> element is | <audio> tags. It specifies a callback function which is called when an <audio> element is | ||||
| encountered and allows the calling program to indicate whether the sound file which | encountered and allows the calling program to indicate whether the sound file which | ||||
| is specified in the <audio> element is available and is to be played. | is specified in the <audio> element is available and is to be played. |