Fix SSML <prosody rate> to allow the maximum rate of 390 wpm. Fixes to the generation of the dict_phonemes report. Lang=en-n adjust vowel sounds. Compile phonemes: automatically assume vowel-break marker in second keyframe of a vowel file if none is set. Set letter group 'A' to "vowel letters only" for Indic alphabets. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@195 d46cf337-b52f-0410-862d-fd96e6ae7743master
| constantia $2 | constantia $2 | ||||
| christiana kr@stij'A:na | christiana kr@stij'A:na | ||||
| damaskus d@maskWs | damaskus d@maskWs | ||||
| djakarta dZak'arta | |||||
| doebaai $2 | doebaai $2 | ||||
| duitswes dYytsv'Es | duitswes dYytsv'Es | ||||
| ermelo &rm@lo@ | ermelo &rm@lo@ | ||||
| springs _^_EN $capital | springs _^_EN $capital | ||||
| sunnyside _^_EN | sunnyside _^_EN | ||||
| swellendam $3 | swellendam $3 | ||||
| tokio to@kiu | |||||
| tunisië $2 | tunisië $2 | ||||
| turkye $2 | turkye $2 | ||||
| ulundi ul'undi | ulundi ul'undi | ||||
| harry _^_EN | harry _^_EN | ||||
| havenga hA:f@Nx2a | havenga hA:f@Nx2a | ||||
| haydn hAId@n | haydn hAId@n | ||||
| helen _^_EN | |||||
| helena hil'e@na | helena hil'e@na | ||||
| helloïse hEluw'i:z | helloïse hEluw'i:z | ||||
| henry _^_EN | henry _^_EN | ||||
| martha marta | martha marta | ||||
| martin m'A:rt@n | martin m'A:rt@n | ||||
| mary _^_EN | mary _^_EN | ||||
| matteus mat'i:Ws | |||||
| matthéüs mat'i:Ws | matthéüs mat'i:Ws | ||||
| mefistofeles mEfist'o@f@l@s | mefistofeles mEfist'o@f@l@s | ||||
| melanie m@lA:ni | melanie m@lA:ni | ||||
| dikwels dIkv@ls | dikwels dIkv@ls | ||||
| diplomasie d@plo@mas'i | diplomasie d@plo@mas'i | ||||
| doktore $2 | doktore $2 | ||||
| doyen dO:j'En | |||||
| dubbelken dWb@lkEn | dubbelken dWb@lkEn | ||||
| dusver dWsf&r | dusver dWsf&r | ||||
| genade $2 | genade $2 | ||||
| genesis x2e@n@s@s | genesis x2e@n@s@s | ||||
| //gesamentlik x2@sA:m@ntl@k | //gesamentlik x2@sA:m@ntl@k | ||||
| globale x2lo@b'A:l@ | |||||
| gooi x2OI | gooi x2OI | ||||
| gomorra x2@mOra | gomorra x2@mOra | ||||
| graffiti graf'iti | graffiti graf'iti | ||||
| insomnia @nsOmnija | insomnia @nsOmnija | ||||
| intens @nt'Ens | intens @nt'Ens | ||||
| intensiteit $4 | intensiteit $4 | ||||
| ironieë irun'i:@ | |||||
| jawoord jA:vo@rt | jawoord jA:vo@rt | ||||
| jupiter jupit@r | jupiter jupit@r |
| Dictionary de_dict | Dictionary de_dict | ||||
| 3 @ @- a A A: aI aU | 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 | * : ; b C C2 d D | ||||
| dZ f g h j k l m | dZ f g h j k l m | ||||
| 0 3 3: @ @- @2 @5 @L | 0 3 3: @ @- @2 @5 @L | ||||
| a a2 A: A@ aa aI aI@ aU | a a2 A: A@ aa aI aI@ aU | ||||
| aU@ A~ E e: e@ eI I i | |||||
| I2 i: i@ i@3 IR O O: o: | |||||
| O@ o@ OI oU O~ U u: U@ | |||||
| V VR | |||||
| * : ; ? b C d D | |||||
| dZ f g g- h j k l | |||||
| L m n N n^ p Q r | |||||
| r- s S t T t2 tS v | |||||
| w x z Z | |||||
| aU@ A~ E e@ eI I i I2 | |||||
| i: i@ i@3 IR O O: o: O@ | |||||
| o@ OI oU O~ U u: U@ V | |||||
| VR | |||||
| : ; ? b C d D dZ | |||||
| f g g- h j k l L | |||||
| m n N n^ p Q r r- | |||||
| s S t T t2 tS v w | |||||
| x z Z | |||||
| Dictionary eo_dict | Dictionary eo_dict | ||||
| O2 O~ u u: W W2 w^i wA | O2 O~ u u: W W2 w^i wA | ||||
| W~ y Y | W~ y Y | ||||
| : ; b c d dZ f g | |||||
| h j k l m n N n2 | |||||
| n^ p p2 r R R2 r2 s | |||||
| S t t2 t3 tS v w z | |||||
| Z z2 z3 | |||||
| : ; b d dZ f g h | |||||
| j k l m n N n2 n^ | |||||
| p p2 r R R2 r2 s S | |||||
| t t2 t3 tS v w z Z | |||||
| z2 z3 | |||||
| Dictionary grc_dict | Dictionary grc_dict | ||||
| Dictionary hbs_dict | Dictionary hbs_dict | ||||
| & @ @2 a A a: aI aU | & @ @2 a A a: aI aU | ||||
| E e E# e: i I i: l- | |||||
| O o o: oU r* r- u U | |||||
| u: | |||||
| E e e: i I i: l- O | |||||
| o o: oU r* r- u U u: | |||||
| * ; b d dZ dZ; f g | * ; b d dZ dZ; f g | ||||
| h j k l L l^ m n | h j k l L l^ m n | ||||
| - : b c ch d d. f | - : b c ch d d. f | ||||
| g h H j J k kh l | g h H j J k kh l | ||||
| l. m n N n. n^ p ph | l. m n N n. n^ p ph | ||||
| Q q r s S s. t T | |||||
| t. t.h th v w x z | |||||
| Q q r r. s S s. t | |||||
| T t. t.h th v w x z | |||||
| Dictionary hu_dict | Dictionary hu_dict | ||||
| Dictionary mk_dict | Dictionary mk_dict | ||||
| & @ @- @2 a A a: E | & @ @- @2 a A a: E | ||||
| e E# e: i I i: l- o | |||||
| o: oU r- u u: | |||||
| e e: i I i: l- o o: | |||||
| oU r- u u: | |||||
| * b d dZ dZ; f g h | * b d dZ dZ; f g h | ||||
| j k k^ l l^ m n N | j k k^ l l^ m n N | ||||
| g h j k l l^ m n | g h j k l l^ m n | ||||
| N n^ p Q r R r- s | N n^ p Q r R r- s | ||||
| S s# s; t T tS ts v | S s# s; t T tS ts v | ||||
| w w2 x z Z | |||||
| w x z Z | |||||
| Dictionary ro_dict | Dictionary ro_dict | ||||
| o o- ou u u@ ua uai uei | o o- ou u u@ ua uai uei | ||||
| uo y y& y@ yE yi yu | uo y y& y@ yE yi yu | ||||
| : ; 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) ; C 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. | |||||
| Dictionary zhy_dict | Dictionary zhy_dict | ||||
| Dictionary bn_dict | Dictionary bn_dict | ||||
| a a~ e e: e~ i I i~ | |||||
| l- o O oI oU o~ O~ r- | |||||
| u u~ V | |||||
| a a~ e e~ i i~ l- o | |||||
| O oI oU o~ O~ r- u u~ | |||||
| V | |||||
| ** b c ch d d. e[ g | ** b c ch d d. e[ g | ||||
| h j J k kh l m n | h j J k kh l m n | ||||
| N p ph r R s S t | |||||
| t. t.h th z. | |||||
| N p ph r R r. s S | |||||
| t t. t.h th |
| // ?5 split [3:] er [3:], ir [IR], ur [VR] | // ?5 split [3:] er [3:], ir [IR], ur [VR] | ||||
| // ?6 'one' = [wVn], 'of' = [Vv] | // ?6 'one' = [wVn], 'of' = [Vv] | ||||
| // ?7 Scottish | // ?7 Scottish | ||||
| // ?8 Use full vowel, not schwa in some word endings | |||||
| // letter names, as they are spoken as a single character in text | // letter names, as they are spoken as a single character in text | ||||
| // precede by _ to distinguish from pronunciation as a language word | // precede by _ to distinguish from pronunciation as a language word | ||||
| holme hoUm | holme hoUm | ||||
| holster hoUlst3 | holster hoUlst3 | ||||
| holy hoUlI2 | holy hoUlI2 | ||||
| homeowner hoUmoUn3 | |||||
| homepage hoUmpeIdZ | homepage hoUmpeIdZ | ||||
| hominem h0mInEm | hominem h0mInEm | ||||
| hopi hoUpi: | hopi hoUpi: | ||||
| laboratory la2b'0r@trI2 | laboratory la2b'0r@trI2 | ||||
| labor leIb3 | labor leIb3 | ||||
| labored leIb@d | labored leIb@d | ||||
| laborer leIb@r3 | |||||
| lager lA:g3 | lager lA:g3 | ||||
| landowner l'and,oUn3 | landowner l'and,oUn3 | ||||
| las ,las | las ,las | ||||
| Cassandra k@sandr@ | Cassandra k@sandr@ | ||||
| Cassey keIsI2 | Cassey keIsI2 | ||||
| Catherine kaTrIn | Catherine kaTrIn | ||||
| Cecile sEsi:l | |||||
| Chris krIs | Chris krIs | ||||
| Connor k0n3 | Connor k0n3 | ||||
| Daphne dafnI2 | Daphne dafnI2 | ||||
| Karen kar@n | Karen kar@n | ||||
| Karene ka2ri:n | Karene ka2ri:n | ||||
| Katherine kaTrIn | Katherine kaTrIn | ||||
| Katie keItI2 | |||||
| Kieran ki@r@n | Kieran ki@r@n | ||||
| Laurence l0r@ns | Laurence l0r@ns | ||||
| Lawrence l0r@ns | Lawrence l0r@ns |
| de (creas di: | de (creas di: | ||||
| de (crem dE | de (crem dE | ||||
| de (du dI2 | de (du dI2 | ||||
| _) de (emp d%i: | |||||
| _) de (f@ dI2 | _) de (f@ dI2 | ||||
| de (fect_ di: | de (fect_ di: | ||||
| de (finit dE | de (finit dE | ||||
| sp) e (cia E | sp) e (cia E | ||||
| sp) e (cies i: | sp) e (cies i: | ||||
| _) e (cl I2 | _) e (cl I2 | ||||
| @) e (ctive 'E | |||||
| _) eco (s i:koU | _) eco (s i:koU | ||||
| econo (m Ik'0n@ | econo (m Ik'0n@ | ||||
| econo (mic i:k@n'0 | econo (mic i:k@n'0 | ||||
| am) it (e aIt | am) it (e aIt | ||||
| un) it (e aIt | un) it (e aIt | ||||
| _sp) it (e aIt | _sp) it (e aIt | ||||
| wr) it (e aIt | |||||
| wr) ite aIt | |||||
| _s) it (e aIt | _s) it (e aIt | ||||
| x) ite (_ aIt | x) ite (_ aIt | ||||
| it (erat It | it (erat It | ||||
| l) it (er It | l) it (er It | ||||
| wr) it (er aIt | |||||
| ithe_ aID | ithe_ aID | ||||
| l) ithe aID | l) ithe aID | ||||
| l) ith (er ID | l) ith (er ID | ||||
| ?8 &s) tion tSVn | ?8 &s) tion tSVn | ||||
| tion (al S=@-n | tion (al S=@-n | ||||
| &) tious S=@s | &) tious S=@s | ||||
| AC) tive (_ =tIv | |||||
| for) tuna (t tS@n@ | for) tuna (t tS@n@ | ||||
| s) t (l | s) t (l | ||||
| to (morr t@ | to (morr t@ | ||||
| n) uclear ju:kli@3 | n) uclear ju:kli@3 | ||||
| ?3 n) ucle u:klI | ?3 n) ucle u:klI | ||||
| ?3 n) uclear u:kli@3 | ?3 n) uclear u:kli@3 | ||||
| @) u (ctive 'V | |||||
| @) u (da_ 'ju: | @) u (da_ 'ju: | ||||
| u (guC V | u (guC V | ||||
| f) u (gal 'ju: | f) u (gal 'ju: | ||||
| earb) y (_ aI | earb) y (_ aI | ||||
| h) y (Cr aI | h) y (Cr aI | ||||
| c) y (lin I | c) y (lin I | ||||
| c) y (r I | |||||
| th) y (l_ aI | th) y (l_ aI | ||||
| fl) y aI | fl) y aI | ||||
| gl) y (ph I | gl) y (ph I |
| // 2006-11-18 Gilles Casse <[email protected]> | // 2006-11-18 Gilles Casse <[email protected]> | ||||
| // | // | ||||
| // Updated 2008-09-21 Michel Such <[email protected]> | |||||
| // Updated 2008-09-24 Michel Such <[email protected]> | |||||
| // | // | ||||
| // * Numbers, a few abbreviations and exceptions. | // * Numbers, a few abbreviations and exceptions. | ||||
| // | // | ||||
| _brv bR'Ev | _brv bR'Ev | ||||
| _ced sed'ij | _ced sed'ij | ||||
| _cir aksA~sirkO~fl'Eks | _cir aksA~sirkO~fl'Eks | ||||
| _dia tR@m'a | |||||
| _dia tRem'a | |||||
| _dot pwE~syskr'i | _dot pwE~syskr'i | ||||
| _grv aksA~gr'av | _grv aksA~gr'av | ||||
| _hac kar'O~ | _hac kar'O~ | ||||
| (chef d'oeuvre) chédeuvre $text | (chef d'oeuvre) chédeuvre $text | ||||
| (chef d'oeuvres) chédeuvres $text | (chef d'oeuvres) chédeuvres $text | ||||
| choeur kWr | choeur kWr | ||||
| cocus coky | |||||
| converter converteur $text | |||||
| cocus koky | |||||
| dernier dE2rnjer2 | dernier dE2rnjer2 | ||||
| éloquent ElokA~t2 | éloquent ElokA~t2 | ||||
| fier fier $verb | fier fier $verb | ||||
| brut br'yt | brut br'yt | ||||
| but by $verb | but by $verb | ||||
| but byt | but byt | ||||
| cut cWt | |||||
| cut kWt | |||||
| mazout mazut | mazout mazut | ||||
| michael mikaEl | michael mikaEl | ||||
| out aut | out aut |
| // 2006-11-18 Gilles Casse <[email protected]> | // 2006-11-18 Gilles Casse <[email protected]> | ||||
| // | // | ||||
| // Updated: 2008-09-19 Michel Such <[email protected]> | |||||
| // Updated: 2008-09-24 Michel Such <[email protected]> | |||||
| // | // | ||||
| // Letter classes: | // Letter classes: | ||||
| Cr) eamer i:mWr | Cr) eamer i:mWr | ||||
| Cl) eaner i:nWr | Cl) eaner i:nWr | ||||
| Ack) et (_ Et | Ack) et (_ Et | ||||
| vert) e (rX W | |||||
| eïn (_ 'Ein | eïn (_ 'Ein | ||||
| ट t.@ | ट t.@ | ||||
| ठ t.h@ | ठ t.h@ | ||||
| ड d.@ | ड d.@ | ||||
| ड़ r.@ | |||||
| ढ d.h@ | ढ d.h@ | ||||
| ण n.@ // should be n.@ | |||||
| ण n.@ // retroflex n.@ | |||||
| त t@ | त t@ | ||||
| थ th@ | थ th@ | ||||
| द d@ | द d@ | ||||
| ळ l.@ | ळ l.@ | ||||
| व v@ | व v@ | ||||
| श S@ | श S@ | ||||
| ष s.@ // should be retroflex [S] | |||||
| ष s.@ // retroflex [S] | |||||
| स s@ | स s@ | ||||
| ह H@ | ह H@ | ||||
| क़ q@ | क़ q@ |
| ड (B d. | ड (B d. | ||||
| ?1 ड (_ d. | ?1 ड (_ d. | ||||
| ड़ r.V | |||||
| ड़ (B r. | |||||
| ?1 ड़ (_ r. | |||||
| .group ढ | .group ढ | ||||
| ढ d.hV | ढ d.hV | ||||
| ढ (B d.h | ढ (B d.h | ||||
| ?1 ढ (_ d.h | ?1 ढ (_ d.h | ||||
| ढ़ r-V // nukta (should retroflex flap) | |||||
| ढ़ (B r- // nukta | |||||
| ?1 ढ़ (_ r- // nukta | |||||
| ढ़ r.hV // nukta (should retroflex flap) | |||||
| ढ़ (B r.h // nukta | |||||
| ?1 ढ़ (_ r.h // nukta | |||||
| .group ण | .group ण | ||||
| ण n.V // (temporary) same as dental [n] | ण n.V // (temporary) same as dental [n] | ||||
| ?1 ज़ (_ z | ?1 ज़ (_ z | ||||
| .group ड़ // dddha (should retroflex flap) | .group ड़ // dddha (should retroflex flap) | ||||
| ड़ r-V | |||||
| ड़ (B r- | |||||
| ?1 ड़ (_ r- | |||||
| ड़ r.V | |||||
| ड़ (B r. | |||||
| ?1 ड़ (_ r. | |||||
| .group ढ़ // rha (aspirated version of dddha) | .group ढ़ // rha (aspirated version of dddha) | ||||
| ढ़ hrV | |||||
| ढ़ (B hr | |||||
| ?1 ढ़ (_ hr | |||||
| ढ़ r.hV | |||||
| ढ़ (B r.h | |||||
| ?1 ढ़ (_ r.h | |||||
| .group फ़ // fa | .group फ़ // fa | ||||
| फ़ fV | फ़ fV |
| 53 phoneme tables | 53 phoneme tables | ||||
| new total | new total | ||||
| base 98 98 | |||||
| base2 24 117 | |||||
| en 51 144 | |||||
| en_n 30 144 | |||||
| en_us 35 144 | |||||
| en_sc 39 146 | |||||
| en_rp 34 144 | |||||
| en_wm 30 144 | |||||
| en_wi 30 144 | |||||
| af 39 130 | |||||
| cy 29 124 | |||||
| de 33 125 | |||||
| eo 13 110 | |||||
| jbo 4 111 | |||||
| fi 40 129 | |||||
| fr 55 135 | |||||
| fr_ca 11 135 | |||||
| hi 51 135 | |||||
| ta 17 138 | |||||
| hu 23 114 | |||||
| nl 28 121 | |||||
| pl 18 111 | |||||
| sk 29 129 | |||||
| cs 6 129 | |||||
| hr 26 134 | |||||
| mk 3 135 | |||||
| sr 14 134 | |||||
| ru 39 129 | |||||
| it 17 120 | |||||
| la 21 116 | |||||
| es 9 118 | |||||
| es_la 1 118 | |||||
| pt 28 134 | |||||
| pt_pt 20 134 | |||||
| ro 36 141 | |||||
| el 8 117 | |||||
| grc 12 122 | |||||
| sv 25 120 | |||||
| no 28 124 | |||||
| is 33 124 | |||||
| vi 42 136 | |||||
| zhy 40 131 | |||||
| zh 65 148 | |||||
| sw 14 107 | |||||
| tr 18 122 | |||||
| ku 18 122 | |||||
| id 15 119 | |||||
| rw 15 124 | |||||
| ko 18 145 | |||||
| da 15 128 | |||||
| sq 12 122 | |||||
| ml 13 137 | |||||
| bn 20 143 | |||||
| base 100 100 | |||||
| base2 24 119 | |||||
| en 51 146 | |||||
| en_n 30 146 | |||||
| en_us 35 146 | |||||
| en_sc 39 148 | |||||
| en_rp 34 146 | |||||
| en_wm 30 146 | |||||
| en_wi 30 146 | |||||
| af 39 132 | |||||
| cy 29 126 | |||||
| de 33 127 | |||||
| eo 13 112 | |||||
| jbo 4 113 | |||||
| fi 40 131 | |||||
| fr 55 137 | |||||
| fr_ca 11 137 | |||||
| hi 51 137 | |||||
| ta 17 140 | |||||
| hu 23 116 | |||||
| nl 28 123 | |||||
| pl 18 113 | |||||
| sk 29 131 | |||||
| cs 6 131 | |||||
| hr 26 136 | |||||
| mk 3 137 | |||||
| sr 14 136 | |||||
| ru 39 131 | |||||
| it 17 122 | |||||
| la 21 118 | |||||
| es 9 120 | |||||
| es_la 1 120 | |||||
| pt 28 136 | |||||
| pt_pt 20 136 | |||||
| ro 36 143 | |||||
| el 8 119 | |||||
| grc 12 124 | |||||
| sv 25 122 | |||||
| no 28 126 | |||||
| is 33 126 | |||||
| vi 42 138 | |||||
| zhy 40 133 | |||||
| zh 65 150 | |||||
| sw 14 109 | |||||
| tr 18 124 | |||||
| ku 18 124 | |||||
| id 15 121 | |||||
| rw 15 126 | |||||
| ko 18 147 | |||||
| da 15 130 | |||||
| sq 12 124 | |||||
| ml 13 139 | |||||
| bn 20 145 | |||||
| Data file Used by | Data file Used by | ||||
| b/b [b] base | b/b [b] base | ||||
| [l;] ro | [l;] ro | ||||
| l/_l [l] base | l/_l [l] base | ||||
| [l/] base | [l/] base | ||||
| [l/3] base | |||||
| [l] en | [l] en | ||||
| [l] en_wi | [l] en_wi | ||||
| [l] af | [l] af | ||||
| [l;] ro | [l;] ro | ||||
| [l] zh | [l] zh | ||||
| l/l_ [l/] base | l/l_ [l/] base | ||||
| [l/3] base | |||||
| [l/] fr | [l/] fr | ||||
| l/l_@ [@] fr | |||||
| l/l_@ [(@)] base | |||||
| [@] fr | |||||
| [W] fr | [W] fr | ||||
| [Y] fr | [Y] fr | ||||
| [@2] fr | [@2] fr | ||||
| [oU] en_sc | [oU] en_sc | ||||
| l/L2_uL [(u)] base | l/L2_uL [(u)] base | ||||
| [u:] en | [u:] en | ||||
| [u:] en_n | |||||
| [u:] en_rp | [u:] en_rp | ||||
| l/l_3 [l/] de | l/l_3 [l/] de | ||||
| l/l_4 [ll] sq | l/l_4 [ll] sq | ||||
| l/la [(a)] base | l/la [(a)] base | ||||
| [a] fr | [a] fr | ||||
| [a2] fr | [a2] fr | ||||
| l/l_a [a] fr | |||||
| l/l_a [(a)] base | |||||
| [a] fr | |||||
| [a2] fr | [a2] fr | ||||
| [wA] fr | [wA] fr | ||||
| [A~] fr | [A~] fr | ||||
| [E] fr | [E] fr | ||||
| [e] fr | [e] fr | ||||
| [E2] fr | [E2] fr | ||||
| l/l_e [E] fr | |||||
| l/l_e [(e)] base | |||||
| [E] fr | |||||
| [E2] fr | [E2] fr | ||||
| l/L_eL_af [&] af | l/L_eL_af [&] af | ||||
| [&:] af | [&:] af | ||||
| [i] fr | [i] fr | ||||
| [i:] fr | [i:] fr | ||||
| [l] zh | [l] zh | ||||
| l/l_i [i] fr | |||||
| l/l_i [(i)] base | |||||
| [i] fr | |||||
| [i:] fr | [i:] fr | ||||
| [w^i] fr | [w^i] fr | ||||
| l/l_long [l] base | l/l_long [l] base | ||||
| [O2] fr | [O2] fr | ||||
| [o2] fr | [o2] fr | ||||
| [wA] fr | [wA] fr | ||||
| l/l_o [O] fr | |||||
| l/l_o [(o)] base | |||||
| [O] fr | |||||
| [O2] fr | [O2] fr | ||||
| [o2] fr | [o2] fr | ||||
| l^/l_rfx [l.] hi | l^/l_rfx [l.] hi | ||||
| [y] fr | [y] fr | ||||
| [u:] fr | [u:] fr | ||||
| [w^i] fr | [w^i] fr | ||||
| l/l_u [u] fr | |||||
| l/l_u [(u)] base | |||||
| [u] fr | |||||
| [u:] fr | [u:] fr | ||||
| l/l_y [y] fr | l/l_y [y] fr | ||||
| l/tl [l] base | l/tl [l] base | ||||
| r2/r2u [(u)] base | r2/r2u [(u)] base | ||||
| r3/r_ [r/] base | r3/r_ [r/] base | ||||
| [r/] af | [r/] af | ||||
| [r/2] fr | |||||
| [r/] ru | [r/] ru | ||||
| r3/r_@ [(@)] base | r3/r_@ [(@)] base | ||||
| r3/r#_ [r#] is | r3/r#_ [r#] is | ||||
| r3/r_2 [r/2] fr | |||||
| r3/r_a [(a)] base | r3/r_a [(a)] base | ||||
| r3/r_e [(e)] base | r3/r_e [(e)] base | ||||
| [E] fr | |||||
| r3/r_i [(i)] base | r3/r_i [(i)] base | ||||
| [i] fr | [i] fr | ||||
| [w^i] fr | [w^i] fr | ||||
| [r] ko | [r] ko | ||||
| r3/@tap2 [**] base | r3/@tap2 [**] base | ||||
| [r] ko | [r] ko | ||||
| r3/@tap_rfx [r.] base | |||||
| r/a_ [r] da | r/a_ [r] da | ||||
| r/r [r] base | r/r [r] base | ||||
| [r-] base | [r-] base | ||||
| [r/] af | [r/] af | ||||
| [r] de | [r] de | ||||
| [r] fi | [r] fi | ||||
| [r] fr | |||||
| [r/2] fr | [r/2] fr | ||||
| [r2] nl | [r2] nl | ||||
| [r] ru | [r] ru | ||||
| [(i)] base | [(i)] base | ||||
| [(o)] base | [(o)] base | ||||
| [(u)] base | [(u)] base | ||||
| [@] fr | |||||
| [Y] fr | [Y] fr | ||||
| [e] fr | [e] fr | ||||
| [i] fr | [i] fr | ||||
| [o] fr | |||||
| [u] fr | [u] fr | ||||
| [y] fr | |||||
| [@2] fr | |||||
| [a2] fr | [a2] fr | ||||
| [o2] fr | |||||
| [i:] fr | [i:] fr | ||||
| [u:] fr | [u:] fr | ||||
| [A~] fr | [A~] fr | ||||
| [e@] en_sc | [e@] en_sc | ||||
| [e@] en_wi | [e@] en_wi | ||||
| vdiph2/ea [ea] ro | vdiph2/ea [ea] ro | ||||
| vdiph2/ee_@ [e@] en_n | |||||
| vdiph2/ei_2 [eI] en_rp | |||||
| vdiph2/ei_3 [i:] en_wm | vdiph2/ei_3 [i:] en_wm | ||||
| vdiph2/ei_4 [eI] en_us | vdiph2/ei_4 [eI] en_us | ||||
| [ei] zh | [ei] zh | ||||
| vdiph2/uw_6 [y] ko | vdiph2/uw_6 [y] ko | ||||
| vdiph2/y@ [y@] zh | vdiph2/y@ [y@] zh | ||||
| vdiph2/y#@ [Y@] af | vdiph2/y#@ [Y@] af | ||||
| vdiph2/yE [yE] sq | |||||
| vdiph2/ye [yE] sq | |||||
| vdiph2/yu [yU] nl | vdiph2/yu [yU] nl | ||||
| [yu] zh | [yu] zh | ||||
| vdiph2/y-y# [yY] fi | vdiph2/y-y# [yY] fi | ||||
| vdiph/eei_2 [eI] eo | vdiph/eei_2 [eI] eo | ||||
| [ei] fi | [ei] fi | ||||
| [eI] id | [eI] id | ||||
| vdiph/eei_3 [eI] en_rp | |||||
| [eI] sk | |||||
| vdiph/eei_3 [eI] sk | |||||
| [eI] ku | [eI] ku | ||||
| vdiph/eeu [EU] pt | vdiph/eeu [EU] pt | ||||
| [EU] grc | [EU] grc | ||||
| [e] it | [e] it | ||||
| [e:] sv | [e:] sv | ||||
| [e:] no | [e:] no | ||||
| vowel/e_3 [e:] hu | |||||
| vowel/e_3 [i] en_n | |||||
| [e:] hu | |||||
| [e] ku | [e] ku | ||||
| vowel/e_5 [i] en_sc | vowel/e_5 [i] en_sc | ||||
| vowel/ee [E] sv | |||||
| vowel/ee [E] en_n | |||||
| [E] sv | |||||
| vowel/e_e [E] en_sc | vowel/e_e [E] en_sc | ||||
| [e] is | [e] is | ||||
| vowel/ee# [E#] pl | vowel/ee# [E#] pl | ||||
| vowel/ee_1 [E] base2 | vowel/ee_1 [E] base2 | ||||
| [e@] en | [e@] en | ||||
| [e@] en_n | |||||
| [E] pl | [E] pl | ||||
| [E] la | [E] la | ||||
| [E] grc | [E] grc | ||||
| [&:] af | [&:] af | ||||
| [E] pt | [E] pt | ||||
| [E] vi | [E] vi | ||||
| vowel/ee_6 [E] en_n | |||||
| [&] sk | |||||
| vowel/ee_6 [&] sk | |||||
| [E3] sv | [E3] sv | ||||
| [E] ku | [E] ku | ||||
| vowel/e_mid [E] en_rp | vowel/e_mid [E] en_rp | ||||
| [e] jbo | [e] jbo | ||||
| [E] fr | [E] fr | ||||
| [e] fr | |||||
| [E2] fr | [E2] fr | ||||
| [E] fr_ca | [E] fr_ca | ||||
| [E] hi | [E] hi | ||||
| [@] hr | [@] hr | ||||
| vowel/i [i] base2 | vowel/i [i] base2 | ||||
| [i:] en_n | [i:] en_n | ||||
| [i:] en_rp | |||||
| [i] en_wm | [i] en_wm | ||||
| [i] en_wi | [i] en_wi | ||||
| [i:] cy | [i:] cy | ||||
| [i#] rw | [i#] rw | ||||
| [i] ko | [i] ko | ||||
| [i:] ml | [i:] ml | ||||
| vowel/i# [i] en_rp | |||||
| [y:] cy | |||||
| vowel/i_2 [i:] en_rp | |||||
| [i2] de | |||||
| vowel/i# [y:] cy | |||||
| vowel/i_2 [i2] de | |||||
| [i:] de | [i:] de | ||||
| [i] nl | [i] nl | ||||
| [i:] la | [i:] la | ||||
| vowel/i_fnt [i:] en_wi | vowel/i_fnt [i:] en_wi | ||||
| [i] hi | [i] hi | ||||
| [i:] hi | [i:] hi | ||||
| vowel/ii [I] en_rp | |||||
| vowel/ii [I] en_n | |||||
| [I2] en_n | |||||
| [I] en_rp | |||||
| [I2] en_rp | [I2] en_rp | ||||
| [I] en_wm | [I] en_wm | ||||
| [I2] en_wm | [I2] en_wm | ||||
| [I] tr | [I] tr | ||||
| vowel/ii_4 [I] en | vowel/ii_4 [I] en | ||||
| [I2] en | [I2] en | ||||
| [I] en_n | |||||
| [i] en_n | |||||
| [I2] en_n | |||||
| [I] en_us | [I] en_us | ||||
| [I2] en_us | [I2] en_us | ||||
| vowel/ii_5 [I] en_wi | vowel/ii_5 [I] en_wi | ||||
| [i/] pt | [i/] pt | ||||
| vowel/ii_en [i] en | vowel/ii_en [i] en | ||||
| vowel/ii_final [i] en_us | vowel/ii_final [i] en_us | ||||
| [i] en_rp | |||||
| vowel/@_low [3] en_rp | vowel/@_low [3] en_rp | ||||
| [@] en_rp | [@] en_rp | ||||
| [@2] en_rp | [@2] en_rp | ||||
| [@] id | [@] id | ||||
| vowel/o [o] base2 | vowel/o [o] base2 | ||||
| [o:] en | [o:] en | ||||
| [oU] en_n | |||||
| [oU] en_wi | [oU] en_wi | ||||
| [o:] de | [o:] de | ||||
| [o] hi | [o] hi | ||||
| vowel/o_3 [oU] en_sc | vowel/o_3 [oU] en_sc | ||||
| [o] fr | [o] fr | ||||
| vowel/o-_3 [U] en_rp | vowel/o-_3 [U] en_rp | ||||
| vowel/o_4 [oU] en_n | |||||
| vowel/o-_4 [o] ro | vowel/o-_4 [o] ro | ||||
| vowel/o_5 [O] nl | vowel/o_5 [O] nl | ||||
| [O] da | [O] da | ||||
| vowel/u_bck2 [u:] la | vowel/u_bck2 [u:] la | ||||
| vowel/u_fnt [u:] en_rp | vowel/u_fnt [u:] en_rp | ||||
| vowel/uu [U] en | vowel/uu [U] en | ||||
| [U] en_n | |||||
| [U] en_wm | [U] en_wm | ||||
| vowel/uu# [U] ku | vowel/uu# [U] ku | ||||
| vowel/uu_2 [U] base2 | vowel/uu_2 [U] base2 | ||||
| [y] zh | [y] zh | ||||
| vowel/uu_4 [U] fi | vowel/uu_4 [U] fi | ||||
| [U] sv | [U] sv | ||||
| vowel/uu_bck [U] en_n | |||||
| [U] en_wi | |||||
| vowel/uu_bck [U] en_wi | |||||
| [U] fr_ca | [U] fr_ca | ||||
| [U] hi | [U] hi | ||||
| [u] hu | [u] hu | ||||
| vwl_en_n/aa_5 [A@] en_n | vwl_en_n/aa_5 [A@] en_n | ||||
| vwl_en_n/O@ [O@] en_n | vwl_en_n/O@ [O@] en_n | ||||
| [o@] en_n | [o@] en_n | ||||
| vwl_en_n/u_ [u:] en_n | |||||
| vwl_en/ooi@ [aI@] en_wm | vwl_en/ooi@ [aI@] en_wm | ||||
| vwl_en_rp/aa [A:] en_rp | vwl_en_rp/aa [A:] en_rp | ||||
| [A@] en_rp | [A@] en_rp | ||||
| vwl_en_rp/i@ [i@] en_rp | vwl_en_rp/i@ [i@] en_rp | ||||
| vwl_en_rp/oo [U@] en_rp | vwl_en_rp/oo [U@] en_rp | ||||
| vwl_en/u_L [u:] en | vwl_en/u_L [u:] en | ||||
| [u:] en_n | |||||
| [u:] en_rp | [u:] en_rp | ||||
| vwl_en_us/3_us [3] en_us | vwl_en_us/3_us [3] en_us | ||||
| vwl_en_us/3_us2 [3:] en_us | vwl_en_us/3_us2 [3:] en_us | ||||
| vwl_fr/@R4 [R] fr | vwl_fr/@R4 [R] fr | ||||
| [r] fr | [r] fr | ||||
| [r2] fr | [r2] fr | ||||
| vwl_fr/ri [i] fr | |||||
| vwl_fr/r_e [E] fr | |||||
| vwl_fr/r_u [u] fr | vwl_fr/r_u [u] fr | ||||
| vwl_fr/r_y [y] fr | |||||
| vwl_fr/w_a [wA] fr | vwl_fr/w_a [wA] fr | ||||
| vwl_hi/A [a:] hi | vwl_hi/A [a:] hi | ||||
| vwl_hi/l-voc [l-] jbo | vwl_hi/l-voc [l-] jbo |
| phoneme E | phoneme E | ||||
| vowel starttype (e) endtype (e) | vowel starttype (e) endtype (e) | ||||
| length 150 | length 150 | ||||
| formants vowel/ee_6 | |||||
| formants vowel/ee | |||||
| reduceto I 0 | reduceto I 0 | ||||
| // before l/ DFT-30+L/eL_af | // before l/ DFT-30+L/eL_af | ||||
| endphoneme | endphoneme | ||||
| phoneme I | phoneme I | ||||
| vowel starttype (i) endtype (i) | vowel starttype (i) endtype (i) | ||||
| length 130 | length 130 | ||||
| formants vowel/ii_4 | |||||
| formants vowel/ii | |||||
| linkout ; | |||||
| endphoneme | |||||
| phoneme I2 | |||||
| vowel starttype (i) endtype (i) | |||||
| unstressed | |||||
| length 140 | |||||
| formants vowel/ii | |||||
| linkout ; | linkout ; | ||||
| endphoneme | endphoneme | ||||
| phoneme i // optional variant of [I] for end of words | phoneme i // optional variant of [I] for end of words | ||||
| vowel starttype (i) endtype (i) | vowel starttype (i) endtype (i) | ||||
| length 220 | |||||
| formants vowel/ii_4 | |||||
| length 150 | |||||
| formants vowel/e_3 | |||||
| linkout ; | linkout ; | ||||
| endphoneme | endphoneme | ||||
| phoneme 0 | phoneme 0 | ||||
| vowel starttype (o) endtype (o) | vowel starttype (o) endtype (o) | ||||
| length 140 | |||||
| length 150 | |||||
| formants vowel/0_2 | formants vowel/0_2 | ||||
| reduceto @ 0 | reduceto @ 0 | ||||
| endphoneme | endphoneme | ||||
| phoneme U | phoneme U | ||||
| vowel starttype (o) endtype (o) | vowel starttype (o) endtype (o) | ||||
| length 150 | |||||
| formants vowel/uu_bck | |||||
| length 170 | |||||
| formants vowel/uu | |||||
| endphoneme | endphoneme | ||||
| phoneme I2 | |||||
| vowel starttype (i) endtype (i) | |||||
| unstressed | |||||
| length 140 | |||||
| formants vowel/ii_4 | |||||
| linkout ; | |||||
| endphoneme | |||||
| phoneme a2 | phoneme a2 | ||||
| vowel starttype (@) endtype (@) | vowel starttype (@) endtype (@) | ||||
| vowel starttype (u) endtype (u) | vowel starttype (u) endtype (u) | ||||
| length 200 | length 200 | ||||
| formants vdiph2/uw_4 | formants vdiph2/uw_4 | ||||
| before _ vwl_en_n/u_ | |||||
| before l/2 vwl_en/u_L-40+l/L2_uL | |||||
| endphoneme | endphoneme | ||||
| phoneme aU | phoneme aU | ||||
| vowel starttype (a) endtype (u) | |||||
| vowel starttype (e) endtype (u) | |||||
| length 230 | length 230 | ||||
| formants vdiph/eeu_3 | formants vdiph/eeu_3 | ||||
| endphoneme | endphoneme | ||||
| phoneme oU | phoneme oU | ||||
| vowel starttype (o) endtype (o) | vowel starttype (o) endtype (o) | ||||
| length 210 | |||||
| formants vowel/o_4 | |||||
| length 220 | |||||
| formants vowel/o | |||||
| endphoneme | endphoneme | ||||
| phoneme e@ | phoneme e@ | ||||
| vowel starttype (e) endtype (@) | vowel starttype (e) endtype (@) | ||||
| length 220 | length 220 | ||||
| formants vowel/ee_1 | |||||
| formants vdiph2/ee_@ | |||||
| linkout r- | linkout r- | ||||
| endphoneme | endphoneme | ||||
| phoneme i // optional variant of [I] for end of words | phoneme i // optional variant of [I] for end of words | ||||
| vowel starttype (i) endtype (i) | vowel starttype (i) endtype (i) | ||||
| length 140 | length 140 | ||||
| formants vowel/i# | |||||
| formants vowel/ii_final | |||||
| linkout ; | linkout ; | ||||
| endphoneme | endphoneme | ||||
| phoneme aa // 'bath' etc. | phoneme aa // 'bath' etc. | ||||
| vowel starttype (a) endtype (a) | vowel starttype (a) endtype (a) | ||||
| length 190 | |||||
| length 200 | |||||
| formants vwl_en_rp/aa | formants vwl_en_rp/aa | ||||
| linkout r- | linkout r- | ||||
| endphoneme | endphoneme | ||||
| phoneme i: | phoneme i: | ||||
| vowel starttype (i) endtype (i) | vowel starttype (i) endtype (i) | ||||
| length 175 | length 175 | ||||
| formants vowel/i_2 | |||||
| formants vowel/i | |||||
| after w w/wi2 | after w w/wi2 | ||||
| linkout ; | linkout ; | ||||
| endphoneme | endphoneme | ||||
| phoneme eI | phoneme eI | ||||
| vowel starttype (i) endtype (i) | vowel starttype (i) endtype (i) | ||||
| length 210 | length 210 | ||||
| formants vdiph/eei_3 | |||||
| formants vdiph2/ei_2 | |||||
| // formants vdiph/eei_3 | |||||
| endphoneme | endphoneme | ||||
| length 170 | length 170 | ||||
| formants vowel/@_hgh | formants vowel/@_hgh | ||||
| before l/ DFT+l/l_@ | before l/ DFT+l/l_@ | ||||
| before (r) DFT+r/xr | |||||
| endphoneme | endphoneme | ||||
| length 150 | length 150 | ||||
| formants vowel/@_fr | formants vowel/@_fr | ||||
| before l/ DFT+l/l_@ | before l/ DFT+l/l_@ | ||||
| before (r) DFT+r/xr | |||||
| before R DFT+r/xr | |||||
| endphoneme | endphoneme | ||||
| after l l/le-15 | after l l/le-15 | ||||
| before l/ DFT-20+l/xl | before l/ DFT-20+l/xl | ||||
| before (r) DFT+r/xr | before (r) DFT+r/xr | ||||
| before r2 vowel/e_mid-40+r/xr | |||||
| endphoneme | endphoneme | ||||
| formants vowel/e_mid | formants vowel/e_mid | ||||
| after l l/le-15 | after l l/le-15 | ||||
| before l/ DFT+l/l_e | before l/ DFT+l/l_e | ||||
| before r/2 DFT+r3/r_e | |||||
| before r/2 DFT+vwl_fr/r_e | |||||
| reduceto E2 1 | reduceto E2 1 | ||||
| endphoneme | endphoneme | ||||
| formants vowel/i_3 | formants vowel/i_3 | ||||
| linkout ; | linkout ; | ||||
| after l l/li-15 | after l l/li-15 | ||||
| after (r) vwl_fr/ri | |||||
| before l/ DFT+l/l_i | before l/ DFT+l/l_i | ||||
| before (r) DFT+r/xr | before (r) DFT+r/xr | ||||
| before r/2 DFT+r3/r_i | before r/2 DFT+r3/r_i | ||||
| length 170 | length 170 | ||||
| formants vowel/o_3 | formants vowel/o_3 | ||||
| after l l/lo-10 | after l l/lo-10 | ||||
| before (r) DFT+r/xr | |||||
| endphoneme | endphoneme | ||||
| formants vowel/o_2 | formants vowel/o_2 | ||||
| after l l/lo-10 | after l l/lo-10 | ||||
| before l/ DFT+l/l_o | before l/ DFT+l/l_o | ||||
| before (r) DFT+r/xr | |||||
| endphoneme | endphoneme | ||||
| formants vowel/y_2 | formants vowel/y_2 | ||||
| after l l/lu-20 | after l l/lu-20 | ||||
| before l/ DFT-30+l/l_y | before l/ DFT-30+l/l_y | ||||
| before (r) DFT+r/xr | |||||
| before r/2 DFT+vwl_fr/r_y | |||||
| endphoneme | endphoneme | ||||
| formants vowel/y# | formants vowel/y# | ||||
| after l l/l@-20 | after l l/l@-20 | ||||
| before l/ DFT-20+l/l_@ | before l/ DFT-20+l/l_@ | ||||
| before (r) DFT+r/xr | |||||
| before r/2 DFT+r/xr-40 | before r/2 DFT+r/xr-40 | ||||
| endphoneme | endphoneme | ||||
| vowelout f1=0 f2=1500 -400 400 f3=-600 80 | vowelout f1=0 f2=1500 -400 400 f3=-600 80 | ||||
| length 100 | length 100 | ||||
| lengthmod 7 | lengthmod 7 | ||||
| beforenotvowel r/2 | |||||
| beforenotvowel r/2 | |||||
| formants vwl_fr/@R3+r3/rx%30 | formants vwl_fr/@R3+r3/rx%30 | ||||
| after (e) vwl_fr/@R4+r3/rx%15 | after (e) vwl_fr/@R4+r3/rx%15 | ||||
| after (u) vwl_fr/@R4+r3/rx%15 | after (u) vwl_fr/@R4+r3/rx%15 | ||||
| after wA vwl_fr/@R4+r3/rx%20 | after wA vwl_fr/@R4+r3/rx%20 | ||||
| before (i) r/rr | |||||
| endphoneme | endphoneme | ||||
| phoneme R // for beginning of words | phoneme R // for beginning of words | ||||
| vcd rfx flp | vcd rfx flp | ||||
| vowelin f1=0 f2=800 -50 50 f3=-100 80 | |||||
| vowelin f1=0 f2=800 -50 50 f3=-100 80 len=40 | |||||
| vowelout f1=0 f2=1500 -400 400 f3=-600 80 | |||||
| length 100 | length 100 | ||||
| lengthmod 7 | lengthmod 7 | ||||
| beforenotvowel r/2 | beforenotvowel r/2 | ||||
| phoneme R2 // After consonnants | phoneme R2 // After consonnants | ||||
| vcd rfx frc | vcd rfx frc | ||||
| vowelin f1=0 f2=800 -50 50 f3=-100 80 | |||||
| vowelin f1=0 f2=800 -50 50 f3=-100 80 len=40 | |||||
| length 100 | length 100 | ||||
| lengthmod 7 | lengthmod 7 | ||||
| beforenotvowel r/2 | beforenotvowel r/2 | ||||
| phoneme r/2 // variant of [r] when not preceding a vowel | phoneme r/2 // variant of [r] when not preceding a vowel | ||||
| vcd rfx frc | vcd rfx frc | ||||
| vowelout f1=0 f2=800 -50 50 f3=-600 80 len=40 | |||||
| vowelout f1=0 f2=800 -50 50 f3=-600 80 | |||||
| length 100 | length 100 | ||||
| lengthmod 2 | lengthmod 2 | ||||
| formants r3/r_+r3/rx%35 | |||||
| formants r3/r_2+r3/rx%40 | |||||
| after _ r/rr | after _ r/rr | ||||
| after t r/trr | after t r/trr | ||||
| after p r/trr | after p r/trr |
| after n^ n^/n^@ | after n^ n^/n^@ | ||||
| before l/ DFT-60+l/L1_@L | before l/ DFT-60+l/L1_@L | ||||
| before l/2 DFT-60+l/L2_@L | before l/2 DFT-60+l/L2_@L | ||||
| before l/3 DFT+l/l_@ | |||||
| before l DFT-50+l/xl | before l DFT-50+l/xl | ||||
| before w DFT-30+w/xw | before w DFT-30+w/xw | ||||
| before j DFT-30+j/xj | before j DFT-30+j/xj | ||||
| after n^ n^/n^a | after n^ n^/n^a | ||||
| before l/ DFT-40+l/L1_aL | before l/ DFT-40+l/L1_aL | ||||
| before l/2 DFT-50+l/L2_aL | before l/2 DFT-50+l/L2_aL | ||||
| before l/3 DFT+l/l_a | |||||
| before l DFT-40+l/xl | before l DFT-40+l/xl | ||||
| before w DFT-30+w/xw | before w DFT-30+w/xw | ||||
| before j DFT-30+j/xj | before j DFT-30+j/xj | ||||
| after n^ n^/n^e | after n^ n^/n^e | ||||
| before l/ DFT-30+l/L1_eL | before l/ DFT-30+l/L1_eL | ||||
| before l/2 DFT-40+l/L2_eL | before l/2 DFT-40+l/L2_eL | ||||
| before l/3 DFT+l/l_e | |||||
| before l DFT-40+l/xl | before l DFT-40+l/xl | ||||
| before w DFT-30+w/xw | before w DFT-30+w/xw | ||||
| before j DFT-30+j/xj | before j DFT-30+j/xj | ||||
| after n^ n^/n^i | after n^ n^/n^i | ||||
| before l/ DFT-30+l/L1_iL | before l/ DFT-30+l/L1_iL | ||||
| before l/2 DFT-30+l/L2_iL | before l/2 DFT-30+l/L2_iL | ||||
| before l/3 DFT+l/l_i | |||||
| before N DFT-40+nn/inn | before N DFT-40+nn/inn | ||||
| before ; DFT-40+j2/xj2 | before ; DFT-40+j2/xj2 | ||||
| before l DFT-40+l/xl | before l DFT-40+l/xl | ||||
| after n^ n^/n^o | after n^ n^/n^o | ||||
| before l/ DFT-40+l/L1_oL | before l/ DFT-40+l/L1_oL | ||||
| before l/2 DFT-50+l/L2_oL | before l/2 DFT-50+l/L2_oL | ||||
| before l/3 DFT+l/l_o | |||||
| before l DFT-40+l/xl | before l DFT-40+l/xl | ||||
| before w DFT-30+w/xw | before w DFT-30+w/xw | ||||
| before j DFT-30+j/xj | before j DFT-30+j/xj | ||||
| after n^ n^/n^u | after n^ n^/n^u | ||||
| before l/ DFT-40+l/L1_uL | before l/ DFT-40+l/L1_uL | ||||
| before l/2 DFT-40+l/L2_uL | before l/2 DFT-40+l/L2_uL | ||||
| before l/3 DFT-20+l/l_u | |||||
| before l DFT-40+l/xl | before l DFT-40+l/xl | ||||
| before w DFT-30+w/xw | before w DFT-30+w/xw | ||||
| before j DFT-30+j/xj | before j DFT-30+j/xj | ||||
| beforevowel l | beforevowel l | ||||
| endphoneme | endphoneme | ||||
| phoneme l/3 // used for [l] when not before a vowel | |||||
| liquid | |||||
| length 100 | |||||
| lengthmod 7 | |||||
| formants l/l_ | |||||
| before (r) l/_l | |||||
| beforevowel l | |||||
| endphoneme | |||||
| phoneme l/2 // 'dark' [l] after a vowel | phoneme l/2 // 'dark' [l] after a vowel | ||||
| liquid | liquid | ||||
| endphoneme | endphoneme | ||||
| phoneme r. // retroflex | |||||
| liquid rfx | |||||
| vowelout f1=3 f2=1400 -400 300 f3=-400 80 rms=35 len=15 | |||||
| vowelin f1=2 f2=1400 -400 300 f3=-400 80 len=20 | |||||
| formants r3/@tap_rfx | |||||
| lengthmod 3 | |||||
| endphoneme | |||||
| //******************************************************************* | //******************************************************************* | ||||
| // VOICED STOPS | // VOICED STOPS |
| int rms; | int rms; | ||||
| float total; | float total; | ||||
| float pkheight; | float pkheight; | ||||
| int marker1_set=0; | |||||
| int frame_vowelbreak; | |||||
| SpectFrame *fr; | SpectFrame *fr; | ||||
| wxString path_sep = _T("/"); | wxString path_sep = _T("/"); | ||||
| if(spectseq->frames[frame]->keyframe) | if(spectseq->frames[frame]->keyframe) | ||||
| { | { | ||||
| if(seq_out.n_frames == 1) | |||||
| { | |||||
| frame_vowelbreak = frame; | |||||
| } | |||||
| if(spectseq->frames[frame]->markers & 0x2) | |||||
| { | |||||
| // marker 1 is set | |||||
| marker1_set = 1; | |||||
| } | |||||
| seq_out.n_frames++; | seq_out.n_frames++; | ||||
| if(frame > 0) | if(frame > 0) | ||||
| total += spectseq->frames[frame-1]->length; | total += spectseq->frames[frame-1]->length; | ||||
| } | } | ||||
| seq_out.length = int(total); | seq_out.length = int(total); | ||||
| if((control & 1) && (spectseq->numframes > 2)) | |||||
| if((control & 1) && (marker1_set == 0)) | |||||
| { | { | ||||
| // This is a vowel, but no Vowel Break marker is set | |||||
| // set a marker flag for the second frame of a vowel | // set a marker flag for the second frame of a vowel | ||||
| spectseq->frames[1]->markers |= FRFLAG_VOWEL_CENTRE; | |||||
| spectseq->frames[frame_vowelbreak]->markers |= FRFLAG_VOWEL_CENTRE; | |||||
| } | } | ||||
| ix = 0; | ix = 0; |
| "-p <integer>\n" | "-p <integer>\n" | ||||
| "\t Pitch adjustment, 0 to 99, default is 50\n" | "\t Pitch adjustment, 0 to 99, default is 50\n" | ||||
| "-s <integer>\n" | "-s <integer>\n" | ||||
| "\t Speed in words per minute, 80 to 370, default is 170\n" | |||||
| "\t Speed in words per minute, 80 to 390, default is 170\n" | |||||
| "-v <voice name>\n" | "-v <voice name>\n" | ||||
| "\t Use voice file of this name from espeak-data/voices\n" | "\t Use voice file of this name from espeak-data/voices\n" | ||||
| "-w <wave file name>\n" | "-w <wave file name>\n" |
| "-p <integer>\n" | "-p <integer>\n" | ||||
| "\t Pitch adjustment, 0 to 99, default is 50\n" | "\t Pitch adjustment, 0 to 99, default is 50\n" | ||||
| "-s <integer>\n" | "-s <integer>\n" | ||||
| "\t Speed in words per minute 80 to 370, default is 170\n" | |||||
| "\t Speed in words per minute 80 to 390, default is 170\n" | |||||
| "-v <voice name>\n" | "-v <voice name>\n" | ||||
| "\t Use voice file of this name from espeak-data/voices\n" | "\t Use voice file of this name from espeak-data/voices\n" | ||||
| "-w <wave file name>\n" | "-w <wave file name>\n" |
| "-p <integer>\n" | "-p <integer>\n" | ||||
| "\t Pitch adjustment, 0 to 99, default is 50\n" | "\t Pitch adjustment, 0 to 99, default is 50\n" | ||||
| "-s <integer>\n" | "-s <integer>\n" | ||||
| "\t Speed in words per minute 80 to 370, default is 170\n" | |||||
| "\t Speed in words per minute 80 to 390, default is 170\n" | |||||
| "-v <voice name>\n" | "-v <voice name>\n" | ||||
| "\t Use voice file of this name from espeak-data/voices\n" | "\t Use voice file of this name from espeak-data/voices\n" | ||||
| "-w <wave file name>\n" | "-w <wave file name>\n" |
| #include "translate.h" | #include "translate.h" | ||||
| #include "wave.h" | #include "wave.h" | ||||
| const char *version_string = "1.39.05 22.Sep.08"; | |||||
| const char *version_string = "1.39.07 27.Sep.08"; | |||||
| const int version_phdata = 0x013900; | const int version_phdata = 0x013900; | ||||
| int option_device_number = -1; | int option_device_number = -1; |
| static const char dev_consonants2[] = {0x02,0x03,0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f}; | static const char dev_consonants2[] = {0x02,0x03,0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f}; | ||||
| memset(tr->letter_bits,0,sizeof(tr->letter_bits)); | memset(tr->letter_bits,0,sizeof(tr->letter_bits)); | ||||
| SetLetterBitsRange(tr,LETTERGP_A,0x04,0x14); // vowel letters | |||||
| SetLetterBitsRange(tr,LETTERGP_A,0x3e,0x4c); // vowel signs | |||||
| SetLetterBitsRange(tr,LETTERGP_A,0x04,0x14); // vowel letters only | |||||
| SetLetterBitsRange(tr,LETTERGP_B,0x3e,0x4d); // vowel signs, and virama | SetLetterBitsRange(tr,LETTERGP_B,0x3e,0x4d); // vowel signs, and virama | ||||
| SetLetterBitsRange(tr,LETTERGP_C,0x15,0x39); // the main consonant range | SetLetterBitsRange(tr,LETTERGP_C,0x15,0x39); // the main consonant range | ||||
| SetLetterBits(tr,LETTERGP_C,dev_consonants2); // additional consonants | SetLetterBits(tr,LETTERGP_C,dev_consonants2); // additional consonants |
| char *next; | char *next; | ||||
| unsigned char c; | unsigned char c; | ||||
| int count = 0; | int count = 0; | ||||
| int ignore; | |||||
| char phonetic[N_WORD_PHONEMES]; | |||||
| // look through all the phoneme strings in the **_rules data | // look through all the phoneme strings in the **_rules data | ||||
| // and mark these phoneme codes as used. | // and mark these phoneme codes as used. | ||||
| p += (strlen(p)+1); | p += (strlen(p)+1); | ||||
| } | } | ||||
| while((((c = *p) != RULE_PHONEMES)) && (c != 0)) p++; | |||||
| while((c = *p) != 0) | |||||
| { | |||||
| if(c == RULE_CONDITION) | |||||
| p++; // next byte is the condition number, which may be 3 (= RULE_PHONEMES) | |||||
| if(c == RULE_PHONEMES) | |||||
| break; | |||||
| p++; | |||||
| } | |||||
| count++; | count++; | ||||
| if(c == RULE_PHONEMES) | if(c == RULE_PHONEMES) | ||||
| { | { | ||||
| ignore = 0; | |||||
| start = p; | start = p; | ||||
| p++; | p++; | ||||
| while(*p != 0) | |||||
| while((c = *p) != 0) | |||||
| { | { | ||||
| phoneme_tab_flags[*p & 0xff] |= 2; | |||||
| if(c == phonSWITCH) | |||||
| ignore = 1; | |||||
| if(ignore == 0) | |||||
| phoneme_tab_flags[c] |= 2; | |||||
| p++; | p++; | ||||
| } | } | ||||
| } | } | ||||
| p++; | p++; | ||||
| } | } | ||||
| // NOTE, we should recognise langopts.textmode and ignore the *_list file (lang=zh) | |||||
| for(hash=0; hash<N_HASH_DICT; hash++) | for(hash=0; hash<N_HASH_DICT; hash++) | ||||
| { | { | ||||
| p = translator->dict_hashtab[hash]; | p = translator->dict_hashtab[hash]; | ||||
| if((p[1] & 0x80) == 0) | if((p[1] & 0x80) == 0) | ||||
| { | { | ||||
| p += ((p[1] & 0x3f) + 2); | p += ((p[1] & 0x3f) + 2); | ||||
| while(*p != 0) | |||||
| strcpy(phonetic,p); | |||||
| p += strlen(phonetic) +1; | |||||
| // examine flags | |||||
| ignore = 0; | |||||
| while(p < next) | |||||
| { | { | ||||
| phoneme_tab_flags[*p & 0xff] |= 2; | |||||
| if(*p == BITNUM_FLAG_TEXTMODE) | |||||
| { | |||||
| ignore = 1; | |||||
| break; | |||||
| } | |||||
| p++; | p++; | ||||
| } | } | ||||
| if(ignore == 0) | |||||
| { | |||||
| p = phonetic; | |||||
| while((c = *p) != 0) | |||||
| { | |||||
| if(c == phonSWITCH) | |||||
| break; | |||||
| phoneme_tab_flags[c] |= 2; | |||||
| p++; | |||||
| } | |||||
| } | |||||
| } | } | ||||
| p = next; | p = next; | ||||
| } | } |
| // pitch,speed, | // pitch,speed, | ||||
| int embedded_default[N_EMBEDDED_VALUES] = {0,50,170,100,50, 0,0, 0,170,0,0,0,0,0}; | int embedded_default[N_EMBEDDED_VALUES] = {0,50,170,100,50, 0,0, 0,170,0,0,0,0,0}; | ||||
| static int embedded_max[N_EMBEDDED_VALUES] = {0,0x7fff,400,300,99,99,99, 0,360,0,0,0,0,4}; | |||||
| static int embedded_max[N_EMBEDDED_VALUES] = {0,0x7fff,600,300,99,99,99, 0,600,0,0,0,0,4}; | |||||
| #define N_CALLBACK_IX N_WAV_BUF-2 // adjust this delay to match display with the currently spoken word | #define N_CALLBACK_IX N_WAV_BUF-2 // adjust this delay to match display with the currently spoken word | ||||
| int current_source_index=0; | int current_source_index=0; |