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

_9X 'ne@x2@ntIx2 _9X 'ne@x2@ntIx2
_0C 'hOn@rt _0C 'hOn@rt
_0M1 'd'Yys@nt _0M1 'd'Yys@nt
_0M2 'mIljun _0M2 mIlj'un
_0M3 mIlj'art _0M3 mIlj'art
_0and _!En _0and _!En
_dpt 'pWnt _dpt 'pWnt
ceylon s@lOn ceylon s@lOn
china S'ina china S'ina
engeland 'EN@lant engeland 'EN@lant
jerusalem j@r'ysalEm
kanada kanad%a kanada kanad%a
kongo kONgu kongo kONgu
mesopotamië mEsuput'A:mi@ mesopotamië mEsuput'A:mi@


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




// conjunctions and questions // conjunctions and questions
ondanks 'OndaNks $pause ondanks 'OndaNks $pause
verder f'&rd@r $pause verder f'&rd@r $pause
nogtans $pause nogtans $pause
inteendeel $2 $pause
intussen $pause intussen $pause
omdat $pause omdat $pause
sodat $pause sodat $pause


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


cabernet kab@rn'eI
camembert kam@mb'&:r
dadelik dA:d@lIk dadelik dA:d@lIk
darem dar@m darem dar@m
derde d&:rd@ derde d&:rd@
figuur f@x2yr figuur f@x2yr
finalis $3 finalis $3
finaliste $3 finaliste $3
frontaal $2
frontale $2


garages g@rA:dZ@s garages g@rA:dZ@s
gawes x2A:v@s
gee x2e@ gee x2e@
geen x2e@n geen x2e@n
gegewens x2@x2e@v@ns gegewens x2@x2e@v@ns
//gesamentlik x2@sA:m@ntl@k //gesamentlik x2@sA:m@ntl@k
gooi x2OI gooi x2OI
gomorra x2@mOra gomorra x2@mOra
graffiti graf'iti


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


idee $2 idee $2
ietwat itvat ietwat itvat
intens @nt'Ens intens @nt'Ens
intensiteit $4 intensiteit $4


joernalis $3 jawoord jA:vo@rt




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


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


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


oeuvre W:vr@
omtrent Omtr'Ent omtrent Omtr'Ent
onbegrip $1 onbegrip $1
onderweg $3 onderweg $3
ongewensde $3 ongewensde $3
ongewoons $1 ongewoons $1
onkunde $1 onkunde $1
onlangs $1
onmag $1 onmag $1
onmin $1 onmin $1
onraad $1 onraad $1
penorent pEno@rEnt penorent pEno@rEnt
per pIr per pIr
persent p@rsEnt persent p@rsEnt
prakseer $2
program prux2r'am program prux2r'am


reeds re@ts reeds re@ts
waarskynlik $2 waarskynlik $2
waarskynlike $2 waarskynlike $2
wangedrag vanx2@drax2 wangedrag vanx2@drax2
weergalm $2
weerklink $2
weg v&x2 weg v&x2
weggewens v&x2@v'E:ns 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

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


// misc // misc
geben ge:b@n geben ge:b@n
gebt ge:bt gebt ge:bt
gegenüber ge:g@n'y:b3 gegenüber ge:g@n'y:b3
geglichen g@glIC@n
gemein g@maIn gemein g@maIn
genial ge:nI'al genial ge:nI'al
geranie ge:*'A:nI@ geranie ge:*'A:nI@
grazie $alt grazie $alt


handy handI handy handI
häuschen hOYsC@n
hausier haUz'i:*
heimat haImat heimat haImat
herberg hE*bE*g herberg hE*bE*g
historie $alt historie $alt
inkonstant $1 inkonstant $1
insbesondere $3 insbesondere $3
interess Int@*'Es interess Int@*'Es
intern Int'E*n


januar janu:A:* januar janu:A:*




sabbat zabat sabbat zabat
sagt zA:gt sagt zA:gt
salopp $2
schult Su:lt
selbst zElpst selbst zElpst
serie se:*I;@ serie se:*I;@
service sE*vIs service sE*vIs
system z%IstEm system z%IstEm


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


umweg $1
unten Unt@n 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 woher vo:h'e:r


verein fE*'aIn verein fE*'aIn

+ 60
- 15
dictsource/de_rules View File


// ***************************************************************************
// * Copyright (C) 2006 to 2007 by Jonathan Duddington *
// * email: jonsd@users.sourceforge.net *
// * *
// * 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 // This file is UTF-8 encoded


.group a .group a
a (isier a a (isier a
_) achs (@P4 'aks _) achs (@P4 'aks
_) achs (el 'aks _) achs (el 'aks
j) ag (d A:k
_) air _^_EN _) air _^_EN
ai (sch A:I ai (sch A:I
tr) ain En tr) ain En
&) erin (_ @*In &) erin (_ @*In
&) erisch (_ @*IS &) erisch (_ @*IS
@) es (_S2 @s @) es (_S2 @s
&) et (_ @t &) et (_S2 @t
ig) et (_S2 @t
&t) et (_S2 @t
ier) et (_S2 @t
&) est (_S3 @st &) est (_S3 @st
&) este (_S4 @st@ &) este (_S4 @st@
&) estem (_S5 @st@m &) estem (_S5 @st@m
&) erung (_ =@*UN &) erung (_ =@*UN


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


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

schwer Sve:* schwer Sve:*
_) sechs (P5 z'Eks _) sechs (P5 z'Eks
_) selbst (@@P6 z'Elpst _) selbst (@@P6 z'Elpst
ier) testes (_S6 t@st@s ier) testes (_S6 t@st@s


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


.group u .group u
ub (t_ u:p ub (t_ u:p
ug (t_ u:k ug (t_ u:k


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


us (_ Us us (_ Us
_d) u (sch u: _d) u (sch u:
_) user _^_EN _) user _^_EN
ol) u (t_ u: Al) u (t_ u:


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


v) v v) v
v (_N f v (_N f


_) v f
_) vie fi: _) vie fi:
_) vi (CC vI _) vi (CC vI
_) vi vi: _) vi vi:
_) v (ie f _) v (ie f
_) v (iet v _) v (iet v
_) v (iz f _) v (iz f
_) v (oll f v (oll f
_) v (olk f v (olk f
v (ölC f
_) v (on f _) v (on f


_) vehe ve:he: _) vehe ve:he:
_) ver (@P3 f%E* _) ver (@P3 f%E*
_) ver (bal v%E* _) ver (bal v%E*
_) ver (tik vE*
@) versich fE*z,IC @) versich fE*z,IC
@) vergess fE*g,Es @) vergess fE*g,Es
_) viel (@P4 f'i:l _) viel (@P4 f'i:l
_) wh _^_EN _) wh _^_EN
&) ware (_ _^_EN &) ware (_ _^_EN
_) wasch (@P5 v'aS _) 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: _) wo (hin v%o:
_) wohl (@P4 v'o:l _) wohl (@P4 v'o:l
work _^_EN work _^_EN
üg (t_ y:k üg (t_ y:k


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


.group ß .group ß
_) ß (_ EstsEt _) ß (_ EstsEt

+ 14
- 14
dictsource/dict_phonemes View File



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




Dictionary cs_dict Dictionary cs_dict


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


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




Dictionary hi_dict Dictionary hi_dict
@- a a/ aI aU e E i @- a a/ aI aU e E i
o O oI u o O oI u


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




Dictionary nl_dict Dictionary nl_dict
I i: O o: OI U u: y I i: O o: OI U u: y
y: y:


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




Dictionary sr_dict Dictionary sr_dict

+ 1
- 0
dictsource/en_list View File

uk $abbrev uk $abbrev
url $abbrev url $abbrev
usa $abbrev usa $abbrev
utc $abbrev
u.s ju:'Es u.s ju:'Es
wwii dVb@Lju:dVb@Lju:t'u: wwii dVb@Lju:dVb@Lju:t'u:
xy $abbrev xy $abbrev

+ 5
- 6
dictsource/en_rules View File



// *************************************************************************** // ***************************************************************************
// * Copyright (C) 2005,2006 by Jonathan Duddington * // * Copyright (C) 2005 to 2007 by Jonathan Duddington *
// * jonsd@users.sourceforge.net * // * email: jonsd@users.sourceforge.net *
// * * // * *
// * This program is free software; you can redistribute it and/or modify * // * 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 * // * 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. * // * (at your option) any later version. *
// * * // * *
// * This program is distributed in the hope that it will be useful, * // * This program is distributed in the hope that it will be useful, *
// * GNU General Public License for more details. * // * GNU General Public License for more details. *
// * * // * *
// * You should have received a copy of the GNU General Public License * // * You should have received a copy of the GNU General Public License *
// * along with this program; if not, write to the * // * along with this program; if not, write see: *
// * Free Software Foundation, Inc., * // * <http://www.gnu.org/licenses/>. *
// * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
// ***************************************************************************/ // ***************************************************************************/


// This file is UTF-8 encoded // This file is UTF-8 encoded

+ 39
- 33
dictsource/fr_list View File





// character names // 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 //_cap k,ap@-t@L
_?A lEt@ _?A lEt@
_?? sE~b'OL _?? sE~b'OL


! Eksklamassj'O~
_" gijm'E _" gijm'E
_# dj'Ez _# dj'Ez
_$ dOl'aR
_% puRs'A~
_& e
_' apOstR'Of _' apOstR'Of
_( 'uvR@-paRA~t'Ez _( 'uvR@-paRA~t'Ez
_) f'ERm paRA~t'Ez _) f'ERm paRA~t'Ez
_* astERisk: _* astERisk:
_+ plys
_, viRg'yl _, viRg'yl
_- tiR'E _- tiR'E
_. pw'E~ _. pw'E~
_= eg'al _= eg'al
_> sypeRj'WR _> sypeRj'WR
_? kEstj'O~ _? kEstj'O~
_@ at
_[ uvR@-_kRoS'E _[ uvR@-_kRoS'E
_\ b'aksl'aS _\ b'aksl'aS
_] f'ERm_kRoS'E _] f'ERm_kRoS'E
_{ uvR_akOl'ad _{ uvR_akOl'ad
_| b'aR _| b'aR
_} f'ERm_akOl'ad _} 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






sommes $u+ sommes $u+
êtes $u+ êtes $u+
sont $u+ sont $u+
eu y
eue y
eues y


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




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


(nord est) nOREst (nord est) nOREst
écho Eko écho Eko
l'écho leko l'écho leko
open OpEn cci $abbrev
espeak ispik espeak ispik
nvda $abbrev nvda $abbrev
open Op'@n
outlook autluk outlook autluk
reader Rid'WR
potentiomètre pOtA~sjOmEtR potentiomètre pOtA~sjOmEtR
reader Rid'WR


processus pROsEsys processus pROsEsys


emacspeak Emakspik emacspeak Emakspik
espeak @spik espeak @spik
firefox faj@RfOks firefox faj@RfOks
thunderbird f@ndErb@Rd thunderbird f@ndERb@Rd
girl g@Rl girl g@Rl
gnome gnom gnome gnom
gnu gnu gnu gnu
liszt list liszt list
(mac os x) makoEsiks (mac os x) makoEsiks
night najt night najt
redhat rEdat redhat REdat
schubert SubER schubert SubER
sun s@n sun s@n
sunlight s@nlajt sunlight s@nlajt
viavoice viavOjs viavoice viavOjs
windows windoz windows windoz
word wORd word wORd
wright wrajt wright _^_EN
yacht jot yacht jot






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



+ 0
- 2
dictsource/fr_rules View File





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

+ 22
- 12
dictsource/hu_list View File

// Translations for Hungarian words
// This file is UTF-8 encoded.

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



// Numbers // Numbers


ú.n u:JnEvEzEt: $dot ú.n u:JnEvEzEt: $dot
vö v'EZd||_'Yss2E vö v'EZd||_'Yss2E


?1 i EJ $abbrev
ii kEttY: $abbrev ii kEttY: $abbrev
iii ha:R2om $abbrev iii ha:R2om $abbrev
iv ne:J $abbrev iv ne:J $abbrev




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


habár $pause // although habár $pause // although


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




// Prepositions etc. // Prepositions etc.
néhány $u+ néhány $u+
is $u // also is $u // also


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


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


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


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


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


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


be $u be $u
ra $u // onto ra $u // onto
re $u re $u
ik $u ik $u // -th
as $u as $u
es $u es $u
os $u os $u
ös $u ös $u
ból $u // from inside ból $u // from inside
ből $u ből $u
ról $u ról $u // from top of, about
ről $u ről $u
án $u án $u
én $u én $u


ban $u // in ban $u // in
ben $u ben $u
hoz $u hoz $u // to
hez $u hez $u
höz $u höz $u
ig $u // up to ig $u // up to
@ kukAts @ kukAts
€ EuR2o € EuR2o
+ plus + plus
§ pR2AR2AgR2AfuS § pAR2AgR2AfuS
Ft foR2int
$ dolla:R2







+ 9
- 31
dictsource/hu_rules View File



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

.group c .group c
c ts c ts
cc ts: cc ts:
C) dj J C) dj J
A) dj (A J: A) dj (A J:


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




.group e .group e
A) gys (A tS: A) gys (A tS:
gysz Js gysz Js
A) gysz (A Js: A) gysz (A Js:
gyz dz
A) gyz (A d:z
C) gyzs dZ
A) gyzs (A dZ:
C) gyj J C) gyj J
A) gyj (A J: A) gyj (A J:


_e) gy (üt J: _e) gy (üt J:
_minde) gy (ik J: _minde) gy (ik J:


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




.group h .group h
h h h h
h (_


.group i .group i
i i i i


.group j .group j
j j j j
C) j (K C


.group k .group k
k k k k
l l l l
ly j ly j
lly jj lly jj
lj lj


C) ly (_ li C) ly (_ li
_kéth) ly li _kéth) ly li
n n n n
n (g N n (g N
n (k N n (k N
n (p m
n (b m
ny n^ ny n^
nny n^n^ nny n^n^
nj n^ nj n^


ny (k N
ny (g N


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


.group p .group p
p p p p
pp p: pp p:
p (v p_


.group q .group q
q kv q kv
sz (öld Sz sz (öld Sz
va) s (zabl S|| va) s (zabl S||
_) semmelweiss sEmmElvEjs _) semmelweiss sEmmElvEjs
_) semmelweis sEmmElvEjs
_) semmelweiß sEmmElvEjs
engel) s s engel) s s
mu) ss (olini ss2 mu) ss (olini ss2
_) saar sa:R2 _) saar sa:R2
t t t t
tt t: tt t:
ty c ty c
s) ty c: // // s) ty c: //
z) ty c: // keztyű // z) ty c: // keztyű
tty c: 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 C) tj c
A) tj (A c: A) tj (A c:
C) tyj c C) tyj c


.group v .group v
v v v v
_) versailles vER2sa:j


.group w .group w
w v w v

+ 63
- 46
dictsource/it_rules View File





.group a .group a
_) a(_ a: _) a(_ a
a a: a a:
a (CK a a (CK a
ai aI (K ai aI (K


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


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


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

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

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


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


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


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




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


@A) f (ico_ =f @A) f (ico_ =f
@A) f (ichA_ =f
@A) f (ilo_ =f @A) f (ilo_ =f
@A) f (ero_ =f @A) f (ero_ =f
.group g .group g
_) g(_ dZi: _) g(_ dZi
g g g g
gg g: gg g:
gh g gh g
g (è dZ g (è dZ
g (i dZ g (i dZ
g (ì dZ g (ì dZ
gi (a dZ gi (a dZj
gi (à dZ gi (à dZj
gi (o dZ gi (o dZj
gi (ò dZ gi (ò dZj
gi (u dZ gi (u dZj
gi (ù dZ gi (ù dZj
gg (e dZ: gg (e dZ:
gg (é dZ: gg (é dZ:
gg (è dZ: gg (è dZ:
ggi (ò dZ: ggi (ò dZ:
ggi (u dZ: ggi (u dZ:
ggi (ù dZ: ggi (ù dZ:
@) gger (lo_ =dZ:eR
gl (i l^ gl (i l^
gl (ì l^ gl (ì l^
gli (A l^ gli (A l^
gu (A gw gu (A gw


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


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


.group i .group i
_) i(_ i: _) i(_ i
i i: i i:
i (CK i i (CK i
i (A j i (A j


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


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


.group j .group j
.group m .group m
_) m(_ Emme _) m(_ Emme
m m m m
A) mi (a m'i:
@) mi (co_ m'i:
.group n .group n
_) n(_ Enne _) n(_ Enne
n (k N n (k N
.group o .group o
_) o(_ O: _) o(_ o
o o: o o:
o (CK o o (CK o
oi oI (K oi oI (K
@) o (fono_ 'O @) o (fono_ 'O
@) o (metro_ 'O @) o (metro_ 'O
@) o (logo_ 'O @) o (logo_ 'O
o (str 'O
@) o (lo_ =o


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


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


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


l) s s l) s s
p) s s p) s s
sc (è S sc (è S
sc (i S sc (i S
sc (ì S sc (ì S
A) sc (e SS // A) sc (e SS
A) sc (é SS // A) sc (é SS
A) sc (è SS // A) sc (è SS
A) sc (i SS // A) sc (i SS
A) sc (ì SS // A) sc (ì SS
sch (e sk sch (e sk
sch (é sk sch (é sk
sch (è sk sch (è sk
sch (ì sk sch (ì sk
sh (K S // foreign words sh (K S // foreign words
K) sh S // foreign words K) sh S // foreign words
@) sia s'ia
.group t .group t
_) t(_ ti: _) t(_ ti
t t t t
tt t: tt t:
.group u .group u
_) u(_ u: _) u(_ u
u u: u u:
u (CK u u (CK u
u (A w2 u (A w2
@) u (colo_ 'u @) u (colo_ 'u


.group v .group v
_) v(_ vu: _) v(_ vu
v v v v
.group w .group w
.group z .group z
_) z(_ ze:ta _) z(_ dze:ta
z ts z ts
A) z ts:
A) zz ts: A) zz ts:


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


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

+ 296
- 66
dictsource/la_list View File

// 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 // Letter names
y i: 'graIka y i: 'graIka
z 'ze:ta z 'ze:ta






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


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

ib 'Ibi:||d,Em //ibīdem
//(D. O. M.) = Deo Optimo Maximo (op tempels); ibd 'Ibi:||d,Em //ibīdem
//(D. D.) = dono of donum dedit (bij geschenken voor de goden); Idib 'i:dIbUs //Īdibus, from Īdūs
//(D. D. D.) = dat, donat, dedicat of dat, dicat, dedicat (bij geschenken voor de goden); Idq i:d'EmkwE //īdemque
//(E. M. V.) = egregiae memoriae vir; (i. e.) ,Id||Est //id est
//(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.




// FUNCTION WORDS // 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 a $u
ac $u
ad $u ad $u
ab $u ab $u
in $u in $u
cum $u cum $u
e $u e $u
ex $u ex $u
inter $u ante $u
apud $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 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 // forms of esse


estis $u estis $u
sunt $u sunt $u


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


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


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


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


fuero $u fuerō $u
fueris $u fuerīs $u
fuerit $u fuerit $u
fuerimus $u fuerīmus $u
fueritis $u fuerītis $u
fuerunt $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

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

lopes $alt lopes $alt
jogos $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] // Open [E]
nela n'El& nela n'El&
nessa n'Es& nessa n'Es&
era 'E*& ?1 era 'Er&
?2 era 'E*&


abacaxi abakaSi abacaxi abakaSi
axé aSE axé aSE








+ 65
- 51
dictsource/pt_rules View File

c (c //drop “c” in European Portuguese (eg: seleccionar) c (c //drop “c” in European Portuguese (eg: seleccionar)
?1 A) ct t //drop “c” in European Portuguese (eg: exacto) ?1 A) ct t //drop “c” in European Portuguese (eg: exacto)
?1 A) cç s //drop “c” in European Portuguese (eg: selecção) ?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 .group d
e (bem_ E e (bem_ E
e (bes_ E e (bes_ E


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


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


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


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


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


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


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


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


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






eu (s eU eu (s eU
e (uCK e e (uCK e


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


?1 _) es (C@@ S // drop initial "e". ?1 _) es (C@@ S // drop initial "e".
?1 _) e (f i // efectuar, etc. ?1 _) e (f i // efectuar, etc.
?1 C) e (o 'i // eg: geologia, etc... ?1 C) e (o 'i // eg: geologia, etc...
?1 C) e (ú i // conteúdo, etc. ?1 C) e (ú i // conteúdo, etc.
?1 Cã) e j // cães, mãe, 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 (fici y // deficiênte, deficiência, etc...
?1 _d) e (fini y //definições. ?1 _d) e (fini y //definições.
?1 _d) e (slig y // desligar. ?1 _d) e (slig y // desligar.
?1 _f) e (ch y // fechar ?1 _f) e (ch y // fechar
?1 _p) e (rcentag y // percentagem ?1 _p) e (rcentag y // percentagem
?1 p) e (ssoa y //pessoal, pessoais, etc. ?1 p) e (ssoa y //pessoal, pessoais, etc.
?1 pr) e (cis y // precisar
?1 pr) e (f y // preferências, etc. ?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 (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 _v) e (loci y // velocidade
?1 _f) e (rramenta y // ferramenta, ferramentas. ?1 _f) e (rramenta y // ferramenta, ferramentas.
?1 _p) e (squ y // pesquisar ?1 _p) e (squ y // pesquisar
gu (Y g gu (Y g
?1 guen (C gw'eIN // aguenta, etc. ?1 guen (C gw'eIN // aguenta, etc.
?1 n) gu (A gw // eg: língua, 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 .group h
oy OI oy OI


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


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


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


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


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


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




.group ô .group ô
qu (K ku qu (K ku
?1 _) qua kwa // quatro, etc. ?1 _) qua kwa // quatro, etc.
?1 _) que ke // quente, 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 C) quen (C kw'eIN // cinquenta, etc.
?1 A) quen (C kw'eIN // frequência, etc. ?1 A) quen (C kw'eIN // frequência, etc.
?1 quec kes // esquece, etc. ?1 quec kes // esquece, etc.
A) x (A ks A) x (A ks
_e) x (A z _e) x (A z
e) x (A ks e) x (A ks
?1 e) x (CA S // eg: texto, contexto, etc… ?1 e) x (CA S
ai) x (A S ai) x (A S
ei) x (A S ei) x (A S
au) x s au) x s
ale) x (a S ale) x (a S
pro) x (i s // aproximado, aproximadamente, aproximar, etc. pro) x (i s // aproximado, aproximadamente, aproximar, etc.
pró) x (i s // próximo, etc. pró) x (i s // próximo, etc.
?1 i) x (a_ S
?1 i) x (as_ S






.group y .group y
ç s ç s
_) ç (_ s'esed'il^& _) ç (_ s'esed'il^&



ü u ü u

ß s ß s


% pors'eNtu % pors'eNtu








+ 14
- 5
dictsource/ro_list View File



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


// Letters // Letters
y 'igrek y 'igrek
z zet z zet


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


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




// numeric // numeric
sunteţi $u1+ sunteţi $u1+
sunt $u+ sunt $u+
e je $u e je $u
e e $atend
fost $u+ // been fost $u+ // been
eram je*am $u2+ // was eram je*am $u2+ // was
erai je*aI $u2+ erai je*aI $u2+
zarzări $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

ăi (t_ @'i ăi (t_ @'i
ăi (ţi_ @'i ăi (ţi_ @'i


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



.group â .group â
â y â y
@@) cole (_S1t e @@) cole (_S1t e




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


.group d .group d
d d d d
@) d (i_ d; @) d (i_ d;
&) ea (_S2q ea &) ea (_S2q ea
&) eSi eaj &) eSi eaj
eau eaw eau eaw
eo eo
e (AAA e


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


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

r) ei (er_ 'eI

@) e (re_ =e @) e (re_ =e
@) e (ri_ =e @) e (ri_ =e
@) e (rea_ =e @) e (rea_ =e
i) e (ri_ e i) e (ri_ e
i) e (rea_ 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 .group f
f f f f
@) f (i_ f; @) f (i_ f;
&C) i (_N$1q i/ &C) i (_N$1q i/
&) i (_N$1q i &) i (_N$1q i
&) i (-N$1q i // don't reduce to [I^] if a hyphen follows &) i (-N$1q i // don't reduce to [I^] if a hyphen follows
ţ) i (-Că i
ţ) i (-Că i ţ) i (-Ci i
ţ) i (-Ci i &') i (_ i
&') i (_ i
ţi-) i (_ _ // combined with previous word as [iI] ţi-) i (_ _ // combined with previous word as [iI]
Cr) i (_ i Cr) i (_ i
V&) i (_ 'i // verb V&) i (_ 'i // verb
ăC) ia (_ 'ia ăC) ia (_ 'ia
âC) ia (_ 'ia âC) ia (_ 'ia
ăC) ie (_ 'ie
ăC) ie (_ 'ie
âC) ie (_ 'ie âC) ie (_ 'ie
@) ie (_S1q ie @) ie (_S1q ie
iei (_ 'ieI
iei (_ 'ieI
ii iI ii iI
&) ii (_S2q iI &) ii (_S2q iI
iii iji iii iji
&) ice (_ =itSe &) ice (_ =itSe
&) icile (_ =itSile &) icile (_ =itSile
&) icilor (_ =itSilor &) icilor (_ =itSilor
@) icii (_ =itSiI @) icii (_ =itSiI


&) ing (_ %iNg // foreign words &) ing (_ %iNg // foreign words


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




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





@) î (_ 'y

.group j .group j
j Z j Z
@) j (i_ Z; @) j (i_ Z;
&) logi (A_ lodZ'i &) logi (A_ lodZ'i
&) logii (_ lodZ'iI &) logii (_ lodZ'iI



.group m .group m
_) m (_ me _) m (_ me
m m m m
-) mi (_ mi/ -) mi (_ mi/





.group n .group n
_) n (_ ne _) n (_ ne
n n n n
@) n (ic_ =n @) n (ic_ =n
_) n (-a n _) n (-a n


-) n (_ n




-) n (_ n
.group o .group o
o o o o
oa Oa oa Oa
ou (_ 'oU ou (_ 'oU
o (AAA o 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 .group p
p p p p
@) p (i_ p; @) p (i_ p;
@u) rile (_S4t rile @u) rile (_S4t rile
@) rilor (_S5t rilor @) 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 .group s
_) s (_ se _) s (_ se
_) s (-a s _) s (-a s


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





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


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





@) şni (_ Sn'i
-) şi (_ SI^
.group t .group t
t t t t
tt (_ t tt (_ t


-) ţi (_ ts;i/ -) ţi (_ ts;i/



.group u .group u
u u u u
u (A w u (A w
ui (m_ u'i ui (m_ u'i
ui (t_ u'i ui (t_ u'i
ui (ţi_ u'i ui (ţi_ u'i
ui (se_ u'i
ui (se_ u'i &) ul (_S2t ul
&) ul (_S2t ul


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




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


, (D v'irgul@ , (D v'irgul@


*) * (* *) * (*
** **
**) * (_ _:: **) * (_ _::




+ 6
- 7
docs/add_language.html View File

<HTML> <HTML>
<HEAD> <HEAD>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8"> <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
<TITLE></TITLE> <TITLE>eSpeak: Adding a Language</TITLE>
</HEAD> </HEAD>
<BODY LANG="en-GB" DIR="LTR"> <BODY LANG="en-GB" DIR="LTR">
<A href="docindex.html">Back</A> <A href="docindex.html">Back</A>
<p><li>Improve the sounds of the phonemes. This may consist of making small adjustments to vowel and diphthong quality, <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 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. 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. 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, <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. 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 <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. characteristics of the language which are not currently implemented. For example, a different intonation module.
</ul> </ul>
If you are interested in working on a language, please contact me to set up the initial data and to <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. discuss the features of the language.</em></b>
<HR> <HR>
<H3>6.1 Language Code</H3> <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 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; 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 (English) is used as an example. Replace this with the code of your
program compiles the phonemes files to produce the files program compiles the phonemes files to produce the files
<B>espeak-data/phontab</B>, <B>phonindex</B>, and <B>phondata.</B><P> <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 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 For an initial draft a language will often be able to use vowels and
consonants which have already been set up for another language. consonants which have already been set up for another language.
<HR> <HR>
from the base translator class, but allows you to replace these where from the base translator class, but allows you to replace these where
needed by new functions which are written specially for this needed by new functions which are written specially for this
language.</P> language.</P>
<hr>


</BODY> </BODY>
</HTML> </HTML>

+ 2
- 2
docs/commands.html View File

<strong>-s &lt;integer&gt;</strong><br> <strong>-s &lt;integer&gt;</strong><br>
<dd>Sets the speed in words-per-minute (approximate values for the default voice, others may <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 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> <p>
<dt> <dt>
<strong>-b</strong><br> <strong>-b</strong><br>
<p> <p>
<dt> <dt>
<strong>--stdout</strong><br> <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> <p>
<dt><strong>--compile[=&lt;voice name&gt;]</strong><br> <dt><strong>--compile[=&lt;voice name&gt;]</strong><br>
<dd> <dd>

+ 2
- 2
docs/dictionary.html View File

A word (or group of words) may be given one or more flags, either instead of, or as well as, the phonetic translation. 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> <ul><table>
<tbody> <tbody valign="top">
<tr> <tr>
<td>$u</td> <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> <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>
<td>&nbsp;</td> <td>&nbsp;</td>
</tr> </tr>
<tr> <tr>
<td>$1</tr> <td>$1</td>
<td>Primary stress on the 1st syllable.</td> <td>Primary stress on the 1st syllable.</td>
</tr> </tr>
<tr> <tr>

+ 0
- 37
docs/download.html View File

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

<h1>eSpeak text to speech</h1></div> <h1>eSpeak text to speech</h1></div>
<div align="center"> <div align="center">
(email) &nbsp; jonsd at users dot sourceforge.net<br> (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/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> </div>
</td> </td>
</tr> </tr>
<p> <p>
<A href="docindex.html">Documents</A> <A href="docindex.html">Documents</A>
<p> <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> </strong></font>
</td> </td>
<td> <td>
<p> <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. 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> <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> <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>
This is available as a Windows installer package from the eSpeak <a href="download.html"><strong>Download</strong></a> page.<p> 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. A Windows version of the espeakedit program is also available.


<hr> <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> <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> <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. <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> <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. 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.
<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.
</td> </td>
</tr> </tr>
</tbody> </tbody>

+ 2
- 3
docs/phonemes.html View File

<tr><td><p> <tr><td><p>


<tr><td><code>[O:]</code><td>th<b>ou</b>ght <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> <tr><td><p>




</table> </table>




<hr>

</body> </body>
</html> </html>

+ 19
- 10
docs/speak_lib.h View File

#ifndef SPEAK_LIB_H #ifndef SPEAK_LIB_H
#define SPEAK_LIB_H #define SPEAK_LIB_H
/*************************************************************************** /***************************************************************************
* Copyright (C) 2006 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/






#include <stdio.h> #include <stdio.h>


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

*/
/********************/ /********************/
/* Initialization */ /* Initialization */
/********************/ /********************/
espeakEVENT_MARK, // Mark espeakEVENT_MARK, // Mark
espeakEVENT_PLAY, // Audio element espeakEVENT_PLAY, // Audio element
espeakEVENT_END, // End of sentence 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; } espeak_EVENT_TYPE;




int sample; // sample id (internal use) int sample; // sample id (internal use)
void* user_data; // pointer supplied by the calling program void* user_data; // pointer supplied by the calling program
union { 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 const char *name; // used for MARK and PLAY events. UTF8 string
} id; } id;
} espeak_EVENT; } espeak_EVENT;
#ifdef __cplusplus #ifdef __cplusplus
extern "C" extern "C"
#endif #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. /* 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. output: the audio data can either be played by eSpeak or passed back by the SynthCallback function.




path: The directory which contains the espeak-data directory, or NULL for the default location. 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). Returns: sample rate in Hz, or -1 (EE_INTERNAL_ERROR).
*/ */


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

+ 1
- 0
docs/voices.html View File

</dl> </dl>
For a list of voices provided for English and other languages see <a href="languages.html">Languages</a>. For a list of voices provided for English and other languages see <a href="languages.html">Languages</a>.



</body> </body>
</html> </html>

+ 35
- 36
phsource/compile_report View File

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

BIN
phsource/l/l_2 View File


+ 0
- 1
phsource/ph_afrikaans View File

beforenotvowel l/2 // 'dark' [l] beforenotvowel l/2 // 'dark' [l]
formants l/l formants l/l
after _ l/_l t l/tl after _ l/_l t l/tl
before _ l/l_2
endphoneme endphoneme


phoneme c phoneme c

+ 1
- 1
phsource/ph_croatian View File



phoneme d phoneme d
vcd alv stop 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 vowelout f1=2 f2=1700 -300 300 f3=-100 80
formants d/d+x/d%50 formants d/d+x/d%50
before _ d/d_+x/d_ before _ d/d_+x/d_

+ 0
- 1
phsource/ph_english View File

beforenotvowel l/2 // use 'dark' [l] after a vowel beforenotvowel l/2 // use 'dark' [l] after a vowel
formants l/l formants l/l
after _ l/_l t l/tl after _ l/_l t l/tl
before _ l/l_2
endphoneme endphoneme





+ 59
- 54
phsource/ph_french View File



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


phoneme a phoneme a
vowel starttype (a) endtype (a) vowel starttype (a) endtype (a)
length 160 length 160
formants vowel/a_en formants vowel/a_3
endphoneme endphoneme






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





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






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




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




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




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


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




liquid liquid
length 100 length 100
lengthmod 7 lengthmod 7
beforenotvowel l/ // beforenotvowel l/
formants l/l_2 formants l/l_3
after _ l/_l // after _ l/_l
after t l/tl // after t l/tl
after l/ l/l_long // double l, make it longer after l/ l/l_long // double l, make it longer
endphoneme endphoneme





phoneme r

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




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




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





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




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




endphoneme 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 phoneme k
vls vel stop vls vel stop
endphoneme 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



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






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

+ 17
- 12
phsource/ph_hindi View File



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




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






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




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

+ 1
- 1
phsource/ph_hungarian View File



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



+ 1
- 1
phsource/ph_icelandic View File



phoneme b phoneme b
vls blb stop 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 vowelout f1=2 f2=1000 -300 -300 f3=-300 80 brk
lengthmod 5 lengthmod 5
wave x/b wave x/b

+ 1
- 1
phsource/ph_italian View File



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

+ 0
- 1
phsource/ph_pt_brazil View File

formants l/l formants l/l
after _ l/_l after _ l/_l
after t l/tl after t l/tl
before _ l/l_2
endphoneme endphoneme





+ 1
- 1
phsource/ph_romanian View File

vcd alv flp vcd alv flp
vowelout f1=3 f2=1700 -300 300 f3=-300 80 rms=35 len=15 colr=1 vowelout f1=3 f2=1700 -300 300 f3=-300 80 rms=35 len=15 colr=1
formants d/tap+r3/rx 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 before (i) d/tap_i+r3/rx
lengthmod 2 lengthmod 2
endphoneme endphoneme

+ 0
- 1
phsource/ph_russian View File

beforenotvowel l/2 // use 'dark' [l] after a vowel beforenotvowel l/2 // use 'dark' [l] after a vowel
formants l/l formants l/l
after _ l/_l t l/tl after _ l/_l t l/tl
before _ l/l_2
endphoneme endphoneme





+ 0
- 1
phsource/ph_slovak View File

beforenotvowel l/2 // use 'dark' [l] after a vowel beforenotvowel l/2 // use 'dark' [l] after a vowel
formants l/l formants l/l
after _ l/_l t l/tl after _ l/_l t l/tl
before _ l/l_2
endphoneme endphoneme


phoneme w phoneme w

+ 3
- 1
phsource/ph_zh_yue View File

// Cantonese Chinese
//==================

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

+ 14
- 13
phsource/phonemes View File

phoneme ** // TEST flap after consonant phoneme ** // TEST flap after consonant
liquid alv liquid alv
vowelout f1=3 f2=1700 -300 300 f3=-300 80 rms=35 len=15 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 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 (i) r3/@tap_i+r3/rx
before (e) 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 before (a) r3/@tap+r3/rx
endphoneme endphoneme


vcd alv flp vcd alv flp
brkafter brkafter
vowelout f1=3 f2=1500 -400 300 f3=-200 80 rms=35 len=50 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 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 (i) d/tap1+r3/rx%150
before (e) 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 (a) d/tap3+r3/rx%200
before r d/dr before r d/dr
lengthmod 3 lengthmod 3


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


phonemetable mk hr
include ph_macedonian

phonemetable sr hr phonemetable sr hr
include ph_serbian include ph_serbian


include ph_swahili include ph_swahili




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


phonemetable f_en basef //phonemetable f_en basef
include pf_english //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

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005, 2006 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/



#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <ctype.h> #include <ctype.h>
{"f4", 0x300000a}, {"f4", 0x300000a},
{"paus", 0x300000b}, {"paus", 0x300000b},
{"colr=",0x300000c}, {"colr=",0x300000c},
{"amp=", 0x300000d},
{"", -1} {"", -1}
}; };


flags |= 1; flags |= 1;
break; break;
case 2: case 2:
rms = Range(NextItem(tNUMBER), 2, 0, 63) & 0x3f; rms = Range(NextItem(tNUMBER), 2, 0, 31) & 0x1f;
flags |= 1; flags |= 1;
break; break;
case 3: case 3:
case 12: case 12:
vcolour = NextItem(tNUMBER); vcolour = NextItem(tNUMBER);
break; break;
case 13:
rms = (Range(NextItem(tNUMBER), 1, 0, 31) & 0x1f) | 0x20;
flags |= 1;
break;
} }
} }
trans[0] = len + (rms << 6) + (flags << 12) + 0x80000000; trans[0] = len + (rms << 6) + (flags << 12) + 0x80000000;

+ 25
- 17
src/compiledict.cpp View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/

#include "StdAfx.h" #include "StdAfx.h"


#include <stdio.h> #include <stdio.h>
#include "synthesize.h" #include "synthesize.h"
#include "translate.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 OPT_FORMAT // format the text and write formatted copy to Log file
//#define OUTPUT_FORMAT //#define OUTPUT_FORMAT


c = *p; c = *p;
} }
if((c == '$') && (step != 1)) if((c == '$') && isalnum(p[1]))
{ {
/* read keyword parameter */ /* read keyword parameter */
mnemptr = p; mnemptr = p;
pa += (strlen(pa)+1); pa += (strlen(pa)+1);
pb += (strlen(pb)+1); pb += (strlen(pb)+1);
return(strcmp(pa,pb)); return(strcmp(pa,pb));
} /* end of strcmp2 */ } /* end of string_sorter */



static int __cdecl rgroup_sorter(RGROUP *a, RGROUP *b) static int __cdecl rgroup_sorter(RGROUP *a, RGROUP *b)
{//=================================================== {//===================================================
#endif #endif




//#define LIST_GROUP_INFO
void output_rule_group(FILE *f_out, int n_rules, char **rules, char *name) void output_rule_group(FILE *f_out, int n_rules, char **rules, char *name)
{//======================================================================= {//=======================================================================
int ix; int ix;
char *p2, *p3; char *p2, *p3;
const char *common; 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); len_name = strlen(name);


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


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


if(strcmp(name,"9")==0) if(strcmp(name,"9")==0)
len_name = 0; // don't remove characters from numeric match strings len_name = 0; // don't remove characters from numeric match strings
p3 = &p[len1]; p3 = &p[len1];
p2 = p3 + len_name; // remove group name from start of match string p2 = p3 + len_name; // remove group name from start of match string
len2 = strlen(p2); len2 = strlen(p2);
//fprintf(f_log,"%4x %2d len1=%2d %2x %2x %2x %2x len2=%2d %2x %2x %2x %2x %2x %2x %2x\n", nextchar_count[(unsigned char)(p2[0])]++; // the next byte after the group name
// 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]);


if((common[0] != 0) && (strcmp(p,common)==0)) if((common[0] != 0) && (strcmp(p,common)==0))
{ {
} }
else else
{ {
#ifdef OPT_PH_COMMON
if((ix < n_rules-1) && (strcmp(p,rules[ix+1])==0)) if((ix < n_rules-1) && (strcmp(p,rules[ix+1])==0))
{ {
common = rules[ix]; // phoneme string is same as next, set as common common = rules[ix]; // phoneme string is same as next, set as common
fputc(RULE_PH_COMMON,f_out); fputc(RULE_PH_COMMON,f_out);
} }
#endif
fwrite(p2,len2,1,f_out); fwrite(p2,len2,1,f_out);
fputc(RULE_PHONEMES,f_out); fputc(RULE_PHONEMES,f_out);
fwrite(p,len1,1,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 } // end of output_rule_group





+ 21
- 6
src/dictionary.cpp View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/

#include "StdAfx.h" #include "StdAfx.h"


#define LOG_TRANSLATE #define LOG_TRANSLATE
} }
break; 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: case 5:
// LANG=Russian // LANG=Russian
if(stressed_syllable == 0) if(stressed_syllable == 0)

+ 6
- 6
src/espeak.cpp View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington * * Copyright (C) 2006 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/


#include <stdio.h> #include <stdio.h>







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

+ 1
- 1
src/espeak_command.cpp View File

* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *

+ 10
- 9
src/espeakedit.cpp View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005, 2006 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jsd@clara.co.uk * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/


#include "wx/wx.h" #include "wx/wx.h"
#include "prosodydisplay.h" #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"; const char *path_data = "/home/jsd1/speechdata/phsource";
if((result = LoadPhData()) != 1) if((result = LoadPhData()) != 1)
{ {
if(result == -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 else
wxLogError(_T("Wrong version of espeak-data: 0x%x (expects 0x%x)"),result,version_phdata); wxLogError(_T("Wrong version of espeak-data: 0x%x (expects 0x%x)"),result,version_phdata);




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


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

+ 1
- 1
src/event.cpp View File

* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *

+ 7
- 7
src/extras.cpp View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2006 by Jonathan Duddington * * Copyright (C) 2006 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/


#include "wx/wx.h" #include "wx/wx.h"
} }
#endif #endif



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


void TestTest(int control) void TestTest(int control)
//CharsetToUnicode("ISO-8859-4"); //CharsetToUnicode("ISO-8859-4");
//CharsetToUnicode("ISCII"); //CharsetToUnicode("ISCII");


//return; return;


if(control==2) if(control==2)
{ {

+ 1
- 1
src/fifo.cpp View File

* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *

+ 6
- 6
src/formantdlg.cpp View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005, 2006 by Jonathan Duddington * * Copyright (C) 2006 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/





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

+ 6
- 7
src/intonation.cpp View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005, 2006 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/

#include "StdAfx.h" #include "StdAfx.h"


#include <stdio.h> #include <stdio.h>
{ {
int pitch1, pitch2; int pitch1, pitch2;
int flags = 0; int flags = 0;
int x;


/* adjust experimentally */ /* adjust experimentally */
int pitch_range2 = 148; int pitch_range2 = 148;

+ 0
- 10
src/main.h View File

/////////////////////////////////////////////////////////////////////////////
// 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/toolbar.h"
#include "wx/laywin.h" #include "wx/laywin.h"

+ 1
- 1
src/mbrolib.h View File

* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public * modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either * 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, * This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of

+ 5
- 6
src/menus.cpp View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005, 2006 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/





+ 6
- 6
src/numbers.cpp View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2006 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/

#include "StdAfx.h" #include "StdAfx.h"





+ 6
- 6
src/options.cpp View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/



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

+ 11
- 9
src/options.h View File

/*************************************************************************** /***************************************************************************
options.h - description * Copyright (C) 2005 to 2007 by Jonathan Duddington *
------------------- * email: jonsd@users.sourceforge.net *
begin : Sat Mar 13 2004
copyright : (C) 2004 by Jonathan Duddington
email : jsd@jsd.clara.co.uk
***************************************************************************/

/***************************************************************************
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (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 #ifndef OPTIONS_H

+ 6
- 6
src/phoneme.h View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/





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

+ 6
- 6
src/phonemelist.cpp View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2007 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/

#include "StdAfx.h" #include "StdAfx.h"


#include <stdio.h> #include <stdio.h>

+ 6
- 6
src/prosodydisplay.cpp View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005, 2006 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/





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



+ 6
- 6
src/readclause.cpp View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/

#include "StdAfx.h" #include "StdAfx.h"


#include <stdio.h> #include <stdio.h>

+ 6
- 6
src/setlengths.cpp View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/

#include "StdAfx.h" #include "StdAfx.h"


#include <stdlib.h> #include <stdlib.h>

+ 14
- 19
src/speak.cpp View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/

#include "StdAfx.h" #include "StdAfx.h"


#include "speech.h" #include "speech.h"
"\t =<characters> is omitted, all punctuation is spoken.\n" "\t =<characters> is omitted, all punctuation is spoken.\n"
"--voices=<langauge>\n" "--voices=<langauge>\n"
"\t List the available voices for the specified language.\n" "\t List the available voices for the specified language.\n"
"\t If <language> is omitted, then list all voices.\n"; "\t If <language> is omitted, then list all voices.\n"


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




void DisplayVoices(FILE *f_out, char *language); void DisplayVoices(FILE *f_out, char *language);


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

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


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

+ 13
- 13
src/speak_lib.cpp View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/

#include "StdAfx.h" #include "StdAfx.h"


#include "stdio.h" #include "stdio.h"
return; return;
} }


if((env = getenv("espeak-path")) != NULL) if((env = getenv("ESPEAK-DATA-PATH")) != NULL)
{ {
sprintf(path_home,"%s/espeak-data",env); sprintf(path_home,"%s/espeak-data",env);
if(GetFileLength(path_home) == -2) if(GetFileLength(path_home) == -2)
return; return;
} }


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


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

+ 5
- 6
src/speak_lib.h View File

#ifndef SPEAK_LIB_H #ifndef SPEAK_LIB_H
#define SPEAK_LIB_H #define SPEAK_LIB_H
/*************************************************************************** /***************************************************************************
* Copyright (C) 2006 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/





+ 18
- 19
src/speak_riscos.cpp View File



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


#define USE_MODULE #define USE_MODULE



+ 5
- 6
src/spect.cpp View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/





+ 19
- 0
src/spect.h View File

/***************************************************************************
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* 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/spinctrl.h"
#include "wx/notebook.h" #include "wx/notebook.h"



+ 5
- 6
src/spectdisplay.cpp View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/





+ 6
- 6
src/spectseq.cpp View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/



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



+ 6
- 6
src/speech.h View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/



#include <sys/types.h> #include <sys/types.h>


// conditional compilation options // conditional compilation options

+ 6
- 6
src/synth_mbrola.cpp View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2007 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/

#include "StdAfx.h" #include "StdAfx.h"


#include <stdio.h> #include <stdio.h>

+ 9
- 9
src/synthdata.cpp View File

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




#include "StdAfx.h"

#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <ctype.h> #include <ctype.h>
#include "translate.h" #include "translate.h"
#include "wave.h" #include "wave.h"


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


int option_device_number = -1; int option_device_number = -1;



+ 40
- 20
src/synthesize.cpp View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/

#include "StdAfx.h" #include "StdAfx.h"


#include <stdio.h> #include <stdio.h>
int h; int h;
int ix; int ix;


static const short sqrt_tab[100] = { static const short sqrt_tab[200] = {
0, 64, 90,110,128,143,156,169,181,192,202,212,221,230,239,247, 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, 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, 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, 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, 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, 572,576,579,583,586,590,593,596,600,603,607,610,613,617,620,623,
627,630,633,636 }; 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 if(fr->rms == 0) return; // check for divide by zero
x = (new_rms * 64)/fr->rms; 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; x = sqrt_tab[x]; // sqrt(new_rms/fr->rms)*0x200;


{//============================================================================================================================== {//==============================================================================================================================
int ix; int ix;
int formant; int formant;
int next_rms;


int len; int len;
int rms; int rms;
return(0); return(0);


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


f2 = (data2 & 0x3f) * 50; f2 = (data2 & 0x3f) * 50;
seq[0].frflags |= FRFLAG_LEN_MOD; // reduce length modification seq[0].frflags |= FRFLAG_LEN_MOD; // reduce length modification
fr->frflags |= FRFLAG_LEN_MOD; fr->frflags |= FRFLAG_LEN_MOD;


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

if(f2 != 0) 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); 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 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) 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); modn_flags = 0x800 + (VowelCloseness(fr) << 8);
} }
} }
else else
{ {
// exit from vowel // exit from vowel
rms = rms*2;
if((f2 != 0) || (flags != 0)) if((f2 != 0) || (flags != 0))
{ {



+ 6
- 6
src/synthesize.h View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/



#define N_PHONEME_LIST 700 // enough for source[] full of text, else it will truncate #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 #define MAX_HARMONIC 400 // 400 * 50Hz = 20 kHz, more than enough

+ 6
- 6
src/tr_english.cpp View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/

#include "StdAfx.h" #include "StdAfx.h"


#include <stdio.h> #include <stdio.h>

+ 28
- 10
src/tr_languages.cpp View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/

#include "StdAfx.h" #include "StdAfx.h"


#include <stdio.h> #include <stdio.h>


case L('f','r'): // french 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 }; static int stress_amps_fr[8] = {16,14, 20,20, 20,24, 24,22 };


tr = new Translator(); tr = new Translator();
tr->langopts.unstressed_wd1 = 2; tr->langopts.unstressed_wd1 = 2;
tr->langopts.unstressed_wd2 = 2; tr->langopts.unstressed_wd2 = 2;
tr->langopts.param[LOPT_IT_LENGTHEN] = 2; // remove lengthen indicator from unstressed or non-penultimate syllables tr->langopts.param[LOPT_IT_LENGTHEN] = 2; // remove lengthen indicator from unstressed or non-penultimate syllables
// tr->langopts.param[LOPT_IT_DOUBLING] = 2; tr->langopts.param[LOPT_IT_DOUBLING] = 2; // 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_SONORANT_MIN] = 130; // limit the shortening of sonorants before short vowels
tr->langopts.param[LOPT_REDUCE] = 1; // reduce vowels even if phonemes are specified in it_list tr->langopts.param[LOPT_REDUCE] = 1; // reduce vowels even if phonemes are specified in it_list
tr->langopts.numbers = 0x2709; tr->langopts.numbers = 0x2709 + 0x800;
} }
break; break;


tr = new Translator(); tr = new Translator();
tr->charset_a0 = charsets[4]; // ISO-8859-4, includes a,e,i,o,u-macron tr->charset_a0 = charsets[4]; // ISO-8859-4, includes a,e,i,o,u-macron
tr->langopts.stress_rule = 2; tr->langopts.stress_rule = 2;
tr->langopts.stress_flags = 0x21; tr->langopts.stress_flags = 0x20;
tr->langopts.unstressed_wd1 = 0; tr->langopts.unstressed_wd1 = 0;
tr->langopts.unstressed_wd2 = 2; tr->langopts.unstressed_wd2 = 2;
tr->langopts.param[LOPT_DIERESES] = 1; tr->langopts.param[LOPT_DIERESES] = 1;
} }
break; 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 case L('n','l'): // Dutch
{ {
static const int stress_lengths_nl[8] = {160,135, 210,210, 0, 0, 260,280}; static const int stress_lengths_nl[8] = {160,135, 210,210, 0, 0, 260,280};

+ 6
- 6
src/tr_languages.h View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/









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



+ 29
- 10
src/translate.cpp View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005, 2006 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/

#include "StdAfx.h" #include "StdAfx.h"


#include <stdio.h> #include <stdio.h>
{ {
if((langopts.param[LOPT_PREFIXES]) || (prefix_type & SUFX_T)) if((langopts.param[LOPT_PREFIXES]) || (prefix_type & SUFX_T))
{ {
char *p;
// German, keep a secondary stress on the stem // German, keep a secondary stress on the stem
SetWordStress(phonemes,dictionary_flags,3,0); 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); strcpy(word_phonemes,prefix_phonemes);
strcat(word_phonemes,phonemes); strcat(word_phonemes,phonemes);
SetWordStress(word_phonemes,dictionary_flags,-1,0); SetWordStress(word_phonemes,dictionary_flags,-1,0);
{ {
if(first_phoneme && langopts.param[LOPT_IT_DOUBLING]) 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 // italian, double the initial consonant if the previous word ends with a
// stressed vowel, or is marked with a flag // stressed vowel, or is marked with a flag
// To allow language specific examination and replacement of characters // To allow language specific examination and replacement of characters


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


if(c == 0) return(0); if(c == 0) return(0);
new_c = langopts.replacement_chars[p - langopts.replace_chars]; new_c = langopts.replacement_chars[p - langopts.replace_chars];
if(new_c & 0xffe00000) if(new_c & 0xffe00000)
{ {
// there is a second character to be inserted (don't convert the case of the second character) // there is a second character to be inserted
*insert = (new_c >> 16); // 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; new_c &= 0xffff;
} }
#ifndef PLATFORM_RISCOS #ifndef PLATFORM_RISCOS

+ 7
- 7
src/translate.h View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/



#define L(c1,c2) (c1<<8)+c2 // combine two characters into an integer for translator name #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 #define CTRL_EMBEDDED 0x01 // control character at the start of an embedded command
// bits13-15 post-decimal-digits 0=single digits, 1=(LANG=it) 2=(LANG=pl) 3=(LANG=ro) // bits13-15 post-decimal-digits 0=single digits, 1=(LANG=it) 2=(LANG=pl) 3=(LANG=ro)
// bit16=dot after number indicates ordinal // bit16=dot after number indicates ordinal
// bit18=special word for 100,000s LANG=sw // bit18=special word for 100,000s LANG=sw
// bit19=(LANG=pl) // bit19=(LANG=pl) two forms of plural, M or MA


int numbers; int numbers;



+ 6
- 6
src/transldlg.cpp View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/





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





+ 6
- 6
src/voice.h View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/





typedef struct { typedef struct {
char name[40]; char name[40];



+ 6
- 6
src/voicedlg.cpp View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005, 2006 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/



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





+ 13
- 13
src/voices.cpp View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/

#include "StdAfx.h" #include "StdAfx.h"


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


voice->breath[0] = Read8Numbers(p,&voice->breath[1]); voice->breath[0] = Read8Numbers(p,&voice->breath[1]);
for(ix=1; ix<8; ix++) for(ix=1; ix<8; ix++)
{ {
if(ix & 1) if(ix % 2)
voice->breath[ix] = -voice->breath[ix]; voice->breath[ix] = -voice->breath[ix];
} }
break; break;

+ 6
- 6
src/vowelchart.cpp View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/



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

+ 1
- 1
src/wave.cpp View File

* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *

+ 9
- 10
src/wavegen.cpp View File

/*************************************************************************** /***************************************************************************
* Copyright (C) 2005, 2006 by Jonathan Duddington * * Copyright (C) 2005 to 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net * * email: jonsd@users.sourceforge.net *
* * * *
* This program is free software; you can redistribute it and/or modify * * 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 * * 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. * * (at your option) any later version. *
* * * *
* This program is distributed in the hope that it will be useful, * * This program is distributed in the hope that it will be useful, *
* GNU General Public License for more details. * * GNU General Public License for more details. *
* * * *
* You should have received a copy of the GNU General Public License * * You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the * * along with this program; if not, write see: *
* Free Software Foundation, Inc., * * <http://www.gnu.org/licenses/>. *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/ ***************************************************************************/

#include "StdAfx.h" #include "StdAfx.h"


// this version keeps wavemult window as a constant fraction // this version keeps wavemult window as a constant fraction
} // end of SetBreath } // end of SetBreath




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

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

+ 3
- 2
windows/make_espeak.iss View File

[Setup] [Setup]
AppName=eSpeak AppName=eSpeak
AppVerName=eSpeak version 1.26.10 AppVerName=eSpeak version 1.27
DefaultDirName={pf}\eSpeak DefaultDirName={pf}\eSpeak
DefaultGroupName=eSpeak DefaultGroupName=eSpeak
OutputBaseFilename=setup_espeak OutputBaseFilename=setup_espeak
pt.v1=Seleccione as vozes que pretende instalar pt.v1=Seleccione as vozes que pretende instalar
pt.v2=ou precione enter para aceitar as predefinidas. 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
$0b: Result := 'fi'; $0b: Result := 'fi';
$0c: Result := 'fr'; $0c: Result := 'fr';
$0e: Result := 'hu'; $0e: Result := 'hu';
$0f: Result := 'is';
$10: Result := 'it'; $10: Result := 'it';
$13: Result := 'nl'; $13: Result := 'nl';
$14: Result := 'no'; $14: Result := 'no';

+ 1
- 1
windows/make_espeakedit.iss View File

[Setup] [Setup]
AppName=eSpeakEdit AppName=eSpeakEdit
AppVerName=eSpeakEdit version 1.26.10 AppVerName=eSpeakEdit version 1.27
DefaultDirName={pf}\eSpeak DefaultDirName={pf}\eSpeak
DefaultGroupName=eSpeak DefaultGroupName=eSpeak
OutputBaseFilename=setup_espeakedit 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