Browse Source

[1.44.42]

Phoneme definitions.
New keyword "prevoice", always add murmer before a voiced stop, not only after a vowel.
Fixed bug in nextVowel() condition.
Fixed bug is condition "isRhotic".


Command line options.
On Windows, --  means don't treat following arguments as options.
--help output now should the espeak-data path.

Tools->Lexicon.  Redesign Lexicon processing for Russian and Bulgarian.

Numbers.  Fixes for Hungarian ordinal numbers.

Fixed bug where double .. was ignored.

Fixed bug in reporting word event lengths in callbacks.
Fixed bug in reporting marker event positions in callbacks, when non-ascii text.

SSML.
Allow single as well as double quotes around strings.
Fix bugs in SSML "prosody rate".

Speed.
Only use Sonic speedups greater than x2.
Use custom eSpeak speed settings when Sonic speedup is used.

Mbrola.  Look for Mbrola voice also at /usr/share/mbrola/xx/xx

espeakedit.  Try "aplay" and then "play" to play sound.

Languages:
Kannada (kn) now in official release.
Esperanto (eo) change prosody.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@257 d46cf337-b52f-0410-862d-fd96e6ae7743
master
jonsd 14 years ago
parent
commit
fc0bd7fe79
100 changed files with 4361 additions and 1762 deletions
  1. 11
    3
      dictsource/af_list
  2. 13
    1
      dictsource/af_rules
  3. 171
    210
      dictsource/da_list
  4. 1117
    319
      dictsource/da_rules
  5. 16
    10
      dictsource/de_list
  6. 32
    14
      dictsource/de_rules
  7. 104
    43
      dictsource/dict_phonemes
  8. 11
    2
      dictsource/en_list
  9. 15
    5
      dictsource/en_rules
  10. 47
    14
      dictsource/fr_list
  11. 23
    7
      dictsource/fr_rules
  12. 405
    8
      dictsource/hu_list
  13. 25
    3
      dictsource/hu_rules
  14. 6
    4
      dictsource/id_rules
  15. 6
    4
      dictsource/it_list
  16. 79
    72
      dictsource/it_listx
  17. 9
    8
      dictsource/it_rules
  18. 105
    29
      dictsource/nl_list
  19. 105
    25
      dictsource/nl_rules
  20. 1
    1
      dictsource/no_list
  21. 600
    554
      dictsource/ru_rules
  22. 20
    7
      dictsource/ta_list
  23. 518
    34
      dictsource/ta_rules
  24. 31
    31
      dictsource/tr_rules
  25. 154
    121
      docs/add_language.html
  26. 1
    1
      docs/phontab.html
  27. BIN
      phsource/b/br
  28. BIN
      phsource/b/xbr
  29. 178
    50
      phsource/compile_report
  30. BIN
      phsource/g/gr
  31. BIN
      phsource/g/xg
  32. 3
    3
      phsource/intonation
  33. 1
    1
      phsource/ph_albanian
  34. 2
    7
      phsource/ph_armenian
  35. 14
    4
      phsource/ph_consonants
  36. 83
    4
      phsource/ph_dutch
  37. 4
    4
      phsource/ph_english
  38. 6
    3
      phsource/ph_esperanto
  39. 7
    7
      phsource/ph_french
  40. 67
    29
      phsource/ph_german
  41. 6
    3
      phsource/ph_hindi
  42. 20
    4
      phsource/ph_italian
  43. 1
    1
      phsource/ph_romanian
  44. 288
    98
      phsource/ph_russian
  45. 15
    4
      phsource/ph_tamil
  46. 38
    9
      phsource/phonemes
  47. BIN
      phsource/vdiph/ai_5
  48. BIN
      phsource/vdiph/ooi_2
  49. BIN
      phsource/vdiph/ou_4
  50. 0
    0
      phsource/vdiph2/e_u
  51. BIN
      phsource/vowel/a_2
  52. BIN
      phsource/vowel/a_3
  53. BIN
      phsource/vowel/e_mid2
  54. BIN
      phsource/vowel/ii_3
  55. BIN
      phsource/vowel/ii_7
  56. BIN
      phsource/vowel/ii_en
  57. BIN
      phsource/vowel/o_8
  58. BIN
      phsource/vowel/vowelchart.png
  59. BIN
      phsource/vowel/y
  60. BIN
      phsource/vwl_fr/@2r
  61. BIN
      phsource/vwl_fr/a2r
  62. BIN
      phsource/vwl_fr/aa2r
  63. BIN
      phsource/vwl_fr/br
  64. BIN
      phsource/vwl_fr/e2r
  65. BIN
      phsource/vwl_fr/e_2r
  66. BIN
      phsource/vwl_fr/ee2r
  67. BIN
      phsource/vwl_fr/i2r
  68. BIN
      phsource/vwl_fr/lo
  69. BIN
      phsource/vwl_fr/o2r
  70. BIN
      phsource/vwl_fr/oo2r
  71. BIN
      phsource/vwl_fr/r
  72. BIN
      phsource/vwl_fr/r@
  73. BIN
      phsource/vwl_fr/r@2
  74. BIN
      phsource/vwl_fr/r_
  75. BIN
      phsource/vwl_fr/r_@
  76. BIN
      phsource/vwl_fr/r_a
  77. BIN
      phsource/vwl_fr/r_e
  78. BIN
      phsource/vwl_fr/r_i
  79. BIN
      phsource/vwl_fr/r_n
  80. BIN
      phsource/vwl_fr/r_o
  81. BIN
      phsource/vwl_fr/r_u
  82. BIN
      phsource/vwl_fr/r_y
  83. BIN
      phsource/vwl_fr/ra
  84. BIN
      phsource/vwl_fr/raa
  85. BIN
      phsource/vwl_fr/re
  86. BIN
      phsource/vwl_fr/re2
  87. BIN
      phsource/vwl_fr/ree
  88. BIN
      phsource/vwl_fr/ri
  89. BIN
      phsource/vwl_fr/rj
  90. BIN
      phsource/vwl_fr/ro
  91. BIN
      phsource/vwl_fr/roo
  92. BIN
      phsource/vwl_fr/ru
  93. BIN
      phsource/vwl_fr/rw
  94. BIN
      phsource/vwl_fr/ry
  95. BIN
      phsource/vwl_fr/tr
  96. BIN
      phsource/vwl_fr/u2r
  97. BIN
      phsource/vwl_fr/xr
  98. BIN
      phsource/vwl_fr/y2r
  99. 3
    1
      platforms/windows/espeakedit/src/speech.h
  100. 0
    0
      platforms/windows/espeakedit/src_copy/speech.h

+ 11
- 3
dictsource/af_list View File

@@ -207,7 +207,7 @@ _3o d'&:r
_7o s'e@v@n
_8o _'ax2
_9o ne@x2@n
//_0Co h'On@rtst@
_0Co h'On@rtst@


// Place names
@@ -234,6 +234,7 @@ boekarest bukarEst
bogotá bOgOt'A:
bolivië bul'Ivi:@
bonnievale _^_EN
boplaas bo@plA:s
bordeaux bOrd'@U
boston _^_EN
brittanje $2
@@ -991,6 +992,7 @@ bewend be@v@nt
bewering b@ve@rIN
bomaat bo@mA:t
bordegoed bO:rd@x2ut
borgene bOrx2@n@
boskaas $2
bostaande b'o@stA:nd@
bourgeois _^_FR
@@ -1020,6 +1022,8 @@ dagorde dax2_Ord@
dagster dax2st&r
daisy deIzi
darem dar@m
dawidster dA:v@tst&r
déjà _^_FR
dekade dEk'A:d@
dekreling dEkre@l@N
deurentyd dy@r@nteIt
@@ -1105,8 +1109,8 @@ helaas he@l'A:s
here he@r@
herero hEr'E:ru
herrysenis h&r'eIs@n@s
hiernamaals hi:rn'A:mA:ls
hierso hi:rsO
hippie _^_EN
hoera hur'A:
hoewel huv'&l
hokaai hOkAI
@@ -1163,6 +1167,8 @@ kwansuis $2

lasagne las'anj@
libido l@bidu
liefdespel lifd@sp&l
lipstiek lIpstik
lokaas lOk_A:s
londense lOnd@ns@
lord _^_EN
@@ -1200,7 +1206,7 @@ nadele nA:de@l@
nadenke $1
nagana nag'A:na
namens nA:m@ns
nasaréner nasar'e@n@r
nasarener nasar'e@n@r
nassau nas'@U
nature nat'yr@
nalatigheid nA:l'A:t@x2eIt
@@ -1429,6 +1435,7 @@ vorige fo@r@x2@
voëlent fo@@l_Ent
vraprys frA:preIs
vrek fr&k
vu _^_FR

waarskynlik $2
waarskynlike $2
@@ -1443,3 +1450,4 @@ wentaktiek $1
willens vIl@ns
wysgere veIsx2e@r@

êrenster &:r@nst@r

+ 13
- 1
dictsource/af_rules View File

@@ -432,6 +432,7 @@
_) bor (dA@ b%Or // geborduur/bordeel/bordele
borde (r bOrd@ // fix stress and e sound: borderak/-ke
bos (A@ bOs? // bosaap/bosoorlog/bosuil
bo (skrif bo@ // fix o sound: boskrif/-te and compounds
bo (v bo@ // fix o sound: bovlak/-e and similar
bowen bo@v@n' // bowenal/bowendien
braille breI:l_ // braille/-boek/-drukker/-masjien...
@@ -939,8 +940,12 @@
CAC) e (CC @ // fix e sound: nalatenskap/wapenstilstand
CAC) e (C% E // beesfilette/nougesette/onderbesette/voortgesette
blind) e (C@ @ // fix e sound in compounds like: blindekol/-mol/-wese
_eend) e (CA @ // fix e sound: eendedam/-dans/-kuil/-pastei...
_eend) e (lig e@ // but: eendelig/-e/-heid
_meid) e (C @ // fix e sound: meidekamer/-naaier/-praatjies
pous) e (C @ // fix e sound: pousebrood/-klok/-tyd, etc.
_siel) e (@ @ // fix e sound: sielesmart/-troos/-wroeging...
_siel) e (tjie %i // but: sieletjie/-s
vreugd) e (C @ // fix e sound: vreugdefees/-klokkies/-lied/-tyd...
vriend) e (C @ // fix e sound: vriendepaar/-woorde
juwel) e (C @ // fix e sound: juwelekissie and similar compounds
@@ -995,6 +1000,7 @@
Cien) e (rC@ @ // fix e sound: opsienersamp/tienerstatus and many similar compounds
@) erts (_ _&rts // fix e sound of many compounds ending in erts
@p) e (rtjie @ // fix e sound: helpertjies/wegkruipertjie
@C) e (maal_ @ // fix e sound: enemaal/telkemaal
C) e (maat @ // fix e sound: onderdele-/platemaatskappy and similar
@C) e (male_ @ // fix e sound: enemale/telkemale
C) e (man @ // e sound: briewemandjie/derdemannetjie/dowemansdeur/semantiek/semanties/Weideman
@@ -1052,6 +1058,7 @@
l) e (moen @ //fix lemoen and compounds
Cy) e (C+ @ // fix connecting e sound in compounds like byekorf/skilderyemuseum, etc.
eier eI@r // eiergeel/eierwit/leierfiguur/leiergroep
@C) ei (land _,eI // insert short pause: skiereiland and many -eiland compounds
@) ei (sen _'eI // (on)veeleisend/spoedeisend
mang) el (A @l_ // fix e sound, pause: mangelontsteking/-operasie and similar
r) ei (sen 'eI // rondreisend
@@ -1817,6 +1824,7 @@
ha (we hA: // fix stress and a sound: hawearbeider/lewendehaweafdeling
hia (sint h%ij%a // fix stress: hiasint/-e and compounds
_) hi (bis h%i // move default stress: hibiskus/-se and compounds
hierna (maal h%i:rnA: // fix stress and a sound: hiernamaals/-e
higië (nA h%ix2%ie@
himne himn@ // fix i sound: himne/-s and compounds
hin (doe hin // fix i sound: Hindoe and compounds
@@ -2217,6 +2225,7 @@
flik) kerkers k@rk&:rs // fix e sounds: flikkerkers/-e
weder) ker (A k'e@r // wederkerend/wederkerig
bottel) kers k&:rs // fix e sound: bottelkers/-e
fees) kers k&:rs // fix e sound: feeskers/-e and compounds
@) ker (sie_ k&r // fix e sound: koekkersies and similar compounds
kete (l ke@t@ // fix e sounds: stookketel/ketelmaker and many similar compounds
_) keuse k''Y@s@ // fix connecting e sound in compounds starting with keuse
@@ -3923,6 +3932,7 @@
&) rele (_ r'e@l@
&A) reel (_ r'e@l // stress: immoreel/kultureel/struktureel/tekstureel/temporeel
reti (re r@t@ // fix stress and vowel sounds: retireer/retirerende
retina rEtina // fix e and a sounds: retina(loslating), etc.
_) retro (@P5 r%Etr%u // fix stress and vowel sounds: many words beginning with retro-: retrogressie/-f, etc.
re (ü r%i_ // fix stress and e sound, insert pause: reü¼nie/-s and compounds/reünifikasie

@@ -4346,7 +4356,7 @@
stie (beu st%i // move default stress: stiebeuel and compounds
@V) stiek st'ik // statistiek/akoestiek/artistiek and many similar
@) sties =st%is // statisties/akoesties/artisties and many similar
sti (let st%i // move default stress: stilet/-te/stiletto
stile (t st%ilE // move default stress: stilet/-te/stiletto/stiletskerp
stil (swy st@l // move default stress: stilswy(g)end/-e
sti (pulA st@ // stipuleer/stipulering/stipulasie
stof (o stOf? // fix 1st o sound: stofomslag/-omslae/stofopskoppery
@@ -4893,6 +4903,7 @@
_) versf f''&rsf // fix stress and e sound: versfragment/-e
ver (sie_ f&:r //words ending in versie
ver (sies_ f&:r //words ending in versies
vers (kuns f&rs // fix stress and e sound: verskuns and compounds
vers (panor f&:rs // fix stress and e sound: verspanorama/-s
ver (spring f''&:r // fix stress and e sound: verspring/-er/-kompetisie
vers (v f&rs // fix e sound: versvorm/versvoete
@@ -4945,6 +4956,7 @@
volles (_ fOl@s // fix stress and e sound: volles/passievolles, etc.
vol (hou_ fOl // exception to: vo (lC f%O
vol (maan fOl // exception to: vo (lC f%O
vol (mag f''Ol // fix stress: volmag and many compounds
vol (mane fOl // exception to: vo (lC f%O
vol (prop fOl // exception to: vo (lC f%O
vol (r fOl // volrond/-rooi/-ryp: exception to: vo (lC f%O

+ 171
- 210
dictsource/da_list View File

@@ -110,7 +110,7 @@ _18 '&d@-n // PB a changed to &
_19 n'ed@-n
_2X t'y:w
_3X tR'&#Dv@ //PB [tR'ADv@] changed to [tR'&#Dv@]
_4X f'WRV //PB [f'W:*3] changed to [ f'WRV]
_4X f'W:V //PB [f'W:*3] changed to [ f'W:V]
_5X h&l't*es // PB [a] changed to [&]
_6X t*'es
_7X h&lfj'&rs // PV a changed to &
@@ -281,7 +281,6 @@ z sEt

// PB English words
bondage _^_EN
volleyball _^_EN
dj _^_EN
deadline _^_EN
night _^_EN
@@ -334,7 +333,7 @@ pickup _^_EN
pidgin _^_EN
ranger _^_EN
receiver _^_EN
research _^_EN
//research _^_EN
remake _^_EN
roadie _^_EN
run _^_EN
@@ -380,8 +379,6 @@ clarence _^_EN $alt
cyrus _^_EN
cia _^_EN $alt
fox _^_EN
jones _^_EN
larry _^_EN $alt
leroy _^_EN $alt
luke _^_EN $alt
mansfield _^_EN $alt
@@ -393,7 +390,6 @@ reynolds _^_EN $alt
purvis _^_EN
washington _^_EN $alt
white _^_EN $alt
//chicago _^_EN $alt

// PB French words
croquis _^_FR
@@ -410,7 +406,7 @@ arbitrage $alt
bagage $alt
bandage $alt
blamage $alt
bondage b'VndidS $alt
bondage b'VndidZ $alt
brækage $alt
camouflage $alt
collage $alt
@@ -528,7 +524,7 @@ venerab $alt
veritab $alt
vulnerab $alt

// PB adjectives and nouns with final -ant - stressed a
// PB adjectives and nouns with final -ant/ans - stressed a
acceptant $alt
adjudant $alt
adoptant $alt
@@ -675,6 +671,36 @@ variant $alt
vindikant $alt
volant $alt
ækvidistant $alt
// -ans
brillans $alt
diskrepans $alt
dominans $alt
finans $alt
impedans $alt
induktans $alt
instans $alt
konduktans $alt
konkordans $alt
konsonans $alt
konstans $alt
kurans $alt
luminans $alt
monstrans $alt
observans $alt
ordonnans $alt
performans $alt
pomerans $alt
protuberans $alt
prægnans $alt
redundans $alt
relevans $alt
reluktans $alt
resistans $alt
signifikans $alt
stimulans $alt
substans $alt
tolerans $alt
varians $alt

// PB nouns with final -ade - stressed a
ambassade $alt
@@ -948,6 +974,7 @@ signal $alt
sjakal $alt
social $alt
special $alt // beginning of a word - specialarbejder
spektral $alt
spinal $alt
spiral $alt
subliminal $alt
@@ -1085,113 +1112,113 @@ tvivlagtig $alt
tyvagtig $alt

// PB words with final -an - stressed a
aeroplan $alt
agraman $alt
altan $alt
angloman $alt
Aserbajdsjan $alt
astrakan $alt
banan $alt
bavian $alt
Bhutan $alt
biblioman $alt
bladan $alt
bojan $alt
brahman $alt
butan $alt
cardigan $alt
cellofan $alt
dekan $alt
dragoman $alt
dulcian $alt
elan elAN $alt
ensian $alt
erotoman $alt
eufoman $alt
filigran $alt
galan $alt
hortulan $alt
human $alt
aeroplan $alt2
agraman $alt2
altan $alt2
angloman $alt2
Aserbajdsjan $alt2
astrakan $alt2
banan $alt2
bavian $alt2
Bhutan $alt2
biblioman $alt2
bladan $alt2
bojan $alt2
brahman $alt2
butan $alt2
cardigan $alt2
cellofan $alt2
dekan $alt2
dragoman $alt2
dulcian $alt2
elan elan $alt2
ensian $alt2
erotoman $alt2
eufoman $alt2
filigran $alt2
galan $alt2
hortulan $alt2
human $alt2
hvordan vVd'&n $alt
inhuman $alt
kapellan $alt
karljohan $alt
Kasakhstan $alt
katamaran $alt
kleptoman $alt
klodrian $alt
koran $alt
kumpan $alt
leguan $alt
lian $alt
ludoman $alt
mangan $alt
marcipan $alt
median $alt
mediterran $alt
membran $alt
merian $alt
meridian $alt
mesan $alt
metan $alt
momentan $alt
monoman $alt
morian $alt
mytoman $alt
narkoman $alt
norman $alt
nymfoman $alt
obsidian $alt
ocean $alt
oktan $alt
Oman $alt
organ $alt
orkan $alt
osman $alt
ottoman $alt
partisan $alt
pelikan $alt
pemmikan $alt
platan $alt
polyuretan $alt
profan $alt
propan $alt
pyroman $alt
ramadan $alt
rejnfan $alt
roman $alt
safian $alt
safran $alt
sakristan $alt
samaritan $alt
sedan $alt
shaman $alt
simultan $alt
sopran $alt
spontan $alt
subkutan $alt
Sudan $alt
Tadsjikistan $alt
Taiwan $alt
talisman $alt
tarlatan $alt
tartan $alt
timian $alt
titan $alt
tukan $alt
tulipan $alt
Turkmenistan $alt
tyran $alt
urban $alt
uretan $alt
Usbekistan $alt
uvan $alt
valerian $alt
varan $alt
velan $alt
veteran $alt
vulkan $alt
ætan $alt
inhuman $alt2
kapellan $alt2
karljohan $alt2
Kasakhstan $alt2
katamaran $alt2
kleptoman $alt2
klodrian $alt2
koran $alt2
kumpan $alt2
leguan $alt2
lian $alt2
ludoman $alt2
mangan $alt2
marcipan $alt2
median $alt2
mediterran $alt2
membran $alt2
merian $alt2
meridian $alt2
mesan $alt2
metan $alt2
momentan $alt2
monoman $alt2
morian $alt2
mytoman $alt2
narkoman $alt2
//norman $alt2
nymfoman $alt2
obsidian $alt2
ocean $alt2
oktan $alt2
Oman $alt2
organ $alt2
orkan $alt2
osman $alt2
ottoman $alt2
partisan $alt2
pelikan $alt2
pemmikan $alt2
platan $alt2
polyuretan $alt2
profan $alt2
propan $alt2
pyroman $alt2
ramadan $alt2
rejnfan $alt2
roman $alt2
safian $alt2
safran $alt2
sakristan $alt2
samaritan $alt2
sedan $alt2
shaman $alt2
simultan $alt2
sopran $alt2
spontan $alt2
subkutan $alt2
Sudan $alt2
Tadsjikistan $alt2
Taiwan $alt2
talisman $alt2
tarlatan $alt2
tartan $alt2
//timian $alt2
titan $alt2
tukan $alt2
tulipan $alt2
Turkmenistan $alt2
tyran $alt2
urban $alt2
uretan $alt2
Usbekistan $alt2
uvan $alt2
valerian $alt2
varan $alt2
velan $alt2
veteran $alt2
vulkan $alt2
ætan $alt2

// PB words with final -at - stressed a
acetat $alt
@@ -2852,59 +2879,6 @@ uræmi $alt
vasektomi $alt
økonomi $alt

// PB stressed second syllable in words with initial ge
gebet $alt
gebis $alt
gebommerlig $alt
gebrokken $alt
gebrækkelig $alt
gebyr $alt
gebærde $alt
gedigen $alt
gedulgt $alt
gehalt $alt
gehejmeråd $alt
gehenna $alt
gehæng $alt
gehør $alt
gelassen $alt
geled $alt
gelejde $alt
gelinde $alt
gelænder $alt
gemak $alt
gemal $alt
gemen $alt
gemyse $alt
gemyt $alt
gemytlig $alt
genom $alt
gentil $alt
genuin $alt
gepard $alt
geranie $alt
geranium $alt
geråde $alt
gesandt $alt
gesandtskab $alt
gesims $alt
gesjæft $alt
geskæftig $alt
gespenst $alt
gestagen $alt
gestalt $alt
gestik $alt
gesvejsning $alt
gesvindt $alt
gevaldig $alt
gevalt $alt
gevandt $alt
gevind $alt
gevinst $alt
gevir $alt
gevækst $alt
gevær $alt

// words with final "in" - stressed i
aborigin $alt
adrenalin $alt
@@ -2957,7 +2931,6 @@ gardin $alt
gasolin $alt
genuin $alt
glycerin $alt
gobelin gob@l'EN $alt
gratin grAt'EN $alt
grosgrain $alt
harlekin $alt
@@ -2990,8 +2963,6 @@ lapin $alt
latin $alt
latrin $alt
lecitin $alt
lignin $alt
lin $alt
(log-in) lVk'en $alt
lupin $alt
magasin $alt
@@ -3090,7 +3061,6 @@ eukaristi $alt
faresti $alt
fedesti $alt
garanti $alt
graffiti grAf'iti $alt
haiti h&'i:ti $alt
homøopati $alt
idioti $alt
@@ -5809,6 +5779,7 @@ adjunger $alt
administrer $alt
admitter $alt
adopter $alt
bortadopter $alt
adoucer $alt
adressere $alt
adsorber $alt
@@ -5930,7 +5901,7 @@ bardere $alt
barrier $alt
barrikader $alt
basere $alt
bastarder $alt
bastardere $alt
bastardiser $alt
bastoner $alt
basuner $alt
@@ -5982,7 +5953,7 @@ chasser $alt
chiffonnier $alt
chifrer $alt
chikaner $alt
chokere $alt
choker $alt
cirer $alt
cirkuler $alt
ciseler $alt
@@ -6069,11 +6040,11 @@ diffunder $alt
diftongere $alt
digitaliser $alt
dikter $alt
dimensioner $alt
dimensionere $alt
dimitter $alt
diner $alt
diriger $alt
discipliner $alt
disciplinere $alt
diskriminer $alt
diskuter $alt
dispenser $alt
@@ -6086,7 +6057,7 @@ dissider $alt
dissimiler $alt
dissocier $alt
dissoner $alt
distancer $alt
distancere $alt
distingver $alt
distraher $alt
distribuer $alt
@@ -6135,7 +6106,7 @@ ekskommuniker $alt
ekspander $alt
ekspatrier $alt
ekspeder $alt
eksperimenter $alt
eksperimentere $alt
eksplicer $alt
ekspliciter $alt
eksploder $alt
@@ -6238,6 +6209,7 @@ forcer $alt
formaliser $alt
formatere $alt
formere $alt
opformere $alt
formuler $alt
omformuler $alt
fortificer $alt
@@ -6280,7 +6252,7 @@ geler $alt
geminer $alt
generaliser $alt
genere $alt
generer $alt
generere $alt
gerer $alt
germaniser $alt
gestikuler $alt
@@ -6302,8 +6274,8 @@ gratiner $alt
gratuler $alt
gravere $alt
graviter $alt
griller $alt
grimasser $alt
grillere $alt
grimassere $alt
ggrubliser $alt
grundere $alt
gruppere $alt
@@ -6892,11 +6864,11 @@ plastificer $alt
platiner $alt
plettere $alt
plisser $alt
plomber $alt
plombere $alt
plæder $alt
pocher $alt
poetiser $alt
pointer $alt
pointere $alt
pokuler $alt
polariser $alt
polemiser $alt
@@ -6971,7 +6943,7 @@ præstere $alt
prætender $alt
psykologiser $alt
publicer $alt
pulser $alt
pulsere $alt
pulveriser $alt
punktere $alt
purer $alt
@@ -7111,7 +7083,7 @@ rouletter $alt
rubricer $alt
ruinere $alt
rumster $alt
runder $alt
//runder $alt
russificer $alt
rytmiser $alt
ræsonner $alt
@@ -7172,7 +7144,7 @@ socialiser $alt
soigner $alt
solidariser $alt
sondere $alt
sortere $alt
sortere $alt // Problem woth sortere = "blacker" and sorter = "sorts"
soupere $alt
spadser $alt
spaliere $alt
@@ -7185,7 +7157,7 @@ spender $alt
spionere $alt
spolere $alt
sponser $alt
sponsorer $alt
sponsorere $alt
stabiliser $alt
staffer $alt
stagner $alt
@@ -7206,8 +7178,10 @@ strabadsere $alt
stranguler $alt
stratificer $alt
strukturer $alt
studer $alt
subjektiver $alt
omstrukturer $alt
studere $alt
indstudere $alt
subjektivere $alt
sublimer $alt
subordiner $alt
subsidier $alt
@@ -9333,6 +9307,7 @@ manuduktion $alt
masturbation $alt
materialisation $alt
meditation $alt
medaljon $alt
menstruation $alt
migration $alt
million $alt
@@ -9641,12 +9616,12 @@ syndrom $alt
teknonom $alt

// -on list
ballon b&l'VN $alt
ballon //b&l'VN $alt
beton $alt
bouillon $alt
chiffon $alt
diakron $alt
interferon $alt
epsilon 'ebsilVn $alt
futon $alt
føljeton fWljet'Vn $alt
facon $alt
@@ -9656,7 +9631,7 @@ melon $alt
neuron $alt
kupon $alt
postillon p,Vsdilj'VN $alt
perron pER'VN
perron //pER'VN
pompon $alt
progesteron $alt
salon s&l'VN $alt
@@ -10619,6 +10594,7 @@ eksaminator $alt
eksekutor $alt
eksperimentator $alt
elevator $alt
eliminator $alt
emulgator $alt
eskalator $alt
evaluator $alt
@@ -11090,6 +11066,7 @@ temperatur $alt
tinktur $alt
titulatur $alt
tortur $alt
trubadur $alt

// PB final -skop - stressed
biblioskop $alt
@@ -11152,20 +11129,9 @@ idé id'e // idea
ny ny // new
også Vs@ // also
idet id'e // in so far as
bleg blaj
blegrød blajrWD
blegrøde blajrWD@
//blege blaj@
blegemiddel bl&#j@mid@l
(rub og stub) R'Ob||V||sd'Ob
slags sl'ags // sort, type
tre tr'e // the number 3
//barber bAb'er // PB barber
//barbere bab'eV // PB barbere
//barberer bab'eV // PB barberer
//barberes bab'eVs // PB barberes
//barbererne bab'eVn@ // PB barberene
//barberenes bab'eVn@s // PB barberenes
rejicere rejis'eV // PB should not be pronounced [raje]
rejicerer rejis'eV // PB
rejiceres rejis'eVs // PB
@@ -11178,7 +11144,6 @@ konfirmand kVnferm'&nd // PB
konfirmander kVnferm'&nd3 // PB
konfirmanderne kVnferm'&nd3-n@ // PB
konfirmandernes kVnferm'&nd3-n@s // PB
//dollar dVlV // PB
giv g'i // PB the v shouldn't be pronounced
giver gir // PB the v shouldn't be pronounced
jaloux sj&'lu // PB jaloux
@@ -11210,13 +11175,13 @@ shampu Sjambo // PB Danish pronunciation - oo has been replaced b
(diner transportable) din'e|trANspVt'abl@ // PB
(quiche lorraine) kiS||lor'E:n:
(fait accompli) fEtakVmpl'i // PB
(salt lake city) s'Vlt||lEjk||s'iti
wien v'i:n // PB Wien - the town of Vienna
calais kal'E // PB Calais - town in France
date dejt // PB date - stævnemøde
siger sir // PB silent d
(tids nok) tis||n'Vk // PB silent d
skateboardet sk'eitbo@d3D // PB
billie bile // PB the name Billie
(hole in one) h'oulinw,0n // PB English golf expression used in Danish
(en passant) AN||p&s'AN
(coney island) 'kouni||'ajl3nd // PB
@@ -11228,6 +11193,7 @@ saigon sajg3-n // PB Saigon
managua m&n'&:gw&
(deja-vu) deSja||'vy
(il duce) il||d'u:tSj@ // PB Italian Fascist
(idiot savant) idi'o||s&v'AN

// Abbreviations
pga pO||gR'O?n||& $hasdot // PB short for 'på grund af'
@@ -11294,7 +11260,6 @@ hav hAu $atend
sig $atend $sentence saj // end of a sentence - han vaskede sig.
(gør sig til) g,Wr||saj||t'el // PB
(gav sig til) g&||saj||tel // PB han gav sig til at ...
sig si $capital //PB Sig = si with capital S - Sig det med blomster
// PB avoid [staj] as in "flæskesteg"
(han steg) h&n||st'e
(hun steg) hOn||st'e
@@ -11306,11 +11271,6 @@ steg sdaj $atend $sentence
steget ste@d
// PB problem with noun "hav" = ocean and verb "hav(e)" = to have [hAu]/[h&v]
(et hav) ed||h'Au // PB "et hav" = an ocean - not "hav en god dag" - have a nice day
// PB problem with lyst - blond = light coloured; and lyst = would like to, feel like
(lyst hår) lYst||hOr
(lys farve) lYs||fArw@
(er lyst) &r||l'Ysd
(lyst til) lWsd||tel
// PB legende = legend/myth and = playing
(en legende) en||leg'End@
legenden leg'End@n
@@ -11360,3 +11320,4 @@ nå nV $atstart // PB Nå, der er du
(det der) d'e||der
(de her) d'i||her
(de der) d'i||der
(gå på af) gO||p'O||&

+ 1117
- 319
dictsource/da_rules
File diff suppressed because it is too large
View File


+ 16
- 10
dictsource/de_list View File

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

// Uses of $alt:
// 1. Change ['i:] to [=I@] at end of word
// 2. age_ is French [A:Z@]


// Characters
@@ -151,7 +152,7 @@ chr k@rIstUs
dm d'OYtS@||m'A:rk $capital $only $abbrev
dr dOkt'o:r
evtl e:vEntu:'El
od o:d3
od o:d3 $only
fr fraU
frl frOYlaIn
hr hEr
@@ -196,12 +197,13 @@ sowie $2 $pause
obgleich $2 $pause
obwohl $2 $pause
deren de:r@n $u+ $brk
ebenfalls $pause

// prepositions
ab ap $u+ $brk
an an $u+ $brk
am am $u+ $brk
auf aUf $u+ $pause
auf aUf $u+ $brk
aus ,aUs $brk $strend
bei baI $u+ $brk $only
beim baIm $u+ $brk
@@ -254,7 +256,7 @@ daran dA:r'an
darauf $2
daraus $2
dabei $2
dadurch dA:d'Urx
dadurch dA:d'UrC
dafür $2
dagegen $2
daher dA:h'Er
@@ -386,7 +388,7 @@ wollt %vOlt
werden v,Erd@n $strend2
werde v,Erd@
wirst v,Irst
wird v,Irt
wird v,Ird
werdet v,Erd@t
wurden v,Urd@n
wurde v,Urd@
@@ -517,7 +519,7 @@ word _^_EN
abort ab'Ort
absentier apzEnt'i:r
abstinent $3
achsig 'aksIg#
achso axz'o:
akazie $alt
allein $2
andre andr@ // andere
@@ -545,6 +547,7 @@ bestie bEstI@
best bEst
beten be:t@n
bizarr $2
blamage $alt
bronchie $alt

changier SaNZ'i:r
@@ -554,6 +557,7 @@ coup ku:
dahlie $alt
debatte $2
deshalb $2
detail de:t'aI
dezember $2
diadem di:ad'e:m
dient di:nt
@@ -627,11 +631,13 @@ inkonstant $1
insbesondere $3
interess Int@r'Es
intern Int'Ern
internet Int@rnEt

januar janu:A:r

kamelie $alt
kanoe kan'u:
kartonage $alt
kastanie $alt
kid kId
komödie $alt
@@ -649,7 +655,6 @@ luetisch lu:'e:tIS
machen max@n
marginalie $alt
materie $alt
menagier me:naZ'i:r
menuette mEnu:'Et
minut $2
mikrofiche mi:kro:fi:S
@@ -662,8 +667,10 @@ mors mOrs
mumie $alt

nachdem naxd'e:m
nage $alt
nebulos $3
negligent ne:gli:dZ'Ent
nisch ni:S
numero $1

oboe o:b'o:@
@@ -701,14 +708,16 @@ soweit $2
sowohl $2
sparsam SpA:rzA:m
spinozaisch spi:n'o:tsaIS
spionage $alt
stalagmit stalagm'It
subjekt $1
system zIst'e:m

tag tA:g
telegen te:le:g'e:n
the D@ // English
theater te:'A:t3
tonnage $alt
tragödie $alt
train tre:n
tsunami tsu:n'a:mi:
turin $2
@@ -719,8 +728,6 @@ unten Unt@n
verein fEr'aIn
vielbesprochen $3
vielleicht $2
vorbei fo:rb'aI
vorher fo:rh'e:r
vorherig fo:rh'e:rIg#
vorig fo:rIg#

@@ -732,7 +739,6 @@ weither vaIth'Er
weitum vaIt_|'Um
woher vo:h'e:r


zloty slOti:
zoom zu:m
zugegen tsu:g'e:g@n

+ 32
- 14
dictsource/de_rules View File

@@ -71,7 +71,7 @@
_) a (natioP1 'A:
_) anath anat
_) an (der an
_) angli (@ aNgli:
_) angli (C aNgli:
_) anglo (@ ,aNglo:
_) anheim (C@P6 anh'aIm
_) animal ,ani:mA:l
@@ -88,7 +88,7 @@
a (C_ A:
@) a (bl_ 'A:
@) a (bel_ 'A:
s) a (g A:
s) a (g A:Spionage
@l) a (g A:
schl) ag (ge A:k
scl) a (g A:
@@ -100,6 +100,8 @@
_) achs (@P4 'aks
_) achs (el 'aks
j) ag (d A:k
age (_$w_alt 'A:Z@
age (n_$p_alt 'A:Z@
_) air _^_EN
m) air (_ aI3
ai (sch A:I
@@ -115,9 +117,12 @@
&sign) al (_ ,A:l
r) al (_ 'A:l
t) al (_ 'A:l
_) aller (@P5 'al@r
m) a (lt_ A:l
ker) am (ik 'A:m
@) an (_ 'A:n
@) ance (_ 'A~s
fr) ance (_ 'A~s@
ein) an (der 'an
@) ant (_ 'ant
_) anthropo ,antro:p%o:
@@ -228,6 +233,7 @@
_) cey tsaI
chef (_ SEf
_) c (ent ts
chance SA~s@
chara (kt k%ara
_) ch (ic S
_) ch (if S
@@ -380,11 +386,13 @@
m) e (nt E

@) ei (_ 'aI
rl) ei (_ aI
&fr) ei (_ ,aI
@@) erisch @rIS
&) erung (_ =@rUN

echo ECo:
h) ee (_ 'e:
_) e (ff %E
l) e (g_ 'e:
eih (_ aI
@@ -428,7 +436,7 @@
er (o_ 'e:r
_) ergeb (nis Erg'e:b
_) erst (CP4 'Erst
_) er (str+ _|%Er
_) ers (tr+ _|%ErS
@) er (v Er
mod) er (n Er

@@ -504,12 +512,13 @@
_) ge (beX ge:
geben ge:b@n
ge(birg g@
gegen (@P5 ge:g@n
gegen (_ ge:g@n
gegen (_@P5 ge:g@n
gegen ge:g@n
gegn ge:gn
gehen ge:@n
_) geh (eX ge:
gei (+ gaI
_) ge (imp g@
ge (mach g@
ge (mal g@
ge (tr g@
@@ -595,7 +604,7 @@
i (d_ 'i:
i (dee %i:
i (erin =i:
&) ig (+ Ig# // [ig] or [iC]
ig (+ Ig# // [ig] or [iC]
igh (K _^_EN

i (i i:_!
@@ -624,6 +633,7 @@
z) in (_ 'i:n
@) in (o_ 'i:n
@) ion (_ j'o:n
g) ion (_ i'o:n
@) io (n Io:
io Io:
@) is (_ Is
@@ -643,6 +653,7 @@
ie i:
ieh i:
@) ie (_ 'i:
@) ie (_$w_alt =I@

&) ie (ll_ I'E
&) ie (r_ 'i:
@@ -761,8 +772,10 @@ formal) ie =I@
m m
m) m

_) manch manC // for 'manchen'
marine mA:r'i:n@
_) meß (@P3 m'Es
_) menag m%e:nA:Z
_) met (all m%e:t
_) meth m%e:t
meter m'e:t3
@@ -776,7 +789,7 @@ formal) ie =I@
_) m (nem m // allow _mnem
_) mo (rb m%O
_) mono (@ m,o:no:
_) motor m%o:to:r
_) motor m'o:to:r
_) ms _^_EN
musik m%u:zi:k

@@ -804,7 +817,7 @@ formal) ie =I@
_) ne (g ne:
neglig ne:gli:Z
neglige ne:gli:Z
&) ness _^_EN
&) ness (_N _^_EN
news _^_EN
nieder ni:d3

@@ -852,6 +865,7 @@ formal) ie =I@
&) oren (_ 'o:r@n
_) orts (@P4 'Orts
oso (_ 'o:zo:
_) oster 'o:st@r
st) o (ss o:
oy (K OY

@@ -913,7 +927,7 @@ formal) ie =I@
_) r (_ Er
r r
r (r
b) r @-*
b) r r // uses phonemes @-*
_) r r
_) rh (A r // allow _rh

@@ -968,6 +982,7 @@ formal) ie =I@
_be) sp Sp
_ge) sp Sp
_ver) sp Sp
sp (an Sp
sp (eich Sp
sp (err Sp
sph sf
@@ -1015,10 +1030,12 @@ formal) ie =I@

speed _^_EN
stau) ss s
_) st (ilA st
@) straße (_S6 str,A:s@
_) street _^_EN
style _^_EN
synthesi _^_EN
system z%Iste:m

.group t
_) t (_ te:
@@ -1163,6 +1180,7 @@ formal) ie =I@

vater fA:t3
väter fE:t3
_) v (ati_ f
_) v (ät f
_) v (ie f
_) v (iet v
@@ -1201,10 +1219,10 @@ formal) ie =I@
_) vor (n fOr

_) vor (@P3 'fo:r
_) voraus (@P6 fo:r'aUs
_) vorbei (@P6 fo:r'baI
_) vorher (@P6 fo:rh'e:r
_) vorüber (@P7 fo:r'yb3
_) voraus (P6 fo:r'aUs
_) vorbei (P6 fo:r'baI
_) vorher (P6 fo:rh'e:r
_) vorüber (P7 fo:r'yb3

.group w
_) w (_ ve:
@@ -1257,7 +1275,7 @@ formal) ie =I@
_) zere (b tse:re:
_) zere (m tse:re:
ziell tsj'El
_) zie (ge@P3 ts'aI
_) zie (ge@P3 ts'i:
_) zeit (@P4 ts'aIt
_) ziel (@P4 ts'i:l
_) zier (@P4 ts'i:r

+ 104
- 43
dictsource/dict_phonemes View File

@@ -1,7 +1,7 @@
Phonemes which are used in the *_rules and *_list files


Dictionary af_dict 2010-08-26
Dictionary af_dict 2011-02-09

& &: 3: @ @- @L @U a
A: aI AI aU A~ E e: e@
@@ -53,7 +53,7 @@ p r s S t T v w
x z


Dictionary da_dict 2010-12-02
Dictionary da_dict 2011-02-13

& &# 0 3 @ @- a A
aI e E i o O u V
@@ -63,10 +63,10 @@ W W# y Y
dZ f g h j J k l
l/2 l/3 m n N p r R
s S t T tS v w x
z
z Z


Dictionary hu_dict 2010-12-19
Dictionary hu_dict 2011-03-10

a A a: E e: i i: o
o: u u: Y y y: Y:
@@ -77,12 +77,12 @@ n n^ p r R R2 s S
s2 t t2 tS ts v z Z


Dictionary de_dict 2010-12-19
Dictionary de_dict 2011-03-13

3 3: @ @- a A A: aI
aU E E2 E: e: EI i I
i2 i: n- o O o: OY U
u: W y y: Y:
aU A~ e E E2 E: e: EI
i I i2 i: n- o O o:
OY U u: W y y: Y:

* : ; b C d D dZ
f g g# h j k l m
@@ -100,7 +100,7 @@ p Q r R s s; t T
ts v x z z;


Dictionary en_dict 2010-11-18
Dictionary en_dict 2011-03-09

0 3 3: @ @- @2 @5 @L
a a# A: A@ aa aI aI@ aU
@@ -150,7 +150,7 @@ l m n N p r s S
s2 t v w Z


Dictionary fr_dict 2010-12-10
Dictionary fr_dict 2011-03-01

@ @- a A~ e E E: E~
i I o O O~ u u: w
@@ -200,7 +200,7 @@ q r r. s S s. t T
t. th th. v w x z


Dictionary ta_dict 2010-12-19
Dictionary ta_dict 2011-03-13

a a: aI aU e E e: i
I i: o o: u U u2 u:
@@ -224,15 +224,15 @@ p# r R r" s S t t#
tS ts ts# v X z Z


Dictionary id_dict 2010-01-07
Dictionary id_dict 2011-02-21

@ a aI aU e E E2 i
o O u

: ? b d dZ f g h
j k l m n N n^ p
r R R2 s S t tS v
w x z
: ? b C d dZ f g
h j k l m n N n^
p r R R2 s S t tS
v w x X z


Dictionary is_dict 2010-04-05
@@ -249,10 +249,10 @@ n^# p Q r R r# R2 s
S s2 t T tl# v x z


Dictionary it_dict 2010-12-03
Dictionary it_dict 2011-01-15

@- a a/ aI aU e E eI
i I o O u
i I i# o O u

* : ; b d dZ f g
h j k l l^ m n N
@@ -325,12 +325,12 @@ k l m n p R s S
t tS v w x


Dictionary nl_dict 2010-12-19
Dictionary nl_dict 2011-03-13

8 @ @- a A a: A~ E
E2 e: EI eU i I o O
O: o: O~ u VU Wy y Y:
yU
8 @ @- a A a: A~ e
E E2 e: EI eU i I o
O O: o: O~ u VU Wy y
Y: yU

* : ; b d D dZ f
g h j k l m n N
@@ -338,7 +338,7 @@ n^ p Q r s S t tS
v v# w x z Z


Dictionary no_dict 2010-10-25
Dictionary no_dict 2011-03-07

@ a A a# a: A: AI aI
aU E E: e: I i: O o:
@@ -387,7 +387,7 @@ S s# s; t T tS ts v
w x z Z


Dictionary ro_dict 2010-03-12
Dictionary ro_dict 2011-03-10

@ @- @I @U a aI aU e
ea eI eo eU i i/ I^ iI
@@ -402,15 +402,14 @@ ts; v v; w w2 x z Z
z; Z;


Dictionary ru_dict 2010-03-13
Dictionary ru_dict 2011-03-10

8 @- a A e E E# E2
E3 i I I# I2 I3 I^ ja
ju o O u u" u# V V#
y Y
8 @- a A e E E# E%
E2 i I I# I3 I^ ja ju
o O u u" u# V y Y

* ; b d d; dZ; f g
j k l l^ m m; n n^
j k l l^ m m; n n_
p r R s S s; S; t
t; ts tS; v x z Z z;
Z;
@@ -475,7 +474,7 @@ p R R^ s S t tS ts
v w x z Z


Dictionary tr_dict 2010-07-27
Dictionary tr_dict 2011-01-28

@ a e E i I o O
u U W y Y
@@ -534,18 +533,18 @@ s S t tS ts v w x
z Z


Dictionary ml_dict 2009-10-10
Dictionary ml_dict 2011-03-09

a a: aI aU e E e: i
I i: o o: r- u u: V
y
@ a a: aI aU e E e:
i I i: o o: r- u u:
V y

: b bh c ch d d. dh
dh. dZ f g gh h j J
Jh k kh l l. m n N
n. n^ p ph R R2 s s.
S; t t. th th. tS v w
z z.
n. n^ p ph r R r. R2
s s. S; t t. th th. tS
v w z


Dictionary ne_dict 2008-12-16
@@ -610,15 +609,14 @@ s. t T t. th th. v x
z Z z.


Dictionary bg_dict 2010-05-19
Dictionary bg_dict 2011-03-12

@ a e i o u

; b C d d; dZ dz dz;
: ; b C d d; dZ dz
f g j k l L l^ m
n n^ p r s S s; t
t; tS ts ts; v x z Z
z;
t; tS ts v x z Z z;


Dictionary nso_dict 2010-08-27
@@ -674,3 +672,66 @@ o: u u:
J k l m n N n^ p
q R R2 s s2 t v w
x z


Dictionary dv_dict 2011-01-08

@ @2 a a: aI e e: E:
E~ i I i: o O o: O:
O~ u U u: V

: ? b c ch d D d.
dZ f g h j k kh l
l. m n N n. n^ p Q
q r R s S s. t T
t. th th. tS v w x z
Z


Dictionary kn_dict 2011-03-11

a a: aI aU e E e: i
I i: o o: r- u u:

#X1 #X2 : b bh c ch d
d. dh dh. dZ f g gh h
j J Jh k kh l l. m
n N n. n^ p ph r s
S s. S; t t. th th. tS
v w z


Dictionary tn_dict 2011-02-17

@- a e i m- n- N- o
u

* - : b B d D dZ
f g h j J k K l
l# m n N n^ p Q r
R R3 s S t T tS ts
v w x X z


Dictionary te_dict 2011-02-08

a a: aI aU e E e: i
i: l- o o: r- u u: V

#X1 #X2 : ; b bh c ch
d d. dh dh. dZ f g gh
h j J Jh k kh l l.
m n N n. n^ p ph r
s s. S; t t. th th. tS
v w z


Dictionary ka_dict 2011-03-11

@ @- a e i o u

: ? b c d dZ dz f
g h j k k# l m n
p p# Q q r s S t
t# tS ts ts# v w x z
Z

+ 11
- 2
dictsource/en_list View File

@@ -709,6 +709,7 @@ bourgeoisie bU@ZwA:z'i:
bouquet bu:k'eI
bow boU
bow baU $verb
bowtie b,oUt'aI
breakfast brEkf@st
breath brET $onlys
breath bri:D $verb $onlys
@@ -1569,6 +1570,7 @@ nepenthe nI2pEnTI
nescience nEsI@ns
nicety naIs@tI
niche ni:S
ninja nIndZ@
noah noUV
nobly noUblI $verbf
nobody 'noUb0dI
@@ -1816,7 +1818,7 @@ rabbis rabaIz
rabid reIbI2d
radar reIdA@
radioactive reIdI2oU'aktIv
radon reId0n
radish radIS
ragged ragI2d
rainforest r'eInf,0rI2st
rajah rA:dZA:
@@ -1866,6 +1868,7 @@ refinery rI2faIn@rI
refit ri:fIt
reflex ri:flEks
reflux ri:flVks
refund ri:fVnd $noun
reg rEdZ
regal ri:g@L
regime reIZ'i:m
@@ -1909,6 +1912,7 @@ restaurant rEstr0nt
restful rEstf@L
restoration rEst@r'eIS@n
retaliatory rI2tali:@t@rI
retina rEtIn@
retrial ri:traI@l
retry ri:traI
reuse ri:'ju:z
@@ -1965,6 +1969,7 @@ scepter sEpt3
sceptre sEpt3
sclera skli@r
scourge sk3:dZ
scrotum skroUt@m
scythe saID
seabed si:bEd
sealion si:laI@n
@@ -2122,6 +2127,7 @@ tatar tA:t3
tearing te@r-I2N
tear ti@3 $onlys
tear te@ $verb
teargas ti@3gas
teddybear t'EdIb,e@
telephony tEl'Ef@nI
ten tEn // untenable
@@ -2271,7 +2277,6 @@ voila vwal'a
volcano v0lk'eInoU

(wall st) w'O:lstr,i:t
wane weIn
wannabe w0na#bi:
warring wO@rIN
wastage weIstI2dZ
@@ -2448,6 +2453,7 @@ Donegal d0nI2g'O:l
Durham dVr@m
Egyptian IdZ'IpS@n
Eire e@r@
Erie i@ri
Geneva dZ@ni:v@
Gdansk g@-dansk
Gomera goUm'e@r@
@@ -2574,6 +2580,7 @@ Utah ju:t2A:
Utrecht ju:trECt
Vancouver $2
Vegas veIg@s
Vermont $2
Vienna vI'En@
Winnipeg wInI2pEg
Wisconsin wI2sk'0nsIn
@@ -2598,6 +2605,7 @@ Ahmed axmEd
Alan al@n
Alec alIk
Alex alIks
Alfie alfi
Alfred alfrI2d
Alice alIs
Allen al@n
@@ -2795,6 +2803,7 @@ Tracy treIsi
Tricia trIS@
Vanessa va#nEs@
Wally w0lI
Yves i:v
Yvonne $2
Zoe zoUI


+ 15
- 5
dictsource/en_rules View File

@@ -164,7 +164,7 @@
w) ay eI
_) ayle eI@L
_) ayr e@
h) a (z eI
h) a (zA eI
l) a (z eI
sw) a (z A:
r) a (zA eI
@@ -749,7 +749,7 @@
h) ang (er aN
m) anoeu (v @nu:
_qu) an 0n
_w) an 0n
_w) an (C 0n
_w) an (g an
_w) an (k an
_tr) an (s %an
@@ -859,8 +859,9 @@
c) arbo (h ,A@boU
_) arch (@P4 ,A@tS // prefix
_) archai A@k'eII
_) arche (o A@kI
_) arch (AA A@k
_) arch (er A@tS
_) arch (et A@k
_) archi A@kI
_) archiv (+ A@kaIv
@) arch (y A@k
@@ -1335,7 +1336,7 @@
ch (irA k
a) ch (il k
bra) ch k
te) ch k
te) ch (K k
ch (isC k
ch (ic_ k
@@Car) ch (_ k
@@ -1366,6 +1367,7 @@

.group co
_) co (ag k%oU
_) coa (x koUa
coa (les k%oUa#
_) co (eCP2 k,oU
_) coe (l si:
@@ -2267,6 +2269,7 @@
er (nal_ '3:
&) er (n_ 3
c) er (n_ 3:
&) er (oCe_ =@r
er (se 3:
er (sal '3:
@) er (sial '3:
@@ -2486,6 +2489,7 @@
_) gaol dZeIl
ge (dd g'E
g (eek g
_) g (ert g
geous dZ=@s
g (E dZ
g (i dZ
@@ -2542,6 +2546,7 @@
_) he' %hi:
@) head (_S4 hEd
heir e@
hero hi@roU
_) hetero hEtroU
K) hl l#
&) hold (_S4 hoUld
@@ -2590,6 +2595,7 @@
c) i (_ aI
d) i (_ =I
h) i (_ =aI
sh) i (_ i
XC) i (_ aI
&sk) i (_ =I
@@h) i (_ =I
@@ -3290,6 +3296,7 @@
_) jere (C dZEr@
_) jes (ui dZEz
_) joa (n@ dZoU'a
n) j (a_ j
j (ü j

.group k
@@ -3517,6 +3524,7 @@
ng (ie_ ndZ
ng (iti ndZ
ng (e ndZ
_ri) ng (e Ng
ng (y Ng
mA) ng (y ndZ
u) ng (y ndZ
@@ -3530,7 +3538,7 @@
i) ng (er Ng
ri) ng (er N
si) ng (er N
bi) ng (er ndZ
bi) ng (er ndZ
gi) ng (er ndZ
o) ng (er Ng
you) ng (er Ng
@@ -3708,6 +3716,7 @@
opolitan @p'0lIt@n
oppor (tu %0p3
opp (res @p
o (shA_ oU
piv) o (t @
&g) ot (_ @t
rr) ot (_ @t
@@ -5381,6 +5390,7 @@
E (Cia 'i:
Ea (_ =i@
Ea (n_ 'i@
Ectomy (_S6 'Ekt@mI
@@) Ed (_S2vei d
&C) Ed (_S2vei d
&c) Ed (_S2vei t

+ 47
- 14
dictsource/fr_list View File

@@ -24,7 +24,7 @@

// 2006-11-18 Gilles Casse <[email protected]>
//
// Updated 2010-10-15 Michel Such <[email protected]>
// Updated 2011-02-18 Michel Such <[email protected]>
//
// * Numbers, a few abbreviations and exceptions.
//
@@ -43,40 +43,52 @@ b be
c se
ç $accent
d de
e @
_e @
e _!@
ë $accent
é $accent
è $accent
ê $accent
ë $accent
f Ef
_f Ef
f _!Ef
g Ze
h aS
i i
_h aS
h _!aS
_i i
i _!i
ï $accent
î $accent
j Zi
k ka
l El
m Em
n En
_l El
l _!El
_m Em
m _!Em
_n En
n _!En
ñ $accent
o o
_o o
o _!o
_ô $accent
ö $accent
œ o||@||lie
p pe
q ky
r Er
s Es
u y
_r Er
r _!Er
_s Es
s _!Es
_u y
u _!y
ù $accent
û $accent
ü $accent
v ve
w dubl@v'e
x iks
_y i:gr'Ek
_x iks
x _!iks
_y _!i:gr'Ek
z zEd


@@ -267,6 +279,7 @@ cpu $abbrev
ctrl _::kO~trOl
dept département $text
divx diviks
dj _^_en
ebay _^_en
(e bay) ebay $text
ebcdic @besedik
@@ -295,6 +308,7 @@ m. m@siY
mbit megabit
mbrola Embrola
mci $abbrev
mercedes mErsedEs
mhz megaErts
mlle mademoiselle $text
mm millimètre $text
@@ -321,6 +335,7 @@ qqs quelques $text
ratp $abbrev
riaa $abbrev
riscos riskoEs
samsung samsuN
sap $abbrev
scsi $abbrev
solaris solaris
@@ -671,6 +686,7 @@ bus bys
bus by $verb
cancer kA~sEr
canyon kanjOn
center _^_en
charles Sarl
(chef d'oeuvre) chédeuvre $text
(chef d'oeuvres) chédeuvres $text
@@ -679,6 +695,7 @@ choeur kWr
cinema sinema
cocus kOky
couscous kuskus
cynthia sintia
delete _^_en
dengue dE~g
dernier dErnjer2
@@ -697,7 +714,9 @@ free _^_en
fuel fjul
gangster gA~gstEr
gars ga
geek _^_en
genesis Zenezis
german _^_en
georges ZOrZ
gilles Zil
gin dZin
@@ -706,14 +725,19 @@ gus gys
gym Zim
han _|A~
hélas elas $u+
hermes _|ErmEs
input _^_en
island _^_en
jackpot dZakpOt
jacques Zak
james _^_en
karaoke karaoke
kevin kevin
laetitia letisja
laser lazEr
listbox listbOks
louis lwi
luigi lwidZi
malus malys
mai mE
mapper _^_en
@@ -728,9 +752,11 @@ monsieur m@sjY
mrs _^_en
oasis oazis
ours urs
output _^_en
pataquès patakEs
peter _^_en
phallus falys
pokémon pokemOn
polder pOldEr
premier pr@mjer2
program _^_en
@@ -741,6 +767,8 @@ quit _^_en
recorder _^_en
requiem rekyijEm
revolver revOlvEr
(saint cloud) sE~klu
(st cloud) sE~klu
sas sas
scan _^_en
scanner skaner2 $verb
@@ -761,6 +789,8 @@ vaut $u+
vaux $u+
vénus venys
vot vOt
waluigi waluidZi
wario warjo
yves iv


@@ -874,6 +904,7 @@ mailto _^_en
media medja
messenger _^_en
nat nat
nintendo _^_en
not _^_en
null _^_en
ok oke $u+
@@ -890,6 +921,7 @@ sun _^_en
(text aloud) _^_en
ubuntu ubuntu
up _^_en
wii wi:
yes _^_en
yet _^_en

@@ -961,4 +993,5 @@ venezuela venezyEla
(viêt nam) vjEtnam
wallis walis
futuna futuna
yoshi _^_en
zimbabwe zimbabwe

+ 23
- 7
dictsource/fr_rules View File

@@ -27,7 +27,7 @@
// http://www.fluxnic.net/cicero
//
// Rules are now maintained by Michel Such <[email protected]>
// Last update: 2010-12-06 Michel Such <[email protected]>
// Last update: 2011-02-18 Michel Such <[email protected]>
//

// Letter classes:
@@ -70,7 +70,7 @@

// For english words ending "side"
.L14 be in up ut
.L15 c f g h l s
.L15 c f g h



@@ -527,8 +527,8 @@ s_couv) en (t_ // elles couvent
eu (i W // feuille
eu (CeX Y // meule
eu (reX W // demeure
gu) eu (leX W // gueule
gu) eu (ler Y // gueuler
eu (leX W // gueule
eu (ler Y // gueuler
eu (rC W // pleurnicher
eu (rreX W // beurre
_) eu (ss y // eusse
@@ -587,7 +587,7 @@ gu) eu (ler Y // gueuler

// group e: English section
ea _^_en
e (CeX _^_en
_) e (CeX _^_en
ed (_ _^_en
ee _^_en // meeting
efore (_ _^_en // before
@@ -597,9 +597,10 @@ gu) eu (ler Y // gueuler
el (sX El
_) enter (_ _^_en // enter
_) enhan _^_en
ess (_ _^_en // loudness
qu) est (_ _^_en // request
qu) este (X_ _^_en // requested, requester
_) even (K _^_en
even (_ _^_en
_) ever _^_en
oC) ever _^_en // forever, however
ew (++ _^_en
@@ -740,6 +741,7 @@ _quatrevin) gts (_ z2
// group h: English section
_) half _^_en
_) ha (C_ _^_en
hn _^_en


.group i
@@ -815,6 +817,7 @@ _quatrevin) gts (_ z2
ill (_ _^_en // Bill
C) ill (y_ _^_en // Billy
ing (_ _^_en
i (pAd _^_en
C) irt (_ _^_en
iven (_ _^_en
ind (X _^_en // find, mind
@@ -832,7 +835,7 @@ C) irt (_ _^_en


ïn (K E~ // coïncidence
ma) ïs (_ is // maïs
Ca) ïs (_ is // maïs



@@ -891,6 +894,10 @@ pp) l (eX l

// group m: English section
m (n_ _^_en // column, autumn
e) mail _^_en
d) mail _^_en
g) mail _^_en
t) mail _^_en
mov (AX _^_en // move, movy
mov (ie_ _^_en // move, movy

@@ -1009,6 +1016,8 @@ _) o (rder_ _^_en // order
oo (X _^_en // pool
C) oot _^_en // bootable football
_) one _^_en
l) oud (X _^_en // cloud, loud
XC) oud (X _^_en
oun (C _^_en // bounce, found
_) over _^_en // over
_sC) ot _^_en // shot, slot, spot
@@ -1099,6 +1108,7 @@ _C) oy (X _^_en // boy, toy
// group r: English section
_) real _^_en
rst (_ _^_en
r (Cy_ _^_en
_) rule _^_en


@@ -1197,6 +1207,7 @@ _cACpu) s (_ s

// group s: English section
send (_ _^_en
server (X _^_en
sh (_ _^_en
sh (Ap _^_en // shop, ship
sh (At _^_en // shut, shot
@@ -1322,6 +1333,7 @@ _transA) t (_ t
too _^_en
ttl _^_en
g) ton (_ _^_en // try, country
i) t (uneX _^_en
try (_ _^_en // try, country
sCar) t (_ _^_en // smart, start
sCar) t (er_ _^_en // starter
@@ -1417,6 +1429,7 @@ C) ult (_ _^_en
_) w (AC _^_en
_) w (ina w
_) w (Ai _^_en
_) w (Att w
_) w (ACo w
_) we _^_en
wh _^_en // why whisky when
@@ -1424,6 +1437,7 @@ C) ult (_ _^_en
war _^_en // war
wav _^_en // wave
way _^_en // way, away
A) wn _^_en
wor _^_en


@@ -1473,8 +1487,10 @@ C) ult (_ _^_en

// group y: English section
_C) y (_ _^_en
AC) y (_ _^_en
C) y (e_ _^_en
%C) y (_ _^_en
ss) y (_ i
@CeC) y (_ _^_en
nC) y (_ _^_en
yze _^_en

+ 405
- 8
dictsource/hu_list View File

@@ -124,7 +124,7 @@ _#-re e:R2E $alt2
_#-én e:n //need remove the $alt2 attribute with this line
_#-ai Ai $alt2
_#-ei Ei $alt2
_#-től e:tY:l //$alt2
_#-től e:tY:l $alt2
_#-tól a:to:l $alt2
_#-ig e:ig $alt2 //special date ordinal numbers for example elsejéig, negyedikéig etc.
_#-éről e:R2Y:l
@@ -196,7 +196,7 @@ _#-ikának a:nAk
(3-ig) harmadikáig $text $alt2
(6-i) hAtodikAi $alt2
(6-ig) hatodikáig $text $alt2
(8-i) n^'oltsAdikAi $alt2
(8-i) n^oltsAdikAi $alt2
(8-ig) nyolcadikáig $text $alt2
(13-ig) tizenharmadikáig $text $alt2
(16-ig) tizenhatodikáig $text $alt2
@@ -209,7 +209,6 @@ _#-ikának a:nAk
(30-ig) harmincadikáig $text $alt2
(30-i) harmincadikai $text $alt2


// these exceptions only for 0, not for other numbers ending in '0'
(0-ás) nul:a:S
(0-t) nul:a:t
@@ -267,14 +266,13 @@ _#-ikának a:nAk
(4-edikkel) nEJEdik:El //special exception
(5-tel) Yt:El
(5-el) Yt:El
(5-től) Yt:Y:l
(5-től) YtYdike:tY:l $alt2
(5-t) YtYt
(5-ször) Yts:YR2
(6-al) hAt:Al
(6-tal) hAt:Al
(6-tól) hAt:o:l
(6-tól) h'Atodika:to:l $alt2
(6-tól) hAtodika:to:l $alt2
(6-szor) hAts:oR2
(7-től) he:t:Y:l
(7-től) hEtEdike:tY:l $alt2
@@ -418,17 +416,19 @@ _?? kAR2AktEr||ko:d // unknown characters (change this)
// Abbreviations
ADSL a:de:ESEl $allcaps //Internet connection type, we pronouns this with ádéesel
ÁFAa:fA $allcaps
ÁSZ a:s $allcaps
ÁNTSZ a:Ente:Es $allcaps
ATM a:te:Em $allcaps //The ATM stands. We pronouns this abbreviation with átéem word. Default, Espeak pronouns this abbreviation with atéem word.
cm tsEntime:tER2
km kilo:me:tER2
DNS de:EnES $allcaps
GYSEV JESEv $allcaps
GYESEV JESEv $allcaps
HÉV he:v $allcaps
IPTV $abbrev $allcaps
GDP dZi:di:pi: $allcaps
?2 GDP $abbrev $allcaps
GSM ge:ESEm $allcaps
HSDPA $abbrev $allcaps
kb kYR2ylbElyl $hasdot
MLSZ EmElEs $allcaps
@@ -441,6 +441,7 @@ mm milime:tER2
RAM R2Am $allcaps //Espeak normaly spokening this abbreviation with erraem, but this is not good
Psszt ps:t $capital // similar word with quiet word. Espeak default spokening this abbrew quiet word with letter by letter by default.
Pszt ps:t $capital //same as prewious abbrewiation
TAJ tAj $allcaps
VDSZSZ ve:de:EsEs $allcaps
WC ve:tse: $allcaps
LST ElESte: $allcaps
@@ -464,6 +465,7 @@ ill illEtvE $hasdot
ifj ifjAb: $hasdot
mta $abbrev
pl pe:lda:ul $hasdot
özv YzvEJ $hasdot $only
stb SAtYb:i $hasdot
u.n u:JnEvEzEt: $hasdot
ú.n u:JnEvEzEt: $hasdot
@@ -575,6 +577,7 @@ nekem $unstressend
közül $unstressend
közé $unstressend
között $u $alt3
délelőtt $alt3
idén $alt3
környékén $alt3
an $u // so many persons
@@ -671,7 +674,7 @@ szét $unstressend //apart
össze $unstressend //connect with
vissza $unstressend //back
volna $unstressend // would
//részén $u //on ... part of

nélkül $unstressend // without
//folytán $u // because of
@@ -1278,6 +1281,398 @@ helyiség $unstressend
úton $unstressend
való $unstressend
fakad $unstressend
gondolja $unstressend
indokolta $unstressend
szakértő $unstressend
kapcsolt $unstressend
négy $unstressend
valakit $unstressend
védekeztek $unstressend
helyéről $unstressend
küldeni $unstressend
határozni $unstressend
követően $unstressend
változó $unstressend
nyilatkozott $unstressend
alkalmazott $unstressend
helyen $unstressend
olcsóbb $unstressend
bizottságtól $unstressend
bizottságot $unstressend
értesült $unstressend
dobni $unstressend
védelem $unstressend
kalózkodástól $unstressend
lementeni $unstressend
részlegével $unstressend
lefedettség $unstressend
képzése $unstressend
várhatók $unstressend
kártya $unstressend
kérhető $unstressend
civil $unstressend
célok $unstressend
növelése $unstressend
oldal $unstressend
cégek $unstressend
fontos $unstressend
halasztott $unstressend
érdekében $unstressend
érdek $unstressend
felelősége $unstressend
tartom $unstressend
iparba $unstressend
jelzi $unstressend
terület $unstressend
tanácsát $unstressend
tervből $unstressend
helyről $unstressend
kezdve $unstressend
mondani $unstressend
képzésekkel $unstressend
prioritással $unstressend
indulni $unstressend
akarjuk $unstressend
célkitűzés $unstressend
törekszünk $unstressend
szükség $unstressend
tételéről $unstressend
állapot $unstressend
kérdés $unstressend
ügynökséget $unstressend
fontosabb $unstressend
hiba $unstressend
forráskódnak $unstressend
forráskódot $unstressend
okoz $unstressend
szám $unstressend
hálózatokba $unstressend
szerepe $unstressend
embereknek $unstressend
ember $unstressend
világnak $unstressend
világba $unstressend
tervünk $unstressend
feltétel $unstressend
tartalmak $unstressend
hozadékot $unstressend
megoldanunk $unstressend
fejlesztésen $unstressend
lépésekkel $unstressend
gyarapodó $unstressend
ígéretet $unstressend
határidő $unstressend
igen $unstressend
teljesítéséhez $unstressend
stratégiájával $unstressend
rendszerekre $unstressend
vicc $unstressend
szakemberei $unstressend
változatból $unstressendváltozatából $unstressend
bizottságnak $unstressend
nyilatkozta $unstressend
rendelkezések $unstressend
pontja $unstressend
szemben $unstressend
fordítását $unstressend
összevetni $unstressend
átállást $unstressend
várni $unstressend
órás $unstressend
kerülő $unstressend
könyvek $unstressend
tartalom $unstressend
szoftverei $unstressend
rendszerre $unstressend
trágár $unstressend
módon $unstressend
következnek $unstressend
alapján $unstressend
kíváncsi $unstressend
kérdései $unstressend
ejteni $unstressend
javasolta $unstressend
partíció $unstressend
mappára $unstressend
mappa $unstressend
kiírni $unstressend
írsz $unstressend
járvány $unstressend
helyezni $unstressend
felhős $unstressend
ég $unstressend
eső $unstressend
fogva $unstressend
centrikus $unstressend
tehetek $unstressend
tenni $unstressend
segély $unstressend
járadék $unstressend
származó $unstressend
kérte $unstressend
mutatkozik $unstressend
esetén $unstressend
növelt $unstressend
kedvezmény $unstressend
kérdéssel $unstressend
telefonok $unstressend
nyújtó $unstressend
elterjedt $unstressend
hallgatni $unstressend
nézni $unstressend
magas $unstressend
rendszer $unstressend
azonban $unstressend
miniszternek $unstressend
jogot $unstressend
eljárást $unstressend
benyújtása $unstressend
bizonyítania $unstressend
ejtették $unstressend
egymással $unstressend
harc $unstressend
éjjel $unstressend
kész $unstressend
látom $unstressend
siettünk $unstressend
megtelt $unstressend
hely $unstressend
kijönni $unstressend
láttunk $unstressend
mentünk $unstressend
kezdett $unstressend
tolakodtak $unstressend
ordibálta $unstressend
kiabálta $unstressend
káosz $unstressend
hibáztak $unstressend
esik $unstressend
valahova $unstressend
mondott $unstressend
azzal $unstressend
tartották $unstressend
rendőrt $unstressend
tömegről $unstressend
szemtanúk $unstressend
szemtanúval $unstressend
tudott $unstressend
mondtak $unstressend
történt $unstressend
mentem $unstressend
szemmel $unstressend
jártam $unstressend
nyitottunk $unstressend
hónapot $unstressend
ellátást $unstressend
munkám $unstressend
unni $unstressend
oldani $unstressend
munka $unstressend
használom $unstressend
használok $unstressend
kódú $unstressend
környezethez $unstressend
szabbványt $unstressend
tervezve $unstressend
jelölni $unstressend
jelölésnél $unstressend
üzenet $unstressend
üzeneteket $unstressend
használnak $unstressend
tartás $unstressend
maradjanak $unstressend
helységeket $unstressend
tartásáról $unstressend
hónapig $unstressend
válna $unstressend
vágyók $unstressend
vállal $unstressend
létezik $unstressend
fogalmazott $unstressend
címen $unstressend
nevű $unstressend
föld $unstressend
csomaggal $unstressend
származik $unstressend
változik $unstressend
nyúl $unstressend
piacán $unstressend
azok $unstressend
felnövő $unstressend
szolgálna $unstressend
védekezett $unstressend
testvér $unstressend
tud $unstressend
posztját $unstressend
néven $unstressend
arany $unstressend
részesült $unstressend
piacon $unstressend
botránya $unstressend
emlegetni $unstressend
irányával $unstressend
elvet $unstressend
ahhoz $unstressend
élén $unstressend
eladni $unstressend
ismert $unstressend
felel $unstressend
végzik $unstressend
végződtek $unstressend
szólva $unstressend
tény $unstressend
testületnek $unstressend
végzés $unstressend
tették $unstressend
környékén $unstressend
valószínű $unstressend
várható $unstressend
hagyva $unstressend
okot $unstressend
tudom $unstressend
készült $unstressend
érvelt $unstressend
tudnia $unstressend
tudatta $unstressend
vezetőknek $unstressend
helyzetben $unstressend
vége $unstressend
végén $unstressend
írják $unstressend
utal $unstressend
készül $unstressend
köd $unstressend
ködös $unstressend
idő $unstressend
részek $unstressend
alakul $unstressend
véget $unstressend
helyett $unstressend
körét $unstressend
vonatkozik $unstressend
javaslat $unstressend
tagjai $unstressend
döntés $unstressend
dolgot $unstressend
tudjuk $unstressend
tudják $unstressend
tudjátok $unstressend
jársz $unstressend
könyvtár $unstressend
fájlt $unstressend
fájlját $unstressend
törvény $unstressend
jövőt $unstressend
viszont $unstressend
járna $unstressend
állnia $unstressend
írnánk $unstressend
írnák $unstressend
dolgoznak $unstressend
hozzá $unstressend
valók $unstressend
tartozik $unstressend
képlet $unstressend
leírva $unstressend
dolgozik $unstressend
ragad $unstressend
mutatja $unstressend
olyan $unstressend
dolgozni $unstressend
hal $unstressend
blikkre $unstressend
markom $unstressend
törekszik $unstressend
szánni $unstressend
motor $unstressend
tortát $unstressend
torta $unstressend
részéről $unstressend
elképzelés $unstressend
épít $unstressend
magyarázzák $unstressend
mondhatjuk $unstressend
igaz $unstressend
tekintünk $unstressend
adódik $unstressend
díjakat $unstressend
tehát $unstressend
hatóanyagú $unstressend
járhat $unstressend
látható $unstressend
megoldást $unstressend
hatna $unstressend
épülő $unstressend
gyorsítást $unstressend
felületről $unstressend
hónap $unstressend
található $unstressend
kapcsán $unstressend
rendszerbe $unstressend
járadékot $unstressend
ezren $unstressend
megnézni $unstressend
járadékát $unstressend
nyugdíjat $unstressend
bírna $unstressend
értjük $unstressend
válnak $unstressend
mértékében $unstressend
nyilvánítást $unstressend
lyukat $unstressend
tudja $unstressend
szélen $unstressend
hozták $unstressend
számlák $unstressend
törlesztés $unstressend
nézik $unstressend
fokú $unstressend
lehetséges $unstressend
korúakkal $unstressend
látják $unstressend
őrnek $unstressend
érzik $unstressend
rájuk $unstressend
lépjen $unstressend
joga $unstressend
működött $unstressend
iskolákat $unstressend
írtam $unstressend
miniszter $unstressend
álltunk $unstressend
járnak $unstressend
köthetők $unstressend
drágult $unstressend
határozott $unstressend
helyezi $unstressend
részleteiről $unstressend
foglaltakról $unstressend
rendjéről $unstressend
jelentést $unstressend
jelentések $unstressend
tagjait $unstressend
kerülnek $unstressend
javasolja $unstressend
hivatal $unstressend
támogatásból $unstressend
segélyt $unstressend
biztosítani $unstressend
adható $unstressend
gondolattal $unstressend
keres $unstressend
futnak $unstressend
íródott $unstressend
érintő $unstressend
azért $unstressend
nyilatkozatok $unstressend
zajlott $unstressend
fordultak $unstressend
vették $unstressend
fordult $unstressend
épül $unstressend
bizonyítékok $unstressend
nyilvánításra $unstressend
állók $unstressend

// word pairs

@@ -1540,4 +1935,6 @@ CD-m) cédém
(ÁFÁ-t) áfát
(MB-al) megabájttal
(EU-n) eun

(MHZ-en) megahercen
(Mhz-en) megahercen
(ORTT-től) oerrtététől //special exception

+ 25
- 3
dictsource/hu_rules View File

@@ -109,6 +109,7 @@ fegyen) c (csoport ts
ccs (-L01 tS // only speak one ts if followed by a consonant after the - character
cs (-sz tS|s //need spokening single ts and single s phoneme
ccs (-sz tS|s //need spokening single ts and single s phoneme
licen) c (sértés ts


.group ch
@@ -133,6 +134,7 @@ hierar) ch (i h
stri) ch (el h:
ar) ch (ív h
ar) ch (ivál h
ar) ch (itektúr h
ma) ch (iná h
oligar) ch h
legpe) ch (es h:
@@ -273,6 +275,10 @@ standar) d (jegy d
kar) d (szerű d //this word need spokening single d before s phoneme
kö) d (szirén d //this word need spokening single d before s phoneme
rekor) d (szerkez d //this word need spokening single d before s phoneme
kö) d (szitálás d
mó) d (javaslat d
rekor) d (szint d
kambo) dzs dZ:

.group dz
fogó) dz (kod ts
@@ -319,6 +325,7 @@ ringató) dz z
smarag) dz (öld d|z
kapáló) dz z
_ó) dz (ko ts
gyűrű) dz (ik z

.group e
e E
@@ -513,11 +520,15 @@ harmince) gy (edik J:
e) gys (áv J|S //egysáv beginning words for example need spokening single J and S phoneme.
_e) gy (ablak J:
összee) gy (esít J:
nem-e) gy (ik J:
e) gy (összeg J:
e) gys (ík J|S //for example egysíkú word need spokening single J and S phoneme

.group h
h h
hertz hER2ts
hh (-L01 h
minde) hh (ez h



@@ -525,6 +536,7 @@ harmince) gy (edik J:
i i
@) i (_S1 i
@) ig (_S2 ig
@) ihoz (_S4q ihoz

.group í
í i:
@@ -724,6 +736,7 @@ eredmé) ny (j n^ //for example eredményjelző word need spokening
helybe) n (jár n
polle) n (jelen n
idé) ny (jel n^
vagyo) n (nyilatkozat n //for example vagyonnyilatkozat word need spokening single n phoneme before n^ phoneme, not two n^n^ phoneme.

.group o
o o
@@ -775,6 +788,8 @@ helybe) n (jár n
te) rr (ier R2
te) rr (ori R2
rr (-L01 R2
konku) rr (en R2
_a) rr (oganci R2

.group s
s S
@@ -997,6 +1012,8 @@ rendelteté) ssz (er Ss
ss (-L01 S //if have a consonant after the - character, need spokening one S letter
települé) ssz (er Ss //for example településszerkezet word need spokening single S and s phoneme.
gyor) ssz (űr Ss //for example gyorsszűrő word need spokening single S and s phoneme
_a) ssz (iszt s //for example the asszisztens word need spokening one s phoneme
eltu) ss (ol S

.group sz
sz s
@@ -1080,6 +1097,8 @@ vörösmar) ty ti
használ) t (cikk t
grafi) t (ceruz t //for example grafitceruzával, grafitceruze need spokening single t before c letter
pamu) t (cér t
ha) t (cell t //for example hatcellás, hatcella word need spokening t before c letter.
pár) t (székház t

.group tj
C) tj c
@@ -1138,7 +1157,9 @@ helyze) tj (el tj
_á) tj (öj tj
á) tj (ön tj
á) tj (öt tj

spor) tj (áték tj
rokkan) tj (áradék tj
interne) tj (egy tj

.group ts
ts (_S2 tS //general rule with word end of ts letters
@@ -1356,8 +1377,7 @@ helyeze) tt (ről t:
tty c:
ttyj c:
keresz) tt (űz t:


me) ttsz (et ts:

.group u
u u
@@ -1535,6 +1555,8 @@ szellő) z (tet s
kötö) z (kö s
árví) z (súj z //for example árvízsújtott word need spokening single z phoneme, not Z phoneme
magyará) z (kod s
kalau) z (ság z
pofo) z (kod s

.group
$ dolla:R2

+ 6
- 4
dictsource/id_rules View File

@@ -17,7 +17,8 @@


.group c
c tS
c tS
ch X

.group d
d d
@@ -41,6 +42,7 @@

.group i
i i
ie i
i) i _|i
A_) i _|i

@@ -69,7 +71,6 @@
n n
ng N
ny n^
// nj n^

.group o
o o
@@ -81,6 +82,7 @@
.group p
p p
pp p
ph f

_) pe (@@ p@

@@ -98,8 +100,8 @@
.group s
s s
ss s
sy S // perhaps [S;] ??
sj S
sy C // perhaps [S;] ??
sj C

_) se (@@ s@


+ 6
- 4
dictsource/it_list View File

@@ -127,12 +127,14 @@ _17 ditSas:'Et:e
_18 ditS'Ot:o
_19 ditSann'ove
_2X v'entj
_21 v'ent'uno
_28 v'ent'Ot:o
_3X t@-*'enta
_4X kw2aR'anta
_5X tSinkw2'anta
_6X sess'anta
_7X set:'anta
_8X ot'anta
_8X ot:'anta
_9X nov'anta
_0C tS'ento
_0M1 m'ila
@@ -349,11 +351,11 @@ sarebbero $u

// aux verb, to have
ho $u //$double
hai $u //$double
ha $u //$double
hai aj $u //$double
ha a $u //$double
abbiamo $u
avete $u
hanno $u
hanno anno $u

ebbi $u
avesti $u

+ 79
- 72
dictsource/it_listx View File

@@ -90,8 +90,8 @@ alcool $1
alcor $2
alcov $alt
aldebaran $4
ale $2
alea $1
ale $2
alen $alt2
alenia $alt
aleria $2 $alt2
@@ -387,8 +387,8 @@ augure $1
aulos $3
aureol $3
ausoni $alt
austral $3
australasia $4
austral $3
austrasia $3
autari $1
autentic $alt
@@ -405,8 +405,8 @@ autopilot $alt
autostop $4 $alt
autoveicolo autovE'ikolo
avampost $alt2
avari $1
avaria $3
avari $1
aven $alt2
avere $2 $alt2
avvi $2
@@ -436,8 +436,8 @@ baka $2
balaam $1
balen $alt2
balenotter $alt
bali $2
balia $2
bali $2
balneoterapia $6
balsami $1
balsam $1
@@ -620,8 +620,8 @@ bufal $1
buffal $1
buia b'uia
buio b'uio
bulgari $1
bulgaria $3
bulgari $1
bulgar $1
bultei $2
buonarroti $alt
@@ -832,12 +832,11 @@ ceram $1
ceranesi $2
cerber $1
cerc $alt2
cerchi $alt2
cerchia $alt2
cerchi $alt2
cercine $alt2
cerc $alt2
cercoceb $alt
cerc $alt2
cercol $alt2
cercopitec $alt
cernobbi $alt
@@ -1364,9 +1363,9 @@ elemosin $3
elett $alt
elettr $alt
elettric $alt
elettr $alt
elettrod $alt
elettrodott $alt2
elettr $alt
elettroforesi $alt
elettrolisi $3
elettromagnete $alt
@@ -1455,8 +1454,8 @@ epos $alt
epsilon $1 $alt
eptarchia $3
equanime $2
equi $alt
equidi $alt
equi $alt
equilater $3
equipe $1
equivoc $2
@@ -1663,8 +1662,8 @@ folgaria $3
folgore $1
follia $2
fomori $1
fon $alt
fonem $alt
fon $alt
fontanafredd $alt2
fontanelice $alt2
fontanigord $alt2
@@ -1689,8 +1688,8 @@ fosdinov $alt
fosfor $1 $alt
fossacesia $3 $alt
fossanov $alt
fot $alt
fotoelettric $alt
fot $alt
fotogenia $4
fotolisi $2
fotoritocc $alt2
@@ -1739,9 +1738,9 @@ garofan $2
garzon $2
gasdott $alt2
gaudenzi $alt
ge $alt
gebel $alt
gec $alt
ge $alt
gematria $3
gemin $1
gemit $1
@@ -1770,6 +1769,7 @@ gettit $1
gez $alt2
ghedi $alt
ghiott $alt2
giacom $1
giarabub $3
giaven $alt2
gijon $2
@@ -1894,7 +1894,6 @@ imenotteri $alt
imol $1
impari $1
imperfett $alt
impero $3 $alt
impet $1
impieg $alt
implicit $2
@@ -2172,8 +2171,9 @@ malag $1
malapen $alt2
malavoglia $alt
malcesine $alt2
male $2 $alt
male $2
malebolge $alt
male $alt
malesia $2 $alt
malessere $alt
malevol $alt
@@ -2202,9 +2202,9 @@ manodoper $3
mansuet $alt
manticor $2
manul $2
mara $2
maracalagonis $alt
maramao $3
mara $2
marathon $3
maratonet $alt
marciapiede $alt
@@ -2218,8 +2218,9 @@ marmirol $3
marmor $1
marmore $1
marmoreo $2
maro $2 $alt
maro $2
maroboduo $alt
maro $alt
marron $2
marsia $1
marsicovetere $alt
@@ -2243,7 +2244,6 @@ mazzaccher $2
mazze $2 $alt
mazzin $2
mazzol $2
medi $alt
media $alt
medi $alt
mediceo $2
@@ -2282,8 +2282,8 @@ mercanzia $3
merce $2
meri $2
meristem $alt
merit $1
meritocrazia $5
merit $1
merope $1
mes $alt
mescal $2
@@ -2316,10 +2316,10 @@ metr $alt2
mettere $alt
mexic $alt2
mezenzi $alt
mezz $alt
mezzadria $3
mezzaneg $2
mezzogiorn $alt2
mezz $alt
miastenia $4
michiel $2
microcefalia $5
@@ -2356,8 +2356,8 @@ miser $1
misia $1
misoginia $4
mista $2
mistra $2
mistral $2
mistra $2
mitocondri $alt
mixtechi $alt
moa $alt
@@ -2366,9 +2366,9 @@ mochi $alt
moconesi $2
mod $alt
modem $alt
mod $alt
modestia $2
modoc $alt
mod $alt
mogan $1
moggi $alt
moglia $alt
@@ -2379,12 +2379,12 @@ moire $3
mok $alt
moken $alt
mol $alt
mole $alt
molecol $alt
mol $alt
mole $alt
mollic $2
moloch $alt
molochi $alt
moloch $alt
mol $alt
molotr $1 $alt
molten $alt2
molv $alt
@@ -2518,9 +2518,10 @@ niscemi $alt
niteroi $alt2
nocciol $alt
nod $alt
noe $2 $alt
noe $2
noem $alt
noemi $alt
noe $alt
noicattar $3
nol $alt
nomade $1
@@ -2540,8 +2541,8 @@ nottetemp $alt
noumea $alt2
noumen $2
nous $2
nove $alt
novembre $alt
nove $alt
nover $1
novi $alt
nov $alt
@@ -2567,9 +2568,9 @@ occhi $alt
ocean $2
ode $alt
odi $alt
od $alt
odontoiatria $6
odontotecnic $alt
od $alt
ofant $1 $alt
offid $alt
oggebbi $alt
@@ -2577,13 +2578,13 @@ oggett $alt
oggigiorn $alt2
ogli $alt
ognitemp $alt
oh $alt
ohi $alt
ohmic $alt
oh $alt
oidi $2
ola $2
ole $2
oleacee $3
ole $2
oleodott $alt2
olg $alt
oligarchia $4
@@ -2632,8 +2633,8 @@ orefice $alt2
orfan $1
orfanotrofi $alt
orfei $2
organ $1
organon $1 $alt2
organ $1
orgia $1
origan $2
oritterop $3
@@ -2646,6 +2647,7 @@ oroscop $2 $alt
orosei $3
ors $alt2
orsol $alt2
ors $alt2
ortensia $2 $alt
ortensi $alt
ortic $2
@@ -2737,16 +2739,17 @@ parapett $alt
paratoia $alt2
paraurti $3
paravia $3
pare $2
parenchim $alt
parentesi $2 $alt
pare $2
parere $2 $alt2
parestesie $4
parghelia $3
paria $2
parnassos $3
parodi $2 $alt
parodi $alt
parodia $3
parodi $2
parop $alt
parricid $3
parroc $1
@@ -2777,7 +2780,6 @@ pediatria $3
pedofilia $4
pedogenesi $3
peggi $alt
pel $alt2
pelag $1
pelaverg $alt2
pell $alt2
@@ -2787,6 +2789,7 @@ pelope $1
peloponnes $alt
pelosi $alt2
pelot $alt
pel $alt2
pemfig $alt
pend $alt2
pendi $2
@@ -2823,8 +2826,8 @@ pericle $1
perieget $alt
perier $1 $alt2
perifrasi $2
perim $2
perimetr $2
perim $2
period $2
peripl $1
peristasi $2
@@ -2833,17 +2836,17 @@ perlomen $alt2
permafrost $1
permut $1
pernice $2
pero $2 $alt
peronospor $3 $alt
pero $2 $alt
perpetua $alt
perpetuo $alt
perregaux $2
perrer $2
persefone $2 $alt
persia $1
persian $3
peru $2
persia $1
perun $2
peru $2
pesc $alt
pescasseroli $3
pesche $alt
@@ -2868,11 +2871,11 @@ picche $2 $alt
piccolomini $3
picnic $2
pidocchi $alt
pie $alt
piece $alt
piede $alt
piedr $alt
pieg $alt
pie $alt
piet $alt
pietraperzia $4
pietraroj $alt
@@ -2915,8 +2918,8 @@ planimetr $2
plantagenet $alt
plasmodesm $alt
plasmodi $alt
platani $1
platania $3
platani $1
platan $1
platin $1
plebe $alt
@@ -2932,8 +2935,8 @@ pocol $2
podere $2 $alt2
podesta $3
podi $alt
poe $alt
poem $alt
poe $alt
poet $alt
poggi $alt
poh $alt
@@ -2977,10 +2980,10 @@ pontassieve $alt
pontefice $alt2
pontelandolf $alt
pontremoli $2
pop $alt
pope $alt
popp $alt2
poppi $alt2
pop $alt
porcile $2
porfiria $3
poriferi $2
@@ -3148,8 +3151,8 @@ rape $2 $alt
rapsod $alt
rapsodia $3
rapsod $2
rate $2
rateo $1
rate $2
razzia $2
realta $3
rebbi $alt2
@@ -3270,8 +3273,8 @@ ropaloceri $3
rore $alt
ros $alt
rosalia $3
rose $2
roseo $1 $alt
rose $2
rosolia $3
rospigliosi $alt2
rosp $alt
@@ -3314,8 +3317,8 @@ salemi $alt
saliscendi $alt2
salmi $2
salmodia $3
salo $2 $alt
salome $3 $alt
salo $2 $alt
saludeci $alt
salvacondott $alt2
salvadoregn $alt
@@ -3334,8 +3337,8 @@ sandia $2
sanfront $2
sanscrit $1
santabarbar $3
sante $2
santen $1
sante $2
sapere $2 $alt2
sarag $1
sarcofag $2
@@ -3399,15 +3402,15 @@ scrof $alt
scrofol $1
scrot $alt
scuolabus $3
seb $alt
seborg $alt2
seb $alt
secc $alt2
secol $alt
secondogenit $4
sedan $1 $alt
sede $alt
sedecia sedetS'i:a
sedere $2 $alt2
sede $alt
sedia $alt
sedicesim $alt
sedici $alt2
@@ -3439,15 +3442,16 @@ semol $1
sempre $alt
sempreverde $alt2
seneghe $1 $alt
seni $alt
senile $2
senior $1 $alt
senior $1
seniore $alt
senior $alt
seni $alt
sennacherib $4
senno $2 $alt
sennori $1 $alt
sen $alt2
senno $2 $alt
senoni $1 $alt
sen $alt2
sepri $alt
sepsi $alt
sequals $2
@@ -3459,14 +3463,14 @@ servile $2
servofren $alt2
sesam $1 $alt
sesia $1 $alt
sess $alt
sessantesim $alt
sess $alt
sesser $alt
sessile $alt
sessuofobia $4
sett $alt
sette $alt
settembre $alt
sette $alt
sett $alt
settime $1
seul $2
@@ -3519,8 +3523,8 @@ sintesi $1
sintom $1
sintonia $3
sinuess $alt
sio $2
sion $2
sio $2
sipont $alt
sirtori $1
sisar $1
@@ -3546,8 +3550,8 @@ sofocle $1 $alt
soggiorn $alt2
soggol $2 $alt2
soglia $alt
sogli $alt
sogliol $1 $alt
sogli $alt
solarol $3
sold $alt
soleo $1 $alt
@@ -3644,8 +3648,8 @@ stilopoidei $5
stipendi $alt
stobi $alt
stom $alt
stop $alt
stopp $alt2
stop $alt
storm $alt2
storn $alt2
stranguria $3
@@ -3705,11 +3709,10 @@ tartari $1
tartar $1
tassametr $2
tassi $2
tata $2
tatari $1
tatar $1
tata $2
taurianov $alt
te $alt
tec $alt
technicolor $alt
teck $alt
@@ -3724,8 +3727,8 @@ teista tE'ista
tel $alt2
telecamer $3
telefilm $3
telef $1
telefon $2 $alt
telef $1
telegon $2 $alt
telegraf $2 $alt
telelavor $alt2
@@ -3738,13 +3741,14 @@ temen $1 $alt
temi $alt
temistocle $2
temnospondili $alt
tempe $alt
temper $1 $alt
tempe $alt
tempi $alt
templ $alt
tempor $alt
temp $alt
tempor $1 $alt
temporaneo $3
tempor $1
tempr $alt
temu $2
tenace $2
@@ -3766,8 +3770,8 @@ teoria $3
teosofia $4
tepanechi $alt
terapeut $3
terapeuti $3
terapeutic $3
terapeuti $3
terapia $3
terebr $1
teres $alt
@@ -3790,6 +3794,7 @@ tessere $alt
tessile $alt
testimone $alt
tetan $1 $alt
te $alt
tetraedr $alt
tetrametr $2
tetrapode $2
@@ -3832,12 +3837,12 @@ toltechi $alt
tolve $alt
tome $2
tomi $alt
ton $alt
toni $alt
tonn $alt2
ton $alt
top $alt
tora $2
torace $2
tora $2
torb $alt2
torbid $alt2
torbole $alt2
@@ -3846,17 +3851,18 @@ tord $alt2
tornabuoni $alt
tornarecci $alt
torni $alt2
torn $alt2
tornol $alt2
torn $alt2
torped $alt
tors $alt2
tortor $1 $alt2
tosse $alt2
tot $alt
totan $1
totem $alt
toto $2 $alt
toto $alt
tot $alt
totogol $3
toto $2
tournee $alt2
trabea $1
trabia $2
@@ -3891,6 +3897,7 @@ treppiede $alt
tres $alt
tresette $alt
tressette $alt
tres $alt
treveri $1 $alt
treves $alt
treviri $1
@@ -3909,8 +3916,8 @@ trigemin $2
triglif $1
trimer $1
trimetr $1
trinita $3
trinitapoli $3
trinita $3
triod $1
trionf $alt2
trior $alt2
@@ -4014,9 +4021,9 @@ veneti $1 $alt
venet $1 $alt
ventenni $alt
ventesim $alt
venti $alt2
ventiquattresim $alt
ventisette $alt
venti $alt2
ventol $alt
ventre $alt
ventriloqui $alt
@@ -4028,10 +4035,10 @@ verace $2
verde $alt2
verg $alt2
vergine $alt2
ver $alt2
verne $2
vernice $2
verolanuov $alt
ver $alt2
veroli $1
vertebr $1
vertebre $1
@@ -4051,8 +4058,8 @@ vetr $alt2
vezzen $1
viadott $alt2
vibrafon $2
video $1
videoclip $4
video $1
videotec $alt
vidigraf $2
vigano $3 $alt
@@ -4081,7 +4088,6 @@ vitoria $alt2
vitreo $1
vivace $2
viveri $1
vo $alt
vobbia $alt
vodk $alt
voglia $alt
@@ -4099,6 +4105,7 @@ vomit $1
vosgi $alt
voti $alt
vot $alt
vo $alt
vudu $2
vulture $1
vuot $alt

+ 9
- 8
dictsource/it_rules View File

@@ -13,7 +13,7 @@
.group a
a a
ai (K aI
ao (_ aU
ao (_N aU
au a%u

@C) a (_S1q a // lookup it_list without suffix
@@ -34,7 +34,7 @@
.group à
à ''a
ài (K ''aI
ào (_ ''aU
ào (_N ''aU
àu ''a%u

.group b
@@ -49,8 +49,8 @@
cc (Y tS:
ch k
cch k:
ci (L01 tS
cci (L01 tS:
ci (A tS // or L01 ?
cci (A tS: // or L01 ?
@) co (lA_ =ko
.group d
@@ -122,11 +122,12 @@
gg g:
gh g
g (Y dZ
gi (L01 dZj
gi (a_ dZ'i
n) gi (a_ dZj
gi (A dZ // any vowel, or L01 ?
gi (a_ dZ'i# // [i] only if stressed
gì (a_ dZ'i# // [i] only if stressed
n) gi (a_ dZ
gg (Y dZ:
ggi (L01 dZ:
ggi (A dZ: // or L01 ?
@) gger (lo_ =dZ:eR
gl (i l^
gl (ì l^

+ 105
- 29
dictsource/nl_list View File

@@ -64,7 +64,7 @@ _; p'8ntkOm,a:
_? v@-*'a:xte:k@n
_! 'Wyt@-*upt,e:k@n
_" 'a:nha:lInxste:k@n
@ 'a:p@nst,a:rt;@
@ _:'a:p@nst,a:rt;@_:
# h'Ekj@ $max3
% p@-*o:s'Ent
_( h'a:kj@_|'o:pe:n@n
@@ -129,14 +129,19 @@ _0Co h'OndErtst@


// abbreviations
eu e:_y: $abbrev
kmo $abbrev
KMI $abbrev
KNMI $abbrev
nr n8m@r
nvda $abbrev
VMMa $abbrev


// articles
de d@
het h@t
een @n
het h@t $only
een @n $only
ən @n // char.replacement for 'n
ət @t // char.replacement for 't

@@ -151,7 +156,7 @@ u $u
hij $u
zij $u
ze $u
het $u
het h@t //otherwise pronounced as het
wij $u
we $u
jullie $u
@@ -178,7 +183,7 @@ die $u $brk
dit $u
dat $u
wat $u
er $u
er @r
waar $pause

// prepositions
@@ -207,6 +212,7 @@ sommige $only $u+ // some

// conjunctions
en $u $pause // and
én En $pause // stressed and
dus $u $pause // so
maar $u $pause // but
of $u $pause // or
@@ -292,23 +298,52 @@ werd $u


// Pronounce as English

android _^_EN
airlines _^_EN
base _^_EN
delete _^_EN
//down _^_EN
crash _^_EN
escape _^_EN
(e-mail) i:me:l
enterprise _^_EN
entertainment _^_EN
exploit _^_EN
fact _^_EN
home _^_EN
game _^_EN
hardware _^_EN
homepage _^_EN
items _^_EN
laptop _^_EN
malware _^_EN
medical _^_EN
milkshake _^_EN
multitouch _^_EN
netbook nEtbuk
(page down) _^_EN
(page up) _^_EN
offline _^_EN
online _^_EN
player _^_EN
speak _^_EN
patch _^_EN
race _^_EN
research _^_EN
site _^_EN
sites _^_EN
software _^_EN
speak _^_EN
the D@
time _^_EN
tweaker tv#ik@r
ultimate _^_EN
up _^_EN
website _^_EN
websites _^_EN
weekend _^_EN


// words where -eren is not a stressed verb ending
// words where -er is not a stressed verb ending

achter $alt
achterkleinkinder $alt
@@ -1214,29 +1249,24 @@ zwijmel $alt
// -s is not plural
chaos xa:Os


beiaard b'EIa:rt
boomgaard $1
dronkaard $1
gierigaard $1
grijsaard $1
gulzigaard $1
lafaard $1
slechtaard $1
snoodaard $1
standaard $1
valsaard $1
woestaard $1
// all words on _aard are treated as suffix in the rules.


// pronunciation exceptions
aangrijpend $2
accessoires aksEsw'ar@s
accessoire aksEsv#'ar@
accessoires aksEsv#'ar@s
actiepunt Aksip8nt
agenda $2
amino $1
amnestie $3
april a:pr'Il
armand _^_FR
artikel art,ik@l
augustus VUQ'8st8s
be $abbrev // used as domain abbrev for Belgium and in a lot of other names
beha be:_h'a:
bijziend $2 // bijziendheid
blitzkrieg blItskri:g
boudoir budv#'a:r
bourgondier burx'o:ndi:@r
braille brAj@
@@ -1251,15 +1281,29 @@ chassis SAs'i
chat tSEt
check tSEk
chiffon Sif'On
crèches krES@s
contour ko:nt'ur
coureur ku:r'Y:r
damascering damA;s'e:rIN
december $2
dieet $2
divers div'Ers
diftongering dIft,ON'e:rIN
doordat $2
dynastie $3
eensgelijks e:nsQ@l'EIks
elfstedentocht ,Elf'ste:d@ntoQt
emaille ,e:m'Aij@
enorm $2
eucharistie $4
februari fe:bry'a:ri
fiche fiS@
franchise frA'Si:z@
gamasche Qa:m'AS
gazet $2
gouache Qu'AS
gefrituurd $3
impregnering Impr,EQn'e:IN
inductie $2
ingewikkeld $3
ingrijpend $2
@@ -1268,44 +1312,76 @@ ingevolge $3
ingrediënt $4
ingenieur Inzj@nj'Y:r
informatie $3
januari $3
journaal Surn'a:l
maxima $1
meteen mEt'e:n
metro me:tro:
minima $1
nabij nab'EI
november $2
oktober $2
onderhandelingsnota ,ond@r'hAnd@lINs,no:ta:
ongastvrij OnQAstv@-*'EI
ongelooflijk $3
ongemakkelijk $3
ongelukkig $3
ongerieflijk $3
ongrondwettig $3
partijvoorzitters $2
pistache pist'AS
proces $2
projectielen $3
renaissance rEne:s'A~s@
reservoir re:zErvv#'a:r
revanche r@vA~nS
regime $2
sacristie $3
saint _^_FR
salomo $1
tegenaan $3
tegenin $3
tegenover $3
tegendraads $3
september $2
sms'jes EsEm'Es_j@s
spektakel $2
tegennatuur $4
tegenstrijdig $3
tegenwoordig $3
travestie $3
verderop $3
volledig $2
waarschijnlijk $2
ziekenhuisbevalling zi:k@nhWysb@vAlIN
zover zo:v'Er



// names
(al-qaeda) Al_:k'AjdA
Beckham bEk@m
Betty bE:ti
charlotte $2
Dewever d@'v#e:v@r
Henin _^_FR
Inge IN@
Ingeborg INe:bOrx
Ingmar INmAr
Ingrid IN@-*It
Justine _^_FR
kennedy kEn@dE
Laurent lo:r'An^
Nys nEIsd'WyzEnt

//Trademarks
Belga bElQa:
Facebook fEisbuk
Ubuntu u:'bu:ntu:
Wikipedia $3
google gu:g@l

// places
alexandrië $3
canada $1
Kinshasa kInS'a:sa:
new york _^_EN
Rochefort roS'for
Vlaanderen vla:nd@r@n
Zelzate zelzat@

(vond dat de) vOn_tA_t@

+ 105
- 25
dictsource/nl_rules View File

@@ -6,22 +6,26 @@
a (x A
aa a:
aai a:j
ae E:
ae a:
au VU
auw VU
ay a:j

@@C) a (_ =a:
_) aan (@P3 'a:n
@) aar (_@S3 a:r
@) aard (_@S4 a:rt
aa (rd_ 'a:
aa (C_ 'a:
@) abel (_ 'a:bE2l
@) abele (_ 'a:b@l@
m) ach (in %a:S
_) af (C@P2 'Af
_) affich Af'iS
_) affich %AfiS
age (_N 'a:Z@
ages (_S1 s
age (_$w_alt a:Q@
aire (_ 'E:r
aire (_ 'E:r@
air (_ 'Er
@) agne (_ 'An^@
ale (_ 'a:l@
@@ -32,6 +36,7 @@

@) a (de_ 'a:
@) a (ta_ 'a:
b)a (by e:


.group b
@@ -39,10 +44,12 @@
b) b
bs (_N ps

baan ba:n
&) baar (_ =ba:r
_) be (@P2 b@
_) b (ee+ b
_) bei (de bEI
be (lg bE
_) be (ren bI:
_) be (rm bE
_) be (stia bE
@@ -53,7 +60,9 @@
_) bezig be:z@x
_) beu bY:
_) bij (C@P3 b'EI
_) binnen (P6 b'In@n
_) brand br'And
_) buiten (P6 b'Wyt@n
_) bureau byr'o:
_) buurt (@@P5 b'yrt // buurtbewoner

@@ -66,6 +75,8 @@
c k
ci (a S
@) ci (eel S
@) ci (eus S
@) ci (euz S
@) ci (ë S
ci (o S
ck k
@@ -104,16 +115,16 @@
bro) ch (e S
brun) ch S
deta) ch S
ma) ch (in S'
mar) ch S
para) chut S'yt
_po) ch (e S
revan) ch (e S

.group d
d d // auto-devoice at end-of-word
d) d
dt t
ds (_N ts
// _) de (CC@P2 d@ // Used a lot in family names


.group e
@@ -139,6 +150,10 @@
@) ee (rd_ 'I:
@) ee (rde_ 'I:
@) ee (rden_ 'I:
@) e (rende_ 'I:
@) e (renden_ 'I:
@) er (ing_ 'I:r
@) er (ingen_ 'I:r
it) eit (_ 'EIt
&) el (_ E2l
&) eld (_ @ld
@@ -151,7 +166,6 @@
&) el (de_$p_alt =@l
&) el (den_$p_alt =@l
&) el (end_$p_alt =@l

&) er (_$p_alt =@r
&) er (e_$p_alt =@r
&) er (en_$p_alt =@r
@@ -160,23 +174,35 @@
&) er (de_$p_alt =@r
&) er (den_$p_alt =@r
&) er (end_$p_alt =@r
&) er (ende_$p_alt =@r
&) er (ing_$p_alt =@r
&) er (ingen_$p_alt =@r

&) elijks @l@ks
&) em (_ @m
&) e (ment @
&) en (_S2qd @n
&) ens (_S3q @ns
&) end (_ @nd
&) ende (_ @nd@
&) enden (_ @nd@n
eden e:d@n
@) ent (_ 'Ent
@) ent (e_ 'Ent
@) ent (en_ 'Ent
@) ent (er_ 'Ent
ag) ent 'Ent
&) er (_ @r
&) ere (_ @r@
&) er (en_$p_alt @r // where 'eren' is not a verb ending
eren (_ 'I:r@n
&) es (_ @s
@) es (_S2qd 'Es
@) essen (_S5qd'Es@n
@) eres (_S4qd @r'Es
@) eressen (_S7sq @r'Es@n
@) etten (_S3 @n
@) es (_$p_alt @s // for wors which end on [@] with multiple on 's'.
euille @'y
eum (_$w_alt 'e:8m
@mus) eum (_ ,e:8m // compounds
@) eur (_ 'Y:r
@@ -188,10 +214,16 @@
@) e (raar_ @
&) e (rC@ E2

i) eus (_ 'Y:s
i) euze (_ 'Y:z@
i) euzer (_ 'Y:z@r
i) euzere (_ 'Y:z@r@
i) eust (_ 'Y:st
i) euste (_ 'Y:st@

c) e (ntrum E // not @
_) expositie Ekspo:z'itsi


e (rtsD E

.group f
f f
@@ -210,10 +242,15 @@
_) geu QY:
_) ge (ven Qe:
_) ge (ver Qe:
ge (val Q@
_) ge (ving Qe:

ge (sprek Q@ // in compounds

@) gi (eus Z
@) gi (euz Z
reli) gi (eu Qij


.group h
h h
@@ -231,12 +268,18 @@
i (x I
ie i
ieuw iw
iee ie:

d) ie (_ 'i
g) ie (_ 'i
m) ie (_ 'i
p) ie (_ 'i

ieus (_ ij'Y:s
ieuze (_ ij'Y:z@
ieuzer (_ ij'Y:z@r
ieuzere (_ ij'Y:z@r@
ieust (_ ij'Y:st
ieuste (_ ij'Y:st@
@) ibel (_ 'ib@l
@) ibele (_ 'ib@l@
&) ica (_ =ika:
@@ -247,18 +290,21 @@
ie (rd_ 'i
@) ig (_S2dq @x
@) ige (_ @Q@
@) igen (_ @Q@n
ij (_ 'EI
ij (e_ 'EI
@) ij (n_ 'EI
ij (en 'EI
&) ika (_ =ika:
&) iko (_ =iko:
_) in (C@P2 'In
_) in (C@P2 In
// _) in (gP2 'In
io (nage iO
@) isch (_ =is
@) ische (_ =is@
@) isme (_ 'Ism@
@) ist (_ 'Ist


.group j
@@ -278,8 +324,13 @@
l) l
&) lijk (_S4 l@k
&) lijke (_S5 l@k@
&) lijken (_S6 l@k@n
&) laan (_S4 la:n
_) lange (@P5 laN@
@) loog (_ lo:x
@) loos (_S4 lo:s
@) loze (_S4 lo:z@
@) lozen (_S5 lo:z@n



@@ -302,6 +353,10 @@

_) na (C@@P2 n'a:
_) na (tion na:
_) na (der na:
_) noord (@P5 no:rd
_) nieuws (@P6 n'iws
@@) nis (_@S3 nIs


.group o
@@ -315,6 +370,7 @@
oe u
oei uj
ou VU
ouw VU
ou (rage u

@@C) o (_ =o:
@@ -323,13 +379,15 @@
pr) o (gram o:
oo (X 'o:
oon 'o:n // in compounds, eg. telefoongesprek
_) oost (@P4 o:st
_) op (@@P2 'Op
_) open (@P4 'o:p@n
_) op (era 'o:p
_) op (tion Op
ou (che_ u
ouch (en_ uS
_) over (@P4 'o:v@r
_) over (@P4 ,o:v@r
t) ou (r u:


.group on
@@ -337,7 +395,7 @@
_) onder (@P5 'Ond@r
_) onge (@P4 ,OnQ@
_) ont (@P3 Ont
_) on (te@P2 On // ontegecht
_) on (te@P2 On // onterecht
_) onder Ond@r

_) ong (aarn ,OnQ'
@@ -363,7 +421,9 @@
_) ph f
ph (K f

parach (ut p,a:ra:S
_) politie (@ po:l'itsi
@) programma (_S7 o:QrAmma



@@ -381,6 +441,8 @@
C) r (A r
rr *r

recherch r@SErS
revanch r@vA~nS
route rut@ // route(s)

.group re
@@ -391,11 +453,14 @@
_) re (ceptief re:
_) re (clam r@
_) re (serve_ r@
_) re (cord re'

.group s
s s
s) s
A) s (A z
sc s
sch sx
sch (_ s
sch (e_ s
@@ -410,11 +475,13 @@
@) ssi (o S

_) standaard (@P9 st'Anda:rt
@) straat (_@S6 stra:t
_vre) s (e s


.group t
t t
td t
t) t
tie (_ =tsi
c) tie (_ =si
@@ -425,6 +492,8 @@
tiee (l_ S'e:
tië (le_ S'e:
@) ti (a S
@) ti (eus S
@) ti (euz S
@) ti (ë S
@) ti (on S
s) t (i++ t
@@ -432,36 +501,38 @@
tsj tS
_) th t
th t
t (haar t // th is not [t]
t (haar t // th is not [t]
t (hav t
_) toe (@P3 t'u

_) team t'i:m
team (_ ti:m
touch (e tuS
_) train tre:n
_) trans (@P5 tr,Ans

.group te
_) tegen (P5 t'e:Q@n
_) terug (P5 t@r'8x
_) tegen (P5 t'e:Q@n'
_) terug (P5 t@r'8x'
_) te (gelijkP2 t@
_) te (gemoetP2 t@
_) te (goed t@
_) te (hui t@ // tehuis
_) te (hui t@ // tehuis
_) te (keer t@
_) te (kort t@
_) te (leur t@
_) te (loor t@
_) te (meer t@
_) te (midd t@ // temidden
_) te (midd t@ // temidden
_) te (na t@
_) te (neer t@
_) te (recht t@
_) te (sam t@ // tesamen
_) te (sam t@ // tesamen
_) te (veel t@
_) te (vergeefP2 t@
_) te (voorschijn t@
_) te (vor t@ // tevoren
_) te (vred t@ // tevreden
_) te (vor t@ // tevoren
_) te (vred t@ // tevreden
_) teweeg (P6 t@v#'e:x


@@ -475,11 +546,16 @@
uw (_ yU

_) uit (@P3 'Wyt
u (re_ 'y
@) ute (_ 'yt


.group v
v v

_) van (@P3 v%An
_) vanzelf (@P7 vAnz,Elf
_) vang vAN
_) ver (@P3 v@r
_) ver (sie_ vEr
_) verder vErd@r
@@ -491,9 +567,11 @@
w (X w
w (CK w

_) weg (@P3 v#'Ex
_) weg (en v#e:Q
_) weg (e_ v#e:Q // bewegelijk
_) weg (@P3 v#'Ex
_) weg (en v#e:Q
_) weg (e_ v#e:Q // bewegelijk
_) west (@P4 v#Est
_) wr vr


.group x
@@ -508,7 +586,8 @@

.group z
z z

zele (_@S4 ze:l@ // common suffix for cities.
_) zuid (@P4 zWyt


.group
@@ -519,3 +598,4 @@
, (D k'Oma:
__) - (_D m'In



+ 1
- 1
dictsource/no_list View File

@@ -27,7 +27,7 @@ r E:R
s Es
t te:
v ve:
w d'Ob:e:l,ve:
w d'Ob:El,ve:
x Eks
z sEt


+ 600
- 554
dictsource/ru_rules
File diff suppressed because it is too large
View File


+ 20
- 7
dictsource/ta_list View File

@@ -27,8 +27,8 @@
ஷ் is.
ஸ் is
ஹ் iC
U+b82 anUsvVRV
agH
U+b82 VnUsvVRV
VgH
U+bcd ot.RU

ஏ je:
@@ -57,7 +57,7 @@ e i:
f Ef
g dZi:
h e:tS
i a:I
i a:j
j dZe:j
k ke:j
l El
@@ -183,6 +183,8 @@ _1M3 orUko:d.ie:
_dpt _pul.l.i




// English words
tamil தமிழ் $text

@@ -248,7 +250,6 @@ tamil தமிழ் $text
பாவ்லா $alt
பீச்சில் $alt
பீல் fi:l
பலத்தால் $alt
புக் $alt
பீர் $alt
போயிங் $alt
@@ -286,6 +287,10 @@ tamil தமிழ் $text
பவுத்த $alt
பவுத்தம் $alt
பிட் $alt
பீடிக் $alt
பீச் $alt
பைக்குல $alt
ப்ராண்ட் $alt
(பி . ஏ) bije:


@@ -341,9 +346,10 @@ tamil தமிழ் $text
தாவே $alt
தருமமும் $alt
தராவி $alt
தேவநேய $alt
தங்கர் $alt
தவக் $alt
களில் $alt
தடிக்க $alt
தின $alt


// initial ட
@@ -366,7 +372,8 @@ tamil தமிழ் $text
ரெட்டி red.d.i
செல்லம் $alt
சிக்கன் $alt

சாரு $alt
பிரசார் prVsa:r

கக $alt // initial க as [g]
கனம் $alt
@@ -408,6 +415,12 @@ tamil தமிழ் $text
கேட்டின் $alt
கேட்டுக்கு $alt
கம்முனு $alt
களுக்கு $alt
குண $alt
குண்டான $alt
கன $alt
களிலும் $alt
கடம் $alt




+ 518
- 34
dictsource/ta_rules
File diff suppressed because it is too large
View File


+ 31
- 31
dictsource/tr_rules View File

@@ -20,13 +20,13 @@

@) a (_S1 a

acak (_S3 adZak
acakmış (_S7 adZakm%@S
ayım (_S4 aj@m
alım (_S4 al@m
asın (_S4 as@n
@) acak (_S3 adZak
@) acakmış (_S7 adZakm%@S
@) ayım (_S4 aj@m
@) alım (_S4 al@m
@) asın (_S4 as@n

avru (pa avr'u
@) avru (pa avr'u

.group b
b b
@@ -84,11 +84,11 @@

@) e (_S1 e

ecek (_S4 edZek
ecekmiş (_S7 edZekm%iS
eyim (_S4 ejim
elim (_S4 elim
esin (_S4 esin
@) ecek (_S4 edZek
@) ecekmiş (_S7 edZekm%iS
@) eyim (_S4 ejim
@) elim (_S4 elim
@) esin (_S4 esin


.group f
@@ -117,11 +117,11 @@

@) i (_S1 i

im (_S2 %im
iniz (_S4 %iniz
iz (_S2 %iz
iyor (_S4 ij%oR
in (_S2 in
@) im (_S2 %im
@) iniz (_S4 %iniz
@) iz (_S2 %iz
@) iyor (_S4 ij%oR
@) in (_S2 in


.group ı
@@ -129,11 +129,11 @@

@) ı (_S1 @

ım (_S2 %@m
ınız (_S2 %@n@z
ız (_S2 %@z
ıyor (_S4 @j%oR
ın (_S2 @n
@) ım (_S2 %@m
@) ınız (_S2 %@n@z
@) ız (_S2 %@z
@) ıyor (_S4 @j%oR
@) ın (_S2 @n


.group j
@@ -248,11 +248,11 @@

@) u (_S1 u

um (_S2 %um
unuz (_S4 %unuz
uz (_S2 %uz
uyor (_S4 uj%oR
un (_S2 un
@) um (_S2 %um
@) unuz (_S4 %unuz
@) uz (_S2 %uz
@) uyor (_S4 uj%oR
@) un (_S2 un


.group ü
@@ -260,11 +260,11 @@

@) ü (_S1 y

üm (_S2 %ym
ünüz (_S4 %ynyz
üz (_S2 %yz
üyor (_S4 yj%oR
ün (_S2 yn
@) üm (_S2 %ym
@) ünüz (_S4 %ynyz
@) üz (_S2 %yz
@) üyor (_S4 yj%oR
@) ün (_S2 yn


.group v

+ 154
- 121
docs/add_language.html View File

@@ -1,128 +1,161 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
<TITLE>eSpeak: Adding a Language</TITLE>
</HEAD>
<BODY LANG="en-GB" DIR="LTR">
<A href="docindex.html">Back</A>
<HR>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
</HEAD><BODY BGCOLOR="white" TEXT="black">
<FONT SIZE="4">
</FONT></CENTER>
<HR NOSHADE SIZE=1>
<H2>6. ADDING OR IMPROVING A LANGUAGE</H2>
<HR>
Most of the work doesn't need any programming knowledge. Just an understanding of the language, an
awareness of its features, patience and attention to detail. Wikipedia is a good source of basic phonetic information, eg
<a href="http://en.wikipedia.org/wiki/Vowel">http://en.wikipedia.org/wiki/Vowel</a>
<P>
In many cases it should be fairly easy to add a rough implementation of a new language, hopefully
enough to be intelligible.<p>
After that it's a gradual process of improvement to:
<ul>
<li>Make the spelling-to-phoneme translation rules more accurate, including the position of stressed
syllables within words. Some languages are easier than others. I expect most are easier than English.
<p><li>Improve the sounds of the phonemes. It may be that a phoneme should sound different depending on adjacent sounds, or whether it's at the start or the end of a word, between vowels, etc. This may consist of making small adjustments to vowel and diphthong quality,
or adjusting the strength of consonants. Bigger changes may be recording new or replacement consonant
sounds, or even writing program code to implement new types of sounds.
<p><li>Some common words should be added to the dictionary (the *_list file for the language) with an "unstressed" attribute (eg. in English, words such as "the", "is", "had", "my", "she", "of", "in", "some"), or should be preceded
by a short pause (such as "and", "but", "which"), or have other attributes, in order to make the speech flow better.
<p><li>Improve the rhythm of the speech by adjusting the relative lengths of vowels in different contexts, eg. stressed/unstressed syllable,
or depending on the following phonemes. This is important for making the speech sound good for the language.
<p><li>Identify or implement new functions in the program to improve the speech, or to deal with
characteristics of the language which are not currently implemented. For example, a different intonation module.
</ul>
<b><em>If you are interested in working on a language, please contact me so that I can set up the initial data and discuss the features of the language.</em></b>
<p>
For most of the eSpeak voices, I do not speak or understand the language, and I do not know how it should sound. I can only make improvements as a result of feedback from speakers of that language. If you want to help to improve a language, listen carefully and try to identify individual errors, either in the spelling-to-phoneme translation, the position of stressed syllables within words, or the sound of phonemes, or problems with rhythm and vowel lengths.
<HR>
<HR NOSHADE SIZE=1>
<P>
Most of the work doesn't need any programming knowledge. Just an understanding of the language, an awareness of its features, patience and attention to detail. Wikipedia is a good source of basic phonetic information, eg <A HREF="http://en.wikipedia.org/wiki/Vowel">http://en.wikipedia.org/wiki/Vowel</A>.
</P>
<P>
In many cases it should be fairly easy to add a rough implementation of a new language, hopefully enough to be intelligible. After that it's a gradual process of improvement.
</P>
<HR NOSHADE SIZE=1>
<H3>6.1 Language Code</H3>
<P>Generally, the language's international <a href="http://en.wikipedia.org/wiki/ISO_639-1">ISO 639-1 code</a> is used to
identify the language. It is used in the filenames which
contains the language's data. In the examples below the code &quot;<B>en</B>&quot;
(English) is used as an example. Replace this with the code of your
language.<p>
It is possible to have different variants of a language, for example where the sound of some phonemes changed,
or where some of the pronunciation rules differ.
<HR>
<H3>6.2 Phoneme File</H3>
<P>You must first decide on the set of phonemes to be used for the
language. These should be listed and defined in a phonemes file such as
<B>ph_english</B>. A reference to this file is then included at the end of
the <B>phonemes,</B> file (the master phoneme file), eg:</P>
<PRE> phonemetable en base
include ph_english</PRE><P>
This example defines a phoneme table &quot;<B>en</B>&quot; which inherits
the contents of phoneme table &quot;<B>base</B>&quot;. Its contents are
found in the file <B>ph_english</B>.</P>
<P>The <B>base</B> phoneme table contains definitions of a basic set of
consonants, and also some &quot;control&quot; phonemes such as stress marks and
pauses. The phoneme table for a language will generally inherit this,
or alternatively it may inherit the phoneme table of another language
which in turn inherits the <B>base</B> phoneme table.</P>
<P>The phonemes file for the language defines those additional
phonemes which are not inherited (generally the vowels and diphthongs, plus any additional
consonants), or phonemes whose definitions differ from the
inherited version (eg. the redefinition of a consonant).</P>
<P>Details of the contents of phonemes files are given in
<A href="phontab.html">phontab.html</A>.</P>
The <B>Compile phoneme data</B> function of the <B>espeakedit</B>
program compiles the phonemes files to produce the files
<B>espeak-data/phontab</B>, <B>phonindex</B>, and <B>phondata.</B><P>
For information on how to analyse recorded sounds of the language and to
prepare the corresponding phoneme data, see <a href="editor_if.html">espeakedit</a> and <a href="analyse.html">analysis</a>).<p>
For an initial draft a language will often be able to use vowels and
consonants which have already been set up for another language.
<HR>
<H3>6.3 Dictionary Files</H3>
<P STYLE="font-weight: medium">Once the language's phonemes have been
defined, then pronunciation dictionary data can be produced in order
to translate the language's source text into phonemes. This consists
of two source files: <B>en_rules</B> (the spelling to phoneme rules) and
<B>en_list</B> (an exceptions list, and attributes of certain words). The corresponding compiled data
file is <B>espeak-data/en_dict</B> which is produced from <B>en_rules</B>
and <B>en_list</B> sources by the command: <B>speak&nbsp; --compile=en</B>.</P>
<P STYLE="font-weight: medium">Details of the contents of the
dictionary files are given in <A href="dictionary.html">dictionary.html</A>.</P>
<P STYLE="font-weight: medium">The <B>en_list</B> file contains not
only pronunciation exceptions, but also gives attributes to specific
words, Most notable of these are:</P>
<P STYLE="font-weight: medium"><B>$u </B>Some common words should be
marked as &quot;unstressed&quot; in order to make the speech flow better.
These words generally include articles (eg: a, the, this, that),
auxillary verbs (eg: is, have, will, can, may), pronouns and
possessive adjectives (eg: he, his), some common prepositions (eg:
of, to, in, of), some common conjunctions (eg. and, or, if), some
common adverbs and adjectives (eg. any, already)</P>
<P><B>$pause </B>Some words should be marked to have a short pause
before then, in order to produce natural pauses in long sentences.
These include conjunctions (eg. and, or, but, however, which) and perhaps
some prepositions.</P>
<HR>
<H3>6.4 Voice File</H3>
<P STYLE="font-weight: medium">Each language should have one or more
voice files in <B>espeak-data/voices</B>. The filename of the default voice
for a language should be the same as the language code.</P>
<P STYLE="font-weight: medium">Details of the contants of voice files
are given in <A href="voices.html">voices.html</A>.</P>
<P STYLE="font-weight: medium">The simplest voice file would contain
just a single line to give the language code, eg:</P>
<PRE STYLE="margin-bottom: 0.5cm"> language en</PRE><P STYLE="font-weight: medium">
This language code specifies the phoneme table (i.e. <b>phonemetable en</b> and the
dictionary (i.e. <B>espeak-data/en_dict</B>) to be used. If needed, these can be
overridden by <B>phonemes</B> and <B>dictionary</B> attributes in the
voices file.</P>
<HR>
<H3>6.5 Program Code</H3>
<P STYLE="font-weight: medium">The behaviour of the speak program is
controlled by various options (eg. whether words are stressed on the first,
last, or penultimate syllable). The function <B>SetTranslator()</B> at the
start of the <B>tr_languages.cpp</B> file recognizes the language
code and sets the appropriate set of options.</P>
<P STYLE="font-weight: medium">For a new language, you would add its
language code and the required options in <B>SetTranslator()</B>. However, this
may not be necessary during testing because most of the options can also be
set from the voice file in
<B>espeak-data/voices</B>.</P>
<P>
Generally, the language's international <A HREF="http://en.wikipedia.org/wiki/ISO_639-1">ISO 639-1</A> code is used to identify the language. It is used in the filenames which contain the language's data. In the examples below the code <B>"fr"</B> is used as an example. Replace this with the code of your language.
</P>
<P>
If the language does not have a 2-letter ISO_639-1 code, then use the 3-letter ISO_639-3 code. Language codes may differ from country codes.
</P>
<P>
It is possible to have different variants of a language for different dialects. For example the sound of some phonemes are changed, or some of the pronunciation rules differ.
</P>
<HR NOSHADE SIZE=1>
<H3>6.2 Language Files</H3>
<P>
The following files are needed for your language.
</P>
<UL>
<LI><B>espeak-data/voices/fr</B>. The voice file. This gives the language name and may set some options.
<P></P>
<LI><B>phsource/ph_french</B>. The phoneme definition file. This contains phoneme definitions for the vowels and consonants which the language uses. Usually it will contain mostly vowels. Most consonants will be inherited from the common phoneme definitions in the master phoneme file, <B>phsource/phonemes</B>. The master phoneme file needs to be edited to call your new ph_french file.
<P></P>
<LI><B>dictsource/fr_rules</B>. This contains the spelling-to-phoneme translation rules.
<P></P>
<LI><B>dictsource/fr_list</B>. This contains pronunciations for numbers, letter and symbol names, and words with exceptional pronunciations. It also gives attributes such as "unstressed" and "pause" to some common words.
</UL>

<P>
The <B>fr_rules</B> and <B>fr_list</B> files are compiled to produce the file <B>espeak-data/fr_dict</B>, which eSpeak uses when it is speaking.
</P>
<HR NOSHADE SIZE=1>
<H3>6.3 Voice File</H3>
<P>
Each language needs a voice file in <B>espeak-data/voices</B> or <B>espeak-data/voices/test</B>. The filename of the default voice for a language should be the same as the language code (eg. "fr" for French).
</P>
<P>
Details of the contents of voice files are given in <A HREF="http://espeak.sf.net/voices.html">voices.html</A>.
</P>
<P>
The simplest voice file would contain just 2 lines to give the language name and language code, eg:
</P>
<PRE>
name french
language fr
</PRE>
<P></P>
<P>
This language code specifies which phoneme table and dictionary to use (i.e. <B>phonemetable fr</B> and <B>espeak-data/fr_dict</B>) to be used. If needed, these can be overridden by <B>phonemes</B> and <B>dictionary</B> attributes in the voice file. For example you may want to start the implementation of a new language by using the phoneme table of an existing language.
</P>
<HR NOSHADE SIZE=1>
<H3>6.4 Phoneme Definition File</H3>
<P>
You must first decide on the set of phonemes (vowel and consonant sounds) for the language. These should be defined in a phoneme definition file <B>ph_xxxx</B>, where "ph_xxxx" is the name of your language. A reference to this file is then included at the end of the master phoneme file, <B>phsource/phonemes</B>, eg:
</P>
<PRE>
phonemetable fr base
include ph_french
</PRE>
<P></P>
<P>
This example defines a phoneme table <B>"fr"</B> which inherits the contents of phoneme table <B>"base"</B>. Its contents are found in the file <B>ph_french</B>.
</P>
<P>
The <B>base</B> phoneme table contains definitions of a basic set of consonants, and also some "control" phonemes such as stress marks and pauses. These are defined in <B>phsource/phonemes</B>. The phoneme table for a language will inherit these, or alternatively it may inherit the phoneme table of another language which in turn inherits the <B>base</B> phoneme table.
</P>
<P>
The phonemes file for the language defines those additional phonemes which are not inherited (generally the vowels and diphthongs, plus any additional consonants that are needed), or phonemes whose definitions differ from the inherited version (eg. the redefinition of a consonant).
</P>
<P>
Details of phonemes files are given in <A HREF="http://espeak.sf.net/phontab.html">phontab.html</A>.
</P>
<P>
The <B>Compile phoneme data</B> function of the <B>espeakedit</B> program compiles the phonemes files of all languages to produce the files <B>espeak-data/phontab</B>, <B>phonindex</B>, and <B>phondata</B> which are used by eSpeak.
</P>
<P>
For many languages, the consonant phonemes which are already available in eSpeak, together with the available vowel files which can be used to define vowel phonemes, will be sufficient. At least for an initial implementation.
</P>
<HR NOSHADE SIZE=1>
<H3>6.5 Dictionary Files</H3>
<P>
Once the language's phonemes have been defined, then pronunciation dictionary data can be produced in order to translate the language's source text into phonemes. This consists of two source files: <B>fr_rules</B> (the spelling to phoneme rules) and <B>fr_list</B> (an exceptions list, and attributes of certain words). The corresponding compiled data file is <B>espeak-data/fr_dict</B> which is produced from <B>fr_rules</B> and <B>fr_list</B> sources by the command:
</P>
<BLOCKQUOTE>
<CODE>espeak --compile=fr</CODE>.
</BLOCKQUOTE>
<P></P>
<P>
Or by using the <B>espeakedit</B> program.
</P>
<P>
Details of the contents of the dictionary files are given in <A HREF="http://espeak.sf.net/dictionary.html">dictionary.html</A>.
</P>
<P>
The <B>fr_list</B> file contains:
</P>
<UL>
<LI>Pronunciations which exceptions to the rules in fr_rules, (eg. foreign names).
<LI>Pronunciation of letter names, symbol names, and punctuation names.
<LI>Pronunciation of numbers.
<LI>Attributes for words. For example, common function words which should not be stressed, or conjunctions which should be preceded by a pause.
</UL>

<HR NOSHADE SIZE=1>
<H3>6.6 Program Code</H3>
<P>
The behaviour of the eSpeak program is controlled by various options such as:
</P>
<UL>
<LI>Default rules for which syllable of a word has the main stress.
<LI>Relative lengths and amplitude of vowels in stressed and unstressed syllables.
<LI>Which intonation tunes to use.
<LI>Rules for speaking numbers.
</UL>

<P>
The function SetTranslator() at the start of the source code file tr_languages.cpp recognizes the language code and sets the appropriate options. For a new language, you would add its language code and the required options in SetTranslator(). However, this may not be necessary during testing because most of the options can also be set in the voice file in espeak-data/voices (see <A HREF="http://espeak.sf.net/voices.html">Voice files</A>).
</P>
<HR NOSHADE SIZE=1>
<H3>6.7 Improving a Language</H3>
<P>
Listen carefully to the eSpeak voice. Try to identify what sounds wrong and what needs to be improved.
</P>
<UL>
<LI>Make the spelling-to-phoneme translation rules more accurate, including the position of stressed syllables within words. Some languages are easier than others. I expect most are easier than English.
<P></P>
<LI>Improve the sounds of the phonemes. It may be that a phoneme should sound different depending on adjacent sounds, or whether it's at the start or the end of a word, between vowels, in a stressed or unstressed syllable, etc. This may consist of making small adjustments to vowel and diphthong quality or length, or adjusting the strength of consonants. Phoneme definitions can include conditional statements which can be used to change the sound of a phoneme depending on its environment. Bigger changes may be recording new or replacement consonant sounds, or may even need program code to implement new types of sounds.
<P></P>
<LI>Some common words should be added to the dictionary (the fr_list file for the language) with an "unstressed" attribute <B>$u</B> or <B>$u+</B> (eg. in English, words such as "the", "is", "had", "my", "she", "of", "in", "some"), or should be preceded by a short pause (such as "and", "but", "which"), or have other attributes, in order to make the speech flow better.
<P></P>
<LI>Improve the rhythm of the speech by adjusting the relative lengths of vowels in different contexts, eg. stressed/unstressed syllable, or depending on the following phonemes. This is important for making the speech sound good for the language.
<P></P>
<LI>Make new intonation "tunes" for statements or questions (see <A HREF="http://espeak.sf.net/intonation.html">Intonation</A>).
</UL>

<P>
<B>If you are interested in working on a language, please contact me so that I can set up the initial data and discuss the features of the language.</B>
</P>
<P>
For most of the eSpeak voices, I do not speak or understand the language, and I do not know how it should sound. I can only make improvements as a result of feedback from speakers of that language. If you want to help to improve a language, listen carefully and try to identify individual errors, either in the spelling-to-phoneme translation, the position of stressed syllables within words, or the sound of phonemes, or problems with rhythm and vowel lengths.
</P>
<HR NOSHADE SIZE=1>

</BODY>
</HTML>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -t html add_lang.txt -->
</BODY></HTML>

+ 1
- 1
docs/phontab.html View File

@@ -254,7 +254,7 @@ Can be:
<dd>Test the next vowel after the current phoneme, but only within the same word. Returns false if there is none.
<p>
<dt>PreVoicing()
<dd>This is used as part of the instructions for voiced stop consonants (eg. [d] [g]). If true then produce a voiced murmer before the stop.
<dd>This is used as part of the instructions for voiced stop consonants (eg. [d] [g]). If true then produce a voiced murmur before the stop.
<p>
<dt>KlattSynth()
<dd>Returns true if the voice is using the Klatt synthesizer rather than the eSpeak synthesizer.

BIN
phsource/b/br View File


BIN
phsource/b/xbr View File


+ 178
- 50
phsource/compile_report
File diff suppressed because it is too large
View File


BIN
phsource/g/gr View File


BIN
phsource/g/xg View File


+ 3
- 3
phsource/intonation View File

@@ -98,9 +98,9 @@ endtune
tune c3
prehead 46 57
headenv fall 16
head 4 80 30 -5 -15
headextend 0 63 38 13 0
nucleus0 fall-rise 75 40
head 4 70 30 -8 -5
// headextend 0 63 38 13 0
nucleus0 fall-rise 75 50
endtune

// question mark "?" - point d'interrogation

+ 1
- 1
phsource/ph_albanian View File

@@ -88,7 +88,7 @@ phoneme i
ENDIF
IF nextPh(l/3) THEN
VowelEnding(l/l_i, -30)
FMT(vowel/ii_en)
FMT(vowel/ii_7)
ENDIF
FMT(vowel/i_7)
endphoneme

+ 2
- 7
phsource/ph_armenian View File

@@ -79,11 +79,7 @@ endphoneme


phoneme p# // more aspiration
vls blb stop
lengthmod 2
voicingswitch b
CALL base/p
WAV(ustop/p_asp)
import_phoneme consonants/ph
endphoneme


@@ -98,8 +94,7 @@ endphoneme


phoneme k#
import_phoneme base/k
length 80
import_phoneme consonants/kh
endphoneme



+ 14
- 4
phsource/ph_consonants View File

@@ -41,7 +41,7 @@ phoneme p- // unaspirated
Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30
IF nextPh(l) THEN
WAV(ustop/pl)
ELIF nextPh(r) THEN
ELIF nextPh(isRhotic) THEN
WAV(ustop/pr)
ELIF nextPh(isPause2) THEN
WAV(ustop/p_unasp_, 80)
@@ -59,9 +59,6 @@ phoneme ph // aspirated
IF nextPh(isPause2) THEN
WAV(ustop/p_)
ENDIF
IF nextPh(r) THEN
WAV(ustop/pr)
ENDIF
IF nextPh(l) THEN
WAV(ustop/pl)
ENDIF
@@ -69,6 +66,19 @@ phoneme ph // aspirated
endphoneme


phoneme t-
vls alv stop
lengthmod 2
voicingswitch d
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
IF nextPh(isPause2) THEN
WAV(ustop/t_)
ENDIF
WAV(ustop/t_short)
endphoneme


phoneme c2
vls pal afr sibilant
lengthmod 2

+ 83
- 4
phsource/ph_dutch View File

@@ -64,8 +64,8 @@ endphoneme

phoneme O
vowel starttype #o endtype #o
length 150
FMT(vowel/o_5)
length 140
FMT(vowel/o_6)
endphoneme

phoneme O: // for "oor"
@@ -125,7 +125,7 @@ endphoneme
phoneme o:
vowel starttype #o endtype #u
length 200
FMT(vdiph/Vu_3)
FMT(vdiph/ou_4)
endphoneme


@@ -166,7 +166,7 @@ endphoneme
//===========


phoneme r // from Afrikaans
phoneme r
import_phoneme base/R2
endphoneme

@@ -194,4 +194,83 @@ phoneme Q
endphoneme


phoneme ! // Short pause, replaces assimilated t,d,p,b at end of word
pause
ipa NULL
starttype _ endtype _
lengthmod 1
length 25
endphoneme


phoneme k
import_phoneme consonants/k- // unaspirated
endphoneme


phoneme t
IF thisPh(isWordEnd) THEN
IF nextPh(t) OR nextPh(d) THEN
ChangePhoneme(!)
ENDIF
ENDIF
CALL consonants/t-
endphoneme

phoneme d
IF thisPh(isWordEnd) THEN
IF nextPh(t) OR nextPh(d) THEN
ChangePhoneme(!)
ENDIF
ENDIF

IF prevPh(!) THEN // previous was [t] or [d], now assimilated
ChangePhoneme(t)
ENDIF
CALL base/d
endphoneme

phoneme p
IF thisPh(isWordEnd) THEN
IF nextPh(p) OR nextPh(b) THEN
ChangePhoneme(!)
ENDIF
ENDIF
CALL consonants/p- // unaspirated
endphoneme

phoneme b
IF thisPh(isWordEnd) THEN
IF nextPh(p) OR nextPh(b) THEN
ChangePhoneme(!)
ENDIF
ENDIF

IF prevPh(!) THEN // previous was [p] or [b], now assimilated
ChangePhoneme(p)
ENDIF
CALL base/b
endphoneme

phoneme s
IF thisPh(isWordEnd) THEN
IF nextPh(s) OR nextPh(z) THEN
ChangePhoneme(!)
ENDIF
ENDIF
CALL base/s // unaspirated
endphoneme

phoneme z
IF thisPh(isWordEnd) THEN
IF nextPh(s) OR nextPh(z) THEN
ChangePhoneme(!)
ENDIF
ENDIF

IF prevPh(!) THEN // previous was [s] or [z], now assimilated
ChangePhoneme(s)
ENDIF
CALL base/s
endphoneme


+ 4
- 4
phsource/ph_english View File

@@ -31,10 +31,10 @@ phoneme l // use dark [l/2] before not-vowel

IF nextPhW(isVowel) THEN
ELSE
IF prevPh(isNotVowel) THEN
ChangePhoneme(l/)
ELSE
IF prevPh(isVowel) OR prevPh(j) OR prevPh(w) THEN
ChangePhoneme(l/2)
ELSE
ChangePhoneme(l/)
ENDIF
ENDIF

@@ -207,7 +207,7 @@ phoneme i // optional variant of [I] for end of words
ipa ɪ
length 140
IfNextVowelAppend(;)
FMT(vowel/ii_en)
FMT(vowel/ii_7)
endphoneme



+ 6
- 3
phsource/ph_esperanto View File

@@ -14,7 +14,7 @@ endphoneme
phoneme e
vowel starttype #e endtype #e
length 170
FMT(vowel/e)
FMT(vowel/e_mid2)
endphoneme


@@ -29,7 +29,10 @@ endphoneme
phoneme o
vowel starttype #o endtype #o
length 170
FMT(vowel/oo)
IF thisPh(isWordEnd) THEN
FMT(vowel/o)
ENDIF
FMT(vowel/oo_1)
endphoneme


@@ -71,7 +74,7 @@ endphoneme
phoneme oI
vowel starttype #o endtype #i
length 250
FMT(vdiph/ooi)
FMT(vdiph/ooi_2)
endphoneme



+ 7
- 7
phsource/ph_french View File

@@ -1,7 +1,7 @@
//====================================================
// French
//====================================================
// Updated 2010-11-19 Michel Such <[email protected]>
// Updated 2011-03-04 Michel Such <[email protected]>

phoneme #l virtual
// Used for l and l/
@@ -180,7 +180,7 @@ phoneme l
VowelStart(l/la, -10)
VowelStart(l/le, -15)
VowelStart(l/li, -15)
VowelStart(l/lo, -10)
VowelStart(vwl_fr/lo, -10)
VowelStart(l/lu, -20)
EndSwitch

@@ -193,7 +193,7 @@ phoneme l
IF prevPh(isPause) OR thisPh(isWordStart) THEN
FMT(l/_l)
ENDIF
IF prevPh(isRhotic) THEN
IF prevPh(isRhotic) OR prevPh(isNasal) THEN
FMT(l/_l)
ENDIF

@@ -210,7 +210,7 @@ endphoneme


phoneme l/ // used for [l] when not before a vowel
liquid
liquid rfx
starttype #l endtype #l
lengthmod 7

@@ -275,7 +275,7 @@ endphoneme

phoneme a
vowel starttype #a endtype #a
IF nextPh(isVowel) THEN
IF nextPhW(isVowel) THEN
length 220
ELSE
length 170
@@ -356,7 +356,7 @@ endphoneme

phoneme j/ // Short "i" between "r" and a vowel
vowel starttype #i endtype #i
length 100
length 80
// unstressed

NextVowelStarts
@@ -434,7 +434,7 @@ phoneme y

IF nextPhW(E~) OR nextPhW(#i) THEN
length 110
FMT(vowel/y)
FMT(vowel/y, 80)
ENDIF

length 180

+ 67
- 29
phsource/ph_german View File

@@ -20,32 +20,27 @@ phoneme @ // Schwa
endphoneme


phoneme 3 // Schwa+r
vowel starttype #a endtype #a
phoneme 3 // open Schwa+r
vowel starttype #@ endtype #@
unstressed flag1
length 170
IF thisPh(isWordEnd) THEN
FMT(vowel/V_3)
ELSE
FMT(vowel/a#_3)
ENDIF
length 160
FMT(vowel/a#_3) // in eSpeak 1.44, this used vowel/V_3 at end-of-word
endphoneme

phoneme 3: // Schwa+r
vowel starttype #a endtype #a
phoneme 3: // open Schwa+r
vowel starttype #@ endtype #@
unstressed flag1
length 220
IF thisPh(isWordEnd) THEN
FMT(vowel/V_3)
ELSE
FMT(vowel/a#_3)
ENDIF
length 210
FMT(vowel/a#_3)
endphoneme


phoneme a
vowel starttype #a endtype #a
length 110
IF nextPh(isRhotic) THEN
length 125
ENDIF
FMT(vowel/a)
endphoneme

@@ -53,6 +48,9 @@ endphoneme
phoneme E
vowel starttype #e endtype #e
length 120
IF nextPh(*) THEN
length 135
ENDIF
FMT(vowel/e_mid2)
endphoneme

@@ -61,6 +59,9 @@ phoneme E2 // as[E] but reduces to @ if unstressed
vowel starttype #e endtype #e
length 120
ChangeIfDiminished(@)
IF nextPh(*) THEN
length 135
ENDIF
FMT(vowel/e_mid2)
endphoneme

@@ -68,6 +69,9 @@ endphoneme
phoneme I
vowel starttype #i endtype #i
length 120
IF nextPh(*) THEN
length 135
ENDIF
IfNextVowelAppend(;)
FMT(vowel/ii)
endphoneme
@@ -83,6 +87,9 @@ endphoneme
phoneme O
vowel starttype #o endtype #o
length 120
IF nextPh(*) THEN
length 135
ENDIF
FMT(vowel/oo)
endphoneme

@@ -90,6 +97,10 @@ endphoneme
phoneme U
vowel starttype #u endtype #u
length 120
IF nextPh(*) THEN
length 135
ENDIF

IF nextPh(r) THEN
IF next2Ph(isVowel) THEN
ELSE
@@ -204,6 +215,9 @@ phoneme y
vowel starttype #u endtype #u
ipa ʏ
length 110
IF nextPh(*) THEN
length 115
ENDIF
FMT(vowel/yy_4)
endphoneme

@@ -218,6 +232,9 @@ endphoneme
phoneme W
vowel starttype #@ endtype #@
length 150
IF nextPh(*) THEN
length 160
ENDIF
FMT(vowel/oe)
endphoneme

@@ -301,8 +318,34 @@ phoneme j
endphoneme


phoneme r
vcd alv flp rhotic
lengthmod 6

IF prevPhW(@-) THEN
ELSE
IF nextPhW(isVowel) THEN
IF prevPhW(isVowel) THEN
ChangePhoneme(R)
ELSE
// IF thisPh(isWordStart) THEN
// ELSE
InsertPhoneme(@-)
// ENDIF
ENDIF
ENDIF
ENDIF

IF prevPh(isFlag1) THEN
ChangePhoneme(NULL) // 'r' is already included in the previous vowel
ENDIF

CALL base/*
endphoneme


phoneme r // uvular trill or fricative
// This version of [r] was used in eSpeak 1.44, but received complaints
phoneme r2 // uvular trill or fricative
vcd uvl frc
ipa ʀ
lengthmod 6
@@ -348,23 +391,18 @@ phoneme UR
endphoneme


phoneme r2
vcd alv flp

IF prevPhW(isVowel) THEN
ChangePhoneme(*)
ENDIF

InsertPhoneme(@-)
ChangePhoneme(*)
endphoneme



phoneme oU // for English words
import_phoneme en-us/oU
endphoneme

phoneme A~
vowel starttype #a endtype #a
length 260
FMT(vnasal/aa_n4)
endphoneme



// translate from English to German phonemes
@@ -386,7 +424,7 @@ aI aI
aI@ aI 3
aU aU
aU@ aU 3
A~ O n
A~ A~
E E
e: e:
e@ E: r

+ 6
- 3
phsource/ph_hindi View File

@@ -289,7 +289,7 @@ phoneme bh
FMT(b/xb)
ENDIF

FMT( b/xb) addWav(ustop/p_asp, 70)
FMT( b/b@2) addWav(ustop/p_asp, 70)
endphoneme


@@ -474,7 +474,10 @@ phoneme gh
FMT(g2/xg)
ENDIF

FMT(g2/xg) addWav(ustop/k_asp, 70)
IF nextPh(isPause2) THEN
FMT(g2/xg) addWav(ustop/k_asp, 35)
ENDIF
FMT(g2/xg) addWav(ustop/k_asp, 50)
endphoneme

//================
@@ -482,7 +485,7 @@ endphoneme
phoneme #X2 // click, use for indicating combining long vowels
vls alv frc sibilant
lengthmod 3
WAV(ustop/percus02)
WAV(ustop/percus02, 60)
endphoneme



+ 20
- 4
phsource/ph_italian View File

@@ -34,7 +34,11 @@ endphoneme
phoneme e/
vowel starttype #e endtype #e
length 170
FMT(vowel/e)
IF nextPhW(isNasal) OR nextPhW(isLiquid) THEN
FMT(vowel/e_mid2)
ELSE
FMT(vowel/e)
ENDIF
endphoneme


@@ -55,6 +59,14 @@ phoneme i
endphoneme


phoneme i# // Used for 'gia_' where [i] is only spoken if stressed
vowel starttype #i endtype #i
length 140
ChangeIfNotStressed(NULL)
ChangePhoneme(i)
endphoneme


phoneme I
vowel starttype #i endtype #i
length 150
@@ -74,7 +86,11 @@ endphoneme
phoneme o/
vowel starttype #o endtype #o
length 170
FMT(vowel/o)
IF nextPhW(isNasal) OR nextPhW(isLiquid) THEN
FMT(vowel/oo_1)
ELSE
FMT(vowel/o)
ENDIF
endphoneme


@@ -101,9 +117,9 @@ endphoneme


phoneme aU
vowel starttype #a endtype #u
vowel starttype #a endtype #o
length 270
FMT(vdiph/au_4)
FMT(vdiph/aoo)
endphoneme



+ 1
- 1
phsource/ph_romanian View File

@@ -136,7 +136,7 @@ endphoneme
phoneme e[u
vowel starttype #e endtype #u
length 250
FMT(vdiph2/e[u)
FMT(vdiph2/e_u)
endphoneme

phoneme Oa

+ 288
- 98
phsource/ph_russian View File

@@ -1,45 +1,154 @@


phoneme g
vcd vel stop prevoice
voicingswitch k
lengthmod 5
Vowelin f1=2 f2=2300 200 300 f3=-300 80
Vowelout f1=2 f2=2300 250 300 f3=-300 80 brk

IF PreVoicing THEN
FMT(g/xg)
ENDIF

IF nextPh(isPause2) THEN
FMT(g/g_) addWav(x/g_)
ENDIF
FMT(g/g) addWav(x/g3, 90)
endphoneme


phoneme p
import_phoneme consonants/p-
endphoneme



phoneme x
vls vel frc
lengthmod 3
Vowelin f1=0 f2=2300 200 400 f3=-100 80
Vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
// IF nextPh(isPause) THEN
// WAV(ufric/x, 120)
// ENDIF
WAV(ufric/x_hr, 30)
endphoneme


phoneme k
import_phoneme consonants/k-
endphoneme



phoneme l
import_phoneme en/l

liquid rfx
ipa ɭ
lengthmod 7
length 40
FMT(l^/l_rfx)
endphoneme

phoneme l^
liquid rfx palatal
ipa ɭ
// lengthmod 7
length 80
// FMT(l^/l^)
FMT(l^/l_rfx)
endphoneme

phoneme s
vls alv frc sibilant
// voicingswitch z
lengthmod 3
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
// IF nextPh(isPause) THEN
// WAV(ufric/s_)
// ELIF nextPh(p) OR nextPh(t) OR nextPh(k) THEN
// WAV(ufric/s!)
// ENDIF
WAV(ufric/s)
endphoneme

phoneme s;
import_phoneme en/s
//CALL en/s
endphoneme

phoneme r
liquid
trill
lengthmod 7


//phoneme n
// vcd pal nasal
// FMT(n/nru)
//
// import_phoneme en/n
// length 200
//endphoneme

phoneme n_
// vcd pal nasal
// FMT(n/nru)

import_phoneme en/n
// length 200
endphoneme




phoneme n#
vcd pal nasal palatal
ipa ɲ
Vowelout f1=3 f2=2500 300 500 f3=100 80 len=45 brk rate
lengthmod 4

IF KlattSynth THEN
VowelStart(klatt/n^@)
FMT(klatt/n^)
ENDIF

NextVowelStarts
VowelStart(r/r@, -15)
VowelStart(r/ra, -15)
VowelStart(r/re, -15)
VowelStart(r/ri, -15)
VowelStart(r/ro, -15)
VowelStart(r/ru, -15)
VowelStart(n^/n^@)
VowelStart(n^/n^a)
VowelStart(n^/n^e)
VowelStart(n^/n^i)
VowelStart(n^/n^o)
VowelStart(n^/n^u)
EndSwitch

IF nextPh(isNotVowel) THEN
ChangePhoneme(r/)
IF prevPh(isPause) THEN
FMT(n^/_n^)
ELIF nextPh(isNotVowel) THEN
IF nextPhW(n^) THEN
Length 75
ELIF prevPhW(n^) THEN
Length 100
ENDIF
FMT(n^/n^_)
ENDIF
IF prevPhW(t) OR prevPhW(p) OR prevPhW(k) THEN
FMT(r/trr)
ENDIF
FMT(r/rr)
endphoneme


phoneme r/ // used for [r] when not preceding a vowel
liquid
lengthmod 2
IF nextPh(n) THEN
FMT(r3/r_n) addWav(r3/rx)
phoneme r
liquid rhotic nolink
alv trill
length 80
IF prevPhW(isVowel) THEN
ELSE
InsertPhoneme(@-)
ENDIF
FMT(r3/r_) addWav(r3/rx)
FMT(r3/r_trill,80) addWav(r3/r_trill.wav, 50)
endphoneme



phoneme ts
Length 10
import_phoneme consonants/ts
endphoneme

@@ -51,11 +160,11 @@ phoneme dZ;
Vowelin f1=2 f2=2700 400 600 f3=300 80 rate len=70

IF PreVoicing THEN
FMT(dzh/xdzh)
FMT(dzh/xdzh)
ENDIF

IF nextPh(isPause2) THEN
FMT(dzh/dzh_) addWav(x/dzh_)
FMT(dzh/dzh_) addWav(x/dzh_)
ENDIF
endphoneme

@@ -89,20 +198,54 @@ phoneme d;
import_phoneme pl/d;
endphoneme

//phoneme m;
// import_phoneme ro/m;
//endphoneme

phoneme m;
import_phoneme ro/m;
vcd blb nasal
Vowelout f1=2 f2=1000 -500 -350 f3=-200 80 brk
lengthmod 4

IF KlattSynth THEN
Vowelin f1=0 f2=1000 -50 -200 f3=-200 80
IF nextPh(isPause2) THEN
FMT(klatt/m_)
ENDIF
FMT(klatt/m)
ENDIF

VowelStart(m/mi)

// NextVowelStarts
// VowelStart(m/m@)
// VowelStart(m/ma)
// VowelStart(m/me)
// VowelStart(m/mi)
// VowelStart(m/mo)
// VowelStart(m/mu)
// EndSwitch

// IF prevPh(isNotVowel) AND nextPhW(isLiquid) THEN
FMT(m/mj)
// ELIF prevPh(isPause) THEN
// FMT(m/_m)
// ELIF nextPh(isNotVowel) THEN
// FMT(m/m_)
// ENDIF
endphoneme


phoneme I^ // "silent i", palatilizes the preceding consonant

phoneme I^ // "silent i", palatilizes the preceding consonant
vowel starttype #i endtype #i
unstressed nonsyllabic
Length 70
IF nextPh(isVowel) THEN
ChangePhoneme(;)
ChangePhoneme(;)
ENDIF
IF prevPh(m;) THEN
FMT(vwl_ro/mi)
FMT(vwl_ro/mi)
ENDIF
FMT(vwl_ru/ii-)
endphoneme
@@ -114,9 +257,12 @@ endphoneme
//*******************************************************************

phoneme i
IF prevPh(Z) THEN
ChangePhoneme(y)
ENDIF
vowel starttype #i endtype #i
Length 100
FMT(vwl_ru/i)
Length 50
FMT(vwl_ru/ii)
endphoneme


@@ -124,10 +270,10 @@ phoneme I#
vowel starttype #i endtype #i
Length 80
IF nextVowel(isMaxStress) THEN
ChangePhoneme(I)
ChangePhoneme(I)
ENDIF
IF thisPh(isMaxStress) THEN
ChangePhoneme(i)
ChangePhoneme(i)
ENDIF
FMT(vwl_ru/ii#)
endphoneme
@@ -145,11 +291,11 @@ phoneme I
Length 80

IF thisPh(isMaxStress) THEN
IF prevPhW(j) THEN
ChangePhoneme(a)
ELSE
ChangePhoneme(i)
ENDIF
IF prevPhW(j) THEN
ChangePhoneme(a)
ELSE
ChangePhoneme(i)
ENDIF
ENDIF
FMT(vwl_ru/ii)
endphoneme
@@ -159,10 +305,10 @@ phoneme I2
vowel starttype #i endtype #i
Length 80
IF thisPh(isMaxStress) THEN
ChangePhoneme(e)
ChangePhoneme(e)
ENDIF
IF prevPhW(isPalatal) THEN
ChangePhoneme(I)
ChangePhoneme(I)
ENDIF
FMT(vwl_ru/ii)
endphoneme
@@ -172,14 +318,14 @@ phoneme I3
vowel starttype #i endtype #i
Length 80
IF thisPh(isMaxStress) THEN
IF prevPhW(j) THEN
ChangePhoneme(e)
ELSE
ChangePhoneme(ja)
ENDIF
IF prevPhW(j) THEN
ChangePhoneme(e)
ELSE
ChangePhoneme(ja)
ENDIF
ENDIF
IF prevPhW(isPalatal) THEN
ChangePhoneme(I)
ChangePhoneme(I)
ENDIF
FMT(vwl_ru/ii)
endphoneme
@@ -187,7 +333,7 @@ endphoneme

phoneme E
vowel starttype #e endtype #e
Length 200
Length 100
FMT(vwl_ru/e)
endphoneme

@@ -196,11 +342,11 @@ phoneme E#
vowel starttype #e endtype #e
Length 100
IF thisPh(isMaxStress) THEN
IF prevPhW(j) THEN
ChangePhoneme(e)
ELSE
ChangePhoneme(E)
ENDIF
IF prevPhW(j) THEN
ChangePhoneme(e)
ELSE
ChangePhoneme(E)
ENDIF
ENDIF
FMT(vwl_ru/E#)
endphoneme
@@ -210,19 +356,19 @@ phoneme E2
vowel starttype #e endtype #e
Length 80
IF nextVowel(isMaxStress) THEN
IF prevPh(j) THEN
ChangePhoneme(I3)
ELSE
ChangePhoneme(E#)
ENDIF
IF prevPh(j) THEN
ChangePhoneme(I3)
ELSE
ChangePhoneme(E#)
ENDIF
ENDIF

IF thisPh(isMaxStress) THEN
IF prevPhW(j) THEN
ChangePhoneme(e)
ELSE
ChangePhoneme(E)
ENDIF
IF prevPhW(j) THEN
ChangePhoneme(e)
ELSE
ChangePhoneme(E)
ENDIF
ENDIF

FMT(vwl_ru/E@)
@@ -233,21 +379,29 @@ phoneme E3
vowel starttype #e endtype #e
Length 80
IF nextVowel(isMaxStress) THEN
ChangePhoneme(I)
ChangePhoneme(I)
ENDIF
IF thisPh(isMaxStress) THEN
ChangePhoneme(e)
ChangePhoneme(e)
ENDIF
IF prevPhW(isPalatal) THEN
ChangePhoneme(E2)
ChangePhoneme(E2)
ENDIF
FMT(vwl_ru/E@)
endphoneme

phoneme E% // е in prefix "интер"
vowel
// starttype #e endtype #e
//ChangeIfNotStressed(y)
ChangePhoneme(E#)
endphoneme


phoneme o
vowel starttype #o endtype #o
Length 100
ChangeIfNotStressed(V)
FMT(vwl_ru/o)
endphoneme

@@ -256,10 +410,10 @@ phoneme O
vowel starttype #o endtype #o
Length 80
IF prevPhW(isPalatal) THEN
ChangePhoneme(8)
ChangePhoneme(8)
ENDIF
IF thisPh(isMaxStress) THEN
ChangePhoneme(o)
ChangePhoneme(o)
ENDIF
FMT(vwl_ru/oo)
endphoneme
@@ -285,7 +439,7 @@ endphoneme

phoneme 8
vowel starttype #o endtype #o
Length 150
Length 100
ChangeIfNotStressed(V)
FMT(vwl_ru/8)
endphoneme
@@ -293,6 +447,19 @@ endphoneme
phoneme e
vowel starttype #e endtype #e
Length 100
IF prevPh(Z) THEN
ChangeIfNotStressed(y)
ChangePhoneme(E)
ENDIF
IF prevPh(S) THEN
ChangeIfNotStressed(y)
ChangePhoneme(E)
ENDIF
IF prevPh(ts) THEN
ChangeIfNotStressed(y)
ChangePhoneme(E)
ENDIF
ChangeIfNotStressed(i)
FMT(vwl_ru/ee)
endphoneme

@@ -304,29 +471,51 @@ endphoneme

phoneme ja
vowel starttype #i endtype #a
Length 200
FMT(vwl_ru/ja)
IF thisPh(isMaxStress) THEN
Length 200
FMT(vwl_ru/ja)
ELSE
FMT(vdiph2/ii@)
ENDIF
endphoneme

phoneme ja#
vowel starttype #i endtype #a
IF thisPh(isMaxStress) THEN
FMT(vowel/&)
// ChangePhoneme(A)
ELSE
IF prevPhW(isPalatal) THEN
ChangePhoneme(I)
ENDIF
ENDIF

// Length 200
// FMT(vwl_ru/ja)
endphoneme




phoneme V#
vowel starttype #a endtype #@
unstressed
Length 80
// IF nextVowel(isMaxStress) THEN
// not needed? because V# is only used at end-of-word
// ChangePhoneme(I3)
// not needed? because V# is only used at end-of-word
// ChangePhoneme(I3)
// ENDIF

IF thisPh(isMaxStress) THEN
IF prevPhW(j) THEN
ChangePhoneme(A)
ELSE
ChangePhoneme(ja)
ENDIF
IF prevPhW(j) THEN
ChangePhoneme(A)
ELSE
ChangePhoneme(ja)
ENDIF
ENDIF

IF prevPhW(isPalatal) THEN
ChangePhoneme(V)
ChangePhoneme(V)
ENDIF

FMT(vowel/V_2)
@@ -354,21 +543,21 @@ phoneme a

IF prevPhW(j) THEN
ELSE
IF thisPh(isMaxStress) THEN
IF prevPhW(isPalatal) THEN
ChangePhoneme(ja)
ELSE
ChangePhoneme(A)
ENDIF
ELSE
IF prevPhW(isPalatal) THEN
ChangePhoneme(I)
ENDIF
ENDIF
IF thisPh(isMaxStress) THEN
IF prevPhW(isPalatal) THEN
ChangePhoneme(ja)
ELSE
ChangePhoneme(A)
ENDIF
ELSE
IF prevPhW(isPalatal) THEN
ChangePhoneme(I)
ENDIF
ENDIF
ENDIF

IF thisPh(isWordEnd) THEN
FMT(vowel/a#_3)
FMT(vowel/a#_3)
ENDIF
FMT(vwl_ru/aa)
endphoneme
@@ -380,17 +569,17 @@ phoneme V
unstressed

IF nextVowel(isMaxStress) THEN
ChangePhoneme(a)
ChangePhoneme(a)
ENDIF

IF thisPh(isMaxStress) THEN
IF prevPhW(j) THEN
ChangePhoneme(a)
ELIF prevPhW(isPalatal) THEN
ChangePhoneme(ja)
ELSE
ChangePhoneme(A)
ENDIF
IF prevPhW(j) THEN
ChangePhoneme(a)
// ELIF prevPhW(isPalatal) THEN
// ChangePhoneme(ja)
ELSE
ChangePhoneme(A)
ENDIF
ENDIF

FMT(vowel/V_2)
@@ -412,3 +601,4 @@ phoneme R4
FMT(r3/r_ru2) addWav(r3/r_ru, 50)
endphoneme



+ 15
- 4
phsource/ph_tamil View File

@@ -3,6 +3,11 @@
// This inherits from ph_hindi


phoneme @
vowel starttype #@ endtype #@
length 130
FMT(vowel/V_2)
endphoneme

phoneme a
vowel starttype #a endtype #a
@@ -13,8 +18,11 @@ endphoneme

phoneme V
vowel starttype #@ endtype #@
ipa ɐ
ipa ʌ
length 130
IF nextPh(isWordEnd) AND nextPh(m) THEN
ChangePhoneme(@)
ENDIF
FMT(vowel/V_3)
endphoneme

@@ -52,6 +60,9 @@ endphoneme
phoneme i
vowel starttype #i endtype #i
length 130
IF thisPh(isWordEnd) AND thisPh(isNotStressed) THEN
FMT(vowel/ii_5)
ENDIF
FMT(vowel/i_6)
endphoneme

@@ -100,7 +111,7 @@ endphoneme

phoneme u:
vowel starttype #u endtype #u
length 260
length 280
IF prevPhW(isVel) THEN
ELSE
ChangeIfNotStressed(U:)
@@ -111,7 +122,7 @@ endphoneme
phoneme U:
vowel starttype #u endtype #u
ipa ʉ
length 240
length 270
FMT(vowel/u#_3)
endphoneme

@@ -124,7 +135,7 @@ endphoneme

phoneme aU
vowel starttype #a endtype #u
length 260
length 270
FMT(vdiph/au)
endphoneme


+ 38
- 9
phsource/phonemes View File

@@ -149,8 +149,8 @@ phoneme @- // very short schwa
unstressed nonsyllabic

ipa ə
IF nextPhW(*) THEN
ipa NULL
IF nextPhW(*) OR nextPhW(r) THEN
ipa NULL // @-* is used to make 'r'
ENDIF
length 50
FMT(vowel/@-)
@@ -239,7 +239,7 @@ endphoneme
phoneme #X1 // click, use for indicating capital letters
vls alv frc sibilant
lengthmod 3
WAV(ustop/percus10)
WAV(ustop/percus10, 60)
endphoneme


@@ -479,6 +479,14 @@ phoneme l/ // used for [l] when not before a vowel
VowelEnding(l/L1_uL, -40)
EndSwitch

// we need to replace these with new FMT sequeces for jl and wl
IF prevPhW(j) THEN
FMT(l/L1_eL)
ENDIF
IF prevPhW(w) THEN
FMT(l/L1_eL)
ENDIF

FMT(l/l_)
endphoneme

@@ -492,6 +500,13 @@ phoneme l/2 // 'dark' [l] after a vowel

CALL vowelstart_l

IF prevPhW(j) THEN
FMT(l/L2_eL)
ENDIF
IF prevPhW(w) THEN
FMT(l/L2_uL)
ENDIF

PrevVowelEndings
VowelEnding(l/L2_@L, -60)
VowelEnding(l/L2_aL, -50)
@@ -833,7 +848,7 @@ endphoneme


phoneme * // flap
vcd alv flp
vcd alv flp rhotic
brkafter
ipa ɾ
lengthmod 3
@@ -1377,7 +1392,7 @@ phoneme c
IF nextPh(isPause2) THEN
WAV(ustop/t_pzd, 30)
ENDIF
WAV(ustop/c, 130)
WAV(ustop/c, 150)
endphoneme


@@ -1574,7 +1589,7 @@ phoneme x
IF nextPh(isPause) THEN
WAV(ufric/x, 120)
ENDIF
WAV(ufric/x_hr, 30)
WAV(ufric/x_hr, 25)
endphoneme


@@ -1673,12 +1688,17 @@ include ph_french
phonemetable fr-ca fr
include ph_french_ca


phonemetable hi base
include ph_hindi

phonemetable ta hi
include ph_tamil

phonemetable kn hi
include ph_kannada


phonemetable hu base
include ph_hungarian

@@ -1793,9 +1813,6 @@ include ph_kinyarwanda
phonemetable ml hi
include ph_malayalam

//phonemetable kn hi
//include ph_kannada

//phonemetable bn hi
//include ph_bengali

@@ -1843,3 +1860,15 @@ include ph_amhari

phonemetable wo base
include ph_wolof

phonemetable dv hi
include ph_divehi

phonemetable te hi
include ph_telugu

phonemetable tn base
include ph_setswana

phonemetable ka base
include ph_georgian

BIN
phsource/vdiph/ai_5 View File


BIN
phsource/vdiph/ooi_2 View File


BIN
phsource/vdiph/ou_4 View File


phsource/vdiph2/e[u → phsource/vdiph2/e_u View File


BIN
phsource/vowel/a_2 View File


BIN
phsource/vowel/a_3 View File


BIN
phsource/vowel/e_mid2 View File


BIN
phsource/vowel/ii_3 View File


BIN
phsource/vowel/ii_7 View File


BIN
phsource/vowel/ii_en View File


BIN
phsource/vowel/o_8 View File


BIN
phsource/vowel/vowelchart.png View File


BIN
phsource/vowel/y View File


BIN
phsource/vwl_fr/@2r View File


BIN
phsource/vwl_fr/a2r View File


BIN
phsource/vwl_fr/aa2r View File


BIN
phsource/vwl_fr/br View File


BIN
phsource/vwl_fr/e2r View File


BIN
phsource/vwl_fr/e_2r View File


BIN
phsource/vwl_fr/ee2r View File


BIN
phsource/vwl_fr/i2r View File


BIN
phsource/vwl_fr/lo View File


BIN
phsource/vwl_fr/o2r View File


BIN
phsource/vwl_fr/oo2r View File


BIN
phsource/vwl_fr/r View File


BIN
phsource/vwl_fr/r@ View File


BIN
phsource/vwl_fr/r@2 View File


BIN
phsource/vwl_fr/r_ View File


BIN
phsource/vwl_fr/r_@ View File


BIN
phsource/vwl_fr/r_a View File


BIN
phsource/vwl_fr/r_e View File


BIN
phsource/vwl_fr/r_i View File


BIN
phsource/vwl_fr/r_n View File


BIN
phsource/vwl_fr/r_o View File


BIN
phsource/vwl_fr/r_u View File


BIN
phsource/vwl_fr/r_y View File


BIN
phsource/vwl_fr/ra View File


BIN
phsource/vwl_fr/raa View File


BIN
phsource/vwl_fr/re View File


BIN
phsource/vwl_fr/re2 View File


BIN
phsource/vwl_fr/ree View File


BIN
phsource/vwl_fr/ri View File


BIN
phsource/vwl_fr/rj View File


BIN
phsource/vwl_fr/ro View File


BIN
phsource/vwl_fr/roo View File


BIN
phsource/vwl_fr/ru View File


BIN
phsource/vwl_fr/rw View File


BIN
phsource/vwl_fr/ry View File


BIN
phsource/vwl_fr/tr View File


BIN
phsource/vwl_fr/u2r View File


BIN
phsource/vwl_fr/xr View File


BIN
phsource/vwl_fr/y2r View File


+ 3
- 1
platforms/windows/espeakedit/src/speech.h View File

@@ -18,6 +18,8 @@
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef SPEECH_H
#define SPEECH_H
#define LOG_FRAMES // write keyframe info to src/log
@@ -37,7 +39,6 @@
//#define USE_NANOSLEEP
#define NO_VARIADIC_MACROS
#define __cdecl
#define ESPEAK_API
#define PATH_ESPEAK_DATA "C:\\Program files\\espeak\\espeak-data"
typedef unsigned short USHORT;
@@ -63,3 +64,4 @@ int GetFileLength(const char *filename);
char *Alloc(int size);
void Free(void *ptr);
#endif SPEECH_H

+ 0
- 0
platforms/windows/espeakedit/src_copy/speech.h View File


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

Loading…
Cancel
Save