Browse Source

[1.45.28]

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-fd96e6ae7743
master
jonsd 14 years ago
parent
commit
1284a5334c
67 changed files with 432 additions and 242 deletions
  1. 6
    2
      dictsource/de_list
  2. 38
    26
      dictsource/de_rules
  3. 8
    7
      dictsource/dict_phonemes
  4. 142
    138
      dictsource/en_list
  5. 1
    1
      dictsource/fr_list
  6. 9
    2
      dictsource/fr_rules
  7. 3
    0
      dictsource/ta_list
  8. 42
    0
      dictsource/ta_rules
  9. 0
    8
      espeak-data/voices/grc
  10. 0
    3
      espeak-data/voices/jbo
  11. 2
    0
      espeak-data/voices/mb/mb-br1
  12. 2
    1
      espeak-data/voices/mb/mb-br3
  13. 2
    0
      espeak-data/voices/mb/mb-br4
  14. 1
    0
      espeak-data/voices/mb/mb-cr1
  15. 1
    0
      espeak-data/voices/mb/mb-de2
  16. 2
    0
      espeak-data/voices/mb/mb-de4
  17. 2
    0
      espeak-data/voices/mb/mb-de4-en
  18. 1
    0
      espeak-data/voices/mb/mb-de7
  19. 1
    0
      espeak-data/voices/mb/mb-en1
  20. 2
    0
      espeak-data/voices/mb/mb-fr1
  21. 1
    0
      espeak-data/voices/mb/mb-fr1-en
  22. 1
    0
      espeak-data/voices/mb/mb-fr4
  23. 1
    0
      espeak-data/voices/mb/mb-fr4-en
  24. 1
    0
      espeak-data/voices/mb/mb-gr2
  25. 1
    0
      espeak-data/voices/mb/mb-gr2-en
  26. 1
    0
      espeak-data/voices/mb/mb-hu1
  27. 1
    0
      espeak-data/voices/mb/mb-hu1-en
  28. 1
    0
      espeak-data/voices/mb/mb-ic1
  29. 1
    0
      espeak-data/voices/mb/mb-id1
  30. 1
    0
      espeak-data/voices/mb/mb-it3
  31. 1
    0
      espeak-data/voices/mb/mb-it4
  32. 2
    0
      espeak-data/voices/mb/mb-nl2
  33. 2
    0
      espeak-data/voices/mb/mb-nl2-en
  34. 1
    0
      espeak-data/voices/mb/mb-pl1
  35. 2
    1
      espeak-data/voices/mb/mb-pt1
  36. 2
    0
      espeak-data/voices/mb/mb-sw1
  37. 2
    0
      espeak-data/voices/mb/mb-sw1-en
  38. 2
    0
      espeak-data/voices/mb/mb-sw2
  39. 2
    0
      espeak-data/voices/mb/mb-sw2-en
  40. 2
    0
      espeak-data/voices/mb/mb-tr2
  41. 1
    0
      espeak-data/voices/mb/mb-us2
  42. 1
    0
      espeak-data/voices/mb/mb-us3
  43. 13
    13
      phsource/compile_report
  44. 2
    0
      phsource/mbrola/af1
  45. 0
    1
      phsource/mbrola/cr1
  46. 1
    1
      phsource/mbrola/de4
  47. 1
    1
      phsource/mbrola/en1
  48. 1
    1
      phsource/mbrola/fr1
  49. 1
    1
      phsource/mbrola/gr2
  50. 0
    1
      phsource/mbrola/hu1
  51. 0
    1
      phsource/mbrola/id1
  52. 1
    0
      phsource/mbrola/it3
  53. 2
    0
      phsource/mbrola/pt1
  54. 2
    0
      phsource/mbrola/ptbr
  55. 1
    1
      phsource/mbrola/sv
  56. 1
    1
      phsource/mbrola/sv2
  57. 31
    0
      phsource/ph_german
  58. 1
    1
      phsource/phonemes
  59. 16
    3
      src/dictionary.cpp
  60. 3
    5
      src/phoneme.h
  61. 34
    14
      src/synth_mbrola.cpp
  62. 1
    1
      src/synthdata.cpp
  63. 2
    2
      src/synthesize.cpp
  64. 1
    1
      src/synthesize.h
  65. 20
    3
      src/translate.cpp
  66. 1
    0
      src/translate.h
  67. 1
    1
      src/wavegen.cpp

+ 6
- 2
dictsource/de_list View File

@@ -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


+ 38
- 26
dictsource/de_rules View File

@@ -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 _


+ 8
- 7
dictsource/dict_phonemes View File

@@ -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:

+ 142
- 138
dictsource/en_list
File diff suppressed because it is too large
View File


+ 1
- 1
dictsource/fr_list View File

@@ -1,4 +1,4 @@
/
// ***************************************************************************
// * Copyright (C) 2005 to 2010 by Jonathan Duddington *
// * email: [email protected] *

+ 9
- 2
dictsource/fr_rules View File

@@ -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°

+ 3
- 0
dictsource/ta_list View File

@@ -298,6 +298,9 @@ tamil தமிழ் $text
போரடிக்காம $alt
பரத் $alt
பாஷா $alt
பூட் $alt
படுக $alt
படுகா $alt
(பி . ஏ) bije:



+ 42
- 0
dictsource/ta_rules View File

@@ -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
இ (ரயில
இ (ராக
இ (ராச

+ 0
- 8
espeak-data/voices/grc View File

@@ -1,8 +0,0 @@
name greek-ancient
language grc
gender male

stressLength 170 170 190 190 0 0 230 240
dictrules 1
words 3


+ 0
- 3
espeak-data/voices/jbo View File

@@ -1,3 +0,0 @@
name lojban
language jbo


+ 2
- 0
espeak-data/voices/mb/mb-br1 View File

@@ -1,7 +1,9 @@
language pt 7
name brazil-mbrola-1
gender male

pitch 82 117
voicing 80

dictrules 2 3 4


+ 2
- 1
espeak-data/voices/mb/mb-br3 View File

@@ -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


+ 2
- 0
espeak-data/voices/mb/mb-br4 View File

@@ -1,7 +1,9 @@
language pt 7
name brazil-mbrola-4
gender female

pitch 140 220
voicing 80

dictrules 2 3 4


+ 1
- 0
espeak-data/voices/mb/mb-cr1 View File

@@ -5,5 +5,6 @@ gender male
dictionary hbs
dictrules 1

voicing 150
pitch 82 117
mbrola cr1 cr1_phtrans

+ 1
- 0
espeak-data/voices/mb/mb-de2 View File

@@ -1,6 +1,7 @@
name german-mbrola-2
language de 6
gender male
voicing 80

mbrola de2 de2_phtrans


+ 2
- 0
espeak-data/voices/mb/mb-de4 View File

@@ -2,5 +2,7 @@ name german-mbrola-4
language de 6
gender male

voicing 130

mbrola de4 de4_phtrans


+ 2
- 0
espeak-data/voices/mb/mb-de4-en View File

@@ -2,5 +2,7 @@ name en-german
language en 9
gender male

voicing 130

mbrola de4 de4_phtrans


+ 1
- 0
espeak-data/voices/mb/mb-de7 View File

@@ -2,6 +2,7 @@ name german-mbrola-7
language de 7
gender female

voicing 150
pitch 140 220
mbrola de7 de6_phtrans 22050


+ 1
- 0
espeak-data/voices/mb/mb-en1 View File

@@ -3,5 +3,6 @@ language en-uk 3
language en 2
gender male

voicing 150
pitch 82 117
mbrola en1 en1_phtrans

+ 2
- 0
espeak-data/voices/mb/mb-fr1 View File

@@ -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


+ 1
- 0
espeak-data/voices/mb/mb-fr1-en View File

@@ -4,5 +4,6 @@ gender male

dictrules 1
pitch 82 117
voicing 70
mbrola fr1 fr1_phtrans


+ 1
- 0
espeak-data/voices/mb/mb-fr4 View File

@@ -4,5 +4,6 @@ gender female

dictrules 1
pitch 140 220
voicing 90
mbrola fr1 fr1_phtrans


+ 1
- 0
espeak-data/voices/mb/mb-fr4-en View File

@@ -4,5 +4,6 @@ gender female

dictrules 1
pitch 140 220
voicing 90
mbrola fr1 fr1_phtrans


+ 1
- 0
espeak-data/voices/mb/mb-gr2 View File

@@ -3,4 +3,5 @@ language el 7
gender male

pitch 82 117
voicing 65
mbrola gr2 gr2_phtrans

+ 1
- 0
espeak-data/voices/mb/mb-gr2-en View File

@@ -3,4 +3,5 @@ language en 7
gender male

pitch 82 117
voicing 65
mbrola gr2 gr2_phtrans

+ 1
- 0
espeak-data/voices/mb/mb-hu1 View File

@@ -3,4 +3,5 @@ language hu 7
gender female

pitch 140 220
voicing 160
mbrola hu1 hu1_phtrans

+ 1
- 0
espeak-data/voices/mb/mb-hu1-en View File

@@ -3,4 +3,5 @@ language en 10
gender female

pitch 140 220
voicing 160
mbrola hu1 hu1_phtrans

+ 1
- 0
espeak-data/voices/mb/mb-ic1 View File

@@ -2,5 +2,6 @@ name mbrola-icelandic
language is 6
gender male

voicing 180
mbrola ic1 ic1_phtrans

+ 1
- 0
espeak-data/voices/mb/mb-id1 View File

@@ -3,5 +3,6 @@ language id 7
gender male

pitch 82 117
voicing 120
mbrola id1 id1_phtrans


+ 1
- 0
espeak-data/voices/mb/mb-it3 View File

@@ -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"

+ 1
- 0
espeak-data/voices/mb/mb-it4 View File

@@ -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"

+ 2
- 0
espeak-data/voices/mb/mb-nl2 View File

@@ -3,5 +3,7 @@ name dutch-mbrola-2
gender male

pitch 82 117
voicing 130

mbrola nl2 nl_phtrans


+ 2
- 0
espeak-data/voices/mb/mb-nl2-en View File

@@ -3,5 +3,7 @@ name en-dutch
gender male

pitch 82 117
voicing 130

mbrola nl2 nl_phtrans


+ 1
- 0
espeak-data/voices/mb/mb-pl1 View File

@@ -3,4 +3,5 @@ language pl 7
gender female

pitch 140 220
voicing 120
mbrola pl1 pl1_phtrans

+ 2
- 1
espeak-data/voices/mb/mb-pt1 View File

@@ -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


+ 2
- 0
espeak-data/voices/mb/mb-sw1 View File

@@ -3,5 +3,7 @@ language sv 7
gender male

pitch 82 117
voicing 120

mbrola sw1 sv_phtrans


+ 2
- 0
espeak-data/voices/mb/mb-sw1-en View File

@@ -3,5 +3,7 @@ language en 11
gender male

pitch 82 117
voicing 120

mbrola sw1 sv_phtrans


+ 2
- 0
espeak-data/voices/mb/mb-sw2 View File

@@ -3,5 +3,7 @@ language sv 8
gender female

pitch 140 220
voicing 130

mbrola sw2 sv2_phtrans


+ 2
- 0
espeak-data/voices/mb/mb-sw2-en View File

@@ -3,5 +3,7 @@ language en
gender female

pitch 140 220
voicing 130

mbrola sw2 sv2_phtrans


+ 2
- 0
espeak-data/voices/mb/mb-tr2 View File

@@ -3,6 +3,8 @@ language tr 7
gender female

pitch 140 220
voicing 170

mbrola tr2 tr1_phtrans
dictrules 1


+ 1
- 0
espeak-data/voices/mb/mb-us2 View File

@@ -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

+ 1
- 0
espeak-data/voices/mb/mb-us3 View File

@@ -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

+ 13
- 13
phsource/compile_report View File

@@ -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

+ 2
- 0
phsource/mbrola/af1 View File

@@ -1,3 +1,5 @@
volume 16

0 l/2 NULL 0 l
0 l/ NULL 0 l
0 r/ NULL 0 r

+ 0
- 1
phsource/mbrola/cr1 View File

@@ -1,4 +1,3 @@
volume 16

0 l/2 NULL 0 l
0 l/ NULL 0 l

+ 1
- 1
phsource/mbrola/de4 View File

@@ -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
- 1
phsource/mbrola/en1 View File

@@ -1,4 +1,4 @@
//volume 29
0 oU NULL 0 @U
0 a# NULL 0 @
0 @2 NULL 0 @

+ 1
- 1
phsource/mbrola/fr1 View File

@@ -1,4 +1,4 @@
volume 15
0 l/2 NULL 0 l
0 l/ NULL 0 l
0 l2 NULL 0 l

+ 1
- 1
phsource/mbrola/gr2 View File

@@ -1,4 +1,4 @@
volume 16
volume 15

0 l/2 NULL 0 l
0 l/ NULL 0 l

+ 0
- 1
phsource/mbrola/hu1 View File

@@ -1,4 +1,3 @@
volume 32

0 l/2 NULL 0 l
0 l/ NULL 0 l

+ 0
- 1
phsource/mbrola/id1 View File

@@ -1,4 +1,3 @@
volume 32

// CR1 doesn't like same phonemes twice
0 e E 5 e _

+ 1
- 0
phsource/mbrola/it3 View File

@@ -1,4 +1,5 @@
// for voices "it3" "it4"
volume 15

0 r/ NULL 0 r
0 w/ NULL 0 w

+ 2
- 0
phsource/mbrola/pt1 View File

@@ -1,3 +1,5 @@
volume 15

0 l/ NULL 0 w
0 l/2 w 0 l
0 l/2 j 0 l

+ 2
- 0
phsource/mbrola/ptbr View File

@@ -1,3 +1,5 @@
volume 15

0 l/ NULL 0 w
0 l/2 w 0 l
0 l/2 j 0 l

+ 1
- 1
phsource/mbrola/sv View File

@@ -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

+ 1
- 1
phsource/mbrola/sv2 View File

@@ -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

+ 31
- 0
phsource/ph_german View File

@@ -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

+ 1
- 1
phsource/phonemes View File

@@ -54,7 +54,7 @@ endphoneme

phoneme || // End Word
pause
lengthmod 1
lengthmod 9 // no effect
endphoneme

phoneme _ // Short pause

+ 16
- 3
src/dictionary.cpp View File

@@ -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;
}
}
}


+ 3
- 5
src/phoneme.h View File

@@ -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;

+ 34
- 14
src/synth_mbrola.cpp View File

@@ -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);
}

+ 1
- 1
src/synthdata.cpp View File

@@ -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;

+ 2
- 2
src/synthesize.cpp View File

@@ -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);

+ 1
- 1
src/synthesize.h View File

@@ -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);

+ 20
- 3
src/translate.cpp View File

@@ -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--;
}
}
}


+ 1
- 0
src/translate.h View File

@@ -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

+ 1
- 1
src/wavegen.cpp View File

@@ -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:

Loading…
Cancel
Save