Browse Source

[1.27] Only keep one primary stress when adding prefixes.

Add stress_rule=4, altepenultimate stress.
Change license to GPL version 3.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@56 d46cf337-b52f-0410-862d-fd96e6ae7743
master
jonsd 18 years ago
parent
commit
05aeea7858
100 changed files with 2301 additions and 1635 deletions
  1. 34
    13
      dictsource/af_list
  2. 740
    474
      dictsource/af_rules
  3. 18
    6
      dictsource/de_list
  4. 60
    15
      dictsource/de_rules
  5. 14
    14
      dictsource/dict_phonemes
  6. 1
    0
      dictsource/en_list
  7. 5
    6
      dictsource/en_rules
  8. 39
    33
      dictsource/fr_list
  9. 0
    2
      dictsource/fr_rules
  10. 22
    12
      dictsource/hu_list
  11. 9
    31
      dictsource/hu_rules
  12. 63
    46
      dictsource/it_rules
  13. 296
    66
      dictsource/la_list
  14. 235
    235
      dictsource/la_rules
  15. 10
    1
      dictsource/pt_list
  16. 65
    51
      dictsource/pt_rules
  17. 14
    5
      dictsource/ro_list
  18. 66
    78
      dictsource/ro_rules
  19. 6
    7
      docs/add_language.html
  20. 2
    2
      docs/commands.html
  21. 2
    2
      docs/dictionary.html
  22. 0
    37
      docs/download.html
  23. 9
    8
      docs/index.html
  24. 2
    3
      docs/phonemes.html
  25. 19
    10
      docs/speak_lib.h
  26. 1
    0
      docs/voices.html
  27. 35
    36
      phsource/compile_report
  28. BIN
      phsource/l/l_2
  29. 0
    1
      phsource/ph_afrikaans
  30. 1
    1
      phsource/ph_croatian
  31. 0
    1
      phsource/ph_english
  32. 59
    54
      phsource/ph_french
  33. 3
    3
      phsource/ph_greek
  34. 17
    12
      phsource/ph_hindi
  35. 1
    1
      phsource/ph_hungarian
  36. 1
    1
      phsource/ph_icelandic
  37. 1
    1
      phsource/ph_italian
  38. 0
    1
      phsource/ph_pt_brazil
  39. 1
    1
      phsource/ph_romanian
  40. 0
    1
      phsource/ph_russian
  41. 0
    1
      phsource/ph_slovak
  42. 3
    1
      phsource/ph_zh_yue
  43. 14
    13
      phsource/phonemes
  44. BIN
      phsource/vdiph/aau_2
  45. BIN
      phsource/vnasal/o_n3
  46. BIN
      phsource/vnasal/vowelchart.png
  47. BIN
      phsource/voc/z
  48. BIN
      phsource/vowel/@_2
  49. BIN
      phsource/vowel/y#
  50. BIN
      phsource/vowelr/vowelchart.png
  51. 11
    8
      src/compiledata.cpp
  52. 25
    17
      src/compiledict.cpp
  53. 21
    6
      src/dictionary.cpp
  54. 6
    6
      src/espeak.cpp
  55. 1
    1
      src/espeak_command.cpp
  56. 10
    9
      src/espeakedit.cpp
  57. 1
    1
      src/event.cpp
  58. 7
    7
      src/extras.cpp
  59. 1
    1
      src/fifo.cpp
  60. 6
    6
      src/formantdlg.cpp
  61. 6
    7
      src/intonation.cpp
  62. 0
    10
      src/main.h
  63. 1
    1
      src/mbrolib.h
  64. 5
    6
      src/menus.cpp
  65. 6
    6
      src/numbers.cpp
  66. 6
    6
      src/options.cpp
  67. 11
    9
      src/options.h
  68. 6
    6
      src/phoneme.h
  69. 6
    6
      src/phonemelist.cpp
  70. 6
    6
      src/prosodydisplay.cpp
  71. 6
    6
      src/readclause.cpp
  72. 6
    6
      src/setlengths.cpp
  73. 14
    19
      src/speak.cpp
  74. 13
    13
      src/speak_lib.cpp
  75. 5
    6
      src/speak_lib.h
  76. 18
    19
      src/speak_riscos.cpp
  77. 5
    6
      src/spect.cpp
  78. 19
    0
      src/spect.h
  79. 5
    6
      src/spectdisplay.cpp
  80. 6
    6
      src/spectseq.cpp
  81. 6
    6
      src/speech.h
  82. 6
    6
      src/synth_mbrola.cpp
  83. 9
    9
      src/synthdata.cpp
  84. 40
    20
      src/synthesize.cpp
  85. 6
    6
      src/synthesize.h
  86. 6
    6
      src/tr_english.cpp
  87. 28
    10
      src/tr_languages.cpp
  88. 6
    6
      src/tr_languages.h
  89. 29
    10
      src/translate.cpp
  90. 7
    7
      src/translate.h
  91. 6
    6
      src/transldlg.cpp
  92. 6
    6
      src/voice.h
  93. 6
    6
      src/voicedlg.cpp
  94. 13
    13
      src/voices.cpp
  95. 6
    6
      src/vowelchart.cpp
  96. 1
    1
      src/wave.cpp
  97. 9
    10
      src/wavegen.cpp
  98. 3
    2
      windows/make_espeak.iss
  99. 1
    1
      windows/make_espeakedit.iss
  100. 0
    0
      windows/windows_sapi/ttsengobj.cpp

+ 34
- 13
dictsource/af_list View File

@@ -75,7 +75,7 @@ _8X 'tax2tIx2
_9X 'ne@x2@ntIx2
_0C 'hOn@rt
_0M1 'd'Yys@nt
_0M2 'mIljun
_0M2 mIlj'un
_0M3 mIlj'art
_0and _!En
_dpt 'pWnt
@@ -91,6 +91,7 @@ brittanje $2
ceylon s@lOn
china S'ina
engeland 'EN@lant
jerusalem j@r'ysalEm
kanada kanad%a
kongo kONgu
mesopotamië mEsuput'A:mi@
@@ -107,6 +108,7 @@ worcester v'ust@r

// People names
Abiméleg abin'e@lEx2
allah %alA:
André 'andreI
annette an'Et
aucamp @Ukamp
@@ -117,6 +119,7 @@ bothma bOtma
breytenbach breIt@nbax2
carl kA:r@L
charles _^_EN
charlie tSA:li
chopin S%OpA~
chris krIs
christo krIstu
@@ -131,6 +134,7 @@ esegiël is'e@x2i_@l
estelle %ist&l
eugene judZ'i:n
eugène yZ'En
farao fA:ro@
ferreira f@r&:r@
fourie fur'i
francois franSwa
@@ -148,6 +152,9 @@ jean ZA~n
jesus ji:sWs
joey dZ@Ui
john _^_EN
jordaan $2
josef jo@s@f
langenhoven laN@nho@f@n
lategan lA:t@x2an
le l@
leandra li'andra
@@ -159,9 +166,11 @@ louise luw'i:z
louw l'@U
maria mar'ia
martin m'A:rt@n
michelle miS'&l
michiel $2
mostert m'Ost@rt
mozart mo@tsart
naomi na_'o@mi
natasha n%at'aSa
paul p@Ul
paulus p@UlWs
@@ -170,6 +179,7 @@ pierre p'e@r
petrus pe@trWs
phoebe fi:bi
preez pr'e@
rachmaninoff rax2m'aninOf
rebekka r@bEka
ronel run'&l
rousseau r@s@U
@@ -212,10 +222,9 @@ sal $u
sou $u
kan $u $strend
kon $u $strend
wil $u $strend
wil $u $strend $only
word $u
gaan $u $only
kry $u


// conjunctions and questions
@@ -238,6 +247,7 @@ desondanks dEs?OndaNks $pause
ondanks 'OndaNks $pause
verder f'&rd@r $pause
nogtans $pause
inteendeel $2 $pause
intussen $pause
omdat $pause
sodat $pause
@@ -342,15 +352,17 @@ bv beIf'o@rbe@lt

aanbid $2
aanstaande $2
agenda ax2'Enda
adagio ad'A:dZi;%@U
algaande $2
algehele alx2@h,e@l@
alles al@s
alreeds $2
alternatiewe $4
amen A:mEn
anatomie $4
asof asOf
asook aso@k
asook %as_o@k
aspris $2
asseblief as@bl'if
babelaas bab@lA:s
bedjie bE:ici
@@ -361,7 +373,6 @@ bene be@n@
beswil bEsv@l
bêre b&:r@
beskryf b@skr'eIf
beste bEst@
bestes bEst@s
betekenis b@te@k@n@s
bewe be@v@
@@ -369,6 +380,8 @@ bewend be@v@nt
bewering b@ve@rIN
bostaande b'o@stA:nd@

cabernet kab@rn'eI
camembert kam@mb'&:r
dadelik dA:d@lIk
darem dar@m
derde d&:rd@
@@ -395,8 +408,11 @@ exodus Eks'o@dWs
figuur f@x2yr
finalis $3
finaliste $3
frontaal $2
frontale $2

garages g@rA:dZ@s
gawes x2A:v@s
gee x2e@
geen x2e@n
gegewens x2@x2e@v@ns
@@ -406,6 +422,7 @@ genesis x2e@n@s@s
//gesamentlik x2@sA:m@ntl@k
gooi x2OI
gomorra x2@mOra
graffiti graf'iti

hallo h'Il,@U
hanteer $2
@@ -416,9 +433,10 @@ hek h&k
hekke h&k@
helaas he@l'A:s
here he@r@
hiernamaals hi:rn'A:mA:ls
hoewel huv'&l
hokaai hOkAI
hoofsaaklik $2
hotel hut'&l

idee $2
ietwat itvat
@@ -429,17 +447,15 @@ inkluis $2
intens @nt'Ens
intensiteit $4

joernalis $3
jawoord jA:vo@rt


kafee kaf'e@
kantoor $2
kapitaal kapit'A:l
komaan kOmA:n
komberse kOmb'&rs@
kombers kOmb'&rs
kopiereg kup'ir&x2
krediet kr@dit
kritiek krIt'ik
kultuur $2
kunsmatige kWnsm'A:t@x2@
@@ -450,9 +466,11 @@ lekker l&k@r
lekkerder l&k@rd@r
lekkerste l&k@rst@

macaroni makar'o@ni
madame mad'A:m
makabere m%ak'A:b@r@
matige mA:t@x2@
meegee me@x2e@
merlot m&rl'o@
militêre mIl@t'&:r@
minister m@nIst@r
minute m@nyt@
@@ -465,6 +483,7 @@ motor mo@t@r
motortjie mo@t@rki

nadele nA:de@l@
namens nA:m@ns
nature nat'yr@
nalatigheid nA:l'A:t@x2eIt
namate $2
@@ -474,11 +493,11 @@ netjiese nEicis@
netsowel nEtso@v&l
nietemin n'it@m@n
nobelprys $2
nogal nOx2al
normale nOrm'A:l@
november $2
numeri nWm@ri

oeuvre W:vr@
omtrent Omtr'Ent
onbegrip $1
onderweg $3
@@ -493,7 +512,6 @@ ongewens $1
ongewensde $3
ongewoons $1
onkunde $1
onlangs $1
onmag $1
onmin $1
onraad $1
@@ -509,6 +527,7 @@ patriotisme patri|ut'Ism@
penorent pEno@rEnt
per pIr
persent p@rsEnt
prakseer $2
program prux2r'am

reeds re@ts
@@ -583,6 +602,8 @@ vrek fr&k
waarskynlik $2
waarskynlike $2
wangedrag vanx2@drax2
weergalm $2
weerklink $2
weg v&x2
weggewens v&x2@v'E:ns


+ 740
- 474
dictsource/af_rules
File diff suppressed because it is too large
View File


+ 18
- 6
dictsource/de_list View File

@@ -168,9 +168,9 @@ gegen ge:g@n $u+ $pause
gegend ge:g@nt
hin hIn
in In $u+ $brk
(in die) %Ind%i:
(in den) %Ind%e:n
(in der) %Ind%E*
//(in die) %Ind%i:
//(in den) %Ind%e:n
//(in der) %Ind%E*
im Im $u+ $brk
ins Ins $u+ $brk
mit mIt $u+ $pause
@@ -178,7 +178,7 @@ nach nax $u+ $brk
ob ,Ob $pause $strend $only
pro ,p@-*o: $pause
von fOn $u+ $brk
(von dem) %fOn%de:m $brk
//(von dem) %fOn%de:m $brk
vom fOm $u+ $brk
vor ,fO* $strend
zu tsu: $u+ $brk
@@ -187,8 +187,8 @@ zur tsu:* $u+ $pause
über ,yb3 $pause $strend
unter ,Unt3 $pause $strend
um Um $u+ $brk
(um die) %Umd%i: $brk
(um den) %Umd%e:m $brk
//(um die) %Umd%i: $brk
//(um den) %Umd%e:m $brk
während $pause

// misc
@@ -514,6 +514,7 @@ furie $alt
geben ge:b@n
gebt ge:bt
gegenüber ge:g@n'y:b3
geglichen g@glIC@n
gemein g@maIn
genial ge:nI'al
geranie ge:*'A:nI@
@@ -525,6 +526,8 @@ glorie $alt
grazie $alt

handy handI
häuschen hOYsC@n
hausier haUz'i:*
heimat haImat
herberg hE*bE*g
historie $alt
@@ -547,6 +550,7 @@ inkaisch INkA:IS
inkonstant $1
insbesondere $3
interess Int@*'Es
intern Int'E*n

januar janu:A:*

@@ -609,6 +613,8 @@ rupie $alt

sabbat zabat
sagt zA:gt
salopp $2
schult Su:lt
selbst zElpst
serie se:*I;@
service sE*vIs
@@ -622,14 +628,20 @@ stalagmit stalagm'It
system z%IstEm

tag tA:g
telegen te:le:g'e:n
the D@ // English
theater te:'A:t3
train t@-*e:n
turin $2
tuerei tu:*aI

umweg $1
unten Unt@n

wasserung vas@*UN // because -ung isn't marked as a suffix
weiterung vaIt@*UN
weither vaIth'E*
weitum vaIt_|'Um
woher vo:h'e:r

verein fE*'aIn

+ 60
- 15
dictsource/de_rules View File

@@ -1,3 +1,24 @@

// ***************************************************************************
// * Copyright (C) 2006 to 2007 by Jonathan Duddington *
// * email: [email protected] *
// * *
// * This program is free software; you can redistribute it and/or modify *
// * it under the terms of the GNU General Public License as published by *
// * the Free Software Foundation; either version 3 of the License, or *
// * (at your option) any later version. *
// * *
// * This program is distributed in the hope that it will be useful, *
// * but WITHOUT ANY WARRANTY; without even the implied warranty of *
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
// * GNU General Public License for more details. *
// * *
// * You should have received a copy of the GNU General Public License *
// * along with this program; if not, write see: *
// * <http://www.gnu.org/licenses/>. *
// ***************************************************************************/


// This file is UTF-8 encoded

.group a
@@ -74,6 +95,7 @@
a (isier a
_) achs (@P4 'aks
_) achs (el 'aks
j) ag (d A:k
_) air _^_EN
ai (sch A:I
tr) ain En
@@ -307,10 +329,7 @@
&) erin (_ @*In
&) erisch (_ @*IS
@) es (_S2 @s
&) et (_ @t
ig) et (_S2 @t
&t) et (_S2 @t
ier) et (_S2 @t
&) et (_S2 @t
&) est (_S3 @st
&) este (_S4 @st@
&) estem (_S5 @st@m
@@ -328,12 +347,14 @@
&) erung (_ =@*UN

_) e (ff %E
l) e (g_ 'e:
_) eil (aP3 'aIl
_) eil (fP3 'aIl
_) ein (@P3 _!'aIn
ein (and _|%aIn
_) eine (r@ aIn@
_) einig aInIg
_) eisen (@P5 'aIz@n
_) e (lek %e:
_) elektro (@P7 e:l'Ekt@-*o:
_) elen e:lEn
@@ -370,6 +391,7 @@
_) entert _^_EN
er (dig e:*
_) erob (er %E*o:b
@) esen (_ e:z@n
@) ett (_ 'Et
@) eur (_ 'Y:*
euse (_ 'Y:z@
@@ -470,8 +492,10 @@
_) hinter (@P6 h,Int3

_) haupt (@@P5 h'aUpt
_) haus (@P4 h'aUs
// @) heit (_S4 haIt
_) hero h%e:*o:
_) herz (er@P4 h'E*ts
_) high _^_EN
_) hinter (@ h,Int3
_) hoch (@P4 h'o:x
@@ -563,6 +587,7 @@
&) ie (r_ 'i:
u) ie (r_ _|'i:
&) ie (rlich 'i:
d) ienst i:nst
r) ien (@ IEn
&) ien (_ =I@n
&b) ien (_ =i:@n
@@ -787,7 +812,8 @@
_) s (_ Es
s s
s (A z
s (_$1 s
s (_NS1 s
s (_ z // suffix has been removed
A) s (_N s
A) s (_ z
ss s
@@ -821,6 +847,9 @@
_) safe _^_EN
&) schaft (_S6 Saft
schein (lich S'aIn
_) schul (@P5 S'u:l
_) schul (d S'Ul

schwer Sve:*
_) sechs (P5 z'Eks
_) selbst (@@P6 z'Elpst
@@ -872,15 +901,19 @@
ier) testes (_S6 t@st@s

tch tS
t (chen_ t
_) teen _^_EN
_) tele (@ t,e:le:
thrill _^_EN
_pa) th t
the (era te:
_) tief (@P4 t'i:f
@) tient (_ tsI'Ent
@) tion tsI,o:n
@) tion (_ tsI'o:n
_) trail _^_EN
_) tranqu _^_EN
traver t@-*%avE*
_) tw _^_EN

.group u
@@ -900,21 +933,26 @@
ub (t_ u:p
ug (t_ u:k

_) um (@P2 Um
_) umbe (@P4 'Umb@
_) umge (@P4 'Umg@
_) um (orgP2 'Um
_) um (stAP2 'Um
@) u (m_ U
rt) u (m_ u:
_) un Un
_) un (@P2 _|'Un
_) unab (@P4 _|,Un_|'ap
_) unan (@P4 _|,Un_|'an
_) unauf (@P5 _|,Un_|'aUf
_) unaus (@P5 _|,Un_|'aUs
_) unab (@P4 _|'Un_|ap
_) unan (@P4 _|'Un_|an
_) unauf (@P5 _|'Un_|aUf
_) unaus (@P5 _|'Un_|aUs
_) unbe (@P4 _|'Unb@
_) unein (@P5 _|,Un_|'aIn
_) unein (@P5 _|'Un_|aIn
_) unge (@P4 _|'Ung@
_) unver (@P5 _|'UnfE*
_) un (i u:n
_) un (in@P2 _|'Un
_) unum (@P4 _|,Un_|'Um
_) unum (@P4 _|'Un_|Um
_) under _^_EN
_) unter (@P5 _|,Unt3

@@ -933,7 +971,7 @@
us (_ Us
_d) u (sch u:
_) user _^_EN
ol) u (t_ u:
Al) u (t_ u:

_) ueber (@P5 _|,y:b3

@@ -944,7 +982,6 @@
v) v
v (_N f

_) v f
_) vie fi:
_) vi (CC vI
_) vi vi:
@@ -954,13 +991,15 @@
_) v (ie f
_) v (iet v
_) v (iz f
_) v (oll f
_) v (olk f
v (oll f
v (olk f
v (ölC f
_) v (on f

_) vehe ve:he:
_) ver (@P3 f%E*
_) ver (bal v%E*
_) ver (tik vE*
@) versich fE*z,IC
@) vergess fE*g,Es
_) viel (@P4 f'i:l
@@ -990,6 +1029,10 @@
_) wh _^_EN
&) ware (_ _^_EN
_) wasch (@P5 v'aS
_) wasser (@P6 v'as@*
_) weg (C@P3 v'e:k
_) weit (C@P4 v'aIt
_) weiter (@P6 v'aIt@*
_) wo (hin v%o:
_) wohl (@P4 v'o:l
work _^_EN
@@ -1069,6 +1112,8 @@
üg (t_ y:k

_) über (@P4 _|,y:b3
_) über (be@P4 _!'y:b3
_) über (gangs y:b3

.group ß
_) ß (_ EstsEt

+ 14
- 14
dictsource/dict_phonemes View File

@@ -11,8 +11,8 @@ Yy

- : ; b c d dZ f
g h j k l m n N
p r s S t tS v w
x x2 z Z
p r r- s S t tS v
w x2 z Z


Dictionary cs_dict
@@ -117,12 +117,12 @@ Dictionary fr_dict

@ @- a A A~ e E E~
i o O O~ u W w^i W~
y Y y"
y Y

(i) : ; b c d dZ f
g h j k l L l/ m
n N n^ p r R s S
t t2 tS v w z Z z2
: ; b c d dZ f g
h j k l L m n N
n^ p R s S t t2 tS
v w z Z z2


Dictionary hi_dict
@@ -168,10 +168,10 @@ Dictionary it_dict
@- a a/ aI aU e E i
o O oI u

* : b d dZ f g j
k l l^ m n N n^ p
r R s S t tS ts v
w w2 z
* : b d dZ f g h
j k l l^ m n N n^
p r R s S t tS ts
v w w2 z


Dictionary nl_dict
@@ -330,9 +330,9 @@ Dictionary la_dict
I i: O o: OI U u: y
y:

* : <h> b d f g h
j k l m n N p r
R s t w z
* : ; <h> b d f g
h j k l m n N p
r R s t w z


Dictionary sr_dict

+ 1
- 0
dictsource/en_list View File

@@ -183,6 +183,7 @@ ui $abbrev
uk $abbrev
url $abbrev
usa $abbrev
utc $abbrev
u.s ju:'Es
wwii dVb@Lju:dVb@Lju:t'u:
xy $abbrev

+ 5
- 6
dictsource/en_rules View File

@@ -1,11 +1,11 @@

// ***************************************************************************
// * Copyright (C) 2005,2006 by Jonathan Duddington *
// * [email protected] *
// * Copyright (C) 2005 to 2007 by Jonathan Duddington *
// * email: [email protected] *
// * *
// * This program is free software; you can redistribute it and/or modify *
// * it under the terms of the GNU General Public License as published by *
// * the Free Software Foundation; either version 2 of the License, or *
// * the Free Software Foundation; either version 3 of the License, or *
// * (at your option) any later version. *
// * *
// * This program is distributed in the hope that it will be useful, *
@@ -14,9 +14,8 @@
// * GNU General Public License for more details. *
// * *
// * You should have received a copy of the GNU General Public License *
// * along with this program; if not, write to the *
// * Free Software Foundation, Inc., *
// * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
// * along with this program; if not, write see: *
// * <http://www.gnu.org/licenses/>. *
// ***************************************************************************/

// This file is UTF-8 encoded

+ 39
- 33
dictsource/fr_list View File

@@ -33,22 +33,38 @@ _y i:gR'Ek


// character names
! Eksklamassj'O~
$ dOlaR
@ aRobas
% puRsA~
& _e
+ plys
~ tild'e
€ @R'o
¢ sEnt
¥ i;'En
£ l'ivR
° d@gR'e
± pl'yz_'u_mw'E~
× myltip@-lj'e_p'aR
÷ diviz'e_p'aR
¼ W~_k'aR
½ W~_d@m'i
¾ tRw'a k'aR
© _^_EN
® R@ZistR'@d_m'aRk


//_cap k,ap@-t@L
_?A lEt@
_?? sE~b'OL

! Eksklamassj'O~
_" gijm'E
_# dj'Ez
_$ dOl'aR
_% puRs'A~
_& e
_' apOstR'Of
_( 'uvR@-paRA~t'Ez
_) f'ERm paRA~t'Ez
_* astERisk:
_+ plys
_, viRg'yl
_- tiR'E
_. pw'E~
@@ -59,7 +75,6 @@ _< E~feRj'WR
_= eg'al
_> sypeRj'WR
_? kEstj'O~
_@ at
_[ uvR@-_kRoS'E
_\ b'aksl'aS
_] f'ERm_kRoS'E
@@ -69,19 +84,6 @@ _` aks'A~_gR'av
_{ uvR_akOl'ad
_| b'aR
_} f'ERm_akOl'ad
_~ tild'e
_¢ sEnt
_¥ i;'En
_£ l'ivR
_° d@gR'e
_± pl'yz_'u_mw'E~
_× myltip@-lj'e_p'aR
_÷ diviz'e_p'aR
_¼ W~_k'aR
_½ W~_d@m'i
_¾ tRw'a k'aR
_© _^_k'0pIR,aIt_^_
_® R@ZistR'@d_m'aRk



@@ -323,6 +325,9 @@ d'est d'Est
sommes $u+
êtes $u+
sont $u+
eu y
eue y
eues y

étais $u+
était $u+
@@ -361,11 +366,11 @@ président pRezid'A~
président pRezidt2 $verb
résident Rezid'A~
résident Rezidt2 $verb
évident evid'A~
évident evidt2 $verb
couvent k'uvt2 $verb
concurrent kO~kyR'A~
récurrent rekyR'A~
évident evid'A~
évident evidt2 $verb
couvent k'uvt2 $verb
concurrent kO~kyR'A~
récurrent RekyR'A~


// MAIN WORD DICTIONARY
@@ -394,17 +399,16 @@ echo Eko
fils fis
mars maRs
pays pEi
pourcent puRs'A~
absent abs'A~
ardent ard'A~
ardent aRd'A~
prudent pRyd'A~
imprudent E~pRyd'A~
discident disid'A~
accident aksid'A~
occident Oksid'A~
l'occident lOksid'A~
orient Orj'A~
l'orient lOrj'A~
orient ORj'A~
l'orient lORj'A~
secret sYkR'E
secrets sYkR'E

@@ -421,12 +425,13 @@ l'y li
(nord est) nOREst
écho Eko
l'écho leko
open OpEn
cci $abbrev
espeak ispik
nvda $abbrev
open Op'@n
outlook autluk
reader Rid'WR
potentiomètre pOtA~sjOmEtR
reader Rid'WR

processus pROsEsys

@@ -517,7 +522,7 @@ emacs Emaks
emacspeak Emakspik
espeak @spik
firefox faj@RfOks
thunderbird f@ndErb@Rd
thunderbird f@ndERb@Rd
girl g@Rl
gnome gnom
gnu gnu
@@ -525,7 +530,7 @@ insight insajt
liszt list
(mac os x) makoEsiks
night najt
redhat rEdat
redhat REdat
schubert SubER
sun s@n
sunlight s@nlajt
@@ -533,7 +538,7 @@ ubuntu ubuntu
viavoice viavOjs
windows windoz
word wORd
wright wrajt
wright _^_EN
yacht jot


@@ -600,5 +605,6 @@ votions vOtjO~z2 $u

// no liaison
(quelqu'un) kElkW~
pourcent puRs'A~
vincent vE~sA~


+ 0
- 2
dictsource/fr_rules View File

@@ -770,6 +770,4 @@


// symbols that are normally spoken when reading text
@ arobas
$ dOlar
, (D pilk:u

+ 22
- 12
dictsource/hu_list View File

@@ -1,3 +1,9 @@
// Translations for Hungarian words
// This file is UTF-8 encoded.

// Conditional rules:
// ?1 speak "i" as Roman number


// Numbers

@@ -57,6 +63,7 @@ u.n u:JnEvEzEt: $dot
ú.n u:JnEvEzEt: $dot
vö v'EZd||_'Yss2E

?1 i EJ $abbrev
ii kEttY: $abbrev
iii ha:R2om $abbrev
iv ne:J $abbrev
@@ -87,7 +94,7 @@ xxx hARmints $abbrev


// Articles
a $u
a $u // the
az $u
aki $u+ // that

@@ -118,6 +125,7 @@ bár $pause // although
habár $pause // although

ha $u $pause // if
noha $u $pause // even thought


// Prepositions etc.
@@ -132,29 +140,29 @@ ne $u+
néhány $u+
is $u // also

elöl $u
elöl $u // in front of
elől $u
elé $u
előtt $u

mögül $u
mögül $u // behind
mögött $u
mögé $u

kívül $u
után $u
után $u // after

alól $u
alá $u
alatt $u
alatt $u // below

felől $u
felől $u // above
felé $u
fölé $u
felett $u
felett $u // above
fölött $u

mellől $u
mellől $u // besides
mellé $u
mellett $u

@@ -166,7 +174,7 @@ ba $u // into
be $u
ra $u // onto
re $u
ik $u
ik $u // -th
as $u
es $u
os $u
@@ -174,7 +182,7 @@ os $u
ös $u
ból $u // from inside
ből $u
ról $u
ról $u // from top of, about
ről $u
án $u
én $u
@@ -197,7 +205,7 @@ miatt $u $pause // because

ban $u // in
ben $u
hoz $u
hoz $u // to
hez $u
höz $u
ig $u // up to
@@ -316,7 +324,9 @@ _. pont
@ kukAts
€ EuR2o
+ plus
§ pR2AR2AgR2AfuS
§ pAR2AgR2AfuS
Ft foR2int
$ dolla:R2




+ 9
- 31
dictsource/hu_rules View File

@@ -16,6 +16,7 @@

biz (A b'iz, // bizalmas etc.
biedermeier bi:dER2ma:jER2

.group c
c ts
cc ts:
@@ -75,7 +76,7 @@ hierar) ch (i C
C) dj J
A) dj (A J:

ren) d (szerint d
ren) d (szer d


.group e
@@ -103,10 +104,6 @@ hierar) ch (i C
A) gys (A tS:
gysz Js
A) gysz (A Js:
gyz dz
A) gyz (A d:z
C) gyzs dZ
A) gyzs (A dZ:
C) gyj J
A) gyj (A J:

@@ -116,12 +113,11 @@ hierar) ch (i C
_e) gy (üt J:
_minde) gy (ik J:

na) gysz (abású Js
na) gysz (a Js


.group h
h h
h (_

.group i
i i
@@ -131,7 +127,6 @@ _minde) gy (ik J:

.group j
j j
C) j (K C

.group k
k k
@@ -142,7 +137,6 @@ _minde) gy (ik J:
l l
ly j
lly jj
lj lj

C) ly (_ li
_kéth) ly li
@@ -162,14 +156,10 @@ szamue) ly lli
n n
n (g N
n (k N
n (p m
n (b m
ny n^
nny n^n^
nj n^

ny (k N
ny (g N

_) nem (- n,Em // has $alt2 attribute in hu_list, combine with the next word

@@ -192,6 +182,7 @@ szamue) ly lli
.group p
p p
pp p:
p (v p_

.group q
q kv
@@ -219,6 +210,8 @@ _munká) s S
sz (öld Sz
va) s (zabl S||
_) semmelweiss sEmmElvEjs
_) semmelweis sEmmElvEjs
_) semmelweiß sEmmElvEjs
engel) s s
mu) ss (olini ss2
_) saar sa:R2
@@ -232,26 +225,10 @@ _munká) s S
t t
tt t:
ty c
s) ty c: //
z) ty c: // keztyű
// s) ty c: //
// z) ty c: // keztyű
tty c:

ts tS
A) ts (A tS:
tys tS
A) tys (A tS:
tsz ts
A) tsz (A ts:
tysz ts
A) tysz (A ts:
tz dz
A) tz (A t:z
tyz dz
A) tyz (A t:z
C) tzs dZ
A) tzs (A dZ:
C) tyzs dZ
A) tyzs (A dZ:
C) tj c
A) tj (A c:
C) tyj c
@@ -275,6 +252,7 @@ vörösmar) ty ti

.group v
v v
_) versailles vER2sa:j

.group w
w v

+ 63
- 46
dictsource/it_rules View File

@@ -3,7 +3,7 @@


.group a
_) a(_ a:
_) a(_ a
a a:
a (CK a
ai aI (K
@@ -11,25 +11,29 @@

&) a (_S1q a // lookup it_list without suffix

@) a (ce_ =a
@) a (ci_ =a
a (ista_ a
@) a (cA_ =a
@) a (che_ =a
a (istA_ a
a (ismo_ a
@) a (bile_ 'a
@) a (ggine_ 'a

_) ae (ro aI
@) avano (_S5 'avano
a (tterA_ 'a

.group b
_) b(_ bi:
_) b(_ bi
b b
bb b:

li) be =be
.group c
_) c(_ tSi:
_) c(_ tSi
c k
cc k:
c (' tS
c (e tS
c (é tS
c (è tS
@@ -54,26 +58,29 @@
cci (ò tS:
cci (u tS:
cci (ù tS:
@) co (lA_ =ko
.group d
_) d(_ di:
_) d(_ di
d d
dd d:
n) dere =deRe

.group e
_) e(_ e:
_) e(_ e
e e:
e (CK e
ei ej (K

&) e (_S1q e // lookup it_list without suffix
@) e (ce_ =e
// @) e (ce_ =e
@) e (ci_ =e
C) e (re_ =e

@) e (nte_ E
@m) e (nte_ e
@) e (nza_ E
@) e (vole_ 'e
@) e (volA_ 'e
@) e (rrimo_ 'E
@) e (simo_ 'e

@@ -81,15 +88,16 @@

.group f
_) f(_ Effe
_) f(_ effe
f f

@A) f (ico_ =f
@A) f (ichA_ =f
@A) f (ilo_ =f
@A) f (ero_ =f
.group g
_) g(_ dZi:
_) g(_ dZi
g g
gg g:
gh g
@@ -98,12 +106,12 @@
g (è dZ
g (i dZ
g (ì dZ
gi (a dZ
gi (à dZ
gi (o dZ
gi (ò dZ
gi (u dZ
gi (ù dZ
gi (a dZj
gi (à dZj
gi (o dZj
gi (ò dZj
gi (u dZj
gi (ù dZj
gg (e dZ:
gg (é dZ:
gg (è dZ:
@@ -115,6 +123,7 @@
ggi (ò dZ:
ggi (u dZ:
ggi (ù dZ:
@) gger (lo_ =dZ:eR
gl (i l^
gl (ì l^
gli (A l^
@@ -123,14 +132,16 @@
gu (A gw

@) g (ero_ =g
@) gno (lA_ n^'o

.group h
_) h(_ ak:a
h
ha h'a

.group i
_) i(_ i:
_) i(_ i
i i:
i (CK i
i (A j
@@ -147,19 +158,20 @@

&) i (_S1q i // lookup it_list without suffix

@) i (ce_ =i
@) i (co_ =i
@) i (ci_ =i
@) i (de_ =i
@) i (do_ =i
@) i (dA_ =i
@) i (dere_ 'i
@) i (le_ =i
@) i (li_ =i
@) iera (_ i'E:ra
@) iere (_ i'E:re
@) iera (_ i'E:Ra
@) iere (_ i'E:Re
@) i (ente_ i
@) i (ante_ i
@) i (bile_ 'i
@) issimo(_S6 'issimo
@) issero(_S6 'issero
@) i (sti 'i

.group j
@@ -180,6 +192,8 @@
.group m
_) m(_ Emme
m m
A) mi (a m'i:
@) mi (co_ m'i:
.group n
_) n(_ Enne
@@ -192,7 +206,7 @@
n (k N
.group o
_) o(_ O:
_) o(_ o
o o:
o (CK o
oi oI (K
@@ -207,32 +221,36 @@
@) o (fono_ 'O
@) o (metro_ 'O
@) o (logo_ 'O
o (str 'O
@) o (lo_ =o

.group p
_) p(_ pi:
_) p(_ pi
p p
pp p:
_) pn (@@ n
_) ps (A@ s
@m) p (ere_ =p

.group q
_) q(_ ku:
_) q(_ ku
q kw2
qu kw2

.group r
_) r(_ ER*e
C) r @-*
r R
_) r R
r @-*
_) r @-*
rr R*
A) r (A R
.group s
_) s(_ Esse
s z
_) s(_ esse
s s
_) s s
A) s (A z

l) s s
p) s s
@@ -250,11 +268,11 @@
sc (è S
sc (i S
sc (ì S
A) sc (e SS
A) sc (é SS
A) sc (è SS
A) sc (i SS
A) sc (ì SS
// A) sc (e SS
// A) sc (é SS
// A) sc (è SS
// A) sc (i SS
// A) sc (ì SS
sch (e sk
sch (é sk
sch (è sk
@@ -262,15 +280,15 @@
sch (ì sk
sh (K S // foreign words
K) sh S // foreign words
@) sia s'ia
.group t
_) t(_ ti:
_) t(_ ti
t t
tt t:
.group u
_) u(_ u:
_) u(_ u
u u:
u (CK u
u (A w2
@@ -281,7 +299,7 @@
@) u (colo_ 'u

.group v
_) v(_ vu:
_) v(_ vu
v v
.group w
@@ -299,9 +317,8 @@
.group z
_) z(_ ze:ta
_) z(_ dze:ta
z ts
A) z ts:
A) zz ts:

_) z (i dz
@@ -332,14 +349,14 @@
+ pju
. punto
, (D v'irgola
: d,uep'unte
: d,uep'unti
; p'untoev'irgola
! _p'untoesklamat'ivo_
!) !
? _p'untointeRogat'ivo_
?) ?
\\ bakslaS
/ slaS
\\ kont@-*ob'aR*a
/ b'aR*a

__) - (_D meno
A_) - (_D _

+ 296
- 66
dictsource/la_list View File

@@ -1,5 +1,8 @@
// This file is UTF-8 encoded
// This file is UTF-8 encoded
// all words lower case

// Uses of $alt:
// 1. Change ['i:] to [=I@] at end of word


// Letter names
@@ -35,71 +38,176 @@ x Eks
y i: 'graIka
z 'ze:ta





// ABBREVIATIONS
//========

(a. u. c.) ab wRb,E kOnd'i:ta //ab urbe condita
(a. d.) 'antE d'I;Em //ante diem;
(D. M.) d,i:s m'a:nIbUs //Dīs Mānibus

//(D. O. M.) = Deo Optimo Maximo (op tempels);
//(D. D.) = dono of donum dedit (bij geschenken voor de goden);
//(D. D. D.) = dat, donat, dedicat of dat, dicat, dedicat (bij geschenken voor de goden);
//(E. M. V.) = egregiae memoriae vir;
//(EQ. R.) = eques Romanus.
//FF. = fecerunt;
//(F. I.) = fieri iussit;
//FL. = Flavius; Flaviā (tribu) uit de tribus Flavia;
//FR. or FRU. = frumentum, frumentarius.
//(H. C.) = Hispania citerior;
//(H. H.) = heredes;
//(H. E. T.) = heres ex testamento;
//H. S. eig. L L S (dwz. libra libra semis) of II S (dwz. duo semis), daaruit H S (21/2 as): sestertie (een munt).

ib. 'Ibi: d,Em //ibīdem
ibd. 'Ibi: d,Em //ibīdem
IDIB. 'i:dIbUs //Īdibus, from Īdūs
IDQ. i:d'EmkwE //īdemque

//I. H. F. C. = ipsius heres faciundum curavit;
//IM. = immunis ;
//IMP. = imperium, imperator.
//I M P. (afk.) = imperator or imperium.

(i. e.) ,Id Est //id est

//m.p. (Mel.) = manu propria e
//O. M. = optimus maximus
//P. C. = patres conscripti;
//P. M. = pontifex maximus;
//P. R. = populus Romanus.
//Q. B. F. F. S. // quod bonum felix faustumque sit
//Q. F. F. S. // quod felix faustumque sit
//R. P. = res publica.
//S. C. = senatūs consultum;
//S. P. Q. R. = senatus populusque Romanus.
//v. c. = vir clarissimus;
//v. f. = verba fecit.
(a. u. c.) ab||wRb,E||kOnd'i:ta //ab urbe condita
(a. d.) 'antE||d'I;Em //ante diem;
(D. M.) d,i:s||m'a:nIbUs //Dīs Mānibus
ib 'Ibi:||d,Em //ibīdem
ibd 'Ibi:||d,Em //ibīdem
Idib 'i:dIbUs //Īdibus, from Īdūs
Idq i:d'EmkwE //īdemque
(i. e.) ,Id||Est //id est


// FUNCTION WORDS
//========

et $u
// adverbs

non

// Pronouns:
// Relative pronouns. These should probably be unstressed most of the time, hence the $u markers.
// However, since some of them are identical to interrogative pronouns, which should be
// stressed, we will not 'unstress' these to be on the safe side.

quī $u
quae $u
quod $u
quae $u
// cūius $u (also an interrogative pronoun)
quōrum $u
quārum $u
// cui $u (also an interrogative pronoun)
quibus $u
// quem $u (also an interrogative pronoun)
quās $u
quam $u
quōs $u
// quō $u (also an interrogative pronoun)


// Personal pronouns.
// Note that the nominative forms are not marked as unstressed. This is because
// Latin is a pro-drop language like Italian or Polish, and therefore nominative
// personal pronouns should often be emphasised.

// ego $u (probably should be stressed as it is nominative)
// nōs $u (probably should be stressed as it is nominative)
// t? $u (probably should be stressed as it is nominative)
// vōs $u (probably should be stressed as it is nominative)
// is $u (probably should be stressed as it is nominative)
// e? $u (probably should be stressed as it is nominative)
// i? $u (probably should be stressed as it is nominative)
// ea $u (probably should be stressed as it is nominative)
// eae $u (probably should be stressed as it is nominative)
// id $u (probably should be stressed as it is nominative)
// ea $u (probably should be stressed as it is nominative)

meī $u
nostrum $u
tu? $u
vestrum $u
mihi $u
nōbīs $u
tibi $u
vōbīs $u
mē $u
// nōs (identical to nominative form)
tē $u
// vōs (identical to nominative form)

eius $u
eōrum $u
eārum $u
eō $u
eōs $u
iīs $u
eum $u
eīs $u
eam $u
eās $u
id $u
ea $u
eī $u
eā $u

// Reflexive pronouns - should these all be unstressed?

se $u
su? $u
sibi $u



// prepositions

a $u
ac $u
ad $u
ab $u
in $u
cum $u
e $u
ex $u
inter $u
ante $u
apud $u
circa $u
circum $u
contra $u
de $u
erga $u
extra $u
in $u
infra $u
inter $u
intra $u
iuxta $u
ob $u
penes $u
per $u
pone $u
post $u
prae $u
praeter $u
praeterea $u
pro $u
prope $u
propius $u
proximus $u
propter $u
secundum $u
sine $u
sub $u
subter $u
super $u
supra $u
trans $u
ultra $u
versus $u

// conjunctions

atque $pause
atqui $pause
at $pause
aut $pause
autem $pause
dum $pause
enim $pause
et $u $brk
etenim $pause
etiam $pause
ergo $pause
etsi $pause
idcirco $pause
ideo $pause
nam $pause
namque $pause
nec $pause
nisi $pause
propterea $pause
prout $pause
quamdiu $pause
quamquam $pause
quando $pause
quasi $pause
quemadmodum $pause
quoad $pause
quod $pause


// forms of esse

@@ -110,37 +218,159 @@ sumus $u
estis $u
sunt $u

eram $u
eras $u
erat $u
eramus $u
eratis $u
erām $u
erās $u
erāt $u
erāmus $u
erātis $u
erant $u

ero $u
erō $u
eris $u
erit $u
erimus $u
eritis $u
erunt $u

fui $u
fuisti $u
fuī $u
fuīstī $u
fuit $u
fuimus $u
fuistis $u
fuīstis $u
fuereunt $u

fueram $u
fueras $u
fuerās $u
fuerat $u
fueramus $u
fueratis $u
fuerant $u
fuerāmus $u
fuerātis $u
fuērunt $u

fuero $u
fueris $u
fuerō $u
fuerīs $u
fuerit $u
fuerimus $u
fueritis $u
fuerīmus $u
fuerītis $u
fuerunt $u

este $u
esto $u
estote $u
sunto $u


// numerals 1-100

i 'u:nUs $capital
ii d'UO $capital
iii t@-*,e:s
iv kw'at:UOR
v kw'i:NkwE
vi s,Eks $capital
vii s'EptEm
viii 'Okto:
ix n'OwEm
x d'EkEm

xi 'u:ndEkIm
xii dU'OdEkIm
xiii t@-*,e:d'EkIm
xiv kwat:w'ORdEkIm
xv kw,i:nd'EkIm
xvi s'EdEkIm
xvii sEpt'EndEkIm
xviii dUOdEwIg'IntI
xix u:ndEwIg'IntI
xx wi:g'Inti:

xxi wi:g'Inti:||'u:nUs
xxii wi:g'Inti:||d'UO
xxiii wi:g'Inti:||t@-*,e:s
xxiv wi:g'Inti:||kw'at:UOR
xxv wi:g'Inti:||kw'i:NkwE
xxvi wi:g'Inti:||s,Eks
xxvii wi:g'Inti:||s'EptEm
xxviii wi:g'Inti:||'Okto:
xxix wi:g'Inti:||n'OwEm
xxx t@-*i:g'Inta:

xxxi t@-*i:g'Inta:||'u:nUs
xxxii t@-*i:g'Inta:||d'UO
xxxiii t@-*i:g'Inta:||t@-*,e:s
xxxiv t@-*i:g'Inta:||kw'at:UOR
xxxv t@-*i:g'Inta:||kw'i:NkwE
xxxvi t@-*i:g'Inta:||s,Eks
xxxvii t@-*i:g'Inta:||s'EptEm
xxxviii t@-*i:g'Inta:||'Okto:
xxxix t@-*i:g'Inta:||n'OwEm
xl kwad@-*a:g'Inta:

xli kwad@-*a:g'Inta:||'u:nUs
xlii kwad@-*a:g'Inta:||d'UO
xliii kwad@-*a:g'Inta:||t@-*,e:s
xliv kwad@-*a:g'Inta:||kw'at:UOR
xlv kwad@-*a:g'Inta:||kw'i:NkwE
xlvi kwad@-*a:g'Inta:||s,Eks
xlvii kwad@-*a:g'Inta:||s'EptEm
xlviii kwad@-*a:g'Inta:||'Okto:
xlix kwad@-*a:g'Inta:||n'OwEm
l kwi:Nkwa:g'Inta:

li kwi:Nkwa:g'Inta:||'u:nUs $capital
lii kwi:Nkwa:g'Inta:||d'UO
liii kwi:Nkwa:g'Inta:||t@-*,e:s
liv kwi:Nkwa:g'Inta:||kw'at:UOR
lv kwi:Nkwa:g'Inta:||kw'i:NkwE
lvi kwi:Nkwa:g'Inta:||s,Eks
lvii kwi:Nkwa:g'Inta:||s'EptEm
lviii kwi:Nkwa:g'Inta:||'Okto:
lix kwi:Nkwa:g'Inta:||n'OwEm
lx sEksa:g'Inta:

lxi sEksa:g'Inta:||'u:nUs
lxii sEksa:g'Inta:||d'UO
lxiii sEksa:g'Inta:||t@-*,e:s
lxiv sEksa:g'Inta:||kw'at:UOR
lxv sEksa:g'Inta:||kw'i:NkwE
lxvi sEksa:g'Inta:||s,Eks
lxvii sEksa:g'Inta:||s'EptEm
lxviii sEksa:g'Inta:||'Okto:
lxix sEksa:g'Inta:||n'OwEm
lxx sEptUa:g'Inta: $capital

lxxi sEptUa:g'Inta:||'u:nUs
lxxii sEptUa:g'Inta:||d'UO
lxxiii sEptUa:g'Inta:||t@-*,e:s
lxxiv sEptUa:g'Inta:||kw'at:UOR
lxxv sEptUa:g'Inta:||kw'i:NkwE
lxxvi sEptUa:g'Inta:||s,Eks
lxxvii sEptUa:g'Inta:||s'EptEm
lxxviii sEptUa:g'Inta:||'Okto:
lxxix sEptUa:g'Inta:||n'OwEm
lxxx Okto:g'Inta:

lxxxi Okto:g'Inta:||'u:nUs
lxxxii Okto:g'Inta:||d'UO
lxxxiii Okto:g'Inta:||t@-*,e:s
lxxxiv Okto:g'Inta:||kw'at:UOR
lxxxv Okto:g'Inta:||kw'i:NkwE
lxxxvi Okto:g'Inta:||s,Eks
lxxxvii Okto:g'Inta:||s'EptEm
lxxxviii Okto:g'Inta:||'Okto:
lxxxix Okto:g'Inta:||n'OwEm
xc no:na:g'Inta:

xci no:na:g'Inta:||'u:nUs
xcii no:na:g'Inta:||d'UO
xciii no:na:g'Inta:||t@-*,e:s
xciv no:na:g'Inta:||kw'at:UOR
xcv no:na:g'Inta:||kw'i:NkwE
xcvi no:na:g'Inta:||s,Eks
xcvii no:na:g'Inta:||s'EptEm
xcviii no:na:g'Inta:||'Okto:
xcix no:na:g'Inta:||n'OwEm
c k'EntUm

// This list could be expanded further, however programming
// the pronunciation would be more efficient.


+ 235
- 235
dictsource/la_rules View File

@@ -1,235 +1,235 @@
// This file is UTF-8 encoded
// Reference:
// Allen, W. Sidney. Vox Latina — a Guide to the Pronunciation of Classical Latin.
// Cambridge University Press, Second edition, 2003. ISBN 0-521-37936-9.
// Orthographic notes:
//
// In classical latin the letters A B C D E F G H I K L M N O P Q R S T V X Y Z were
// used. I and V were used for both the vowels /i/ and /u/, and the semivowels /j/ and
// /w/. Here the distinction between U and the V for /u/ and /w/ is assumed, as is the
// case in most modern texts. Also long vowels are indicated with macrons. Diaresis is
// used to prevent a diphtong being formed. Y with macron has to be replaced by 'yy',
// since this character is incompatible with older unicode versions.
.L01 ae au eu oe a e i o u yy y ā ē ī ō ū ë ü é
.L02 ng qu pr tr cr chr br dr gr pl cl bl gl ph th ch
.group a
a a
// Weak penultimate syllable: put stress on antepenutimate
a (L01X =a
a (CL01X =a
a (L02L01X =a
a (guL01X =a
a (x+ a
// Diphtongs
ae (+++ aI
au (+++ aU
.group ā
ā a:
.group b
b b
bb b:
.group c
c k
cc k:
cch k:<h> // e.g. bracchium
ch k<h>
.group d
d d
dd d:
.group e
e E
// Weak penultimate syllable: put stress on antepenutimate
e (L01X =E
e (CL01X =E
e (L02L01X =E
e (guL01X =E
e (x+ E
// Diphtongs
eu (+++ EU
.group ē
ē e:
.group f
f f
ff f:
.group g
g g
gg g:
g (n N
ggu (A g:w // Does this ever occur?
gu (A gw //g<w>
.group h
h h
h: h:
.group i
i I
// Weak penultimate syllable: put stress on antepenutimate
i (L01X =I
i (CL01X =I
i (L02L01X =I
i (guL01X =I
i (x+ I
// Two adjacent 'i's should be separated by a glottal stop
i (iX =I?
i (i I?
// Cases in which 'i' is pronounced as the semi-vowel /j/
_) i (A j
A) i (A+ j:
// Exceptions where u is a consonant
qu) i (L01X++ =I
qu) i (A++ I
gu) i (L01X++ =I
gu) i (A++ I
_u) i (L01X++ =I
_u) i (A++ I
Au) i (L01X++ =I
Au) i (A++ I
// Exceptions to the exceptions
au) i (A+++ j:
eu) i (A+++ j:
.group ī
ī i:
.group k
k k
kk k:
.group l
l l
ll l:
.group m
m m
mm m:
.group n
n n
nn n:
n (g N
n (c N
n (k N
n (x N
n (q N
.group o
o O
// Weak penultimate syllable: put stress on antepenutimate
o (L01X =O
o (CL01X =O
o (L02L01X =O
o (guL01X =O
o (x+ O
// Diphtongs
oe (+++ OI
.group ō
ō o:
.group p
p p
pp p:
pph p:<h>
ph p<h>
.group qu
qu kw //k<w>
.group r
C) r @-*
r R
_) r R
rr R*
A) r (A R
.group s
s s
ss s:
.group t
t t
tt t:
tth t:<h> //Does this occur? It does at least across word boundaries e.g. leget Thyni
th t<h>
.group u
u U
// Weak penultimate syllable: put stress on antepenutimate
u (L01X =U
u (CL01X =U
u (L02L01X =U
u (guL01X =U
u (x+ U
// Cases in which 'u' is pronounced as the semi-vowel /w/
A) u (A++ w
_) u (A+ w
.group ū
ū u:
.group v
v w
_) v w
vv (+++ w:
.group x
x ks
.group y
y y // Kirshenbaum I.
yy y: // Should be y with macron, which is not present in older Unicode versions
.group z
z z
zz z:
A) z (A z:
.group
j j
w w
// This file is UTF-8 encoded
// Reference:
// Allen, W. Sidney. Vox Latina — a Guide to the Pronunciation of Classical Latin.
// Cambridge University Press, Second edition, 2003. ISBN 0-521-37936-9.
// Orthographic notes:
//
// In classical latin the letters A B C D E F G H I K L M N O P Q R S T V X Y Z were
// used. I and V were used for both the vowels /i/ and /u/, and the semivowels /j/ and
// /w/. Here the distinction between U and the V for /u/ and /w/ is assumed, as is the
// case in most modern texts. Also long vowels are indicated with macrons. Diaresis is
// used to prevent a diphtong being formed. Y with macron has to be replaced by 'yy',
// since this character is incompatible with older unicode versions.
.L01 ae au eu oe a e i o u yy y ā ē ī ō ū ë ü é
.L02 ng qu pr tr cr chr br dr gr pl cl bl gl ph th ch
.group a
a a
// Weak penultimate syllable: put stress on antepenutimate
a (L01X =a
a (CL01X =a
a (L02L01X =a
a (guL01X =a
a (x+ a
// Diphtongs
ae (+++ aI
au (+++ aU
.group ā
ā a:
.group b
b b
bb b:
.group c
c k
cc k:
cch k:<h> // e.g. bracchium
ch k<h>
.group d
d d
dd d:
.group e
e E
// Weak penultimate syllable: put stress on antepenutimate
e (L01X =E
e (CL01X =E
e (L02L01X =E
e (guL01X =E
e (x+ E
// Diphtongs
eu (+++ EU
.group ē
ē e:
.group f
f f
ff f:
.group g
g g
gg g:
g (n N
ggu (A g:w // Does this ever occur?
gu (A gw //g<w>
.group h
h h
h: h:
.group i
i I
// Weak penultimate syllable: put stress on antepenutimate
i (L01X =I
i (CL01X =I
i (L02L01X =I
i (guL01X =I
i (x+ I
// Two adjacent 'i's should be separated by a glottal stop
i (iX =I?
i (i I?
// Cases in which 'i' is pronounced as the semi-vowel /j/
_) i (A j
A) i (A+ j:
// Exceptions where u is a consonant
qu) i (L01X++ =I
qu) i (A++ I
gu) i (L01X++ =I
gu) i (A++ I
_u) i (L01X++ =I
_u) i (A++ I
Au) i (L01X++ =I
Au) i (A++ I
// Exceptions to the exceptions
au) i (A+++ j:
eu) i (A+++ j:
.group ī
ī i:
.group k
k k
kk k:
.group l
l l
ll l:
.group m
m m
mm m:
.group n
n n
nn n:
n (g N
n (c N
n (k N
n (x N
n (q N
.group o
o O
// Weak penultimate syllable: put stress on antepenutimate
o (L01X =O
o (CL01X =O
o (L02L01X =O
o (guL01X =O
o (x+ O
// Diphtongs
oe (+++ OI
.group ō
ō o:
.group p
p p
pp p:
pph p:<h>
ph p<h>
.group qu
qu kw //k<w>
.group r
C) r @-*
r R
_) r R
rr R*
A) r (A R
.group s
s s
ss s:
.group t
t t
tt t:
tth t:<h> //Does this occur? It does at least across word boundaries e.g. leget Thyni
th t<h>
.group u
u U
// Weak penultimate syllable: put stress on antepenutimate
u (L01X =U
u (CL01X =U
u (L02L01X =U
u (guL01X =U
u (x+ U
// Cases in which 'u' is pronounced as the semi-vowel /w/
A) u (A++ w
_) u (A+ w
.group ū
ū u:
.group v
v w
_) v w
vv (+++ w:
.group x
x ks
.group y
y y // Kirshenbaum I.
yy y: // Should be y with macron, which is not present in older Unicode versions
.group z
z z
zz z:
A) z (A z:
.group
j j
w w

+ 10
- 1
dictsource/pt_list View File

@@ -563,11 +563,19 @@ flocos $alt
lopes $alt
jogos $alt

// Close [O]
?1 calculadora k,Alkul&d'or&
?1 professora pr,ufys'or&
?1 senhora syn^'or&
?1 sobre s'obry



// Open [E]
nela n'El&
nessa n'Es&
era 'E*&
?1 era 'Er&
?2 era 'E*&

abacaxi abakaSi
axé aSE
@@ -774,3 +782,4 @@ volkmann f'Olkman





+ 65
- 51
dictsource/pt_rules View File

@@ -104,7 +104,7 @@
c (c //drop “c” in European Portuguese (eg: seleccionar)
?1 A) ct t //drop “c” in European Portuguese (eg: exacto)
?1 A) cç s //drop “c” in European Portuguese (eg: selecção)
?1 conta) ct (A kt // eg: contacto, contactar, contactável, incontactável, etc...
?1 conta) ct (A kt // eg: contacto, contactar, contactável, incontactável, etc...


.group d
@@ -138,53 +138,52 @@
e (bem_ E
e (bes_ E

e (ca_ E
e (ca_ E
e (ce_ E
e (cem_ E
e (ces_ E
e (clA_ E
e (clAs_ E
e (clAm_ E
e (co_ E
e (clAs_ E
e (clAm_ E
e (co_ E

e (la_ E
e (la_ E
e (las_ E

e (rA_ E
e (rAm_ E
e (rAs_ E
e (rA_ E
e (rAm_ E
e (rAs_ E

e (rsA_ E
e (rsAm_ E
e (rsAs_ E
e (rsA_ E
e (rsAm_ E
e (rsAs_ E
e (stA_ E
e (stAm_ E
e (stAs_ E
e (strA_ E
e (strA_ E

e (rnA_ E
e (rnAm_ E
e (rnAs_ E
e (rnAm_ E
e (rnAs_ E

e (rtA_ E
e (rtAm_ E
e (rtAs_ E
e (rtA_ E
e (rtAm_ E
e (rtAs_ E

e (rrA_ E
e (rrAm_ E
e (rrAs_ E
e (rrA_ E
e (rrAm_ E
e (rrAs_ E

e (rvA_ E
e (rvAm_ E
e (rvAs_ E
e (rvAm_ E
e (rvAs_ E

e (ve_ E
e (ve_ E
e (vem_ E
e (ves_ E
e (rrAs_ E
e (rrAs_ E



@@ -211,9 +210,9 @@ e (rrA_ E
eu (s eU
e (uCK e

j) e (tA_ E
j) e (tAm_ E
j) e (tAs_ E
j) e (tA_ E
j) e (tAm_ E
j) e (tAs_ E

?1 _) es (C@@ S // drop initial "e".
?1 _) e (f i // efectuar, etc.
@@ -226,6 +225,7 @@ e (rrA_ E
?1 C) e (o 'i // eg: geologia, etc...
?1 C) e (ú i // conteúdo, etc.
?1 Cã) e j // cães, mãe, etc...
?1 c) e (rea y // cereais
?1 d) e (fici y // deficiênte, deficiência, etc...
?1 _d) e (fini y //definições.
?1 _d) e (slig y // desligar.
@@ -233,9 +233,17 @@ e (rrA_ E
?1 _f) e (ch y // fechar
?1 _p) e (rcentag y // percentagem
?1 p) e (ssoa y //pessoal, pessoais, etc.
?1 pr) e (cis y // precisar
?1 pr) e (f y // preferências, etc.
?1 _t) e (rmin y // terminar.
?1 _r) e (cicl y // recicla, reciclagem, etc...
?1 r) e (cor y // recorrer, recordar
?1 r) e (luz y // eg: reluzir
?1 r) e (lva ,E // eg: relvado
?1 r) e (smung y // resmungar
?1 r) e (ss y // eg: ressequidos
?1 r) e (volv y // revolver
?1 r) e (vel y // revelar
?1 _t) e (rmin y // terminar.
?1 _v) e (loci y // velocidade
?1 _f) e (rramenta y // ferramenta, ferramentas.
?1 _p) e (squ y // pesquisar
@@ -291,7 +299,8 @@ e (rrA_ E
gu (Y g
?1 guen (C gw'eIN // aguenta, etc.
?1 n) gu (A gw // eg: língua, etc.
?1 gu (ém_ g // eg: alguém, ninguém, etc...
?1 man) gu (ei g // mangueira
?1 gu (ém_ g // eg: alguém, ninguém, etc...


.group h
@@ -409,32 +418,32 @@ e (rrA_ E
oy OI

o (g_ O
o (gs_ O
o (Ca_ O
o (gs_ O
o (Ca_ O
?1 o (l_ 'O
?2 ol (_ Ow
?2 olh olj

om (_ oN
om (_ oN
o (ma_ o

om (C om
om (C om
on (K oN
o (na_ o
onh on^

o (brA_ O
o (brAm_ O
o (brAs_ O
o (brA_ O
o (brAm_ O
o (brAs_ O

o (rCA_ O
o (rCAm_ O
o (rCAs_ O
o (stA_ O
o (stAm_ O
o (stAs_ O
o (rCA_ O
o (rCAm_ O
o (rCAs_ O
o (stA_ O
o (stAm_ O
o (stAs_ O

?2 ox (_ Oks
?2 ox (_ Oks
?1 oz (_ Os#
?2 oz (_ Oz
o (zes_ O
@@ -444,9 +453,11 @@ o (rCA_ O
?1 _C) o (CACAC u // Documento, documentação, localizar, etc.
?1 f) o (rmat u // formatar, formato.
?1 _p) o (rtuC u // Portugal, Portucalense, etc...
?1 pr) o (f u
?1 _s) o (lu u // solução, soluções.
?1 interr) o (g u // eg: interrogação
?1 f) o (rmulá u // eg: formulário, formulários.
?1 v) o (lt O


.group ô
@@ -489,7 +500,7 @@ o (rCA_ O
qu (K ku
?1 _) qua kwa // quatro, etc.
?1 _) que ke // quente, etc.
?1 _) quei (C k'eI // queira, queima, etc...
?1 _) quei (C k'eI // queira, queima, etc
?1 C) quen (C kw'eIN // cinquenta, etc.
?1 A) quen (C kw'eIN // frequência, etc.
?1 quec kes // esquece, etc.
@@ -610,7 +621,7 @@ o (rCA_ O
A) x (A ks
_e) x (A z
e) x (A ks
?1 e) x (CA S // eg: texto, contexto, etc…
?1 e) x (CA S
ai) x (A S
ei) x (A S
au) x s
@@ -621,6 +632,10 @@ o (rCA_ O
ale) x (a S
pro) x (i s // aproximado, aproximadamente, aproximar, etc.
pró) x (i s // próximo, etc.
?1 i) x (a_ S
?1 i) x (as_ S




.group y
@@ -649,9 +664,7 @@ o (rCA_ O
ç s
_) ç (_ s'esed'il^&


ü u

ß s

% pors'eNtu
@@ -705,3 +718,4 @@ o (rCA_ O





+ 14
- 5
dictsource/ro_list View File

@@ -1,5 +1,5 @@

// Translations for Romanian words
// This file in UTF8 encoded

// Letters
@@ -43,11 +43,14 @@ x iks
y 'igrek
z zet

â ,ydin'a $atend
ă '@ $atend
î ,ydin'i $atend

_. punkt
$ dolar
+ plus
& ampersand
@ a*'ond
/ sleS
€ 'eU*o


// numeric
@@ -318,7 +321,6 @@ suntem $u1+
sunteţi $u1+
sunt $u+
e je $u
e e $atend
fost $u+ // been
eram je*am $u2+ // was
erai je*aI $u2+
@@ -901,3 +903,10 @@ virus $1
zarzări $1


// speak as letter names
a a $atend
â ,ydin'a $atend
ă '@ $atend
e e $atend
î ,ydin'i $atend
o o $atend

+ 66
- 78
dictsource/ro_rules View File

@@ -28,22 +28,23 @@
ăi (t_ @'i
ăi (ţi_ @'i

ăi (te @'i
ăi (n_ @'i
ăi (na_ @'i
ăi (ni_ @'i
ăi (ne_ @'i
@) ăt (_S2t @t
@) ătă (_S3t @t@
@) ătul (_S4t @tul
@) ătele (_S5t @tele
@) ătului (_S6t @tuluI
@) ătelor (_S6t @telor
&) ă (_S1 @

ăi (te @'i
ăi (n_ @'i
ăi (na_ @'i
ăi (ni_ @'i
ăi (ne_ @'i
&) ă (_S1 @
ări (A_ @*'i
ării (_ @*'iI
ări (AA_ @*'i
@) ăt (_S2t @t
@) ătă (_S3t @t@
@) ătul (_S4t @tul
@) ătele (_S5t @tele
@) ătului (_S6t @tuluI
@) ătelor (_S6t @telor


.group â
â y
@@ -71,8 +72,10 @@
@@) cole (_S1t e


@) cni (_ kn'i
@) cnea (_ kne'a
@) cni (_ kn'i
@) cnea (_ kne'a


.group d
d d
@) d (i_ d;
@@ -88,23 +91,12 @@
&) ea (_S2q ea
&) eSi eaj
eau eaw
eo eo
e (AAA e

@) eş (_ =eS
eo eo
eoa eO'a

@) eşul (_ =eSul
@) eşi (_ =eSI^
@) eşului (_ =eSuluI
@) eşilor (_ =eSilor
// &) es (_S1q e
e (AAA e
&C) e (re_ %e
_ac) ee (a eI

r) ei (er_ 'eI

@) e (re_ =e
@) e (ri_ =e
@) e (rea_ =e
@@ -112,9 +104,19 @@
i) e (ri_ e
i) e (rea_ e

_ac) ee (a eI
r) ei (er_ 'eI

@) eş (_ =eS

@) eşul (_ =eSul
@) eşi (_ =eSI^
@) eşului (_ =eSuluI
@) eşilor (_ =eSilor
// &) es (_S1q e



eoa eO'a
.group f
f f
@) f (i_ f;
@@ -139,21 +141,21 @@ eoa eO'a
&C) i (_N$1q i/
&) i (_N$1q i
&) i (-N$1q i // don't reduce to [I^] if a hyphen follows
ţ) i (-Că i
ţ) i (-Ci i
&') i (_ i
ţ) i (-Că i
ţ) i (-Ci i
&') i (_ i
ţi-) i (_ _ // combined with previous word as [iI]
Cr) i (_ i
V&) i (_ 'i // verb
ăC) ia (_ 'ia
âC) ia (_ 'ia
ăC) ie (_ 'ie
ăC) ie (_ 'ie
âC) ie (_ 'ie
@) ie (_S1q ie
iei (_ 'ieI
@) ie (_S1q ie
iei (_ 'ieI
ii iI
&) ii (_S2q iI
iii iji
@@ -164,21 +166,19 @@ iei (_ 'ieI
&) ice (_ =itSe
&) icile (_ =itSile
&) icilor (_ =itSilor
@) icii (_ =itSiI
@) icii (_ =itSiI

&) ing (_ %iNg // foreign words

i (t_ 'i
i (t_ 'i
ioa iO'a


ioa iO'a
.group î
î y
@) î (_ 'y



@) î (_ 'y

.group j
j Z
@) j (i_ Z;
@@ -201,6 +201,7 @@ ioa iO'a
&) logi (A_ lodZ'i
&) logii (_ lodZ'iI


.group m
_) m (_ me
m m
@@ -210,7 +211,6 @@ ioa iO'a
-) mi (_ mi/



.group n
_) n (_ ne
n n
@@ -221,9 +221,9 @@ ioa iO'a
@) n (ic_ =n
_) n (-a n

-) n (_ n


-) n (_ n
.group o
o o
oa Oa
@@ -234,12 +234,12 @@ ioa iO'a
ou (_ 'oU
o (AAA o

@) oi (t_ o'i
@) oi (tă_ o'i
@) oi (ţi_ o'i
@) oi (te_ o'i


@) oi (t_ o'i
@) oi (tă_ o'i
@) oi (ţi_ o'i
@) oi (te_ o'i
.group p
p p
@) p (i_ p;
@@ -264,12 +264,11 @@ ioa iO'a
@u) rile (_S4t rile
@) rilor (_S5t rilor

C) ri (_ @-*i
@) răm (_S1t m
@) răţi (_S4t *@tsI^


C) ri (_ @-*i
@) răm (_S1t m
@) răţi (_S4t *@tsI^

.group s
_) s (_ se
_) s (-a s
@@ -280,23 +279,20 @@ C) ri (_ @-*i

@) sem (_S1t m
@) seră (_S2t *@
@) serăm (_S3t *@m
@) serăţi (_S4t *@tsI^
@) seşi (_S2t SI^

@) serăm (_S3t *@m
@) serăţi (_S4t *@tsI^
@) seşi (_S2t SI^
@) sni (_ sn'i


@) sni (_ sn'i
.group ş
ş S
@) ş (i_ S;

@) şni (_ Sn'i
-) şi (_ SI^



@) şni (_ Sn'i
-) şi (_ SI^
.group t
t t
tt (_ t
@@ -314,6 +310,7 @@ C) ri (_ @-*i

-) ţi (_ ts;i/


.group u
u u
u (A w
@@ -323,11 +320,10 @@ C) ri (_ @-*i
ui (m_ u'i
ui (t_ u'i
ui (ţi_ u'i
ui (se_ u'i
&) ul (_S2t ul
ui (se_ u'i
&) ul (_S2t ul

@ic) ul (_S2 ul
@ic) ul (_S2 ul
@ic) uri (_S3 urI^
@ic) urile (_S5 urile

@@ -369,14 +365,9 @@ ui (se_ u'i

.group
ö Y
D_) % la_sut@
% protSent
$ dolar
+ plus
& ampersand
@ a*'ond
/ sleS
€ 'eU*o
D_) % la_sut@

, (D v'irgul@

@@ -393,6 +384,3 @@ ui (se_ u'i
*) * (*
**
**) * (_ _::




+ 6
- 7
docs/add_language.html View File

@@ -2,7 +2,7 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
<TITLE></TITLE>
<TITLE>eSpeak: Adding a Language</TITLE>
</HEAD>
<BODY LANG="en-GB" DIR="LTR">
<A href="docindex.html">Back</A>
@@ -22,18 +22,18 @@ syllables within words. Some languages are easier than others. I expect most are
<p><li>Improve the sounds of the phonemes. This may consist of making small adjustments to vowel and diphthong quality,
or adjusting the strength of consonants. Bigger changes may be recording new or replacement consonant
sounds, or even writing program code to implement new types of sounds.
<p><li>Marking some common words in the dictionary that should be unstressed (words such as "the", "is"), should be preceded
<p><li>Marking some common words in the dictionary that should be unstressed (words such as "the", "is"), or should be preceded
by a short pause (such as "and", "but"), or have other attributes, in order to make the speech flow better.
<p><li>Improve the rhythm of the speech by adjusting the relative lengths of vowels in different contexts, eg. stressed/unstressed syllable,
or depending on the following phonemes. This is important for making the speech sound good for the language.
<p><li>Identify or implement new functions in the program to improve the speech, or to deal with
characteristics of the language which are not currently implemented. For example, a different intonation module.
</ul>
If you are interested in working on a language, please contact me to set up the initial data and to
discuss the features of the language.
<b><em>If you are interested in working on a language, please contact me to set up the initial data and to
discuss the features of the language.</em></b>
<HR>
<H3>6.1 Language Code</H3>
<P>Generally, the language's international ISO 639-1 code is used to
<P>Generally, the language's international <a href="http://en.wikipedia.org/wiki/ISO_639-1">ISO 639-1 code</a> is used to
identify the language. It is used in the filenames which
contains the language's data. In the examples below the code &quot;<B>en</B>&quot;
(English) is used as an example. Replace this with the code of your
@@ -66,7 +66,7 @@ The <B>Compile phoneme data</B> function of the <B>espeakedit</B>
program compiles the phonemes files to produce the files
<B>espeak-data/phontab</B>, <B>phonindex</B>, and <B>phondata.</B><P>
For information on how to analyse recorded sounds of the language and to
prepare the corresponding phoneme data, see (not yet written).<p>
prepare the corresponding phoneme data, see <a href="editor_if.html">espeakedit</a> and <a href="analyse.html">analysis</a>).<p>
For an initial draft a language will often be able to use vowels and
consonants which have already been set up for another language.
<HR>
@@ -126,7 +126,6 @@ SetTranslator() function. This inherits the standard functions
from the base translator class, but allows you to replace these where
needed by new functions which are written specially for this
language.</P>
<hr>

</BODY>
</HTML>

+ 2
- 2
docs/commands.html View File

@@ -84,7 +84,7 @@ If neither -f nor --stdin is given, then the text input is taken from "words" (a
<strong>-s &lt;integer&gt;</strong><br>
<dd>Sets the speed in words-per-minute (approximate values for the default voice, others may
differ slightly). The default value is 170. I generally use a faster speed
of 190. Range 80 to 370.
of 185. Range 80 to 370.
<p>
<dt>
<strong>-b</strong><br>
@@ -137,7 +137,7 @@ Quiet. No sound is generated. This may be useful with the -x option.
<p>
<dt>
<strong>--stdout</strong><br>
<dd>Writes the speech output to stdout rather than speaking it.
<dd>Writes the speech output to stdout as it is produced, rather than speaking it. The data starts with a WAV file header which indicates the sample rate and format of the data. The length fields are set to zero because the length of the data is unknown when the header is produced.
<p>
<dt><strong>--compile[=&lt;voice name&gt;]</strong><br>
<dd>

+ 2
- 2
docs/dictionary.html View File

@@ -364,7 +364,7 @@ or to give them a flag when they occur together
A word (or group of words) may be given one or more flags, either instead of, or as well as, the phonetic translation.

<ul><table>
<tbody>
<tbody valign="top">
<tr>
<td>$u</td>
<td>The word is unstressed. In the case of a multi-syllable word, a slight stress is applied according to the default stress rules.</td>
@@ -394,7 +394,7 @@ A word (or group of words) may be given one or more flags, either instead of, or
<td>&nbsp;</td>
</tr>
<tr>
<td>$1</tr>
<td>$1</td>
<td>Primary stress on the 1st syllable.</td>
</tr>
<tr>

+ 0
- 37
docs/download.html View File

@@ -1,37 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
<title>espeak: Downloads</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<A href="docindex.html">Back</A>
<hr>
<h2>ESPEAK DOWNLOADS</h2>
<hr>
This page gives direct links to eSpeak downloads on one of the Sourceforge mirrors.<br>To get other versions of eSpeak, or use other mirrors, use the <a href="http://sourceforge.net/project/showfiles.php?group_id=159649">Sourceforge download page</a>
<p>
Source code and dictionary data.<br>
<a href="http://kent.dl.sourceforge.net/sourceforge/espeak/espeak-1.23-source.zip">espeak-1.23-source.zip</a> (0.9 MBytes)
<p>
Compiled for Linux i386 (Debian/Ubuntu based distros)<br>
<a href="http://kent.dl.sourceforge.net/sourceforge/espeak/espeak-1.23-linux.zip">espeak-1.23-linux.zip</a> (0.7 MBytes)
<p>
Compiled for Windows. SAPI5 and command-line versions.<br>
<a href="http://kent.dl.sourceforge.net/sourceforge/espeak/espeak-1.23-win.zip">espeak-1.23-win.zip</a> (0.7 MBytes)
<p>
Compiled for RISC OS<br>
<a href="http://kent.dl.sourceforge.net/sourceforge/espeak/espeak-3.23-riscos.zip">espeak-3.23-riscos.zip</a> (0.7 MBytes)

<hr><p>
<b>espeakedit program and the phoneme data.</b>
<p>
Source code and compiled for Linux.<br>
<a href="http://kent.dl.sourceforge.net/sourceforge/espeak/espeakedit-1.23.zip">espeakedit-1.23.zip</a> (6 MBytes)
<p>
Compiled for Windows.<br>
<a href="http://kent.dl.sourceforge.net/sourceforge/espeak/espeakedit-1.23-win.zip">espeakedit-1.23-win.zip</a> (4 MBytes)

</body>
</html>

+ 9
- 8
docs/index.html View File

@@ -16,8 +16,9 @@
<h1>eSpeak text to speech</h1></div>
<div align="center">
(email) &nbsp; jonsd at users dot sourceforge.net<br>
<a href="download.html"><strong>Download</strong></a>
<a href="http://espeak.sf.net/download.html"><strong>Download</strong></a>
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://sourceforge.net/forum/?group_id=159649"><strong>Forum</strong></a>
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://sourceforge.net/projects/espeak"><strong>eSpeak Sourceforge page</a>
</div>
</td>
</tr>
@@ -30,7 +31,9 @@
<p>
<A href="docindex.html">Documents</A>
<p>
<A href="samples.html">Samples</A>
<A href="http://espeak.sf.net/samples.html">Samples</A>
<p>
<A href="http://espeak.sf.net/license.html">License</A>
</strong></font>
</td>
<td>
@@ -56,19 +59,17 @@ It works well as a "Talker" with the KDE text to speech system (KTTS), as an alt
<p>
I regularly use it to listen to blogs and news sites. I prefer the sound through a domestic stereo system rather than my small computer speakers.
<hr>
<strong>Windows Version</strong>. There is now a Windows SAPI5 version of eSpeak. It can be used with screen readers such as NVDA, JAWS, Supernova, and Window-Eyes.<br>
This is available as a Windows installer package from the eSpeak <a href="download.html"><strong>Download</strong></a> page.<p>
<strong>Windows Version</strong>. There are Windows SAPI5 and command-line versions of eSpeak. The SAPI5 version can be used with screen readers such as NVDA, JAWS, Supernova, and Window-Eyes.<br>
They are available as a Windows installer package from the <a href="download.html"><strong>eSpeak Download</strong></a> page.<p>
A Windows version of the espeakedit program is also available.

<hr>
<strong>Languages</strong>. The eSpeak speech synthesizer supports several languages, however in most cases these are initial drafts and need more work to improve them. Assistance from native speakers is welcome for these, or other new languages. Please contact me if you want to help.<p>
eSpeak does text to speech synthesis for the following languages, some better than others. Afrikaans, Croatian, Czech, Dutch, English, Esperanto, Finnish, French, German, Greek, Hindi, Hungarian, Italian, Norwegian, Polish, Portuguese, Romanian, Russian, Slovak, Spanish, Swahili, Swedish, Vietnamese, Welsh. See <a href="languages.html">Languages</a>.
eSpeak does text to speech synthesis for the following languages, some better than others. Afrikaans, Croatian, Czech, Dutch, English, Esperanto, Finnish, French, German, Greek, Hindi, Hungarian, Icelandic, Italian, Norwegian, Polish, Portuguese, Romanian, Russian, Slovak, Spanish, Swahili, Swedish, Vietnamese, Welsh. See <a href="languages.html">Languages</a>.
<hr>
<strong>espeakedit</strong> is a GUI program used to prepare and compile phoneme data. It is now available for download. Documentation is currently sparse, but if you want to use it to add or improve language support, let me know.
<hr>
<strong>speak</strong> was originally written for Acorn/RISC_OS computers starting in 1995. This version is an update and re-write, including a relaxation of the original memory and processing power constraints, and with support for additional languages if anyone is interested in doing so.
<p>
The project name <strong>speak</strong> had already been taken by another project on SourceForge (for a Windows TTS front-end) so I added a letter 'e' to the front to make <strong>eSpeak</strong>. For now, the program executable remains <strong>speak</strong> and is referred to as such in the documentation.
History. Originally known as <strong>speak</strong> and originally written for Acorn/RISC_OS computers starting in 1995. This version is an enhancement and re-write, including a relaxation of the original memory and processing power constraints, and with support for additional languages.
</td>
</tr>
</tbody>

+ 2
- 3
docs/phonemes.html View File

@@ -133,7 +133,8 @@ In rhotic accents, such as General American, the phonemes <code>[3:], [A@], [e@]
<tr><td><p>

<tr><td><code>[O:]</code><td>th<b>ou</b>ght
<tr><td><code>[O@]</code><td>f<b>or</b>ce
<tr><td><code>[O@]</code><td>n<b>or</b>th
<tr><td><code>[o@]</code><td>f<b>or</b>ce
<tr><td><p>


@@ -162,7 +163,5 @@ Other languages will have their own vowel definitions, eg:
</table>


<hr>

</body>
</html>

+ 19
- 10
docs/speak_lib.h View File

@@ -1,12 +1,12 @@
#ifndef SPEAK_LIB_H
#define SPEAK_LIB_H
/***************************************************************************
* Copyright (C) 2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -15,9 +15,8 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/


@@ -28,6 +27,12 @@

#include <stdio.h>

#define ESPEAK_API_REVISION 2
/*
Revision 2
Added parameter "options" to eSpeakInitialize()

*/
/********************/
/* Initialization */
/********************/
@@ -40,7 +45,8 @@ typedef enum {
espeakEVENT_MARK, // Mark
espeakEVENT_PLAY, // Audio element
espeakEVENT_END, // End of sentence
espeakEVENT_MSG_TERMINATED // End of message
espeakEVENT_MSG_TERMINATED, // End of message
espeakEVENT_PHONEME // Phoneme, if enabled in espeak_Initialize()
} espeak_EVENT_TYPE;


@@ -54,7 +60,7 @@ typedef struct {
int sample; // sample id (internal use)
void* user_data; // pointer supplied by the calling program
union {
int number; // used for WORD and SENTENCE events
int number; // used for WORD and SENTENCE events. For PHONEME events this is the phoneme mnemonic.
const char *name; // used for MARK and PLAY events. UTF8 string
} id;
} espeak_EVENT;
@@ -137,7 +143,7 @@ typedef enum {
#ifdef __cplusplus
extern "C"
#endif
int espeak_Initialize(espeak_AUDIO_OUTPUT output, int buflength, const char *path);
int espeak_Initialize(espeak_AUDIO_OUTPUT output, int buflength, const char *path, int options);
/* Must be called before any synthesis functions are called.
output: the audio data can either be played by eSpeak or passed back by the SynthCallback function.

@@ -145,6 +151,9 @@ int espeak_Initialize(espeak_AUDIO_OUTPUT output, int buflength, const char *pat

path: The directory which contains the espeak-data directory, or NULL for the default location.

options: bit 0: 1=allow espeakEVENT_PHONEME events.


Returns: sample rate in Hz, or -1 (EE_INTERNAL_ERROR).
*/

@@ -181,7 +190,7 @@ int SynthCallback(short *wav, int numsamples, espeak_EVENT *events);
extern "C"
#endif
void espeak_SetUriCallback(int (*UriCallback)(int, const char*, const char*));
/* This function must be called before synthesis functions are used, in order to deal with
/* This function may be called before synthesis functions are used, in order to deal with
<audio> tags. It specifies a callback function which is called when an <audio> element is
encountered and allows the calling program to indicate whether the sound file which
is specified in the <audio> element is available and is to be played.

+ 1
- 0
docs/voices.html View File

@@ -239,5 +239,6 @@ speak command.
</dl>
For a list of voices provided for English and other languages see <a href="languages.html">Languages</a>.


</body>
</html>

+ 35
- 36
phsource/compile_report View File

@@ -1,4 +1,4 @@
37 phoneme tables
38 phoneme tables
new total
base 96 96
base2 23 114
@@ -13,7 +13,7 @@
de 32 123
eo 13 108
fi 40 127
fr 32 118
fr 33 118
fr_ca 11 118
hi 49 131
hu 23 113
@@ -22,6 +22,7 @@
sk 29 125
cs 5 125
hr 19 129
mk 1 129
sr 2 129
ru 36 124
it 17 117
@@ -48,17 +49,15 @@
2 b/bo base hi
2 b/bu base hi
2 b/xb base hi
15 d/d base base2 fi fr hi hu pl hr ru ro el sw
16 d/d_ base base2 fi fr hi hu pl hr ru ro el sw
1 d/d_dnt hi
17 d/dr base base2 fi fr hi hu pl hr ru ro el sw
15 d/d base base2 fi hi hu pl hr ru ro el sw
15 d/d_ base base2 fi hi hu pl hr ru ro el sw
16 d/dr base base2 fi hi hu pl hr ru ro el sw
1 d/tap ro
2 d/tap1 base
2 d/tap2 base
2 d/tap3 base
1 d/tap_i ro
13 d/xd base base2 fi fr hi hu pl hr ru ro el sw
1 d/xd_dnt hi
13 d/xd base base2 fi hi hu pl hr ru ro el sw
2 d/xd_pzd pl ru
1 d/x_tap base
5 dzh/dzh base hi ru
@@ -107,7 +106,7 @@
1 l^/_l^ base
1 l^/l^ base
8 l/l base en af sk ru la pt ro
11 l/_l base en af de fr sk ru la pt ro
10 l/_l base en af de sk ru la pt ro
1 l/l_ base
2 l/l@ base
1 l/L1_aL base
@@ -116,14 +115,13 @@
1 l/L1_@L base
1 l/L1_oL base
1 l/L1_uL base
6 l/l_2 en af fr sk ru pt
1 l/L2_aL base
1 l/L2_eL base
1 l/L2_iL base
2 l/L2_@L base en_sc
2 l/L2_oL base en_sc
5 l/L2_uL base en en_n en_us en_rp
1 l/l_3 de
2 l/l_3 de fr
2 l/la base
2 l/le base
2 l/L_eL_af af
@@ -131,7 +129,7 @@
4 l/l_long base fr la ro
2 l/lo base
2 l/lu base
9 l/tl base en af fr sk ru la pt ro
8 l/tl base en af sk ru la pt ro
6 l/xl base
2 m/_m base ro
2 m/m_ base ro
@@ -180,13 +178,13 @@
1 r2/r2i base
1 r2/r2o base
1 r2/r2u base
4 r3/r_ base af fr ru
3 r3/r_ base af ru
1 r3/r_@ base
1 r3/r#_ is
1 r3/r_a base
1 r3/r_e base
1 r3/r_i base
3 r3/r_n base fr ru
2 r3/r_n base ru
1 r3/r_o base
11 r3/r_trill base af cy nl sk pt
2 r3/r_trill2 base hr
@@ -194,11 +192,11 @@
8 r3/r_trill3.wav base af cy nl
3 r3/r_trill.wav base sk pt
1 r3/r_u base
21 r3/rx base af fr fr_ca ru pt_pt ro is
18 r3/rx base af fr_ca ru pt_pt ro is
2 r3/rz_cs sk
2 r3/@tap base
2 r3/@tap_i base
5 r/r base en_sc de pt_pt
6 r/r base en_sc de fr pt_pt
3 r/_r base en_sc pt_pt
9 r/r_ base en_sc de fi nl ru pt_pt ro sw
1 r/r@ base
@@ -255,10 +253,11 @@
9 ustop/pr base base2 fi hi hu la ro
8 ustop/p_unasp base base2 fi hi hu sk la ro
7 ustop/p_unasp_ base2 fi hi hu sk la ro
3 ustop/t base en hi
6 ustop/t_ base en hi sk el
27 ustop/t_dnt base base2 en fi fr hi hu pl hr ru ro vi ++
2 ustop/t_dnt2 hi vi
6 ustop/t base en fr hi
8 ustop/t_ base en fr hi sk el
22 ustop/t_dnt base base2 en fi hi hu pl hr ru ro vi sw
1 ustop/t_dnt2 vi
2 ustop/t_hi hi
4 ustop/t_pzd pl ru
7 ustop/tr base en hi ru
8 ustop/ts base2 de eo hu pl ru ro zh_yue
@@ -391,12 +390,12 @@
4 voc/Q_ base nl pt
2 voc/Q_less nl pt
6 voc/v base fi hi nl ro is
7 voc/v_ base fi hi nl ro is
9 voc/v_ base fi fr hi nl ro is
4 vocw/dh base es
2 vocw/Q base
3 vocw/Q_ base nl
1 vocw/Q2 nl
6 vocw/v base ro
8 vocw/v base fr ro
4 vocw/zh base ro
2 vocw/zh_rfx base
3 voc/z base fr ro
@@ -412,7 +411,7 @@
4 vowel/0 base2 en hi pt
4 vowel/0_2 en_n en_wm pt_pt sw
5 vowel/0_3 en_us en_sc en_rp hu
1 vowel/@_2 fr
2 vowel/@_2 fr
6 vowel/@_3 en_sc de hi
1 vowel/3_2 en_n
1 vowel/3_3 en_rp
@@ -424,7 +423,7 @@
4 vowel/a# base2 en_sc pt
7 vowel/a_2 base2 eo la pt pt_pt ro vi
4 vowel/a#_2 hr sv is sw
6 vowel/a_3 en_sc cs is
7 vowel/a_3 en_sc fr cs is
12 vowel/a#_3 en en_n en_us en_wm de hi ru pt_pt vi zh_yue
4 vowel/a_4 en_wm el vi
3 vowel/a_5 it sv sw
@@ -436,7 +435,7 @@
2 vowel/aa_5 en_n
2 vowel/aa_6 de
1 vowel/aa_7 nl
4 vowel/a_en en fr
3 vowel/a_en en fr
1 vowel/@_bck hi
15 vowel/e base2 en en_n af cy eo fr hu hr it la pt ++
2 vowel/e# en_sc
@@ -471,15 +470,15 @@
2 vowel/ii_4 en_rp
6 vowel/ii_en en en_n
5 vowel/@_low hi ro no
12 vowel/o base2 en en_wm de fr hi it la pt_pt sv
11 vowel/o base2 en en_wm de hi it la pt_pt sv
4 vowel/o_2 cy hi hu no
2 vowel/o-_2 en_n en_wm
2 vowel/o_3 en_sc
3 vowel/o_3 en_sc fr
1 vowel/o-_3 en_rp
1 vowel/o_4 en_n
1 vowel/o-_4 ro
1 vowel/o_6 nl
4 vowel/oe en af de fr
3 vowel/oe en af de
1 vowel/oe_2 no
1 vowel/oe_4 sv
2 vowel/o_mid fr hu
@@ -496,9 +495,9 @@
4 vowelr/r-voc hi sk hr
2 vowelr/V3_r en en_sc
1 vowelr/V_r en
8 vowel/u en_n cy de eo fr cs la
7 vowel/u en_n cy de eo fr cs la
5 vowel/u# en en_sc
4 vowel/u_2 fi sk hr ro
5 vowel/u_2 fi fr sk hr ro
1 vowel/u#_2 sv
1 vowel/u_3 ro
1 vowel/u#_3 en_n
@@ -564,8 +563,8 @@
2 vwl_en_wm/aa en_wm
1 vwl_en_wm/i en_wm
2 vwl_en_wm/ii en_wm
1 vwl_fr/@R pt_pt
3 vwl_fr/@R2 fr fr_ca
3 vwl_fr/@R fr pt_pt
1 vwl_fr/@R2 fr_ca
1 vwl_hi/A hi
3 vwl_hi/l-voc hi sk
2 vwl_no/& no
@@ -599,8 +598,8 @@
1 vwl_sv/r_sv3 sv
1 vwl_zh/aang zh_yue
1 vwl_zh/ong zh_yue
1 w/w base
1 w/_w base
2 w/w base fr
2 w/_w base fr
1 w/w_ base
1 w/w@ base
8 w/w2 base2 pl sk pt_pt
@@ -614,8 +613,8 @@
20 x/b base hi ro is
1 x/b_ base
10 x/d base en_us hi hr el is
14 x/d_ base base2 fi fr hi pl hr ru ro el is sw
23 x/d_dnt base base2 fi fr hi hu pl ru ro sw
13 x/d_ base base2 fi hi pl hr ru ro el is sw
21 x/d_dnt base base2 fi hi hu pl ru ro sw
6 x/d_pzd pl ru
4 x/dzh base hi
5 x/dzh_ base hi ru

BIN
phsource/l/l_2 View File


+ 0
- 1
phsource/ph_afrikaans View File

@@ -292,7 +292,6 @@ phoneme l
beforenotvowel l/2 // 'dark' [l]
formants l/l
after _ l/_l t l/tl
before _ l/l_2
endphoneme

phoneme c

+ 1
- 1
phsource/ph_croatian View File

@@ -108,7 +108,7 @@ endphoneme

phoneme d
vcd alv stop
vowelin f1=2 f2=1700 -300 300 f3=-100 80 rms=45
vowelin f1=2 f2=1700 -300 300 f3=-100 80 amp=16
vowelout f1=2 f2=1700 -300 300 f3=-100 80
formants d/d+x/d%50
before _ d/d_+x/d_

+ 0
- 1
phsource/ph_english View File

@@ -46,7 +46,6 @@ phoneme l
beforenotvowel l/2 // use 'dark' [l] after a vowel
formants l/l
after _ l/_l t l/tl
before _ l/l_2
endphoneme



+ 59
- 54
phsource/ph_french View File

@@ -12,7 +12,7 @@ endphoneme

phoneme @
vowel starttype (@) endtype (@)
length 130
length 160
formants vowel/@_2
endphoneme

@@ -20,7 +20,7 @@ endphoneme
phoneme a
vowel starttype (a) endtype (a)
length 160
formants vowel/a_en
formants vowel/a_3
endphoneme


@@ -40,17 +40,16 @@ endphoneme

phoneme i
vowel starttype (i) endtype (i)
length 150
length 160
formants vowel/i
linkout ;
endphoneme



phoneme o
vowel starttype (o) endtype (o)
length 160
formants vowel/o
length 170
formants vowel/o_3
endphoneme


@@ -64,29 +63,39 @@ endphoneme

phoneme u
vowel starttype (u) endtype (u)
length 150
formants vowel/u
length 160
formants vowel/u_2
endphoneme


phoneme y
vowel starttype (e) endtype (u)
length 148
length 160
formants vowel/y_2
endphoneme


phoneme Y
vowel starttype (@) endtype (@)
length 214
length 170
formants vowel/y#
endphoneme


phoneme w
liquid
length 120
beforenotvowel w/
lengthmod 7
formants w/w
after _ w/_w
endphoneme


phoneme W
vowel starttype (@) endtype (@)
length 170
formants vowel/oe
formants vowel/@_2
endphoneme


@@ -172,67 +181,65 @@ phoneme l
liquid
length 100
lengthmod 7
beforenotvowel l/
formants l/l_2
after _ l/_l
after t l/tl
// beforenotvowel l/
formants l/l_3
// after _ l/_l
// after t l/tl
after l/ l/l_long // double l, make it longer
endphoneme




phoneme R
liquid
// vcd uvl frc
vowelin f1=0 f2=1500 -400 400 f3=-400 80
phoneme r
vcd uvl frc
vowelin f1=0 f2=800 -100 100 f3=-400 100
length 100
lengthmod 7
beforenotvowel r/
formants vwl_fr/@R2
formants vwl_fr/@R%40
endphoneme


phoneme R2
liquid
// vcd uvl frc
vowelin f1=0 f2=1500 -400 400 f3=-400 80
phoneme R
vcd uvl frc
vowelin f1=0 f2=800 -100 100 f3=-400 100
length 100
lengthmod 7
beforenotvowel r/
formants vwl_fr/@R2+r3/rx%120
formants vwl_fr/@R%40
endphoneme


phoneme r/ // used for [r] when not preceding a vowel
liquid
vcd uvl frc
length 100
lengthmod 2 //
formants r3/r_+r3/rx
before n r3/r_n+r3/rx
formants r/r
// before n r3/r_n+r3/rx
endphoneme



phoneme t // dental variant of /t/
vls dnt stop
vowelin f1=0 f2=1600 -300 300 f3=-100 80
vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
phoneme t
vls alv stop
vowelin f1=0 f2=1700 -100 100 f3=-100 80
vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ustop/t_dnt%50
before _ ustop/t_dnt%40
wave ustop/t%50
before _ ustop/t_%40
before @- ustop/t%50
// before r ustop/tr
// before R ustop/tr
switchvoicing d
endphoneme


phoneme t2 // silent unless followed by vowel
beforenotvowel NULL
vls dnt stop
vls alv stop
vowelin f1=0 f2=1600 -300 300 f3=-100 80
vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ustop/t_dnt%50
before _ ustop/t_dnt%40
wave ustop/t
before _ ustop/t_
endphoneme


@@ -246,20 +253,6 @@ phoneme z2 // silent unless followed by vowel
endphoneme


phoneme d // dental variant of /d/
vcd dnt stop
vowelin f1=2 f2=1500 -300 300 f3=-150 80
vowelout f1=2 f2=1500 -300 300 f3=-150 80
formants d/d+x/d_dnt%110
before _ d/d_+x/d_
before r d/dr+x/d_dnt%110
after _ NULL
after @ d/xd
lengthmod 5
switchvoicing t
endphoneme



phoneme k
vls vel stop
@@ -275,6 +268,18 @@ phoneme k
endphoneme


phoneme v
vcd lbd frc
vowelin f1=0 f2=1000 -300 -200 f3=-300 100
vowelout f1=0 f2=1000 -500 -300 f3=-300 60 len=50
lengthmod 6
formants voc/v_+vocw/v
before _ voc/v_+vocw/v
switchvoicing f
endphoneme







+ 3
- 3
phsource/ph_greek View File

@@ -1,6 +1,6 @@

//====================================================
// Greek - based on Italian
// Greek - based on base2
//====================================================


@@ -35,8 +35,8 @@ endphoneme

phoneme t // revert to alveolar /t/
vls alv stop
vowelin f1=1 f2=1700 -300 300 f3=-100 80 rms=30
vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
vowelin f1=1 f2=1600 -300 300 f3=-100 80 amp=11
vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ustop/t_short%80
before _ ustop/t_

+ 17
- 12
phsource/ph_hindi View File

@@ -324,38 +324,43 @@ endphoneme

phoneme t // dental variant of /t/
vls dnt stop
vowelin f1=1 f2=1600 -300 300 f3=-100 80
vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
vowelin f1=1 f2=1500 -300 300 f3=-100 80 amp=18
vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ustop/t_dnt2%60
wave ustop/t_hi%60
before _ ustop/t_dnt%35
// before _ ustop/t_hi%35
switchvoicing d
endphoneme



phoneme th // dental variant of /t/ Same as [t] for now
vls dnt stop
vowelin f1=0 f2=1600 -300 300 f3=-100 80
vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
vowelin f1=0 f2=1500 -300 300 f3=-100 80
vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ustop/t_dnt%50+ufric/h@
wave ustop/t_hi%50+ufric/h@
switchvoicing d
endphoneme



phoneme d // (weak) dental variant of /d/
phoneme d // dental variant of /d/
vcd dnt stop
vowelin f1=2 f2=1700 -300 300 f3=-100 80
vowelout f1=2 f2=1700 -300 300 f3=-100 80 rms=20 len=1
formants d/d_dnt+x/d_dnt%50
vowelin f1=2 f2=1500 -300 300 f3=-150 80
vowelout f1=2 f2=1500 -300 300 f3=-150 80
formants d/d+x/d_dnt%110
before _ d/d_+x/d_
before r d/dr+x/d_dnt%60
before r d/dr+x/d_dnt%110
after _ NULL
after @ d/xd_dnt
after @ d/xd
lengthmod 5
switchvoicing t
endphoneme



//phoneme dh // use [d]+[h]
// vcd dnt stop
// vowelin f1=1 f2=1700 -200 200 f3=100 80

+ 1
- 1
phsource/ph_hungarian View File

@@ -39,7 +39,7 @@ endphoneme

phoneme a:
vowel starttype (a) endtype (a)
length 280
length 270
formants vowel/a
endphoneme


+ 1
- 1
phsource/ph_icelandic View File

@@ -223,7 +223,7 @@ endphoneme

phoneme b
vls blb stop
vowelin f1=1 f2=1000 -300 -200 f3=-200 80 rms=27
vowelin f1=1 f2=1000 -300 -200 f3=-200 80 amp=11
vowelout f1=2 f2=1000 -300 -300 f3=-300 80 brk
lengthmod 5
wave x/b

+ 1
- 1
phsource/ph_italian View File

@@ -49,7 +49,7 @@ endphoneme

phoneme i
vowel starttype (i) endtype (i)
length 150
length 140
formants vowel/i
linkout ;
endphoneme

+ 0
- 1
phsource/ph_pt_brazil View File

@@ -176,7 +176,6 @@ phoneme l
formants l/l
after _ l/_l
after t l/tl
before _ l/l_2
endphoneme



+ 1
- 1
phsource/ph_romanian View File

@@ -279,7 +279,7 @@ phoneme *; // flap
vcd alv flp
vowelout f1=3 f2=1700 -300 300 f3=-300 80 rms=35 len=15 colr=1
formants d/tap+r3/rx
vowelin f1=0 f2=1700 -300 300 f3=-400 80 rms=20
vowelin f1=0 f2=1700 -300 300 f3=-400 80
before (i) d/tap_i+r3/rx
lengthmod 2
endphoneme

+ 0
- 1
phsource/ph_russian View File

@@ -7,7 +7,6 @@ phoneme l
beforenotvowel l/2 // use 'dark' [l] after a vowel
formants l/l
after _ l/_l t l/tl
before _ l/l_2
endphoneme



+ 0
- 1
phsource/ph_slovak View File

@@ -161,7 +161,6 @@ phoneme l
beforenotvowel l/2 // use 'dark' [l] after a vowel
formants l/l
after _ l/_l t l/tl
before _ l/l_2
endphoneme

phoneme w

+ 3
- 1
phsource/ph_zh_yue View File

@@ -1,4 +1,6 @@
// Cantonese Chinese
//==================

//====================================================
// Tone Numbers
//====================================================

+ 14
- 13
phsource/phonemes View File

@@ -579,12 +579,12 @@ endphoneme
phoneme ** // TEST flap after consonant
liquid alv
vowelout f1=3 f2=1700 -300 300 f3=-300 80 rms=35 len=15
vowelin f1=0 f2=1700 -300 300 f3=-300 80 rms=20
vowelin f1=0 f2=1700 -300 300 f3=-300 80
formants r3/@tap+r3/rx
vowelin f1=0 f2=1700 -300 300 f3=-400 80 rms=20
vowelin f1=0 f2=1700 -300 300 f3=-400 80
before (i) r3/@tap_i+r3/rx
before (e) r3/@tap_i+r3/rx
vowelin f1=2 f2=1700 -300 300 f3=-300 80 rms=20
vowelin f1=2 f2=1700 -300 300 f3=-300 80
before (a) r3/@tap+r3/rx
endphoneme

@@ -648,12 +648,12 @@ phoneme * // flap
vcd alv flp
brkafter
vowelout f1=3 f2=1500 -400 300 f3=-200 80 rms=35 len=50
vowelin f1=0 f2=1500 -300 300 f3=-200 80 rms=20
vowelin f1=0 f2=1500 -300 300 f3=-200 80
formants d/tap3+r3/rx%200
vowelin f1=0 f2=1500 -300 300 f3=-200 80 rms=20
vowelin f1=0 f2=1500 -300 300 f3=-200 80
before (i) d/tap1+r3/rx%150
before (e) d/tap1+r3/rx%150
vowelin f1=2 f2=1500 -300 300 f3=-200 80 rms=20
vowelin f1=2 f2=1500 -300 300 f3=-200 80
before (a) d/tap3+r3/rx%200
before r d/dr
lengthmod 3
@@ -876,9 +876,7 @@ endphoneme

phoneme p
vls blb stop
// vowelin f1=0 f2=1000 -50 -50 f3=-200 80
// vowelout f1=0 f2=1000 -500 -350 f3=-200 80
vowelin f1=0 f2=1000 -50 -100 f3=-200 80 rms=30
vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11
vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22
lengthmod 2
wave ustop/p
@@ -1188,6 +1186,9 @@ include ph_czech
phonemetable hr sk
include ph_croatian

phonemetable mk hr
include ph_macedonian

phonemetable sr hr
include ph_serbian

@@ -1235,8 +1236,8 @@ phonemetable sw base
include ph_swahili


phonemetable basef base
include pf
//phonemetable basef base
//include pf

phonemetable f_en basef
include pf_english
//phonemetable f_en basef
//include pf_english

BIN
phsource/vdiph/aau_2 View File


BIN
phsource/vnasal/o_n3 View File


BIN
phsource/vnasal/vowelchart.png View File


BIN
phsource/voc/z View File


BIN
phsource/vowel/@_2 View File


BIN
phsource/vowel/y# View File


BIN
phsource/vowelr/vowelchart.png View File


+ 11
- 8
src/compiledata.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005, 2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,12 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/


#include <stdio.h>
#include <string.h>
#include <ctype.h>
@@ -272,6 +270,7 @@ static keywtab_t keywords[] = {
{"f4", 0x300000a},
{"paus", 0x300000b},
{"colr=",0x300000c},
{"amp=", 0x300000d},
{"", -1}
};

@@ -1177,7 +1176,7 @@ void Compile::VowelTransition(int which, unsigned int *trans)
flags |= 1;
break;
case 2:
rms = Range(NextItem(tNUMBER), 2, 0, 63) & 0x3f;
rms = Range(NextItem(tNUMBER), 2, 0, 31) & 0x1f;
flags |= 1;
break;
case 3:
@@ -1219,6 +1218,10 @@ void Compile::VowelTransition(int which, unsigned int *trans)
case 12:
vcolour = NextItem(tNUMBER);
break;
case 13:
rms = (Range(NextItem(tNUMBER), 1, 0, 31) & 0x1f) | 0x20;
flags |= 1;
break;
}
}
trans[0] = len + (rms << 6) + (flags << 12) + 0x80000000;

+ 25
- 17
src/compiledict.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/

#include "StdAfx.h"

#include <stdio.h>
@@ -31,7 +31,6 @@
#include "synthesize.h"
#include "translate.h"

#define OPT_PH_COMMON // sort rules by phoneme string, common phoneme string output only once
//#define OPT_FORMAT // format the text and write formatted copy to Log file
//#define OUTPUT_FORMAT

@@ -206,7 +205,7 @@ int compile_line(char *linebuf, char *dict_line, int *hash)
c = *p;
}
if((c == '$') && (step != 1))
if((c == '$') && isalnum(p[1]))
{
/* read keyword parameter */
mnemptr = p;
@@ -902,7 +901,8 @@ static int __cdecl string_sorter(char **a, char **b)
pa += (strlen(pa)+1);
pb += (strlen(pb)+1);
return(strcmp(pa,pb));
} /* end of strcmp2 */
} /* end of string_sorter */


static int __cdecl rgroup_sorter(RGROUP *a, RGROUP *b)
{//===================================================
@@ -1020,7 +1020,7 @@ void print_rule_group(FILE *f_out, int n_rules, char **rules, char *name)
#endif


//#define LIST_GROUP_INFO
void output_rule_group(FILE *f_out, int n_rules, char **rules, char *name)
{//=======================================================================
int ix;
@@ -1031,17 +1031,18 @@ void output_rule_group(FILE *f_out, int n_rules, char **rules, char *name)
char *p2, *p3;
const char *common;

//fprintf(f_log,"Group %2s n=%2d at 0x%x\n",name,n_rules,ftell(f_out));
short nextchar_count[256];
memset(nextchar_count,0,sizeof(nextchar_count));

len_name = strlen(name);

#ifdef OUTPUT_FORMAT
print_rule_group(f_log,n_rules,rules,name);
#endif

// sort the rules in this group by their phoneme string
common = "";
#ifdef OPT_PH_COMMON
qsort((void *)rules,n_rules,sizeof(char *),(int (__cdecl *)(const void *,const void *))string_sorter);
#endif

if(strcmp(name,"9")==0)
len_name = 0; // don't remove characters from numeric match strings
@@ -1053,8 +1054,8 @@ void output_rule_group(FILE *f_out, int n_rules, char **rules, char *name)
p3 = &p[len1];
p2 = p3 + len_name; // remove group name from start of match string
len2 = strlen(p2);
//fprintf(f_log,"%4x %2d len1=%2d %2x %2x %2x %2x len2=%2d %2x %2x %2x %2x %2x %2x %2x\n",
// ftell(f_out),ix,len1,p[0],p[1],p[2],p[3],len2,p3[0],p3[1],p3[2],p3[3],p3[4],p3[5],p3[6]);
nextchar_count[(unsigned char)(p2[0])]++; // the next byte after the group name

if((common[0] != 0) && (strcmp(p,common)==0))
{
@@ -1063,18 +1064,25 @@ void output_rule_group(FILE *f_out, int n_rules, char **rules, char *name)
}
else
{
#ifdef OPT_PH_COMMON
if((ix < n_rules-1) && (strcmp(p,rules[ix+1])==0))
{
common = rules[ix]; // phoneme string is same as next, set as common
fputc(RULE_PH_COMMON,f_out);
}
#endif
fwrite(p2,len2,1,f_out);
fputc(RULE_PHONEMES,f_out);
fwrite(p,len1,1,f_out);
}
}

#ifdef LIST_GROUP_INFO
for(ix=32; ix<256; ix++)
{
if(nextchar_count[ix] > 30)
printf("Group %s %c %d\n",name,ix,nextchar_count[ix]);
}
#endif
} // end of output_rule_group



+ 21
- 6
src/dictionary.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/

#include "StdAfx.h"

#define LOG_TRANSLATE
@@ -1082,6 +1082,21 @@ void Translator::SetWordStress(char *output, unsigned int dictionary_flags, int
}
break;

case 4: // stress on antipenultimate vowel
if(stressed_syllable == 0)
{
stressed_syllable = vowel_count - 3;
if(stressed_syllable < 1)
stressed_syllable = 1;

if(max_stress == 0)
{
vowel_stress[stressed_syllable] = 4;
}
max_stress = 4;
}
break;

case 5:
// LANG=Russian
if(stressed_syllable == 0)

+ 6
- 6
src/espeak.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2006 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,9 +13,8 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/

#include <stdio.h>
@@ -73,6 +72,7 @@ static const char *help_text =




int samplerate;
FILE *f_wavfile = NULL;
char wavefile[160];

+ 1
- 1
src/espeak_command.cpp View File

@@ -3,7 +3,7 @@
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *

+ 10
- 9
src/espeakedit.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005, 2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,9 +13,8 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/

#include "wx/wx.h"
@@ -43,7 +42,9 @@
#include "prosodydisplay.h"


static char *about_string = "espeakedit: %s\nAuthor: Jonathan Duddington (c) 2006";
static char *about_string = "espeakedit: %s\nAuthor: Jonathan Duddington (c) 2007\n\n"
"Licensed under GNU General Public License version 3\n"
"http://espeak.sourceforge.net/";


const char *path_data = "/home/jsd1/speechdata/phsource";
@@ -252,7 +253,7 @@ wxSashLayoutWindow *win;
if((result = LoadPhData()) != 1)
{
if(result == -1)
wxLogError(_T("Failed to load phoneme data,\nneeds espeak-data/phontab,phondata,phonindex"));
wxLogError(_T("Failed to load phoneme data,\nneeds espeak-data/phontab,phondata,phonindex\nPath = ")+wxString(path_home,wxConvLocal));
else
wxLogError(_T("Wrong version of espeak-data: 0x%x (expects 0x%x)"),result,version_phdata);

@@ -341,7 +342,7 @@ void MyFrame::OnQuit(wxCommandEvent& event)

void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
{//===================================================
char buf[120];
char buf[300];

sprintf(buf,about_string,espeak_Info(NULL));
(void)wxMessageBox(wxString(buf,wxConvLocal), _T("About eSpeak Editor"));

+ 1
- 1
src/event.cpp View File

@@ -3,7 +3,7 @@
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *

+ 7
- 7
src/extras.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2006 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,9 +13,8 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/

#include "wx/wx.h"
@@ -1165,6 +1164,7 @@ int x;
}
#endif


char* text1 = "Hello World2. <audio src=\"here\"> Some text</audio> This is the second sentence";

void TestTest(int control)
@@ -1181,7 +1181,7 @@ void TestTest(int control)
//CharsetToUnicode("ISO-8859-4");
//CharsetToUnicode("ISCII");

//return;
return;

if(control==2)
{

+ 1
- 1
src/fifo.cpp View File

@@ -3,7 +3,7 @@
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *

+ 6
- 6
src/formantdlg.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005, 2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2006 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,12 +13,12 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/



// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wx.h"
#include "wx/mdi.h"

+ 6
- 7
src/intonation.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005, 2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/

#include "StdAfx.h"

#include <stdio.h>
@@ -446,7 +446,6 @@ static void set_pitch(int ix, int base, int drop)
{
int pitch1, pitch2;
int flags = 0;
int x;

/* adjust experimentally */
int pitch_range2 = 148;

+ 0
- 10
src/main.h View File

@@ -1,13 +1,3 @@
/////////////////////////////////////////////////////////////////////////////
// Name: sashtest.h
// Purpose: Layout window/sash sample
// Author: Julian Smart
// Modified by:
// Created: 04/01/98
// RCS-ID: $Id: sashtest.h,v 1.4 2002/03/17 14:15:55 VZ Exp $
// Copyright: (c) Julian Smart
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////

#include "wx/toolbar.h"
#include "wx/laywin.h"

+ 1
- 1
src/mbrolib.h View File

@@ -9,7 +9,7 @@
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
* version 3 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of

+ 5
- 6
src/menus.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005, 2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,9 +13,8 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/



+ 6
- 6
src/numbers.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/

#include "StdAfx.h"



+ 6
- 6
src/options.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,11 +13,11 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/


#include "wx/wx.h"
#include "wx/fileconf.h"
#include "sys/stat.h"

+ 11
- 9
src/options.h View File

@@ -1,18 +1,20 @@
/***************************************************************************
options.h - description
-------------------
begin : Sat Mar 13 2004
copyright : (C) 2004 by Jonathan Duddington
email : [email protected]
***************************************************************************/

/***************************************************************************
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/

#ifndef OPTIONS_H

+ 6
- 6
src/phoneme.h View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,12 +13,12 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/



// phoneme types
#define phPAUSE 0
#define phSTRESS 1

+ 6
- 6
src/phonemelist.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2007 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/

#include "StdAfx.h"

#include <stdio.h>

+ 6
- 6
src/prosodydisplay.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005, 2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,12 +13,12 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/



#include "wx/wx.h"
#include "wx/numdlg.h"


+ 6
- 6
src/readclause.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/

#include "StdAfx.h"

#include <stdio.h>

+ 6
- 6
src/setlengths.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/

#include "StdAfx.h"

#include <stdlib.h>

+ 14
- 19
src/speak.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/

#include "StdAfx.h"

#include "speech.h"
@@ -84,14 +84,10 @@ static const char *help_text =
"\t =<characters> is omitted, all punctuation is spoken.\n"
"--voices=<langauge>\n"
"\t List the available voices for the specified language.\n"
"\t If <language> is omitted, then list all voices.\n";


#ifdef deleted
"\t If <language> is omitted, then list all voices.\n"
"-k <integer>\n"
"\t Indicate capital letters with: 1=sound, 2=the word \"capitals\",\n"
"\t higher values = a pitch increase (try -k20).\n";
#endif


void DisplayVoices(FILE *f_out, char *language);
@@ -245,14 +241,13 @@ static void init_path(void)

sprintf(path_home,"%s\\espeak-data",buf);
#else
char *env;

if((env = getenv("ESPEAK-DATA-PATH")) != NULL)
{
snprintf(path_home,sizeof(path_home),"%s/espeak-data",env);
if(GetFileLength(path_home) == -2)
return; // an espeak-data directory exists
}
// char *env;
// if((env = getenv("ESPEAK-DATA-PATH")) != NULL)
// {
// snprintf(path_home,sizeof(path_home),"%s/espeak-data",env);
// if(GetFileLength(path_home) == -2)
// return; // an espeak-data directory exists
// }

snprintf(path_home,sizeof(path_home),"%s/espeak-data",getenv("HOME"));
if(access(path_home,R_OK) != 0)

+ 13
- 13
src/speak_lib.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/

#include "StdAfx.h"

#include "stdio.h"
@@ -292,7 +292,7 @@ static void init_path(const char *path)
return;
}

if((env = getenv("espeak-path")) != NULL)
if((env = getenv("ESPEAK-DATA-PATH")) != NULL)
{
sprintf(path_home,"%s/espeak-data",env);
if(GetFileLength(path_home) == -2)
@@ -316,12 +316,12 @@ static void init_path(const char *path)
return;
}

if((env = getenv("ESPEAK-DATA-PATH")) != NULL)
{
snprintf(path_home,sizeof(path_home),"%s/espeak-data",env);
if(GetFileLength(path_home) == -2)
return; // an espeak-data directory exists
}
// if((env = getenv("ESPEAK-DATA-PATH")) != NULL)
// {
// snprintf(path_home,sizeof(path_home),"%s/espeak-data",env);
// if(GetFileLength(path_home) == -2)
// return; // an espeak-data directory exists
// }

snprintf(path_home,sizeof(path_home),"%s/espeak-data",getenv("HOME"));
if(access(path_home,R_OK) != 0)

+ 5
- 6
src/speak_lib.h View File

@@ -1,12 +1,12 @@
#ifndef SPEAK_LIB_H
#define SPEAK_LIB_H
/***************************************************************************
* Copyright (C) 2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -15,9 +15,8 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/



+ 18
- 19
src/speak_riscos.cpp View File

@@ -1,23 +1,22 @@

/**************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
/***************************************************************************
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/

#define USE_MODULE


+ 5
- 6
src/spect.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,9 +13,8 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/



+ 19
- 0
src/spect.h View File

@@ -1,3 +1,22 @@
/***************************************************************************
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/

#include "wx/spinctrl.h"
#include "wx/notebook.h"


+ 5
- 6
src/spectdisplay.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,9 +13,8 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/



+ 6
- 6
src/spectseq.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,11 +13,11 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/


#include "wx/wx.h"
#include <math.h>


+ 6
- 6
src/speech.h View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,11 +13,11 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/


#include <sys/types.h>

// conditional compilation options

+ 6
- 6
src/synth_mbrola.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2007 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/

#include "StdAfx.h"

#include <stdio.h>

+ 9
- 9
src/synthdata.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,13 +13,13 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include "StdAfx.h"


#include "StdAfx.h"

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
@@ -35,8 +35,8 @@
#include "translate.h"
#include "wave.h"

const char *version_string = "1.26.11 26.Jun.07";
const int version_phdata = 0x012601;
const char *version_string = "1.27 30.Jun.07";
const int version_phdata = 0x012701;

int option_device_number = -1;


+ 40
- 20
src/synthesize.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/

#include "StdAfx.h"

#include <stdio.h>
@@ -325,18 +325,24 @@ static void set_frame_rms(frame_t *fr, int new_rms)
int h;
int ix;

static const short sqrt_tab[100] = {
0, 64, 90,110,128,143,156,169,181,192,202,212,221,230,239,247,
256,263,271,278,286,293,300,306,313,320,326,332,338,344,350,356,
362,367,373,378,384,389,394,399,404,409,414,419,424,429,434,438,
443,448,452,457,461,465,470,474,478,483,487,491,495,499,503,507,
512,515,519,523,527,531,535,539,543,546,550,554,557,561,565,568,
572,576,579,583,586,590,593,596,600,603,607,610,613,617,620,623,
627,630,633,636 };
static const short sqrt_tab[200] = {
0, 64, 90,110,128,143,156,169,181,192,202,212,221,230,239,247,
256,263,271,278,286,293,300,306,313,320,326,332,338,344,350,356,
362,367,373,378,384,389,394,399,404,409,414,419,424,429,434,438,
443,448,452,457,461,465,470,474,478,483,487,491,495,499,503,507,
512,515,519,523,527,531,535,539,543,546,550,554,557,561,565,568,
572,576,579,583,586,590,593,596,600,603,607,610,613,617,620,623,
627,630,633,636,640,643,646,649,652,655,658,662,665,668,671,674,
677,680,683,686,689,692,695,698,701,704,706,709,712,715,718,721,
724,726,729,732,735,738,740,743,746,749,751,754,757,759,762,765,
768,770,773,775,778,781,783,786,789,791,794,796,799,801,804,807,
809,812,814,817,819,822,824,827,829,832,834,836,839,841,844,846,
849,851,853,856,858,861,863,865,868,870,872,875,877,879,882,884,
886,889,891,893,896,898,900,902};

if(fr->rms == 0) return; // check for divide by zero
x = (new_rms * 64)/fr->rms;
if(x >= 100) x = 99;
if(x >= 200) x = 199;

x = sqrt_tab[x]; // sqrt(new_rms/fr->rms)*0x200;

@@ -464,6 +470,7 @@ int FormantTransition2(frameref_t *seq, int &n_frames, unsigned int data1, unsig
{//==============================================================================================================================
int ix;
int formant;
int next_rms;

int len;
int rms;
@@ -489,7 +496,7 @@ static short vcolouring[N_VCOLOUR][5] = {
return(0);

len = (data1 & 0x3f) * 2;
rms = ((data1 >> 6) & 0x3f) * 2;
rms = (data1 >> 6) & 0x3f;
flags = (data1 >> 12);

f2 = (data2 & 0x3f) * 50;
@@ -517,26 +524,39 @@ static short vcolouring[N_VCOLOUR][5] = {
seq[0].frflags |= FRFLAG_LEN_MOD; // reduce length modification
fr->frflags |= FRFLAG_LEN_MOD;

next_rms = seq[1].frame->rms;

if(f2 != 0)
{
if(rms & 0x20)
{
set_frame_rms(fr,(next_rms * (rms & 0x1f))/30);
}
AdjustFormants(fr, f2, f2_min, f2_max, f1, f3_adj, f3_amp, flags);
set_frame_rms(fr,rms);

if((rms & 0x20) == 0)
{
set_frame_rms(fr,rms*2);
}
}
else
{
set_frame_rms(fr,RMS_START);
if(flags & 8)
set_frame_rms(fr,(next_rms*24)/32);
else
set_frame_rms(fr,RMS_START);
}

if(flags & 8)
{
set_frame_rms(fr,seq[1].frame->rms - 5);
// set_frame_rms(fr,next_rms - 5);
modn_flags = 0x800 + (VowelCloseness(fr) << 8);
}
}
else
{
// exit from vowel
rms = rms*2;
if((f2 != 0) || (flags != 0))
{


+ 6
- 6
src/synthesize.h View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,11 +13,11 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/


#define N_PHONEME_LIST 700 // enough for source[] full of text, else it will truncate

#define MAX_HARMONIC 400 // 400 * 50Hz = 20 kHz, more than enough

+ 6
- 6
src/tr_english.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/

#include "StdAfx.h"

#include <stdio.h>

+ 28
- 10
src/tr_languages.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/

#include "StdAfx.h"

#include <stdio.h>
@@ -226,7 +226,7 @@ Translator *SelectTranslator(const char *name)

case L('f','r'): // french
{
static int stress_lengths_fr[8] = {180, 160, 180, 190, 0, 0, 220, 220};
static int stress_lengths_fr[8] = {190, 170, 190, 200, 0, 0, 235, 235};
static int stress_amps_fr[8] = {16,14, 20,20, 20,24, 24,22 };

tr = new Translator();
@@ -379,10 +379,10 @@ Translator *SelectTranslator(const char *name)
tr->langopts.unstressed_wd1 = 2;
tr->langopts.unstressed_wd2 = 2;
tr->langopts.param[LOPT_IT_LENGTHEN] = 2; // remove lengthen indicator from unstressed or non-penultimate syllables
// tr->langopts.param[LOPT_IT_DOUBLING] = 2;
tr->langopts.param[LOPT_IT_DOUBLING] = 2; // double the first consonant if the previous word ends in a stressed vowel
tr->langopts.param[LOPT_SONORANT_MIN] = 130; // limit the shortening of sonorants before short vowels
tr->langopts.param[LOPT_REDUCE] = 1; // reduce vowels even if phonemes are specified in it_list
tr->langopts.numbers = 0x2709;
tr->langopts.numbers = 0x2709 + 0x800;
}
break;

@@ -391,13 +391,31 @@ Translator *SelectTranslator(const char *name)
tr = new Translator();
tr->charset_a0 = charsets[4]; // ISO-8859-4, includes a,e,i,o,u-macron
tr->langopts.stress_rule = 2;
tr->langopts.stress_flags = 0x21;
tr->langopts.stress_flags = 0x20;
tr->langopts.unstressed_wd1 = 0;
tr->langopts.unstressed_wd2 = 2;
tr->langopts.param[LOPT_DIERESES] = 1;
}
break;

case L('m','k'): // Macedonian
{
static wchar_t vowels_cyrillic[] = {0x430,0x435,0x438,0x439,0x43e,0x443,0x44b,0x44d,0x44e,0x44f,0x450,0x451,0x456,0x457,0x45d,0x45e,0};
static int stress_amps_mk[8] = {16,16, 20,20, 20,24, 24,22 };
static int stress_lengths_mk[8] = {180,160, 200,200, 0,0, 220,230};

tr = new Translator();
SetupTranslator(tr,stress_lengths_mk,stress_amps_mk);
tr->charset_a0 = charsets[2]; // ISO-8859-2
tr->letter_groups[0] = vowels_cyrillic;

tr->langopts.stress_rule = 4; // antipenultimate
tr->langopts.numbers = 0x0c29 + 0x84000;
tr->langopts.numbers2 = 0xa; // variant numbers before thousands,milliards
}
break;


case L('n','l'): // Dutch
{
static const int stress_lengths_nl[8] = {160,135, 210,210, 0, 0, 260,280};

+ 6
- 6
src/tr_languages.h View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,14 +13,14 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/





class Translator_English: public Translator
{//=======================================


+ 29
- 10
src/translate.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005, 2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/

#include "StdAfx.h"

#include <stdio.h>
@@ -922,8 +922,22 @@ strcpy(phonemes2,phonemes);
{
if((langopts.param[LOPT_PREFIXES]) || (prefix_type & SUFX_T))
{
char *p;
// German, keep a secondary stress on the stem
SetWordStress(phonemes,dictionary_flags,3,0);

// reduce all but the first primary stress
ix=0;
for(p=prefix_phonemes; *p != 0; p++)
{
if(*p == phonSTRESS_P)
{
if(ix==0)
ix=1;
else
*p = phonSTRESS_3;
}
}
strcpy(word_phonemes,prefix_phonemes);
strcat(word_phonemes,phonemes);
SetWordStress(word_phonemes,dictionary_flags,-1,0);
@@ -1421,7 +1435,8 @@ int Translator::TranslateWord2(char *word, WORD_TAB *wtab, int pre_pause, int ne
{
if(first_phoneme && langopts.param[LOPT_IT_DOUBLING])
{
if((prev_dict_flags & FLAG_DOUBLING) || (end_stressed_vowel && (langopts.param[LOPT_IT_DOUBLING] == 2)))
if(((prev_dict_flags & FLAG_DOUBLING) && (langopts.param[LOPT_IT_DOUBLING] & 1)) ||
(end_stressed_vowel && (langopts.param[LOPT_IT_DOUBLING] & 2)))
{
// italian, double the initial consonant if the previous word ends with a
// stressed vowel, or is marked with a flag
@@ -1534,7 +1549,7 @@ int Translator::TranslateChar(char *ptr, int prev_in, int c, int next_in, int *i
// To allow language specific examination and replacement of characters

const wchar_t *p;
unsigned int new_c;
unsigned int new_c, c2;
int upper_case = 0;

if(c == 0) return(0);
@@ -1555,8 +1570,12 @@ int Translator::TranslateChar(char *ptr, int prev_in, int c, int next_in, int *i
new_c = langopts.replacement_chars[p - langopts.replace_chars];
if(new_c & 0xffe00000)
{
// there is a second character to be inserted (don't convert the case of the second character)
*insert = (new_c >> 16);
// there is a second character to be inserted
// don't convert the case of the second character unless the next letter is also upper case
c2 = new_c >> 16;
if(upper_case && iswupper(next_in))
c2 = towupper(c2);
*insert = c2;
new_c &= 0xffff;
}
#ifndef PLATFORM_RISCOS

+ 7
- 7
src/translate.h View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,11 +13,11 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/


#define L(c1,c2) (c1<<8)+c2 // combine two characters into an integer for translator name

#define CTRL_EMBEDDED 0x01 // control character at the start of an embedded command
@@ -290,7 +290,7 @@ typedef struct {
// bits13-15 post-decimal-digits 0=single digits, 1=(LANG=it) 2=(LANG=pl) 3=(LANG=ro)
// bit16=dot after number indicates ordinal
// bit18=special word for 100,000s LANG=sw
// bit19=(LANG=pl)
// bit19=(LANG=pl) two forms of plural, M or MA

int numbers;


+ 6
- 6
src/transldlg.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,12 +13,12 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/



#include "wx/wx.h"



+ 6
- 6
src/voice.h View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,12 +13,12 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/



typedef struct {
char name[40];


+ 6
- 6
src/voicedlg.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005, 2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,11 +13,11 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/


#include "wx/wx.h"



+ 13
- 13
src/voices.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/

#include "StdAfx.h"

#include "stdio.h"
@@ -684,12 +684,12 @@ voice_t *LoadVoice(const char *vname, int control)
case V_PITCH:
{
double factor;
// default is pitch 82 118
n = sscanf(p,"%d %d",&pitch1,&pitch2);
voice->pitch_base = (pitch1 - 9) << 12;
voice->pitch_range = (pitch2 - pitch1) * 108;
factor = float(pitch1 - 82)/82;
voice->formant_factor = (1+factor/4) * 256;
// default is pitch 82 118
n = sscanf(p,"%d %d",&pitch1,&pitch2);
voice->pitch_base = (pitch1 - 9) << 12;
voice->pitch_range = (pitch2 - pitch1) * 108;
factor = double(pitch1 - 82)/82;
voice->formant_factor = (int)((1+factor/4) * 256); // nominal formant shift for a different voice pitch
}
break;

@@ -807,7 +807,7 @@ voice_t *LoadVoice(const char *vname, int control)
voice->breath[0] = Read8Numbers(p,&voice->breath[1]);
for(ix=1; ix<8; ix++)
{
if(ix & 1)
if(ix % 2)
voice->breath[ix] = -voice->breath[ix];
}
break;

+ 6
- 6
src/vowelchart.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,11 +13,11 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/


#include <math.h>
#include "wx/wx.h"
#include <wx/dcmemory.h>

+ 1
- 1
src/wave.cpp View File

@@ -4,7 +4,7 @@
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *

+ 9
- 10
src/wavegen.cpp View File

@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005, 2006 by Jonathan Duddington *
* [email protected] *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/

#include "StdAfx.h"

// this version keeps wavemult window as a constant fraction
@@ -1050,8 +1050,6 @@ void SetBreath()
} // end of SetBreath


#define getrandom(min,max) ((rand()%(int)(((max)+1)-(min)))+(min))

int ApplyBreath(void)
{//==================
int noise;
@@ -1059,13 +1057,14 @@ int ApplyBreath(void)
int amp;
int value = 0;

noise = getrandom(-4095,4095);
// use two random numbers, for alternate formants
noise = (rand() & 0x3fff) - 0x2000;

for(ix=1; ix < N_PEAKS; ix++)
{
if((amp = wvoice->breath[ix]) != 0)
{
amp *= (peaks[ix].height >> 13);
amp *= (peaks[ix].height >> 14);
value += int(resonator(&rbreath[ix],noise) * amp);
}
}

+ 3
- 2
windows/make_espeak.iss View File

@@ -2,7 +2,7 @@
[Setup]
AppName=eSpeak
AppVerName=eSpeak version 1.26.10
AppVerName=eSpeak version 1.27
DefaultDirName={pf}\eSpeak
DefaultGroupName=eSpeak
OutputBaseFilename=setup_espeak
@@ -63,7 +63,7 @@ v3=Enter voice names, eg: (for Portuguese) pt, or with a variant, eg: pt+13
pt.v1=Seleccione as vozes que pretende instalar
pt.v2=ou precione enter para aceitar as predefinidas.
pt.v3=Introduza os nomes das vozes, ex: (Brazil) pt (ou Portugal) pt-pt, ou com outras características, ex: pt+13
pt.v3=Introduza os nomes das vozes, ex: (Brazil) pt (ou Portugal) pt-pt, ou com outras caracter�sticas, ex: pt+13
@@ -96,6 +96,7 @@ begin
$0b: Result := 'fi';
$0c: Result := 'fr';
$0e: Result := 'hu';
$0f: Result := 'is';
$10: Result := 'it';
$13: Result := 'nl';
$14: Result := 'no';

+ 1
- 1
windows/make_espeakedit.iss View File

@@ -1,7 +1,7 @@
[Setup]
AppName=eSpeakEdit
AppVerName=eSpeakEdit version 1.26.10
AppVerName=eSpeakEdit version 1.27
DefaultDirName={pf}\eSpeak
DefaultGroupName=eSpeak
OutputBaseFilename=setup_espeakedit

+ 0
- 0
windows/windows_sapi/ttsengobj.cpp View File


Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save