Amplitude changes now apply also to mbrola voices. "voicing" attribute is now used in mbrola voice files to set the voice loudness. SSML commands such as <mark> and <prosody> were ignored if they were inside a multiword group (defined in *_list). This is now fixed so that the command is processed at the end of the group. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@267 d46cf337-b52f-0410-862d-fd96e6ae7743master
@@ -49,6 +49,8 @@ _[ 'EkIg@kl'am3||_|'aUf | |||
_] 'EkIg@kl'am3||ts'u: | |||
_< klaIn3 | |||
_> grY:s3 | |||
_« 'anfy:RUNsts,aIC@n | |||
_» 'anfy:RUNsts,aIC@n||ts'u: | |||
_` grA:v | |||
_^ tsIrkUmflEks | |||
_— g@d'aNk@nStr,IC | |||
@@ -188,7 +190,7 @@ oder o:d3 $u+ $pause | |||
sondern $pause | |||
denn dEn $u+ $pause | |||
weil $pause | |||
als $u+ $brk | |||
als als $u+ $brk | |||
bevor b@fo:r $2 $pause | |||
also $pause | |||
wenn ,vEn $pause $strend | |||
@@ -362,7 +364,7 @@ hätten h,Et@n $only | |||
war %vA:r $only | |||
warst %vA:rst $only | |||
wart %vA:rt $only | |||
waren 'vA:r@n | |||
waren %vA:r@n | |||
will %vIl $only | |||
willst %vIlst $only | |||
@@ -536,6 +538,7 @@ bronchie $alt | |||
changier SaNZ'i:r | |||
ciao tSaU | |||
clique kli:k@ | |||
coup ku: | |||
dahlie $alt | |||
@@ -568,6 +571,7 @@ erde e:rd@ | |||
erst e:rst | |||
ersten e:rst@n | |||
erstmal e:rstma:l | |||
erzgebirg e:rtsg@bIrg | |||
extravagant $1 | |||
extrem Ekstr'e:m | |||
@@ -21,6 +21,7 @@ | |||
.L01 l r | |||
.L02 c f h k p q s t z // unvoiced, except s+vowel | |||
.L03 a ä | |||
.L04 o ö | |||
// This file is UTF-8 encoded | |||
@@ -38,6 +39,7 @@ | |||
a (CC a | |||
a (sch a | |||
a (x a | |||
a (ph A: | |||
&CC) a (_ =A: | |||
ai aI | |||
@@ -161,11 +163,11 @@ | |||
.group b | |||
_) b (_ be: | |||
_) b (L01A b // allow bl br at start of word | |||
_) b (jA b // allow bj | |||
b b | |||
b) b | |||
b (_N p | |||
b (L02 p | |||
blich plIC | |||
b (sA b | |||
bt (_N pt | |||
@@ -221,7 +223,7 @@ | |||
c) c | |||
ck k | |||
_) c (el S | |||
_) c (el ts | |||
fa) c (et ts | |||
_) cey tsaI | |||
chef (_ SEf | |||
@@ -280,7 +282,6 @@ | |||
d) d | |||
d (_N t | |||
d (L02 t | |||
dlich tlIC | |||
d (sA d | |||
ds (_ ts | |||
dt t | |||
@@ -345,6 +346,7 @@ | |||
e (CC E | |||
e (sch E | |||
e (x E | |||
e (ph e: | |||
ei aI | |||
eu OY | |||
@@ -427,6 +429,7 @@ | |||
h) ee (_ 'e: | |||
_) e (ff %E | |||
l) e (g_ 'e: | |||
kr) e (ier e: | |||
eih (_ aI | |||
_) eil (aP3 'aIl | |||
_) eil (fP3 'aIl | |||
@@ -518,7 +521,6 @@ | |||
g (g | |||
g (_N k | |||
g (L02 k | |||
glich klIC | |||
g (sA g | |||
gd (_N kt | |||
_) gh (A g | |||
@@ -547,7 +549,7 @@ | |||
ungs) ge (C@ g@ | |||
_) ge (beX ge: | |||
geben ge:b@n | |||
ge(birg g@ | |||
gebirge (_S7 g@bIrg@ | |||
_) gegen (@P5 ge:g@n | |||
gegen ge:g@n | |||
gegn ge:gn | |||
@@ -631,6 +633,7 @@ | |||
i (CC I | |||
i (sch I | |||
i (x I | |||
i (ph i: | |||
@) i (ng I | |||
&CC) i (_ =i: | |||
@@ -786,24 +789,24 @@ formal) ie =I@ | |||
_) leit (@P4 l'aIt | |||
_) lern (@@P4 l'Ern | |||
_) lexi (@ lEksi: | |||
&) lich (_S4 lIC | |||
&) liche (_S5 lIC@ | |||
&) lichem (_S6 lIC@m | |||
&) lichen (_S6 lIC@n | |||
&) licher (_S6 lIC3 | |||
&) liches (_S6 lIC@s | |||
&) lichere (_S7 lIC@r@ | |||
&) licherem (_S8 lIC@r@m | |||
&) licheren (_S8 lIC@r@n | |||
&) licherer (_S8 lIC@r@3 | |||
&) licheres (_S8 lIC@r@s | |||
&) lichste (_S7 lICst@ | |||
&) lichstem (_S8 lICst@m | |||
&) lichsten (_S8 lICst@n | |||
&) lichster (_S8 lICst@r | |||
&) lichstes (_S8 lICst@s | |||
&) lichkeit (_S8 lICkaIt | |||
&) lichung (_S7 lIC%UN | |||
&) lich (_S4 l2IC // [l2] means devoice previous consonant | |||
&) liche (_S5 l2IC@ | |||
&) lichem (_S6 l2IC@m | |||
&) lichen (_S6 l2IC@n | |||
&) licher (_S6 l2IC3 | |||
&) liches (_S6 l2IC@s | |||
&) lichere (_S7 l2IC@r@ | |||
&) licherem (_S8 l2IC@r@m | |||
&) licheren (_S8 l2IC@r@n | |||
&) licherer (_S8 l2IC@r@3 | |||
&) licheres (_S8 l2IC@r@s | |||
&) lichste (_S7 l2ICst@ | |||
&) lichstem (_S8 l2ICst@m | |||
&) lichsten (_S8 l2ICst@n | |||
&) lichster (_S8 l2ICst@r | |||
&) lichstes (_S8 l2ICst@s | |||
&) lichkeit (_S8 l2ICkaIt | |||
&) lichung (_S7 l2IC%UN | |||
@) lo (gisch l'o: | |||
_) luft (CP4 l'Uft | |||
@@ -860,6 +863,8 @@ formal) ie =I@ | |||
&) ness (_N _^_EN | |||
news _^_EN | |||
nieder ni:d3 | |||
nord (L04st n%Ort | |||
nord (west n%Ort | |||
.group o | |||
_) o (_ o: | |||
@@ -874,6 +879,7 @@ formal) ie =I@ | |||
o (CC O | |||
o (sch O | |||
o (x O | |||
o (ph o: | |||
&CC) o (_ =o: | |||
o (Co_ 'o: | |||
o (lo_ o: | |||
@@ -934,7 +940,8 @@ formal) ie =I@ | |||
_) peri p,e:ri: | |||
_) perio p,e:rIo: | |||
_) periphe p,e:ri:fe: | |||
_) personen (@P8 pErs'o:n@n | |||
_) personen (@P8 pErz'o:n@n | |||
person p%Erzo:n | |||
philie f'i:li: | |||
_) photo f,o:to: | |||
_) pro (@ %pro: | |||
@@ -966,6 +973,7 @@ formal) ie =I@ | |||
q k | |||
qu kv | |||
@) que (_ =k | |||
@) quen (_ =k@n | |||
.group r | |||
@@ -1040,6 +1048,7 @@ formal) ie =I@ | |||
&C) sten (_S4 st@n | |||
&C) ster (_S4 st3 | |||
&C) stes (_S4 st@s | |||
&n) st (_ st // needs more work | |||
_be) st St | |||
_ge) st St | |||
@@ -1081,8 +1090,11 @@ formal) ie =I@ | |||
@) straße (_S6 str,A:s@ | |||
_) street _^_EN | |||
style _^_EN | |||
süd (L04st z%y:t | |||
süd (west z%y:t | |||
synthesi _^_EN | |||
system z%Iste:m | |||
system z%yste:m | |||
s (system s | |||
.group t | |||
@@ -1425,6 +1437,6 @@ formal) ie =I@ | |||
$ dOl'A: | |||
__) - (_D mi:nUs | |||
D_) - (_D daS | |||
D_) - (_D StrIC | |||
_) - (_D _ | |||
@@ -77,7 +77,7 @@ n n^ p r R R2 s S | |||
s2 t t2 tS ts v z Z | |||
Dictionary de_dict 2011-05-14 | |||
Dictionary de_dict 2011-05-23 | |||
3 @ @- a A A: aI aU | |||
A~ E E2 E: e: EI i I | |||
@@ -85,9 +85,10 @@ i2 i: n- o O o: OY U | |||
u: W y y: Y: | |||
* : ; b C d D dZ | |||
f g g# h j k l m | |||
n N p pF r s S t | |||
tS ts v w x z Z | |||
f g g# h j k l l2 | |||
m n N p pF r R s | |||
S t tS ts v w x z | |||
Z | |||
Dictionary el_dict 2011-05-19 | |||
@@ -100,7 +101,7 @@ p Q r R s s; t T | |||
ts v x z | |||
Dictionary en_dict 2011-05-18 | |||
Dictionary en_dict 2011-05-24 | |||
0 3 3: @ @- @2 @5 @L | |||
a a# A: A@ aa aI aI@ aU | |||
@@ -150,7 +151,7 @@ l m n N p r s S | |||
s2 t v w Z | |||
Dictionary fr_dict 2011-04-15 | |||
Dictionary fr_dict 2011-05-21 | |||
@ @- a A~ e E E: E~ | |||
i I o O O~ u u: w | |||
@@ -200,7 +201,7 @@ q r r. s S s. t T | |||
t. th th. v w x z | |||
Dictionary ta_dict 2011-05-08 | |||
Dictionary ta_dict 2011-05-23 | |||
a a: aI aU e E e: i | |||
I i: o o: u U u2 u: |
@@ -1,4 +1,4 @@ | |||
/ | |||
// *************************************************************************** | |||
// * Copyright (C) 2005 to 2010 by Jonathan Duddington * | |||
// * email: [email protected] * |
@@ -1,7 +1,7 @@ | |||
// French translation rules for Espeak | |||
// *************************************************************************** | |||
// * Copyright (C) 2005 to 2010 by Jonathan Duddington * | |||
// * Copyright (C) 2005 to 2011 by Jonathan Duddington * | |||
// * email: [email protected] * | |||
// * * | |||
// * This program is free software; you can redistribute it and/or modify * | |||
@@ -27,7 +27,7 @@ | |||
// http://www.fluxnic.net/cicero | |||
// | |||
// Rules are now maintained by Michel Such <[email protected]> | |||
// Last update: 2011-04-15 Michel Such <[email protected]> | |||
// Last update: 2011-05-20 Michel Such <[email protected]> | |||
// | |||
// Letter classes: | |||
@@ -72,6 +72,12 @@ | |||
.L14 be in up ut | |||
.L15 c f g h | |||
// Hours | |||
.L16 0 1 2 3 4 5 6 7 8 9 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |||
// Minutes | |||
.L17 0 1 2 3 4 5 | |||
.group a | |||
@@ -1518,6 +1524,7 @@ nC) y (_ _^_en | |||
// symbols that are normally spoken when reading text | |||
// , (D pilk:u | |||
_L16_) : (_L17D_ Wr // Say time | |||
$ dOlar | |||
° d@gre | |||
_n_) ° // n° |
@@ -298,6 +298,9 @@ tamil தமிழ் $text | |||
போரடிக்காம $alt | |||
பரத் $alt | |||
பாஷா $alt | |||
பூட் $alt | |||
படுக $alt | |||
படுகா $alt | |||
(பி . ஏ) bije: | |||
@@ -128,6 +128,7 @@ | |||
_) க (ந்தர்வ gV | |||
_) க (னக்க gV | |||
_) க (னத் gV | |||
_) க (னபாடி gV | |||
_) க (னம gV | |||
_) கப் (L04ா gVp | |||
_) கப்ச (ிப் gVptS | |||
@@ -167,6 +168,7 @@ | |||
_) க (ானா g | |||
க (ாரன k | |||
க (ாரர k | |||
_) க (ார்டன g | |||
_) க (ிடுகிடு g | |||
_) க (ின்னஸ g | |||
_) க (ின்னென்ற g | |||
@@ -205,6 +207,7 @@ | |||
_) கி (ளாL04ை k | |||
_) கி (ளாஸ்_ g | |||
_) கிளிட kl.it.V# | |||
_) கிளிண்ட (ன klint.V | |||
_) கி (ளினிக் k | |||
_) கிளிப் (_ kl.ip | |||
_) கி (ளிப்பில k | |||
@@ -430,8 +433,10 @@ _சூரிய) க (லா kV | |||
_தாலு) க (ா k | |||
_ராதி) க (ா k | |||
_லங்) க (ா k | |||
ஆஷி) க (ா k | |||
இலா) க (ா k | |||
_கீர்த்தி) க (ா k | |||
_கேஷி) க (ா k | |||
_தாலூ) க (ா k | |||
_தேவி) க (ா k | |||
_யுரே) க (ா k | |||
@@ -444,6 +449,7 @@ _மோனி) க (ா k | |||
_மௌனி) க (ா k | |||
_ஸ்ரீலங்) க (ா k | |||
_ஹன்L04ி) க (ா k | |||
அனாமி) க (ா k | |||
_ஹாங்) க (ாங் k | |||
_தென்) க (ாசி k | |||
_நேர்) க (ாணல k | |||
@@ -645,6 +651,7 @@ _துப்பாக்கி) க்க (ுண்ட gg | |||
ச (ந்திர tSV | |||
_ஹட்) ச (ன sV | |||
_வாட்) ச (ன sV | |||
_டேவிட்) ச (ன sV | |||
_) ச (ப்பா tSV | |||
_) ச (ப்பி tSV | |||
_) ச (ப்பு tSV | |||
@@ -786,6 +793,8 @@ _தணிகா) ச (ல tSV | |||
_) ச (ேலஞ் tS | |||
_) ச (ேஷ்டை tS | |||
_) ச (ைத்திய tS | |||
_) ச (ைனா tS | |||
_) ச (ைனா_நேவால s | |||
_) ச (ைனாவ tS | |||
_) ச (ைனீஸ tS | |||
_) ச (ௌதரி tS | |||
@@ -819,6 +828,7 @@ _தணிகா) ச (ல tSV | |||
//sort | |||
_வால்) ட t.V# | |||
_கமெண்) ட t.V# | |||
_ரிப்போர்) ட t.V# | |||
அL04ால்) ட t.V# | |||
@@ -830,6 +840,7 @@ _ரிப்போர்) ட t.V# | |||
ங்) ட (ன t.V // -ington | |||
_நியூ) ட (ன t.V | |||
_மில்) ட (ன t.V | |||
_) ட (னல t.V | |||
_) ட (ன் t.V | |||
_) ட (ப்_ t.V | |||
_) டப்ப (ில t.Vbb | |||
@@ -840,6 +851,7 @@ _ரிப்போர்) ட t.V# | |||
_) ட (யரு t.V | |||
_) ட (யர் t.V | |||
_ப்ரிண்) ட (ர t.V | |||
_ஷெல்) ட (ர t.V | |||
_ஸ்கூ) ட (ர t.V | |||
என்கவுண்) ட (ர t.V | |||
என்கௌண்) ட (ர t.V | |||
@@ -878,6 +890,7 @@ _ரிப்போர்) ட t.V# | |||
_டியூ) ட (ி t. | |||
_ட்யூ) ட (ி t. | |||
_சேஃப்) ட (ி t. | |||
_பேண்) ட (ி t. | |||
_ராயல்) ட (ி t. | |||
_க்வாலி) ட (ி t. | |||
_நாவல்) ட (ி t. | |||
@@ -896,6 +909,7 @@ _நாவல்) ட (ி t. | |||
_) டி (யூசன t. | |||
_) டியூட (ி d.jU:t. | |||
_) டி (யூன t. | |||
_) டி (யூப t. | |||
_) டி (யூஷன t. | |||
_) டி (ரங் t. | |||
_) டி (ரங்கு t. | |||
@@ -931,6 +945,7 @@ _நாவல்) ட (ி t. | |||
_) டி (ரெயின t. | |||
_) டி (ரெய்லர t. | |||
_) டி (ரெஸ d. | |||
இண்) டி (ரெஸ்ட t. | |||
_) டிரேயின (ை t.re:jn | |||
_) டி (ரை_ d. | |||
_) டி (ரை_செஞ்ச t. | |||
@@ -986,6 +1001,7 @@ _லான்_) ட (ென்னிஸ t. | |||
_) டோரண்ட (ோ t.o:rVn.t. | |||
_ப்ரி) ட (ோரிய t. | |||
@மெண்) ட் t. // -ment | |||
_பேண்) ட் t. | |||
இண்டர்நெ) ட் t. | |||
_ல) ட்ட d.d.V# | |||
_ரெ) ட்ட (ியா d.d. | |||
@@ -993,6 +1009,7 @@ _லான்_) ட (ென்னிஸ t. | |||
அப்பாயிண்) ட்மெண்ட t.men.t.V# | |||
_) ட் (யூசன t. | |||
_) ட் (யூன t. | |||
_) ட் (யூப t. | |||
ஸ்) ட் (ர _|t. // ?? make t. distinct | |||
_) ட் (ரங் t. | |||
_) ட் (ரங்கு t. | |||
@@ -1018,6 +1035,7 @@ _லான்_) ட (ென்னிஸ t. | |||
_) ட் (ராலி t. | |||
_) ட் (ராவல t. | |||
_) ட் (ராவெல t. | |||
எண்) ட் (ரி t. | |||
_) ட்ரிக (ர t.riggV | |||
_) ட்ரிக் t.rik | |||
_) ட்ரிக்க (ர t.riggV | |||
@@ -1028,6 +1046,7 @@ _லான்_) ட (ென்னிஸ t. | |||
_போ) ட் (ரு t. | |||
_) ட்ரெயி (லர t.rej | |||
_) ட் (ரெய்லர t. | |||
இண்) ட் (ரேஸ்ட t. | |||
_) ட் (ரை_செஞ்ச t. | |||
_) ட் (ரை_செய் t. | |||
_) ட் (ரை_பண் t. | |||
@@ -1110,6 +1129,7 @@ _நடுரோ) ட் (ல t. | |||
_) த (டிமாட dV | |||
_) த (டியன dV | |||
_) த (டியர dV | |||
_) த (டியான dV | |||
_) த (ட்சசீல dV | |||
_) த (ட்சன dV | |||
_) த (ட்சிண dV | |||
@@ -1339,6 +1359,7 @@ _நடுரோ) ட் (ல t. | |||
_) த (ேச d | |||
_) த (ேவகான d | |||
_) த (ேவகி d | |||
_) த (ேவகுரு d | |||
_) த (ேவகுல d | |||
_) த (ேவக் d | |||
_) த (ேவசேன d | |||
@@ -1425,6 +1446,7 @@ _பிரசார்_பார) த (ி t | |||
_பிர) த (ீ t | |||
த (ுறை t | |||
வீண்) த (ேவை t | |||
_நிவேதி) த (ை t | |||
வீண்) த (ொல்லை t | |||
அம்பே) த்க tkV# | |||
யு) த்த ddV# | |||
@@ -1481,6 +1503,7 @@ _சிறை) த்த (ண்டனை ddV | |||
வி) த்த (ையால்_ dd | |||
வி) த்த (ையி dd | |||
வி) த்த (ையை dd | |||
_ஜெ) த் (மலானி t | |||
ச) த (்ய t | |||
நி) த (்ய t | |||
இ) த் (யாதி t | |||
@@ -1561,6 +1584,8 @@ _காமசூ) த் (ர t | |||
_) ப (ச்சன bV | |||
_) ப (ச்சான bV | |||
_) ப (ஜ bV | |||
_) ப (டுகாக்கள bV | |||
_) ப (டுகாவ bV | |||
_) ப (ட்சண bV | |||
_) ப (ட்சிக்க bV | |||
_) ப (ட்சிப்ப bV | |||
@@ -1613,6 +1638,8 @@ _சொந்த_) ப (ந்த bV | |||
_) ப (ர்கர bV | |||
_) ப (ர்த் bV | |||
_) ப (ர்னாலா bV | |||
_) பர்னிச (ர fVrnitSV | |||
_) ப (ர்னிச்சர fV | |||
_) ப (ர்மா bV | |||
_) ப (ர்லாங் fV | |||
_) ப (லகீன bV | |||
@@ -1724,11 +1751,14 @@ _சொந்த_) ப (ந்த bV | |||
_) ப (ாமாவ b | |||
_) ப (ாமினி b | |||
_) ப (ாம்பே b | |||
_ஆடு_) ப (ாம்பே p | |||
_விளையாடு_) ப (ாம்பே p | |||
_) ப (ாரத b | |||
_) ப (ாரதி b | |||
_) ப (ாரத்த b | |||
_) ப (ாரம b | |||
_) ப (ாரம்பரிய p | |||
_) ப (ாரவி b | |||
_) ப (ாராமுல்லா b | |||
_) ப (ாரிஸ்டர b | |||
_) ப (ார்L04லோனா b | |||
@@ -1812,6 +1842,7 @@ _ராகத்தின்_) ப (ாவ b | |||
_) ப (ிட்டடி b | |||
_) ப (ினாமி b | |||
_) ப (ினிஷ f | |||
_) பின் (_லேடன b | |||
_) ப (ின்லாந்த f | |||
_) பிப (ி bip | |||
_) ப (ிபிசி b // bbc | |||
@@ -1892,6 +1923,7 @@ _ராகத்தின்_) ப (ாவ b | |||
_) பி (ராண்ட p | |||
_) பி (ராண்ட்_ b | |||
_) பி (ராதித் p | |||
_) பி (ராத்தல b | |||
_) பி (ராந்தி_ b | |||
_) பி (ராந்தியங் p | |||
_) பி (ராந்தியத் p | |||
@@ -1936,6 +1968,7 @@ _ராகத்தின்_) ப (ாவ b | |||
_) பி (ரிஸ்டல b | |||
_) பிரிஸ்ப (ேன brisb | |||
_) பிரு (கன்நளை bri | |||
_) பி (ருகு b | |||
_) பிரு (ந்தா bri | |||
_) பிரெஞ்ச fren^tSV# | |||
_) பிரெட்ரிக் fred.rik | |||
@@ -1948,6 +1981,8 @@ _ராகத்தின்_) ப (ாவ b | |||
_) பி (ரைல b | |||
_) பி (ரோகிதர p | |||
_) பி (ரௌச b | |||
_) பி (ரௌன b | |||
_) ப (ில்டப் b | |||
_) ப (ில்டிங் b | |||
_) ப (ில்லியன b | |||
_) பி (ளவுஸ b | |||
@@ -2076,6 +2111,7 @@ _பெனசீர்_) ப (ுட்டோ b | |||
_) ப (ேகத் b | |||
_) ப (ேகம b | |||
_) ப (ேக்கரி b | |||
_) ப (ேங்க் b | |||
_) ப (ேச்சலர b | |||
_) ப (ேச்சிலர b | |||
_) ப (ேச்சுலர b | |||
@@ -2098,6 +2134,7 @@ _பெனசீர்_) ப (ுட்டோ b | |||
_) ப (ொம்மன b | |||
_) ப (ொம்மல b | |||
_) ப (ொம்மை b | |||
_) ப (ோஃபோர் b | |||
_) ப (ோக_L11 b | |||
_) ப (ோகங்க b | |||
_) ப (ோகத்த b | |||
@@ -2126,6 +2163,7 @@ _பெனசீர்_) ப (ுட்டோ b | |||
_) ப (ோன்கள f | |||
_) ப (ோன்ஸ்லே b | |||
_) போப (ால bo:p | |||
_) போப (ோர் bo:f | |||
_) ப (ோரடிக்காமலா b | |||
_) ப (ோரடிக்குத b | |||
_) ப (ோரடிக்கும b | |||
@@ -2146,6 +2184,7 @@ _சந்திர_) ப (ோஸ b | |||
_) ப் (ரவுச b | |||
_) ப் (ரஷ் b | |||
_) ப் (ரஸல்ஸ b | |||
_) ப் (ராத்தல b | |||
_) ப் (ரான்சிஸ்க f | |||
_) ப் (ரான்ஸ f | |||
_) ப் (ராவ b | |||
@@ -2162,6 +2201,7 @@ _சந்திர_) ப (ோஸ b | |||
_) ப் (ரோக்கர b | |||
_) ப்ரோட (ான pro:t | |||
_) ப் (ரௌச b | |||
_) ப் (ரௌன b | |||
_) ப் (ளவுஸ b | |||
_) ப் (ளோரிடா f | |||
_) ப் (ளௌஸ b | |||
@@ -2342,6 +2382,7 @@ _ப்ரின்சி) ப (ால p | |||
கண்டு) ப (ிடி p | |||
திமிர்) ப (ிடி p | |||
ராவல்) ப (ிண்டி p | |||
_டால்) ப (ின f | |||
ஒ) ப (ினியன p | |||
அன்) ப (ின் b | |||
_பண்) ப (ின் b | |||
@@ -2690,6 +2731,7 @@ _சந்தேக) ப்ப (ுத்தி bb | |||
இ (ரசிக்க | |||
இ (ரசித்த | |||
இ (ரத்த | |||
இரப்ப (ர irVbbV | |||
இ (ரயில | |||
இ (ராக | |||
இ (ராச |
@@ -1,8 +0,0 @@ | |||
name greek-ancient | |||
language grc | |||
gender male | |||
stressLength 170 170 190 190 0 0 230 240 | |||
dictrules 1 | |||
words 3 | |||
@@ -1,3 +0,0 @@ | |||
name lojban | |||
language jbo | |||
@@ -1,7 +1,9 @@ | |||
language pt 7 | |||
name brazil-mbrola-1 | |||
gender male | |||
pitch 82 117 | |||
voicing 80 | |||
dictrules 2 3 4 | |||
@@ -1,9 +1,10 @@ | |||
language pt 7 | |||
name brazil-mbrola-3 | |||
gender male | |||
pitch 82 117 | |||
pitch 80 120 | |||
dictrules 2 3 4 | |||
voicing 120 | |||
mbrola br3 ptbr_phtrans | |||
@@ -1,7 +1,9 @@ | |||
language pt 7 | |||
name brazil-mbrola-4 | |||
gender female | |||
pitch 140 220 | |||
voicing 80 | |||
dictrules 2 3 4 | |||
@@ -5,5 +5,6 @@ gender male | |||
dictionary hbs | |||
dictrules 1 | |||
voicing 150 | |||
pitch 82 117 | |||
mbrola cr1 cr1_phtrans |
@@ -1,6 +1,7 @@ | |||
name german-mbrola-2 | |||
language de 6 | |||
gender male | |||
voicing 80 | |||
mbrola de2 de2_phtrans | |||
@@ -2,5 +2,7 @@ name german-mbrola-4 | |||
language de 6 | |||
gender male | |||
voicing 130 | |||
mbrola de4 de4_phtrans | |||
@@ -2,5 +2,7 @@ name en-german | |||
language en 9 | |||
gender male | |||
voicing 130 | |||
mbrola de4 de4_phtrans | |||
@@ -2,6 +2,7 @@ name german-mbrola-7 | |||
language de 7 | |||
gender female | |||
voicing 150 | |||
pitch 140 220 | |||
mbrola de7 de6_phtrans 22050 | |||
@@ -3,5 +3,6 @@ language en-uk 3 | |||
language en 2 | |||
gender male | |||
voicing 150 | |||
pitch 82 117 | |||
mbrola en1 en1_phtrans |
@@ -5,5 +5,7 @@ gender male | |||
dictrules 1 | |||
stressLength 180 180 180 180 0 0 220 220 | |||
pitch 82 117 | |||
voicing 70 | |||
mbrola fr1 fr1_phtrans | |||
@@ -4,5 +4,6 @@ gender male | |||
dictrules 1 | |||
pitch 82 117 | |||
voicing 70 | |||
mbrola fr1 fr1_phtrans | |||
@@ -4,5 +4,6 @@ gender female | |||
dictrules 1 | |||
pitch 140 220 | |||
voicing 90 | |||
mbrola fr1 fr1_phtrans | |||
@@ -4,5 +4,6 @@ gender female | |||
dictrules 1 | |||
pitch 140 220 | |||
voicing 90 | |||
mbrola fr1 fr1_phtrans | |||
@@ -3,4 +3,5 @@ language el 7 | |||
gender male | |||
pitch 82 117 | |||
voicing 65 | |||
mbrola gr2 gr2_phtrans |
@@ -3,4 +3,5 @@ language en 7 | |||
gender male | |||
pitch 82 117 | |||
voicing 65 | |||
mbrola gr2 gr2_phtrans |
@@ -3,4 +3,5 @@ language hu 7 | |||
gender female | |||
pitch 140 220 | |||
voicing 160 | |||
mbrola hu1 hu1_phtrans |
@@ -3,4 +3,5 @@ language en 10 | |||
gender female | |||
pitch 140 220 | |||
voicing 160 | |||
mbrola hu1 hu1_phtrans |
@@ -2,5 +2,6 @@ name mbrola-icelandic | |||
language is 6 | |||
gender male | |||
voicing 180 | |||
mbrola ic1 ic1_phtrans | |||
@@ -3,5 +3,6 @@ language id 7 | |||
gender male | |||
pitch 82 117 | |||
voicing 120 | |||
mbrola id1 id1_phtrans | |||
@@ -3,6 +3,7 @@ language it 7 | |||
gender male | |||
pitch 82 117 | |||
voicing 65 | |||
mbrola it3 it3_phtrans | |||
replace 03 i I // final unstressed "i" |
@@ -3,6 +3,7 @@ language it 7 | |||
gender female | |||
pitch 140 220 | |||
voicing 60 | |||
mbrola it4 it3_phtrans | |||
replace 03 i I // final unstressed "i" |
@@ -3,5 +3,7 @@ name dutch-mbrola-2 | |||
gender male | |||
pitch 82 117 | |||
voicing 130 | |||
mbrola nl2 nl_phtrans | |||
@@ -3,5 +3,7 @@ name en-dutch | |||
gender male | |||
pitch 82 117 | |||
voicing 130 | |||
mbrola nl2 nl_phtrans | |||
@@ -3,4 +3,5 @@ language pl 7 | |||
gender female | |||
pitch 140 220 | |||
voicing 120 | |||
mbrola pl1 pl1_phtrans |
@@ -1,9 +1,10 @@ | |||
language pt 7 | |||
name portugal-mbrola-1 | |||
gender female | |||
pitch 140 220 | |||
pitch 145 240 | |||
dictrules 1 | |||
voicing 70 | |||
mbrola pt1 pt1_phtrans | |||
@@ -3,5 +3,7 @@ language sv 7 | |||
gender male | |||
pitch 82 117 | |||
voicing 120 | |||
mbrola sw1 sv_phtrans | |||
@@ -3,5 +3,7 @@ language en 11 | |||
gender male | |||
pitch 82 117 | |||
voicing 120 | |||
mbrola sw1 sv_phtrans | |||
@@ -3,5 +3,7 @@ language sv 8 | |||
gender female | |||
pitch 140 220 | |||
voicing 130 | |||
mbrola sw2 sv2_phtrans | |||
@@ -3,5 +3,7 @@ language en | |||
gender female | |||
pitch 140 220 | |||
voicing 130 | |||
mbrola sw2 sv2_phtrans | |||
@@ -3,6 +3,8 @@ language tr 7 | |||
gender female | |||
pitch 140 220 | |||
voicing 170 | |||
mbrola tr2 tr1_phtrans | |||
dictrules 1 | |||
@@ -9,4 +9,5 @@ dictrules 3 6 | |||
stressLength 170 135 205 205 0 0 245 275 | |||
pitch 82 117 | |||
voicing 80 | |||
mbrola us2 us_phtrans |
@@ -8,5 +8,6 @@ dictrules 3 6 | |||
stressLength 170 135 205 205 0 0 245 275 | |||
voicing 150 | |||
pitch 82 117 | |||
mbrola us3 us3_phtrans |
@@ -12,7 +12,7 @@ consonants 10 116 | |||
en-wi 30 150 | |||
af 39 136 | |||
cy 29 132 | |||
de 37 138 | |||
de 41 139 | |||
eo 13 114 | |||
jbo 2 114 | |||
nci 3 123 | |||
@@ -368,8 +368,8 @@ l/l_ [l] base | |||
[l/] fr | |||
l/l_@ [l/3] base | |||
[l/] fr | |||
l/l@ [h†s] base | |||
[l#] base | |||
l/l@ [l#] base | |||
[”¦] base | |||
[l] fr | |||
[l/2] fr | |||
[K] nso | |||
@@ -402,16 +402,16 @@ l/L2_oL [l/2] base | |||
l/L2_uL [l/2] base | |||
l/l_3 [l/] de | |||
l/l_4 [ll] sq | |||
l/la [h†s] base | |||
[l#] base | |||
l/la [l#] base | |||
[”¦] base | |||
[l] fr | |||
[l/2] fr | |||
[K] nso | |||
[K] tn | |||
l/l_a [l/3] base | |||
[l/] fr | |||
l/le [h†s] base | |||
[l#] base | |||
l/le [l#] base | |||
[”¦] base | |||
[l] fr | |||
[l/2] fr | |||
[K] nso | |||
@@ -422,8 +422,8 @@ l/L_eL_af [&] af | |||
[&:] af | |||
l/l_front [L] sq | |||
l/l_front_ [l/4] sq | |||
l/li [h†s] base | |||
[l#] base | |||
l/li [l#] base | |||
[”¦] base | |||
[l] fr | |||
[l/2] fr | |||
[l] zh | |||
@@ -436,8 +436,8 @@ ll/ll [L] bg | |||
ll/_ll [L] bg | |||
l/l_long [l] base | |||
[l] fr | |||
l/lo [h†s] base | |||
[l#] base | |||
l/lo [l#] base | |||
[”¦] base | |||
[l/2] fr | |||
[K] nso | |||
[K] tn | |||
@@ -446,8 +446,8 @@ l/l_o [l/3] base | |||
l^/l_rfx [l.] base | |||
[l] ru | |||
[l^] ru | |||
l/lu [h†s] base | |||
[l#] base | |||
l/lu [l#] base | |||
[”¦] base | |||
[l] fr | |||
[l/2] fr | |||
[K] nso |
@@ -1,3 +1,5 @@ | |||
volume 16 | |||
0 l/2 NULL 0 l | |||
0 l/ NULL 0 l | |||
0 r/ NULL 0 r |
@@ -1,4 +1,3 @@ | |||
volume 16 | |||
0 l/2 NULL 0 l | |||
0 l/ NULL 0 l |
@@ -51,7 +51,7 @@ | |||
0 O~ NULL 0 o~ | |||
16 _| VWL 0 ? | |||
16 _! VWL 0 ? | |||
//16 _! VWL 0 ? | |||
// phonemes for English words | |||
0 @L NULL 0 L |
@@ -1,4 +1,4 @@ | |||
//volume 29 | |||
0 oU NULL 0 @U | |||
0 a# NULL 0 @ | |||
0 @2 NULL 0 @ |
@@ -1,4 +1,4 @@ | |||
volume 15 | |||
0 l/2 NULL 0 l | |||
0 l/ NULL 0 l | |||
0 l2 NULL 0 l |
@@ -1,4 +1,4 @@ | |||
volume 16 | |||
volume 15 | |||
0 l/2 NULL 0 l | |||
0 l/ NULL 0 l |
@@ -1,4 +1,3 @@ | |||
volume 32 | |||
0 l/2 NULL 0 l | |||
0 l/ NULL 0 l |
@@ -1,4 +1,3 @@ | |||
volume 32 | |||
// CR1 doesn't like same phonemes twice | |||
0 e E 5 e _ |
@@ -1,4 +1,5 @@ | |||
// for voices "it3" "it4" | |||
volume 15 | |||
0 r/ NULL 0 r | |||
0 w/ NULL 0 w |
@@ -1,3 +1,5 @@ | |||
volume 15 | |||
0 l/ NULL 0 w | |||
0 l/2 w 0 l | |||
0 l/2 j 0 l |
@@ -1,3 +1,5 @@ | |||
volume 15 | |||
0 l/ NULL 0 w | |||
0 l/2 w 0 l | |||
0 l/2 j 0 l |
@@ -67,7 +67,7 @@ | |||
0 aU@ NULL 70 A: u0 | |||
0 T VWL 0 th | |||
0 T NULL 0 t | |||
0 D NULL 0 z | |||
0 D NULL 0 d | |||
0 w NULL 0 v | |||
0 z NULL 0 s | |||
0 tS NULL 50 t rs |
@@ -63,7 +63,7 @@ | |||
0 aU@ NULL 70 A: u0 | |||
0 T VWL 0 th | |||
0 T NULL 0 t | |||
0 D NULL 0 z | |||
0 D NULL 0 d | |||
0 w NULL 0 v | |||
0 z NULL 0 s | |||
0 tS NULL 50 t s |
@@ -400,6 +400,37 @@ phoneme A~ | |||
FMT(vnasal/aa_n4) | |||
endphoneme | |||
phoneme l2 // as [l] but devoice previous phoneme | |||
liquid lengthmod 7 | |||
ChangePhoneme (l) | |||
endphoneme | |||
phoneme b | |||
vcd alv frc sibilant | |||
IF nextPh(l2) THEN | |||
ChangePhoneme(p) | |||
ENDIF | |||
CALL base/b | |||
endphoneme | |||
phoneme d | |||
vcd alv stop | |||
IF nextPh(l2) THEN | |||
ChangePhoneme(t) | |||
ENDIF | |||
CALL base/d | |||
endphoneme | |||
phoneme g | |||
vcd vel stop | |||
IF nextPh(l2) THEN | |||
ChangePhoneme(k) | |||
ENDIF | |||
CALL base/g | |||
endphoneme | |||
// translate from English to German phonemes | |||
equivalents NULL // disable this table | |||
0 O |
@@ -54,7 +54,7 @@ endphoneme | |||
phoneme || // End Word | |||
pause | |||
lengthmod 1 | |||
lengthmod 9 // no effect | |||
endphoneme | |||
phoneme _ // Short pause |
@@ -536,6 +536,13 @@ static void WritePhMnemonic(char **buf, PHONEME_TAB *ph, PHONEME_LIST *plist) | |||
phon_out = *buf; | |||
if(ph->code == phonEND_WORD) | |||
{ | |||
// ignore | |||
phon_out[0] = 0; | |||
return; | |||
} | |||
if(option_phonemes == 3) | |||
{ | |||
// has an ipa name been defined for this phoneme ? | |||
@@ -2920,6 +2927,7 @@ static const char *LookupDict2(Translator *tr, const char *word, const char *wor | |||
const char *word_end; | |||
const char *word1; | |||
int wflags = 0; | |||
int wflags2; | |||
char word_buf[N_WORD_BYTES+1]; | |||
if(wtab != NULL) | |||
@@ -3014,11 +3022,16 @@ static const char *LookupDict2(Translator *tr, const char *word, const char *wor | |||
skipwords = flag - 80; | |||
// don't use the contraction if any of the words are emphasized | |||
for(ix=0; ix <= skipwords; ix++) | |||
// or has an embedded command, such as MARK | |||
if(wtab != NULL) | |||
{ | |||
if(wflags & FLAG_EMPHASIZED2) | |||
for(ix=0; ix <= skipwords; ix++) | |||
{ | |||
condition_failed = 1; | |||
if(wtab[ix].flags & FLAG_EMPHASIZED2) | |||
// if(((wflags2 = wtab[ix].flags) & FLAG_EMPHASIZED2) || ((ix > 0) && (wflags2 & FLAG_EMBEDDED))) | |||
{ | |||
condition_failed = 1; | |||
} | |||
} | |||
} | |||
@@ -47,9 +47,7 @@ | |||
#define phVOWEL2 0x100 // liquid that is considered a vowel | |||
#define phPALATAL 0x200 | |||
#define phSINGLE_INSTN 0x1000 // this phoneme has a single instruction program, with an implicit Return | |||
#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 phNONSYLLABIC 0x100000 // don't count this vowel as a syllable when finding the stress position | |||
#define phLONG 0x200000 | |||
@@ -106,14 +104,14 @@ extern const unsigned char pause_phonemes[8]; // 0, vshort, short, pause, long, | |||
// main table of phonemes, index by phoneme number (1-254) | |||
typedef struct { | |||
unsigned int mnemonic; // 1st char is in the l.s.byte | |||
unsigned int mnemonic; // Up to 4 characters. The first char is in the l.s.byte | |||
unsigned int phflags; // bits 16-19 place of articulation | |||
unsigned short program; | |||
unsigned short program; // index into phondata file | |||
unsigned char code; // the phoneme number | |||
unsigned char type; // phVOWEL, phPAUSE, phSTOP etc | |||
unsigned char start_type; | |||
unsigned char end_type; | |||
unsigned char std_length; // for vowels, in mS/2; for phSTRESS, the stress/tone type | |||
unsigned char std_length; // for vowels, in mS/2; for phSTRESS phonemes, this is the stress/tone type | |||
unsigned char length_mod; // a length_mod group number, used to access length_mod_tab | |||
} PHONEME_TAB; |
@@ -139,15 +139,18 @@ espeak_ERROR LoadMbrolaTable(const char *mbrola_voice, const char *phtrans, int | |||
if(GetFileLength(path) <= 0) | |||
{ | |||
sprintf(path,"/usr/share/mbrola/%s",mbrola_voice); | |||
if(GetFileLength(path) <= 0) | |||
{ | |||
sprintf(path,"/usr/share/mbrola/%s/%s",mbrola_voice,mbrola_voice); | |||
if(GetFileLength(path) <= 0) | |||
{ | |||
sprintf(path,"/usr/share/mbrola/voices/%s",mbrola_voice); | |||
} | |||
} | |||
} | |||
if(GetFileLength(path) <= 0) | |||
{ | |||
sprintf(path,"/usr/share/mbrola/%s/%s",mbrola_voice,mbrola_voice); | |||
} | |||
if(GetFileLength(path) <= 0) | |||
{ | |||
sprintf(path,"/usr/share/mbrola/voices/%s",mbrola_voice); | |||
} | |||
close_MBR(); | |||
#endif | |||
#ifdef PLATFORM_WINDOWS | |||
if(load_MBR() == FALSE) // load mbrola.dll | |||
@@ -478,7 +481,8 @@ int MbrolaTranslate(PHONEME_LIST *plist, int n_phonemes, int resume, FILE *f_mbr | |||
else | |||
len = (80 * speed.wav_factor)/256; | |||
DoMarker(espeakEVENT_PHONEME, (p->sourceix & 0x7ff) + clause_start_char, 0, ph->mnemonic); | |||
if(ph->code != phonEND_WORD) | |||
DoMarker(espeakEVENT_PHONEME, (p->sourceix & 0x7ff) + clause_start_char, 0, ph->mnemonic); | |||
ptr += sprintf(ptr,"%s\t",WordToString(name)); | |||
@@ -645,12 +649,15 @@ int MbrolaGenerate(PHONEME_LIST *phoneme_list, int *n_ph, int resume) | |||
} | |||
int MbrolaFill(int length, int resume) | |||
{//=================================== | |||
// Read audio data from Mbrola (length is in milisecs) | |||
int MbrolaFill(int length, int resume, int amplitude) | |||
{//================================================== | |||
// Read audio data from Mbrola (length is in millisecs) | |||
static int n_samples; | |||
int req_samples, result; | |||
int ix; | |||
short value16; | |||
int value; | |||
if (!resume) | |||
n_samples = samplerate * length / 1000; | |||
@@ -661,7 +668,20 @@ int MbrolaFill(int length, int resume) | |||
result = read_MBR((short *)out_ptr, req_samples); | |||
if (result <= 0) | |||
return 0; | |||
out_ptr += result*2; | |||
for(ix=0; ix < result; ix++) | |||
{ | |||
value16 = out_ptr[0] + (out_ptr[1] << 8); | |||
value = value16 * amplitude; | |||
value = value / 40; // adjust this constant to give a suitable amplitude for mbrola voices | |||
if(value > 0x7fff) | |||
value = 0x7fff; | |||
if(value < -0x8000) | |||
value = 0x8000; | |||
out_ptr[0] = value; | |||
out_ptr[1] = value >> 8; | |||
out_ptr += 2; | |||
} | |||
n_samples -= result; | |||
return n_samples ? 1 : 0; | |||
} | |||
@@ -688,7 +708,7 @@ int MbrolaGenerate(PHONEME_LIST *phoneme_list, int *n_ph, int resume) | |||
return(0); | |||
} | |||
int MbrolaFill(int length, int resume) | |||
int MbrolaFill(int length, int resume, int amplitude) | |||
{ | |||
return(0); | |||
} |
@@ -35,7 +35,7 @@ | |||
#include "translate.h" | |||
#include "wave.h" | |||
const char *version_string = "1.45.27 19.May.11"; | |||
const char *version_string = "1.45.28 24.May.11"; | |||
const int version_phdata = 0x014500; | |||
int option_device_number = -1; |
@@ -1393,7 +1393,7 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume) | |||
// DoMarker(espeakEVENT_END, count_characters, 0, count_sentences); // end of clause | |||
if(p->newword & 1) | |||
DoMarker(espeakEVENT_WORD, sourceix, p->sourceix >> 11, clause_start_word + word_count++); | |||
DoMarker(espeakEVENT_WORD, sourceix, p->sourceix >> 11, clause_start_word + word_count++); // NOTE, this count doesn't include multiple-word pronunciations in *_list. eg (of a) | |||
} | |||
EndAmplitude(); | |||
@@ -1401,7 +1401,7 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume) | |||
if(p->prepause > 0) | |||
DoPause(p->prepause,1); | |||
if(option_phoneme_events && (p->type != phVOWEL)) | |||
if(option_phoneme_events && (p->type != phVOWEL) && (p->ph->code != phonEND_WORD)) | |||
{ | |||
// Note, for vowels, do the phoneme event after the vowel-start | |||
DoMarker(espeakEVENT_PHONEME, sourceix, 0, p->ph->mnemonic); |
@@ -553,7 +553,7 @@ espeak_ERROR LoadMbrolaTable(const char *mbrola_voice, const char *phtrans, int | |||
void SetParameter(int parameter, int value, int relative); | |||
int MbrolaTranslate(PHONEME_LIST *plist, int n_phonemes, int resume, FILE *f_mbrola); | |||
int MbrolaGenerate(PHONEME_LIST *phoneme_list, int *n_ph, int resume); | |||
int MbrolaFill(int length, int resume); | |||
int MbrolaFill(int length, int resume, int amplitude); | |||
void MbrolaReset(void); | |||
void DoEmbedded(int *embix, int sourceix); | |||
void DoMarker(int type, int char_posn, int length, int value); |
@@ -1672,9 +1672,20 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa | |||
} while((embedded_cmd & 0x80) == 0); | |||
} | |||
if(word[0] == 0) | |||
if((word[0] == 0) || (word_flags & FLAG_DELETE_WORD)) | |||
{ | |||
// nothing to translate | |||
// nothing to translate. Add a dummy phoneme to carry any embedded commands | |||
if(embedded_flag) | |||
{ | |||
ph_list2[n_ph_list2].phcode = phonEND_WORD; | |||
ph_list2[n_ph_list2].stresslevel = 0; | |||
ph_list2[n_ph_list2].wordstress = 0; | |||
ph_list2[n_ph_list2].tone_ph = 0; | |||
ph_list2[n_ph_list2].synthflags = embedded_flag; | |||
ph_list2[n_ph_list2].sourceix = 0; | |||
n_ph_list2++; | |||
embedded_flag = 0; | |||
} | |||
word_phonemes[0] = 0; | |||
return(0); | |||
} | |||
@@ -3175,6 +3186,7 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre | |||
else | |||
{ | |||
pre_pause = 0; | |||
dict_flags = TranslateWord2(tr, word, &words[ix], words[ix].pre_pause, words[ix+1].pre_pause); | |||
if(pre_pause > words[ix+1].pre_pause) | |||
@@ -3206,7 +3218,12 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre | |||
if(dict_flags & FLAG_SKIPWORDS) | |||
{ | |||
ix += dictionary_skipwords; // dictionary indicates skip next word(s) | |||
// dictionary indicates skip next word(s) | |||
while(dictionary_skipwords > 0) | |||
{ | |||
words[ix+dictionary_skipwords].flags |= FLAG_DELETE_WORD; | |||
dictionary_skipwords--; | |||
} | |||
} | |||
} | |||
@@ -109,6 +109,7 @@ | |||
#define FLAG_COMMA_AFTER 0x20000 // comma after this word | |||
#define FLAG_MULTIPLE_SPACES 0x40000 // word is preceded by multiple spaces, newline, or tab | |||
#define FLAG_INDIVIDUAL_DIGITS 0x80000 // speak number as individual digits | |||
#define FLAG_DELETE_WORD 0x100000 // don't speak this word, it has been spoken as part of the previous word | |||
#define FLAG_SUFFIX_VOWEL 0x08000000 // remember an initial vowel from the suffix | |||
#define FLAG_NO_TRACE 0x10000000 // passed to TranslateRules() to suppress dictionary lookup printout |
@@ -1966,7 +1966,7 @@ int WavegenFill2(int fill_zeros) | |||
break; | |||
case WCMD_MBROLA_DATA: | |||
result = MbrolaFill(length, resume); | |||
result = MbrolaFill(length, resume, (general_amplitude * wvoice->voicing)/64); | |||
break; | |||
case WCMD_FMT_AMPLITUDE: |