Browse Source

Merge branch 'master' into android

master
Reece H. Dunn 12 years ago
parent
commit
b1c06da202
65 changed files with 5912 additions and 3728 deletions
  1. 62
    62
      Makefile.am
  2. 2
    1
      dictsource/bn_rules
  3. 72
    82
      dictsource/da_list
  4. 3017
    2545
      dictsource/da_rules
  5. 128
    29
      dictsource/en_list
  6. 83
    24
      dictsource/en_rules
  7. 8
    6
      dictsource/ga_list
  8. 47
    21
      dictsource/ga_rules
  9. 20
    19
      dictsource/hi_rules
  10. 130
    7
      dictsource/hu_rules
  11. 33
    33
      dictsource/hy_rules
  12. 196
    151
      dictsource/ml_list
  13. 229
    8
      dictsource/nl_list
  14. 116
    51
      dictsource/nl_rules
  15. 40
    0
      dictsource/om_list
  16. 143
    0
      dictsource/om_rules
  17. 166
    101
      dictsource/pt_list
  18. 148
    136
      dictsource/pt_rules
  19. 14
    0
      dictsource/ru_rules
  20. 116
    23
      dictsource/sl_list
  21. 21
    5
      dictsource/sl_rules
  22. 2
    0
      dictsource/sw_rules
  23. 1
    3
      dictsource/ta_list
  24. 135
    14
      dictsource/ta_rules
  25. 17
    9
      dictsource/ur_list
  26. 16
    14
      dictsource/ur_rules
  27. 89
    44
      dictsource/vi_rules
  28. 1
    1
      docs/voices.html
  29. 2
    0
      espeak-data/voices/test/om
  30. 5
    2
      mkdictlist
  31. 13
    4
      phsource/mbrola/in1
  32. 2
    1
      phsource/ph_armenian
  33. 2
    2
      phsource/ph_bengali
  34. 368
    150
      phsource/ph_danish
  35. 2
    2
      phsource/ph_english_us
  36. 10
    1
      phsource/ph_irish
  37. 1
    1
      phsource/ph_malayalam
  38. 137
    0
      phsource/ph_oromiffa
  39. 45
    1
      phsource/ph_slovenian
  40. 47
    41
      phsource/ph_vietnam
  41. 14
    2
      phsource/ph_vietnam_hue
  42. 5
    0
      phsource/phonemes
  43. BIN
      phsource/ustop/tsh_unasp2.wav
  44. BIN
      phsource/vdiph/ooi_3
  45. 5
    5
      src/Makefile.am
  46. 1
    0
      src/compiledata.cpp
  47. 1
    0
      src/compiledict.cpp
  48. 77
    75
      src/dictionary.cpp
  49. 0
    1
      src/espeakedit.cpp
  50. 14
    0
      src/intonation.cpp
  51. 3
    3
      src/klatt.cpp
  52. 44
    13
      src/numbers.cpp
  53. 2
    1
      src/phonemelist.cpp
  54. 5
    2
      src/readclause.cpp
  55. 5
    4
      src/speak_lib.cpp
  56. 10
    5
      src/speak_lib.h
  57. 1
    1
      src/spectseq.cpp
  58. 0
    1
      src/speech.h
  59. 1
    1
      src/synthdata.cpp
  60. 4
    3
      src/synthesize.cpp
  61. 13
    4
      src/tr_languages.cpp
  62. 11
    6
      src/translate.cpp
  63. 3
    2
      src/translate.h
  64. 4
    3
      src/transldlg.cpp
  65. 3
    2
      src/voices.cpp

+ 62
- 62
Makefile.am View File

@@ -214,370 +214,370 @@ af: espeak-data/af_dict
dictsource/af_extra:
touch dictsource/af_extra
espeak-data/af_dict: src/espeak espeak-data/phontab dictsource/af_list dictsource/af_rules dictsource/af_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=af && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=af && cd ..

am: espeak-data/am_dict
dictsource/am_extra:
touch dictsource/am_extra
espeak-data/am_dict: src/espeak espeak-data/phontab dictsource/am_list dictsource/am_rules dictsource/am_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=am && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=am && cd ..

an: espeak-data/an_dict
dictsource/an_extra:
touch dictsource/an_extra
espeak-data/an_dict: src/espeak espeak-data/phontab dictsource/an_list dictsource/an_rules dictsource/an_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=an && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=an && cd ..

az: espeak-data/az_dict
dictsource/az_extra:
touch dictsource/az_extra
espeak-data/az_dict: src/espeak espeak-data/phontab dictsource/az_list dictsource/az_rules dictsource/az_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=az && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=az && cd ..

bg: espeak-data/bg_dict
dictsource/bg_extra:
touch dictsource/bg_extra
espeak-data/bg_dict: src/espeak espeak-data/phontab dictsource/bg_list dictsource/bg_listx dictsource/bg_rules dictsource/bg_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=bg && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=bg && cd ..

bn: espeak-data/bn_dict
dictsource/bn_extra:
touch dictsource/bn_extra
espeak-data/bn_dict: src/espeak espeak-data/phontab dictsource/bn_list dictsource/bn_rules dictsource/bn_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=bn && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=bn && cd ..

ca: espeak-data/ca_dict
dictsource/ca_extra:
touch dictsource/ca_extra
espeak-data/ca_dict: src/espeak espeak-data/phontab dictsource/ca_list dictsource/ca_rules dictsource/ca_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=ca && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=ca && cd ..

cs: espeak-data/cs_dict
dictsource/cs_extra:
touch dictsource/cs_extra
espeak-data/cs_dict: src/espeak espeak-data/phontab dictsource/cs_list dictsource/cs_rules dictsource/cs_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=cs && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=cs && cd ..

cy: espeak-data/cy_dict
dictsource/cy_extra:
touch dictsource/cy_extra
espeak-data/cy_dict: src/espeak espeak-data/phontab dictsource/cy_list dictsource/cy_rules dictsource/cy_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=cy && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=cy && cd ..

da: espeak-data/da_dict
dictsource/da_extra:
touch dictsource/da_extra
espeak-data/da_dict: src/espeak espeak-data/phontab dictsource/da_list dictsource/da_rules dictsource/da_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=da && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=da && cd ..

de: espeak-data/de_dict
dictsource/de_extra:
touch dictsource/de_extra
espeak-data/de_dict: src/espeak espeak-data/phontab dictsource/de_list dictsource/de_rules dictsource/de_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=de && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=de && cd ..

el: espeak-data/el_dict
dictsource/el_extra:
touch dictsource/el_extra
espeak-data/el_dict: src/espeak espeak-data/phontab dictsource/el_list dictsource/el_rules dictsource/el_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=el && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=el && cd ..

en: espeak-data/en_dict
dictsource/en_extra:
touch dictsource/en_extra
espeak-data/en_dict: src/espeak espeak-data/phontab dictsource/en_list dictsource/en_rules dictsource/en_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=en && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=en && cd ..

eo: espeak-data/eo_dict
dictsource/eo_extra:
touch dictsource/eo_extra
espeak-data/eo_dict: src/espeak espeak-data/phontab dictsource/eo_list dictsource/eo_rules dictsource/eo_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=eo && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=eo && cd ..

es: espeak-data/es_dict
dictsource/es_extra:
touch dictsource/es_extra
espeak-data/es_dict: src/espeak espeak-data/phontab dictsource/es_list dictsource/es_rules dictsource/es_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=es && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=es && cd ..

et: espeak-data/et_dict
dictsource/et_extra:
touch dictsource/et_extra
espeak-data/et_dict: src/espeak espeak-data/phontab dictsource/et_list dictsource/et_rules dictsource/et_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=et && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=et && cd ..

fa: espeak-data/fa_dict
dictsource/fa_extra:
touch dictsource/fa_extra
espeak-data/fa_dict: src/espeak espeak-data/phontab dictsource/fa_list dictsource/fa_rules dictsource/fa_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=fa && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=fa && cd ..

fi: espeak-data/fi_dict
dictsource/fi_extra:
touch dictsource/fi_extra
espeak-data/fi_dict: src/espeak espeak-data/phontab dictsource/fi_list dictsource/fi_rules dictsource/fi_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=fi && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=fi && cd ..

fr: espeak-data/fr_dict
dictsource/fr_extra:
touch dictsource/fr_extra
espeak-data/fr_dict: src/espeak espeak-data/phontab dictsource/fr_list dictsource/fr_rules dictsource/fr_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=fr && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=fr && cd ..

ga: espeak-data/ga_dict
dictsource/ga_extra:
touch dictsource/ga_extra
espeak-data/ga_dict: src/espeak espeak-data/phontab dictsource/ga_list dictsource/ga_rules dictsource/ga_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=ga && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=ga && cd ..

grc: espeak-data/grc_dict
dictsource/grc_extra:
touch dictsource/grc_extra
espeak-data/grc_dict: src/espeak espeak-data/phontab dictsource/grc_list dictsource/grc_rules dictsource/grc_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=grc && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=grc && cd ..

hi: espeak-data/hi_dict
dictsource/hi_extra:
touch dictsource/hi_extra
espeak-data/hi_dict: src/espeak espeak-data/phontab dictsource/hi_list dictsource/hi_rules dictsource/hi_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=hi && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=hi && cd ..

hu: espeak-data/hu_dict
dictsource/hu_extra:
touch dictsource/hu_extra
espeak-data/hu_dict: src/espeak espeak-data/phontab dictsource/hu_list dictsource/hu_rules dictsource/hu_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=hu && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=hu && cd ..

hy: espeak-data/hy_dict
dictsource/hy_extra:
touch dictsource/hy_extra
espeak-data/hy_dict: src/espeak espeak-data/phontab dictsource/hy_list dictsource/hy_rules dictsource/hy_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=hy && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=hy && cd ..

id: espeak-data/id_dict
dictsource/id_extra:
touch dictsource/id_extra
espeak-data/id_dict: src/espeak espeak-data/phontab dictsource/id_list dictsource/id_rules dictsource/id_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=id && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=id && cd ..

is: espeak-data/is_dict
dictsource/is_extra:
touch dictsource/is_extra
espeak-data/is_dict: src/espeak espeak-data/phontab dictsource/is_list dictsource/is_rules dictsource/is_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=is && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=is && cd ..

it: espeak-data/it_dict
dictsource/it_extra:
touch dictsource/it_extra
espeak-data/it_dict: src/espeak espeak-data/phontab dictsource/it_list dictsource/it_listx dictsource/it_rules dictsource/it_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=it && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=it && cd ..

jbo: espeak-data/jbo_dict
dictsource/jbo_extra:
touch dictsource/jbo_extra
espeak-data/jbo_dict: src/espeak espeak-data/phontab dictsource/jbo_list dictsource/jbo_rules dictsource/jbo_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=jbo && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=jbo && cd ..

ka: espeak-data/ka_dict
dictsource/ka_extra:
touch dictsource/ka_extra
espeak-data/ka_dict: src/espeak espeak-data/phontab dictsource/ka_list dictsource/ka_rules dictsource/ka_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=ka && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=ka && cd ..

kl: espeak-data/kl_dict
dictsource/kl_extra:
touch dictsource/kl_extra
espeak-data/kl_dict: src/espeak espeak-data/phontab dictsource/kl_list dictsource/kl_rules dictsource/kl_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=kl && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=kl && cd ..

kn: espeak-data/kn_dict
dictsource/kn_extra:
touch dictsource/kn_extra
espeak-data/kn_dict: src/espeak espeak-data/phontab dictsource/kn_list dictsource/kn_rules dictsource/kn_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=kn && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=kn && cd ..

ko: espeak-data/ko_dict
dictsource/ko_extra:
touch dictsource/ko_extra
espeak-data/ko_dict: src/espeak espeak-data/phontab dictsource/ko_list dictsource/ko_rules dictsource/ko_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=ko && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=ko && cd ..

ku: espeak-data/ku_dict
dictsource/ku_extra:
touch dictsource/ku_extra
espeak-data/ku_dict: src/espeak espeak-data/phontab dictsource/ku_list dictsource/ku_rules dictsource/ku_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=ku && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=ku && cd ..

la: espeak-data/la_dict
dictsource/la_extra:
touch dictsource/la_extra
espeak-data/la_dict: src/espeak espeak-data/phontab dictsource/la_list dictsource/la_rules dictsource/la_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=la && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=la && cd ..

lt: espeak-data/lt_dict
dictsource/lt_extra:
touch dictsource/lt_extra
espeak-data/lt_dict: src/espeak espeak-data/phontab dictsource/lt_list dictsource/lt_rules dictsource/lt_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=lt && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=lt && cd ..

lv: espeak-data/lv_dict
dictsource/lv_extra:
touch dictsource/lv_extra
espeak-data/lv_dict: src/espeak espeak-data/phontab dictsource/lv_list dictsource/lv_rules dictsource/lv_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=lv && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=lv && cd ..

mk: espeak-data/mk_dict
dictsource/mk_extra:
touch dictsource/mk_extra
espeak-data/mk_dict: src/espeak espeak-data/phontab dictsource/mk_list dictsource/mk_rules dictsource/mk_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=mk && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=mk && cd ..

ml: espeak-data/ml_dict
dictsource/ml_extra:
touch dictsource/ml_extra
espeak-data/ml_dict: src/espeak espeak-data/phontab dictsource/ml_list dictsource/ml_rules dictsource/ml_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=ml && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=ml && cd ..

ms: espeak-data/ms_dict
dictsource/ms_extra:
touch dictsource/ms_extra
espeak-data/ms_dict: src/espeak espeak-data/phontab dictsource/ms_list dictsource/ms_rules dictsource/ms_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=ms && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=ms && cd ..

nci: espeak-data/nci_dict
dictsource/nci_extra:
touch dictsource/nci_extra
espeak-data/nci_dict: src/espeak espeak-data/phontab dictsource/nci_list dictsource/nci_rules dictsource/nci_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=nci && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=nci && cd ..

ne: espeak-data/ne_dict
dictsource/ne_extra:
touch dictsource/ne_extra
espeak-data/ne_dict: src/espeak espeak-data/phontab dictsource/ne_list dictsource/ne_rules dictsource/ne_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=ne && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=ne && cd ..

nl: espeak-data/nl_dict
dictsource/nl_extra:
touch dictsource/nl_extra
espeak-data/nl_dict: src/espeak espeak-data/phontab dictsource/nl_list dictsource/nl_rules dictsource/nl_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=nl && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=nl && cd ..

no: espeak-data/no_dict
dictsource/no_extra:
touch dictsource/no_extra
espeak-data/no_dict: src/espeak espeak-data/phontab dictsource/no_list dictsource/no_rules dictsource/no_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=no && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=no && cd ..

pa: espeak-data/pa_dict
dictsource/pa_extra:
touch dictsource/pa_extra
espeak-data/pa_dict: src/espeak espeak-data/phontab dictsource/pa_list dictsource/pa_rules dictsource/pa_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=pa && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=pa && cd ..

pap: espeak-data/pap_dict
dictsource/pap_extra:
touch dictsource/pap_extra
espeak-data/pap_dict: src/espeak espeak-data/phontab dictsource/pap_list dictsource/pap_rules dictsource/pap_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=pap && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=pap && cd ..

pl: espeak-data/pl_dict
dictsource/pl_extra:
touch dictsource/pl_extra
espeak-data/pl_dict: src/espeak espeak-data/phontab dictsource/pl_list dictsource/pl_rules dictsource/pl_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=pl && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=pl && cd ..

pt: espeak-data/pt_dict
dictsource/pt_extra:
touch dictsource/pt_extra
espeak-data/pt_dict: src/espeak espeak-data/phontab dictsource/pt_list dictsource/pt_rules dictsource/pt_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=pt && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=pt && cd ..

ro: espeak-data/ro_dict
dictsource/ro_extra:
touch dictsource/ro_extra
espeak-data/ro_dict: src/espeak espeak-data/phontab dictsource/ro_list dictsource/ro_rules dictsource/ro_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=ro && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=ro && cd ..

ru: espeak-data/ru_dict
dictsource/ru_extra:
touch dictsource/ru_extra
espeak-data/ru_dict: src/espeak espeak-data/phontab dictsource/ru_list dictsource/ru_rules dictsource/ru_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=ru && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=ru && cd ..

si: espeak-data/si_dict
dictsource/si_extra:
touch dictsource/si_extra
espeak-data/si_dict: src/espeak espeak-data/phontab dictsource/si_list dictsource/si_rules dictsource/si_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=si && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=si && cd ..

sk: espeak-data/sk_dict
dictsource/sk_extra:
touch dictsource/sk_extra
espeak-data/sk_dict: src/espeak espeak-data/phontab dictsource/sk_list dictsource/sk_rules dictsource/sk_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=sk && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=sk && cd ..

sl: espeak-data/sl_dict
dictsource/sl_extra:
touch dictsource/sl_extra
espeak-data/sl_dict: src/espeak espeak-data/phontab dictsource/sl_list dictsource/sl_rules dictsource/sl_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=sl && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=sl && cd ..

sq: espeak-data/sq_dict
dictsource/sq_extra:
touch dictsource/sq_extra
espeak-data/sq_dict: src/espeak espeak-data/phontab dictsource/sq_list dictsource/sq_rules dictsource/sq_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=sq && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=sq && cd ..

sv: espeak-data/sv_dict
dictsource/sv_extra:
touch dictsource/sv_extra
espeak-data/sv_dict: src/espeak espeak-data/phontab dictsource/sv_list dictsource/sv_rules dictsource/sv_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=sv && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=sv && cd ..

sw: espeak-data/sw_dict
dictsource/sw_extra:
touch dictsource/sw_extra
espeak-data/sw_dict: src/espeak espeak-data/phontab dictsource/sw_list dictsource/sw_rules dictsource/sw_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=sw && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=sw && cd ..

ta: espeak-data/ta_dict
dictsource/ta_extra:
touch dictsource/ta_extra
espeak-data/ta_dict: src/espeak espeak-data/phontab dictsource/ta_list dictsource/ta_rules dictsource/ta_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=ta && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=ta && cd ..

te: espeak-data/te_dict
dictsource/te_extra:
touch dictsource/te_extra
espeak-data/te_dict: src/espeak espeak-data/phontab dictsource/te_list dictsource/te_rules dictsource/te_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=te && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=te && cd ..

tr: espeak-data/tr_dict
dictsource/tr_extra:
touch dictsource/tr_extra
espeak-data/tr_dict: src/espeak espeak-data/phontab dictsource/tr_list dictsource/tr_rules dictsource/tr_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=tr && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=tr && cd ..

ur: espeak-data/ur_dict
dictsource/ur_extra:
touch dictsource/ur_extra
espeak-data/ur_dict: src/espeak espeak-data/phontab dictsource/ur_list dictsource/ur_rules dictsource/ur_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=ur && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=ur && cd ..

vi: espeak-data/vi_dict
dictsource/vi_extra:
touch dictsource/vi_extra
espeak-data/vi_dict: src/espeak espeak-data/phontab dictsource/vi_list dictsource/vi_rules dictsource/vi_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=vi && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=vi && cd ..

zh: espeak-data/zh_dict
dictsource/zh_extra:
touch dictsource/zh_extra
espeak-data/zh_dict: src/espeak espeak-data/phontab dictsource/zh_list dictsource/zh_rules dictsource/zh_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=zh && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=zh && cd ..

zhy: espeak-data/zhy_dict
dictsource/zhy_extra:
touch dictsource/zhy_extra
espeak-data/zhy_dict: src/espeak espeak-data/phontab dictsource/zhy_rules dictsource/zhy_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=zhy && cd ..
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=zhy && cd ..

+ 2
- 1
dictsource/bn_rules View File

@@ -286,7 +286,8 @@
.group য়
য় jV
_) য় (B j
য় (B // used to separate 2 vowels
য় (B // used to separate 2 vowels
য় (_ jo

.group য

+ 72
- 82
dictsource/da_list View File

@@ -92,15 +92,15 @@ __ b'OnsdrAi
_0 'nOl
_1 'e:n
_2 t'o
_3 tR'e
_4 f'i:V
_5 f'Em
_6 s'Egs
_7 s'yw
_3 tR'?e
_4 f'iV
_5 f'?Em
_6 s'?Egs
_7 s'?yw
_8 'O:d@
_9 n'i
_10 t'i
_11 'Elv@
_9 n'?i
_10 t'?i
_11 '?Elv@
_12 t'Vl
_13 t*'?&#d@-n
_14 fj'ord@-n
@@ -110,11 +110,11 @@ _17 s'?Wd@-n
_18 '?&d@-n
_19 n'?ed@-n
_2X t'y:?u
_3X t*'&#Dv@
_4X f'?W:_|V
_5X h&l't*Es
_3X t*'?&#Dv@
_4X f'?W_|V
_5X h?&l't*?Es
_6X t*'Es
_7X h&lfj'Ers
_7X h?&lfj'?Ers
_8X f'irs
_9X h&lf'Ems // PB a changed to &
_0C h'unRVD
@@ -174,25 +174,25 @@ men $pause // but
eller // or
mens $pause // while
for
fordi fVd'i $pause // because
fordi f?Vd'?i $pause // because
når nVr $pause // while
der dEr $u+ $u // PB changed from [dA]
der d?Er $u+ $u // PB changed from [dA]
hvor v'O // where
hvorfor v?Of'?V // why - final r deleted
hvorfor vOf'?V // why - final r deleted

// prepositions
på pO $u
på p?O $u
til $u+ // toward
fra $u+ // from
ved $u+ // at
om $u+ $brk // about, within
med $u+ // with
af &_!
ad &_!
ad &D $atend $sentence // "Det må ikke skille os ad."
at &_! $u
af ?&_!
ad ?&_!
ad ?&D $atend $sentence // "Det må ikke skille os ad."
at $u
hos
som sVm $u // which / that
som s?Vm $u // which / that

// pronouns
jeg jAj $u+ // I
@@ -204,8 +204,8 @@ det de $u
dét de
vi vi $u
i _i_! $u+
mig mAj $u // me
dig dAj $u+
mig m?Aj $u // me
dig d?Aj $u+
dem $u
ham $u
hende $u
@@ -224,7 +224,7 @@ mine m'in@-
din d'in $u+
dit d'it $u
dine d'in@-
deres dE:Vs $u
deres dEVs $u
hans $u+
hendes $u+
dens $u+
@@ -241,8 +241,8 @@ jeres $u+

// auxillary verbs
er Er $u // is/are
var vAr $u+ // was/were
har hAr $u+ // has/have
var vA $u+ // was/were
har hA $u+ // has/have
havde h&D@ $u+ // had
vil $u+ // will
skal $u+ // shall
@@ -344,16 +344,13 @@ snob _^_EN
song _^_EN
source _^_EN
spirit _^_EN
squaw _^_EN
sweatshirt _^_EN
talk _^_EN
teaser _^_EN
tech _^_EN
trip _^_EN
tuner _^_EN
unix _^_EN
venture _^_EN
western _^_EN
whipcord _^_EN
window _^_EN
word _^_EN
@@ -362,6 +359,7 @@ warrior _^_EN
// Names
august OgOsd $capital
austin _^_EN
arlene Al'i:n $capital
bailey _^_EN
bbc _^_EN
boston _^_EN
@@ -2999,7 +2997,7 @@ sardin $alt
satin $alt
serpentin $alt
sordin $alt
(stand-in) st&nd'in $alt
(stand-in) st&nd'en $alt
stearin $alt
streptomycin $alt
stryknin $alt
@@ -4688,6 +4686,7 @@ rafaelisk $alt
rakitisk $alt
rapsodisk $alt
rationalistisk $alt
rhodesisk $alt
realistisk $alt
recitativisk $alt
reflektorisk $alt
@@ -5677,6 +5676,7 @@ skylleri $alt
skælmeri $alt
skænderi $alt
skætteri $alt
skyderi $alt
slagteri $alt
slaveri $alt
sliberi $alt
@@ -5958,7 +5958,7 @@ datamatiser $alt
dater $alt
debattere $alt
debiter $alt
debuter $alt
debutere $alt
decelerer $alt
dechifrer $alt
decider $alt
@@ -6783,7 +6783,6 @@ origamer $alt
orkere $alt
orkestrer $alt
ornamenter $alt
orner $alt
osciller $alt
oxider $alt
oxyder $alt
@@ -9635,7 +9634,7 @@ postillon p,Vsdilj'VN $alt
perron //pER'VN
pompon $alt
progesteron $alt
salon s&l'VN $alt
salon $alt
sifon $alt
synkron $alt
talon $alt
@@ -9705,13 +9704,13 @@ bearbejdelig $3
bearbejdelse $3
bearbejder $3
bearbejdning $3
bechamel beSam'e:l/3
bechamelsauce beSam'e:l/3s'O:s
bechamelsovs beSam'e:l/3s'Vws
bechamel b?eS?&m'?el/3
bechamelsauce b?eS?&m'?el/3s'O:s
bechamelsovs b?eS?&m'?el/3s'?Vws
beduin $3
beduinstamme $3
beignet beNe $2
beignetdej beNedaj $2
beignetdej b?EN'?ed?Aj $2
bekkasin $3
belize beli:s $2
belizer beli:sV $2
@@ -10083,7 +10082,6 @@ complet $alt
duatlet $alt
dublet $alt
epaulet $alt
//filet $alt
flageolet $alt
ifolet $alt
kavalet $alt
@@ -10135,7 +10133,7 @@ konkubine $alt
krinoline $alt
kusine $alt
lavine $alt
limousine limOs'i:n@ $alt
limousine l?im?Os'in@- $alt
margarine $alt
marine $alt
maskine $alt
@@ -11123,42 +11121,33 @@ sinecure $alt
tournure $alt

// exceptions
alene &l'en@- // alone
egen _|aj@-n
mc mak' $capital // PB McDonald
egne ajn@-
enter entV
ide id'e // idea
idé id'e // idea
tune tun3 $capital // PB Tune lufthavn - not "tune a car" [tjune]
alene ?&l'?en@- // alone
egen _|Aj@-n
mc m?Ak' $capital // PB McDonald
egne ?Ajn@-
enter ?Ent?V
ide ?id'?e // idea
idé ?id'?e // idea
tune tun@- $capital // PB Tune lufthavn - not "tune a car" [tjune]
ny ny // new
også ?Vs@- // also
idet id'e // in so far as
(rub og stub) R'Ob||V||sd'Ob
tre tr'E // the number 3
rejicere rejis'eV // PB should not be pronounced [raje]
rejicerer rejis'eV // PB
idet ?id'?e // in so far as
(rub og stub) R'?Ob||V||sd'?Ob
tre tr'?E // the number 3
rejicere r?Ej?is'?e?V // PB should not be pronounced [raje]
rejicerer r?Ej?is'?e?V // PB
rejiceres rejis'eVs // PB
rejicering rejis'eRiN // PB
nogle n'o@-n // PB English: 'some' - must be pronounced like the Danish word 'nogen'
nogen n'o@-n // PB
ligesom l?isVm // PB
bliver blir // PB
konfirmand kVnferm'&nd // PB
konfirmander kVnferm'&nd3 // PB
ligesom l?is?Vm // PB
bliver bl?ir // PB
konfirmand k?Vnf?irm'?&nd // PB
konfirmander k?Vnf?irm'?&nd?V // PB
konfirmanderne kVnferm'&nd3-n@ // PB
konfirmandernes kVnferm'&nd3-n@s // PB
giv g'i // PB the v shouldn't be pronounced
giver gir // PB the v shouldn't be pronounced
opgiver Vpgir // PB
jaloux sj&'lu // PB jaloux
aficionado afisjo'nA:do // PB
breakdance brEig'd&:ns // PB breakdance
breakdancen brEig'd&:ns@-n // PB breakdancen
breakdancer brEig'd&:nsV // PB breakdancer
breakdancere brEig'd&:nsV3 // PB breakdancere
breakdancerne brEig'd&:nsV-n@ // PB breakdancerne
breakdancernes brEig'd&:nsV-n@s // PB breakdancernes
konfirmandernes k?Vnf?irm'?&ndVn@-s // PB
jaloux sj?&'l?u // PB jaloux
aficionado ?&f?isj?o'nA:do // PB
squaredance skw'EVd&:ns // PB squaredance
squaredancer skw'EVd&:nsV // PB squaredancer
squaredancere skw'EVd&:nsV3 // PB squaredancere
@@ -11167,19 +11156,19 @@ squaredancerne skw'EVd&:nsV-n@ // PB squaredancerne
squaredancernes skw'EVd&:nsV-n@s // PB squaredancernes
baguette b?&'gEt // French word used in Danish
jambore djAmboR'E // PB English? word used in Danish - stressed e
shampu SjAmbo // PB Danish pronunciation - oo has been replaced by u
(en face) AN||f'as // PB 'en face' - French used in Danish
(en bloc) AN||'blVk // PB 'en bloc' - French used in Danish
(haute couture) %o:tku'ty:r // PB - french word
(par excellence) pA:Egs@'la:Ns // PB - french word
(public service) pVblek||sW:vis // PB
(public servicen) pVblek||sW:vis@-n // PB
(tour de force) tu:@d@||'fV:s // PB
(al qaeda) al||k'ajda // PB
(force majeure) fVrs||,ma'sjW:r // PB
(diner transportable) din'e|trANspVt'abl@- // PB
(quiche lorraine) kiS||lor'E:n:
(fait accompli) fEt&kVmpl'i // PB
shampoo Sj?Amb?o // PB Danish pronunciation
(en face) AN||f'as // 'en face' - French used in Danish
(en bloc) AN||'blVk // 'en bloc' - French used in Danish
(haute couture) %o:tk?u'ty:r // french word
(par excellence) pA:Egs@-'la:Ns // french word
(public service) p?Vbl?ek||sW:v?is
(public servicen) p?Vbl?ek||sW:v?is@-n
(tour de force) tu:@d@||'fV:s
(al qaeda) al||k'?Ajd?&
(force majeure) fVrs||,m?&'sjW:r
(diner transportable) d?in'?e|tr?ANspVt'Abl@-
(quiche lorraine) k?iS||l?or'E:n:
(fait accompli) f?Et?&k?Vmpl'?i
(salt lake city) s'Vlt||lEjk||s'iti
wien v'i:n // PB Wien - the town of Vienna
calais k&l'E // PB Calais - town in France
@@ -11247,7 +11236,7 @@ ikes ajks // PB

// Try to catch errors

(et kvarter) et||kvA'ter // PB
(et kvarter) et||kvA'ter
(mit kvarter) mit||kvA'ter
(vores kvarter) vV:s||kvA'ter
(deres kvarter) dE:Vs||kvA'ter
@@ -11257,6 +11246,7 @@ ikes ajks // PB
(at have) &||h&
(vil have) vel||h'&
(ville have) v?il3||h'&
(skulle have) sg'?ul@-||h'&
(du have) du||h&_!
(må have) mO:||h&
(skal have) sk?&||h&

+ 3017
- 2545
dictsource/da_rules
File diff suppressed because it is too large
View File


+ 128
- 29
dictsource/en_list View File

@@ -16,8 +16,8 @@
// ?7 Scottish
// ?8 Use full vowel, not schwa in some word endings

// $alt1 use strong ending (-an, -table, -inal, -ier)
// $alt2 use weak ending (ard, ate, ery, ess, ile, men)
// $alt1 use strong ending (-an, -ance, -ative, -table, -inal, -ier)
// $alt2 use weak ending (ard, ate, ery, ess, ile, men, on)
// $alt3 use weak first vowel, a->[a#], e->[@], o->[0#]
// $alt4 separate 'h', not 'th'
// $alt6 'to'
@@ -318,6 +318,7 @@ _zh tS'aIni:z
ћ tS;E:
ђ djE:
ќ kjE:
љ ljE:


// Arabic letters
@@ -563,6 +564,7 @@ ibmtts $abbrev
id $abbrev
ie aIi:_! $pause $only
i.e aIi:_! $pause
iiuc $abbrev
imo $abbrev
inlb $abbrev
ios $abbrev
@@ -605,6 +607,7 @@ sae $abbrev
scsi skVzi
ssip $abbrev
st s@nt
tbsp teIb@Lspu:n
th T
thu T3: // Thursday
?5 thu TIR // Thursday
@@ -618,6 +621,7 @@ upnp $abbrev
url $abbrev
usa $abbrev
usb $abbrev
usda $abbrev
ussr $abbrev
utc $abbrev
uv $abbrev
@@ -679,7 +683,7 @@ accouchement a#ku:SmO~
accusation akju:z'eIS@n
acer eIs3
acetylene a#sEt@li:n
accurate akjUr@t
accurate $alt2
accursed a#k3:sI#d
?5 accursed a#kVRsI#d
achille a#kIli:
@@ -834,6 +838,7 @@ apparatus ap@r'eIt@s
apprentice a#prEnt2Is
approximate a#pr0ksIm@t $only
approximate a#pr0ksImeIt $verb
approximately a#pr0ksIm@tli
aqueduct akwI#dVkt
arab ar@b
arabic $1
@@ -852,6 +857,7 @@ aries e@ri:z
arithmetic a#rITm@tIk $onlys
arise a#raIz
arisen @rIz@n
aright $alt3
armslength ,A@mzl'ENT
aroma a#roUm@
arouse a#raUz
@@ -899,6 +905,7 @@ aviary eIvi@ri
awry a#raI
axes aksI#z
axon aks0n
ayuh a#j'@

backend bak'End
backstory baksto@ri
@@ -945,6 +952,7 @@ beta bi:t@
?3 beta beIt@
betake bI2teIk
beverage bEv@rI2dZ
bhaji bA:dZi
bias baI@s
biased baI@st
bible baIb@L
@@ -959,6 +967,7 @@ biped baIpEd
bipedal baIp'i:d@L
biscuit bIskIt
bison baIs@n
bitecha baItS@
?!3 bitumen bItSu:m@n
bizarre bI#z'A@
bizzare bI#z'A@
@@ -1052,10 +1061,12 @@ canoe k@nu:
canoes k@nu:z
canon kan@n
?3 cantaloupe kant@loUp
cantilever kantI#li:v3
canton kant0n
canvas kanv@s
capita kapIt@
capitol kapIt@L
capri ka#pri:
caprice ka#pri:s
carafe ka#raf
?!3 caramel kar@mEl $onlys
@@ -1123,6 +1134,7 @@ chimera kaIm'i@r@
chimpanzee $3
chipotle tSI2poUtleI
chisel tSIz@L
chivalrous SIv@Lr@s
chloroplast $1
chocolate tS0kl@t
cholera k0l@r@
@@ -1135,7 +1147,8 @@ cigar sI2gA@
cigarette sIg@'rEt
cinema sIn@m@
cinnamon sIn@m@n
circumference $2
circumference s3:k'Vmfr@ns
circumstance $alt1
circumvent s3:k@mvEnt
?5 circumvent sIRk@mvEnt
citadel sIt@dEl
@@ -1178,7 +1191,6 @@ coliseum k0l@s'i:@m
collage k0l'A:Z
collarbone k0l3boUn
college k0lI2dZ
collegiate k@li:dZI@t
colloquial k@loUkwI@L
colon koUl@n
color kVl3
@@ -1208,6 +1220,7 @@ compat k@mpat // for compatible
competed k@mp'i:tId
competing k@mp'i:tIN
competition k0mp@t'IS@n
?3 composite $2
compromise k0mpr@maIz
compound $2 $verb
?3 comrade k0mrad
@@ -1265,11 +1278,13 @@ copilot koUpaIl@t
coral k0r@L
?3 cordial kO@dZ@L
coronet k0r@nEt
corolla k@roUl@
corollary $2
corporal kO@pr@L
corporate kO@p@r@t
corporate $alt2
corps kO@ $only
corral k@r'al
corsage kO@s'A:Z
cosmos k0zm0s
?3 cosmos k0zmoUs
cougar ku:g3
@@ -1304,6 +1319,7 @@ cutoff kVt0f
cutout kVtaUt
cyan saI'an
cymru kVmri
cypress saIpr@s

dahlia deIli:@
dais deIIs
@@ -1319,6 +1335,7 @@ debunk di:b'Vnk
debut deIbju:
?3 debut deIb'ju:
decade dEkeId
decaf di:kaf
decent di:s@nt
decibel dEsI#b@L
declaration dEkl@'reIS@n
@@ -1336,8 +1353,8 @@ deity deI@ti
?3 deity di:@t2i
deja deIZA: $only
deli dElI
deliberate dI2lIb@r@t
delicate dElI2k@t
deliberate $alt2
delicate $alt2
delimit dI2lImIt // delimited
delivery $alt2
demolish dI2m0lIS
@@ -1360,6 +1377,7 @@ desert dI2z3:t $verb
desolate dEs@l@t
desperate dEsp@r@t
?3 detail $2
detante deIt'0nt
detente deIt'0nt
détente deIt'0nt
detritus dI2traIt@s
@@ -1369,6 +1387,8 @@ devotee dEvoUt'i:
(déjà vu) deIZA:||v'u:
di d,I $only
diabetes daI@b'i:ti:z
diablo di:'A:bloU
diabolo daI'ab@loU
diagnose $3
?3 dialog daI|@lO:g
diameter daI'amI2t3
@@ -1383,6 +1403,7 @@ dilatory dIl@t@rI
dilemma daIl'Em@
?3 dilemma dI#l'Em@
digest daIdZEst $noun
?3 diminutive dI#mInju:tIv
dinghy dINgi
dingy dIndZI
dinosaur daIn@sO@
@@ -1488,6 +1509,7 @@ epitome I2pIt@mI
epub i:pVb
equal i:kw@L
equation I2kweIZ@n
equipage EkwIpIdZ
equivocal I2kwIv@k@L
erase I2reIz // erasing erases
eraser I2reIz3
@@ -1555,6 +1577,7 @@ fajita fa#hi:t@
fallible fal@b@L
familiar f@mIli@3
famine famIn
faraway fA@r@w'eI
farewell $2
fasten faas@n
fatigue $alt3
@@ -1567,14 +1590,17 @@ favourites feIv@-rI2ts
fedora fI2d'o@r@
feisty faIsti
feline fi:laIn
felon $alt2
feminine fEm@nIn
fete feIt
fetus fi:t@s
fi f,aI // as in "hi-fi"
fiasco fi:'askoU
fiat fi:@t
ficus faIk@s
fiery faI3rI
?3 fillet fI2leI
finagle fI#neIg@L
finale fI2nA:li
finance faInans $only
finance $verb
@@ -1610,7 +1636,7 @@ foyer fOIeI
freelance fri:laans
freon fri:0n
fricassee frIka#seI
frigate frIg@t
frigate $alt2
fringer frIndZ3 // infringer
fringing frIndZIN
frisson fri:s'O~
@@ -1663,6 +1689,7 @@ gimme gImi
giraffe dZI2raaf
github gIthVb
glacier gleIS3
goatee $2
?3 goddess $alt2
goin ,goUI2n $only // for goin'
gonna g,@n@
@@ -1675,7 +1702,7 @@ gossamer g0s@m3
goto goUtu:
gourmand gU@mA:nd
gourmet gU@meI
graduate gradju:@t
graduate $alt2
graduate gradju:eIt $verb
graffiti $alt3
grandson gr'andsVn
@@ -1692,6 +1719,7 @@ guinea gIni
gurus gu:ru:z

habitual $alt3
hacienda hA:sI'End@
haggis hagIs
haha hA:h'A:
halation $alt3 // in-
@@ -1715,6 +1743,7 @@ heineken haIn@k@n
heist haIst
helium hi:li@m
helix hi:lIks
helluva hEl@v@
hello h@loU
henceforth hEnsfo@T
?3 herb 3:b
@@ -1734,6 +1763,7 @@ heroism hEroUIz@m
heroine hEroUIn
heron hEr@n
herpes h3:pi:z
hiatus haI'eIt@s
hideout haIdaUt
hindus hIndu:z
hiya haIa#
@@ -1750,6 +1780,7 @@ hominem h0mInEm
hooah h'u:'A:
hopi hoUpi:
horizontal $3
hormonal ho@m'oUn@L
(hors d'oeuvres) O@'d3:vz
hospitable h0sp'It@b@L
hostage h0stI2dZ
@@ -1760,17 +1791,20 @@ house haUz $verb
however $2
howto haUtu:
hubris hu:brIs
hula hu:l@
humane $2
hunger hVNg3
hurrah h@r'A:
hurrah hVr'eI
hurrah h@rA:
hurray h@reI
hurricane hVrI2keIn
?3 hurricane h3:@keIn
hussar hVz'A@
huzza h@z'A:
huzzah h@z'A:
hydrangea haIdr'eIndZ@
hyperbola haIp'3:b@l@
hyperbole haIp'3:b@li
hypocrites $alt2
hypoxia haIp'0ksi@
?3 hyundai hVndeI

@@ -1789,20 +1823,20 @@ impi $1
impinging Imp'IndZIN
implacable Impl'ak@b@L
imprecise ImprIs'aIs
inanimate In'anIm@t
inappropriate ,Ina#proUpri@t
inanimate $alt2
inappropriate Ina#pr'oUpri@t
incense Ins'Ens $verb
incoming InkVmIN
increase Inkr'i:s $verb
indefine $3
indeterminate IndI2t'3:mI2n@t
indeterminate $alt2
indicative $2
indices IndI2si:z
indict Ind'aIt
indie Indi
indirect $3
?3 indirect Ind3r'Ekt
indiscriminate IndI2skr'ImI2n@t
indiscriminate $alt2
indo IndoU
indoor $1 $only
industry IndVstrI
@@ -1832,6 +1866,7 @@ intake Int2eIk
intel Int2El
interim $1
intermediate Int3m'i:di@t
interment I2nt3:m@nt
intern Int3:n $noun
interrogatory $3
intestine I2ntEstI#n
@@ -1859,7 +1894,6 @@ iris aIrIs
iron aI3n
irony aIr@nI
isosceles aIs'0s@li:z
itinerary aIt'In@r@rI

ja jA:
jagged dZagI#d
@@ -1870,6 +1904,7 @@ jasmine dZazmIn
jedi dZEdaI
jehovah dZ@hoUv@
jesus dZi:z@s
joie ZwA:
jour ZU@ // french
jukebox dZu:kb0ks
july dZu:l'aI
@@ -1880,7 +1915,7 @@ karate k@rA:ti
kebab k@bab
?3 kebab k@bA:b
kefir ki:f3
hiatus haI'eIt@s
?3 khaki kaki
kilo ki:loU
kilometer kIl'0mI2t3
kilter kIlt3
@@ -1904,9 +1939,12 @@ labored leIb@d
laborer leIb@r3
laborious $alt3
labyrinth lab3rInT
lascivious $alt3
lager lA:g3
lagoon $alt3
laity leI@ti
landowner l'and,oUn3
lapel $alt3
las ,las $only
?3 las ,lA:s $only
lasagna l@zanj@
@@ -1937,6 +1975,7 @@ leona li:'oUn@
leopard lEp3d
leprechaun lEpr@kO:n
lesion li:Z@n
(les misérables) leImIzEr'A:bl@-
lethal li:T@L
liaison li:'eIz0n
libre li:br@
@@ -1953,6 +1992,7 @@ limousine lIm@zi:n
lingerie l0nZ@ri
?3 lingerie l0nZ@r'eI
linen lInI2n
linoleum $2
liqueur lI2kjU@
?3 liqueur lI2k3:
liter li:t3
@@ -2022,6 +2062,7 @@ marcel mA@s'El
marquee mA@k'i:
margarine mA@dZ3ri:n
?3 margarine mA@dZ3r@n
maroon $alt3
marquis mA@rk'i:
marshall mA@S@L
martinet $3
@@ -2050,10 +2091,13 @@ mercedes m3:s'eIdi:z
//mercenary m3:s@n@rI
merest mi@r@st
meringue m@raN
merlot m3:l'oU
mesa meIs@
meson mi:z0n
metabolic mEt@b'0lIk
metaphor mEt@fO@
metastable $alt1
mezzanine mEz@ni:n
miaou mi:'aU
miaow mi:'aU
mic maIk
@@ -2157,6 +2201,7 @@ nescience nEsI@ns
nicety naIs@ti
nikon naIk0n
ninja nIndZ@
nitrous naItr@s
noah noUV
nobly noUblI $verbf
nobody 'noUb0di
@@ -2183,13 +2228,13 @@ obelisk 0b@lI2sk
obesity oUb'i:s@ti
obey oUb'eI
obituary 0b'ItSU@i
?3 obituary 0b'ItSUe@i
?3 obituary oUb'ItSu:e@i
object $1 $onlys
object $verb
obsolete 0bs@li:t
obstacle 0bst@k@L
occupier 0kju:paI|3
ocean oUS@n
occult $alt3
oceanic oUSI'anIk
ocelot 0s@l0t
ochre oUk3
@@ -2220,6 +2265,8 @@ oregano 0rIg'A:noU
orion 0r'aI@n
ornate $2
orphan O@f@n // orphaned
ottoman 0t@m@n
ouija wi:dZ@
outage aUtI2dZ
outback $1
outcome $1
@@ -2287,6 +2334,7 @@ passersby pas3zb'aI
pasted peIstI#d
pasting peIstIN
pastry peIstri
partake $2
pate pat2eI
?3 patent pat@nt
pathe paTeI
@@ -2321,6 +2369,7 @@ peruse p@ru:z
petit p@ti:
petite p@ti:t
petroleum p@troUli:@m
?3 petulant pEtS@l@nt
petunia $alt3
pharaoh fe@roU
philistine fIlI2staIn
@@ -2339,6 +2388,7 @@ piñatas pi:n^'ata#z
piña pi:n^a#
pineapple p'aInap@L
pinged pINd
pinot pi:noU
pint paInt
pioneer paI@n'i@3
pious paI@s
@@ -2461,6 +2511,7 @@ question kwEstS@n
quiche ki:S
quiver kwIv3

rabbi rabaI
rabbis rabaIz
rabid reIbId
radar reIdA@
@@ -2499,6 +2550,7 @@ recess ri:sEs
recipe rEsI2pi:
reciprocal rI2sIpr@k@L
recital rI2saIt@L
recluses rI2klu:sI#z
recommend r,Ek@mEnd
recommendation rEk@mEnd'eIS@n
recompense rEk@mpEns
@@ -2587,7 +2639,9 @@ righteous raItS@s
riposte rI2p0st
risen rIz@n
robust roUb'Vst
robusta $2
romance roUm'ans
rosary roUz@ri
rotate $2
rotund roUt'Vnd
roundtable $alt1
@@ -2596,6 +2650,7 @@ rout raUt // for routed
routine $2
row roU
row raU $noun
royale rOI'al
ruby ru:bi
rugged rVgI#d
ruin ru:I2n // for ruining
@@ -2609,6 +2664,7 @@ sachet saSeI
sacred seIkr@d
sacrifice sakrI2faIs
sadistic $alt3
safari $alt3
safety seIfti
saga sA:g@
sahara $alt3
@@ -2617,6 +2673,7 @@ salad sal@d
salami $alt3
saline seIlaIn
?3 saline seIli:n
saliva $alt3
salmon sam@n
?3 salon $alt3
saloon $alt3
@@ -2656,7 +2713,6 @@ secretive si:kr@tIv
secretary sEkr@trI
sedan sI2dan
sedate sI2deIt
seduce sI2dju:s
sega seIg@
segue sEgweI
separate sEp@-r@t
@@ -2759,6 +2815,7 @@ spinal spaIn@L
spoonfed spu:nfEd
squirrel skwIr@L
staccato $alt3
stasis steIsI#s
standby standbaI
stagnate $2
?3 stalagmite $alt3
@@ -2820,10 +2877,10 @@ tablet tabl@t
taboo $2
tabu tabu:
taffeta tafI#t@
(tai chi) taI'tSi:
takel tak@L
talent tal@nt
tallyho talI'hoU
timbre tamb3
tampon tamp0n
tangerine tandZ@r'i:n
taoiseach ti:S@x
@@ -2842,6 +2899,7 @@ tear te@ $verb
(tear off) t'e@||'0f
teargas ti@3gas
teddybear t'EdIb,e@
tejano tI#hA:noU
telemetry t@lEm@tri
telepathy t@lEp@Ti
telephony t@l'Ef@ni
@@ -2856,7 +2914,8 @@ testes tEsti:z
telephon tElI2foUn // for telephoning
temperature tEmprI2tS3
?!3 temporary tEmpr@rI
?3 template tEmpl@t
?3 template $alt2
tetanus tEt@n@s
therefore $1
thereof De@r'0v
thermos T3:m@s
@@ -2864,19 +2923,21 @@ thermostable $alt1
thesis Ti:sIs
theta Ti:t@
tho DoU $only
thousand TaUz@nd
throughout $2
thursday T3:zdeI
?5 thursday TVRzdeI
thyme taIm
tidal taId@L
tidy taIdi
tierra tI'e@r@
tikka ti:k@
tilde tIld@
timbre tamb3
timetable taImteIb@L
timider tImId3
tiny taIni
tirade taIr'eId
tiramisu tIramI'su:
tis tIz $only
toboggan t@b0g@n
today t@deI
@@ -2932,6 +2993,8 @@ twilight twaIlaIt
twos tu:z
typo taIpoU
tyr taI3
tyranny tIr@ni
?3 tyranny ti@3r@ni

ukulele ju:k@l'eIli
ultraviolet $3
@@ -2940,6 +3003,7 @@ unable Vn'eIb@L
unaware Vn@w'e@
uncle VNk@L
undeny VndIn'aI
underground $1 $noun
underling $1
underlings Vnd3lINz
underworld $1
@@ -2966,8 +3030,7 @@ upgrade $1 $onlys
upgrade $verb
uproot $2
uplift $2
upset $1 $onlys
upset Vps'Et $past
upset $1 $noun
upstart $1
uptight $2
urine jU@rIn
@@ -2998,6 +3061,7 @@ veg vEdZ
vegetable vEdZI2t@b@L
vehicle vi@k@L
vega vi:g@
vegetative $alt1
veggy vEdZI
vengeance vEndZ@ns
ventriloquist $2
@@ -3022,6 +3086,7 @@ visa vi:z@
vitamin vIt@mI#n
?3 vitamin vaIt@mI#n
vitriol vItri:@l
vivre vi:vr@-
voila vwal'A:
?3 voila vwA:l'A:
volcano v0lk'eInoU
@@ -3059,6 +3124,7 @@ wind waInd $verb
(winds up) w'aIndz||'Vp
winded wIndI#d
winged wINd
wino waInoU
wither wID3 // not with+er
without $2
wordprocessor $2
@@ -3139,6 +3205,7 @@ Malvern mO:lv3n
Morecambe mo@k@m
Norfolk nO@f@k
Norwich n0rI2tS
Piccadilly $3
Plymouth plIm@T
Regis ri:dZI2s
Rhyl rIl
@@ -3163,6 +3230,7 @@ Aires aIrIz
Alamo al@moU
Albuquerque alb@k3:ki
Algiers $2
Altura O:lt'U@r@
Amman a#m'A:n
Andes andi:z
Angeles andZ@li:s
@@ -3178,6 +3246,8 @@ Armageddon A@ma#g'Ed@n
Arkansas A@k@nsO:
Atlantis atl'antIs
Athens aTI2nz
Augusta $2
Baja bA:hA:
Bahrain $2
Bangledesh baNgl@d'ES
Barbados bA@'beId0s
@@ -3236,6 +3306,7 @@ Delhi dEli
Dhabi dA:bi
Djibouti dZIb'u:ti
Donegal d0nI2g'O:l
Dubrovnik du:br'0vnIk
Durham dVr@m
Egyptia IdZ'IpS@
Egyptian IdZ'IpS@n
@@ -3306,6 +3377,7 @@ Levant l@vant
Liberia laIb'i@ri:@
Lima li:ma#
Ljubljana lju:blj'A:n@
Lorraine $alt3
Louisiana lu:,i:zi:'an@
Luxembourg lVks@mb3:g
Lvov l@-v0v
@@ -3321,6 +3393,7 @@ Mandalay $3
Manhatten $2
Manila $alt3
Massachusetts $3
Maui maUi:
Maya maI@
Mayan maI@n
Melbourne mElb3n
@@ -3330,6 +3403,7 @@ Mexico $1
Miami maI'ami
Michigan mISIg@n
Milan $2
Milwaukee $2
Mindanao mInd@n'aU
Mineola mIni:'oUl@
Minneapolis mIni:'ap@lI2s
@@ -3343,6 +3417,7 @@ Montana m0nt'an@
Monte m0nt2i
Munich mju:nIk
Myanmar mjA:nmA@
Niagara naI'agr@
Nairobi naIr'oUbi
Naples neIp@Lz
Nauru naUru:
@@ -3395,6 +3470,7 @@ Seville s@vIl
Seychelle seIS'El
Shanghai $2
Shiloh SaIloU
Shreveport Sri:vpo@t
Siam saI'am
Sicily sIsI2li
Sinai saInaI
@@ -3456,6 +3532,7 @@ Abe eIb
Abu abu:
Abraham eIbr@ham
Ada eId@ $onlys
Adolphus $alt3
Adrian eIdri@n
Agatha aga#T@
Aggie agi
@@ -3485,6 +3562,7 @@ Andreas A:ndr'eI@s
Angela andZ@l@
Angelika $2
Anita $alt3
Annamaria an@ma#r'i:@
Anthony ant@ni
Anton ant0n
Aoife i:f@
@@ -3588,6 +3666,7 @@ Eva i:v@
Evan Ev@n
Evette I2vEt
Fainne fan;@
Felipe fI#li:peI
Freda fri:d@
Fírinne fi:rIn;@
Gareth gar@T
@@ -3608,6 +3687,7 @@ Guido gwi:doU
Guinevere gwInI#vi@3
Hadrian heIdri:@n
Hamish heImIS
Harold har@Ld
Harriet hari@t
Harvey hA@vi
Heidi haIdi
@@ -3658,8 +3738,8 @@ Leroy li:rOI
Liam li:@m
Lindsay lInzi
Lindsey lInzi
Llewellyn l#@w'ElIn
Llywelyn l#@w'ElIn
Llewellyn lUw'ElIn
Llywelyn lUw'ElIn
Loinnir lVni@
Lois loUIs
Louis lu:i
@@ -3690,6 +3770,7 @@ Megan mEg@n
Mellisa $alt3
Mellissa $alt3
Melissa $alt3
Meredith mEr@dIT
Michele mI2SEl
Michelle mI2SEl
Miguel mi:Q'El
@@ -3731,6 +3812,7 @@ Rachael reItS@L
Rachel reItS@L
Rae reI
Rafael rA:faI'El
?3 Raphael rA:faI'El
Rashid rA:S'i:d
Raul raU'u:l
Rees ri:s
@@ -3779,6 +3861,7 @@ Thomas t0m@s
Timothy tIm@Ti
Tina ti:n@
Titania tIt'A:ni@
Titus taIt@s
Tracy treIsi
Triani tri:'ani
Trina tri:n@
@@ -3806,17 +3889,21 @@ Capone ka#poUn
Carnegie kA@n@gi
Cohen koU@n
Connolly $1
Cortez $2
Cthulhu k@-Tu:l#u:
Chrysler kraIsl3
(da vinci) da#vIntSi
Dante dA:nt2eI
Deslauriers dI2lo@rIeI
Deveraux dEv3roU
Digiorno dI#Zo@noU
Disney dIzni
?3 Dolby doUlbi
Dolce d0ltSeI
Dulles dVl@s
Dvorak d@-vo@Zak
Emory Em3ri
Ferguson f3:g@s@n
Fleming flEmIN
Folger foUldZ3
Genghis dZENgIs
@@ -3825,9 +3912,11 @@ Guinness gInIs
Gutierrez gu:tj'ErEz
Hades heIdi:z
Hamilton ham@Lt@n
Heinz haInz
Hoosier hu:Z3
Jacobi dZa#koUbi
Kendell kEnd@L
Khrushchev kru:StSEf
Kyocera kaI|@s'i@r@
Lamaze la#mA:z
Laurell $2
@@ -3837,6 +3926,7 @@ Medusa m@du:s@
Michelangelo maIk@L'andZ@loU
Montague m0nt2@gju:
Mozart moUtsA@t
Nietzsche ni:tSi
Niro ni@roU
Patel $alt3
Perez p3rEz
@@ -3855,6 +3945,7 @@ Sanchez santSEz
Shakur Sa#kU@
Tzu tsu:
Versace v3sA:tSi
Volkswagen v'oUlksv,A:g@n
Wii wi::
Yaesu jeIsu:
Yamaha jam@hA:
@@ -3951,6 +4042,7 @@ unto ,VntU
upon @p0n $u2
from fr0m $u
?3 from frVm $u
(from the) %frVmD@2
(from where) %frVm||w'e@ $pause
(from which) %frVm||w'ItS $pause
up ,Vp $strend2
@@ -4161,6 +4253,8 @@ we'd wi:d $u $pastf
I aI $u+ $verbf $only
(I am) %aIa#m
(I am) %aIam $atend
(I shall) %aIS,a#l
(I shall) aIS'al $atend
he hi: $u $verbsf
she Si: $u $only $verbsf
it It $u $verbsf
@@ -4170,6 +4264,8 @@ it It $u $verbsf
?3 (it was) %It||wVz $atend
it $allcaps $abbrev
we wi: $u $verbf $only
(we shall) w%i:S,a#l
(we shall) wi:S'al $atend
you ju: $u $verbf
they DeI $u $verbf

@@ -4229,7 +4325,7 @@ whenever wEnEv3 $u2 $pause
whoever hu:Ev3 $2
whatever w0tEv3 $2 $pause
?3 whatever wVtEv3 $2 $pause
while w,aIl $pause $strend
while w,aIl $brk $strend
whilst w,aIlst $pause


@@ -4268,9 +4364,12 @@ that Dat $u $nounf $strend2 $verbsf
(that a) ,Dat@ $nounf
(that an) ,Dat@n $nounf
(that it) ,Da#tIt $verbsf
(that was) Da#t||w0z $atend
(that one) D'atw,0n
?3 (that one) D'atw,Vn
(that the) %DatD@2
(that has been) Da#tha#zbIn $u+
(that's been) Da#tsbIn $u+
these Di:z $u $nounf $strend2 $only
those DoUz $u $nounf $strend2 $only
there De@ $u $strend2 $only

+ 83
- 24
dictsource/en_rules View File

@@ -295,6 +295,7 @@
y) ache (_ eIk
d) aches (_ eIks
h) aches (_ eIks
k) aches (_ eIks
r) aches (_ eIks
rt) aches (_ eIks
tr) ach (e @k
@@ -323,6 +324,7 @@
_) ac (ri ak
ac (ro ak
m) acro (@ akr@
ac (rum_ 'eIk
_) ac (t ak
ac (tory 'ak
actu (A aktSu:
@@ -373,6 +375,7 @@
ad (on ad
_) ad (ri@ ad
ad (ula ad
?3 adu (la adZ@
_) ad (um ad
ad (vent ad
ad (ventu a#d
@@ -465,7 +468,8 @@
ague eIg
ag (a_ 'A:g
agi (_ 'A:gI
@) agua (_ 'agju:@
agua (_ 'agju:@
?3 agua (_ 'A:gw@

.group ai
_) ai eI
@@ -514,6 +518,8 @@
_) al (ast al
m) alay @l'eI
_) al (b al
_) al (ban O:l
_) al (bani al
_) alber (tA alb'3:
_) al (c al
alco (h alk@
@@ -658,6 +664,7 @@
h) al (v A:
?3 h) al (v a
m) al (no %al
but) al (_ A:l

.group am
_) am (_ %am
@@ -672,7 +679,6 @@
@erd) am (_ am
?!3 &h) am (_N @m
&s) am (_ @m
@r) am (a_ 'A:m
_) am (al a#m
amateur am@t3
?3 amateur am@tS3
@@ -764,6 +770,7 @@
_f) an (at a#n
pl) an (t_ an
&) an (ce_ @n
&) an (ce_$w_alt1 an
?8 &) an (ce_ a#n
fin) an (c 'an
h) an (ce_ aan
@@ -910,6 +917,7 @@
&l) ar (_ 3
&l) ar (ist 3
&m) ar (_ 3
lun) ar (_ =3
_p) ara ar@
qu) ar (a 0r
_p) ara (de @reI
@@ -998,6 +1006,7 @@
@) ar (ity ar
ar (iu+ 'e@r
_p) arlia A@l@
@) ar (ol @r
arom (at a#roUm
arre (_ A@
arred (_ A@d
@@ -1122,12 +1131,14 @@
mper) ate (_ @t
_it_separ) ate (_ @t
par) ates (_ eIt|s
ct) ate (_ =eIt
@) ated (++_ eItId
_s) ate (ll at@
@) ati (_ 'A:ti
at (im_ 'eIt
@) ating (++_ eItIN
&) at (ive @t
&) at (ive_$w_alt1 eIt
// &) ately (_ @tl%I
ul) at (ory 'eIt
sen) at @t
@@ -1174,7 +1185,7 @@
d) ata eIt@
f) at (al eIt
str) at (eg at
m) at (er at
m) at (er@ at
p) at (ern @t
f) ath (er A:D
b) ath aaT
@@ -1202,6 +1213,7 @@
g) au (s aU
?!3 s) au (s 0
?!3 au (str 0
au (sch aU
au (_ aU
_) auch %O:x
aud (_ 'O:d
@@ -1323,6 +1335,8 @@
_) be (th bE
be (tray bI2
_) be (w bI2
d) bed (_ bEd
E) bed (_ bEd
h) bed (_ bEd
er) bed (_ bEd
t) bed (_ bEd
@@ -1560,7 +1574,7 @@
co (mplex_ k0
co (mplica k0
co (mplim k0
co (mposit k0
co (mposit k0#
co (mpost k0
co (mpou k0
co (mprehen k0
@@ -1627,12 +1641,14 @@
_) co (nw k0
_) copy k0pI
_) copoly k'oUp,0lI
?!3 _) co (rL03 k0#
coro (ll k0#r0
co (rrect k@
correspo k,0rIsp'0
_) co (rri k0
_) co (rr k0
co (rro k@
co (rrup k@
_) co (sm k0
_) costar koUstA@
_) counter (@P7 k'aUnt3 // prefix

@@ -1720,6 +1736,7 @@
de (mise dI2
demo (bi dI2moU
de (mocrac dI2
de (mocratiL06 dI2
_) dem (oni di:m
de (mor dI2
de (mot dI2
@@ -1776,6 +1793,7 @@
_) devas dEv@s
de (via di:
de (vil dE
de (vill d@
de (vio di:
de (von dE

@@ -1899,6 +1917,7 @@
_) e (ffac %I
e (ffec %I
e (ffic %I
e (ffica E
efier (_ I2faI3
e (ful
_) e (ffu %I
@@ -1941,8 +1960,11 @@
e (qual i:
_) e (quat %I
_s) e (que i:
e (quip %I
equiv %IkwIv
_) equi (@ ,i:kwI#
_) equ (in@ Ekw
_) equi (p %IkwI
_) equ (it@ Ekw
equiv (@ %IkwIv
h) e (sion_ 'i:
@) e (tio i:
discr) e (tion E
@@ -2096,6 +2118,7 @@
h) ed (ral 'i:d
h) ed (ron 'i:d
h) ed (ra 'i:d
@) ed (th_ @d
@) edur 'i:dZ3
&) ed (y @d

@@ -2145,6 +2168,7 @@
_) ele (g ElI
_) elem ElIm
_) ele (p ElI
_) el (er El
sk) ele (t ElI#
_) ele (va ElI
el (igi 'El
@@ -2161,6 +2185,7 @@
&) elling @lI2N
&) eling @lI2N
&) ell (ous @l
&) el (ous_ @l
cib) el (_ El
xc) el (_ 'El
onn) el (_ 'El
@@ -2184,6 +2209,7 @@
.group em
_) em %Em
_) em (a I2m
&) em (a_ @m
&) em (_ @m
em (ail i:m
f) em (ale i:m
@@ -2310,6 +2336,8 @@
mill) en (ia 'En
l) eni (e i:nI
v) eni (e i:nI
en (sia En
en (tsi En
&) en (t_ @n
?8 &) en (t_ En
@) en (tal 'En
@@ -2591,7 +2619,7 @@
&l) et (_ @t
j) et (_ Et
s) et (_ Et
t) et (_ Et
t) et (_ 'Et
@@An) et (_ Et
phab) et (_ Et
ber) et (_ eI
@@ -2600,6 +2628,7 @@
_m) et (e i:t
_p) et (e i:t
et (itor 'Et
_) et (r I2t
m) etre i:t3
m) etry (_ =@tr%I
&) ett (_ I2t
@@ -2607,8 +2636,9 @@

.group eu
eu ju:
l) eu u:
?3 n) eu u:
?3 n) eu (r U@
?3 n) eu (r@ U@
r) eu (d OI
eu (m_ 'i:@
s) eu (m_ 'i@
@@ -2714,8 +2744,6 @@
for (ward f'o@ // straightforward
ft (en f
&) ful (_S3i f@L
&) fully (_S5 f@li
&) fulness (_S7 f@Ln@s

.group g
g g
@@ -2752,6 +2780,7 @@
gh (C g
gh (an g
gm (_ m
gm (y_ m
gn (_ n
_poi) gn nj
_) gnu g@nu:
@@ -2766,6 +2795,7 @@
er) g (et dZ
for) ge (t gE
bo) g (Ey g
oo) g (ey g
_) gia (@@ dZa#
_) g (iant dZ
&) gia (_ dZ@
@@ -2849,6 +2879,7 @@
i (CCi_ 'I
XC) i (Ca_ i:
@) i (Cate_ =I#
@) i (Cator_ =I#
&) i (Cenc I
&) i (Cent I
@) i (Cer I
@@ -2909,6 +2940,8 @@
_) ich Ik
iche (_N 'i:S
m) ichael 'aIk@L
l) ich (_ Ix
l) ich (er_ Ix
&) i (ciCe_ =I
i (cial 'I
ician 'IS@n
@@ -2998,6 +3031,7 @@
r) ia (b I2@
t) ia (b I2@
&) iage (_ I2dZ
&l) iage (_ I2I2dZ
iah (_ 'aI@
ia (m i@
&) ia (n i@
@@ -3196,7 +3230,7 @@
imm (ig Im
imm (in Im
immo (bi Im'oU
imm (unis Im
imm (uniL06 Im
_) immu (no I2mju:
@) imous (_ =Im@s
im (pac Im
@@ -3304,8 +3338,8 @@
_) in (sole In
_) in (somu In
_) in (spir In
_) in (stag In
_) in (stan In
_) instant Inst@nt
_) in (sti In
_) in (stil %In
_) in (strum In
@@ -3427,7 +3461,8 @@
ll) ion (_ =i@n
n) ion =i@n
v) io (l aI@
ione (_ 'aI@ni
@) ione (_ 'aI@ni
ione (_ aI'oUni
g) io (n+ @
m) io (n I20
sh) io (n @
@@ -3453,7 +3488,6 @@
m) ir (ac Ir
sp) iral aI3r@L
@) ir (ation @r
ir (ate =i@r
consp) ira (t Ir@
ire aI3
ir (ee aI3
@@ -3473,7 +3507,7 @@
ir (i_ 'i@r
asp) ir (i r
_) ir (ish aIr
ir (o I2r
ir (o Ir
g) ir (o aIr
_C) ir (o_ aIr
@) ir (o_ 'i@r
@@ -3560,6 +3594,7 @@
&) it (e_ It
&) it (e_N aIt
&) ites (_ aIts
ites (_$w_alt2S1 s
pos) ites (_ Its
c) it (e_ aIt
c) it (er_ aIt
@@ -3579,12 +3614,14 @@
l) ith (er ID
_t) ith aID
it (i_ 'i:t
_) it (iner %aIt
itius (_ 'IS@s
itis (_ 'aItIs
&) it (ive_ =I2t
&) itous =I#t@s
l) itre i:t3
n) it (rA aIt
_n) itro (@ ,aItroU
n) itro aItroU
n) itro (ge aItr@
it (um aIt
@@ -3638,6 +3675,7 @@

jokull (_S6 j3:ku:th
jökull (_S6 j3:ku:th
_) judeo dZu:'deIoU
_) juan hwA:n
juan w'A:n

@@ -3647,6 +3685,7 @@
_) k (L01Y k
_) k (hY k
_) k (wY k
_) kh (r@@ k
_) kj (e@ kj
_) kn (Y n
kn (if n
@@ -3707,6 +3746,7 @@
ief) ly (_S2 l%i
ff) ly (_S2 l%i
of) ly (_S2 l%i
&ful) ly (_S2m l%i
o) ly (_ l%i
multip) ly laI
&p) ly (_S2 l%i
@@ -3756,6 +3796,7 @@
_) mac (dP3 m@k
_) mac (lP3 m@k
_) mac (mP3 m@k
_) machia maki@
_) mal (fP3 m,al
_) mal (i m@l
_) mal (ev m@l
@@ -3849,9 +3890,10 @@
&) name (_S4 neIm
_) nano (P4 n,anoU
nause nO:sI
_) navig navIg
necessit n@sEsIt
&) ness (_S4i n@s
?8 &) ness (_S4i nEs
&) ness (_S4im n@s
?8 &) ness (_S4im nEs
@) n (cC N
@) n (ch n
n (c_ N
@@ -3920,7 +3962,7 @@
o 0
_) o 0
X) o 0#
X) o ($w_alt3 %0#
X) o ($w_alt3++ %0#
_) o'(P2 %oU // prefix
o'er o@
o (Ba_ 'oU
@@ -3983,6 +4025,7 @@
l) o (cat %oU
_) o (ccasi @
_) o (cclu @
ocean oUS@n
X) o (ct 0
occur @k3:
?5 occur @kVR
@@ -3997,6 +4040,7 @@
_h) o (cu oU
cr) o (cu oU
o (cyte_ =@
_) o (dA oU
_b) o (dy 0
cust) o (d @
k) o (dA oU
@@ -4172,6 +4216,7 @@
s) ol (idi @l
f) ol (k oU
y) ol (k oU
n) oll oUl
p) oll (u @l
r) oll oUl
tr) oll (A 0l
@@ -4186,6 +4231,8 @@
olo (gic @l'0
&) ol (ous_ @l
olt oUlt
v) olt oUlt
v) ol (C 0l
w) olv Ulv
N_p) oly ,0lI
_) ol (ym @l
@@ -4233,6 +4280,7 @@

.group on
@@) on (_ @n
@) on (_$w_alt2 @n
?8 @) on (_++ 0n
%C) on (_ @n
&b) on (_ @n
@@ -4347,6 +4395,7 @@
em) ort (_ O@
p) or (t o@
or (A o@r
orama (_ @r'am@
&) or (ate 3r
// @@C) or (_S2de 3 // suffix
&) or (_ 3
@@ -4459,6 +4508,7 @@
c) os (ec oUs
c) os (ine_ oUs
osis (_ 'oUsIs
rph) osis (_ =@sIs
p) os (itio @z
os (ity '0s
os (ive 'oUs
@@ -4910,6 +4960,7 @@
q (q
qu kw
qu (C kw@
_) qua (f kw0
s) qua (B kw0
quas (A kweIz
quasi kweIzaI
@@ -4944,7 +4995,7 @@
rEr (_ r3
C) rh r
rheu ru:
rhi (n raI
rhi (n# raI
rhi (z raI
_) rho (d roU
_) rhodo (@ roUd@
@@ -4992,7 +5043,7 @@
_) re (creat ,ri:
_) re (creati rE
re (ct rE
re (dC rE
_) re (dC rE
_) re (deCP2 ,ri:
un) rede (C ,ri:dI2
re (dem+ rI2
@@ -5027,6 +5078,7 @@
re (act rI2
_c) re (mat rI2
rement rIm@nt
_) re (mons rE
_) re (nC rE
re (nova rE
_) reper (t rEp3
@@ -5035,6 +5087,7 @@
re (pli rE
re (prim rE
re (pt rE
re (quis rE
_) re (scu rE
re (sidue rE
res (ign rI2z
@@ -5094,7 +5147,7 @@
_) s (va s
_) s (ve s
_) s (wY s
_) s (zY s
_) sz (@@ Sz

sche (m ski:
_) sch (ism sk
@@ -5105,7 +5158,6 @@
_e) sch S
?3 sch (ed sk
_) sch (il S
_) scar (A ske@
_) scar (a skar
scarc ske@s
sc (L02 s
@@ -5148,6 +5200,7 @@
e) s (d z
_) se (clu sI2
secur sI2kjU@
_) se (duc sI2
self (_ 'sElf
selves (_ 'sElvz
_) semi (@@P4 s,EmI2
@@ -5344,6 +5397,7 @@
th (ill th
ee) thing DI2N
the (_ D
&) th (L03_ =T
ou) thed (_ Dd
th (en_ D
g) th (en_ T
@@ -5370,6 +5424,7 @@
th (old th
th (ole th
_) th (om@ t
thousand TaUz@nd
ph) th T
smoo) th D
wor) th (_ T
@@ -5489,6 +5544,7 @@
@) u (da_ 'ju:
?3 @L08) u (da_ 'u:
b) u (ddh U
?3 b) u (ddh u:
u (esq ju:
u (ga_ 'u:
f) u (gal 'ju:
@@ -5533,11 +5589,13 @@
_) ultra (@ ,Ultra
u (lul V
@) u (lum =jU
@) u (lus_ =jU
b) ul (w Ul
u (ly u:
d) u (ly ju:
z) u (l_ 'u:
&) um (_ @m
circ) um @m
vol) u (me ju:
u (ma_ 'u:
h) u (man ju:
@@ -5747,7 +5805,6 @@
?3 _) vibra (t v'aIbreI
vivi (@ vIvI
viv (_ vaIv
_) vo (lC v0

.group w
w w
@@ -5829,6 +5886,8 @@
%B) y (_S1d I
_C) y (Ce aI
C) y (i I
&C) y (an_ =I
&C) y (en_ =I
y (iC_ j
sf) y (_ aI
Cf) y (_ %I

+ 8
- 6
dictsource/ga_list View File

@@ -1,7 +1,7 @@
// Irish Gaeilge dictionary
// written by Ronan McGuirk
// 2013
// version 2.6.1
// version 2.7
// Please send comments and suggestions to [email protected]

// This file is UTF8 encoded
@@ -29,7 +29,7 @@ _o oU
p pi:
q kju:
r ar
s Es
_s Es
t ti: $atend
u ju:
v vi:
@@ -142,6 +142,7 @@ abhaile @w'0l;E
ach 0x $u
ag Eg $verbf $u
anall @n'aUl
anam '0n@m
aige @g'E
air Er
acu 0k'U
@@ -149,13 +150,13 @@ ar Er $u
arsa @rs@
agaibh 0g@Iv
agus 0g@s
aisfhilleadh ,aS'Il;@
amach @m'0x
amárach @m'A:r@x
amuigh @mu1'I
amháin @w'A:in
am aUm
anaithnid '0nah@nIdZ
anois @nIS
anonn @naUn
ann aUn
anseo @nS'O
@@ -183,6 +184,7 @@ chlainne xl'InE
chun xUn $u
crainn kri:n
chrainn xri:n
cúlslais ku:lslaS
de dE $u+
des dEs $u

@@ -240,10 +242,10 @@ os o:s
rabh raU
raibh rEv
raidió r'adi:o:
réamhrá r'e:@vr,a:
réidh re:
's s
samhain saUIn
rímhaith R'i:w0
(s é) S'e:
(s í) S'i:
san s@n
seo S@_
tabhair t'u:@r

+ 47
- 21
dictsource/ga_rules View File

@@ -2,7 +2,7 @@
// translation rules for Irish Gaeilge
// This file is UTF-8 encoded
// written by Ronan McGuirk 2013
// Version 2.6.1
// Version 2.7
// Please send comments and suggestions to [email protected]


@@ -11,10 +11,10 @@

.L01 e i é í // slender vowels
.L02 c ch d g gh n s // following ea gets ; sounds
.L03 b bh mb c ch f m mh dh // used for words likemuir or cuid
.L03 b bh mb c ch f m mh dh p ph // used for words likemuir or cuid
.L04 b bh mb // for words like beag
.L05 nn nna nnas dh r s ntas nach nas nais dar mar rtha nta mh chas chais cht chta nnach ntach llach d l ll // word endings where @ is to repleace ea or a
.L06 aidh idh aí á eá eadh adh ad adsa imid aimid imis aimis ainn inn idís aidís éin // word endings where f changes to h
.L06 aidh idh aí á eá eadh adh ad ead adsaeadsa imid aimid imis aimis ainn ainnse inn innse idís aidís éin // word endings where f changes to h
.L07 b c g ch bh gh mb
.L08 lc ll nt bhse // for words like cailc
.L09 cl cr chr f
@@ -24,12 +24,12 @@
.L13 oc omb
.L14 río dún gnío // followed with mh
.L15 c ch f bhf m d dh g gc gh mh // aoi following
.L16 b c bh ch gr ghr // for inn word ending
.L16 b c bh ch gr ghr t th // for inn word ending
.L17 l le li niste nn
.L18 n nt nte neann neadh ntear nim nfear nfinn nfidh nfidis neamar
.L19 na nea ra rea la llea arga // word endings with silent dh
.L20 eo eoir eá eabh io iu iú // slender m
.L21 ll nn ndán nntán
.L21 ll nn nna nnta ndán nntán nntáin
.L22 eadh eag eaga eagán eagáinín eo io iu iú eall eabh ealtaine eann
.L23 ea eo i
.L24 b mb bh g gh p ph bp m mh
@@ -41,6 +41,7 @@
adh (C aI
abht aU#t[
amhr aUr // words like amhras
amha aU@
K) amhl aUl
abh (C aU // words like slabhra
aghaidh aIg
@@ -56,6 +57,7 @@
X) a (nn_ aU#
X) a (ll_ aU#
abha aU@
abhai aU@
am (pla aUm
ama (_ aU#m@
athair 'ah@r
@@ -64,7 +66,7 @@
agh (d aI
agh (s aI
_) ath 0h
a (rraige a
ai (m_ @
aí i:
aoi @i:
@@ -83,6 +85,7 @@
amhna (_ aUn@
arraing arIng
_) ath (@@P3 ,0_
_) athr '0hr

.group á
á A:
@@ -99,16 +102,17 @@
ai a#
L04) ai (L17 0#
aile (_ '0l;E // words like baile
Xc) ai (l '0#
ch) ai (l '0#
Xc) ai (lA '0#
ch) ai (lA '0#
m) ai (n 0#
c) ai (th 0#
ch) ai (th 0#
ai (lleach 0#
ai (tín 0#
ai (d 0#
p) ai (l 0#
@) ai (L11_ I
ai (L08+ aI#
ai (L08++ aI#
c) ai (l_ I
ai (msi 'aI // words like aimsir
_L04) ai (L18_++ u1'I//words like bain
@@ -118,7 +122,9 @@
X) aigh 'aI
aigh aI# L04) aill (_ wi:l
aing (_ Ing
ai (llimh '0 // words like Gaillimh
ailleach '0l;@x
ai (llimh++ '0 // words like Gaillimh
aidhm aIm


.group b
@@ -190,7 +196,8 @@
deirfiúr d;r@f'u:r
dheirfiúr g;r@f'u:r
_) do (Ch@@P2 d[,U_
_) dí (@@P2 d,i:
_) dí (C@@P2 d,i:
dícheall d;'i:Ca#l

.group e
e E#
@@ -206,6 +213,8 @@

eo o:
eoi o:
eoi (CC_ o:I
eoi (g o:I
eogha o:
eoghai o:
d) eo (ch O#
@@ -214,6 +223,7 @@
s) eo (_ @



.group é
é 'e:
éi 'e:
@@ -251,8 +261,12 @@
fh (éin_ h
fh (L22 ; // slender
@) f (L06_ h
fios fIs
fhios Is
_) fo (C@@P2 f,U
_) fogh f'aU
_) forb f'Orb
_) foc (@++ fOk
?1 _bh_) f (@
?1 _bh_) f (L22 ;

@@ -284,6 +298,7 @@
i I
_) i I
ia i@
iu U
ia (tha i:
io O#
io (dá I
@@ -319,8 +334,9 @@
ll (L23 l;
l (g l@
l (b l@
ll (b l
_) lorg (@@P4 l,Or@g
_) lán (C@@P3 l,A:n
_) lán (@@P3 l,A:n

.group m
m m // broad
@@ -344,14 +360,15 @@
?1 _) n (_L01 n;
_) nd n // urú
_) nd (L01 n; // urú slender
_) ng n
_) ng (L01 n;
_) ng N
_) ng (L01 N;
?1 _) n (_d n // urú
?1 _) n (_dL01 n; // urú slender
?1 _) n (_g n
?1 _) n (_gL01 n;
?1 _) n (_g N
?1 _) n (_gL01 N;
nn n
nn (L01 n; // slender
nn (L01 nj // slender
i) nn (_ N
n (b n@
n (m n@
n (bh n@
@@ -394,6 +411,8 @@
_L15) oi (+ @'I
_) oi (b I
oi (de I
oi (di I
oi (c_ I
h) oi (b I
_) oi (r I
r) oi I
@@ -406,12 +425,14 @@
oi (nnío @
oi (mis @
ois (++ O#S
n) ois (_++ IS
oill w'i:l
_) oi (leá 'I
oidh aI
oir (_ 'ERR
_sc) oi (r O
oigh (ea aI
oighn aIXn


.group p
@@ -435,13 +456,14 @@
r (bh r@
s) r (A R
_) ramh raU
_) réamh (@P5 r,e:v


.group s
s s // broad
L01) s S // slender
s (L01 S // slender
s (cL01 S
s (CL01 S
s (CCL01 S // slender
s (pCé s // broad
?1 _t_) s (@
@@ -482,10 +504,10 @@
uai u@
uai (g ui
uai (d ui
uainn u:iN
uá u:'A:
ui I
ui (s U
ui (sce_ I

uinn (_ 'i:n
uinti U#'i:ntI
_b) uí wi:
@@ -506,7 +528,10 @@
ú u:
únmh u:nv

úi (r u:
úi u:
úinn (_ u:IN
úibh (_ u:Iv



// words which contain j k q v w x y z, speak as English
@@ -521,6 +546,7 @@

.group v
v _^_EN
véarsa ve:rs@

.group w
w _^_EN

+ 20
- 19
dictsource/hi_rules View File

@@ -34,11 +34,12 @@

.group आ
आ a:
आं a~

.group इ
इ I
// इँ i~
// इं i~
इं i~

.group ई
ई i:
@@ -49,7 +50,7 @@

.group ऊ
ऊ u
ऊं (_ u~ // + anusvara
ऊं u~ // + anusvara
ऊँ (_ u~ // + candrabinbu

.group ऋ
@@ -63,18 +64,18 @@

.group ऎ
ऎ e
ऎं (_ e~
ऎं e~
ऎँ (_ e~

.group ए
ए e:
एँ e~:
एं (_ e~:
एं e~:
ा) एँ (_ j

.group ऐ
ऐ E: // ?? [aI] [E:] [&:]
ऐं (_ E~
ऐं E~
ऐँ (_ E~
?2 ऐ aI // ?? [aI] [E:] [&:]

@@ -84,12 +85,12 @@

.group ऒ
ऒ o
ऒं (_ o~
ऒं o~
ऒँ (_ o~

.group ओ
ओ o:
ओं (_ o~ // +anusvara
ओं o~ // +anusvara
ओँ (_ o~ // +candrabindu
ा) ओं (_ w // +anusvara
ा) ओँ (_ w
@@ -97,7 +98,7 @@

.group औ
औ O: // ?? [aU] [O:]
औं (_ O~ // +anusvara
औं O~ // +anusvara
औँ (_ O~ // +candrabindu
?3 औ aU // ?? [aU] [O:]

@@ -108,31 +109,31 @@
ा a:
ा (ँ a~
ाँ (_ a~
ां (_ a~
ां a~
ाव aU

.group ि
ि I
// िँ i~
// िं i~
िं i~

.group ी
ी i:
ी (_ i
ी (ँ i~
ीँ (_ i~
ीं (_ i~
ीं i~

.group ु
ु U
ु (ँ u~
ुं (_ u~
ुं u~
ुँ (_ u~

.group ू
ू u:
ू (ँ u~
ूं (_ u~ // or O~ ??
ूं u~ // or O~ ??
ूँ (_ u~

.group ृ
@@ -147,20 +148,20 @@
.group ॆ
ॆ e
ॆ (ँ e~
ॆं (_ e~
ॆं e~
ॆँ (_ e~

.group े
े e:
े (ँ e~
ें (_ e~:
ें e~:
ेँ (_ e~:

.group ै
ै E: // ?? [aI] [E:] [&:]
ैं E~
ै (ँ E~
ैं (_ E~
ैं E~
ैँ (_ E~
?2 ै aI // ?? [aI] [E:] [&:]

@@ -170,19 +171,19 @@
.group ॊ
ॊ o
ॊ (ँ o~
ॊं (_ o~
ॊं o~
ॊँ (_ o~

.group ो
ो o:
ो (ँ o~
ों (_ o~
ों o~
ोँ (_ o~

.group ौ
ौ O: // [O:] or [aU] ??
ौ (ँ O~ // [O:] or [aU] ??
ौं (_ O~
ौं O~
ौँ (_ O~
?3 ौ aU // [O:] or [aU] ??


+ 130
- 7
dictsource/hu_rules View File

@@ -175,6 +175,10 @@ udvaron) c (ser ts
licen) ccs ts|tS
nyol) c (csat ts
pokró) c (sá ts
barká) cs (zen tS
kalapá) cs (zon tS
_kapol) cs tS
lán) c (sor ts

.group ch
anar) ch (i h
@@ -212,6 +216,8 @@ diszti) ch (on h
almana) ch h
kronoszti) ch (on h
arca) ch (on h
sza) ch (arid h
szto) ch (aszti h

.group d
d d
@@ -463,6 +469,23 @@ shetlan) d (szige d
své) d (zseb d
csalá) d (szer d
szaba) d (sajt d
szomszé) d (jog d
elő) d (szerv d
árká) d (szerű d
csalá) d (sztor d
harminca) d (sze d
hol) d (szond d
kó) d (szöve d
lipi) d (szint d
máso) d (szava d
_ná) d (szeg d
nyárá) d (szere d
rú) d (szerű d
tize) d (szed d
_va) d (szerb d
va) d (tyúk d
bőrön) d (sze d
stran) d (szett d

.group dz
fogó) dz (kod ts
@@ -519,8 +542,8 @@ burkoló) dz z
000_-) el (_ REl // double R for 1000-el
000000_-) el (_ El // ... but not 1000000-el
_) ehhez EhEz
_) egyezség EJ:ESSe:g
_) egyezségg EJ:ESSe:g:
egyezség EJ:ESSe:g
egyezségg EJ:ESSe:g:

.group é
é e:
@@ -652,6 +675,19 @@ doppin) g (gy g
baromsá) g (gy g
tehetsé) g (gy g
bete) g (gy g
egysé) g (gy g
átla) g (gy g
szőnye) g (gyár g
hűsé) g (gy g
_ma) g (gyűjt g
népessé) g (gy g
öröksé) g (gy g
_sze) g (gyár g
szö) g (gyors g
tisztsé) g (gy g
szúnyo) g (gy g
szala) g (gyakor g
szala) g (gyűjt g

.group gy
gy J
@@ -777,6 +813,8 @@ _huszone) gy (e J:
száze) gy (edik J:
védje) gy (straté J
na) gy (sor J
e) gy (esít J:
ve) gy (érték J

.group h
h h
@@ -832,6 +870,8 @@ progressz) í (ve i:
sz) í (verő i:
sz) í (vevő i:
expressz) í (v i:
recessz) í (ve i:
v) í (zener i:

.group j
j j
@@ -884,6 +924,7 @@ expressz) í (v i:
k (-k k: //for example marok-körző word need cut one k letter and need spokening k: phoneme only
k-) k //silent with second k phoneme
_játé) kk (liens k: //exceptiof for kk (L01 rule
községg kYS:e:g:


.group l
@@ -1046,6 +1087,16 @@ teljesítmé) ny (j n^

n'Em _!'Ellt,e:,ES
porcelá) n (ny n
részvé) ny (jegy n^
agyo) n (játsz n
kölcsö) n (nyak n
dohá) ny (jöv n^
elektro) n (ny n
magá) n (nyar n
igé) ny (jog n^
szé) n (nyom n
verse) ny (játsz n^
ár) ny (játé n^

.group o
o o
@@ -1192,6 +1243,10 @@ feldolgozá) s S
_ki) s (szín S
kérdé) s S
végzé) s S
blue) s (zen S
fúvó) s (zené S
települé) s (zón S
adá) s (zár S

.group ss
ssz ss2
@@ -1750,8 +1805,44 @@ születé) ssz (ám S|s
utazá) ssz (er S|s
zsarolá) ssz (er S|s
dőlé) ssz (ab S|s


települé) ssz (isz Ss
vallá) ssz Ss
folyá) ssz (er Ss
_katyva) ssz s:
mitugrá) ssz (al s:
basszu) ssz Ss
buká) ssz Ss
erőlködé) ssz Ss
szarva) ssz Ss
ricinu) ssz Ss
települé) ssz Ss
utalá) ssz Ss
erősíté) ssz Ss
fázi) ssz Ss
fejleszté) ssz Ss
fúvó) ssz Ss
autó) ssz Ss
nyomá) ssz Ss
hatá) ssz Ss
effektu) ssz Ss
pulzu) ssz Ss
jelenté) ssz Ss
váltá) ssz Ss
mondá) ssz Ss
fázá) ssz Ss
ve) ssz (ők s:
_ő) ssz (láv Ss
periódu) ssz Ss
pólu) ssz Ss
rová) ssz Ss
utasítá) ssz Ss
tudá) ssz Ss
turizmu) ssz Ss
hajó) ssz (leng Ss
vezeté) ssz Ss
_vonó) ssz (iv Ss
ülé) ssz Ss
motoro) ssz Ss

.group sz
sz s
@@ -1814,6 +1905,13 @@ ellenállá) sz (ón Sz
ré) sz (árás Sz
_te) szts (or st|S
serté) szs (ir S|Z
tava) sz (áról s
te) sztsz (ezon st|s
balla) szts (úly st|S
kere) sztsz (ala st|s
para) szts (alá st|S
para) szts (ere st|S
para) szts (orb st|S

.group t
t t
@@ -1962,6 +2060,26 @@ szögle) t (szob t
álla) t (cirk t
szen) t (szob t
koncer) t (jeg t
tesz) t (cikl t
tesz) t (járm t
tesz) t (játék t
interne) t (jog t
á) tsz (orzás t|s
bará) t (szeren t
bi) t (széles t
spor) t (sér t
sej) t (szinte t
cson) t (sová t
direk) t (szorza t
ese) t (szétvá t
gondola) t (szond t
karsz) t (járat t
klariné) t (sz t
látsza) t (jóin t
metsze) t (sor t
mosza) t (sejt t
sej) t (sűrű t
vilaje) t (szék t

.group tj
C) tj c
@@ -2052,6 +2170,7 @@ közérze) tj (aví tj
ké) tj (átszm tj
szavaza) tj (og tj
szavaza) tj (eg tj
vona) tj (eggy tj

.group ts
ts (_S2 tS //general rule with word end of ts letters
@@ -2273,7 +2392,6 @@ szavaza) ts (o t|S
szige) ts (ej t|S
szige) ts (o t|S


.group tt
tt t:
ttgy t:J
@@ -2395,7 +2513,7 @@ lefeje) z (ték s
_ré) zs (ó zS
ő) zs (uta zS
_vá) zs (or zS
_szára) zs (ág SS
szára) zs (ág SS
_nehé) zs (ely zS
_) zürich tsyR2i C
tí) zsz (er s:
@@ -2539,7 +2657,12 @@ csatlako) z (tok s
_tí) z (shill z
topá) z z
dör) zsz (ör Z|z
raj) z (sabl z
raj) z (sa z
tí) z (seb z
egészségkö) z (pont s
leme) z (slá z
raj) z (sor z
ri) zs (zab Z

.group
$ dolla:R2

+ 33
- 33
dictsource/hy_rules View File

@@ -19,15 +19,15 @@

.group բ
բ b
_) բ (C b@
_) բ (B b@

.group գ
գ g
_) գ (C g@
_) գ (B g@

.group դ
դ d
_) դ (C d@
_) դ (B d@

.group ե
ե e
@@ -37,8 +37,8 @@

.group զ
զ z
_) զ (L01 @z
_) զ (C z@
_) զ (L01+ @z
_) զ (B z@

.group է
է e
@@ -50,7 +50,7 @@

.group թ
թ t#
_) թ (C t#@
_) թ (B t#@

.group ժ
ժ Z
@@ -63,57 +63,57 @@

.group լ
լ l
_) լ (C l@
_) լ (B l@

.group խ
խ X

.group ծ
ծ ts
_) ծ (C ts@
_) ծ (B ts@

.group կ
կ k
_) կ (C k@
_) կ (B k@

.group հ
հ h
_) հ (C h@
_) հ (B h@

.group ձ
ձ dz
_) ձ (C dz@
_) ձ (B dz@

.group ղ
ղ r"
_) ղ (C r"@
_) ղ (B r"@

.group ճ
ճ tS
_) ճ (C tS@
_) ճ (B tS@

.group մ
մ m
_) մ (C m@
_) մ (B m@
C) մ (_ @m
L02) մ (_ m

.group յ
յ j
_) յ (C j@
_) յ (B j@
?1 _) յ h
?1 _) յ (C h@
?1 _) յ (B h@

.group ն
ն n
_) ն (C n@
_) ն (B n@
C) ն (_ @n
L02) ն (_ n

.group շ
շ S
_) շ (տ @S
_) շ (C S@
_) շ (B S@

.group ո
ո o
@@ -126,63 +126,63 @@

.group չ
չ tS#
_) չ (C tS#@
_) չ (B tS#@

.group պ
պ p
_) պ (C p@
_) պ (B p@

.group ջ
ջ dZ
_) ջ (C dZ@
_) ջ (B dZ@

.group ռ
ռ R2
_) ռ (C R2@
ռ R
_) ռ (B R@
?1 L02) ռ (L02 *

.group ս
ս s
_) ս (L01 @s
_) ս (C s@
_) ս (L01+ @s
_) ս (B s@

.group վ
վ v
_) վ (C v@
_) վ (B v@

.group տ
տ t // ?? [dd]
_) տ (C t@
_) տ (B t@

.group ր
ր r
?1 L02) ր (L02 r
_) ր (C r@
_) ր (B r@
C) ր (_ @r
L02) ր (_ r

.group ց
ց ts#
_) ց (C ts#@
_) ց (B ts#@

.group ւ
ւ v
_) ւ (C v@
_) ւ (B v@

.group փ
փ p#
_) փ (C p'@
_) փ (B p#@

.group ք
ք k# // ?? [kk]
_) ք (C k#@
_) ք (B k#@

.group օ
օ o

.group ֆ
ֆ f
_) ֆ (C f@
_) ֆ (B f@




+ 196
- 151
dictsource/ml_list View File

@@ -1,151 +1,196 @@
// This file is UTF8 encoded
// Spelling to phoneme words and exceptions for Malayalam


// letter names (consonants)

U+d02 'a#m
U+d03 visarg@m
U+d3d avagraha
U+d4d c#andraka:r@m
U+d4e c#il.ac#aram // ??

ൺ _'yn. // chillu consonants
ൻ _in
ർ _'yR
ൽ _il
ൾ _'yl.
ൿ _ik
ണൎ _'yn. // eSpeak uses unofficial 0xd4e for "virama + U+200d" to indicate 'chillu' characters
നൎ _in
റൎ _'yR
ലൎ _il
ളൎ _'yl.
കൎ _ik



// combining vowels, precede by a click so they can be distinguished from stand-alone vowels
ാ #X2a::
ി #X1i
ീ #X2i::
ു #X1u
ൂ #X2u::
ൃ #X1ri
ൄ #X2ri::
െ #X1e
േ #X2e::
ൈ #X2aI
ൊ #X1o
ോ #X2o::
ൌ #X2aU
ൗ #X2aU


// speak Latin letters as English
a e:j
b bi:
c si:
d di:
e i:
f Ef
g dZi:
h e:tS
i a:j
j dZe:j
k ke:j
l El
m Em
n En
o o:
p pi:
q kju:
r a:R
s Es
t t#i:
u ju:
v vi:
w dVbVlju:
x Eks
y wa:j
z zEd

// symbols
% S;at@ma:n@m $max3
* ast@risk $max3 // or [[ta:rika]]
= sam@m
+ ku:t.t.@n.@m
& samuccaj@m
_. bindu
_, aNkuS;@m
_; ro:d#ini
_? co:dj@cihn@m
_! a:S;c@rjacihn@m


// numbers
_0 p'u:Jj@m
_1 'onny
_2 [email protected]#y
_3 m'u:nny
_4 n'a:ly
_5 'an^cy
_6 'a:R2y
_7 'e:r.y
_8 'et.t.y
_9 'onpaty
_10 p'atty
_1X p'ati

_11 p'atinonny
_12 p'antran.t.y
_19 p'attompatu
_20 'irup'aty
_2X 'irupatti
_30 m'uppaty
_3X m'uppatti':
_40 n'a:lppaty
_4X n'a:lppatti
_50 'anpaty
_5X 'anpatti
_60 'aR2upaty
_6X 'aR2upatti
_70 'er.'upaty
_7X 'er.'upatti
_80 'en.paty
_8X 'en.patti
_90 t'on.n.u:r:
_9X t'on.n.u:t.t.i

_0C n'u:R
_1C0 n'u:r:
_1C n'u:t.t.i
_2C0 irunn'u:r
_2C irunn'u:t.t.i
_3C0 munn'u:r
_3C munn'u:t.t.i
_4C0 na:nnu:r
_4C na:nnu:t.t.i
_5C0 'an^cu:r
_5C 'an^cu:t.t.i
_6C0 aR2unu:r
_6C aR2unu:t.t.i
_7C0 'er.'unu:r
_7C 'er.'unu:t.t.i
_8C0 'en.n.u:r
_8C 'en.n.u:t.t.i
_9C0 tol.l.'a:jiRam
_9C tol.l.'a:jiRatti

_0M1x 'a:jiRam
_0M1 'a:jiRat.t.i
_0M2x l'aks.am
_0M2 l'aks.at.t.i
_0M3 k'o:t.i

_dpt _d'aS;a:mS;@m_




// This file is UTF8 encoded
// Spelling to phoneme words and exceptions for Malayalam
// letter names (consonants)
U+d02 'a#m
U+d03 visarg@m
U+d3d avagraha
U+d4d c#andraka:r@m
U+d4e c#il.ac#aram // ??
ൺ _'yn. // chillu consonants
ൻ _in
ർ _'yR
ൽ _il
ൾ _'yl.
ൿ _ik
ണൎ _'yn. // eSpeak uses unofficial 0xd4e for "virama + U+200d" to indicate 'chillu' characters
നൎ _in
റൎ _'yR
ലൎ _il
ളൎ _'yl.
കൎ _ik
// combining vowels, precede by a click so they can be distinguished from stand-alone vowels
ാ #X2a::
ി #X1i
ീ #X2i::
ു #X1u
ൂ #X2u::
ൃ #X1ri
ൄ #X2ri::
െ #X1e
േ #X2e::
ൈ #X2aI
ൊ #X1o
ോ #X2o::
ൌ #X2aU
ൗ #X2aU
// speak Latin letters as English
a e:j
b bi:
c si:
d di:
e i:
f Ef
g dZi:
h e:tS
i a:j
j dZe:j
k ke:j
l El
m Em
n En
o o:
p pi:
q kju:
r a:R
s Es
t t#i:
u ju:
v vi:
w dVbVlju:
x Eks
y wa:j
z zEd
// symbols
% S;at@ma:n@m $max3
* ast@risk $max3 // or [[ta:rika]]
= sam@m
+ ku:t.t.@n.@m
& samuccaj@m
_. bindu
_, aNkuS;@m
_; ro:d#ini
_? co:dj@cihn@m
_! a:S;c@rjacihn@m
// numbers
_0 p'u:Jj@m
_1 'onny
_2 [email protected]
_3 mu:nny
_4 na:ly
_5 'an^cy
_6 'a:R2y
_7 'e:r.y
_8 'et.ty
_9 'onpaty
_10 patty
_1X pati
_11 patinonny
_12 pantran.ty
_15 patin'an^cy
_16 patin'a:R2y
_17 patin'e:r.y
_18 patin'et.ty
_19 pattompaty
_20 iryvaty
_2X iruvatti
_30 m'uppaty
_3X m'uppatti
_40 n'a:ppaty
_4X na:ppatti
_50 anpaty
_5X anpatti
_60 aR2uvaty
_6X aR2uvatti
_70 er.'uvaty
_7X er.'uvatti
_80 en.paty
_8X en.patt
_83 en.pattim'u:nny
_84 en.pattina:ly
_90 t'on.n.u:r:y
_9X t'on.n.u:t.t.i
_0C0 n'u:r:y
_0C nu:t.t.i
_1C0 orynu:ry
_1C orynu:t.t.i
_2C0 iRynn'u:ry
_2C irunnu:t.t.i
_3C0 munn'u:ry
_3C munnu:t.t.i
_4C0 n'a:nnu:ry
_4C n'a:nnu:t.t.i
_5C0 an^ju:ry
_5C an^ju:t.t.i
_6C0 aR2unu:ry
_6C aR2unu:t.t.i
_7C0 er.'unu:ry
_7C er.'unu:t.t.i
_8C0 en.n.u:ry
_8C en.n.u:t.t.i
_9C0 tol.l.'a:jiRam
_9C tol.l.'a:jiRatti
// thousands
_0M1x 'a:jiRam
_0M1 'a:jiRatti
_1f 'onn
_2f '[email protected]
_3f 'imu:v
_3fx m'u:v // no tens
_4f 'ina:l
_4fx n'a:l
_5f 'ai:j
_6f 'a:R2
_7f 'e:r.
_8f 'enn
_9f omp'atin
_10f p'atin
_1Xf p'at
_12f p'antran.t
_13f p'atimu:v
_14f p'atina:l
_15f patin'ai:j
_18f patin'enn
_19f p'attomp'atin
_20f 'iruvatin
_2Xf 'iruvatt
_30f m'uppatin
_3Xf m'uppatt
_40f n'a:ppatin
_4Xf n'a:ppatt
_50f 'anpatin
_5Xf 'anpatt
_60f 'aR2uvatin
_6Xf 'aR2uvatt
_70f 'er.uvatin
_7Xf 'er.uvatt
_80f 'en.patin
_8Xf 'en.patt
_90f t'on.n.u:r:
_9Xf t'on.n.u:t.t.
// higher powers
_0M2x l'aks.am
_0M2 l'aks.at.t.i
_0M3 k'o:t.i
_dpt _d'aS;a:mS;@m_

+ 229
- 8
dictsource/nl_list View File

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

// $alt2, remove s from plural, remove en from plural
// Use $alt3 where 'ng' and 'nk' is 'n+g' not [N]
// Use $alt4 for stressed final syllable ( es )

// Letters
// If a letter has a "word" pronunciation which is different from its
@@ -24,7 +25,7 @@ n En
p pe:
q ky
r Er
s Es
//s Es // 's morgens
t te:
v fe:
w ve:
@@ -35,6 +36,7 @@ z zEt
_s Es
_t te:


_cap h'o:fdlEt@r
_sub s'8pskrIpt||
_sup s'yp@rskrIpt||
@@ -155,6 +157,12 @@ het h@t $only
een @n $only
ən @-n // char.replacement for 'n
ət t // char.replacement for 't
een e:n $atend
(de een) d@||e:n
(het een) h@t||e:n
(een of) e:n||Of
(een van) e:n||vAn


// pronouns (may have -zelf suffix)
ik %Ik
@@ -394,31 +402,50 @@ zeten $alt

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

diller $alt // bediller
schepper $alt // opschepper
steller $alt // aansteller
zitter $alt // bezitter

betweter bEtv#'e:t@r
dikdoener $alt
gelijkhebber $alt
muggenzifter $alt

achter $alt
achterkleinkinder $alt
ader $alt
ander $alt
anker $alt
artistieker $alt
badder $alt
bagger $alt
baker $alt
baster $alt
beender $alt
beier $alt
belemmer $alt
beter $alt
beirer $alt
bibber $alt
bitter $alt
bladder $alt
blader $alt
blaker $alt
blikker $alt
bloeder $alt
blubber $alt
blubber $alt
bluffer $alt
blunder $alt
bolder $alt
bolster $alt
bonker $alt
boter $alt
braller $alt
brander $alt
broeder $alt
broeier $alt
brommer $alt
buffer $alt
bulder $alt
bulldozer $alt
@@ -432,28 +459,43 @@ consuminder $alt
counter $alt
cover k8v@r $alt
dabber $alt
dapper $alt
daver $alt
deemstar $alt
deemster $alt
deller $alt
dender $alt
dobber $alt
dokter $alt
donder $alt
donker $alt
dotter $alt
draaier $alt
drader $alt
drammer $alt
dreiner $alt
drekker $alt
drenzer $alt
dromer $alt
druiler $alt
duister $alt
dwater $alt
dweper $alt
dwinger $alt
eelter $alt
eergister $alt
eier $alt
emmer $alt
ender $alt
enter $alt
erger $alt
etter $alt
fatter $alt
filter $alt
fladder $alt
flakker $alt
flemer $alt
flikker $alt
flinter $alt
flipper $alt
flirter fl8rt@r $alt
flodder $alt
flonker $alt
flotter $alt
@@ -461,28 +503,48 @@ fluister $alt
foeter $alt
folder $alt
folter $alt
frikker $alt
gabber $alt
gader $alt
gaper $alt
geester $alt
geeuwer QeU@r $alt
gemoeder $alt
gibber $alt
giller $alt
gister $alt
glibber $alt
glimmer $alt
glinster $alt
glitter $alt
gloeier $alt
gluiper $alt
glunder $alt
goeder $alt
grater $alt
griener $alt
grieper $alt
gronder $alt
haker $alt
halter $alt
hamer $alt
hamster $alt
hanger $alt
haper $alt
harker $alt
hebber $alt
helder $alt
herinner $alt
herover $alt
hijger $alt
hikker $alt
hinder $alt
hoender $alt
hokker $alt
honger $alt
horker $alt
houter $alt
huiler $alt
huiver $alt
hunker $alt
ijver $alt
@@ -492,17 +554,20 @@ inburger $alt
inkader $alt
jakker $alt
jammer $alt
janker $alt
jeuker $alt
joeker $alt
jonger $alt
kader $alt
kaffer $alt
kakker $alt
kalefater $alt
kalver $alt
kamfer $alt
kanker $alt
kaper $alt
katter $alt
kaver $alt
keilder $alt
kenter $alt
keper $alt
kerker $alt
@@ -511,42 +576,69 @@ keuter $alt
kicker $alt
kieper $alt
kinder $alt
kitscher $alt // [k’iS@r]
kladder $alt
klager $alt
klapper $alt
klater $alt
klauter $alt
klaver $alt
kledder $alt
kleffer $alt
klepper $alt
kletser $alt
kletter $alt
kleumer $alt
kleuter $alt
klever $alt
klieder $alt
klinker $alt
klodder $alt
klonter $alt
kloter $alt
kluister $alt
kluiter $alt
knapper $alt
knetter $alt
kneuter $alt
kniezer $alt
knijper $alt
knikker $alt
knipper $alt
knisper $alt
knister $alt
knoeier $alt
knoester $alt
koekeloer $alt
koester $alt
koeter $alt
koffer $alt
koker $alt
kolder $alt
komieker $alt
kommer $alt
koper $alt
korster $alt
kraaier $alt
kraker $alt
krasser $alt
krenger $alt
krenter $alt
kruiper $alt
kruller $alt
kuier $alt
kwaster $alt
kwetter $alt
kwijler $alt
labber $alt
lacher $alt
lager $alt
lammer $alt
lander $alt
laser $alt
laster $alt
lauwer $alt
lawaaier $alt
lazer $alt
lebber $alt
leder $alt // gelederen
@@ -554,20 +646,24 @@ leger $alt
lekker $alt
lemmer $alt
lepper $alt
ler $alt
letter $alt
leuter $alt
lever $alt
lieder $alt
lijmer $alt
lobber $alt
lodder $alt
lodder $alt
lommer $alt
loper $alt
louter $alt
lubber $alt
luguber $alt
luier $alt
luimer $alt
luister $alt
mager $alt
malloter $alt
marmer $alt
meander $alt
meerder $alt
@@ -575,6 +671,7 @@ meester $alt
meier $alt
mekker $alt
mieter $alt
miezer $alt
mijmer $alt
millimeter $alt
minder $alt
@@ -583,8 +680,12 @@ moeder $alt
moker $alt
monster $alt
mopper $alt
mopper $alt
motter $alt
nader $alt
neder $alt
nichter $alt
nijver $alt
nuchter $alt
nummer $alt
ober $alt
@@ -593,30 +694,62 @@ onder $alt
orber $alt
ouder $alt
over $alt
paffer $alt
palaver $alt
panieker $alt
pantser $alt
papper $alt
patser $alt
pauper $alt
peiger $alt
peper $alt
pester $alt
peuter $alt
pieker $alt
pienter $alt
pieper $alt
pietepeuter $alt
pieter $alt
pikker $alt
pinkster $alt
plager $alt
plakker $alt
pleister $alt
pletter $alt
ploerter $alt
ploeter $alt
pluizer $alt
plunder $alt
pocher pOx@r $alt
poeder $alt
poeier $alt
poener $alt
poker $alt
pokker $alt
polder $alt
popper $alt
pover $alt
praler $alt
preker $alt
pronker $alt
proper $alt
propper $alt
protser $alt
pruiler $alt
pruller $alt
prutser $alt
puber $alt
puffer $alt
puister $alt
pulver $alt
purper $alt
rader $alt
raster $alt
redder $alt
reller $alt
ridder $alt
riller $alt
roker $alt
rooster $alt
rubber $alt
ruiter $alt
@@ -626,94 +759,160 @@ schamper $alt
schater $alt
schemer $alt
schetter $alt
schijter $alt
schilder $alt
schilfer $alt
schipper $alt
schitter $alt
schofter $alt
schokker $alt
schouder $alt
schrander $alt
schraper $alt
schreeuwer $alt
schrikker $alt
schroeier $alt
schrokker $alt
schuchter $alt
schutter $alt
sidder $alt
sjacher $alt
sjokker $alt
skeeler $alt
skelter $alt
slaper $alt
slechter $alt
slenter $alt
slibber $alt
slidder $alt
slijker $alt
slijmer $alt
slikker $alt
slinger $alt
slobber $alt
slodder $alt
slodder $alt
sloeber $alt
slokker $alt
slommer $alt
slover $alt
sluier $alt
sluimer $alt
smeker $alt
smelter $alt
snaker $alt
snater $alt
snauwer $alt
snipper $alt
snoeper $alt
snoever $alt
snotter $alt
snugger $alt
snuister $alt
sober $alt
sodemieter $alt
soeper $alt
soezer $alt
somber $alt
sopper $alt
spatter $alt
spetter $alt
spijker $alt
splinter $alt
spoker $alt
springer $alt
sproeter $alt
sputter $alt
staker $alt
stakker $alt
steiger $alt
stekker $alt
stoffer $alt
stokker $alt
stoter $alt
stotter $alt
streper $alt
stroper $alt
stuiter $alt
stumper $alt
sudder $alt
suffer $alt
suiker $alt
supporter $alt
tater $alt
teder $alt
teister $alt
temper $alt
tenger $alt
tetter $alt
teuter $alt
timmer $alt
tobber $alt
tover $alt
treiter $alt
trekker $alt
triller $alt
trompetter $alt
tuier $alt
tutter $alt
twitter $alt
uier $alt
vinger $alt
vitter $alt
Vlaander $alt
vleier $alt
vlekker $alt
vlieger $alt
vlinder $alt
vlokker $alt
vlotter $alt
voeder $alt
volker $alt
vorder $alt
vrijer $alt
waaghalzer $alt
waaier $alt
wakker $alt
wapper $alt
water $alt
wedijver $alt
weelder $alt
wegwijzer $alt
weiger $alt
wester $alt
wijder $alt
wilder $alt
winder $alt
winter $alt
wipper $alt
woeker $alt
wonder $alt
zakker $alt
zander $alt
zanger $alt
zeiker $alt
zeker $alt
zeper $alt
zeurder $alt
zever $alt
zilver $alt
zinder $alt
zoener $alt
zolder $alt
zomer $alt
zonder $alt
zuiver $alt
zwabber $alt
zwakker $alt
zwammer $alt
zwanger $alt
Vlaander $alt
zweter $alt
zwever $alt


// -s is not a suffix
as $alt
bordes $alt4
bres $alt
chaos $alt $1
es $alt
@@ -917,17 +1116,22 @@ tabel $2
// also words ending in er. etc.

// adjectives
akel $alt
edel $alt
enkel $alt
gammel $alt
groezel $alt
heikel $alt
ijdel $alt
jofel $alt
korzel $alt
kregel $alt
kriegel $alt
kreupel $alt
luttel $alt
nobel $alt
nozel $alt
poezel $alt
schamel $alt
simpel $alt
sjofel $alt
@@ -935,6 +1139,9 @@ soepel $alt
troebel $alt
metel $alt // vermetel

hoogdrempel $alt
laagdrempel $alt

// nouns
amandel $alt
apostel $alt
@@ -1433,9 +1640,11 @@ berin bI:r'In
beste bEst@
bevend be:v@nd
bijziend $2 // bijziendheid
binnenshuis bIn@nsh'Wys
blitzkrieg blItskri:g
boudoir budw'a:r
bourgondier burx'o:ndi:@r
buitenshuis bWyt@nsh'Wys
cafe ka:f'e:
circuit sIrku'i
chalet Sa:lE
@@ -1456,12 +1665,14 @@ crèches krES@s
damascering damA;s'e:rIN
december $2
desillusie dEsIlyzi
detail de:t'Aj
dieet $2
diesel diz@l
diner din'e:
//discussie $2
divers div'Ers
diftongering dIft,ON'e:rIN
doelmatig $2 $alt2
doordat $2
dynastie $3
eensgelijks e:nsQ@l'EIks
@@ -1477,11 +1688,13 @@ fiche fiS@
franchise frA'Si:z@
gamasche Qa:m'AS
gazet $2
gelig Qe:l@Q
gouache Qu'AS
gefrituurd $3
hysterie hIstI:r'i
impregnering Impr,EQn'e:IN
inductie $2
informatieve InfOrma:t'iv@
ingewikkeld $3
ingrijpend $2
ingeval $3
@@ -1491,8 +1704,11 @@ ingenieur Inzj@nj'Y:r
informatie $3
invasie $2
januari $3
jury Zyri
kadaster $2
kleinzerig klEInz'e:r@Q
leesregel le:sre:Q@l
levendig le:v@nd@Q
lunch l8nS
lunches l8nS@s
mangat $alt3
@@ -1539,6 +1755,7 @@ ongerieflijk $3
//ongrondwettig $3
partijvoorzitters $2
periferie pI:rifI:r'i
perron $2
pistache pist'AS
privilege privil'e:Z@ $alt2
proces $2
@@ -1548,6 +1765,7 @@ reservoir re:zErvw'a:r
revanche r@vA~nS
regime $2
roman $2
romance ro:m'A~s@ $alt2
rubriek rybr'ik
sacristie $3
saint _^_FR
@@ -1557,6 +1775,8 @@ september $2
serie sI:ri
sms'jes EsEm'Es_j@s
spektakel $2
sportief $2
sportieve $2
tegennatuur $4
tralie $1
travestie $3
@@ -1576,6 +1796,7 @@ wanluidend $2
wanschapen $2
wantrouwend $2
weliswaar v#ElIsw'a:r
werktuigelijk $2
ziekenhuisbevalling zi:k@nhWysb@vAlIN



+ 116
- 51
dictsource/nl_rules View File

@@ -14,6 +14,7 @@
aa a:
aai a:j
ae a:
ai Aj
au VU
auw VU
ay a:j
@@ -31,6 +32,12 @@
@) ace (_ e:s // ?? interface
m) ach (in %a:S
_) actie (@P5 'Aksi
@) achtig (_S6 Axt@Q // not -ig sufix
Km) acht (ig+ Axt // not -achtig
kr) acht (ig+ Axt
_) a (dress+++ a:
_) adres (@P5 a:dr'Es
_) af (C@P2 'Af
_) affich %AfiS
age (_ 'a:Z@
@@ -74,6 +81,7 @@
_) bijeen bEI'e:n
_) binnen (P6 b'In@n
_) boek (@P4 b'uk
_) boek (je b'uk
_) boven (P5 b'o:v@n
_) braille (@P7 br'Aj@
_) brand br'And
@@ -124,6 +132,7 @@
ck k
ces (_ s'Es
ce (s_$p_alt1 s@
coach ko:tS
_) computer (@P8 kOmpj'ut@r
_) congres kOnQr'Es
@@ -177,6 +186,8 @@
_) dj dZ
dj tj

_) doel (@P4 d'ul


.group e
e e# // [e:] but change to [@] in unstressed syllables
@@ -195,10 +206,11 @@

&C) e (_S1qd @
KAC) e (_S1e @ // remove 'e' and double the vowel
c) e (_++ @
KAj) e (_S1 @
el) e (_+S1qd @
er) e (_+S1qd @
ig) e (_+S1qd @
ig) e (_+S1qdm @

ea (_ 'e:a:
eau 'o: //words with French origin
@@ -214,6 +226,7 @@
@) e (renden_ 'I
it) eit (_ 'EIt
@) el (_ 'El
app) el (_ @l
&) eld (_ @ld
&) ele (_ 'e:l@

@@ -226,58 +239,19 @@
&) el (end_$p_alt =@l
&) el (ing_$p_alt =@l
&) el (ingen_$p_alt =@l
&) el (ig_$p_alt =@l
&) el (ige_$p_alt =@l

@) elen (_ 'e:l@n
@) el (en_$p_alt2 @L
&) elijks @l@ks
&) em (_ @m
&) e (ment @
&) e (nissen_ @

&) en (_S2qd @n
KAC) en (_S2e @n // flag 'e' means double the previous vowel
KAj) en (_S2 @n
and) en (_S2 @n
el) en (_+S2qd @n
er) en (_+S2qd @n

&) en (e_$p_altS3e =@n@ // flag 'e' means double the previous vowel
&) en (en_$p_altS4e =@n@n
&) en (t_$p_altS3e =@nt

&) ens (_S3q @ns
ll) en (_S3 @n
&) end (_ @nd
&) ende (_S1 @
&) enden (_S2 @n
eden (_ e:d@n // ??
@) ent (_ 'Ent
@) ent (e_ 'Ent
@) ent (en_ 'Ent
@) ent (er_ 'Ent
@) ent (ere_ 'Ent
@) ent (st_ 'Ent
@) ent (ste_ 'Ent
ag) ent 'Ent
X) es (_ Es
@j) es (_S1 s
@z) es (_S1 s
@) es (_S2qd 'Es // double the previous vowel
@) es (_$w_alt2S1 s // just remove 's'
@) e (s_$p_alt2+S1 s
KAC) es (_S2e @s
mb) es (_S1 s
nd) es (_S1 s
rd) es (_S1 s
gt) es (_S1 s
wt) es (_S1 s
es (ie_ e:z
@) 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'.
@) esisch 'e:zis
euille @'y
eum (_$w_alt 'e:8m
@@ -296,6 +270,7 @@
i) euzere (_ 'Y:z@r@
i) eust (_ 'Y:st
i) euste (_ 'Y:st@
exe (_ 'Eks@

proc) e (du e:
s) e (cuur @ // secure
@@ -304,6 +279,35 @@
_) expositie Ekspo:z'itsi
e (rtsD E

.group en
&) en (issen_ @n

&) en (_S2qd @n
KAC) en (_S2e @n // flag 'e' means double the previous vowel
KAj) en (_S2 @n
and) en (_S2 @n
el) en (_+S2qd @n
er) en (_+S2qd @n

&) en (e_$p_altS3e =@n@ // flag 'e' means double the previous vowel
&) en (en_$p_altS4e =@n@n
&) en (t_$p_altS3e =@nt

&) ens (_S3q @ns
ll) en (_S3 @n
&) end (_ @nd
&) ende (_S1 @
&) enden (_S2 @n
@) ent (_ 'Ent
@) ent (e_ 'Ent
@) ent (en_ 'Ent
@) ent (er_ 'Ent
@) ent (ere_ 'Ent
@) ent (st_ 'Ent
@) ent (ste_ 'Ent
ag) ent 'Ent

.group er
@) er (ing_ 'I:r
@) er (ingen_ 'I:r
@@ -314,16 +318,26 @@
&) er (d_$p_alt =@r
&) er (de_$p_alt =@r
&) er (den_$p_alt =@r
&) er (der_$p_alt =@r
&) er (end_$p_alt =@r
&) er (ende_$p_alt =@r
&) er (ing_$p_alt =@r
&) er (ingen_$p_alt =@r
&) er (ig_$p_alt =@r
&) er (ige_$p_alt =@r
&) er (st_$p_alt =@r
&) er (ste_$p_alt =@r
_) er (@P2 Er
&) er (_ @r
&) ere (_ @r@
&) er (en_$p_alt @r // where 'eren' is not a verb ending
eren (_ 'I:r@n
erend (_ 'I:r@nd
@) eres (_S4qd @r'Es
@) eressen (_S7sq @r'Es@n

// @) erder (_ @rd@r
erie (_ @r'i
er (ij_ @r
tol) er (abel @r
@@ -333,13 +347,40 @@
&) era (_ @ra:
@) er (aar_ @r
&) er (C@ E2r
.group es
es (_$w_alt4+ 'Es
X) es (_ Es
@j) es (_S1 s
@z) es (_S1 s
@) es (_S2qd 'Es // double the previous vowel
@) es (_$w_alt2S1 s // just remove 's'
KAC) es (_S2e @s
mb) es (_S1 s
fd) es (_S1 s
nd) es (_S1 s
rd) es (_S1 s
gt) es (_S1 s
lt) es (_S1 s
mt) es (_S1 s
nt) es (_S1 s
wt) es (_S1 s
es (ie_ e:z
@) essen (_S5qd 'Es@n
@) es (_$p_alt @s // for wors which end on [@] with multiple on 's'.
@) esisch 'e:zis

.group ê
ê E

.group f
f f
f) f
f (b v
f (d v
_) familie (@P7 fa:m'ili


.group g
@@ -347,10 +388,18 @@
gg Q
s) g x
g (é Z
g (ee_ Z
_lo) g (eer Z
_lo) g (eren Z
collee) g Z // college
@) gi (eus Z
@) gi (euz Z
reli) gi (eu Qij
_) goog (el gu:g
ener) g (ie Z
si) gn (a n^

.group ge
@@ -359,8 +408,10 @@
_) gebruikers (@P10 Q@br'Wyk@rs
_) gee Qe:
_) gei QEI
_) ge (kC QE
gener (aal Q,e:n@r
_) gelijk Q@lEIk
_) gemeente (@P8 Q@m'e:nt@
_) ge (lC QE
_) ge (rC QE
_) ge (lenL02 Qe:
@@ -373,19 +424,20 @@

ge (sprek Q@ // in compounds



.group h
h h
C) h (K

_) handicap hEndikEp
_) her (@P3 hEr
_) her (en hI:r
_) herinn h%ErIn // herinneren
_) hersen h'Ers@n
&) heid (_S4 hEIt
_) honden (@P6 h'Ond@n
_) hoogte (@P6 h'o:xt@
_) hulp (@@P4 h'8lp


@@ -417,6 +469,8 @@
&) ici (_ =isi
&) ico (_ =iko:
&) icus (_ =ik8s
r) ice (_ 'is@
r) ices (_ 'is@s
i (che_ i
ie (X 'i
ie (Ce_ 'i
@@ -431,8 +485,8 @@
iën (_ 'i@n
CAns) ie (_ =i
CAss) ie (_ =i
@) ig (_S2dq =@x
@) ige (_S3dq =@Q@
@) ig (_S2dq =@Q
@) ige (_S1m @
@) igen (_ =@Q@n
@) iger (_ =@Q@r
@) igere (_ =@Q@r@
@@ -445,10 +499,13 @@
ij (en 'EI
&) ika (_ =ika:
&) iko (_ =iko:
fam) i (lie 'i
_) in (C@P2 'In
_) in (do In
_) in (do In
_) in (forma In
ine (_ 'in@
ines (_ 'in@s
_) informatie (@P10 InfOrm'a:tsi
_) inn (@P2 'I // ?? inneren
_) inter Int@r
io (nage iO
@@ -473,6 +530,7 @@
.group k
k k
k) k
k (d g

_) kale (nde ka:l'E
_) kantoor (@P7 kAnt'o:r
@@ -500,6 +558,7 @@
&) laan (_S4 la:n
_) lange (@P5 laN@
_) liefdes (@P7 l'ifd@s
detai) ll
@) loog (_ lo:x
@) loos (_S4 lo:s
@) loze (_S4 lo:z@
@@ -556,6 +615,7 @@
_) natuur na:t'yr
na (tur n%a:
na (vig n%a:
_) navigatie (@P9 na:viQ'a:tsi
_) na (vr na:
_) na (volg@ n%a:
_) nieuws (@P6 n'iws
@@ -588,6 +648,8 @@
c) oi (ffu v#A
pr) o (gram o:
omgeving OmQ'e:vIN
on (_ 'On
onen (_ 'On@n
oo (X 'o:
oon 'o:n // in compounds, eg. telefoongesprek
oo (C_ 'o:
@@ -676,6 +738,7 @@
_) re (ceptief re:
_) re (ces r@
_) re (clam r@
_) redactie (P8 r@d'Aksi
_) register r@Q'Ist@r
reme (die r@m'e:
_) re (serve_ r@
@@ -714,11 +777,13 @@
&) sel (_ =s@l
&) selen (_ =s@l@n
service s8v@s
sh (op S
@) si (o S
A) si (o Z
@) ssi (o S
CAr) sie (_ =zi

_) sport (@P5 sp'Ort
_) stads (@P5 st'Ats
_) stage (@P5 st'a:Z@
_) standaard (@P9 st'Anda:rt
@@ -813,8 +878,7 @@
_) ver (sie_ vEr
_) verder vErd@r
_) verkeers (@P8 v@rk'I:rs
// _) verge (@P5 vErg@
// _) verge (le v@rQ'e:
_) voor v'O:r
_) voorjaars (@P9 v'O:rja:rs
_) voort (@P5 v'O:rt
_) vrijwilligers (@P13 vrEIv#'Il@Q@rs
@@ -842,6 +906,7 @@
_) weg (en v#e:Q
_) weg (e_ v#e:Q // bewegelijk
_) werk (@P4 v#'Erk
_) werk (el v#'Erk
_) west (@P4 v#Est
_) woon (@P4 v#'o:n
_) wr (@ vr
@@ -865,7 +930,7 @@

zele (_S4 ze:l@ // common suffix for cities.
@) zelf (_S4 s'Elf
_) zoge (@P4 z,og@
_) zoge (@P4 z,o:Q@
_) zuid (@P4 zWyt



+ 40
- 0
dictsource/om_list View File

@@ -0,0 +1,40 @@
// numeric
_0 duwa:
_1 tokko
_2 l@m@:
_3 s@di:
_4 afur
_5 S'an
_6 dZ'a:ha
_7 To:rba:
_8 sed:eit:
_9 sagal
_10 kud@'n
_1X
kud'@
_20 dig'dam@
_2X dig'dami:
_3X sod:omi:
_4X afu:rt@mi:
_5X S@nt@mi:
_6X dZat@mi:
_7X torbat@mi:
_8X s@de:t@mi:
_9X s@gal'tami:
_0C ib:'a
_1C ib:'atokko
_2C ib:'alama
_3C ib:'as@di
_4C ib:'a:furi
_5C ib:'a:S@ni
_6C ib:'a'dZa
_7C ib:'a'torb@
_8C ib:'a's@de:ti:
_9C ib:'a'sag@li
_0of na
_0M1 kum@:
_0M2 milijoni:
_0M3 bilijoni:
_dpt tuqa:
_. tuqa:
_roman roma:ni:

+ 143
- 0
dictsource/om_rules View File

@@ -0,0 +1,143 @@
// Oromo translation rules

.group a
a a
aa a:


.group b
b b
bb b:


.group c
c tS'


.group d
d d
dd d:


.group e
e e
ee e:

.group f
f f


.group g
g g
gg g:


.group h
h h


.group i
i i
ii i:


.group j
j dZ


.group k
k k
kk k:


.group l
l l
ll l:


.group m
m m
mm m:


.group n
n n
nn n:

.group o
o o
oo o:



.group p
p p
pp p:


.group q
q k
qq k:


.group r
r r
rr r:

.group s
s s
ss s:


.group t
t t
tt t:


.group u
u u
uu u:

.group v
v v


.group w
w v


.group x
x t'
xx t':


.group y
y y
yy y:


.group z
z ts
zz ts


.group ch
ch tS
.group sh
sh S

.group ph
ph p'

.group dh
dh d' // http://en.wikipedia.org/wiki/Voiced_alveolar_implosive

.group ny
ny n^

+ 166
- 101
dictsource/pt_list View File

@@ -1,4 +1,3 @@

// This file in UTF8 encoded

// Options
@@ -58,7 +57,7 @@ _à $accent // à can be a word
_é $accent // é can be a word
ê $accent
í $accent
ó $accent
_ó $accent
ô $accent
õ $accent
ú $accent
@@ -84,25 +83,41 @@ _#9 tab
% pors'eINtU $max3
& _'e_
@ ax'ob&
¤ 'eU*U
€ 'eU*U
£ l'ibR&
§ p&*'agRafU

¥ j'eNy
¢ seNt'avUs#
§ ses'&U~

_! ,eskl&mas'&U~
_! Skl&mas'&U~
_" 'asp&s#

?1 _# k,ardin'al
?2 _# k,ardZin'aU
_$ s,ifR'&U~
_& 'e
?1 _' ap'Ostr,ofy
?2 _' &p'OstRofU
?1 _' ap'OStr,ofy
?2 _' ap'OstRofU
_( ,abRipa*'eINtezy
?1 ¶ pa*'agr&fU
?2 ¶ pa*'agR&fU
● s'i*@-kulU
■ b'ax&ve*@-tSik'aUko*@-tad&
?1 ÷ divid'idUp'or
?2 ÷ dZividZ'idUp'or
?1 × v'ezyS
?2 × v'ezys
?1 µ m'ikrU
?2 µ m'ikRU
_) f,ES&pa*'eINtezy
_* &ste*'iskU
_− m'enUs
¼ u~Nku'a*@-tU
½ m'eIU
¾ treSkw'a*@-tUs#
® xeZistR'adU
?1 ™ m'a*@-k&xeZiSt'ad&
?2 ™ m'a*@-k&xeZistR'ad&

_, v'irgul&
_- 'ifeIN
@@ -341,14 +356,15 @@ elas $u+ $verbf
me $u $verbf // reflexive
te $u $verbf
nos $u $nounf
vos $u
la $u
lo lU $u
las $u
los $u
se $u

?2 este $u+ $nounf 'estSi // this
?2 estes $u+ $nounf 'estSis // these
?2 este $u+ $nounf 'estSy // this
?2 estes $u+ $nounf // these
?2 esta 'Est& $u+ $nounf
?2 nesta $u+ $nounf
?2 neste $u+ $nounf n'estSi //in this
@@ -376,13 +392,16 @@ seu $u+ $nounf
sua $u+ $nounf
?2 nosso $u+ $nounf // n'OsU
?2 nossa $u+ $nounf n'Os&
?2 nossos $u+ $nounf n'OsUs
?2 nossas $u+ $nounf n'Os&s
?2 nossos $u+ $nounf
?2 nossas $u+ $nounf
dele dely $u1+
dela $u+
deles delys $u1+
deles $u1+
delas $u+
nele nely $u1+
nela $u+
neles $u1+
nelas $u+

// prepositions
de $u $nounf // of,from
@@ -405,14 +424,13 @@ numas $u $nounf

por $u $nounf // by,for,through
pelo $u $nounf
?2 pela $u $nounf p'el&
?2 pela $u $nounf

ao $u $nounf
à ,a:
à $atend $atstart $accent
aos $u $nounf
às ,a:s $nounf

às $u $nounf
para $u // for,to
pro pRU $u $nounf
pra $u $nounf
@@ -438,7 +456,7 @@ com $u // with
// conjunctions
?1 e i $u // and
?2 e i $u // and
se $u+ // if
se $u+ $verbf // if


?2 mas $u // but
@@ -475,7 +493,7 @@ se $u+ // if
?2 mal // as soon as, hardly
?2 (logo que) l'Oguki/ // as soon as
?2 (antes que) '&~NtSiski/ // before
?2 (depois que) dep'OIski/ // after
?2 (depois que) dep'oIski/ // after
?2 (sempre que) s'eNpriki/ // whenever
?2 enquanto // while

@@ -539,7 +557,7 @@ estive $u
?2 esteve estevy $u2
estivemos $u
estiveram $u
estiver $u estSiv'Er
estiver $u

estarei $u
estará $u
@@ -645,7 +663,6 @@ jamais $u+ $verbf
// $alt changes stressed [e] or [o] phoneme to open [E] or [O]
// $alt2 changes stressed [E] or [O] phoneme to close [e] or [o]

abacaxi abakaSy
abordo $alt
aborto $alt $verb
absorta $alt2
@@ -655,10 +672,9 @@ acocho $alt2 $noun
acordo $alt $verb
acervo $alt2
adepto $alt
adore $alt
adorno $alt $verb
aeroporto $alt2
aeroportos $alt
aflore $alt
alcateia $alt
alcova $alt2
alegro $alt2 $noun
@@ -670,6 +686,7 @@ amuleto $alt2
ampere $alt
ampola $alt2
ampulheta $alt2
anchova $alt2
andorra $alt2
antonieta $alt2
apego $alt2 $noun
@@ -688,20 +705,20 @@ assopro $alt2 $noun
ateia $alt
aterro $alt2
aterro $alt $verb
autora $alt2
avesso $alt2
axé aSE
azeda $alt $verb
azedo $alt $verb
bairro b'aIxU
baqueta $alt2
banqueta $alt2
banquete $alt2
barreto $alt2
bastonete $alt2
beco $alt2
besta $alt2
bilhete $alt2
bissulfeto $alt2
blazer bl'eIzer
blazers bl'eIzers
boca $alt2
boceta $alt2
bofe $alt
@@ -716,30 +733,26 @@ borra $alt2 $noun
bosque $alt
boto $alt2 $noun
boxe $alt
bracelete $alt2
brejo $alt
bromelha $alt
broto $alt2 $noun
cabelo $alt2
cabresto $alt2
cacete $alt2
cachorra $alt2
caderneta $alt2
cadete $alt2
cãibra k'&~IbR&
caibro k'aIbRU
cãibra k'&~IbR&
caixeta $alt2
camelha $alt
camelo $alt2
camiseta $alt2
canaleta $alt2
canhoto $alt2
cantora $alt2
capacete $alt2
caractere $alt
carbureto $alt2
careta $alt2
caroços $alt
carrapeta $alt2
carreta $alt2
carroça $alt
casebre $alt
cateto $alt2
@@ -749,14 +762,17 @@ cedro $alt
cefaleia $alt
centopeia $alt
cerebelo $alt2
cerca $alt2 $noun
cerca $alt $verb
cerco $alt $verb
cerda $alt
cetro $alt
chamego $alt2 $verb
chaveta $alt2
chefe $alt
checam $alt
choco $alt2 $noun
choça $alt
chofer $alt

choro $alt2 $noun
chovesse $alt2
chupeta $alt2
@@ -766,13 +782,15 @@ cloreto $alt2
coche $alt2
coco $alt2
cofre $alt
coice $alt2
colete $alt2
colchete $alt2
colher $alt $noun
colheres $alt $noun
colmeia $alt
colore $alt
colosso $alt2
colossos $alt2
colostro $alt2
começo $alt $verb
comodo $alt2
concerto $alt2 $noun
@@ -787,6 +805,8 @@ controles $alt2
controles $alt $verb
controlo $alt2 $noun
coreia $alt
cores $alt2
cores $alt $verb
coreto $alt2
corneta $alt2
cornos $alt
@@ -802,11 +822,15 @@ cotovelo $alt2
cratera $alt
crede $alt2
credo $alt
crepe $alt
decore $alt
decoro $alt2 $noun
degelo $alt2
desaforo $alt2
desamores $alt2
desapego $alt2 $noun
desassossego $alt2 $noun
desconfortos $alt2
desconsolo $alt2 $noun
descontrole $alt2 $noun
descordo $alt
desemprego $alt2
desemprego $alt $verb
@@ -817,7 +841,6 @@ desmantelo $alt2 $noun
despojo $alt2 $noun
despojos $alt
desporto $alt2
desportos $alt
desprezo $alt2 $noun
desse $alt2
desse $alt $verb
@@ -825,6 +848,7 @@ deste $alt2
deste $alt $verb
desterro $alt2
destroem $alt
deteriore $alt
deveras $alt
dez $alt
diarreia $alt
@@ -832,22 +856,28 @@ diego $alt2
diogo $alt2
discordo $alt
dissabores $alt2
dispneia dZIspyn'EI&
?1 dispneia dISpyn'EI&
?2 dispneia dZIspyn'EI&
dobro $alt2
dobro $alt $verb
doce $alt2
doutora $alt2
dores $alt2
dorminhoco $alt2
dorminhocos $alt
doze $alt2
dueto $alt2
edson $alt
elixir eliSir
emprego $alt2
emprego $alt2 $noun
encasqueta $alt
encosto $alt $verb
endereço $alt $verb
enforco $alt
engordo $alt
enredo $alt $verb
enrosco $alt $verb
ensosso $alt2
enterro $alt2 $noun
entorto $alt
entroso $alt
@@ -860,7 +890,7 @@ erro $alt2
erro $alt $verb
esboço $alt $verb
escopeta $alt2
escore $alt
escova $alt2
escova $alt $verb
escovo $alt
@@ -870,39 +900,40 @@ esgoto $alt2
esgoto $alt $verb
esperma $alt
espeto $alt2 $noun
espiroqueta $alt2
espoleta $alt2
esposa $alt2
esqueleto $alt2
ester $alt
estilete $alt2
estojo $alt2
estorno $alt $verb
estorvo $alt $verb
estrela $alt2
estrofe $alt
estrogonofe $alt
eta $alt2
etiqueta $alt2
europa $alt
europeia $alt
exagero $alt $verb
exorto $alt
explore $alt
faceta $alt2
falangeta $alt2
farofa $alt
farolete $alt2
febre $alt
feitora $alt2
felisteia $alt
fezes $alt
filete $alt2
?1 fixe fiSy
flerte $alt2 $noun
flexora $alt2
foda $alt2 $verb
fodo $alt2
fogo $alt2
fogos $alt
foguete $alt2
foice $alt2
folclore $alt
folheto $alt2
fonseca $alt2
fora $alt
fora $alt2 $verb
forca $alt2
@@ -911,8 +942,10 @@ força $alt $verb
forço $alt
formos $alt2
forro $alt $verb
frescores $alt2
frevo $alt2
fulgores $alt2
gafanhoto $alt2
galera $alt
galeto $alt2
galhofa $alt
@@ -929,21 +962,21 @@ gol gow
golpe $alt
gorda $alt2
gorjeta $alt2
gosma $alt
gosto $alt $verb
gota $alt2
governo $alt2
governo $alt $verb
gozo $alt2 $noun
graveto $alt2
grelha $alt
groselha $alt
grosso $alt2
groso $alt
gueto $alt2
hemorroida $alt
hoje $alt2
homero $alt
horrores $alt2
humores $alt2
ideia $alt
inovo $alt
interesse $alt2
@@ -957,30 +990,26 @@ jogos $alt
joguete $alt2
lagosta $alt2
lambreta $alt2
lebre $alt
leitora $alt2
laser l'eIzer
lasers l'eIzers
lembrete $alt2
lepra $alt
leste $alt2 $verb
?2 lhe l^y
lingueta $alt2
licores $alt2
lisboeta $alt2
livreto $alt2
lodo $alt2
logro $alt
lopes $alt
macete $alt2
maior $alt
maleta $alt2
maniçoba $alt
marieta $alt2
marreta $alt2
mariposa $alt2
megera $alt
melhor $alt
menor $alt
mentora $alt2
merda $alt
meta $alt $noun
meteoro $alt
metro $alt
minueto $alt2
miolo $alt2
@@ -992,12 +1021,11 @@ moem $alt
mofo $alt $verb
molho $alt2 $noun
monera $alt
mor $alt
morcego $alt2
morda $alt2
moreia $alt
mortos $alt
motora $alt2
mui mwi
mui m'UI
muleta $alt2
mureta $alt2
mutreta $alt2
@@ -1007,8 +1035,8 @@ naquele $alt2 $nounf
nervo $alt2
nojo $alt2
novelo $alt2
novos $alt
odisseia $alt
off $alt
onu $1
olho $alt2 $noun
olhos $alt
@@ -1016,37 +1044,36 @@ onomatopeia $alt
opereta $alt2
ordens $alt
osso $alt2
ossos $alt
ostra $alt2
ovos $alt
pachorra $alt2
outorgo $alt
pacheco $alt2
paexa paeSa
paella pa'el^&
palacete $alt2
paleta $alt2
palheta $alt2
palhoça $alt
panfleto $alt2
pangeia $alt
pantera $alt
papoco $alt2 $noun
parede $alt2
pastora $alt2
pateta $alt
peba $alt
pedra $alt
pela $alt $verb
pela $alt2
pelo $alt2
pelo $alt $verb
penhores $alt2 $noun
perda $alt2
pereba $alt
peres $alt
peroba $alt
peses $alt
pesadelo $alt2
peses $alt
peseta $alt2
peso $alt $verb
piloto $alt2 $noun
pintora $alt2
pior $alt
pipoco $alt2 $noun
pirueta $alt2
plaqueta $alt2
plateia $alt
plebeia $alt
polca $alt
@@ -1056,10 +1083,8 @@ porque $alt2
porra $alt2
porreta $alt2
porrete $alt2
porto $alt2
portos $alt
porto $alt $verb
pose $alt2
povos $alt
poxa p'oS&
primavera $alt
primores $alt2
@@ -1067,46 +1092,50 @@ proso $alt
prosopopeia $alt
proveta $alt2
quarteto $alt2
quatorze $alt2
queda $alt
quede $alt2
quimera $alt
quitinete $alt
quinteto $alt2
ramalhete $alt2
rancores $alt2
raposa $alt2
recomeço $alt $verb
reconstroem $alt
recordo $alt
recorto $alt
rede $alt2
redor $alt
reembolso $alt $verb
reembolso $alt2
reembolso $alt $verb
reforço $alt $verb
reforços $alt
refresco $alt $verb
rego $alt2 $noun
reitora $alt2
relevo $alt2 $noun
relevo $alt2
relevo $alt $verb
remoem $alt
remorso $alt
renovo $alt $verb
represa $alt2
retorno $alt $verb
reuva x'EUv&
rigores $alt2
risoto $alt2
robson $alt
rock $alt
roem $alt
rola $alt2 $noun
roleta $alt2
rolete $alt2
rolo $alt2 $noun
roseta $alt2
rota $alt2
rota $alt $noun
rubores $alt2
rumores $alt2
sabonete $alt2
sabores $alt2
saibro s'aIbRU
saleta $alt2
sarjeta $alt2
seborreia $alt
seca $alt2 $noun
@@ -1123,8 +1152,8 @@ sinopse $alt
soco $alt2
soco $alt $verb
sogra $alt
sopa $alt2
sopro $alt2 $noun
soro $alt2
sorvete $alt2
sossego $alt2 $noun
suborno $alt $verb
@@ -1134,14 +1163,21 @@ sulfeto $alt2
sulfureto $alt2
super s'Uper
suporto $alt
suor swOr
suor suOr
sutiã sutSi'&~N
tabefe $alt
tambores $alt2
tapera $alt
tapete $alt2
temores $alt2
tempero $alt2 $noun
tenores $alt2
test $alt
terrores $alt2
teses $alt
teta $alt2
tijolo $alt2
tijolos $alt
togo $alt2
topo $alt2 $noun
torno $alt $verb
@@ -1149,7 +1185,6 @@ tornozelo $alt2
torre $alt2 $noun
torres $alt2
torro $alt
tortos $alt
toso $alt
transtorno $alt $verb
traqueia $alt
@@ -1161,14 +1196,12 @@ troco $alt2 $noun
tropa $alt
tropeço $alt2 $noun
trombeta $alt2
tumores $alt2
valeta $alt2
vanessa $alt2
vareta $alt2
vera $alt
verbete $alt2
violeta $alt2
violoncelo $alt
verde $alt2
vileta $alt2
voga $alt
xarope $alt
xereta $alt2
@@ -1181,9 +1214,12 @@ zorra $alt2
?1 alt 'alt
?2 agosto ag'ostU
?1 back b'Ek
?2 bahamas bax'&~m&s
?2 backup bEk'&p
?2 backups bEk'&ps
bad bEd
bank beINk
bacon b'eIkoN
beatle b'itow
beatles b'itows
black blEk
@@ -1192,33 +1228,41 @@ blind bl'aind
?2 Braille bR'aili
?1 cancel k'&ns'El
?1 caps k'aps
?2 center s'eNter
?1 com kom
?1 ctrl k'oNt:r,Ol
?1 dat d'at
?1 doc d'Ok
doc d'Ok
?1 delete d'il'it
?1 design d,iz'ain
?2 design dez'aIn
?2 designer dez'aIner
?2 designers dez'aIners
?1 dj d,i:dZ'eI
?2 diesel dZ'izEU
?2 doha d'ox&
?1 down d'a,wn
?2 down d'aUN
?1 download d'a,wnl'oud
?2 download daUNl'owd
?2 downloads daUNl'owds
?3 download dau~Nl'owd
drive dR'aIv
driver dR'aIver
drivers dR'aIveRs
?1 end 'end
?2 enter 'eNter
?2 esc 'Esk
?3 esc 'EskI
?1 explorer ,ekspl'O:*&r-
?2 Explorer ekspl'O*er
?1 eyes 'aiz
?2 eyes 'aIs
flash flES
?1 frame fr'eImy
?2 frame fR'eImi
funk f&~Nk
game g'eImy
?1 gmail g,em'eIl
?2 Gmail Zem'eIl
get gEt
?1 google g'u:g&l
?2 google g'ugol
?1 hardware 'ard,w'Er-
@@ -1233,16 +1277,19 @@ happy x'Epy
?2 Intranet iNtRan'Et
?1 kernel k'Ern,El
?2 kernel k'Ern@l
laptop lEptOp
left $alt
laptop lEpt'Op
?2 laptops lEpt'Ops
?1 line l'ain
layout l'eI,aUt
?2 login logiN
?1 lock l'Ok
mail m'eIl
mails m'eIls
marketing m'arketSiN
?2 mouse m'aUzi
?1 menu menu
?1 next n'Ekst
next n'Ekst
ok Ok'eI
?2 offline Ofl'aIN
?2 online oNlaIN
@@ -1250,9 +1297,11 @@ laptop lEptOp
?1 ovo 'ovu
?1 pause p'au:z
page p'eIdZ
pizza p'its&
?1 podcast pOdkEst
?2 podcast pOdyk'Est
python p'aIT&~N
?1 readme r'i:dmi:
right r'aIt
?1 sapi s,ap'i
?1 scanner sk'En&r
sky sk'ay
@@ -1262,15 +1311,19 @@ shake S'eIk
?1 site s'aIt
?2 site s'aItSi
?2 shampoo S&mpu
?1 software s'Oft,w'Er-
?2 shoping S'OpiN
?2 slide zl'aIdZy
símbolo s'imbolU
?4 símbolo s'iNbolU
?1 software s'Oft,w'Er-
?2 software s'Oftwe@-
?1 space sp'eIsy
?2 space sp'eIs
?1 sporting sp'Ort,ing
tab t'aby
tablet t'ablet
tablets t'ablets
taser t'eIzer
?1 telemóvel t,El,Em'OvEl
?1 telemóveis t,El,Em'OveIs#
?1 up &p
@@ -1278,6 +1331,7 @@ update &pd'eIt
upgrade &pgR'eId
upload &pl'oud
?2 web w'Eb
writer r'aIter
?1 yahoo 'i,ah'u
?2 yahoo iah'u
?1 yes j'Es
@@ -1293,6 +1347,9 @@ louis _^_FR
?1 adobe &d'Oby
android &NdR'Oid
apple 'Epow
outdoor aUtd'Or
?2 outdoors aUtd'Ors
baby b'eIby
chrome kR'owmi
debian d'Ebj&~N
?1 excel ,Eks'El
@@ -1303,7 +1360,9 @@ facebook feIsybuk
?1 fedora _^_EN
firefox f'ai@fOks
?1 front fr'ont
high haI
?1 jaws dZ'au:z
lady l'eIdy
?1 linux l,in'uks
?2 linux l'inUks
live l'aiv
@@ -1329,6 +1388,7 @@ mac mEk
?2 playstation pleIst'eIS&~N
point p'oint
?1 power p'aU&r-
?2 power p'aUEr
?1 product p:r'&d&kt
?1 Publisher p'&bl,iS&r-
?1 reader r'id,&r-
@@ -1338,6 +1398,7 @@ mac mEk
?2 Skype sk'aIp
Slackware sl'akwe@-
?1 smart sm'art // nero StartSmart
?2 society sos'aIty
speak spi:k
suse z'u:ts@
?1 start st'art // nero StartSmart
@@ -1361,15 +1422,19 @@ darwin d'Arwin
dijkstra d'ijkstrA:
einstein _!'aInSt,aIn
?2 einstein _!'aInst,aIn
feuerbach _^_DE
feynman f'ainm@n
freud fR'OId
friedrich fR'i:dRiS
gauss g'aUs
geisel g'aIzEU
gottfried g'Otfri:t
gottfried g'OtfRi:t
hegel x'egel
heidegger h'aIdege
hawking h'o:king
heisenberg h'aIzEnberg
hitler h'itler
husserl x'usEl
isaac iz'&k
lavoisier lavwazj'e
leibniz l'aIbni:ts
@@ -1379,8 +1444,8 @@ newton n'i;utoN
oppenheimer _!'Op@nh,aImar
richard x'iS&rd
riemann r'i:man
rijndael x'ain;d'al
?2 rousseau xus'o
rijndael x'ain;d'al
rousseau xus'o
schrödinger Sr'edinger
stephen st'i:v@n
steve st'i:v
@@ -1392,7 +1457,7 @@ von f%On
// foreign common names/surnames
?1 alison &l'is&N
anderson '&ndersoN
antonio &~nt'onIU
antonio &~Nt'onIU
?1 cleverson kl'Evyrs&N
?2 cleverson kl'EversoN
?1 elton 'Elt&N

+ 148
- 136
dictsource/pt_rules View File

@@ -20,7 +20,7 @@
.L03 a am o
.L04 a am e em o ue uem
.L05 r ra ram re rem rde rmo
.L06 ra ram ste re rem rmo
.L06 r ra ram ste sse ssem re rem rmo
.L07 sse ssem ste


@@ -30,7 +30,6 @@
a a
&) a (_ =& // in final unstressed syllable
&) a (s_ =&
&) a (_a =&/ // ?? elide final a before a
A_l) a (_ &
&) a (_à =&/
?1 a (_ =& // in final unstressed syllable
@@ -38,11 +37,7 @@
?1 a (_a =&/ // ?? elide final a before a
?1 a (_à =&/

a (C_ &
a (r_ 'a
?1 p) a (d_ =E
a (CC_ &
a (h_ a
?1 a (l_ 'A // eg: Portugal, capital, etc.
?1 a (lK ,A // Algarve, Almerinda, etc...
?2 al (K aU
@@ -61,10 +56,7 @@
an (K+ &~N
anh (A &~n^
am (_ =&U~
a (t_ a
a (ts_ a
a (x_ a
a (z_ 'a //eg: paz, rapaz, capaz, etc...

?1 C) acç 'a's // eg: selecção, etc...

ai aI
@@ -75,24 +67,29 @@
ao (_ aU
au aU
au (s aU
a (uCK a
âB) a (CA_ &
âBC) a (CA_ &
êC) a (CA_ &
êCC) a (CA_ &
ôB) a (CA_ &
ôBC) a (CA_ &
áC) a (CA_ &
áCC) a (CA_ &
éC) a (CA_ &
au (CK aU
âB) a (C@ &
âBC) a (C@ &
êC) a (C@ &
êCC) a (C@ &
ôB) a (C@ &
ôBC) a (C@ &
áC) a (C@ &
áCC) a (C@ &
éC) a (C@ &
í) a (CA_ &
íC) a (CA_ &
íCC) a (CA_ &
óC) a (CA_ &
óCC) a (CA_ &
óC) a (CCA_ &
úC) a (CA_ &
íC) a (C@ &
íCC) a (C@ &
óC) a (C@ &
óCC) a (C@ &
úC) a (C@ &
úCC) a (C@ &
ation (_ 'eIS&~N
_infr) a (sso &
_infr) a (vermelho &
_ultr) a (leve_ &
_ultr) a (sso &
_ultr) a (violeta_ &


.group â
@@ -106,8 +103,11 @@

.group à
à a
_) à (s_ aI

?1 _) às (_ ,a:S
?1 _) às (_G ,a:Z
?2 _) às (_ ,a:s
_) às (_A ,a:z
?2 _) às (_G ,a:z
à (m &~
à (n &~
àm (K &~m
@@ -187,11 +187,9 @@
e (lh+ e
e (ll+ E


e (bL02_ E

e (cL04_ E
@c) e (L07_ e
e (chL04_ E

r) e (cho_ e
@@ -210,10 +208,9 @@

h) e (gL04_ e

e (guL02_ E

e (lL04_ E

C) e (pL04_ E
e (ptL04_ E
i) e (r_ E

qu) e (r_ E
@@ -221,20 +218,19 @@
ib) e (rL04_ E
d) e (rL04_ E
ed) e (rL04_ e
m) e (rL04_ E
iv) e (rL04_ E
pod) e (rA_ e

@s) e (L05_ E

sp) e (rL04_ E
p) e (rL04_ E

f) e (rL04_ E

e (quL02_ E
e (rbL04_ E
e (rgL04_ E
e (rquL02_ E
e (rsL04_ E

e (sL02_ E
@@ -261,12 +257,12 @@
m) e (tL03_ e
An) e (tA_ e
on) e (te_ E
gaz) e (ta_ e

u) e (ta_ e
e (vL04_ E
t) e (ve_ e

e (rrAs_ E
_r) eu (n eu

e (x_ E
e (xL04_ E
@@ -349,70 +345,61 @@
ef) e (tuL02_ e
t) e (tra E

âC) e (CA_ e
âCC) e (CA_ e
êC) e (CA_ e
êCC) e (CA_ e
ôC) e (CA_ e
áC) e (CA_ e
âC) e (C@ e
âCC) e (C@ e
êC) e (C@ e
êCC) e (C@ e
ôC) e (C@ e
áC) e (C@ e
áCC) e (CA_ e
íC) e (CA_ e
íCC) e (CA_ e
óC) e (Ca_ e
éCC) e (CA_ e
éCCC) e (C@ e
íC) el (_ eU
íC) e (C@ e
íCC) e (C@ e
óC) e (C@ e
óCC) e (CA_ e
úC) e (CA_ e
úC) e (C@ e
úC) el (_ eU
ection (_ 'EkS&~N

//sort
_d) e (L05_ E
em) e (L05_ e // temeram, etc.
rd) e (L05_ e // perderam, etc.
_vi) e (L05_ E
end) e (L05_ e // entenderam, etc.
fiz) e (L05_ E
oub) e (L05_ E // soubeste, etc.
tiv) e (L05_ E // es-
viv) e (L05_ e
_com) e (L05_ e
_cos) e (L05_ e
_pud) e (L05_ E
_coub) e (L05_ E
_exag) e (L05_ E
_houv) e (L05_ E
_mulh) e (L05_ E
_soub) e (L05_ E
_talh) e (L05_ E
_escond) e (L05_ e
_troux) e (L05_ E
respond) e (L05_ e
@m) e (L06_ e // temeram, etc.
end) e (L06_ e // entenderam, etc.
viv) e (L06_ e
_cos) e (L06_ e
diss) e (L06_ E // contra-
m) e (L07_ e // comeste, etc.
romp) e (L06_ e // cor- inter-
_houv) e (L06_ E
_escond) e (L06_ e
respond) e (L06_ e
eb) e (L07_ e // recebeste, etc.
ec) e (L07_ e // pareceram, etc.
eg) e (L07_ e // elegeste, etc.
_@o) e (L07_ e // doeste, etc.
_cr) e (L07_ e
_do) e (L07_ e
_mo) e (L07_ e
_ro) e (L07_ e
bat) e (L07_ e // re- com-
ced) e (L07_ e // pro- con- su-
end) e (L07_ e // vendeste, etc.
esc) e (L07_ e // cresceste, etc.
met) e (L07_ e // co- pro- arre- re- intro- compro- sub-
met) e (L07_ e // meteste, cometeste, etc.
mex) e (L07_ e
mov) e (L07_ e // re- co-
olv) e (L07_ e // devolveste, etc.
ond) e (L07_ e // escondeste, etc.
orr) e (L07_ e // correste, etc.
viv) e (L07_ e // re-
_ard) e (L07_ e
_cos) e (L07_ e
_coz) e (L07_ e
colh) e (L07_ e // & es-
ench) e (L07_ e // pre-
nasc) e (L07_ e // re-
torc) e (L07_ e // con-
venc) e (L07_ e // con-
vert) e (L07_ e // in- re- con-
_ergu) e (L07_ e
_mord) e (L07_ e
@@ -422,21 +409,22 @@ respond) e (L05_ e
screv) e (L07_ e // e- in- ree- pre- de-
_atrev) e (L07_ e
_corro) e (L07_ e
_interromp) e (L07_ e
_troux) e (L07_ E
_ens) e (bL03_ E
_v) e (lhL03_ E
_amanc) e (bL03_ E
qu) e (brL04_ E
_cel) e (brL04_ E
cel) e (brL04_ E
_C) e (bre_ E
_boch) e (chL04_ e
_ex) e (crL04_ E
_enr) e (dL01_ E
_v) e (dL03_ E
_pr) e (dL03_ E
_arr) e (dL03_ E
_depr) e (dL03_ E
_hosp) e (dL03_ E
_enver) e (dL03_ E
_) e (dnL03_ E
_gr) e (gL03_ e
_gal) e (gL03_ e
_pel) e (gL03_ e
@@ -444,13 +432,14 @@ _enver) e (dL03_ E
estr) ei (L04_ EI
_r) e (jL03_ E
_inv) e (jL04_ E
_v) e (lhL03_ E
_gr) e (lhL04_ E
_caC) e (lo_ e
?2 el (ton_ 'EU
tr) e (pL04_ E // es-
_dec) e (pL04_ E
_in) e (ptL03_ E
ad) e (quL04_ E
_dig) e (rL02_ E
_ing) e (rL02_ E
_m) e (rL03_ E
_sev) e (rL03_ E
_reit) e (rL03_ E
_sinc) e (rL03_ E
@@ -458,45 +447,46 @@ _enver) e (dL03_ E
_z) e (rL04_ E
qu) e (rL04_ E // re-
_on) e (rL04_ E
_op) e (rL04_ E
gen) e (rL04_ E // de- re-
_alt) e (rL04_ E
_enc) e (rL04_ E
_imp) e (rL04_ E
_esm) e (rL04_ E
_esm) e (rL04_ E
_min) e (rL04_ E
_sug) e (rL04_ E
_sup) e (rL04_ E
_tol) e (rL04_ E
_ven) e (rL04_ E
acel) e (rL04_ E // des-
eson) e (rL04_ E
_apod) e (rL04_ E
_coop) e (rL04_ E
_enum) e (rL04_ E
_exub) e (rL04_ E
_temp) e (rL04_ E
_adult) e (rL04_ E
_aglom) e (rL04_ E
_dilac) e (rL04_ E
_encarc) e (rL04_ E
_incin) e (rL04_ E
_persev) e (rL04_ E
_recup) e (rL04_ E
_refrig) e (rL04_ E
_c) e (rcL02_ E
_ex) e (rcL02_ E
_alic) e (rcL02_ E
_p) e (rdL02_ E
_l) e (rdL03_ E
_h) e (rdL04_ E
_esqu) e (rdL03_ e
_C) e (rdL04_ E
_des) e (rdL04_ E
s_colh) e (res_ E
_) e (rgL03_ e
_re) e (rgL03_ e
_so) e (rgL03_ e
_c) e (rquL02_ E
e (rquL02_ E
_bez) e (rrL03_ e
v) e (rtL03_ e // con- re- in-
_f) e (rvL03_ e
_alic) e (rçL03_ E
_p) e (sL01_ E
_l) e (sL03_ E
_repr) e (sL03_ E
_ent) e (sL04_ E
_refr) e (scL01_ E
_d) e (scL02_ E
_cr) e (scL02_ E
@@ -506,6 +496,7 @@ s_colh) e (res_ E
_p) e (squL02_ E
_refr) e (squL02_ E
_l) e (ssL02_ e
_ac) e (ssL02_ E
_esp) e (ssL03_ e
_c) e (stL03_ e
_pr) e (tL03_ e
@@ -513,16 +504,18 @@ s_colh) e (res_ E
_rem) e (tL03_ e
_derr) e (tL03_ e
_obsol) e (tL03_ e
_sol) e (trL03_ E
_CaC) e (ta_ e
viol) e (ta_ e
_Carr) e (ta_ e
_pen) e (trL04_ E
_sol) e (trL04_ E
_n) eu (trL03_ 'eU
_d) e (vL03_ e
scr) e (vL03_ e // e- in- pre- ree- de-
_atr) e (vL03_ e
m) e (xL03_ e
_r) e (zL04_ E
_pr) e (zL04_ E
spr) e (zL04_ E
pr) e (zL04_ E // des-
_enf) e (zL04_ E
_rev) e (zL04_ E
_embel) e (zL04_ E
@@ -533,7 +526,6 @@ _entorp) e (çL03_ e
//endsort



.group é
é ''E
éi ''EI
@@ -556,7 +548,7 @@ _entorp) e (çL03_ e
êm (C ''eIm
ên (K ''eIN
ênh ''en^
êm (_ ''eIN
êu ''eU


.group f
@@ -580,6 +572,7 @@ _entorp) e (çL03_ e
g (Y Z // ge gi
gu (Y g
a) gu (ent gw
_apazi) gu (e gw
_ar) gu (i gw
averi) gu (e gw
enxa) gu (e gw
@@ -613,6 +606,8 @@ _entorp) e (çL03_ e
i (e i
i (ã i
i (õ i
i (á i
i (ó i
i (ú i
i (o i
Cr) i i
@@ -631,9 +626,7 @@ _entorp) e (çL03_ e
in (k iN
inh in^

i (A_ 'i
i (am_ 'i
i (em_ 'i
i (L04_ 'i

io (_ iU
io (s_ iU
@@ -664,8 +657,10 @@ _entorp) e (çL03_ e
?1 @) ings (_ _^_EN
?2 il (ton_ 'iU
?2 i (rton_ 'i
?2 ight (_ 'aIt
?1 ight (_ _^_EN
?1 ights (_ _^_EN
dr) i (ver 'aI


.group í
@@ -747,6 +742,9 @@ _entorp) e (çL03_ e
?2 _) os (_ Us
?2 _) os (_A Uz
?2 _) os (_G Uz
?2 _v) os (_ us
?2 _v) os (_A uz
?2 _v) os (_G uz
ou ow
oi oI
oi ($w_alt OI
@@ -785,9 +783,8 @@ _entorp) e (çL03_ e

o (lvL02_ O

o (sA_ O
o (sL04_ O
o (so_N o // not for osos_
o (sAm_ O

o (ssL04_ O

@@ -834,15 +831,17 @@ _entorp) e (çL03_ e
?2 o (z_ O
o (ze_ O
o (rL04_ O
c) o (re_ o
d) o (re_ o
@d) o (ra_ o
@d) o (re_ o
ri) o (re_ o
l) o (re_ o
t) o (re_ o
s) o (rA_ o
@t) o (ra_ o
@t) o (re_ o
v) o (re_ o

@@) o (rA_ o
b) o (rL04_ O
o (p_ O
C) o (pL04_ O
?1 _) o (C O // eg: olá, orla, opção, etc...
?1 _C) o (CACAC u // Documento, documentação, localizar, etc.
?1 f) o (rmat u // formatar, formato.
@@ -851,26 +850,27 @@ _entorp) e (çL03_ e
?1 _s) o (lu u // solução, soluções.
?1 interr) o (g u // eg: interrogação
?1 f) o (rmulá u // eg: formulário, formulários.
?1 v) o (lt O
o (luem_ o
o (ssuem_ o
êC) o (CA_ o
êCC) o (CA_ o
ôC) o (CA_ o
áC) o (CA_ o

éC) o (CA_ o
éCC) o (CA_ o
í) o (CA_ U
íC) o (CA_ o
íCC) o (CA_ o
óC) o (CA_ o
óCC) o (CA_ o
úC) o (CA_ o
úCC) o (CA_ o
âBC) o (C@ o
êC) o (C@ o
êCC) o (C@ o
ôC) o (C@ o
áC) o (C@ o
áCC) o (C@ o
éC) o (C@ o
éCC) o (C@ o
í) o (CA U
íC) o (C@ o
íCC) o (C@ o
óC) o (C@ o
óCC) o (C@ o
úC) o (C@ o
úCC) o (C@ o

//sort
_f) o (L05_ o
_red) o (L05_ O
_pormen) o (L05_ O
_f) o (L07_ o
_s) o (bL02_ O
@@ -879,6 +879,7 @@ _pormen) o (L05_ O
_engl) o (bL04_ O
_sal) o (brL03_ o
_) o (cL03_ o
_barr) o (cL03_ o
_m) o (fL01_ O
_m) o (fL02_ O
_af) o (fL04_ O
@@ -886,46 +887,49 @@ _pormen) o (L05_ O
_ap) oi (L01_ OI
_ap) oi (L02_ OI
_b) oi (L04_ OI
_C) oi (ce_ oI
_t) o (lL03_ o
_f) o (lgL04_ O
_emp) o (lgL04_ O
_) o (lhL04_ O
m) o (lhL04_ O
emb) o (lsL04_ O
_env) o (ltL03_ o
ent) o (pL02_ O
_c) o (pL03_ O
_t) o (pL04_ O
_ens) o (pL04_ O
_gal) o (pL04_ O
_esC) o (pA_ o
_s) o (prL04_ O
_al) o (prL04_ O
_ass) o (prL04_ O
_) o (ptL04_ O
p) o (rL02_ o
_dev) o (rL02_ O
_apav) o (rL02_ O
_defl) o (rL02_ O
_impl) o (rL02_ O
_inod) o (rL03_ O
_inson) o (rL03_ O
_comem) o (rL04 O
_enam) o (rL04_ O
_aprim) o (rL04_ O
_remem) o (rL04_ O
_ad) o (rL04_ O
_ma@) o (r_ O
_@um) o (re_ o
f) o (rmL03_ O
c) o (rrL01_ o // incorra, corra, etc.
_m) o (rrL01_ o
p) o (rtL03_ O // im- trans- de- re- com- a- ex-
m) o (rrL01_ o
_Cach) o (rra_ o
@p) o (rtL03_ O // importo, etc.
a_c) o (rte_ o
ortos (_ O*@-t=Us# // tortos, mortos, etc.
t) o (rçL03_ o // con-
_r) o (snL04_ O
_c) o (spL02_ O
_enr) o (squL02_ O
p) ostos (_ Ost=Us# // dispostos etc.
ossos (_ Os=Us# // nossos, grossos, etc.
p) ostos (_ Ost=Us# // dispostos etc.ortos (_ 'O*@-tUs
_gar) o (tL03_ o
_mar) o (tL03_ o
_escr) o (tL03_ o
zig) o (to_ o
_ch) o (vL01_ o
pr) o (vL03_ O
ovos (_ Ov=Us# novos, povos, etc.
_g) o (zL04_ O
_alm) o (çL01_ O
_esb) o (çL01_ O
_r) o (çL03_ O
tr) o (çL03_ O // des-
@@ -966,6 +970,8 @@ _remem) o (rL04_ O
?3 p (t p
?3 p (_C p_
ph f
play pl'eI
?2 _) práxis (_ pR'aksis


.group q
@@ -977,6 +983,8 @@ _remem) o (rL04_ O
qu (Y k
qu (K ku
_) que (_ ky
?2 por_) que (_ ke
?2 por_) que (_é ky
?1 _) qua kwa // quatro, etc.
?1 _) que ke // quente, etc.
?1 _) quei (C k'eI // queira, queima, etc
@@ -1001,8 +1009,7 @@ _remem) o (rL04_ O
?1 que (l ke // aquele, etc.
?1 que (r_ kE // qualquer, etc.
?1 qui ki // quinta, esquilo, etc.
?1 _) quind kuind // quindecágono, etc.
?1 tran) qui kui // tranquilo, etc.
_) qu (inde ku // quindecágono, etc.
?1 _) quo kuo // quoficiente, etc.


@@ -1015,7 +1022,8 @@ _remem) o (rL04_ O
r (_ r
r (C *@-
A) r (A *
A) r (_A *
r (_A *
r (_h *
C) r (A R
rr x
_) r x
@@ -1057,7 +1065,8 @@ _remem) o (rL04_ O
sr zx

_) sobre (@P5 sob*e
_tran) s (A z
tran) s (A z
_trân) s (ito_ z
?1 ssion (_ _^_EN


@@ -1159,9 +1168,11 @@ _remem) o (rL04_ O
a) x (ar S
a) x (ei S
xA) x (A S
_abaca) x (i S
ale) x (a S
bau) x (A S
brA) x (A S
_bu) x (o_ S
bY) x (A S
_ca) x (A S
_co) x (A S
@@ -1225,6 +1236,7 @@ _remem) o (rL04_ O
?1 A) z (G+ Z
?1 A) z (_C S
?1 A) z (_G+ Z
_pi) zz (a ts


.group

+ 14
- 0
dictsource/ru_rules View File

@@ -690,6 +690,20 @@ _твое) г (о_ v
// (This is now done automatically by the eSpeak program)

.group
// other cyrillic letters
ђ dZ;
ј j // U+458
љ lj
ћ tS;
џ dZ
ќ kj
ѓ dZ;
ґ g
є jE
і i
ї ji
ў w

$ dolar



+ 116
- 23
dictsource/sl_list View File

@@ -3,8 +3,9 @@
// This file is UTF-8 encoded
// $alt1 open vowel [E] or [O] in the stressed syllable
// $alt2 open vowel [o] or [o] in the stressed syllable
// $alt2 close vowel [o] or [o] in the stressed syllable
// $alt3 short stress on final syllable
// $alt4 final 'e' is schwa

// letter names
@@ -12,23 +13,23 @@ b b@
c ts@
č tS@
d d@
e e
e e:
f f@
g g@
_h h@
h x@ $atend
j j@
_k k@
k k@ $atend
l l@
m m@
n n@
_o o
o o: $atend
p p@
r R@
_s s@
s s@ $atend
š S@
t t@
_v v@
_z z@
v v@ $atend
z z@ $atend
ž Z@

q ku
@@ -42,9 +43,82 @@ y 'ipsilon
ë $accent
ö $accent
ü $accent

// accent names (please fix)
_dia prEgl'asa
ß 'o:stri||s'@

а a:
б b@
в v@
г g@
д d@
е e:
ё jo:
ж Z@
з z@
и i:
й ,ik@-*'atkOji
к k@
л l@
м m@
н n@
о o:
п p@
р R@
с s@
т t@
у u:
ф f@
х x@
ц ts@
ч tS@
ш S@
щ StS@
э E:
ю ju:
я ja:
ћ tS;@
ђ dj@
ќ kj@


// accent names
_dia spREgl'asom

// languages
_cyr tsiR'i:litSni

// symbols

@ 'a:fna
# l'e:stvitsa
$ d'o:laR
% Otst'o:tOw
& 'i:n
* zv'e:ditsa
+ plu:s
= En'akO
/ pOS'e:wnitsa
\ l'e:va||pOS'e:wnitsa
_. p'i:ka
_! klic'a:j
_? upRaS'a:j
_" naREkOv'a:j
_' En'o:jni||naREkOv'a:j
_` OstR'i:vEts
_, v'e:jitsa
_- pOS'e:wnitsa
_: dv#'o:p'i:tSjE
_; p'Odp'i:tSjE
_( OklEp'a:j
_) zaklEp'a:j
_[ Og;'a:ti||OklEp'a:j
_] Og;'a:ti||zaklEp'a:j
_{ zav'i:ti||OklEp'a:j
_} zav'i:ti||zaklEp'a:j
_… El'i:psa
__ pOttS@Rt'a:j
_< jE||m'a:njSe
_> jE||v'etSjE
_| nawp'i:tSna||tS'@Rta


// numbers
@@ -66,7 +140,7 @@ _14 St'i:Rinajst
_15 p'e:tnajst
_16 S'e:stnajst
_17 s'e:d@mnajst
_18 'o@s@mnajst
_18 'o:s@mnajst
_19 d'Ev'e:tnajst
_2X dv#'a:jsEt
_3X tR'i:dEsEt
@@ -114,9 +188,9 @@ s s
v w $combine
z z $combine

a a $atend
a a: $atend
k k@ $atend // letter-k
o o $atend // letter-o
o o: $atend // letter-o
s s@ $atend
v v@ $atend
z z@ $atend
@@ -132,6 +206,15 @@ bom bo+m $u // example of unstressed [o]
skozi sko+zi $u+
za $u+

le lE


// conjunctions
če tSE $u
ker kER
ter tER $u+
vseeno us'E:Eno


// verb: to be
sem s@m $u
@@ -151,12 +234,22 @@ bili $u
// exceptions
// (these are just a few example exceptions)

deset $2
devet $2
dim $alt3
ena $alt1
oba $2
šel S@w
tisoč $1
žena $alt1

deset $2
devet $2
dim $alt3
koš $alt3
ena $alt1
izhod $alt3
oba $2
osem $alt4
poševnica $2
sedem $alt4
še $alt3
šel S@w
tisoč $1
žena $alt1


// names
estonija $2
slovenija $2

+ 21
- 5
dictsource/sl_rules View File

@@ -4,6 +4,7 @@

.L01 b d g j l m n v z ž // voiced consonants

.L03 a e
.L04 l v


@@ -12,6 +13,9 @@
a (X$w_alt3+ 'a

a (č_ 'a:
a (j_ 'a:
a (l_ 'a:

.group b
b b
@@ -35,6 +39,12 @@
e e:
e (X$w_alt3+ 'E
ee i:
_n) ee E:E
_r) ee E:E
_pr) ee E:E

e (X$w_alt4 @
@) e (n_ E#
@C) e (r_ E#

@@ -60,8 +70,7 @@
i (X$w_alt3+ 'i
i (A j
@) i (ja_ =i
r) i (ja_ i:
i (l_ 'i:

.group j
j j
@@ -88,6 +97,7 @@
m (g N
m (k N
K) m (K m@- // unstressed
K) m (r m


.group n
@@ -96,6 +106,7 @@
n (k N

K) n (K n@- // unstressed
K) n (r n
nj n^
nj (A nj
nj (i n^
@@ -110,6 +121,10 @@
o (L04+ o:

o (č_ 'o:
o (j_ 'o:
o (l_ 'o:
o (oč o:

.group p
p p
@@ -129,6 +144,7 @@

.group s
s s
sch S


.group š
@@ -146,6 +162,8 @@

u (A w
A) u (K w
C) ue (C u: // German names
j) u (čeno 'u:


.group v
@@ -153,7 +171,7 @@
v (-A+ v // preposition 'v' before a vowel
A) v (K w
K) v (K %u
K) v (r v
v (r+ v
L01) v (A v#


@@ -195,5 +213,3 @@
ü y:
ß _^_DE

$ d'olaR


+ 2
- 0
dictsource/sw_rules View File

@@ -106,6 +106,8 @@

.group w
w w
j) w %u
ny) w %u

.group x
x ks

+ 1
- 3
dictsource/ta_list View File

@@ -270,8 +270,6 @@ tamil தமிழ் $text
போகம் $alt
போதனை $alt
பூகம்பம் $alt
பாகவதம் $alt
பகவத் $alt
பங்கம் $alt
பேகம் $alt
பார்லி $alt
@@ -491,7 +489,6 @@ tamil தமிழ் $text
கயா $alt
காயத்ரி $alt
கட $alt
கோ $alt
கதி $alt
கோபி $alt
கச்சாமி $alt
@@ -573,3 +570,4 @@ tamil தமிழ் $text
பிட் bit.
புட் fud.
உப்ப ubbV
ஜென் zen

+ 135
- 14
dictsource/ta_rules View File

@@ -163,6 +163,7 @@
_) க (ங்கபாடி gV
_) க (ங்கர gV
_) க (ங்கா gV
_) க (ங்காணி kV
_) க (ங்காரு kV
_) க (ங்குலி gV
_) க (ங்கூலி gV
@@ -193,6 +194,7 @@
_) க (தியில் gV
_) க (தியை gV
_) க (ந்தக gV
_) க (ந்தகிரி kV
_) க (ந்தர்வ gV
_) கனக (ச்சித gVnVkV
_) க (னக்க gV
@@ -225,7 +227,11 @@
_) க (லீர gV
_) க (லீல gV
_) க (லீஷிய gV
_) க (ல்ஃப gV
_) கல்த (ா gVlt
_) க (ல்பி gV
_) க (ல்பை gV
_) க (ல்ப் gV
_) க (ளுக் gV
_) க (வண gV
_) க (வன gV
@@ -266,6 +272,7 @@
_) க (ின்னஸ g
_) க (ின்னென்ற g
_) கிப் (ட gif
_) க (ிப்ரான g
_) க (ியர g
_) கி (யூ k
_) கி (ரக g
@@ -282,6 +289,7 @@
_) கி (ராக்கி g
_) கி (ராக்கு k
_) கிராணைட gra:naIt.V#
_) கி (ராண்ட g
_) கி (ராதக k
_) கிராபைட gra:faIt.V#
_) கிராப் kra:p
@@ -292,6 +300,8 @@
_) க (ிரிஜா g
_) க (ிரிதர g
_) க (ிரிதார g
_) கிரிப்பிரதக்ஷ (ண giripprVdVks.V
_) கிரிப்பிரதட்ச (ண giripprVdVks.V
_) கி (ரிமினல k
_) கி (ரியா_ k
_) க (ிரியாக g
@@ -405,6 +415,7 @@ _மன்மதக்) க (ுகை g
_) க (ுபேர g
_) குப் (த gup
_) க (ுப்புன g
_) க (ுப்பென g
_) க (ுப்பென்ற g
_) க (ுமாஸ்தா g
_) க (ுமுகுமு g
@@ -418,7 +429,9 @@ _மன்மதக்) க (ுகை g
_) க (ுருகுல g
_) க (ுருக்கள g
_) க (ுருக்குல g
_) க (ுருக்ஷேத்திர g
_) க (ுருசாமி g
_) குருச (ேத்திர gurUs.
_) க (ுருஜி g
_) க (ுருதேவ g
_) க (ுருநா g
@@ -435,6 +448,7 @@ _மன்மதக்) க (ுகை g
_) க (ுருமூர்த்தி g
_) க (ுருரா g
_) க (ுருவடி g
_) க (ுருவம்ச g
_) க (ுருவருள g
_) க (ுருவா g
_) க (ுருவாய g
@@ -446,6 +460,8 @@ _மன்மதக்) க (ுகை g
_) க (ுருவை g
_) க (ுருவோ g
_) க (ுருவோட g
_) க (ுருஷேத்திர g
_) கு (ரூப் g
_) க (ுலாப g
_) க (ுலாம g
_) க (ுலேபா g
@@ -484,6 +500,7 @@ _மன்மதக்) க (ுகை g
_) க (ேட்டைக் g
_) க (ேட்டைத் g
_) க (ேட்டைப் g
_) க (ேப்ரியல g
_) க (ேமை g
_) க (ேம்ஸ g
_) கேரண்ட ge:rVn.t.V#
@@ -577,7 +594,7 @@ _மன்மதக்) க (ுகை g
_கோபி) க kV#
_ஸ்டா) க kV#
_ஜமாய்) க kV#
_வெங்) கட kVt.V#
_வெங்) கட kVt.V#
அலை) க (டல kV
சமையல்) க (ட் kV
உச்ச) க (ட்ட kV
@@ -598,6 +615,7 @@ _வெங்) கட kVt.V#
_தலைக்) க (ன gV
_வீண்) க (னவ kV
_வெல்) க (ம kV
_வெங்) க (ய்யா kV
தின) க (ர kV
மது) க (ர kV
ஷங்) க (ர kV
@@ -666,6 +684,7 @@ _ஹன்L04ி) க (ா k
சித்திரலே) க (ா k
_ஹாங்) க (ாங் k
_தென்) க (ாசி k
_சு) க (ாசினி H
அ) க (ாடமி k
_நேர்) க (ாணல k
_கண்) க (ாணா k
@@ -723,6 +742,7 @@ _தொன்ம) க (ால k
க (ீழே_ k
க (ீழ்_ k
_பல்) க (ு k
_கற்) க (ுகை g
மலைக்) க (ுகை g
_பால்) க (ுட k
_பரம) க (ுடி k
@@ -757,7 +777,9 @@ _டா) குமெண்ட kUmen.tV#
L03து) க (ுறித்த k
அரை) க (ுறை k
_கீழ்) க (ுல k
_ரா) க (ுல H
அரச) க (ுல k
இரா) க (ுல H
ராஜ) க (ுல k
_குரு) க (ுல k
_கோ) க (ுல k
@@ -792,6 +814,7 @@ _நினைவு) க (ூர k
_லொ) க (ேஷன k
ம) க (ேஷ்வ H
ம) க (ேஸ்வர H
_வெங்) க (ையா k
அங்) க (ொ g
இங்) க (ொ g
_செடி) க (ொடி k
@@ -801,6 +824,7 @@ _நினைவு) க (ூர k
_வை) க (ோ k
_ஷி) க (ோ k
யூனி) க (ோட k
_தன) க (ோடி k
_ஜீவ) க (ோடி k
_பக்த) க (ோடி k
_தேவ) க (ோட்ட k
@@ -868,10 +892,12 @@ _சத்தியா) க்கி (ரஹ gg
_சாலி) க்கி (ராம gg
_சாள) க்கி (ராம gg
L03) க்க (ுகை gg
_மன) க்க (ுகை gg
_நிர்) க்க (ுண gg
_மு) க்க (ுண gg
L03) க்க (ுண gg
_போர்) க்க (ுண gg
_கை) க்க (ுண்ட gg
அணு) க்க (ுண்ட gg
_கோலி) க்க (ுண்ட gg
_வெடி) க்க (ுண்ட gg
@@ -912,6 +938,8 @@ _துப்பாக்கி) க்க (ுண்ட gg
_பை) க் (ல_ k
_நெ) க் (லஸ k
என்சை) க்லோப (ீடியா klo:p
_சு) க் (ள k
_ஷு) க் (ள k
க் (ஸ k
_எ) க் (ஸாம g
_மெ) க்ஸிக (ோ ksik
@@ -953,6 +981,7 @@ _துப்பாக்கி) க்க (ுண்ட gg
_) சக் (ரவர்த்தி tSVk
_க) ச (க்ஸ்தான zV
சங்க (ர s.VNkV
_) சங்க (ரமட sVNkV
_) ச (ட்டL08ஸ்கர tSV
_) ச (ட்டினி tSV
_) ச (ட்னி tSV
@@ -989,6 +1018,7 @@ _மீனலோ) ச (னி tSV
_) ச (ப்பி tSV
_) ச (ப்பு tSV
_) ச (ப்பெ tSV
_) சம்ப (ாரன tSVmp
_நா) ச (ர zV
_ரே) ச (ர zV
_டின்) ச (ர tSV
@@ -1017,6 +1047,8 @@ _தணிகா) ச (ல tSV
வேங்கடா) ச (ல tSV
_) ச (லோ tSV
_) ச (வான tSV
_பிளா) ச (ா z
_ப்ளா) ச (ா z
_) ச (ாக்கட்டி tS
_) சாக்ப (ீL04 tSa:kp
_) சாக்லெட் tSa:klet.
@@ -1034,6 +1066,7 @@ _தணிகா) ச (ல tSV
_ரம்) ச (ான z
அமே) ச (ான z
_) சா (னல tSe:
_தான்) ச (ானிய z
_) ச (ான்ஸ tS
_) ச (ாப்டர tS
_) சாப் (ளின tSa:p
@@ -1051,24 +1084,30 @@ _தணிகா) ச (ல tSV
ராஜோப) ச (ார tS
ஆ) ச (ார_ tS
ஆ) ச (ாரங்கள tS
_வி) ச (ாரங்கள tS
ஆ) ச (ாரத் tS
_வி) ச (ாரத்த tS
ஆ) ச (ாரம tS
_வி) ச (ாரம tS
_சிவா) ச (ாரி tS
_ரங்கா) ச (ாரி tS
_வரதா) ச (ாரி tS
_வேதா) ச (ாரி tS
_கிருஷ்ணமா) ச (ாரி tS
_கோபால) ச (ாரி tS
_கோவிந்தா) ச (ாரி tS
_சங்கரா) ச (ாரி tS
_தேசிகா) ச (ாரி tS
_பட்டா) ச (ாரி tS
_பிரம்ம) ச (ாரி tS
_மத்வா) ச (ாரி tS
அனந்தா) ச (ாரி tS
அன்னங்கரா) ச (ாரி tS
அன்னமா) ச (ாரி tS
ராஜகோபால) ச (ாரி tS
ராமானுஜா) ச (ாரி tS
ஆ) ச (ாரிய_ tS
ஆ) ச (ாரியர tS
ஆ) ச (ாரியார tS
அ) ச (ாருதீன z
_) ச (ாருமதி tS
@@ -1144,6 +1183,8 @@ _பக்தி_) சிரத் (தை srVd
_ஃபா) ச (ில z
_) சி (லாகி s
_நியூ) ச (ிலாந்த z
_சுவா) ச (ிலாந்த z
_ஸ்வா) ச (ிலாந்த z
_) ச (ிலிய tS
_) சி (லேட s
_) ச (ில்ற tS
@@ -1168,6 +1209,7 @@ L28ரங்க) ச (ீப z
_) ச (ுடிதார tS
_) ச (ுட்டிப் tS
ஆ) சுப (த்திரி spV
_) சுமித (ா smit
_) ச (ுரிதார tS
_) சு (ருதி s
இ) சு (லா s
@@ -1197,6 +1239,7 @@ _மங்களே) சு (வர s
_) சு (விட்ச s
_) சு (விஸ s
_) சு (வீட s
_வெனி) ச (ுவேல z
_) ச (ூயிங் tS
_) ச (ூரண tS
_) செக் (_ tSek
@@ -1299,7 +1342,9 @@ _மங்களே) சு (வர s
_நா) ஜ (ி z
_) ஜிப்(_ zip
_) ஜ (ிப்ப z
_) ஜ (ியா z
_) ஜ (ிப்பா dZ
_) ஜ (ியா_ z
_) ஜ (ியாவ z
_) ஜ (ீனத் z
_) ஜ (ீப்ரா z
_) ஜ (ீரோ z
@@ -1454,6 +1499,7 @@ _செண்) டிமெண்ட t.imen.t.V#
_) டி (யூன t.
_) டி (யூப t.
_) டி (யூஷன t.
_) டிரக் t.rVk
_) டி (ரங் t.
_) டி (ரங்கு t.
_) டி (ரபிள t.
@@ -1494,6 +1540,7 @@ _செண்) டிமெண்ட t.imen.t.V#
_) டி (ரிங்_ t.
_) டி (ரிங்க் d.
_) டி (ரிங்ஸ d.
_) டி (ரினிடாட t.
_) டிரினிட (ி t.rinit.
_) டிரிப் t.rip
_) டி (ரிம் t.
@@ -1515,6 +1562,7 @@ _செண்) டிமெண்ட t.imen.t.V#
_) டி (ரைலர t.
_) டி (ரைவ d.
கண்) டி (ரோல t.
_ஜெண்) ட (ில t.
_கௌ) ட (ில்ய t.
_நெக) ட (ிவ t.
_) ட (ிவிக t.
@@ -1579,8 +1627,10 @@ _லான்_) ட (ென்னிஸ t.
_) டைப (ாய்ட t.aIf
_) டைப் t.aIp
_) ட (ைம்_ t.
_ரி) ட (ையர t.
_) ட (ைல்ஸ t.
_) டொக் t.ok
_) ட (ொபாகோ t.
_) ட (ோக்கன t.
_) ட (ோக்கியோ t.
_) ட (ோட்டல t.
@@ -1605,11 +1655,13 @@ _மாலிவு) ட்ட d.d.V#
_ஹாலிவு) ட்ட d.d.V#
_ரெ) ட்ட (ிய d.d.
இ) ட்ட (ிலி d.d.
_ஜி) ட்ட (ு d.d.
அப்பாயிண்) ட்மெண்ட t.men.t.V#
_) ட் (யூசன t.
_) ட் (யூன t.
_) ட் (யூப t.
ஸ்) ட் (ர _|t. // ?? make t. distinct
_) ட்ரக் t.rVk
_) ட் (ரங் t.
_) ட் (ரங்கு t.
_) ட் (ரபிள t.
@@ -1647,6 +1699,7 @@ _ஹாலிவு) ட்ட d.d.V#
_) ட்ரிக்க (ர t.riggV
_) ட் (ரிங்_ t.
_நியூ) ட் (ரின t.
_) ட் (ரினிடாட t.
_) ட்ரினிட (ி t.rinit.
_) ட் (ரிம் t.
_) ட் (ரில்லியன t.
@@ -1729,6 +1782,7 @@ _நடுரோ) ட் (ல t.
_) த (க்ஷிண dV
_) த (க்ஷிணா dV
_) த (சகண்ட dV
_) த (சநாம dV
_) த (சம dV
_) த (சமி dV
_) த (சரத dV
@@ -1747,6 +1801,7 @@ _நடுரோ) ட் (ல t.
_) த (டிJ_மாட dV
_) த (டிக்காம dV
_) த (டிக்கும dV
_) த (டிச்ச dV
_) த (டித்த dV
_) த (டிப் dV
_) த (டிமன dV
@@ -1774,6 +1829,8 @@ _நடுரோ) ட் (ல t.
_) தண்டீசு (வர dVn.d.i:s
_) த (ண்டீஸ்வர dV
_) த (ண்டோரா dV
_) த (த்தாத்திரேய dV
_) தத்தாத் (ரேய dVtta:t
_) தத்த (ியா dVdd
_) த (னகோடி dV
_) த (னசேகரன dV
@@ -1823,6 +1880,7 @@ _நடுரோ) ட் (ல t.
_) த (ருமத் dV
_) த (ருமன dV
_) தருமப (ால dVrumVb
_) தருமப (ுத்திர dVrUmVp
_) த (ருமபுர dV
_) தருமப (ுரி dVrUmVp
_) த (ருமப் dV
@@ -1924,6 +1982,7 @@ _அகாலி_) த (ள dV
_) த (ினச் d
_) த (ினத் d
_) த (ினந் d
_) த (ினப் d
_) த (ினப்படி d
_) த (ினம d
_) த (ினுச d
@@ -2096,12 +2155,6 @@ _) தீர்க்க (_சுமங்கலி di:rggV
_) த (ோஸ்த் d
_) த (ோஹா d
_) தௌலதாப (ாத daUlVd.a:b
_சா) த்த (ியக்கூற dd
_சா) த்த (ியங்கள dd
_சா) த்த (ியத்த dd
_சா) த்த (ியந் dd
_சா) த்த (ியப்பட dd
_சா) த்த (ியம dd
_) த (்ராட்சை d
//endsort

@@ -2120,6 +2173,7 @@ _வசந்) த tV#
_மேல்) த (ட்ட tV
_சப்) த (த்த dV
_சாந்) த (த்த tV#
_மனோ) த (த்துவ tV
பிள்ளை) த (ன tV
முட்டாள்) த (ன tV
_சப்) த (ம dV
@@ -2140,12 +2194,16 @@ _வசந்) த tV#
சுஜா) த (ா t
லலி) த (ா t
_சமந்) த (ா t
_சுஜி) த (ா t
_சுனி) த (ா t
_நமி) த (ா t
_மம்) த (ா t
_ஹரி) த (ா t
_மஜந்) த (ா t
_வனி) த (ா t
_விஜி) த (ா t
_வினி) த (ா t
_ஸ்மி) த (ா t
_சுவர்ணல) த (ா t
_நிவேதி) த (ா t
_புஷ்பல) த (ா t
@@ -2159,6 +2217,7 @@ _ஸ்வர்ணல) த (ா t
_சாந்) த (ானு tV#
_சி) த (ார t
_சரி) த (ாவ t
_ஹரி) த (ாஸ்_ d
_சும) த (ி t
அதி) த (ி t
_சாந்) த (ி t
@@ -2186,6 +2245,7 @@ _புஷ்பவ) த (ி t
_ச) த (ீஷ t
_நி) த (ீஷ t
த (ுறை t
_பெருந்) த (ுறை d
ஆழ்) த (ுளை t
த (ூக்க t // in word
வீண்) த (ேவை t
@@ -2206,6 +2266,7 @@ _சோவிய) த் t
_சிரார்) த்த ddV#
_ஸ்ரார்) த்த ddV#
அர்) த்த (L09ார ddV
L03) த்த (டவை ddV
_முரட்டு) த்த (டியன ddV
_முரட்டு) த்த (டியர ddV
_சிறை) த்த (ண்டனை ddV
@@ -2242,6 +2303,12 @@ _மL06ிஷாசுரமர்) த்த (ினி dd
வை) த்த (ிய dd
உபா) த்த (ிய dd
_நைவே) த்த (ிய dd
_சா) த்த (ியக்கூற dd
_சா) த்த (ியங்கள dd
_சா) த்த (ியத்த dd
_சா) த்த (ியந் dd
_சா) த்த (ியப்பட dd
_சா) த்த (ியம dd
_வி) த்த (ியார் dd
பு) த்த (ியி dd
_சா) த்த (ியிரு tt
@@ -2267,6 +2334,8 @@ L03வ்வு) த்த (ியோக dd
_பு) த்த (ில tt
_வை) த்தீசு (வ ddi:s
_வை) த்த (ீஸ்வ dd
அப்பா) த்த (ுரை dd
அண்ணா) த்த (ுரை dd
ராஜ) த்து (ரோக dd
_தேச) த்து (ரோகி td
L03) த்த (ுர்க்க dd
@@ -2306,6 +2375,7 @@ _வில்வி) த்த (ை dd
நி) த (்ய t
ஆதி) த் (ய t
இ) த் (யாதி t
_நே) த் (ர t
_பவி) த் (ர t
_பா) த் (ர t
_மா) த் (ர t
@@ -2377,8 +2447,8 @@ _சி) த்ரலேக (ா trVle:k
_) ப (ஃபூன bV
_) ப (கதூர bV
_) ப (கத்சிங் bV
_) ப (கவத bV
_) ப (கவதி bV
_) ப (கவத்நாம bV
_) ப (கவன bV
_) ப (கவான bV
_) ப (காசுர bV
@@ -2440,6 +2510,7 @@ _சொந்த_) ப (ந்த bV
_) ப (ந்தப் bV
_) ப (ந்தம bV
_L14_) ப (ந்தம pV
_) ப (ந்தாக்கள bV
_) ப (ந்தாவ bV
_) ப (ந்துக்கள bV
_) பந்த (ுலு bVnt
@@ -2460,6 +2531,7 @@ _டீயும்_) ப (ன்னும்_ bV
_) ப (ம்பர bV
_) ப (ம்பாய bV
_) ப (ய_உணர் bV
_) ப (ய_ரேகை bV
_) ப (யங் bV
_) ப (யங்கர bV
_) ப (யத் bV
@@ -2473,6 +2545,7 @@ _டீயும்_) ப (ன்னும்_ bV
_) ப (யப்பன pV
_) ப (யப்பவை pV
_) ப (யம bV
_) ப (யரேகை bV
_) ப (யாலஜி bV
_) பயாஸ்கோப் bVja:sko:p
_) ப (யில்வான bV
@@ -2498,6 +2571,7 @@ _டீயும்_) ப (ன்னும்_ bV
_) ப (ர்ஃபி bV
_) ப (ர்கர bV
_) ப (ர்த் bV
_) ப (ர்னஸ fV
_) ப (ர்னாலா bV
_) பர்னிச (ர fVrnitSV
_) ப (ர்னிச்சர fV
@@ -2599,9 +2673,10 @@ _டீயும்_) ப (ன்னும்_ bV
_) ப (ாகத b
_) ப (ாகப் b
_) ப (ாகம b
_) ப (ாகவத b
_) ப (ாகவத b
_) ப (ாகியான f
_) ப (ாகீரதி b
_) பாக (ுலேயன ba:H
_) ப (ாக்கிக் b
_) ப (ாக்கிய b
_) ப (ாக்டரி_ f
@@ -2611,6 +2686,7 @@ _டீயும்_) ப (ன்னும்_ bV
_) பாக்ட (ீரியா ba:kt.
_) பாக்த (ாத ba:gd
_) ப (ாக்ய b
_) பாக் (லாந்த fa:k
_) ப (ாக்ஸ b
_) பாங்க (ாக் ba:Nk
_) ப (ாங்கில b
@@ -2675,11 +2751,13 @@ _டெட்_) ப (ாடி b
_) ப (ாதிப்படைவ b
_) ப (ாதிப்பதா b
_) ப (ாதிப்பதை b
_) ப (ாதிப்பவை b
_) ப (ாதிப்பாகி b
_) ப (ாதிப்பாகிற b
_) ப (ாதிப்பாகும b
_) ப (ாதிப்பால b
_) ப (ாதிப்பினால b
_) ப (ாதிப்பின்றி b
_) ப (ாதிப்பிற்க b
_) ப (ாதிப்பில b
_) ப (ாதிப்புகள b
@@ -2713,6 +2791,7 @@ _டெட்_) ப (ாடி b
_டைம்_) ப (ாம b
_) ப (ாமாவ b
_) ப (ாமினி b
_) ப (ாமிலி f
_) ப (ாம்பே b
_ஆடு_) ப (ாம்பே p
_விளையாடு_) ப (ாம்பே p
@@ -2727,6 +2806,7 @@ _விளையாடு_) ப (ாம்பே p
_) ப (ாரமை p
_) ப (ாரம்பரிய p
_) ப (ாரம்மா p
_) ப (ாரல b
_) ப (ாரவி b
_) ப (ாராமுல்லா b
_) ப (ாரிஸ்டர b
@@ -2770,7 +2850,7 @@ _விளையாடு_) ப (ாம்பே p
_) ப (ாலுவ b
_) ப (ாலே_L25 b
_) ப (ாலை p
_) ப (ாலையா b
_) ப (ாலையா b
_) ப (ால் p
_) ப (ால்_தாக்கரே b
_) பால்க (னி ba:lkV
@@ -2812,9 +2892,11 @@ _விளையாடு_) ப (ாம்பே p
_) ப (ாஸந்தி b
_) ப (ாஸ்கர b
_) ப (ாஸ்கி b
_) ப (ாஸ்கெட் b
_) ப (ாஸ்டன b
_) ப (ாஸ்மதி b
_) ப (ாஹியான f
_) ப (ாஹுலேயன b
_) பி(ராந்தியு b
_) ப (ி_._பி_._சி b // b.b.c
_) ப (ிகர f
@@ -2834,6 +2916,10 @@ _விளையாடு_) ப (ாம்பே p
_) ப (ிட்சு b
_) ப (ிட்டடி b
_) பிந்தி (ரன்வாலே bind
_) ப (ிந்துசார b
_) ப (ிந்துவா b
_) ப (ிந்துவி b
_) ப (ிந்துவை b
_) ப (ினாமி b
_) ப (ினிஷ f
_) ப (ின்_லேடன b
@@ -3157,12 +3243,14 @@ _பெனசீர்_) ப (ுட்டோ b
_) பு (ரோட்டான p
_) பு (ரௌச b
_) ப (ுல்_L15 f
_) புல்க (ா fulk
_) ப (ுல்டோசர b
_) ப (ுல்லட் b
_) ப (ுல்லா_ f
_) ப (ுல்லாக்க b
_) புல்லெட் bullet.
_) பு (ளுடோனிய p
_) பு (ளூட்டோ p
_) பு (ளூஸ b
_) பு (ளோரிடா f
_) ப (ுவன b
@@ -3277,6 +3365,7 @@ _பெனசீர்_) ப (ுட்டோ b
_) ப (ேஷன f
_) ப (ேஷன்ட p
_) ப (ேஷா b
_) ப (ேஸ்_பால b // base ball
_) ப (ை_பை b
_) ப (ைகுக்கு b
_) ப (ைக்கின b
@@ -3376,6 +3465,7 @@ _பெனசீர்_) ப (ுட்டோ b
_) ப (ோஷி b
_) ப (ோஸ b
_) ப (ோஸிட b
_) ப (ோஸில p
_) ப (ோஸ்_L22 p
_) ப (ோஸ்ட p
_) போ (ஸ்டன ba:
@@ -3428,6 +3518,7 @@ _பெனசீர்_) ப (ுட்டோ b
//endsort

//sort
_நீர்) ப pV#
_ப்ரூ) ப fV#
இடர்) ப pV#
நடை) ப pV#
@@ -3440,6 +3531,8 @@ _பெனசீர்_) ப (ுட்டோ b
_பயன்) ப pV#
_விகல்) ப pV#
அடால்) ப fV#
அஷ்ரா) ப fV#
_ஒL10ி) ப pV#
_செயல்) ப pV#
_ருடால்) ப fV#
_ஷரீ) ப (+ fV#
@@ -3449,6 +3542,7 @@ _ருடால்) ப fV#
அநுதா) ப (+ bV#
அனுதா) ப (+ bV#
பிரஸ்தா) ப (+ bV#
_கோபதா) ப (+ bV#
_பச்சாதா) ப (+ bV#
_விரகதா) ப (+ bV#
மனஸ்தா) ப (+ bV#
@@ -3483,6 +3577,7 @@ _விரகதா) ப (+ bV#
ஆரிய) ப (ட்டா bV
_நாக) ப (ட்டின pV
ஸ்தா) ப (ண bV
_முன்) ப (ண pV
அடி) ப (ணி pV
அஸ்) ப (ண்ட bV
_தின்) ப (ண்ட pV
@@ -3538,6 +3633,7 @@ _சொந்த) ப (ந்த bV
உ) ப (ந்நியாச pV
ஓ) ப (ன pV
_லிஸ்) ப (ன bV
_ஸ்டீ) ப (ன fV
கல்) ப (னா pV
_பின்) ப (னி pV
_முன்) ப (னி pV
@@ -3560,8 +3656,6 @@ _சொந்த) ப (ந்த bV
கா) ப (ர bV
_ஜெனி) ப (ர fV
நாகா) ப (ரண bV
_ஒலி) ப (ரப் pV
_ஒளி) ப (ரப் pV
வீர) ப (ராக்கிரம pV
_மறு) ப (ரிசீலனை pV
ஆ) ப (ரேசன pV
@@ -3584,6 +3678,9 @@ _ஜெனி) ப (ர fV
படைப்) ப (ல bV
_முனிசி) ப (ல pV
ஆயுதப்) ப (ல bV
_சம) ப (லங்கள bV
_சம) ப (லத்த bV
_சம) ப (லம bV
_மகா) ப (லி bV
_மூடு) ப (ல்லக் pV
_மணி) ப (ல்லவ pV
@@ -3626,6 +3723,7 @@ _வெளிப்) ப (ாக b
ஈடு) ப (ாட p
இடி) ப (ாட p
_கட்டு) ப (ாட p
_துதி) ப (ாட p
_மாசு) ப (ாட p
_வசை) ப (ாட p
_வழி) ப (ாட p
@@ -3644,6 +3742,8 @@ _வெளிப்) ப (ாக b
_யாழ்) ப (ாண p
தண்ட) ப (ாணி p
_சக்கிர) ப (ாணி p
ஆயுத) ப (ாணி b
நிராயுத) ப (ாணி b
பஞ்ச) ப (ாண்ட p
ப (ாண்டி p
ஒரு) ப (ாத p
@@ -3690,6 +3790,8 @@ _ப்ரின்சி) ப (ால p
_கம்) ப (ாலா p
_கா) ப (ாலி b
ப (ால்_ p
_தன) ப (ால்_ b
அன்) ப (ால்_ b
_டி) பால்ட fa:lt.V#
_நே) ப (ாள p
_தாழ்) ப (ாள p
@@ -3705,6 +3807,7 @@ _ப்ரின்சி) ப (ால p
_நவ) ப (ாஷ p
_தமிழ்ப்) ப (ாஷ _b
_பெல்) ப (ாஸ்ட f
_கல்) ப (ி f
_கா) ப (ி f
_குல்) ப (ி f
_சில்) ப (ி p
@@ -3720,6 +3823,7 @@ _தமிழ்ப்) ப (ாஷ _b
வாலி) பிக (ேஷன fik
_பசி) ப (ிக் f
_கா) பிட(ல pit.V
அ) ப (ிடவிட f
ஆள்) ப (ிடி p
கண்டு) ப (ிடி p
திமிர்) ப (ிடி p
@@ -3761,6 +3865,7 @@ _ஞானப்) பிரக (ா prVk
ஆ) பி (ரகாம b
உட்) பி (ரகார p
பிரக (ாஷ prVk
_ஹரி) பி (ரசாத p
மதப்) பிரச (ார prVtS
பிரச் (னை prVtS:i
பி (ரதர b
@@ -3782,6 +3887,12 @@ L03ந்தப்) பி (ரளய p
பி (ராய p
L03ந்தப்) பி (ராய p
ஆ) ப (ிரிக்க f
_சிவ) பி (ரிய p
_சண்முக) பி (ரிய p
_லக்ஷ்மி) பி (ரிய p
_லட்சுமி) பி (ரிய p
_விஷ்ணு) பி (ரிய p
_ஷண்முக) பி (ரிய p
போஜனப்) பி (ரியர p
_ஸ்ரீ) பி (ரியா p
_) பி (ரீயா f
@@ -3815,8 +3926,10 @@ L03ந்தப்) பி (ராய p
_மின்) ப (ுத்தக p
_) புத்தம்ப (ுத puttVmp
ராஜ) ப (ுத்திர p
_தர்ம) ப (ுத்திர p
வாயு) ப (ுத்திர p
அக்னி) ப (ுத்திர p
உத்தம) ப (ுத்திர p
பாடலி) ப (ுத்திர p
அக்கினி) ப (ுத்திர p
வில்லி) ப (ுத்தூர p
@@ -3840,7 +3953,6 @@ L03ந்தப்) பி (ராய p
ராம்) ப (ூர p
_கோலாலம்) ப (ூர p
அ) ப (ூர்வ b
ஒL10ி) ப (ெ p
இன்ஸ்) ப (ெக்டர p
_) பெஞ்ச (ா_ pen^dZ
_) பெஞ்ச (ாலும pen^dZ
@@ -3874,6 +3986,7 @@ _கோலாலம்) ப (ூர p
ப (ேரில்_ p
அத்திம்) ப (ேர் b
ப (ேர்_ p
_கல்) ப (ை f
_பை_) ப (ை b
அம்) ப (ையர p
_ரு) ப (ையா p
@@ -3956,6 +4069,7 @@ _விலை) ப (ோ p
ப (ோல்_+ p
ப (ோவத p
_கம்) ப (ோஸ p
_கல்) ப் f
_டே) ப (் p
_போ) ப் p
_லாக) ப் p
@@ -3986,12 +4100,14 @@ _மைக்ரோசா) ப் (ட f
_ர) ப்ப (ர bbV
ஆ) ப்ப (ரிக்க fV
தென்னா) ப்ப (ரிக்க fV
_ஹ) ப்ப (ர்ட bbV
_துர்) ப்ப (ல bbV
உ) ப்ப (லா bbV
உ) ப்ப (லாக bbV
உ) ப்ப (லான bbV
_கள) ப்ப (லி bbV
உயிர்) ப்ப (லி bbV
உ) ப்ப (லை bbV
_உ) ப்ப (ல்_ bbV
L03) ப்ப (ஸ bbV
_ட) ப்ப (ா bb
@@ -4015,6 +4131,7 @@ _யாதவ) ப்பி (ரகாச pp
L03) ப்பி (ரகார pp
_வெளி) ப்பி (ரகார pp
அதிக) ப்பி (ரசங்க pp
L03) ப்பிரச (ார pprVtS
_வன) ப்பி (ரதேச pp
_காட்டு) ப்பி (ரதேச pp
_நில) ப்பி (ரபு pp
@@ -4202,6 +4319,7 @@ _சந்தேக) ப்ப (ுத்தி bb
பெர்னாண்ட) ஸ zV#
_ம) ஸ்த (ூர zd
அரி) ஸ (ோன z
_சூய) ஸ zV#

.group ஹ
ஹ HV
@@ -4293,6 +4411,7 @@ _சந்தேக) ப்ப (ுத்தி bb
இ (லாவண்ய
இலேக்க (ிய le:gg
இ (லேச
இ (லையோலா
//endsort

.group உ
@@ -4360,6 +4479,8 @@ _சந்தேக) ப்ப (ுத்தி bb
_ச) ெள aU
_ப) ெள aU
_வ) ெள (வால aU
_ம) ெள (ரிய aU
_க) ெள (சல்ய aU

ே e:


+ 17
- 9
dictsource/ur_list View File

@@ -211,7 +211,7 @@ _dpt _ISaRI'Ia_
تھیں t#'i:n $u

// Pronunciation exceptions
پاکستان p'a:k'i:st'a:n
پاکستان p'a:k'Ist'a:n
کچھ k'Uc# $u
لنکس l'Ink,s
لفظ l'afz.
@@ -310,7 +310,6 @@ _dpt _ISaRI'Ia_
حجوم HUJ'u:m
پرحجوم p,URHUJ'u:m
تحفظ taH'afUz.
تحفظات t,aHafUz.'a:t
حفاظت H,Ifa:z.'at
ہمت HIm'at
سمیت sam'e:t
@@ -347,7 +346,6 @@ _dpt _ISaRI'Ia_
ڈاکٹر d.,a:kt.'aR
اقبال ,Iqb'a:l
جرم J'URm
اقتدار ,IqtId'a:R
عشرت ,ISR'at
نگران n,IgR'a:n
نگرانی n,IgR'a:ni:
@@ -527,7 +525,6 @@ _dpt _ISaRI'Ia_
حراست H,IRa:s'at
بجلی b'IJl,i:
اردگرد ,IRdg'IRd
ارتکاب ,IRtIk'a:b
مشترکہ mUSt'aRka
منتشر m,Unt'aSIR
مہذب m,UHaD'ab
@@ -579,7 +576,6 @@ _dpt _ISaRI'Ia_
جمعے J'Ume:
منقسم m,Unq'asIm
والدین v,a:lId'e:n
احمد ,EHm'ad
گلشن g,UlS'an
اسلوب ,Usl'u:b
تحریک t,e:HR'i:k
@@ -595,6 +591,22 @@ _dpt _ISaRI'Ia_
متاثر mUt'a:sIR
بہر baH'aR
وجوہ v'UJu:H
گہماگہمی g,EHma:g'EHmi
انور 'anvaR
عرصہ 'aRs.a
کدھر kId#'aR
عمران ,ImR'a:n
میٹنگ m'i:t.'Ing
حملہ H'amla
پرامن p,UR'amn
ملتان m,Ult'a:n
فرنٹ fR'ant.
نیشنل n,ESn'al
کمشنر k,amISn'aR
(موقع پر) m'Oqe:||p'aR
مصنوعی m,as.n'u:i
ذوالفقار D,UlfIq'a:R
بھٹو b#'Ut.o:
منقلب m,Unq'alIb
بجز b'aJUz
تعیں ta'i:n $u
@@ -604,8 +616,6 @@ _dpt _ISaRI'Ia_
رہ R'EH
عہد 'EHEd
انعقاد ,InIq'a:d
اختتام ,IxtIt'a:m
اختتامی ,IxtIt'a:mi:
معتقدین m,OtaqId'i:n
معتقد mOt'aqId
لسٹ l'Ist.
@@ -614,11 +624,9 @@ _dpt _ISaRI'Ia_
پولنگ po:l'Ing
لہٰذا lIH'a:Da:
الحق ,UlH'aq
حملہ H'aml,a:
مصنوعی m,as.n'u:i:
پیشکش p,e:Sk'aS
باطن b'a:tIn
انور 'anvaR
پرنٹ pRInt.
جاوید Ja:v'e:d
قیمت qi:m'at

+ 16
- 14
dictsource/ur_rules View File

@@ -50,6 +50,9 @@
ھ (_ H:
ھ (l01 H

.group ٰ
ٰ a:

.group ا
ا a:
_) ا (L01 // Acts like Consonants if followed by a vowel but is silent.
@@ -84,7 +87,6 @@ _) ای e:
_) ایمان i:m'a:n
_) اعت 'e:tI
_) اضاف Iz'a:f
_) اختلاف ,IxtIl'a:f
_) اسمبلی as'ambli:
_) اٹھت 'Ut.#t
_) اٹھن 'Ut.#n
@@ -112,7 +114,11 @@ _) ای e:
استعف Ist'i:f
@) ات (_S2 'a:t
_) انتظ 'Int,Iz.
احمق ,EHm'aq
_) اخت (L02 ,IxtI
_) اقت (L02 ,IqtI
_) اح (L02 'EH
_) است (L02 ,IstI
_) ارت (L02 ,IRtI

.group آ
آ a:
@@ -129,10 +135,11 @@ _) ای e:
عنوان Unv'a:n
_) عمر 'UmR
L02) عی (_ 'ai:
علیحد 'alEHd

.group و
و o:
وُ u:
وُ vU
وٗ u:
و (L01 v
_) و vV
@@ -202,7 +209,6 @@ _) ای e:
_) بدل (L02 bad'al
بوڑھ b'u:r.h
_) بے (P2 b'e:
_) بھوت b#'u:t


.group پ
@@ -219,7 +225,6 @@ _) ای e:
پوچھ p'u:c#
پیچھ p'i:c#
پھونک p#'u:nk
_) پور (L01 p'u:R

.group ت
ت tV
@@ -248,8 +253,6 @@ _) ای e:
ٹریفک t.R'e:fIk
_) ٹکڑ t.'Ukr.
_) ٹہ (L02 t.'EH
ٹس(_ t.s
_) ٹیم t.'i:m


.group ث
@@ -274,8 +277,6 @@ _) ای e:
_) جمل J'Uml
_) جہ (L02 J'EH
_) جدا J'Uda:
_) جزب J'azb
_) جذب J'aDb

.group چ
چ cV
@@ -286,8 +287,8 @@ _) ای e:
چّ (L01 cc
_) چکا c'Uka:
_) چہ (L02 c'EH
_) چوم c'u:m
_) چیز c'i:z
_) چوم c'u:m

.group ح
ح HV
@@ -325,13 +326,13 @@ _) ای e:
دیا(_ d'i:;a:
درج d'aRJ
دیوا d'i:va:
_) دوسر d'u:sR
دفاع d'Ifa:
_) دہ (L02 d'EH
دنیا dUn'i:;a:
دہشت d'EHS'at
دلچسپ d,Ilc'asp
دھیم d#'i:m
_) دوسر d'u:sR

.group ڈ
ڈ d.V
@@ -341,7 +342,7 @@ _) ای e:
ڈّ d.d.V
ڈّ (L01 d.d.
ڈھونڈ d.#'u:nd.
ڈز(_ d.z
@) ڈز (_ d.z

.group ذ
ذ DV
@@ -408,7 +409,6 @@ _) ای e:
سیدھ s'i:d#
سیاست sja:s'at
سرگرم s,aRg'aRm
ستہ(_ st,a

.group ش
ش SV
@@ -552,7 +552,6 @@ _) ای e:
مخبر m'Uxb,IR
ملحق m'UlH,Iq
مذہب m,aDH'ab
مرحل m,aRH'al

.group ن
ن nV
@@ -581,6 +580,8 @@ _) ای e:
نھ nH
_) نکت n'Ukt
_) نوا n'ava:
_) نما n'Uma:
_) نماز nam'a:z

.group ں
ں n // this should nasalize the vowel
@@ -630,3 +631,4 @@ _) ای e:
.group 0xe0a5 // devanagari
0xe0a5 _^_NE



+ 89
- 44
dictsource/vi_rules View File

@@ -77,10 +77,10 @@ ỵ ỵ
//================================
// Consonants
//================================
.L01 t c ne nd k x s nt ch th me te le ce ny ry e o u re nch de p pe ph sh v ve ge
.L02 n
.L01 t c ne nd k x s nt ch th me te le ce ny ry e o u re nch de p pe ph sh v ve ge r
.L02 n a
.L03 t ch nh
.L04 a u ă â o ô á à ả ã ạ ù ú ủ ũ ụ ắ ằ ẳ ẵ ặ ấ ầ ẩ ẫ ậ ó ò ỏ õ ọ ố ồ ổ ỗ ộ ư ứ ừ ử ữ ự ơ ớ ờ ở ỡ ợ
.group b
b b
_) b _b
@@ -89,6 +89,7 @@ ỵ ỵ

.group c
c g //k
c (C _^_EN
c (_ kh
_) ch tS; // try [tS;] [tS] [c] c
?2 _) ch c
@@ -101,15 +102,18 @@ ỵ ỵ

.group d
d J^ // try [z] [J] [dZ] [dZ;] [J^]
d z // try [z] [J] [dZ] [dZ;] [J^]
?2 d J^
?1 d J^
d (_ _^_EN

.group đ
đ d
_) đ _d
// đ d
_) đ d_
@@ -122,21 +126,49 @@ ỵ ỵ

.group g
g Q // try [g] [Q]
g (L04 Q // try [g] [Q]
gh Q // or [g] [Q]
//g (i J^ // try [D] [z] [j] [J^] [z;] [J] [dZ]
//g (ì J^
//g (í J^
//g (ỉ J^
//g (ĩ J^
//g (ị J^
gi J^
gi z // try [D] [z] [j] [J^] [z;] [J] [dZ]
g (ì z
g (í z
g (ỉ z
g (ĩ z
g (ị z
_) g _^_EN
?1 g (ì J^
?1 g (í J^
?1 g (ỉ J^
?1 g (ĩ J^
?1 g (ị J^
?2 g (ì J^
?2 g (í J^
?2 g (ỉ J^
?2 g (ĩ J^
?2 g (ị J^
?1 gi J^
?2 gi J^
?1 giết J^'iE3g
giết J^'iE3t[
giếc J^'iE3kh
?2 giết J^'iE3g
?1 giếng J^'iE3N
?1 giềng J^'iE2N
?2 giếng J^'iE3N
?1 giêng J^'iE1N
?2 giêng J^'iE1N
?2 giềng J^'iE2N
giết z'iE3t[
giếc z'iE3kh
giêng z'iE1N
giềng z'iE2N
giếng z'iE3N
giểng z'iE4N
giễng z'iE5N
giệng z'iE6N
?1 giệt J^'iE6g
giệt J^'iE6t[
giệc J^'iE6kh
giệt z'iE6t[
giệc z'iE6kh
_) gol _^_EN
_) gat _^_EN
ght (_ _^_EN
@@ -145,7 +177,7 @@ ỵ ỵ

.group h
h h
?2 hu w

.group j
@@ -154,9 +186,9 @@ ỵ ỵ

.group k
k k
//k (_ kh
kh x
_) k k
_) kh x
//kh x
k (_ _^_EN
@@ -164,7 +196,8 @@ ỵ ỵ
.group l
l l
l (_ _^_EN
le (_ _^_EN
C) le _^_EN
//le (A _^_EN

@@ -180,6 +213,7 @@ ỵ ỵ
ng N
ngh N
nh n^
?2 L02) nh n
nd (_ _^_EN
@@ -190,7 +224,8 @@ ỵ ỵ

.group p
p p
p (C _^_EN
p p
ph f
@@ -213,10 +248,10 @@ ỵ ỵ

.group s
s s. // try [s.] [s] [S]
_) sh _^_EN
s (_ _^_EN
st (_ _^_EN
se (_ _^_EN

@@ -229,7 +264,6 @@ ỵ ỵ
?1 tr cr
?2 tr c
ts (_ _^_EN
te (_ _^_EN
th (_ _^_EN
tt (_ _^_EN
@@ -238,7 +272,7 @@ ỵ ỵ
.group v
v v
?2 v J^
ve (_ _^_EN
ve (A _^_EN

@@ -278,7 +312,7 @@ ỵ ỵ
ay aI
?2 ay a:I
aỳ aI2
aý aI3
aỷ aI4
aỹ aI5
@@ -298,7 +332,7 @@ ỵ ỵ
aụ aU6
a (L01 _^_EN
ai (L02 _^_EN
a (@ _^_EN

.group à
@@ -448,7 +482,7 @@ ỵ ỵ
eọ EU6
e (L01 _^_EN
ey (_ _^_EN
e (@ _^_EN

.group è
@@ -559,6 +593,7 @@ ỵ ỵ
iễu iU5
iệu iU6
i (L01 _^_EN
i (@ _^_EN
?2 i (L03 @
?1 i (L03 @
?2 i (L02 @
@@ -616,6 +651,12 @@ ỵ ỵ
.group o
o O
oa o@ // modify oa sound example: hoa,khoa // o (A w
oà o@2
oá o@3
oả o@4
oã o@5
oạ o@6
oo o@
oi OI
oì OI2
oí OI3
@@ -624,14 +665,19 @@ ỵ ỵ
oị OI6
ong O#
oe o& // Adding oe sound example: lóe sáng,toét mắt
o (L01 _^_EN
oai Oi // oai sound
o (@ _^_EN
oại Oi6
oài Oi2
oái Oi3
oải Oi4
oãi Oi5
oă o@1
oằ o@2
oắ o@3
oẳ o@4
oẵ o@5
oặ o@6

.group ò
ò O2
@@ -727,7 +773,7 @@ ỵ ỵ
.group ộ
ộ o6
ội oI6
ộng o#6
// ộng o#6
?2 ội O-6
@@ -814,8 +860,8 @@ ỵ ỵ
uội u@j6
//ung u#
u (L01 _^_EN
ui (L01 _^_EN
ua (L01 _^_EN
u (@ _^_EN
// ua (L01 _^_EN
?2 u u-

@@ -901,7 +947,7 @@ ỵ ỵ
ừ y2
ừi yI2
ừa y@2
ừu yw2
ừu y2w2
@@ -910,7 +956,7 @@ ỵ ỵ
ứ y3
ứi yI3
ứa y@3
ứu yw3
ứu y3w3
@@ -919,7 +965,7 @@ ỵ ỵ
ử y4
ửi yI4
ửa y@4
ửu yw4
ửu y4w4
@@ -928,7 +974,7 @@ ỵ ỵ
ữ y5
ữi yI5
ữa y@5
ữu yw5
ữu y5w5
@@ -937,7 +983,7 @@ ỵ ỵ
ự y6
ựi yI6
ựa y@6
ựu yw6
ựu y6w6
//=============================
@@ -958,10 +1004,9 @@ ỵ ỵ
yể i@4
yễ i@5
yệ i@6
// yêu i@U
// yêu i@U
y (L01 _^_EN
bu) y _^_EN

.group ỳ
ỳ i2
@@ -1073,4 +1118,4 @@ ỵ ỵ
. (. _:
\.) .

+ 1
- 1
docs/voices.html View File

@@ -36,7 +36,7 @@ The <strong>language</strong> attribute is mandatory. All the other attributes
<dt>
<strong>language &nbsp;&lt;language code&gt; [&lt;priority&gt;]</strong><br>
<dd>This attribute should appear before the other attributes which are listed below.<p>
It selectes the default behaviour and characteristics for the language, and sets default values for
It selects the default behaviour and characteristics for the language, and sets default values for
"phonemes", "dictionary" and other attributes. The &lt;language code&gt; should be a two-letter ISO 639-1 language code. One or more language variant codes may be appended, separated by hyphens. (eg. en-uk-north).<p>
The optional &lt;priority&gt; value gives the preference of this voice compared with others for the specified language. A low value indicates a more preferred voice. The default value is 5.<p>
More than one <strong>language</strong> line may be present. A voice may be selected for other related languages (variants which have the same initial 2 letter language code as the specified language), but it will be less preferred for these. Different language variants may be specified by additional <strong>language</strong> lines in order to indicate that this is a preferred voice for them also. Eg.<pre>

+ 2
- 0
espeak-data/voices/test/om View File

@@ -0,0 +1,2 @@
name oromiffa-test
language om

+ 5
- 2
mkdictlist View File

@@ -16,6 +16,9 @@ special_voices = {
'zh-yue': 'zhy',
}

# The 'om' voice file intimitently crashes when compiling on some platforms.
exclude_voices = ['om']

def find_voices(path):
for filename in os.listdir(path):
voice_path = os.path.join(path, filename)
@@ -25,7 +28,7 @@ def find_voices(path):
else:
if filename in special_voices.keys():
voices.add(special_voices[filename])
else:
elif filename not in exclude_voices:
voices.add(filename)

find_voices('espeak-data/voices')
@@ -54,7 +57,7 @@ def write_dictionary_make_rules(f):
f.write('dictsource/%s_extra:\n' % name)
f.write('\ttouch dictsource/%s_extra\n' % name)
f.write('espeak-data/%s_dict: src/espeak espeak-data/phontab %s dictsource/%s_extra\n' % (name, ' '.join(sorted(files)), name))
f.write('\tcd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=%s && cd ..\n' % name)
f.write('\tcd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=%s && cd ..\n' % name)

try:
filename = sys.argv[1]

+ 13
- 4
phsource/mbrola/in1 View File

@@ -3,7 +3,7 @@
0 r/ NULL 0 r
0 r- NULL 0 r
0 l- NULL 0 l
0 w/ NULL 0 w
0 w/ NULL 0 v
0 j/ NULL 0 j
0 ; NULL 0 NULL
0 g- NULL 0 NULL
@@ -40,16 +40,25 @@
0 u~ NULL 60 uu n

0 H NULL 0 h
0 p# NULL 0 ph
0 b# NULL 0 bh
0 t# NULL 0 th
0 d# NULL 0 dh
0 t. NULL 0 T
0 t.h NULL 0 Th
0 t.# NULL 0 Th
0 d. NULL 0 D
0 d.h NULL 0 Dh
0 d.# NULL 0 Dh
0 c# NULL 0 ch
0 J NULL 0 j
0 Jh NULL 0 jh
0 J# NULL 0 jh
0 k# NULL 0 kh
0 g# NULL 0 gh
0 n. NULL 0 N
0 n^ NULL 0 N
0 j NULL 0 y
0 S NULL 0 sh
0 s. NULL 0 sh
0 l. NULL 0 l
0 w NULL 0 v



+ 2
- 1
phsource/ph_armenian View File

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


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



+ 2
- 2
phsource/ph_bengali View File

@@ -91,9 +91,9 @@ phoneme tS
Vowelin f1=0 f2=2300 200 400 f3=-100 80

IF nextPh(isPause2) THEN
WAV(ustop/tsh_)
WAV(ustop/tsh_unasp2)
ENDIF
WAV(ustop/tsh_unasp)
WAV(ustop/tsh_unasp2)
endphoneme



+ 368
- 150
phsource/ph_danish View File

@@ -8,193 +8,405 @@
// AC + @- OR V: Long "pile" [pi:l@-]
// AC[i]: Long "smidig" [smi:Di]

// Vowel length changed by eSpeak
// Between two voiced consonants
// After [l/3]
// Before [l/3]
// After an "r" sound
// Before [N]
// Before voiced consonant + [i]

// PROCEDURES

// Change the length of SHORT vowels (?+vowel)
procedure ShortVowelLength
// "endelig", "ånder" - Short initial vowel sounds too short TEST
// "endelig", "ånder", "ynde" - Short initial vowel sounds too short TEST
IF thisPh(isWordStart) AND nextPhW(n) THEN
IF next2PhW(@-) OR next2PhW(V) THEN
length 160
RETURN
IF next2PhW(isWordEnd) THEN // NOT "ondeste"
length 170
RETURN
ENDIF
ENDIF
ENDIF
// "slutte" t/d + @- makes the vowel too long
// Problem with compounds like "spildedamp"
IF next2PhW(@-) OR next2PhW(V) THEN
IF nextPhW(t) OR nextPhW(d) THEN
// length 100
LengthAdd -45
// Don't shorten it further if it comes after an "r" sound
// Exit the procedure

// "blod" "slutte", "løn" l/3 makes the vowel too long
// NOT "mel'oner"
IF prevPhW(l/3) AND thisPh(isFirstVowel) THEN
IF thisPh(isStressed) THEN
length 100
IF nextPhW(N) THEN // [N] makes it even longer - "længden"
LengthAdd -20
ENDIF
// Don't shorten it further if it comes after an "r" sound
// Exit the procedure
RETURN
ENDIF
// "transplantation" - the second a - between 2 voiced consonants
IF nextPhW(isVoiced) AND nextPhW(isNotVowel) THEN
length 100
RETURN
ENDIF
ENDIF
// "bygget", "byggede" - consonant + [@-D] makes the vowel too long
IF next2PhW(@-) THEN
IF next3PhW(t) OR next3PhW(d) OR next3PhW(D) THEN
IF thisPh(isFirstVowel) THEN // NOT "cellof'anet"
IF NOT thisPh(?V) THEN // NOT "fjollet"
LengthAdd -40
// Don't shorten it further if it comes after an "r" sound ("brygget")
// Exit the procedure
// "bygge", "bygget", "byggede" - consonant + [@-] makes the vowel too long
IF NOT thisPh(?V) THEN // NOT "fjollet"
IF prevPhW(isVoiced) AND nextPhW(isVoiced) THEN
IF next2PhW(@-) THEN //AND next3PhW(D) THEN
IF thisPh(isFirstVowel) THEN // NOT "cellof'anet"
length 100
RETURN
ENDIF
ENDIF
ENDIF
ENDIF
// "bygger" - consonant + [V] makes the vowel too long
IF nextPhW(isNotVowel) AND next2PhW(V) THEN
IF NOT thisPh(isWordStart) THEN // NOT "eller"
// LengthAdd -45
// Don't shorten it further if it comes after an "r" sound ("brygger")
// Exit the procedure
RETURN

// "byttet", "lyttet", "flyttet"
IF prevPhW(isVoiced) AND prevPhW(isNotVowel) THEN
IF nextPhW(isNotVowel) AND next2PhW(@-) AND next3PhW(D) THEN
length 100
ENDIF
ENDIF
// "firmaet", "politiet - 140 sounds too short
IF nextPhW(@-) AND next2PhW(D) AND next2PhW(isWordEnd) THEN
length 180
ENDIF
// "forsøgte" stressed second vowel too long TEST
IF thisPh(isMaxStress) AND thisPh(isSecondVowel) THEN
IF nextPhW(isVoiced) AND nextPhW(isNotVowel) THEN // NOT "papirer"
// 2 voiced consonants seem to add further length ([gd] in "forsøgte")
IF next2PhW(isVoiced) AND next2PhW(isNotVowel) THEN // NOT "moral"
length 110
RETURN
ENDIF
ENDIF
ENDIF
// "rigtigt", "fred", "frem", "centralen" - R makes the vowel too long
// "bygge", "forbandelse", "lynlås", "centralen" vowel between 2 voiced consonants - too long
IF prevPhW(isVoiced) AND nextPhW(isVoiced) THEN // voiced
IF prevPhW(isNotVowel) AND nextPhW(isNotVowel) THEN // consonants
IF NOT nextPhW(isWordEnd) THEN // NOT "smil"
IF NOT next2PhW(j) AND NOT prevPhW(R) THEN // NOT "vilje", "krympe"
IF NOT nextPhW(r) AND NOT nextPhW(3-) THEN // NOT "moderne" - vowel + r/3-
IF thisPh(isStressed) THEN // NOT [W] in "f'indelønnen"
IF thisPh(isFirstVowel) THEN
// IF NOT nextPhW(@-) THEN // NOT "væbne"
IF NOT nextPhW(isNotVowel) AND NOT next2PhW(isNotVowel) THEN // NOT "væbne"
length 110
RETURN
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
IF prevPhW(R) THEN // "krympe" R makes the vowel longer than other voiced consonants
// NOT [o] in "rod'eo", NOT [æ] in "trængte"
IF thisPh(isMaxStress) AND NOT nextPhW(N) THEN
length 90
RETURN
ENDIF
// "trængte" - [N] after the vowel makes it even longer
IF thisPh(isMaxStress) AND nextPhW(N) THEN
length 75
RETURN
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF

// "buske" - only sg/sk? TEST
IF prevPhW(isNotVowel) AND nextPhW(s) AND next2PhW(isNotVowel) AND next3PhW(@-) THEN
length 100
ENDIF
// "projektet"
IF prevPhW(S) AND nextPhW(isVoiced) AND nextPhW(isNotVowel) THEN
length 100
ENDIF
// "rigtigt", "fred", "frem", "frikvarter" - R makes the vowel too long
IF prevPhW(R) OR prevPhW(3-) OR prevPhW(r) THEN
// length 100
LengthAdd -40
RETURN
IF nextPhW(isNotVowel) THEN // NOT "krigen"
IF thisPh(isFirstVowel) THEN // NOT the a in "moral"
length 110
RETURN
ENDIF
ENDIF
// R makes the vowel too long
IF thisPh(isWordEnd) THEN // "maleri"
length 120
RETURN
ENDIF
// "forbrydelse" between 2 voiced consonants
IF nextPhW(isVoiced) AND nextPhW(isNotVowel) THEN
length 110
RETURN
ENDIF
ENDIF
// "ring", "ringe", "fængsel", "spinkel", "vindspejl"
IF nextPhW(isNasal) THEN
// length 100
LengthAdd -30
RETURN
// "ring", "ringe", "fængsel", "spinkel", "vindspejl", "enke"
IF nextPhW(N) THEN
length 100
ENDIF
// "sigte", "bælte", "henter" t/d + @-/V makes the vowel too long
// "sigte", "henter" t/d + @-/V makes the vowel too long
// ?? is this just between 2 voiced consonants ??
// ?? does [h] act as a voiced consonant ??
IF nextPhW(isNotVowel) AND next2PhW(t) OR next2PhW(d) THEN
IF next3PhW(@-) OR next3PhW(V) THEN
IF next3PhW(@-) OR next3PhW(V) OR next3PhW(?V) THEN
IF thisPh(isFirstVowel) THEN // NOT [i] in "forsp'ildte"
// length 100
LengthAdd -30
length 110
RETURN
ENDIF
ENDIF
ENDIF
// "forbandelse" [n@-] makes the vowel too long?
// nasal eg: m, n, N
IF nextPhW(isNasal) AND next2PhW(@-) THEN
IF NOT thisPh(isFirstVowel) AND thisPh(isStressed) THEN
// NOT LengthAdd since [R] might have shortend the vowel above
length 100
ENDIF
ENDIF
// "himlen" l/3 makes the vowel too long
// "himlen", "pøblen" l/3 makes the vowel too long
IF nextPhW(isNotVowel) AND next2PhW(l/3) AND next3PhW(@-) OR next3PhW(V) THEN
length 100
length 110
ENDIF
// "lænkerne" l/3 makes the vowel too long
IF prevPh(l/3) AND nextPhW(isNotVowel) AND next3PhW(V) THEN
length 120
// "filmen" vowel + l/3 makes the vowel too long
// Probably due to 2 voiced consonants (lm) - Change the condition?
IF nextPhW(l/3) AND next3PhW(@-) THEN
IF NOT next2PhW(j) THEN // NOT "vilje"
IF next2PhW(isVoiced) THEN // NOT [e] in "folkevogn"
length 100
ENDIF
ENDIF
ENDIF
//"musikken" consonant + [@-n] makes the vowel too long
// Probably wrong. Only k?
IF nextPhW(k) AND next2PhW(@-) AND next3PhW(n) THEN
length 100
//"musikken", "piggen", "trafikken" consonant + [@-] makes the vowel too long
// Probably wrong. Only k and g? Only [i]?
// Could this be due to an English word like "physique" [fIz'i:k]?
IF nextPhW(k) OR nextPhW(g)AND next2PhW(@-) THEN
IF thisPh(?i) THEN
length 100
RETURN
ENDIF
ENDIF
//"svælge" [svElj@-] vowel + 2 consonants but length 100 is too short
IF nextPhW(isNotVowel) AND next2PhW(j) THEN
length 140

// "rodeo", lianen" abnormal stress sounds too short
IF thisPh(isMaxStress) AND NOT thisPh(isFirstVowel) THEN
IF NOT nextPhW(k) AND NOT nextPhW(g) THEN // NOT "ant'ikt" - Like "physique" above?
IF NOT nextPhW(N) AND NOT next2PhW(isNotVowel) THEN // NOT "omkr'ing", "eks'empel"
IF NOT nextPhW(isVoiced) AND NOT next2PhW(isVoiced) THEN // NOT "bestemme" TEST
length 170
ENDIF
ENDIF
ENDIF
ENDIF
endprocedure

//--------------------------------------------------------------------

// Change the length of NORMAL vowels (without ? in front of them)
procedure LongVowelLength
// "guldmine" [ul/3] makes the vowel extremely short
IF prevVowel(u) AND prev2PhW(l/3) THEN
IF prevVowel(l/3) AND prev2PhW(u) THEN
length 350
RETURN
ENDIF
// "guldur" [ul/3] makes the vowel extremely short
IF prevVowel(u) AND prevPhW(l/3) THEN
IF prev2PhW(u) AND prevPhW(l/3) THEN
IF NOT thisPh(isWordEnd) THEN // NOT "umulig"
length 325
IF NOT nextPhW(t) AND NOT nextPhW(d) THEN // NOT "umuligt"
IF NOT nextPhW(s) AND NOT nextPhW(S) THEN // NOT Drakulas, spekulationer ???
length 325
RETURN
ENDIF
ENDIF
ENDIF
ENDIF
// "dage", "dagevis", fødselsdage" STRANGE BEHAVIOUR - too short at 240
IF prevPhW(d) AND nextPhW(@-) THEN
IF NOT next2PhW(D) THEN
length 350
RETURN
ENDIF
ENDIF
// "tjeneste" TEST
IF prevPhW(tS) AND nextPhW(isVoiced) AND nextPhW(isNotVowel) THEN
length 180
RETURN
ENDIF
// "havet", "lavet"
IF nextPhW(isVoiced) AND next2PhW(@-) AND next3PhW(D) THEN
length 180
RETURN
ENDIF

// "videre"
IF prevPhW(isVoiced) AND nextPhW(isVoiced) THEN // voiced
IF prevPhW(isNotVowel) AND nextPhW(isNotVowel) THEN // consonants
IF NOT prevPhW(R) AND NOT prevPhW(r) AND NOT prevPhW(3-) THEN
length 180
RETURN
ELSE // [A] in "begravelse" - "r" adds extra length
length 120
RETURN
ENDIF
ENDIF
ENDIF
// "alene" - Short initial vowel sounds too short at length 140
IF thisPh(isWordStart) THEN
length 160
// "ønske" The vowel should have been made short becauce og 2 x consonant.
// Take care of it here
// "år? [O] - The word is only 1 vowel: make it long
IF thisPh(isWordEnd) THEN
length 180
ENDIF
// "ønske" The vowel should have been made short becauce of 3 x consonant.
// Take care of it here
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) AND next3PhW(isNotVowel) THEN
length 140
ENDIF
// "ære"
// "ære"
IF nextPhW(V) AND nextPhW(isFinalVowel) THEN
length 240
ENDIF
// "øge", "øgede"
IF nextPhW(isNotVowel) AND next2PhW(@-) THEN
length 225
ENDIF
// RETURN
ENDIF
// "døre" vowel + vowel: long
IF nextPhW(@-) OR nextPhW(?V) THEN
length 225
ENDIF

// "pæne" vowel + consonant + [@-]: long
IF nextPhW(isNotVowel) AND next2PhW(@-) THEN
IF thisPh(isFirstVowel) THEN
IF prevPhW(isVoiced) AND nextPhW(isVoiced) THEN // "vide"
length 180
ELSE // "pæne"
length 225
ENDIF
RETURN
ENDIF
// Stressed second syllable in words with initial be- and for-
IF NOT thisPh(isSecondVowel) AND thisPh(isMaxStress) THEN // "beb'ude", "form'ode"
length 140
RETURN
ENDIF
ENDIF
// "vildrede"
IF nextPhW(D) AND next2PhW(@-) THEN
IF NOT thisPh(isMaxStress) THEN
length 225
RETURN
ENDIF
ENDIF

// "guderne", "møde"
IF nextPhW(isNotVowel) AND next2PhW(?V) OR next2PhW(V) OR next2PhW(@-) THEN
length 225
ENDIF
// "mødes", "vred", "møve", "mene", "dele" - vowel too long between 2 voiced consonants
IF prevPhW(isVoiced) AND nextPhW(isVoiced) THEN
IF prevPhW(isNotVowel) AND nextPhW(isNotVowel) THEN
IF NOT prevPhW(R) AND NOT prevPhW(r) AND NOT prevPhW(3-) AND NOT prevPhW(l/3) THEN
IF NOT next2PhW(isVoiced) THEN // NOT "bælte", "bomben"
length 180 // mødes, dele
RETURN
ENDIF
IF next2PhW(isNotVowel) THEN // bælte, svælge
length 120
ENDIF
ELIF NOT prevPhW(l/3) AND thisPh(isMaxStress) THEN
IF NOT prevPhW(R) AND NOT prevPhW(r) AND NOT prevPhW(3-) THEN
length 120 // "vred", "vrede"
RETURN
ENDIF
ENDIF
IF prevPhW(R) AND prevPhW(isWordStart) THEN // "råderet"
length 180
RETURN
ENDIF
ENDIF
ENDIF
// "huske" - hACC@- vowel too long
// 2 consonants - should have been short in da_rules
// 140 too long because of [h]??
IF prevPhW(h) AND nextPhW(isNotVowel) AND next2PhW(isNotVowel) AND next3PhW(@-) THEN
length 110
RETURN
ENDIF
// PB long vowel followed by [@-] or [V](vowel+vowel) - "pigen" [p'i@-n]
IF nextPhW(@-) OR nextPhW(V) THEN
length 225
IF thisPh(isFirstVowel) THEN // NOT "best'yrelse", "geb'yrer"
length 225
ENDIF
ENDIF

// "lydig"
IF prevPhW(l/3) AND nextPhW(isVoiced) AND nextPhW(isNotVowel) THEN
length 180
RETURN
ENDIF
// PB "enig", "enige", "evig", "stædig" - vowel+consolant+[i]
IF nextPhW(isNotVowel) AND next2PhW(i) THEN
length 225
RETURN
ENDIF
// "dele", "mene", "møve"
IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(3) OR next3PhW(@-) THEN
length 225
ENDIF
// "sveder", "deler"
IF nextPhW(isNotVowel) AND next2PhW(V) THEN
length 225
ENDIF
// "maskinen" consonant + [@-n]: vowel too long
IF nextPhW(isNotVowel) AND next2PhW(@-) AND next3PhW(n) THEN
length 160
ENDIF
// "vilje", "nedladende" [n'eDl&D@-n@-], "delte" - short followed by 2 consonants
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN
// Don't make "møve" [m'Ww_!@-_!] short
IF NOT next2PhW(_!) THEN
length 140
ENDIF
ENDIF
// "bryde", "bryder", "strålen", "henrivende" R makes the vowel too long
IF prevPhW(R) OR prevPhW(3-) OR prevPhW(r) THEN
IF NOT thisPh(V) AND next2PhW(@-) OR next2PhW(V) THEN
length 140
ENDIF
ENDIF
// "føden"
IF nextPhW(D) AND next2PhW(@-) AND next3PhW(n) THEN
length 180
ENDIF
// "glimrende", "glemte" [l/3] makes the following vowel too long
// LengthAdd doesn't work here. The length could be 225 or 140 - 30
IF prev2PhW(g) AND prevPhW(l/3) AND nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN
length 110
RETURN
IF thisPh(isFirstVowel) THEN
length 180
ENDIF
ENDIF
// l/3 makes the vowel too long (+ voiced?)
// isVoiced = b, d, g, v, z
IF prevPhW(l/3) AND nextPhW(isVoiced) THEN
// "klub", "klud"

// l/3 + vowel makes the vowel too long
IF prevPhW(l/3) AND nextPhW(isNotVowel) THEN
// "klub", "klud", "slut"
// The vowel should have been short but we fix it here
IF NOT next2PhW(@-) AND NOT next2PhW(V) THEN
IF NOT next2PhW(@-) AND NOT next2PhW(V) AND NOT next2PhW(?V) THEN // NOT "slæde"
length 100
ELSE
// "slæde", "lader"
// "slæde", "lader", "forlader"
length 160
ENDIF
ENDIF
// l/3 + vowel + voiced consonant makes the vowel too long
IF prevPhW(l/3) AND nextPhW(isVoiced) AND nextPhW(isNotVowel) THEN
length 130
ENDIF

// "fryser", "rige"
IF prevPhW(r) OR prevPhW(R) OR prevPhW(3-) THEN
length 130
IF nextPhW(@-) THEN // "rige" [@-] seems to cancel the "r" effect
length 240
ENDIF
ENDIF
// "længe" - short - 2 consonants => 1 consonant (ng => [N])
IF nextPhW(isNasal) THEN
// Don't use isNasal here!
IF nextPhW(N) THEN
IF NOT prevPhW(R) AND NOT prevPhW(r) AND NOT prevPhW(3-) THEN
length 140
// "omkring", "ring" - both prev. N and next R
ELIF prevPhW(R) OR prevPhW(r) OR prevPhW(3-) THEN
length 110
ENDIF
ENDIF
// "buskene", "krøbling" The vowel should have been made short becauce og 2 x consonant.
// Take care of it here
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN
@@ -204,24 +416,17 @@ procedure LongVowelLength
ENDIF
ENDIF
ENDIF
// "barnet" - consonant + [@-D]: too long vowel
IF nextPhW(isNotVowel) AND next2PhW(@-) AND next3PhW(D) THEN
length 160
ENDIF
// "trin", "trit", "ring" - vowel too long
// IF prevPhW(isRhotic) THEN
IF prevPhW(R) OR prevPhW(r) OR prevPhW(3-) THEN
IF nextPhW(isNotVowel) AND nextPhW(isWordEnd) THEN
length 110
ENDIF
ENDIF
endprocedure
//----------------------------------------------------------------------

// PHONEMES

// A bit longer than [@-]
phoneme @
vowel starttype #@ endtype #@
unstressed
length 60
IfNextVowelAppend(_!)
FMT(vowel/@_3)
endphoneme

@@ -244,6 +449,9 @@ ENDIF
IF prevPhW(i) AND thisPh(isWordEnd) THEN
length 15
ENDIF
IF nextPhW(isVowel) THEN
ChangePhoneme(@)
ENDIF
FMT(vowel/@-)
endphoneme

@@ -277,7 +485,8 @@ phoneme ?i
vowel starttype #i endtype #i
length 140
CALL ShortVowelLength
IfNextVowelAppend(;)
// Don't link with the next vowel with [;] - vowel too short
// IfNextVowelAppend(;)
FMT(vowel/i_4)
endphoneme

@@ -293,7 +502,6 @@ phoneme e
vowel starttype #e endtype #e
length 140
CALL LongVowelLength
// CALL ShortVowelLength
FMT(vowel/e)
endphoneme

@@ -347,7 +555,7 @@ phoneme &
// but NOT "hinanden"
IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(@) THEN
IF NOT next3PhW(n) THEN
length 225
length 225
ENDIF
ENDIF
// ThisPh + V or @-
@@ -376,7 +584,6 @@ phoneme &#
length 140
ipa a
CALL LongVowelLength
// CALL ShortVowelLength
FMT(vowel/&)
endphoneme

@@ -385,13 +592,14 @@ endphoneme
phoneme ?&#
vowel starttype #e endtype #e
ipa ?a
length 140
CALL ShortVowelLength
FMT(vowel/&)
length 140
CALL ShortVowelLength
FMT(vowel/&)
endphoneme

phoneme A // PB changed to a_8
vowel starttype #a endtype #a
ipa ɑ
length 140
CALL LongVowelLength
// "fare" [f'A:A]
@@ -401,10 +609,11 @@ ENDIF
FMT(vowel/a_8)
endphoneme

// PB short A
// Short A
// "krabbe" vs. "drabelig"
phoneme ?A
vowel starttype #a endtype #a
ipa ?ɑ
length 140
CALL ShortVowelLength
FMT(vowel/a_8)
@@ -417,7 +626,9 @@ phoneme u
IF nextPhW(@-) OR nextPhW(V) OR next2PhW(@-) OR next2PhW(V)THEN
length 225
ENDIF
CALL LongVowelLength
IF NOT thisPh(isWordStart) THEN // NOT "undøvendig"
CALL LongVowelLength
ENDIF
FMT(vowel/u_bck)
endphoneme

@@ -433,10 +644,6 @@ endphoneme
phoneme o
vowel starttype #o endtype #o
length 140
// "bore", "borer" [boV] o + V
IF nextPhW(V) OR nextPhW(@-) THEN
length 225
ENDIF
// "kone", "koner" o + consonant + V or @-
IF next2PhW(V) OR next2PhW(@-) THEN
length 225
@@ -450,6 +657,7 @@ endphoneme
phoneme ?o
vowel starttype #o endtype #o
length 140
CALL ShortVowelLength
FMT(vowel/o_2)
endphoneme

@@ -457,14 +665,6 @@ phoneme O
vowel starttype #o endtype #o
length 140
ipa ɒ // changed from ɔ - Den Danske Ordbog: ɒ
// "sove", "sover" - consonant + @ or V: long
IF next2PhW(@-) OR next2PhW(V) THEN
// length 225
ENDIF
// PB "gået" - ThisPh + V or @-
IF nextPhW(V) OR nextPhW(@-) THEN
// length 225
ENDIF
// "såre", "sårede" [s'O:?OD@-]
IF nextPhW(O) OR nextPhW(?O) THEN
length 225
@@ -477,6 +677,7 @@ endphoneme
// "toget" vs. "tåget"
phoneme ?O
vowel starttype #o endtype #o
ipa ɒ // changed from ɔ - Den Danske Ordbog: ɒ
length 140
CALL ShortVowelLength
FMT(vowel/o_5)
@@ -502,6 +703,7 @@ phoneme 0
vowel starttype #o endtype #o
length 140
ipa ɔ
CALL LongVowelLength
FMT(vowel/oo_2)
endphoneme

@@ -533,9 +735,10 @@ endphoneme
phoneme Y
vowel starttype #i endtype #i
length 140
IF nextPhW(V) OR nextPhW(@-) THEN
length 225
ENDIF
IF nextPhW(V) OR nextPhW(@-) THEN
length 225
ENDIF
CALL LongVowelLength
FMT(vowel/yy)
endphoneme

@@ -612,6 +815,7 @@ endphoneme
phoneme l/3 // Replacement for [l/]
liquid
lengthmod 7
length 80
FMT(l/l_)
endphoneme

@@ -628,9 +832,24 @@ phoneme r // used for 'r' after a vowel (to create a diphthong)
IF nextPhW(isVowel) AND NOT nextPhW(?V) AND NOT nextPhW(V) AND NOT nextPhW(@-) THEN
ChangePhoneme(R)
ENDIF
// "generer" [Sen'e:Vr], "mysterier" - delete the r
IF prevPhW(V) AND thisPh(isWordEnd) THEN
ChangePhoneme(NULL)
// "generer" [Sen'e:Vr], "mysterier" - delete the r
IF prevPhW(V) OR prevPhW(?V) AND thisPh(isWordEnd) THEN
ChangePhoneme(_!)
ENDIF
// "plamagers" [pl&m'&SVrs] - delete the r
IF prevPhW(V) OR prevPhW(?V) AND nextPhW(s) AND nextPhW(isWordEnd) THEN
ChangePhoneme(NULL)
ENDIF
// "plamagerne" [pl&m'&SVrn@-] - delete the r
IF prevPhW(V) OR prevPhW(?V) AND nextPhW(n) AND next2PhW(@-) THEN
ChangePhoneme(NULL)
ENDIF
// "kreaturer" [kR,?E?&t'ur?V] - delete the r
// Previous vowel stressed by $alt rule
IF nextPhW(V) OR nextPhW(?V) AND nextPh(isWordEnd) THEN
IF prevPhW(isMaxStress) THEN
ChangePhoneme(NULL)
ENDIF
ENDIF
FMT(r/a_)
endphoneme
@@ -704,11 +923,11 @@ IF thisPh(isWordEnd) THEN
ENDIF
IF nextPhW(isVowel) THEN
NextVowelStarts
VowelStart(j/j@,-45) // jøderne
VowelStart(j/j@) // jøderne
VowelStart(j/ja)
VowelStart(j/je,-35)
VowelStart(j/je)
VowelStart(j/ji)
VowelStart(j/jo,-65) // "kjole"
VowelStart(j/jo) // "kjole"
VowelStart(j/ju)
EndSwitch
Vowelout len=70
@@ -723,4 +942,3 @@ Vowelout len=70
FMT(j/j_)
ENDIF
endphoneme


+ 2
- 2
phsource/ph_english_us View File

@@ -143,7 +143,7 @@ endphoneme
phoneme A:
vowel starttype #a endtype #a
length 200
IF nextPh(r) THEN
IF nextPhW(r) THEN
FMT(vwl_en_us/ar)
ENDIF
FMT(vowel/aa_8)
@@ -183,7 +183,7 @@ phoneme O:
vowel starttype #o endtype #o
length 200
ChangeIfDiminished(@)
IF nextPh(r) THEN
IF nextPhW(r) THEN
FMT(vwl_en_us/oor)
ENDIF
FMT(vowel/0_3)

+ 10
- 1
phsource/ph_irish View File

@@ -1,4 +1,6 @@
// Version 2.4 January 2013
// Irish Phonemes
//Please contact [email protected]
// Version 2.7 2013

// short vowels

@@ -19,6 +21,11 @@ phoneme @ // Schwa, but always unstressed
Length 80
FMT(vwl_af/r@)
ENDIF
IF prevPh(i:) THEN
Length 60
FMT(vwl_af/r@)
ENDIF
FMT(vwl_af/@)
endphoneme

@@ -66,8 +73,10 @@ phoneme I
FMT(vowel/ii_2)
endphoneme


phoneme i // non syllabic i for end of words
vowel starttype #i endtype #i
unstressed
ipa iU+032F
length 45
FMT(vowel/ii_7)

+ 1
- 1
phsource/ph_malayalam View File

@@ -15,7 +15,7 @@ phoneme y // epenthetic vowel
unstressed
ipa ɨ
length 80
FMT(vowel/u#_4, 80)
FMT(vowel/u#_4, 120)
endphoneme



+ 137
- 0
phsource/ph_oromiffa View File

@@ -0,0 +1,137 @@

//====================================================
// Oromiffa
//====================================================


phoneme i
vowel starttype #i endtype #i
length 200
IfNextVowelAppend(;)
FMT(vowel/ii_5)
endphoneme

phoneme e
vowel starttype #e endtype #e
length 220
FMT(vowel/e_mid2)
endphoneme

phoneme y
vowel starttype #@ endtype #@
ipa ?
length 180

// assume that word-final [y] are not added by am_rules
// Only allow [y] in first or last syllables
// IF thisPh(isFinalVowel) THEN
// ELIF thisPh(isFirstVowel) THEN
// ELSE
// ChangePhoneme(NULL)
// ENDIF
FMT(vowel/ii#_2)
endphoneme


phoneme a
vowel starttype #a endtype #a
length 220
IF nextPhW(isPalatal) THEN
FMT(vdiph/ai_5)
ENDIF
FMT(vowel/a_6)
endphoneme


phoneme @
vowel starttype #@ endtype #@
length 220
IF nextPhW(isPalatal) THEN
FMT(vdiph/@i_2)
ENDIF
FMT(vowel/@_3)
endphoneme


phoneme o
vowel starttype #o endtype #o
length 220
FMT(vowel/o-_4)
endphoneme


phoneme u
vowel starttype #u endtype #u
length 220
FMT(vowel/u_2)
endphoneme


phoneme r
import_phoneme base/R2
endphoneme


phoneme p'
vls blb stop
lengthmod 2
voicingswitch b
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 gpaus
Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30
WAV(ustop/p_unasp)
endphoneme


phoneme b
vcd blb stop
IF prevPhW(isVowel) AND nextPhW(isVowel) THEN
ChangePhoneme(B)
ENDIF
CALL base/b
endphoneme


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


phoneme tS`
vls pla afr sibilant
voicingswitch dZ
lengthmod 2
Vowelin f1=0 f2=1800 -200 200 f3=-100 80 gpaus

IF nextPh(isPause2) THEN
WAV(ustop/tsh_unasp, 80)
ENDIF
WAV(ustop/tsh_unasp, 80)
endphoneme


phoneme k`
vls vel stop
lengthmod 2
Vowelin f1=0 f2=1700 -250 250 f3= -200 80 gpaus f4
Vowelout f1=0 f2=2300 300 400 f3=-200 80 rms=20
WAV(ustop/k_ejc, 60)
endphoneme


phoneme x
vls vel frc
lengthmod 3
IF prevPhW(#i) THEN
ChangePhoneme(C)
ELSE
CALL base/x
ENDIF
endphoneme

+ 45
- 1
phsource/ph_slovenian View File

@@ -82,7 +82,10 @@ phoneme o+ // doesn't reduce to [O]
phoneme O
vowel starttype #o endtype #o
length 170
FMT(vowel/0_2)
IF thisPh(isStressed) THEN
FMT(vowel/0_2)
ENDIF
FMT(vowel/oo_4)
endphoneme


@@ -92,6 +95,47 @@ phoneme v
endphoneme


phoneme t
vls dnt stop
lengthmod 2
voicingswitch d
Vowelin f1=0 f2=1600 -300 300 f3=-100 80
Vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
IF nextPh(isPause2) AND prevPhW(isVowel) THEN
WAV(ustop/t_dnt, 40)
ENDIF
WAV(ustop/t_dnt, 60)
endphoneme


phoneme k
vls vel stop
voicingswitch g
lengthmod 2
Vowelin f1=0 f2=2300 200 300 f3=-200 80
Vowelout f1=0 f2=2300 300 400 f3=-200 80 rms=20

IF KlattSynth THEN
Vowelout f1=0 f2=2300 200 300 f3=-200 80 rms=20
ENDIF

IF thisPh(isWordEnd) THEN
WAV(ustop/k)
ELIF nextPh(isPause2) THEN
WAV(ustop/k_)
ELIF nextPh(r) OR nextPh(R) OR nextPh(R2) THEN
WAV(ustop/kr)
ELIF nextPh(#i) OR nextPh(;) THEN
WAV(ustop/ki)
ELIF nextPh(l) THEN
WAV(ustop/kl)
ELIF nextPh(@-) THEN
WAV(ustop/k_unasp, 70)
ENDIF
WAV(ustop/k)
endphoneme


// for foreign letters
phoneme y
vowel starttype #i endtype #i

+ 47
- 41
phsource/ph_vietnam View File

@@ -6,44 +6,44 @@

phoneme 1 // ngang tone: level
stress
Tone(28, 32, envelope/p_level, NULL)
Tone(34,36, envelope/p_level, NULL) // 28 29
endphoneme


phoneme 2 // huyền tone: low falling
stress
Tone(20, 8, envelope/p_fall, NULL) //20
Tone(30, 8, envelope/p_fall, NULL) //20 8
endphoneme


phoneme 3 // sắc Tone(rising
stress
Tone(30, 60, envelope/p_rise, NULL) // 25 50
Tone(30, 60, envelope/p_rise, NULL) // 30 60
endphoneme


phoneme 4 // hỏi Tone(curve (dipping rising)
stress
Tone(40, 5, envelope/p_fallrise, NULL) //30
Tone(10, 55, envelope/p_fallrise, NULL) //33 31
endphoneme


phoneme 5 // ngã tone: broken (creaking rising)
stress
Tone(28,58, envelope/p_214, envelope/vi_5amp) // 28,58
Tone(28,58,envelope/p_214, envelope/vi_5amp) // 28,58 20 80
endphoneme


phoneme 6 // nặng Tone(drop (constricted)
stress
//length 150 // ignore because it make too short sound 75 // reduce the length of the vowel
Tone(40, 20, envelope/p_512, envelope/vi_6amp)
Tone(25, 60, envelope/p_512, envelope/vi_6amp) //40 20
endphoneme


phoneme 7 // Tone(1 (ngang) at end of clause
stress
Tone(40, 20, envelope/p_fall, NULL)
Tone(40, 35, envelope/p_fall, NULL) //40 20
endphoneme


@@ -55,20 +55,24 @@ endphoneme
phoneme a
vowel starttype #@ endtype #@
length 140
FMT(vowel/a_6) //a_4)
FMT(vowel/a_4) //a_4)
endphoneme

phoneme a:
vowel starttype #a endtype #a
length 240 //280
IF nextPh(n^) OR nextPh(c) THEN
length 100
ELSE
length 140 //280
ENDIF
FMT(vowel/a_8)
endphoneme


phoneme E
vowel starttype #e endtype #e
length 240
FMT(vowel/ee_3)
length 140
FMT(vowel/e_e) //ee_3)
endphoneme

phoneme e
@@ -80,14 +84,15 @@ endphoneme

phoneme i
vowel starttype #i endtype #i
length 240
IfNextVowelAppend(;)
IfNextVowelAppend(;)
IF prevPhW(w) THEN
VowelStart(w/wi)
ENDIF
IF nextPh(n^) OR nextPh(c) THEN
length 100
FMT(vnasal/ii_n)
ELSE
ELSE
length 140
FMT(vowel/i_4)
ENDIF
endphoneme
@@ -96,11 +101,11 @@ endphoneme
phoneme O
vowel starttype #o endtype #o
IF nextPh(kh) OR nextPh(N) THEN
length 110
length 80
ELSE
length 200
length 140
ENDIF
FMT(vowel/0_2) //aa_4)
FMT(vdiph2/o_oo) //vowel/oo)
endphoneme

phoneme o
@@ -108,7 +113,7 @@ phoneme o
IF nextPh(kh) OR nextPh(N) THEN
length 110
ELSE
length 200
length 140
ENDIF
FMT(vowel/o) // o_2)
endphoneme
@@ -119,9 +124,9 @@ phoneme u
IF nextPh(kh) OR nextPh(N) THEN // hear as ung sound
length 120
ELSE
length 240
length 140
ENDIF
FMT(vowel/u_5)
FMT(vnasal/u_n,60) //vowel/u_5)
endphoneme

phoneme y
@@ -141,7 +146,7 @@ phoneme @
IF nextPh(kh) OR nextPh(N) OR nextPh(n^) OR nextPh(c) THEN
length 120
ELSE
length 200
length 140
ENDIF
FMT(vowel/V) //vowel/@_2)
endphoneme
@@ -149,7 +154,7 @@ endphoneme

phoneme @:
vowel starttype #@ endtype #@
length 200
length 140
FMT(vowel/@_2)
endphoneme

@@ -182,7 +187,7 @@ endphoneme
phoneme @:I
vowel starttype #@ endtype #i
length 200 //250
FMT(vdiph/@i)
FMT(vdiph/y#i)
endphoneme


@@ -203,7 +208,7 @@ endphoneme
phoneme OI
vowel starttype #o endtype #i
length 200
FMT(vdiph/ooi_3)
FMT(vdiph/ooi_4)
endphoneme


@@ -231,28 +236,28 @@ endphoneme

phoneme aU
vowel starttype #a endtype #u
length 200
length 150
FMT(vdiph/aau_4)
endphoneme


phoneme a:U
vowel starttype #a endtype #u
length 200 //270
length 150 //270
FMT(vdiph/au)
endphoneme


phoneme eU
vowel starttype #e endtype #u
length 200
length 150
FMT(vdiph/eu)
endphoneme


phoneme EU
vowel starttype #e endtype #u
length 200
length 150
FMT(vdiph/eeu)
endphoneme

@@ -310,7 +315,7 @@ endphoneme


phoneme o@
vowel starttype #o endtype #o
vowel starttype #o endtype #a
length 140
FMT(vdiph2/oa)
endphoneme
@@ -366,7 +371,7 @@ endphoneme

phoneme l
liquid
Vowelin f1=0 f2=1700 -300 300 f3=-100 80 len=30
Vowelin f1=0 f2=1700 -300 300 f3=-100 80 len=15
//lengthmod 7
//IF nextPh(isNotVowel) THEN
// ChangePhoneme(l/2)
@@ -380,7 +385,7 @@ phoneme t
vls alv stop
//voicingswitch d
lengthmod 2
Vowelin f1=0 f2=1700 -300 300 f3=-100 80 len=30
Vowelin f1=0 f2=1700 -300 300 f3=-100 80 len=15
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20

WAV(vietnam/th, 50)
@@ -390,17 +395,17 @@ phoneme cr
vls pla afr sibilant
//voicingswitch dZ
lengthmod 2
Vowelin f1=0 f2=2300 200 400 f3=-100 80 len=30
Vowelin f1=0 f2=2300 200 400 f3=-100 80 len=15

WAV(vietnam/tr,10)
endphoneme

phoneme d
phoneme d_
vcd alv stop
// lengthmod 5
Vowelin f1=1 f2=1700 -300 300 f3=-100 80 len=30
ipa ɗ
Vowelin f1=1 f2=1700 -300 300 f3=-100 80 len=15
Vowelout f1=2 f2=1700 -300 300 f3=-100 80 brk len=30
WAV(vietnam/dd)
endphoneme
@@ -410,8 +415,8 @@ WAV(vietnam/dd)
//voicingswitch J
lengthmod 2
length 2
Vowelin f1=0 f2=2700 400 600 f3=300 80 len=30 brk
Vowelout f1=1 f2=2700 400 600 f3=200 70 len=30 colr=1
Vowelin f1=0 f2=2700 400 600 f3=300 80 len=15 brk
Vowelout f1=1 f2=2700 400 600 f3=200 70 len=15 colr=1

WAV(vietnam/ch,5)
@@ -430,8 +435,8 @@ endphoneme

phoneme n
vcd alv nasal
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11 brk len=30
Vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk len=30
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11 brk len=15
Vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk len=15
lengthmod 4
length 75
FMT(n/nr_)
@@ -442,11 +447,12 @@ phoneme t[ // dental variant of /t/
voicingswitch d[
lengthmod 2
length 5
Vowelin f1=1 f2=1500 -250 250 f3=-100 80 amp=16 len=30
Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20 len=30
Vowelin f1=1 f2=1500 -250 250 f3=-100 80 amp=16 len=15
Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20 len=15

IF nextPh(isPause2) THEN
WAV(ustop/t_unasp2, 5)
ENDIF
WAV(ustop/t_hi, 70)
endphoneme


+ 14
- 2
phsource/ph_vietnam_hue View File

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

phoneme 1 // ngang tone: level
stress
Tone(40, 5, envelope/p_level, NULL) // similar Hue dialect tone
Tone(10 ,60, envelope/p_level, NULL) // 40 5 similar Hue dialect tone
endphoneme


@@ -76,7 +76,7 @@ endphoneme
phoneme O
CALL vi/O
length 150
FMT(vowel/0)
FMT(vowel/oo_3)
endphoneme

phoneme Oi
@@ -84,3 +84,15 @@ phoneme Oi
length 100
FMT(vdiph/ooi_2)
endphoneme

// Redefine consonants

phoneme n
import_phoneme vi/n
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 rms=5 brk len=15
endphoneme

phoneme @:I
CALL vi/@:I
FMT(vdiph/y#y)
endphoneme

+ 5
- 0
phsource/phonemes View File

@@ -1950,3 +1950,8 @@ include ph_korean
phonemetable kl base
include ph_greenlandic

phonemetable om base
include ph_oromiffa

//phonemetable en2 en
//include ph_english_test

BIN
phsource/ustop/tsh_unasp2.wav View File


BIN
phsource/vdiph/ooi_3 View File


+ 5
- 5
src/Makefile.am View File

@@ -64,17 +64,17 @@ endif
endif
endif

CXXFLAGS = -O2 -Wall -c
CPPFLAGS = -pedantic -fno-exceptions -D PATH_ESPEAK_DATA=\"$(DATADIR)\"
CXXFLAGS ?= -O2 -Wall
CPPFLAGS = -pedantic -fno-exceptions -D PATH_ESPEAK_DATA=\"$(DATADIR)\"

.cpp.o:
$(CXX) $(CXXFLAGS) $(USE_AUDIO) -I. $(CPPFLAGS) $<
$(CXX) -c $(CXXFLAGS) $(USE_AUDIO) -I. $(CPPFLAGS) $<

e_%.o: %.cpp
$(CXX) $(CXXFLAGS) $(espeakedit_CXXFLAGS) $(USE_AUDIO) $(CPPFLAGS) -I. $< -o e_$*.o
$(CXX) -c $(CXXFLAGS) $(espeakedit_CXXFLAGS) $(USE_AUDIO) $(CPPFLAGS) -I. $< -o e_$*.o

x_%.o: %.cpp
$(CXX) $(CXXFLAGS) $(USE_AUDIO) -fpic -fvisibility=hidden \
$(CXX) -c $(CXXFLAGS) $(USE_AUDIO) -fpic -fvisibility=hidden \
-I. -D LIBRARY $(CPPFLAGS) $< -o x_$*.o

all: $(SPEAK) $(LIBESPEAK) $(STATIC_LIBESPEAK) $(ESPEAK) $(ESPEAKEDIT)

+ 1
- 0
src/compiledata.cpp View File

@@ -3672,6 +3672,7 @@ fprintf(f_errors,"\nRefs %d, Reused %d\n",count_references,duplicate_references
LoadVoice(voice_name2,0);

CompileReport();
if(gui_flag != 0)
report_dict = CompileAllDictionaries();
#ifdef MAKE_ENVELOPES
DrawEnvelopes();

+ 1
- 0
src/compiledict.cpp View File

@@ -1958,6 +1958,7 @@ int CompileDictionary(const char *dsource, const char *dict_name, FILE *log, cha
fseek(f_out,4,SEEK_SET);
Write4Bytes(f_out,offset_rules);
fclose(f_out);
fflush(f_log);

LoadDictionary(translator, dict_name, 0);


+ 77
- 75
src/dictionary.cpp View File

@@ -530,6 +530,10 @@ unsigned short ipa1[96] = {
0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x303,0x7f
};

#define N_PHON_OUT 500
static char *phon_out_buf = NULL;
static int phon_out_size = 0;


char *WritePhMnemonic(char *phon_out, PHONEME_TAB *ph, PHONEME_LIST *plist, int use_ipa, int *flags)
{//===================================================================================================
@@ -633,8 +637,8 @@ char *WritePhMnemonic(char *phon_out, PHONEME_TAB *ph, PHONEME_LIST *plist, int



void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int phoneme_mode)
{//===============================================================================
const char *GetTranslatedPhonemeString(int phoneme_mode)
{//=======================================================
/* Called after a clause has been translated into phonemes, in order
to display the clause in phoneme mnemonic form.

@@ -644,7 +648,6 @@ void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int phoneme_mode

int ix;
unsigned int len;
unsigned int max_len;
int phon_out_ix=0;
int stress;
int c;
@@ -672,108 +675,107 @@ void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int phoneme_mode
use_tie = 0;
}

if(phon_out != NULL)
for(ix=1; ix<(n_phoneme_list-2); ix++)
{
for(ix=1; ix<(n_phoneme_list-2); ix++)
{
buf = phon_buf;
buf = phon_buf;

plist = &phoneme_list[ix];
plist = &phoneme_list[ix];

WritePhMnemonic(phon_buf2, plist->ph, plist, use_ipa, &flags);
if(plist->newword)
*buf++ = ' ';
else
WritePhMnemonic(phon_buf2, plist->ph, plist, use_ipa, &flags);
if(plist->newword)
*buf++ = ' ';
else
{
if((separate_phonemes != 0) && (ix > 1))
{
if((separate_phonemes != 0) && (ix > 1))
utf8_in(&c, phon_buf2);
if((c < 0x2b0) || (c > 0x36f)) // not if the phoneme starts with a superscript letter
{
utf8_in(&c, phon_buf2);
if((c < 0x2b0) || (c > 0x36f)) // not if the phoneme starts with a superscript letter
{
*buf++ = separate_phonemes;
}
*buf++ = separate_phonemes;
}
}
}

if(plist->synthflags & SFLAG_SYLLABLE)
if(plist->synthflags & SFLAG_SYLLABLE)
{
if((stress = plist->stresslevel) > 1)
{
if((stress = plist->stresslevel) > 1)
{
c = 0;
if(stress > 5) stress = 5;
c = 0;
if(stress > 5) stress = 5;

if(use_ipa)
{
c = 0x2cc; // ipa, secondary stress
if(stress > 3)
c = 0x02c8; // ipa, primary stress
}
else
{
c = stress_chars[stress];
}
if(use_ipa)
{
c = 0x2cc; // ipa, secondary stress
if(stress > 3)
c = 0x02c8; // ipa, primary stress
}
else
{
c = stress_chars[stress];
}

if(c != 0)
{
buf += utf8_out(c, buf);
if(c != 0)
{
buf += utf8_out(c, buf);
// if(separate_phonemes)
// *buf++ = separate_phonemes;
}
}
}
}

flags = 0;
count = 0;
for(p=phon_buf2; *p != 0;)
flags = 0;
count = 0;
for(p=phon_buf2; *p != 0;)
{
p += utf8_in(&c, p);
if(use_tie > 0)
{
p += utf8_in(&c, p);
if(use_tie > 0)
// look for non-inital alphabetic character, but not diacritic, superscript etc.
if((count>0) && !(flags & (1 << (count-1))) && ((c < 0x2b0) || (c > 0x36f)) && iswalpha2(c))
{
// look for non-inital alphabetic character, but not diacritic, superscript etc.
if((count>0) && !(flags & (1 << (count-1))) && ((c < 0x2b0) || (c > 0x36f)) && iswalpha2(c))
{
buf += utf8_out(char_tie[use_tie-1], buf);
}
buf += utf8_out(char_tie[use_tie-1], buf);
}
buf += utf8_out(c, buf);
count++;
}
buf += utf8_out(c, buf);
count++;
}

if(plist->ph->code != phonSWITCH)
if(plist->ph->code != phonSWITCH)
{
if(plist->synthflags & SFLAG_LENGTHEN)
{
if(plist->synthflags & SFLAG_LENGTHEN)
{
buf = WritePhMnemonic(buf, phoneme_tab[phonLENGTHEN], NULL, use_ipa, NULL);
}
if((plist->synthflags & SFLAG_SYLLABLE) && (plist->type != phVOWEL))
{
// syllablic consonant
buf = WritePhMnemonic(buf, phoneme_tab[phonSYLLABIC], NULL, use_ipa, NULL);
}
if(plist->tone_ph > 0)
{
buf = WritePhMnemonic(buf, phoneme_tab[plist->tone_ph], NULL, use_ipa, NULL);
}
buf = WritePhMnemonic(buf, phoneme_tab[phonLENGTHEN], NULL, use_ipa, NULL);
}

len = buf - phon_buf;
max_len = (n_phon_out - phon_out_ix - 5); // allow for " ..." and zero byte terminator
if(len > max_len)
if((plist->synthflags & SFLAG_SYLLABLE) && (plist->type != phVOWEL))
{
// syllablic consonant
buf = WritePhMnemonic(buf, phoneme_tab[phonSYLLABIC], NULL, use_ipa, NULL);
}
if(plist->tone_ph > 0)
{
strcpy(&phon_buf[max_len], " ...");
len = max_len + 4;
buf = WritePhMnemonic(buf, phoneme_tab[plist->tone_ph], NULL, use_ipa, NULL);
}
phon_buf[len] = 0;
strcpy(&phon_out[phon_out_ix], phon_buf);
phon_out_ix += len;
}

if(len > max_len)
len = buf - phon_buf;
if((phon_out_ix + len) >= phon_out_size)
{
// enlarge the phoneme buffer
phon_out_size = phon_out_ix + len + N_PHON_OUT;
if((phon_out_buf = (char *)realloc(phon_out_buf, phon_out_size)) == NULL)
{
break;
phon_out_size = 0;
return("");
}
}
phon_out[phon_out_ix] = 0;

phon_buf[len] = 0;
strcpy(&phon_out_buf[phon_out_ix], phon_buf);
phon_out_ix += len;
}
phon_out_buf[phon_out_ix] = 0;

return(phon_out_buf);
} // end of GetTranslatedPhonemeString



+ 0
- 1
src/espeakedit.cpp View File

@@ -144,7 +144,6 @@ if(argc > 1)

if(strcmp(param,"--compile")==0)
{
LoadPhData(NULL);
samplerate_native = samplerate = 22050;
CompilePhonemeData();
CompileIntonation();

+ 14
- 0
src/intonation.cpp View File

@@ -1246,10 +1246,24 @@ void CalcPitches(Translator *tr, int clause_type)
}

count_pitch_vowels(st_start, ix, n_st);
if((ix < n_st) || (clause_type == 0))
{
calc_pitches(option, st_start, ix, group_tone); // split into > 1 tone groups

if((clause_type==1) || (clause_type==2))
group_tone = tr->langopts.tunes[1]; // , or ? remainder has comma-tone
else
group_tone = tr->langopts.tunes[0]; // . or ! remainder has statement tone
}
else
calc_pitches(option, st_start, ix, group_tone);

#ifdef deleted
if((ix < n_st) || (clause_type == 0))
calc_pitches(option, st_start, ix, group_tone_emph); // split into > 1 tone groups, use emphatic tone
else
calc_pitches(option, st_start, ix, group_tone);
#endif

st_start = ix;
}

+ 3
- 3
src/klatt.cpp View File

@@ -1090,7 +1090,7 @@ int Wavegen_Klatt(int resume)
}
for(ix=1; ix < 7; ix++)
{
kt_frame.Ap[ix] = 0;
kt_frame.Ap[ix] = peaks[ix].ap;
}

kt_frame.AVdb = klattp[KLATT_AV];
@@ -1333,12 +1333,12 @@ if(option_log_frames)
{
peaks[ix].bp1 = fr1->klatt_bp[ix] * 4; // parallel bandwidth
peaks[ix].bp = (int)peaks[ix].bp1;
next = fr2->klatt_bp[ix] * 2;
next = fr2->klatt_bp[ix] * 4;
peaks[ix].bp_inc = ((next - peaks[ix].bp1) * STEPSIZE) / length;

peaks[ix].ap1 = fr1->klatt_ap[ix]; // parallal amplitude
peaks[ix].ap = (int)peaks[ix].ap1;
next = fr2->klatt_ap[ix] * 2;
next = fr2->klatt_ap[ix];
peaks[ix].ap_inc = ((next - peaks[ix].ap1) * STEPSIZE) / length;
}
}

+ 44
- 13
src/numbers.cpp View File

@@ -1418,6 +1418,7 @@ static int LookupNum2(Translator *tr, int value, const int control, char *ph_out
// control bit 4: speak zero tens
// control bit 5: variant of ordinal number (lang=hu)
// bit 8 followed by decimal fraction
// bit 9: use #f form for both tens and units (lang=ml)

int found;
int ix;
@@ -1462,9 +1463,13 @@ static int LookupNum2(Translator *tr, int value, const int control, char *ph_out
// is there a special pronunciation for this 2-digit number
if(control & 8)
{
// is there a feminine form?
sprintf(string,"_%df",value);
found = Lookup(tr, string, ph_digits);
// is there a feminine or thousands-variant form?
sprintf(string,"_%dfx",value);
if((found = Lookup(tr, string, ph_digits)) == 0)
{
sprintf(string,"_%df",value);
found = Lookup(tr, string, ph_digits);
}
}
else if(is_ordinal)
{
@@ -1553,7 +1558,10 @@ static int LookupNum2(Translator *tr, int value, const int control, char *ph_out
}
if(found_ordinal == 0)
{
sprintf(string,"_%dX", tens);
if(control & 0x200)
sprintf(string, "_%dXf", tens);
else
sprintf(string,"_%dX", tens);
Lookup(tr, string, ph_tens);
}

@@ -1708,6 +1716,7 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null
int ordinal;
int tplex;
int say_zero_hundred=0;
int say_one_hundred;
char string[12]; // for looking up entries in **_list
char buf1[100];
char buf2[100];
@@ -1776,6 +1785,8 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null
x = 0;
if(tr->langopts.numbers2 & (1 << tplex))
x = 8; // use variant (feminine) for before thousands and millions
if(tr->translator_name == L('m','l'))
x = 0x208;
LookupNum2(tr, hundreds/10, x, ph_digits);
}

@@ -1788,6 +1799,7 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null
if((hundreds == 0) && (say_zero_hundred == 0))
ph_100[0] = 0;
suppress_null = 1;
control |= 1;
}

ph_digits[0] = 0;
@@ -1823,17 +1835,24 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null
}
else
{
if((!found) && (tensunits == 0))
if((hundreds==1) && (tr->langopts.numbers2 & NUM2_OMIT_1_HUNDRED_ONLY) && ((control & 1)==0))
{
// is there a special pronunciation for exactly n00 ?
sprintf(string,"_%dC0",hundreds);
found = Lookup(tr, string, ph_digits);
// only look for special 100 if there are previous thousands
}

if(!found)
else
{
sprintf(string,"_%dC",hundreds);
found = Lookup(tr, string, ph_digits); // is there a specific pronunciation for n-hundred ?
if((!found) && (tensunits == 0))
{
// is there a special pronunciation for exactly n00 ?
sprintf(string,"_%dC0",hundreds);
found = Lookup(tr, string, ph_digits);
}

if(!found)
{
sprintf(string,"_%dC",hundreds);
found = Lookup(tr, string, ph_digits); // is there a specific pronunciation for n-hundred ?
}
}

if(found)
@@ -1842,7 +1861,14 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null
}
else
{
if((hundreds > 1) || ((tr->langopts.numbers & NUM_OMIT_1_HUNDRED) == 0))
say_one_hundred = 1;
if(hundreds == 1)
{
if((tr->langopts.numbers & NUM_OMIT_1_HUNDRED) != 0)
say_one_hundred = 0;
}

if(say_one_hundred != 0)
{
LookupNum2(tr, hundreds, 0, ph_digits);
}
@@ -1898,6 +1924,11 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null
x = 8; // use variant (feminine) for before thousands and millions
}

if((tr->translator_name == L('m','l')) && (thousandplex == 1))
{
x |= 0x208; // use #f form for both tens and units
}

if(LookupNum2(tr, tensunits, x | (control & 0x100), buf2) != 0)
{
if(tr->langopts.numbers & NUM_SINGLE_AND)

+ 2
- 1
src/phonemelist.cpp View File

@@ -509,9 +509,10 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
if((plist3+1)->synthflags & SFLAG_LENGTHEN)
{
static char types_double[] = {phFRICATIVE,phVFRICATIVE,phNASAL,phLIQUID,0};
if(strchr(types_double,next->type))
if((j > 0) && (strchr(types_double,next->type)))
{
// lengthen this consonant by doubling it
// BUT, can't insert a phoneme at position plist3[0] because it crashes PrevPh()
insert_ph = next->code;
(plist3+1)->synthflags ^= SFLAG_LENGTHEN;
}

+ 5
- 2
src/readclause.cpp View File

@@ -1601,6 +1601,7 @@ static int GetVoiceAttributes(wchar_t *pw, int tag_type)
wchar_t *name;
wchar_t *age;
wchar_t *variant;
int value;
const char *new_voice_id;
SSML_STACK *ssml_sp;

@@ -1646,7 +1647,9 @@ static int GetVoiceAttributes(wchar_t *pw, int tag_type)

attrcopy_utf8(ssml_sp->language,lang,sizeof(ssml_sp->language));
attrcopy_utf8(ssml_sp->voice_name,name,sizeof(ssml_sp->voice_name));
ssml_sp->voice_variant_number = attrnumber(variant,1,0)-1;
if((value = attrnumber(variant,1,0)) > 0)
value--; // variant='0' and variant='1' the same
ssml_sp->voice_variant_number = value;
ssml_sp->voice_age = attrnumber(age,0,0);
ssml_sp->voice_gender = attrlookup(gender,mnem_gender);
ssml_sp->tag_type = tag_type;
@@ -2293,7 +2296,7 @@ f_input = f_in; // for GetC etc
return(CLAUSE_EOF);
}

if((skip_characters > 0) && (count_characters > skip_characters))
if((skip_characters > 0) && (count_characters >= skip_characters))
{
// reached the specified start position
// don't break a word

+ 5
- 4
src/speak_lib.cpp View File

@@ -1164,14 +1164,15 @@ ESPEAK_API void espeak_SetPhonemeTrace(int value, FILE *stream)
} // end of espeak_SetPhonemes


ESPEAK_API void espeak_TextToPhonemes(const void *text, char *buffer, int size, int textmode, int phonememode)
{//==============================================================================================================
ESPEAK_API const char *espeak_TextToPhonemes(const void **textptr, int textmode, int phonememode)
{//=================================================================================================
/* phoneme_mode bits 0-3: 0=only phoneme names, 1=ties, 2=ZWJ, 3=underscore separator
bits 4-7: 0=eSpeak phoneme names, 1=IPA
*/

option_multibyte = textmode & 7;
TranslateClause(translator, NULL, text, NULL, NULL);
GetTranslatedPhonemeString(buffer, size, phonememode);
*textptr = TranslateClause(translator, NULL, *textptr, NULL, NULL);
return(GetTranslatedPhonemeString(phonememode));
}



+ 10
- 5
src/speak_lib.h View File

@@ -34,7 +34,7 @@
#define ESPEAK_API
#endif

#define ESPEAK_API_REVISION 7
#define ESPEAK_API_REVISION 9
/*
Revision 2
Added parameter "options" to eSpeakInitialize()
@@ -58,6 +58,9 @@ Revision 7 24.Dec.2011
Revision 8 26.Apr.2013
Added function espeak_TextToPhonemes().

Revision 9 30.May.2013
Changed function espeak_TextToPhonemes().

*/
/********************/
/* Initialization */
@@ -481,13 +484,15 @@ ESPEAK_API void espeak_SetPhonemeTrace(int value, FILE *stream);
#ifdef __cplusplus
extern "C"
#endif
ESPEAK_API void espeak_TextToPhonemes(const void *text, char *buffer, int size, int textmode, int phonememode);
ESPEAK_API const char *espeak_TextToPhonemes(const void **textptr, int textmode, int phonememode);
/* Translates text into phonemes. Call espeak_SetVoiceByName() first, to select a language.
text: The text to translate, terminated by a zero character.

buffer: Output buffer for the phoneme translation.
It returns a pointer to a character string which contains the phonemes for the text up to
end of a sentence, or comma, semicolon, colon, or similar punctuation.

size: Size of the output buffer in bytes.
textptr: The address of a pointer to the input text which is terminated by a zero character.
On return, the pointer has been advanced past the text which has been translated, or else set
to NULL to indicate that the end of the text has been reached.

textmode: Type of character codes, one of:
espeakCHARS_UTF8 UTF8 encoding

+ 1
- 1
src/spectseq.cpp View File

@@ -773,7 +773,7 @@ void SpectSeq::InterpolateAdjacent(void)
p->pkfreq = p1->pkfreq + int((p2->pkfreq - p1->pkfreq)*ratio);
p->pkheight=p1->pkheight+int((p2->pkheight-p1->pkheight)*ratio);
p->pkwidth = p1->pkwidth + int((p2->pkwidth - p1->pkwidth)*ratio);
p->pkright =p1->pkright + int((p2->pkright - p2->pkright)*ratio);
p->pkright =p1->pkright + int((p2->pkright - p1->pkright)*ratio);
}
frames[select]->keyframe = 1;
formantdlg->ShowFrame(this,select,1,0xff);

+ 0
- 1
src/speech.h View File

@@ -51,7 +51,6 @@
#endif

#ifdef _ESPEAKEDIT
#define USE_PORTAUDIO
#define USE_ASYNC
#define LOG_FRAMES // write keyframe info to log-espeakedit
#endif

+ 1
- 1
src/synthdata.cpp View File

@@ -35,7 +35,7 @@
#include "translate.h"
#include "wave.h"

const char *version_string = "1.47.11 03.May.13";
const char *version_string = "1.47.11d 11.Jun.13";
const int version_phdata = 0x014709;

int option_device_number = -1;

+ 4
- 3
src/synthesize.cpp View File

@@ -1865,6 +1865,7 @@ int SpeakNextClause(FILE *f_in, const void *text_in, int control)
char *voice_change;
static FILE *f_text=NULL;
static const void *p_text=NULL;
const char *phon_out;

if(control == 4)
{
@@ -1957,14 +1958,14 @@ int SpeakNextClause(FILE *f_in, const void *text_in, int control)
if(option_phonemes >= 3)
phoneme_mode = 0x10 + option_phonemes-3; // 0x10=ipa, 0x11=ipa with tie, 0x12=ipa with ZWJ, 0x13=ipa with separators

GetTranslatedPhonemeString(translator->phon_out, sizeof(translator->phon_out), phoneme_mode);
phon_out = GetTranslatedPhonemeString(phoneme_mode);
if(option_phonemes > 0)
{
fprintf(f_trans,"%s\n",translator->phon_out);
fprintf(f_trans,"%s\n",phon_out);
}
if(phoneme_callback != NULL)
{
phoneme_callback(translator->phon_out);
phoneme_callback(phon_out);
}
}


+ 13
- 4
src/tr_languages.cpp View File

@@ -237,6 +237,7 @@ static const char transpose_map_latin[] = {

tr->charset_a0 = charsets[1]; // ISO-8859-1, this is for when the input is not utf8
dictionary_name[0] = 0;
tr->dictionary_name[0] = 0;
tr->dict_condition=0;
tr->dict_min_size = 0;
tr->data_dictrules = NULL; // language_1 translation rules file
@@ -471,12 +472,13 @@ Translator *SelectTranslator(const char *name)
static const short stress_lengths_ta2[8] = {230, 230, 240, 240, 0, 0, 260, 260};
static const unsigned char stress_amps_ta[8] = {18,18, 18,18, 20,20, 22,22 };

tr = NewTranslator();
strcpy(tr->dictionary_name, name);

// convert name string into a word of up to 4 characters, for the switch()
while(*name != 0)
name2 = (name2 << 8) + *name++;

tr = NewTranslator();

switch(name2)
{
case L('a','f'):
@@ -898,6 +900,8 @@ SetupTranslator(tr,stress_lengths_equal,stress_amps_equal);
static const short stress_lengths_hr[8] = {180,160, 200,200, 0,0, 220,230};
static const short stress_lengths_sr[8] = {160,150, 200,200, 0,0, 250,260};

strcpy(tr->dictionary_name, "hbs");

if(name2 == L('s','r'))
SetupTranslator(tr,stress_lengths_sr,stress_amps_hr);
else
@@ -961,7 +965,8 @@ SetLengthMods(tr,3); // all equal
static const short stress_lengths_hy[8] = {250, 200, 250, 250, 0, 0, 250, 250};
static const char hy_vowels[] = {0x31, 0x35, 0x37, 0x38, 0x3b, 0x48, 0x55, 0};
static const char hy_consonants[] = {0x32,0x33,0x34,0x36,0x39,0x3a,0x3c,0x3d,0x3e,0x3f,
0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x56,0};
0x40,0x41,0x42,0x43,0x44, 0x46,0x47,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x56,0};
static const char hy_consonants2[] = {0x45,0};

SetupTranslator(tr,stress_lengths_hy,NULL);
tr->langopts.stress_rule = STRESSPOSN_1R; // default stress on final syllable
@@ -970,7 +975,9 @@ SetLengthMods(tr,3); // all equal
memset(tr->letter_bits,0,sizeof(tr->letter_bits));
SetLetterBits(tr,LETTERGP_A,hy_vowels);
SetLetterBits(tr,LETTERGP_VOWEL2,hy_vowels);
SetLetterBits(tr,LETTERGP_B,hy_consonants); // not including 'j'
SetLetterBits(tr,LETTERGP_C,hy_consonants);
SetLetterBits(tr,LETTERGP_C,hy_consonants2); // add 'j'
tr->langopts.max_initial_consonants = 6;
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_OMIT_1_HUNDRED;
// tr->langopts.param[LOPT_UNPRONOUNCABLE] = 1; // disable check for unpronouncable words
@@ -1395,6 +1402,7 @@ SetLengthMods(tr,3); // all equal
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_SWAP_TENS | NUM_OMIT_1_HUNDRED | NUM_DFRACTION_2 | NUM_ORDINAL_DOT | NUM_ROMAN;
tr->langopts.numbers2 = 0x100; // plural forms of millions etc
tr->langopts.thousands_sep = ' '; // don't allow dot as thousands separator
tr->langopts.replace_chars = replace_cyrillic_latin;
break;

case L('s','q'): // Albanian
@@ -1476,7 +1484,8 @@ SetLengthMods(tr,3); // all equal
if(name2 == L('m','l'))
{
tr->letter_bits_offset = OFFSET_MALAYALAM;
tr->langopts.numbers = NUM_OMIT_1_THOUSAND;
tr->langopts.numbers = NUM_OMIT_1_THOUSAND | NUM_OMIT_1_HUNDRED;
tr->langopts.numbers2 = NUM2_OMIT_1_HUNDRED_ONLY;
}
else
if(name2 == L('k','n'))

+ 11
- 6
src/translate.cpp View File

@@ -1739,7 +1739,8 @@ int SetTranslator2(const char *new_language)
translator2->phoneme_tab_ix = new_phoneme_tab;
}
}
translator2->phonemes_repeat[0] = 0;
if(translator2 != NULL)
translator2->phonemes_repeat[0] = 0;
return(new_phoneme_tab);
} // end of SetTranslator2

@@ -2562,6 +2563,7 @@ void *TranslateClause(Translator *tr, FILE *f_text, const void *vp_input, int *t
int dict_flags = 0; // returned from dictionary lookup
int word_flags; // set here
int next_word_flags;
int new_sentence2;
int embedded_count = 0;
int letter_count = 0;
int space_inserted = 0;
@@ -2642,16 +2644,19 @@ void *TranslateClause(Translator *tr, FILE *f_text, const void *vp_input, int *t
if(clause_pause < 0)
clause_pause = 0;

terminator &= ~CLAUSE_BIT_SENTENCE; // clear sentence bit
if(new_sentence)
terminator |= CLAUSE_BIT_SENTENCE; // carry forward an end-of-sentence indicator
max_clause_pause += clause_pause;
new_sentence2 = 0;
}
else
{
max_clause_pause = clause_pause;
new_sentence2 = new_sentence;
}
tr->clause_terminator = terminator;

if(new_sentence)
if(new_sentence2)
{
count_sentences++;
if(skip_sentences > 0)
@@ -3040,7 +3045,7 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
c = ' ';
pre_pause_add = 4;
}
else if((prev_out == ' ') && IsAlpha(sbuf[ix-2]) && !IsAlpha(prev_in))
else if((prev_out == ' ') && IsAlpha(prev_out2) && !IsAlpha(prev_in))
{
// insert extra space between a word + space + hyphen, to distinguish 'a -2' from 'a-2'
sbuf[ix++] = ' ';
@@ -3138,7 +3143,7 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
decimal_sep_count = 1;
}
}
else if((prev_out == ' ') && IsAlpha(sbuf[ix-2]) && !IsAlpha(prev_in))
else if((prev_out == ' ') && IsAlpha(prev_out2) && !IsAlpha(prev_in))
{
// insert extra space between a word and a number, to distinguish 'a 2' from 'a2'
sbuf[ix++] = ' ';
@@ -3462,7 +3467,7 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
clause_pause = 10;
}

MakePhonemeList(tr, clause_pause, new_sentence);
MakePhonemeList(tr, clause_pause, new_sentence2);
phoneme_list[N_PHONEME_LIST].ph = NULL; // recognize end of phoneme_list array, in Generate()
phoneme_list[N_PHONEME_LIST].sourceix = 1;


+ 3
- 2
src/translate.h View File

@@ -510,6 +510,7 @@ typedef struct {
#define NUM2_MYRIADS 0x4000
#define NUM2_ENGLISH_NUMERALS 0x8000
#define NUM2_PERCENT_BEFORE 0x10000
#define NUM2_OMIT_1_HUNDRED_ONLY 0x20000
// bits 1-4 use variant form of numbers before thousands,millions,etc.
// bits 6-8 use different forms of thousand, million, etc (M MA MB)
// bit9=(LANG=rw) say "thousand" and "million" before its number, not after
@@ -519,6 +520,7 @@ typedef struct {
// bit14=(LANG=ko) use myriads (groups of 4 digits) not thousands (groups of 3)
// bit15=(LANG=ne) speak (non-replaced) English numerals in English
// bit16=(LANG=si) say "%" before the number
// bit17=(LANG=ml) omit "one" before hundred only if there are no previous digits
int numbers2;

#define BREAK_THOUSANDS 0x49249248
@@ -579,7 +581,6 @@ typedef struct
const char *transpose_map;
char dictionary_name[40];

char phon_out[500];
char phonemes_repeat[20];
int phonemes_repeat_count;
int phoneme_tab_ix;
@@ -721,7 +722,7 @@ int iswlower2(int c);
int iswupper2(int c);
int towlower2(unsigned int c);
int towupper2(unsigned int c);
void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int phoneme_mode);
const char *GetTranslatedPhonemeString(int phoneme_mode);
const char *WordToString2(unsigned int word);
ALPHABET *AlphabetFromChar(int c);
ALPHABET *AlphabetFromName(const char *name);

+ 4
- 3
src/transldlg.cpp View File

@@ -406,6 +406,7 @@ void TranslDlg::OnCommand(wxCommandEvent& event)
int translate_text = 0;
char buf[1000];
char phon_out[N_PH_LIST*2];
const char *phon_out2;
int clause_tone;
int clause_count;
int use_ipa = 0;
@@ -495,11 +496,11 @@ void TranslDlg::OnCommand(wxCommandEvent& event)
CalcPitches(translator,clause_tone);
CalcLengths(translator);

GetTranslatedPhonemeString(translator->phon_out, sizeof(translator->phon_out), use_ipa);
phon_out2 = GetTranslatedPhonemeString(use_ipa);
if(clause_count++ > 0)
strcat(phon_out," ||");
strcat(phon_out,translator->phon_out);
t_phonetic->SetValue(wxString(translator->phon_out,wxConvUTF8));
strcat(phon_out, phon_out2);
t_phonetic->SetValue(wxString(phon_out2, wxConvUTF8));

if((n_ph_list + n_phoneme_list) >= N_PH_LIST)
{

+ 3
- 2
src/voices.cpp View File

@@ -178,7 +178,7 @@ static MNEM_TAB keyword_tab[] = {

#define N_VOICE_VARIANTS 12
const char variants_either[N_VOICE_VARIANTS] = {1,2,12,3,13,4,14,5,11,0};
const char variants_male[N_VOICE_VARIANTS] = {1,2,3,4,5,0};
const char variants_male[N_VOICE_VARIANTS] = {1,2,3,4,5,6,7,0};
const char variants_female[N_VOICE_VARIANTS] = {11,12,13,14,0};
const char *variant_lists[3] = {variants_either, variants_male, variants_female};

@@ -301,7 +301,7 @@ static espeak_VOICE *ReadVoiceFile(FILE *f_in, const char *fname, const char*lea
espeak_VOICE *voice_data;
int priority;
int age;
int n_variants = 3; // default, number of variants of this voice before using another voice
int n_variants = 4; // default, number of variants of this voice before using another voice
int gender;

#ifdef PLATFORM_WINDOWS
@@ -1068,6 +1068,7 @@ voice_t *LoadVoice(const char *vname, int control)
if((ix = SelectPhonemeTableName(phonemes_name)) < 0)
{
fprintf(stderr,"Unknown phoneme table: '%s'\n",phonemes_name);
ix = 0;
}
voice->phoneme_tab_ix = ix;
new_translator->phoneme_tab_ix = ix;

Loading…
Cancel
Save