Conflicts: platforms/windows/make_espeakedit.issmaster
espeak-data/sv_dict \ | espeak-data/sv_dict \ | ||||
espeak-data/sw_dict \ | espeak-data/sw_dict \ | ||||
espeak-data/ta_dict \ | espeak-data/ta_dict \ | ||||
espeak-data/te_dict \ | |||||
espeak-data/tr_dict \ | espeak-data/tr_dict \ | ||||
espeak-data/ur_dict \ | espeak-data/ur_dict \ | ||||
espeak-data/vi_dict \ | espeak-data/vi_dict \ | ||||
espeak-data/ta_dict: src/espeak espeak-data/phontab dictsource/ta_list dictsource/ta_rules dictsource/ta_extra | espeak-data/ta_dict: src/espeak espeak-data/phontab dictsource/ta_list dictsource/ta_rules dictsource/ta_extra | ||||
cd dictsource && ../src/espeak --compile=ta && cd .. | cd dictsource && ../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 && ../src/espeak --compile=te && cd .. | |||||
tr: espeak-data/tr_dict | tr: espeak-data/tr_dict | ||||
dictsource/tr_extra: | dictsource/tr_extra: | ||||
touch dictsource/tr_extra | touch dictsource/tr_extra |
// Aragon translation rules | |||||
// Aragon translation rules | |||||
// This file is UTF-8 encoded | // This file is UTF-8 encoded | ||||
// letters | // letters | ||||
_x#ª %a | _x#ª %a | ||||
º orDin'al||maskul'in | º orDin'al||maskul'in | ||||
ª orDin'al||femen'in | ª orDin'al||femen'in | ||||
ºc gr'aUs||T'e | |||||
ºf gr'aUs||'Efe | |||||
ºk gr'aUs||k'a | |||||
_1ox prim'Er | _1ox prim'Er | ||||
_2ox seQ'und | _2ox seQ'und | ||||
/ baRRa | / baRRa | ||||
\ kontraBaRRa | \ kontraBaRRa | ||||
| b'aRRaBertik'al | | b'aRRaBertik'al | ||||
° graUs | |||||
_- gj'on | _- gj'on | ||||
! TaRR'ar||eksklamaTj'on | ! TaRR'ar||eksklamaTj'on | ||||
facebook f'eIsbuk | facebook f'eIsbuk | ||||
firefox f'aIrfoks | firefox f'aIrfoks | ||||
google g'ugEl | google g'ugEl | ||||
hotmail xotm'eIl | |||||
(i phone) 'aIfon | (i phone) 'aIfon | ||||
iphone 'aIfon | iphone 'aIfon | ||||
(i pod) 'aIpod | (i pod) 'aIpod |
// Translation rules for Bengali | |||||
// Translation rules for Bengali | |||||
// This file is UTF8 encoded | // This file is UTF8 encoded | ||||
// Numbers | // Numbers | ||||
devanagari numbers are changed to latin characters before translation | |||||
// Bengali numbers are changed to latin characters before translation | |||||
_0 S'unjO | _0 S'unjO | ||||
_1 '&k | _1 '&k | ||||
_2 duj | |||||
_2 d'uj | |||||
_3 t'in | _3 t'in | ||||
_4 tS'ar | _4 tS'ar | ||||
_5 p'a~tS | _5 p'a~tS | ||||
_8 'at.# | _8 'at.# | ||||
_9 n'Oj | _9 n'Oj | ||||
_2a d'u // with hundreds etc. | |||||
_6a tS#'a | |||||
_9a n'O | |||||
_10 d'OS | _10 d'OS | ||||
_11 '&garo | _11 '&garo | ||||
_12 b'arO | _12 b'arO | ||||
_13 t'erO | _13 t'erO | ||||
_14 tS'owddO | |||||
_14 tS'oddO | |||||
_15 p'OnerO | _15 p'OnerO | ||||
_16 S'olO | _16 S'olO | ||||
_17 S'OterO | _17 S'OterO | ||||
_19 'uniS | _19 'uniS | ||||
_20 k'uri // or b'iS ?? | _20 k'uri // or b'iS ?? | ||||
_21 'ekuS | |||||
_21 ek'uS | |||||
_22 b'ajS | _22 b'ajS | ||||
_23 t'ejS | _23 t'ejS | ||||
_24 tS'ObbiS | _24 tS'ObbiS | ||||
_25 p'O~tSiS | _25 p'O~tSiS | ||||
_26 tSh'ObbiS | |||||
_27 S'ataS | |||||
_26 tSh'abbiS | |||||
_27 Sat'aS | |||||
_28 'at.#aS | _28 'at.#aS | ||||
_29 'untriS | |||||
_30 t'iriS | |||||
_31 'ektriS | |||||
_32 b'OtriS | |||||
_33 t'etriS | |||||
_34 tSowtriS | |||||
_35 pO~jtriS | |||||
_36 tS#'OtriS | |||||
_37 S'a~itriS | |||||
_38 'at.riS | |||||
_39 'unOtSOlliS | |||||
_40 tS'OlliS | |||||
_41 'ektSOlliS | |||||
_42 b'ialliS | |||||
_43 t'etalliS | |||||
_44 tS'oalliS | |||||
_45 p'O~jtalliS | |||||
_46 tS'etSOlliS | |||||
_47 S'atSOllis | |||||
_48 'atSOlliS | |||||
_49 'unOpO~tSaS | |||||
// numbers above 50 need to be corrected | |||||
_50 p'O~tSaS | |||||
_5X p'O~tSaS | |||||
_59 'unOsat. | |||||
_60 s'at. | |||||
_6X s'at. | |||||
_69 'unOS'OttOr | |||||
_70 S'OttOr | |||||
_7X S'OttOr | |||||
_79 'unOaSi | |||||
_29 unOtr'iS | |||||
_30 tr'iS | |||||
_31 ekOtr'iS | |||||
_32 bOtr'iS | |||||
_33 tetr'iS | |||||
_34 tSowtr'iS | |||||
_35 pO~jtr'iS | |||||
_36 tS#'Otr'iS | |||||
_37 Sa~itr'iS | |||||
_38 at.tr'iS | |||||
_39 'unOtSOll'iS | |||||
_40 tSOll'iS | |||||
_41 ektSOll'iS | |||||
_42 biall'iS | |||||
_43 tetall'iS | |||||
_44 tSoall'iS | |||||
_45 pO~jtall'iS | |||||
_46 tSetSOll'iS | |||||
_47 SatSOll'is | |||||
_48 atSOll'iS | |||||
_49 unOpO~tSaS | |||||
_50 pO~tS'aS | |||||
_51 &kann'o | |||||
_52 bajann'o | |||||
_53 tepann'o | |||||
_54 tSujann'o | |||||
_55 pontSann'o | |||||
_56 tS#apann'o | |||||
_57 Satann'o | |||||
_58 at.ann'o | |||||
_59 unOS'at. | |||||
_80 'aSi | |||||
_8X 'aSi | |||||
_89 'unOnObbOj | |||||
_90 n'ObbOj | |||||
_9X n'ObbOj | |||||
_60 s'at. | |||||
_61 ekSOt.t.'i | |||||
_62 baSOt.t.'i | |||||
_63 teSOt.t.'i | |||||
_64 tSowSOt.t.'i | |||||
_65 pojSOt.t.'i | |||||
_66 SeSOt.t.'i | |||||
_67 SatSOt.t.'i | |||||
_68 at.SOt.t.'i | |||||
_6X sat.t.'i | |||||
_69 unOSOtt'ur | |||||
_70 SOtt'Or | |||||
_71 ekatt'Or | |||||
_72 bahatt'Or | |||||
_73 tehatt'Or | |||||
_74 tSuhatt'Or | |||||
_75 pOtSatt'Or | |||||
_76 tS#ijatt'Or | |||||
_77 Satatt'Or | |||||
_78 at.att'Or | |||||
_79 unOaS'i | |||||
_80 aS'i | |||||
_81 &kaS'i | |||||
_82 beraS'i | |||||
_83 teraS'i | |||||
_84 tSuraS'i | |||||
_85 po~tSaS'i | |||||
_86 tS#ijaS'i | |||||
_87 SataS'i | |||||
_88 at.aS'i | |||||
_89 ,unOnObb'oj | |||||
_90 nObb'oj | |||||
_91 &kanObb'oj | |||||
_92 beranObb'oj | |||||
_93 teranObb'oj | |||||
_94 tSuranObb'oj | |||||
_95 pOtSanObb'oj | |||||
_96 tS#ijanObb'oj | |||||
_97 SatanObb'oj | |||||
_98 at.anObb'oj | |||||
_99 niranObb'oj | |||||
_0C S'o | _0C S'o | ||||
_0M1 h'ajar | _0M1 h'ajar | ||||
_0M2 l'ak# | _0M2 l'ak# | ||||
_0M3 k'ot.i | _0M3 k'ot.i | ||||
_0M4 'Orbud | _0M4 'Orbud | ||||
_dpt dOsomik | |||||
_dpt _d'Osomik_ | |||||
// Single consonants | // Single consonants | ||||
খ k#O | খ k#O | ||||
গ gO | গ gO | ||||
ঘ g#O | ঘ g#O | ||||
ঙ 'uNO | |||||
ঙ 'uNO~ | |||||
চ tSO | চ tSO | ||||
ছ tShO // [h] to distinguish from [tS] | ছ tShO // [h] to distinguish from [tS] | ||||
জ JO | জ JO | ||||
ঝ J#O | ঝ J#O | ||||
ঞ 'iNO | |||||
ঞ 'iNO~ | |||||
ট t.O | ট t.O | ||||
ঠ t.#O | ঠ t.#O | ||||
ড d.O | ড d.O | ||||
ঢ d.#O | ঢ d.#O | ||||
ণ m'odd#ennO | |||||
ণ m,odd#en.n.'O | |||||
ত tO | ত tO | ||||
থ t#O | থ t#O | ||||
দ dO | দ dO | ||||
ধ d#O | ধ d#O | ||||
ন d'ontennO | |||||
ন d,ontenn'O | |||||
প pO | প pO | ||||
ফ fO // or [p#O] ? | ফ fO // or [p#O] ? | ||||
ব bO | ব bO | ||||
ভ b#O | ভ b#O | ||||
ম mO | ম mO | ||||
য় Oj | য় Oj | ||||
য ontostedZ'O | |||||
য ,ontostedZ'O | |||||
র rO | র rO | ||||
ড় r.O | ড় r.O | ||||
ড় r.O // (d. + nukta) | ড় r.O // (d. + nukta) | ||||
ঢ় hr.O | ঢ় hr.O | ||||
ঢ় hr.O // (d#. + nukta) | ঢ় hr.O // (d#. + nukta) | ||||
ল lO | ল lO | ||||
শ taleboS:O | |||||
ষ mud#en:oS:O | |||||
স d'onteS:O | |||||
শ t,aleboS:'O | |||||
ষ m,ud#en:oS:'O | |||||
স d,onteS:'O | |||||
হ hO | হ hO | ||||
ৎ kh'Ond.otO | |||||
ৎ kh,Ond.ot'O | |||||
ক্ষ k,ojmud#en:oS:'O | |||||
// full vowels | // full vowels | ||||
অ O | অ O | ||||
উ hrOS:o'u | উ hrOS:o'u | ||||
ঊ dirg#o'u | ঊ dirg#o'u | ||||
ঋ ri | ঋ ri | ||||
এ e | |||||
ঐ oj | |||||
ও o | |||||
ঔ ow | ঔ ow | ||||
এ e $u+ // word 'it' | |||||
ঐ oj $u+ // word 'that' | |||||
ও o $u+ $brk // 'and' | |||||
_এ e | |||||
_ঐ oj | |||||
_ও o | |||||
// combining vowel signs | // combining vowel signs | ||||
া 'akar | া 'akar | ||||
ি r'oS:ikar | ি r'oS:ikar | ||||
ঁ tS'Ondrobindu | ঁ tS'Ondrobindu | ||||
় b'indu | ় b'indu | ||||
$ d.Olar | |||||
% SOtk'Ora | |||||
+ jOg | |||||
= SOman | |||||
// Punctuation | // Punctuation | ||||
। dVn.d.V | । dVn.d.V | ||||
_, koma | |||||
_? pr'oSnOtSihnO | |||||
// Pronouns | // Pronouns | ||||
আমি $u // main: I | আমি $u // main: I | ||||
// Exceptions | // Exceptions | ||||
এত &to |
| |||||
// This file is UTF8 encoded | // This file is UTF8 encoded | ||||
// letter groups: | // letter groups: | ||||
.group অ | .group অ | ||||
অ V | অ V | ||||
অঁ O~ | অঁ O~ | ||||
অ্যা & // V,ja in [æmiba] | |||||
.group আ | .group আ | ||||
.group এ | .group এ | ||||
এ e | এ e | ||||
এঁ e~ | এঁ e~ | ||||
এ্যা & // e,ja [ækademi] | |||||
.group ও | .group ও | ||||
য় jV // nukta | য় jV // nukta | ||||
য় (B j | য় (B j | ||||
্) য (C & // ব্যস্ত [bæsto] | |||||
্) যা & // ব্যাকরণ [bækɔron] | |||||
.group র | .group র | ||||
র rV | র rV | ||||
র (B r | র (B r | ||||
ৢ l- | ৢ l- | ||||
ৣ l- | ৣ l- | ||||
__) - (_D bij'og | |||||
D_) - (_D bij'og |
_#9 tab | _#9 tab | ||||
_#32 blank | _#32 blank | ||||
* 'asd&r,isg $max3 | |||||
% pRos'end $max3 | |||||
@ sn,&:bel'&: | |||||
/ sgRVsdrai $max3 | |||||
\ 'Vmvendsgr,VsdRai $max3 | |||||
* '&sd@-r,isg $max3 | |||||
% pRos'End $max3 | |||||
@ sn,&b@-l'&: | |||||
/ sgRVsdrAj $max3 | |||||
\ 'VmvEndsgr,VsdRai $max3 | |||||
_, k'oma: | _, k'oma: | ||||
_; se:mi:ko:lVn | |||||
_; semiko:lVn | |||||
_: k'o:lVn | _: k'o:lVn | ||||
_. pONtOm // PN u => O | _. pONtOm // PN u => O | ||||
_? spWrgsmVlstajn | |||||
_! udRVbstejn | |||||
_- binnesdrai | |||||
__ b'Onsdrai | |||||
_? spWrsmOlstAjn | |||||
_! udRVbstAjn | |||||
_- bin@-sdrAi | |||||
__ b'OnsdrAi | |||||
& _Vw | & _Vw | ||||
£ pun? | £ pun? | ||||
€ euro | € euro | ||||
© kVpirajt | |||||
÷ divid'eReD||meD | |||||
© kVpirAjt | |||||
÷ divid'eRVD||mED | |||||
= l'imeD | = l'imeD | ||||
# n'OmV | # n'OmV | ||||
§ paragr'af | § paragr'af | ||||
× g'aNe | × g'aNe | ||||
ª feminin||Wdin'al | ª feminin||Wdin'al | ||||
º m'askulin||Wdin'al | º m'askulin||Wdin'al | ||||
® registr'Er@D||v'ar@mErk3 | |||||
¼ en||kvart | |||||
¾ trEkv'art | |||||
® registr'ErVD||v'Ar@-mErk@- | |||||
¼ en||kvArt | |||||
¾ trEkv'Art | |||||
¢ s'ent | ¢ s'ent | ||||
¥ j'en: | ¥ j'en: | ||||
µ my | µ my | ||||
' apostr'Vf | ' apostr'Vf | ||||
½ en'hal | |||||
½ en'h&l | |||||
+ plus | + plus | ||||
// numbers | // numbers | ||||
_10 t'i | _10 t'i | ||||
_11 'Elv@ | _11 'Elv@ | ||||
_12 t'Vl | _12 t'Vl | ||||
_13 tR'?&#d@-n | |||||
_13 t*'?&#d@-n | |||||
_14 fj'ord@-n | _14 fj'ord@-n | ||||
_15 f'Emd@-n | _15 f'Emd@-n | ||||
_16 s'ajsd@-n | |||||
_17 s'Wd@-n | |||||
_16 s'Ajsd@-n | |||||
_17 s'?Wd@-n | |||||
_18 '?&d@-n | _18 '?&d@-n | ||||
_19 n'ed@-n | |||||
_19 n'?ed@-n | |||||
_2X t'y:?u | _2X t'y:?u | ||||
_3X tR'&#Dv@ | |||||
_3X t*'&#Dv@ | |||||
_4X f'?W:_|V | _4X f'?W:_|V | ||||
_5X h&l't*Es | _5X h&l't*Es | ||||
_6X t*'Es | _6X t*'Es | ||||
_7X h&lfj'&rs | |||||
_7X h&lfj'Ers | |||||
_8X f'irs | _8X f'irs | ||||
_9X h&lf'Ems // PB a changed to & | _9X h&lf'Ems // PB a changed to & | ||||
_0C h'unRVD | _0C h'unRVD | ||||
_0and V | _0and V | ||||
_dpt _k,Vm&: | _dpt _k,Vm&: | ||||
// PB a number followed by dot | |||||
// A number followed by dot | |||||
// ordinals are followed by a dot in Danish | // ordinals are followed by a dot in Danish | ||||
_ord 3 // 13. (trettende) | |||||
_ord @- // 13. (trettende) | |||||
// exceptions for ordinals | // exceptions for ordinals | ||||
_1o fWrsd3 // 1. første | |||||
_1o fWrsd@- // 1. første | |||||
_2o &n@n // 2. anden | _2o &n@n // 2. anden | ||||
_3o trEdj3 // 3. tredje | |||||
_3o trEdj@- // 3. tredje | |||||
_4o fjeV // 4. fjerde | _4o fjeV // 4. fjerde | ||||
_5o fEmt3 // 5. femte | |||||
_6o sjEd3 // 6. sjette | |||||
_7o syvn3 // 7. syvende | |||||
_8o Vtn3 // 8. ottende | |||||
_9o ni@n3 // 9. niende | |||||
_10o ti@n3 // 10. tiende | |||||
_11o Elfd3 // 11. elvte/ellevete | |||||
_12o tVlfd3 // 12. tolvte | |||||
_5o fEmt@- // 5. femte | |||||
_6o sjEd@- // 6. sjette | |||||
_7o syvn@- // 7. syvende | |||||
_8o Vtn@- // 8. ottende | |||||
_9o ni@-n@- // 9. niende | |||||
_10o ti@-n@- // 10. tiende | |||||
_11o Elfd@- // 11. elvte/ellevete | |||||
_12o tVlfd@- // 12. tolvte | |||||
_2Xo t'yv@n@ // 25. | |||||
_3Xo tr'&#ft@ //36. | |||||
_4Xo fWV'tyv@n@ // 42. | |||||
_5Xo h<*'Esenstyv@n@ // 52. | |||||
_6Xo tr'Esenstyv@n@ // 62. | |||||
_7Xo h&lfj'&rsenstyv@n@ // 72. | |||||
_8Xo firsenstyv@n@ // 82. | |||||
_9Xo h&lf'Emsenstyv@n@ // 95. | |||||
_2Xo t'yv@n@- // 25. | |||||
_3Xo tr'&#ft@- //36. | |||||
_4Xo fWV'tyv@-n@- // 42. | |||||
_5Xo h<*'Esenstyv@-n@- // 52. | |||||
_6Xo tr'Esenstyv@-n@- // 62. | |||||
_7Xo h&lfj'&rsenstyv@-n@- // 72. | |||||
_8Xo firsenstyv@-n@- // 82. | |||||
_9Xo h&lf'Emsenstyv@-n@- // 95. | |||||
// function words | // function words | ||||
ved $u+ // at | ved $u+ // at | ||||
om $u+ $brk // about, within | om $u+ $brk // about, within | ||||
med $u+ // with | med $u+ // with | ||||
af & | |||||
ad & | |||||
af &_! | |||||
ad &_! | |||||
ad &D $atend $sentence // "Det må ikke skille os ad." | ad &D $atend $sentence // "Det må ikke skille os ad." | ||||
at & $u | |||||
at &_! $u | |||||
hos | hos | ||||
som sVm $u // which / that | som sVm $u // which / that | ||||
det de $u | det de $u | ||||
dét de | dét de | ||||
vi vi $u | vi vi $u | ||||
i _i $u+ | |||||
i _i_! $u+ | |||||
mig mAj $u // me | mig mAj $u // me | ||||
dig dAj $u+ | dig dAj $u+ | ||||
dem $u | dem $u | ||||
// possessive pronouns | // possessive pronouns | ||||
min min $u | min min $u | ||||
mit mit $u | mit mit $u | ||||
mine m'in3 | |||||
mine m'in@- | |||||
din d'in $u+ | din d'in $u+ | ||||
dit d'it $u | dit d'it $u | ||||
dine d'in3 | |||||
dine d'in@- | |||||
deres dE:Vs $u | deres dE:Vs $u | ||||
hans $u+ | hans $u+ | ||||
hendes $u+ | hendes $u+ | ||||
eminence $alt | eminence $alt | ||||
excellence $alt | excellence $alt | ||||
fajance $alt | fajance $alt | ||||
hospice $alt | |||||
ignorance $alt | ignorance $alt | ||||
inspektrice $alt | inspektrice $alt | ||||
intolerance $alt | intolerance $alt | ||||
afrikaan $alt | afrikaan $alt | ||||
aleksandrin $alt | aleksandrin $alt | ||||
amerikan $alt | amerikan $alt | ||||
austral $alt | |||||
andorran $alt | andorran $alt | ||||
anglikan $alt | anglikan $alt | ||||
angolan $alt | angolan $alt | ||||
deducer $alt | deducer $alt | ||||
defiler $alt | defiler $alt | ||||
definer $alt | definer $alt | ||||
omdefiner $alt | |||||
deflorer $alt | deflorer $alt | ||||
deformer $alt | deformer $alt | ||||
degrader $alt | degrader $alt | ||||
konstituer $alt | konstituer $alt | ||||
konstringer $alt | konstringer $alt | ||||
konstruer $alt | konstruer $alt | ||||
rekonstruer $alt | |||||
konsulere $alt | konsulere $alt | ||||
konsulter $alt | konsulter $alt | ||||
konsumer $alt | konsumer $alt | ||||
tournure $alt | tournure $alt | ||||
// exceptions | // exceptions | ||||
alene &l'en@ // alone | |||||
alene &l'en@- // alone | |||||
egen _|aj@-n | egen _|aj@-n | ||||
mc mak' $capital // PB McDonald | mc mak' $capital // PB McDonald | ||||
egne ajn@- | egne ajn@- | ||||
idé id'e // idea | idé id'e // idea | ||||
tune tun3 $capital // PB Tune lufthavn - not "tune a car" [tjune] | tune tun3 $capital // PB Tune lufthavn - not "tune a car" [tjune] | ||||
ny ny // new | ny ny // new | ||||
også Vs@- // also | |||||
også ?Vs@- // also | |||||
idet id'e // in so far as | idet id'e // in so far as | ||||
(rub og stub) R'Ob||V||sd'Ob | (rub og stub) R'Ob||V||sd'Ob | ||||
tre tr'E // the number 3 | tre tr'E // the number 3 | ||||
rejicerer rejis'eV // PB | rejicerer rejis'eV // PB | ||||
rejiceres rejis'eVs // PB | rejiceres rejis'eVs // PB | ||||
rejicering rejis'eRiN // 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 | |||||
nogle n'o@-n // PB English: 'some' - must be pronounced like the Danish word 'nogen' | |||||
nogen n'o@-n // PB | |||||
ligesom l?isVm // PB | ligesom l?isVm // PB | ||||
bliver blir // PB | bliver blir // PB | ||||
konfirmand kVnferm'&nd // PB | konfirmand kVnferm'&nd // PB | ||||
giver gir // PB the v shouldn't be pronounced | giver gir // PB the v shouldn't be pronounced | ||||
opgiver Vpgir // PB | opgiver Vpgir // PB | ||||
jaloux sj&'lu // PB jaloux | jaloux sj&'lu // PB jaloux | ||||
aficionado afisjo'na:do // PB | |||||
breakdance brEig'da:ns // PB breakdance | |||||
breakdancen brEig'da:ns@-n // PB breakdancen | |||||
breakdancer brEig'da:nsV // PB breakdancer | |||||
breakdancere brEig'da:nsV3 // PB breakdancere | |||||
breakdancerne brEig'da:nsV-n@ // PB breakdancerne | |||||
breakdancernes brEig'da:nsV-n@s // PB breakdancernes | |||||
squaredance skw'e@da:ns // PB squaredance | |||||
squaredancer skw'e@da:nsV // PB squaredancer | |||||
squaredancere skw'e@da:nsV3 // PB squaredancere | |||||
squaredancen skw'e@da:ns@-n // PB squaredancen | |||||
squaredancerne skw'e@da:nsV-n@ // PB squaredancerne | |||||
squaredancernes skw'e@da:nsV-n@s // PB squaredancernes | |||||
baguette b%a'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 | |||||
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 | |||||
squaredance skw'EVd&:ns // PB squaredance | |||||
squaredancer skw'EVd&:nsV // PB squaredancer | |||||
squaredancere skw'EVd&:nsV3 // PB squaredancere | |||||
squaredancen skw'EVd&:ns@-n // PB squaredancen | |||||
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 | (haute couture) %o:tku'ty:r // PB - french word | ||||
(par excellence) pa:egs@'la:Ns // PB - french word | |||||
(public service) pVblek||s@:vis // PB | |||||
(public servicen) pVblek||s@:vis@-n // PB | |||||
(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 | (tour de force) tu:@d@||'fV:s // PB | ||||
(al qaeda) al||k'ajda // PB | (al qaeda) al||k'ajda // PB | ||||
(force majeure) fVrs||,ma'sjW:r // PB | (force majeure) fVrs||,ma'sjW:r // PB | ||||
(diner transportable) din'e|trANspVt'abl@ // PB | |||||
(diner transportable) din'e|trANspVt'abl@- // PB | |||||
(quiche lorraine) kiS||lor'E:n: | (quiche lorraine) kiS||lor'E:n: | ||||
(fait accompli) fEtakVmpl'i // PB | |||||
(fait accompli) fEt&kVmpl'i // PB | |||||
(salt lake city) s'Vlt||lEjk||s'iti | (salt lake city) s'Vlt||lEjk||s'iti | ||||
wien v'i:n // PB Wien - the town of Vienna | wien v'i:n // PB Wien - the town of Vienna | ||||
calais kal'E // PB Calais - town in France | |||||
date dejt // PB date - stævnemøde | |||||
calais k&l'E // PB Calais - town in France | |||||
date dEjt // PB date - stævnemøde | |||||
//siger sir // PB silent d | //siger sir // PB silent d | ||||
(tids nok) tis||n'Vk // PB silent d | (tids nok) tis||n'Vk // PB silent d | ||||
skateboardet sk'eitbo@d3D // PB | |||||
skateboardet sk'EitbO:d@-D // PB | |||||
(hole in one) h'oulinw,0n // PB English golf expression used in Danish | (hole in one) h'oulinw,0n // PB English golf expression used in Danish | ||||
(en passant) AN||p&s'AN | (en passant) AN||p&s'AN | ||||
(coney island) 'kouni||'ajl3nd // PB | (coney island) 'kouni||'ajl3nd // PB | ||||
(union station) junj3n||steisj@n // PB | (union station) junj3n||steisj@n // PB | ||||
(secret service) sigred||s'Wvis | (secret service) sigred||s'Wvis | ||||
(happy hour) h&pi||'AuV | (happy hour) h&pi||'AuV | ||||
chevrolet sjEvrol'e | |||||
chevrolet sjEvrol'E | |||||
saigon sAjgVn // PB Saigon | saigon sAjgVn // PB Saigon | ||||
managua m&n'&:gw& | managua m&n'&:gw& | ||||
(deja-vu) deSja||'vy | (deja-vu) deSja||'vy | ||||
// Try to catch errors | // Try to catch errors | ||||
(et kvarter) et||kvA'ter // PB | (et kvarter) et||kvA'ter // PB | ||||
(mit kvarter) mit||kvA'ter // PB | |||||
(vores kvarter) vV:s||kvA'ter // PB | |||||
(deres kvarter) dE:Vs||kvA'ter // PB | |||||
(det kvarter) de||kvA'ter // PB | |||||
(mit kvarter) mit||kvA'ter | |||||
(vores kvarter) vV:s||kvA'ter | |||||
(deres kvarter) dE:Vs||kvA'ter | |||||
(det kvarter) de||kvA'ter | |||||
(i kvarter) i||kv'A:dV | (i kvarter) i||kv'A:dV | ||||
(at have) &||h& // PB the verb 'have', not the noun 'have' = garden | |||||
(vil have) vel||h'& // PB | |||||
(ville have) v?il3||h'& // PB | |||||
(du have) du||h& // PB | |||||
(må have) mO:||h& // PB | |||||
(skal have) sk?&||h& // PB | |||||
// the verb 'have', not the noun 'have' = garden/oceans | |||||
(at have) &||h& | |||||
(vil have) vel||h'& | |||||
(ville have) v?il3||h'& | |||||
(du have) du||h&_! | |||||
(må have) mO:||h& | |||||
(skal have) sk?&||h& | |||||
(helst have) h'Elst||h& | (helst have) h'Elst||h& | ||||
(gerne have) g'Ern3||h& | (gerne have) g'Ern3||h& | ||||
(kan have) k?&n||h& // PB | |||||
(ikke have) ege||h& // PB | |||||
(kan have) k?&n||h& | |||||
(ikke have) eg@-||h& | |||||
(have ret) h&||R'&#d | |||||
(måtte have) m'?Vt@-||h& | |||||
(have været) h&||v'?E3-VD | |||||
(have gjort) h&||gj'Ort | |||||
// PB 'hav' = ocean - 'hav' = have (a nice day) | // PB 'hav' = ocean - 'hav' = have (a nice day) | ||||
(et hav) ed||hAu | (et hav) ed||hAu | ||||
(stort hav) stord||hAu | (stort hav) stord||hAu | ||||
hav hAu $atend | hav hAu $atend | ||||
(et for) ed||'for // PB for i jakke - lining | |||||
(et for) ed||'for // for i jakke - lining | |||||
(et for dig) ed||fV||dAj // vælge et for dig | |||||
// PB problem with 'sig' [si] = "say" and 'sig' = "himself/herself" [saj] | // PB problem with 'sig' [si] = "say" and 'sig' = "himself/herself" [saj] | ||||
//(sig mig) si||maj // PB sig mig engang | |||||
(sig hvad) si||v& // PB sig hvad du mener | |||||
sig $atend $sentence saj // end of a sentence - han vaskede sig. | |||||
(gør sig til) g,Wr||saj||t'el // PB | |||||
(gav sig til) g&||saj||tel // PB han gav sig til at ... | |||||
(sig hvad) si||v& // sig hvad du mener | |||||
sig $atend $sentence sAj // end of a sentence - han vaskede sig. | |||||
(gør sig til) g,Wr||sAj||t'el | |||||
(gav sig til) g&||sAj||tel // han gav sig til at ... | |||||
// PB avoid [staj] as in "flæskesteg" | // PB avoid [staj] as in "flæskesteg" | ||||
(han steg) h&n||st'e | (han steg) h&n||st'e | ||||
(hun steg) hOn||st'e | (hun steg) hOn||st'e | ||||
(alle steg) &l3||st'e | (alle steg) &l3||st'e | ||||
(vandet steg) v&n@D||st'e | (vandet steg) v&n@D||st'e | ||||
steg sdaj $atend $sentence | steg sdaj $atend $sentence | ||||
steget ste@d | |||||
//steget ste@d | |||||
// PB problem with noun "hav" = ocean and verb "hav(e)" = to have [hAu]/[h&v] | // PB problem with noun "hav" = ocean and verb "hav(e)" = to have [hAu]/[h&v] | ||||
(et hav) ed||h'Au // PB "et hav" = an ocean - not "hav en god dag" - have a nice day | (et hav) ed||h'Au // PB "et hav" = an ocean - not "hav en god dag" - have a nice day | ||||
// PB legende = legend/myth and = playing | // PB legende = legend/myth and = playing |
| |||||
// You can use the en_extra file, rather than this one | // You can use the en_extra file, rather than this one | ||||
// to add your own pronunciation definitions. | // to add your own pronunciation definitions. | ||||
ï $accent | ï $accent | ||||
ö $accent | ö $accent | ||||
ü $accent | ü $accent | ||||
û $accent | |||||
č $accent | č $accent | ||||
š $accent | š $accent | ||||
ş $accent | ş $accent | ||||
// Arabic letters | // Arabic letters | ||||
ء h'amza | ء h'amza | ||||
آ 'Elifm,adda# | |||||
أ 'Elifh,amza | |||||
ا 'Elif | |||||
ب bE? | |||||
آ al'if_mamd'uda# | |||||
أ h'amza_taht_al'if | |||||
ؤ h'amza_?la_waw | |||||
إ al'if_taht_h'amza | |||||
ئ h'amza_?la_jE? | |||||
ا al'if | |||||
ب ba | |||||
ة t'E?maR2b'uta# | ة t'E?maR2b'uta# | ||||
ت tE? | |||||
ت ta | |||||
ث TE? | ث TE? | ||||
ج ZIm | |||||
ج dZi:m | |||||
ح hE? | ح hE? | ||||
خ xE? | خ xE? | ||||
د dEl/1 | |||||
ذ DEl/1 | |||||
د dal/1 | |||||
ذ Dal/1 | |||||
ر R2A:? | ر R2A:? | ||||
ز zEjn | ز zEjn | ||||
س si:n | س si:n | ||||
ش Si:n | ش Si:n | ||||
ص sO:d@- | |||||
ض dO:d@- | |||||
ص sa:d@- | |||||
ض da:d@- | |||||
ط thA:? | ط thA:? | ||||
ظ DA:? | ظ DA:? | ||||
ع ?ajn | |||||
غ Q"ajn | |||||
ف fE? | |||||
ق qO:f | |||||
ك kEf | |||||
ل lEm | |||||
ع '?Ein | |||||
غ 'Q"Ein | |||||
ف fa | |||||
ق qa:f | |||||
ك kaf | |||||
ل lam | |||||
م mi:m | م mi:m | ||||
ن nu|:n | ن nu|:n | ||||
ه hE? | |||||
و wO:w | |||||
ه ha | |||||
و waw | |||||
ى al'if_maks'ura | |||||
ي jE? | ي jE? | ||||
// Farsi | |||||
پ pa | |||||
چ tSa | |||||
ژ Za | |||||
گ ga:f | |||||
ی f'A@si||j'e | |||||
ک k'a:f | |||||
// Urdu | |||||
ٹ te | |||||
ڈ de | |||||
ڑ z.e | |||||
ے barij'e | |||||
ھ h'@ | |||||
َ a | َ a | ||||
ِ i | ِ i | ||||
alas a#l'as | alas a#l'as | ||||
albeit O:lb'i:It | albeit O:lb'i:It | ||||
alfalfa alf'alf@ | alfalfa alf'alf@ | ||||
algebra aldZI2br@ | |||||
alias eIli@s | alias eIli@s | ||||
alibi al@baI | alibi al@baI | ||||
alibis al@baIz | alibis al@baIz | ||||
ambidextrous $3 | ambidextrous $3 | ||||
amen ,A:m'En $onlys | amen ,A:m'En $onlys | ||||
?3 amen ,eIm'En | ?3 amen ,eIm'En | ||||
?3 amo amoU | |||||
amok a#m0k | amok a#m0k | ||||
amoral eIm'0r@L | amoral eIm'0r@L | ||||
amount a#maUnt | amount a#maUnt | ||||
analysis a#nal@sIs | analysis a#nal@sIs | ||||
anemone a#nEm@ni | anemone a#nEm@ni | ||||
angel eIndZ@L | angel eIndZ@L | ||||
anecdote anIkdoUt | |||||
anecdotal anIkd'oUt@L | |||||
anemometer anIm'0mI2t3 | anemometer anIm'0mI2t3 | ||||
anew a#nju: | anew a#nju: | ||||
?3 anew a#nu: | ?3 anew a#nu: | ||||
argon A@g0n | argon A@g0n | ||||
argue A@gju: | argue A@gju: | ||||
aries e@ri:z | aries e@ri:z | ||||
arithmetic a#rITm@tIk | |||||
arithmetic a#rITm@tIk $onlys | |||||
arise a#raIz | arise a#raIz | ||||
arisen @rIz@n | arisen @rIz@n | ||||
armslength ,A@mzl'ENT | armslength ,A@mzl'ENT | ||||
aviary eIvi@ri | aviary eIvi@ri | ||||
awry a#raI | awry a#raI | ||||
axes aksI#z | axes aksI#z | ||||
axon aks0n | |||||
backend bak'End | backend bak'End | ||||
backstory baksto@ri | backstory baksto@ri | ||||
circumvent s3:k@mvEnt | circumvent s3:k@mvEnt | ||||
?5 circumvent sIRk@mvEnt | ?5 circumvent sIRk@mvEnt | ||||
citadel sIt@dEl | citadel sIt@dEl | ||||
clandestine $2 | |||||
clarinet klar@n'Et | clarinet klar@n'Et | ||||
cleanliness klEnlIn@s | cleanliness klEnlIn@s | ||||
cleanse klEnz | cleanse klEnz | ||||
copier k0pi@3 | copier k0pi@3 | ||||
copilot koUpaIl@t | copilot koUpaIl@t | ||||
coral k0r@L | coral k0r@L | ||||
?3 cordial kO@dZ@L | |||||
coronet k0r@nEt | coronet k0r@nEt | ||||
corollary $2 | corollary $2 | ||||
corporal kO@pr@L | corporal kO@pr@L | ||||
?3 debut deIb'ju: | ?3 debut deIb'ju: | ||||
decade dEkeId | decade dEkeId | ||||
decent di:s@nt | decent di:s@nt | ||||
decibel dEsI#b@L | |||||
declaration dEkl@'reIS@n | declaration dEkl@'reIS@n | ||||
decolletage deIk0lt'A:Z | decolletage deIk0lt'A:Z | ||||
decor deIkO@ | decor deIkO@ | ||||
doctrinal $alt1 | doctrinal $alt1 | ||||
doer du:3 | doer du:3 | ||||
dogged d0gI#d | dogged d0gI#d | ||||
dogmatic d0gm'atIk | |||||
doin du:In | doin du:In | ||||
domino $1 | domino $1 | ||||
donor doUn3 | donor doUn3 | ||||
gilead g'IlIad | gilead g'IlIad | ||||
gimme gImi | gimme gImi | ||||
giraffe dZI2raaf | giraffe dZI2raaf | ||||
github gIthVb | |||||
glacier gleIS3 | glacier gleIS3 | ||||
goin ,goUI2n $only // for goin' | goin ,goUI2n $only // for goin' | ||||
gonna g,@n@ | gonna g,@n@ | ||||
inventory Inv@ntri | inventory Inv@ntri | ||||
?3 inventory Inv@nto:ri | ?3 inventory Inv@nto:ri | ||||
interface $1 | interface $1 | ||||
interlude $1 | |||||
intermin Int'3:mIn // interminable | intermin Int'3:mIn // interminable | ||||
intern $1 $onlys | intern $1 $onlys | ||||
internee Int'3:ni: | internee Int'3:ni: | ||||
momentary moUm@nt@ri | momentary moUm@nt@ri | ||||
?3 momentary moUm@nt2e@ri | ?3 momentary moUm@nt2e@ri | ||||
momentum $2 | momentum $2 | ||||
monarchic m@nA@kIk | |||||
monday mVndeI | monday mVndeI | ||||
monotone m0n@toUn | monotone m0n@toUn | ||||
monsieur m@sj3: | monsieur m@sj3: | ||||
pecan pi:k@n | pecan pi:k@n | ||||
peculiar pI2kju:lI3 | peculiar pI2kju:lI3 | ||||
pedalo pEd@loU | pedalo pEd@loU | ||||
pedestal pEdI2st@L | |||||
pedestrian $alt3 | pedestrian $alt3 | ||||
pegasus pEg@s@s | pegasus pEg@s@s | ||||
pejorative p@dZ0r@tIv | pejorative p@dZ0r@tIv | ||||
rugged rVgI#d | rugged rVgI#d | ||||
ruin ru:I2n // for ruining | ruin ru:I2n // for ruining | ||||
sabbatic $alt3 | |||||
sabotage sab@tA:Z | sabotage sab@tA:Z | ||||
saboteur sab@t'3: | saboteur sab@t'3: | ||||
?5 saboteur sab@t'VR | ?5 saboteur sab@t'VR | ||||
sachet saSeI | sachet saSeI | ||||
sacred seIkr@d | sacred seIkr@d | ||||
sacrifice sakrI2faIs | sacrifice sakrI2faIs | ||||
sadistic $alt3 | |||||
safety seIfti | safety seIfti | ||||
saga sA:g@ | saga sA:g@ | ||||
sahara $alt3 | sahara $alt3 | ||||
san ,san $only | san ,san $only | ||||
sardine $2 | sardine $2 | ||||
satanic $alt3 | satanic $alt3 | ||||
satiric $alt3 | |||||
saucepan sO:sp@n | saucepan sO:sp@n | ||||
saudi saUdi | saudi saUdi | ||||
saute sO:teI | saute sO:teI | ||||
stampede $2 | stampede $2 | ||||
starboard stA@b3d | starboard stA@b3d | ||||
starry stA:rI | starry stA:rI | ||||
statistic $alt3 | |||||
stiletto stI2lEtoU | stiletto stI2lEtoU | ||||
strychnine str'Ikni:n | strychnine str'Ikni:n | ||||
sterile stEraIl | sterile stEraIl | ||||
(tear apart) t,e@||a#pA@t | (tear apart) t,e@||a#pA@t | ||||
(tear off) t'e@||'0f | (tear off) t'e@||'0f | ||||
teargas ti@3gas | teargas ti@3gas | ||||
techy tEki | |||||
teddybear t'EdIb,e@ | teddybear t'EdIb,e@ | ||||
telemetry t@lEm@tri | telemetry t@lEm@tri | ||||
telepathy t@lEp@Ti | telepathy t@lEp@Ti | ||||
uncle VNk@L | uncle VNk@L | ||||
undeny VndIn'aI | undeny VndIn'aI | ||||
underling $1 | underling $1 | ||||
underlings Vnd3lINz | |||||
underworld $1 | underworld $1 | ||||
undies Vndiz | undies Vndiz | ||||
undo Vnd'u: | undo Vnd'u: | ||||
?5 Luxembourg lVks@mbVRg | ?5 Luxembourg lVks@mbVRg | ||||
Madagascar mad@g'ask3 | Madagascar mad@g'ask3 | ||||
Madras m@draas | Madras m@draas | ||||
Madrid m@drId | |||||
Madrid m@drId | |||||
Malawi $alt3 | Malawi $alt3 | ||||
Malayalam maleI'A:l@m | |||||
Maldives mO:ld'i:v | Maldives mO:ld'i:v | ||||
Mali mA:li | Mali mA:li | ||||
Mandalay $3 | Mandalay $3 | ||||
Oahu oU'A:hu: | Oahu oU'A:hu: | ||||
Oklahoma oUkla#h'oUm@ | Oklahoma oUkla#h'oUm@ | ||||
Ohio oUh'aIoU | Ohio oUh'aIoU | ||||
Ohioan oUh'aIoU@n | |||||
Omagh oUmA: | Omagh oUmA: | ||||
Omaha oUma#hA: | Omaha oUma#hA: | ||||
Oman oUm'an | Oman oUm'an | ||||
Wyoming waI'oUmIN | Wyoming waI'oUmIN | ||||
Xhosa kO:s@ | Xhosa kO:s@ | ||||
Yemen $alt2 | Yemen $alt2 | ||||
Yosemite joUs'Em@ti | |||||
zaire zaI'i@3 | zaire zaI'i@3 | ||||
zimbabwe zI2mbA:bwi | zimbabwe zI2mbA:bwi | ||||
zimbabwean zI2mbA:bwI@n | zimbabwean zI2mbA:bwI@n | ||||
Rachael reItS@L | Rachael reItS@L | ||||
Rachel reItS@L | Rachel reItS@L | ||||
Rafael rA:faI'El | Rafael rA:faI'El | ||||
Rashid rA:S'i:d | |||||
Raul raU'u:l | Raul raU'u:l | ||||
Rees ri:s | Rees ri:s | ||||
Reese ri:s | Reese ri:s | ||||
Sheila Si:l@ | Sheila Si:l@ | ||||
Simon saIm@n | Simon saIm@n | ||||
Sinead SI2neId | Sinead SI2neId | ||||
Sinéad SI2neId | |||||
Siobhan S@vO:n | Siobhan S@vO:n | ||||
Siobhán S@vO:n | Siobhán S@vO:n | ||||
Sonia s0nj@ | Sonia s0nj@ |
portr) ai (t I# | portr) ai (t I# | ||||
.group al | .group al | ||||
@ic) al (_S2 @L | |||||
_) al (@ a#l | _) al (@ a#l | ||||
gonz) al 'A:l | gonz) al 'A:l | ||||
_) alaba al@b'a | _) alaba al@b'a | ||||
p) an (c an | p) an (c an | ||||
@m) an (d aan | @m) an (d aan | ||||
sl) an (d aan | sl) an (d aan | ||||
_) anecdo anIkdoU | |||||
C) an (t aan | C) an (t aan | ||||
an (ath a#n | an (ath a#n | ||||
ann (eal a#n | ann (eal a#n | ||||
as (thm as | as (thm as | ||||
as (tral as | as (tral as | ||||
as (tro as | as (tro as | ||||
as (trolog a#s | |||||
as (trono a#s | |||||
_) as (trolog a#s | |||||
_) as (trono a#s | |||||
&) as (ty_ a#s | &) as (ty_ a#s | ||||
ass (ym as | ass (ym as | ||||
purch) as (e Is | purch) as (e Is | ||||
_s) ata (n eIt@ | _s) ata (n eIt@ | ||||
_g) ator eIt3 | _g) ator eIt3 | ||||
&) ate (_$w_alt2 @t | &) ate (_$w_alt2 @t | ||||
der) ated (_ eItI#d | |||||
pal) ate (_ @t | pal) ate (_ @t | ||||
consul) ate (_ @t | consul) ate (_ @t | ||||
macul) ate (_ @t | macul) ate (_ @t | ||||
tim) ate (_ @t | tim) ate (_ @t | ||||
tim) ated (_ eItI2d | |||||
tim) ated (_ eItI#d | |||||
tim) ating (_ eItIN | tim) ating (_ eItIN | ||||
din) ate (_ @t | din) ate (_ @t | ||||
ion) ate (_ @t | ion) ate (_ @t | ||||
at (io_ eIS | at (io_ eIS | ||||
ati (aX 'eIS | ati (aX 'eIS | ||||
&) atism @tIz@m | &) atism @tIz@m | ||||
st) at (ist @t | |||||
w) at (t 0t | w) at (t 0t | ||||
@) ath (An_ @T | @) ath (An_ @T | ||||
athed (_ eIDd | athed (_ eIDd | ||||
bi (nm bI | bi (nm bI | ||||
bi (noc bI2 | bi (noc bI2 | ||||
_) bio (@P3 b,aIoU | _) bio (@P3 b,aIoU | ||||
bi (ol baI | |||||
bi (otic baI | bi (otic baI | ||||
@) bi (osA baI | @) bi (osA baI | ||||
bi (oC_ bI | bi (oC_ bI | ||||
a) ch (il k | a) ch (il k | ||||
bra) ch k | bra) ch k | ||||
te) ch (K k | te) ch (K k | ||||
_te) ch k | |||||
ch (isC k | ch (isC k | ||||
ch (ic_ k | ch (ic_ k | ||||
@@Car) ch (_ k | @@Car) ch (_ k | ||||
de (ft dE | de (ft dE | ||||
_) de (g@ dI2 | _) de (g@ dI2 | ||||
_) de (hyd ,di: | _) de (hyd ,di: | ||||
_) de (ist deI | |||||
_) de (j dI2 | _) de (j dI2 | ||||
_) de (l@ dI2 | _) de (l@ dI2 | ||||
de (law dE | de (law dE | ||||
sp) e (cies i: | sp) e (cies i: | ||||
depr) ec (L02 i:S | depr) ec (L02 i:S | ||||
_) e (cl %I | _) e (cl %I | ||||
_) eccles (i I2kli:z | |||||
econo (m Ik'0n@ | econo (m Ik'0n@ | ||||
econo (mic i:k@n'0 | econo (mic i:k@n'0 | ||||
_) eco (s i:koU | _) eco (s i:koU | ||||
h) e (sion_ 'i: | h) e (sion_ 'i: | ||||
@) e (tio i: | @) e (tio i: | ||||
discr) e (tion E | discr) e (tion E | ||||
eu ju: | |||||
?3 n) eu u: | |||||
?3 n) eu (r U@ | |||||
r) eu (d OI | |||||
eu (m_ 'i:@ | |||||
s) eu (m_ 'i@ | |||||
l) eur 3: | |||||
?5 eur VR | |||||
eur (_ '3: | |||||
?3 eur (_ 'U@ | |||||
?5 eur (_ 'VR | |||||
_) euro jU@roU | |||||
_) euro (pe jU@r-@ | |||||
&) eus (_ =I2@s | |||||
@) euse (_ '3:z | |||||
?3 @) euse (_ 'u:z | |||||
d) eu (ts OI | |||||
ew ju: | ew ju: | ||||
_s) ew u: | _s) ew u: | ||||
?3 d) ew u: | ?3 d) ew u: | ||||
er (nal_ '3: | er (nal_ '3: | ||||
&) er (n_ 3 | &) er (n_ 3 | ||||
c) er (n_ 3: | c) er (n_ 3: | ||||
_g) er (on Er | |||||
&) er (oCe_ =@r | &) er (oCe_ =@r | ||||
er (se 3: | er (se 3: | ||||
v) er (sal '3: | v) er (sal '3: | ||||
pr) es (ent Ez | pr) es (ent Ez | ||||
es (iA i:z | es (iA i:z | ||||
es (ian_ 'i:z | es (ian_ 'i:z | ||||
es (ic 'i:z | |||||
@) es (ic 'i:z | |||||
esis (_ 'i:sIs | esis (_ 'i:sIs | ||||
th) eses (_ @si:z | th) eses (_ @si:z | ||||
th) esis (_ @sIs | th) esis (_ @sIs | ||||
m) etry (_ =@tr%I | m) etry (_ =@tr%I | ||||
&) ett (_ I2t | &) ett (_ I2t | ||||
.group eu | |||||
eu ju: | |||||
?3 n) eu u: | |||||
?3 n) eu (r U@ | |||||
r) eu (d OI | |||||
eu (m_ 'i:@ | |||||
s) eu (m_ 'i@ | |||||
l) eur 3: | |||||
?5 eur VR | |||||
eur (_ '3: | |||||
?3 eur (_ 'U@ | |||||
?5 eur (_ 'VR | |||||
_) euro jU@roU | |||||
_) euro (pe jU@r-@ | |||||
&) eus (_ =I2@s | |||||
@) euse (_ '3:z | |||||
?3 @) euse (_ 'u:z | |||||
d) eu (ts OI | |||||
.group ev | .group ev | ||||
_) ev I2v | _) ev I2v | ||||
_) eva (ne Ev@ | _) eva (ne Ev@ | ||||
n) ihi aI|@ | n) ihi aI|@ | ||||
_) i (h aI | _) i (h aI | ||||
ii (_ IaI | ii (_ IaI | ||||
ij (C eI // Dutch | |||||
f) i (j i: | f) i (j i: | ||||
h) i (j aI | h) i (j aI | ||||
@b) il (_ @L | |||||
@Cc) il (_ @L | |||||
@p) il (_ @L | |||||
@r) il (_ @L | |||||
@s) il (_ @L | |||||
nt) il (_ @L | |||||
@v) il (_ @L | |||||
@) ila (_ 'Il@ | |||||
?3 &) ile (_$w_alt2 @L | |||||
_C) i (lage aI | |||||
_d) i (lat %aI | |||||
l) il (ah_ aIl | |||||
_m) i (ld aI | |||||
_w) i (ld aI | |||||
ch) i (ld aI | |||||
w) i (lderC I | |||||
ch) i (ldr I | |||||
sacr) ile IlI | |||||
i (leA I | |||||
&) ile (ge @lI | |||||
il (ise @l | |||||
il (ize @l | |||||
s) i (len aI | |||||
C) i (ler aI | |||||
_) il (l@ %Il | |||||
@) illa (_ 'Il@ | |||||
&) illard (_ i:A: | |||||
_) il (ln Il | |||||
@) i (less I | @) i (less I | ||||
_) il (lust Il | |||||
_C) i (lo aI | |||||
&) ily (_S2i l%I | |||||
@) i (ness I | @) i (ness I | ||||
i (o I2 | i (o I2 | ||||
_) i (o aI | _) i (o aI | ||||
ize (_ aIz | ize (_ aIz | ||||
ial) ize (_S3 aIz | ial) ize (_S3 aIz | ||||
ize (d_ aIz | ize (d_ aIz | ||||
i (zen I2 | |||||
i (zen I | |||||
iz (er_ aIz | iz (er_ aIz | ||||
i (zon_ 'aI | i (zon_ 'aI | ||||
_p) izz i:t|s | _p) izz i:t|s | ||||
&n) iel (_ j@L | &n) iel (_ j@L | ||||
&r) iel (_ =i:@L | &r) iel (_ =i:@L | ||||
ie (n i@ | ie (n i@ | ||||
&) ie (n_ =i@n | |||||
d) iene (_ 'aIi:n | d) iene (_ 'aIi:n | ||||
ie (ntal I'E | ie (ntal I'E | ||||
g) ie (n i: | g) ie (n i: | ||||
igu (e 'i:g | igu (e 'i:g | ||||
igu (_ 'i:g | igu (_ 'i:g | ||||
.group il | |||||
@b) il (_ @L | |||||
@Cc) il (_ @L | |||||
@p) il (_ @L | |||||
@r) il (_ @L | |||||
@s) il (_ @L | |||||
nt) il (_ @L | |||||
@v) il (_ @L | |||||
@) ila (_ 'Il@ | |||||
?3 &) ile (_$w_alt2 @L | |||||
_C) il (age aIl | |||||
_d) il (at %aIl | |||||
l) il (ah_ aIl | |||||
_m) il (d aIl | |||||
_w) il (d aIl | |||||
ch) il (d aIl | |||||
w) il (derC Il | |||||
ch) il (dr Il | |||||
sacr) ile IlI | |||||
il (eA Il | |||||
&) ile (ge @lI | |||||
il (ise @l | |||||
il (ize @l | |||||
s) il (en aIl | |||||
C) il (er aIl | |||||
_) il (l@ %Il | |||||
@) illa (_ 'Il@ | |||||
&) illard (_ i:A: | |||||
_) il (ln Il | |||||
_) il (lust Il | |||||
_C) il (o aIl | |||||
&) ily (_S2i l%I | |||||
.group im | .group im | ||||
&) im (_ I#m | &) im (_ I#m | ||||
cl) im aIm | cl) im aIm | ||||
imm (in Im | imm (in Im | ||||
immo (bi Im'oU | immo (bi Im'oU | ||||
imm (unis Im | imm (unis Im | ||||
_) immu (no I2mju: | |||||
@) imous (_ =Im@s | @) imous (_ =Im@s | ||||
im (pac Im | im (pac Im | ||||
im (pecu ,Im | im (pecu ,Im | ||||
in (ga_ 'IN | in (ga_ 'IN | ||||
in (got IN | in (got IN | ||||
_) in (gro IN | _) in (gro IN | ||||
_) in (im I2n | |||||
_) in (jur In | _) in (jur In | ||||
_) in (k IN | _) in (k IN | ||||
_) in (l In | _) in (l In | ||||
@) istan (_ =Istan | @) istan (_ =Istan | ||||
@) istani (_ Ist'A:nI | @) istani (_ Ist'A:nI | ||||
@) iste (_ 'i:st | @) iste (_ 'i:st | ||||
@) is (tic 'Is | |||||
@) is (tic_ 'Is | |||||
r) is (y_ =@s | r) is (y_ =@s | ||||
betr) oth oUD | betr) oth oUD | ||||
?3 cl) o (th O | ?3 cl) o (th O | ||||
cl) othe oUD | cl) othe oUD | ||||
tr) othe oUD | |||||
b) o (ther 0 | b) o (ther 0 | ||||
_r) o (ther 0 | _r) o (ther 0 | ||||
o (ther+ V | o (ther+ V | ||||
dr) on (_ @n | dr) on (_ @n | ||||
or) on (_ 0n | or) on (_ 0n | ||||
cr) on (_ 0n | cr) on (_ 0n | ||||
x) on (_+ 0n | |||||
@x) on (_ @n | |||||
phot) on @n | phot) on @n | ||||
pers) on @n | pers) on @n | ||||
pers) on (i '0n | pers) on (i '0n | ||||
.group or | .group or | ||||
or o@ | or o@ | ||||
_) or O@ | _) or O@ | ||||
_) organo (@P6 O@g,anoU | |||||
or (ch_ O@ | or (ch_ O@ | ||||
or (m_ O@ | or (m_ O@ | ||||
st) or (m o@ | st) or (m o@ | ||||
?5 _) sur sVR | ?5 _) sur sVR | ||||
_) sure SU@ | _) sure SU@ | ||||
sur (anc SU@ | sur (anc SU@ | ||||
sur (g+ s3: | |||||
sur (m s3 | sur (m s3 | ||||
sur (pa s3 | sur (pa s3 | ||||
sur (pr s3 | sur (pr s3 | ||||
te (rrest t2@ | te (rrest t2@ | ||||
r) tga (g gI | r) tga (g gI | ||||
@) t (ia S | @) t (ia S | ||||
_pi) t (ia t | |||||
s) t (l | s) t (l | ||||
to (morr t@ | to (morr t@ | ||||
_) to (nn tV | _) to (nn tV | ||||
tribe traIb | tribe traIb | ||||
_) tri (bu trI | _) tri (bu trI | ||||
_) tri (g trI | _) tri (g trI | ||||
_) tri (gonA trI | |||||
_) tri (ni trI | _) tri (ni trI | ||||
_) tri (vi trI | _) tri (vi trI | ||||
_) tri (xA trI | _) tri (xA trI | ||||
_) tsu tsu: | _) tsu tsu: | ||||
_) two tu: | _) two tu: | ||||
ttu (r t@ | ttu (r t@ | ||||
@) tu (al tSu: | |||||
@) tu (at tSu: | |||||
_sta) tu tSu: | |||||
?3 _sta) tu (to tS@ | |||||
c) tu (al_ =tSu: | |||||
r) tue (_ tSu: | |||||
?3 tu (la_ tS@ | |||||
@) tu (lat =tSU | |||||
?3 tu (Ant tSu: | |||||
?3 tu (Ancy tSu: | |||||
tu (ous tSu: | |||||
@) tur (A tS@r | |||||
@) tur (al_ tS=@r | |||||
&) tur (y tS@r | |||||
&) tur (_ tS3 | |||||
&) ture (_ tS3 | |||||
tz ts | tz ts | ||||
tze (_ tsi | tze (_ tsi | ||||
&) tious S=@s | &) tious S=@s | ||||
AC) tive (_ =tIv | AC) tive (_ =tIv | ||||
.group tu | |||||
@) tu (al tSu: | |||||
@) tu (at tSu: | |||||
_sta) tu tSu: | |||||
?3 _sta) tu (to tS@ | |||||
c) tu (al_ =tSu: | |||||
r) tue (_ tSu: | |||||
?3 tu (la_ tS@ | |||||
@) tu (lat =tSU | |||||
?3 tu (Ant tSu: | |||||
?3 tu (Ancy tSu: | |||||
tu (ous tSu: | |||||
@) tur (A tS@r | |||||
@) tur (al_ tS=@r | |||||
&) tur (y tS@r | |||||
&) tur (_ tS3 | |||||
&) ture (_ tS3 | |||||
.group u | .group u | ||||
u V | u V | ||||
man) u ju: | man) u ju: | ||||
ö 3: | ö 3: | ||||
ör 3: | ör 3: | ||||
ü u: | ü u: | ||||
û u: | |||||
ç s | ç s | ||||
ß s | ß s | ||||
č tS | č tS |
// names of symbols | // names of symbols | ||||
ª a | ª a | ||||
º o | º o | ||||
° grados | |||||
_. punto | _. punto | ||||
_, koma | _, koma | ||||
_; p,untoik'oma | _; p,untoik'oma | ||||
_#º o | _#º o | ||||
_#ª a | _#ª a | ||||
_ord o | _ord o | ||||
ºc gr'ados||T'e | |||||
ºf gr'ados||'Efe | |||||
ºk gr'ados||k'a | |||||
_1o prim'Er | _1o prim'Er | ||||
_2o seQ'und | _2o seQ'und |
| |||||
// "hbs" is the ISO 639-3 code for Serbian/Croatian/Bosnian macrolanguage | // "hbs" is the ISO 639-3 code for Serbian/Croatian/Bosnian macrolanguage | ||||
// This file is UTF-8 encoded | // This file is UTF-8 encoded | ||||
y ipsilon | y ipsilon | ||||
z z@ | z z@ | ||||
ž Z@ | ž Z@ | ||||
а a | |||||
б b@ | |||||
ц ts@ | |||||
ћ tS;@2 | |||||
ч tS@ | |||||
џ dZ@ | |||||
ѕ dz@ | |||||
д d@ | |||||
ђ dZ;@2 | |||||
е E | |||||
ф f@ | |||||
г g@ | |||||
х x@ | |||||
и i | |||||
ј j@2 | |||||
к k@ | |||||
љ l^@ | |||||
л l@ | |||||
м m@ | |||||
њ n^@ | |||||
н n@ | |||||
о o | |||||
п p@ | |||||
р R@ | |||||
_с s@ | |||||
ш S@ | |||||
т t@ | |||||
у u | |||||
в v@ | |||||
з z@ | |||||
ж Z@ | |||||
ѓ dZ;@2 | |||||
ќ tS;@2 | |||||
ё jo | |||||
й kr,atko||'i | |||||
щ StS;@2 | |||||
ъ tvR2d'i||zn,ak | |||||
ы jeri | |||||
ь m'eki||z,nak | |||||
э e | |||||
ю ju | |||||
я ja | |||||
_á $accent | _á $accent | ||||
_é $accent | _é $accent | ||||
_ó $accent | _ó $accent | ||||
_ú $accent | _ú $accent | ||||
_ar 'Arapsko | |||||
_cyr tS;'iRilitsa | |||||
// accent names | // accent names | ||||
_lig l'ig&t,UR& | _lig l'ig&t,UR& | ||||
_acu 'akUt | _acu 'akUt |
| |||||
// "hbs" is the ISO 639-3 code for Serbian/Croatian/Bosnian macrolanguage | // "hbs" is the ISO 639-3 code for Serbian/Croatian/Bosnian macrolanguage | ||||
// This file is UTF-8 encoded | // This file is UTF-8 encoded | ||||
.group d | .group d | ||||
d d | d d | ||||
dz dz | dz dz | ||||
_) dz (_ dz@ | |||||
dž dZ | dž dZ | ||||
_) dž (_ dZ@ | |||||
.group đ | .group đ | ||||
đ dZ; | đ dZ; | ||||
.group l | .group l | ||||
l l | l l | ||||
K) l (K l- | K) l (K l- | ||||
_) lj (_ l^@ | |||||
lj (+ l^ | lj (+ l^ | ||||
v) lj lj | v) lj lj | ||||
n (k N | n (k N | ||||
nj n^ | nj n^ | ||||
_) nj (_ n^@ | |||||
.group o | .group o | ||||
o o | o o |
श S@ | श S@ | ||||
ष s.@ // retroflex [S] | ष s.@ // retroflex [S] | ||||
स s@ | स s@ | ||||
ह H@- | |||||
ह H@ | |||||
क़ q@ | क़ q@ | ||||
ख़ x@ | ख़ x@ | ||||
ग़ Q@ | ग़ Q@ | ||||
_?? Vks.@r | _?? Vks.@r | ||||
// Alphabet names | |||||
_ar 'Vrbi | |||||
_cyr sIrIk'Ik | |||||
_zh c'i@ni | |||||
// Punctuation | // Punctuation | ||||
। dVn.d.V | । dVn.d.V | ||||
$ dOl@r | |||||
% pVt'IS@t | |||||
+ plVs | |||||
= bVr'a:b@r | |||||
* ta:r'a:Nk@n | |||||
* | |||||
// Pronouns | // Pronouns | ||||
मैं $u // main: IrI | मैं $u // main: IrI | ||||
मुझे $u | मुझे $u | ||||
को $u // ko: to | को $u // ko: to | ||||
तक $u // tak: until, for(time) | तक $u // tak: until, for(time) | ||||
बिना $u $pause // without (preposition) | बिना $u $pause // without (preposition) | ||||
में $u // me: in | |||||
में me~: $u+ // me: in | |||||
से $u // se: from, with, by | से $u // se: from, with, by | ||||
// Conjunctions | // Conjunctions | ||||
और $u $pause // aur: and | |||||
और $u $brk // aur: and | |||||
य j@ $u $pause // ja: or | य j@ $u $pause // ja: or | ||||
अगर $u $pause // agar: if | अगर $u $pause // agar: if | ||||
यदि $u $pause // yadi: if, whether | यदि $u $pause // yadi: if, whether | ||||
// Exceptions | // Exceptions | ||||
क्रिकेट krIk'Et | |||||
क्रिकेट kr'IkIt | |||||
सायबर s'aIb@r | सायबर s'aIb@r |
ः H // visarga | ः H // visarga | ||||
.group ् // virama | .group ् // virama | ||||
् | |||||
् | |||||
// Extra consonants | // Extra consonants | ||||
ज़ zV | ज़ zV | ||||
ज़ (B z | ज़ (B z | ||||
.group ड़ // dddha (should retroflex flap) | |||||
.group ड़ // dddha (should retroflex flap ?) | |||||
ड़ r.V | ड़ r.V | ||||
ड़ (B r. | ड़ (B r. | ||||
.group | |||||
$ dOlV | |||||
% pVsEnt | |||||
// This file is UTF-8 encoded | |||||
// This file is UTF-8 encoded | |||||
// $alt change [e] or [o] in the stressed syllable to [E] or [O] | // $alt change [e] or [o] in the stressed syllable to [E] or [O] | ||||
# kantSellet:o | # kantSellet:o | ||||
@ ki'otS:ola | @ ki'otS:ola | ||||
~ tilde | ~ tilde | ||||
° g@-*'a:di | |||||
: d,uep'unti | : d,uep'unti | ||||
_! p,untoesklamat'ivo | _! p,untoesklamat'ivo |
_0C p'Eq_! | _0C p'Eq_! | ||||
// Larger numbers | // Larger numbers | ||||
_0M0 tS'h-@n // 10^3 | |||||
_1M0 tS'h-@n | |||||
_0M0 tS'h@n // 10^3 | |||||
_1M0 tS'h@n | |||||
_0M1 m'an // 10^4 | _0M1 m'an // 10^4 | ||||
_1M1 m'an | _1M1 m'an | ||||
_0M2 '@q // 10^8 | _0M2 '@q // 10^8 | ||||
ᄋ i;'u-N | ᄋ i;'u-N | ||||
ᄌ tS;i;'u-t | ᄌ tS;i;'u-t | ||||
ᄍ 's-aNdZ;,i;u-t | ᄍ 's-aNdZ;,i;u-t | ||||
ᄎ tSh-'i;u-t | |||||
ᄎ tSh'i;u-t | |||||
ᄏ khi;'u-k | ᄏ khi;'u-k | ||||
ᄐ thi;'u-t- | ᄐ thi;'u-t- | ||||
ᄑ phi;'u-p | ᄑ phi;'u-p |
ᄍ 'tS;- // TODO: phoneme | ᄍ 'tS;- // TODO: phoneme | ||||
.group ᄎ // ㅊ | .group ᄎ // ㅊ | ||||
ᄎ tSh- // TODO: phoneme | |||||
ᄎ tSh // TODO: phoneme | |||||
.group ᄂ // ㄴ | .group ᄂ // ㄴ | ||||
ᄂ ;n | ᄂ ;n | ||||
ᇀᄂ nn | ᇀᄂ nn | ||||
ᇀᄆ mm | ᇀᄆ mm | ||||
ᇀ (A th | ᇀ (A th | ||||
ᇀ (L02 tSh; | |||||
ᇀ (L02 tS;h | |||||
.group ᆸ // ㅂ | .group ᆸ // ㅂ | ||||
ᆸ p | ᆸ p | ||||
ᆾ t | ᆾ t | ||||
ᆾᄂ nn | ᆾᄂ nn | ||||
ᆾᄆ mm | ᆾᄆ mm | ||||
ᆾ (A tSh; | |||||
ᆾ (A tS;h | |||||
.group ᆫ // ㄴ | .group ᆫ // ㄴ | ||||
ᆫ n | ᆫ n |
.group 0xe0a4 // devanagari | |||||
0xe0a4 _^_HI // switch to hindi voice | |||||
.group 0xe0a5 // devanagari | |||||
0xe0a5 _^_HI | |||||
.group | .group | ||||
$ do:l.ar | $ do:l.ar |
| |||||
// This file in UTF8 encoded | // This file in UTF8 encoded | ||||
// $alt2, remove s from plural, remove en from plural | // $alt2, remove s from plural, remove en from plural | ||||
// punctuation | // punctuation | ||||
. p8nt $max3 | |||||
. p8nt | |||||
_, k'Oma: | _, k'Oma: | ||||
_: d'8b@l@p,8nt | _: d'8b@l@p,8nt | ||||
_; p'8ntkOm,a: | _; p'8ntkOm,a: | ||||
_{ v'irkAnt@h,a:k | _{ v'irkAnt@h,a:k | ||||
_} v'irkAnt@h,a:ksl'Wyt@n | _} v'irkAnt@h,a:ksl'Wyt@n | ||||
_- k'OpElt,e:k@n | _- k'OpElt,e:k@n | ||||
+ pl'8s $max3 | |||||
* st'E*rEt;@ $max3 | |||||
+ pl'8s | |||||
* st'E*rEt;@ | |||||
= Q@l'EIkte:k@n | |||||
__ l'IgEntst@-*'e:pj@ | __ l'IgEntst@-*'e:pj@ | ||||
€ 'Y:*o:t,e:k@n | € 'Y:*o:t,e:k@n | ||||
° Qra:d@n | |||||
// numbers | // numbers | ||||
// abbreviations | // abbreviations | ||||
be $abbrev // used as domain abbrev for Belgium and in a lot of other names | be $abbrev // used as domain abbrev for Belgium and in a lot of other names | ||||
ca ka: $hasdot | |||||
enz Enzo:vo:rt | enz Enzo:vo:rt | ||||
bvb bEIv'o:rbe:lt | bvb bEIv'o:rbe:lt | ||||
eu e:_y: $abbrev | eu e:_y: $abbrev | ||||
schepen $alt | schepen $alt | ||||
steven $alt | steven $alt | ||||
teken $alt | teken $alt | ||||
volwassen $alt | |||||
wapen $alt | wapen $alt | ||||
zegen $alt | zegen $alt | ||||
trokken $alt | trokken $alt |
// Suffix rule: SUFX_E eg. S2e means double the vowel before the final consonant | // Suffix rule: SUFX_E eg. S2e means double the vowel before the final consonant | ||||
.L01 g k | .L01 g k | ||||
.L02 _ t_ d_ de_ den_ // verb endings | |||||
.L02 _ t_ d_ de_ den_ nen_ // verb endings ('nen' for 'scannen') | |||||
.group a | .group a | ||||
g Q // ph_dutch changes to [x] before unvoiced, NULL after [x] | g Q // ph_dutch changes to [x] before unvoiced, NULL after [x] | ||||
gg Q | gg Q | ||||
s) g x | s) g x | ||||
@) gi (eus Z | |||||
@) gi (euz Z | |||||
reli) gi (eu Qij | |||||
.group ge | |||||
_) ge (@P2 Q@ | _) ge (@P2 Q@ | ||||
ge (bied Q@ | ge (bied Q@ | ||||
_) gee Qe: | _) gee Qe: | ||||
_) gei QEI | _) gei QEI | ||||
gener (aal Q,e:n@r | gener (aal Q,e:n@r | ||||
_) gelijk Q@lEIk | _) gelijk Q@lEIk | ||||
_) ge (lC QE | |||||
_) ge (rC QE | _) ge (rC QE | ||||
_) geu QY: | _) geu QY: | ||||
_) ge (ven Qe: | _) ge (ven Qe: | ||||
ge (sprek Q@ // in compounds | ge (sprek Q@ // in compounds | ||||
@) gi (eus Z | |||||
@) gi (euz Z | |||||
reli) gi (eu Qij | |||||
.group h | .group h | ||||
h h | h h | ||||
_) herinn h%ErIn // herinneren | _) herinn h%ErIn // herinneren | ||||
_) hersen h'Ers@n | _) hersen h'Ers@n | ||||
&) heid (_S4 hEIt | &) heid (_S4 hEIt | ||||
_) hulp (@@P4 h'8lp | |||||
.group i | .group i | ||||
pl) oi (t v#A | pl) oi (t v#A | ||||
c) oi (ffu v#A | c) oi (ffu v#A | ||||
pr) o (gram o: | pr) o (gram o: | ||||
omgeving OmQ'e:vIN | |||||
oo (X 'o: | oo (X 'o: | ||||
oon 'o:n // in compounds, eg. telefoongesprek | oon 'o:n // in compounds, eg. telefoongesprek | ||||
oo (C_ 'o: | oo (C_ 'o: | ||||
_) oost (@P4 o:st | _) oost (@P4 o:st | ||||
_) op (@@P2 'Op | _) op (@@P2 'Op | ||||
_) open (@P4 'o:p@n | _) open (@P4 'o:p@n | ||||
_) op (enen 'o:p | |||||
_) op (enen+ 'o:p | |||||
_) openings (P8 'o:p@nINs | _) openings (P8 'o:p@nINs | ||||
_) op (era 'o:p | _) op (era 'o:p | ||||
_) op (tion Op | _) op (tion Op |
eles $u+ $verbf | eles $u+ $verbf | ||||
elas $u+ $verbf | elas $u+ $verbf | ||||
me $u // reflexive | |||||
me $u $verbf | |||||
me $u $verbf // reflexive | |||||
te $u $verbf | te $u $verbf | ||||
nos $u $nounf | nos $u $nounf | ||||
la $u | la $u | ||||
?2 nesta $u+ $nounf | ?2 nesta $u+ $nounf | ||||
?2 neste $u+ $nounf n'estSi //in this | ?2 neste $u+ $nounf n'estSi //in this | ||||
?2 esse $u+ $nounf 'esi // that | ?2 esse $u+ $nounf 'esi // that | ||||
essa 'Es& $u+ | |||||
essa 'Es& $u+ $noun | |||||
desse $u+ $nounf | desse $u+ $nounf | ||||
desta $nounf | desta $nounf | ||||
nesse n'esy $u+ $nounf | nesse n'esy $u+ $nounf | ||||
duns $u $nounf | duns $u $nounf | ||||
dumas $u $nounf | dumas $u $nounf | ||||
em $u // in,on,at | |||||
em $u $noun // in,on,at | |||||
no nu $u $nounf | no nu $u $nounf | ||||
na $u $nounf | na $u $nounf | ||||
num $u $nounf | num $u $nounf | ||||
// conjunctions | // conjunctions | ||||
?1 e i $u // and | ?1 e i $u // and | ||||
?2 e i $u // and | ?2 e i $u // and | ||||
se $u // if | |||||
se $u+ $verbf // if | |||||
?2 mas $u // but | ?2 mas $u // but | ||||
estava $u | estava $u | ||||
estávamos $u | estávamos $u | ||||
astavam $u | |||||
estavam $u | |||||
estive $u | estive $u | ||||
?2 esteve estevy $u2 | ?2 esteve estevy $u2 | ||||
// some common adjectives and adverbs | // some common adjectives and adverbs | ||||
alguns $u // some | |||||
algumas $u // some | |||||
não n,&U~ $strend // not | |||||
alguns $u $noun // some | |||||
algumas $u $noun // some | |||||
não n,&U~ $verbf $strend // not | |||||
nunca $u+ $verbf | |||||
sempre $u+ $verbf | |||||
qualquer $u $nounf | |||||
quaisquer $u $nounf | |||||
jamais $u+ $verbf | |||||
// MAIN WORD DICTIONARY | // MAIN WORD DICTIONARY | ||||
adepto $alt | adepto $alt | ||||
adore $alt | adore $alt | ||||
adorno $alt $verb | adorno $alt $verb | ||||
aeroporto $alt2 | |||||
aeroportos $alt | |||||
albatrozes $alt | albatrozes $alt | ||||
alcateia $alt | alcateia $alt | ||||
alcova $alt2 | |||||
alferes $alt | alferes $alt | ||||
algozes $alt | algozes $alt | ||||
alicerce $alt | |||||
almoço $alt $verb | almoço $alt $verb | ||||
amarelo $alt | |||||
ameba $alt | ameba $alt | ||||
amores $alt2 | amores $alt2 | ||||
antonieta $alt2 | antonieta $alt2 | ||||
apego $alt2 $noun | apego $alt2 $noun | ||||
apelo $alt $verb | |||||
apelo $alt2 $noun | |||||
aposto $alt $verb | aposto $alt $verb | ||||
aperto $alt2 $noun | aperto $alt2 $noun | ||||
apneia $alt | apneia $alt | ||||
arroz $alt2 | arroz $alt2 | ||||
assembleia $alt | assembleia $alt | ||||
ateia $alt | ateia $alt | ||||
aterro $alt2 $noun | |||||
aterros $alt2 | |||||
aterro $alt2 | |||||
aterro $alt $verb | |||||
atmosfera $alt | atmosfera $alt | ||||
atrozes $alt | atrozes $alt | ||||
autora $alt2 | autora $alt2 | ||||
azedo $alt $verb | azedo $alt $verb | ||||
baqueta $alt2 | baqueta $alt2 | ||||
beco $alt2 | beco $alt2 | ||||
belo $alt | |||||
besta $alt2 | besta $alt2 | ||||
bilhete $alt2 | bilhete $alt2 | ||||
boca $alt2 | boca $alt2 | ||||
boceta $alt2 | |||||
bochecha $alt2 | bochecha $alt2 | ||||
bojo $alt2 | bojo $alt2 | ||||
boleia $alt | boleia $alt | ||||
bolo $alt $verb | bolo $alt $verb | ||||
borboleta $alt2 | borboleta $alt2 | ||||
bordo $alt | bordo $alt | ||||
borra $alt2 $noun | |||||
bosque $alt | bosque $alt | ||||
boto $alt2 $noun | boto $alt2 $noun | ||||
boxe $alt | |||||
brejo $alt | |||||
bromelha $alt | bromelha $alt | ||||
cabelo $alt2 | |||||
cabresto $alt2 | cabresto $alt2 | ||||
cacete $alt2 | cacete $alt2 | ||||
cachorra $alt2 | cachorra $alt2 | ||||
caderneta $alt2 | caderneta $alt2 | ||||
cadete $alt2 | cadete $alt2 | ||||
camelha $alt | |||||
camelo $alt2 | |||||
caminhonete $alt | |||||
camiseta $alt2 | camiseta $alt2 | ||||
cantora $alt2 | cantora $alt2 | ||||
capacete $alt2 | capacete $alt2 | ||||
caractere $alt | caractere $alt | ||||
caramelo $alt | |||||
carbureto $alt2 | |||||
careta $alt2 | careta $alt2 | ||||
carreta $alt2 | carreta $alt2 | ||||
carroça $alt | carroça $alt | ||||
casebre $alt | casebre $alt | ||||
castelo $alt | |||||
cateto $alt2 | cateto $alt2 | ||||
catorze $alt2 | catorze $alt2 | ||||
cebola $alt2 | cebola $alt2 | ||||
cefaleia $alt | cefaleia $alt | ||||
centopeia $alt | |||||
centopeia $alt | |||||
cerca $alt | cerca $alt | ||||
cerca $alt2 $noun | cerca $alt2 $noun | ||||
cerco $alt $verb | cerco $alt $verb | ||||
chamego $alt2 | chamego $alt2 | ||||
chefe $alt | chefe $alt | ||||
checam $alt | checam $alt | ||||
cheque $alt | |||||
chinelo $alt | |||||
choro $alt2 $noun | choro $alt2 $noun | ||||
chovesse $alt2 | chovesse $alt2 | ||||
chupeta $alt2 | chupeta $alt2 | ||||
clero $alt | clero $alt | ||||
coco $alt2 | coco $alt2 | ||||
cofre $alt | cofre $alt | ||||
cogumelo $alt | |||||
coice $alt2 | coice $alt2 | ||||
colabore $alt | colabore $alt | ||||
colete $alt2 | colete $alt2 | ||||
concertos $alt2 | concertos $alt2 | ||||
concordo $alt | concordo $alt | ||||
conforto $alt $verb | conforto $alt $verb | ||||
congelo $alt | |||||
console $alt2 $noun | |||||
consolo $alt2 $noun | consolo $alt2 $noun | ||||
controle $alt2 $noun | controle $alt2 $noun | ||||
controles $alt2 | |||||
controles $alt $verb | |||||
controlo $alt2 $noun | controlo $alt2 $noun | ||||
coreia $alt | coreia $alt | ||||
coreto $alt2 | coreto $alt2 | ||||
corveta $alt2 | corveta $alt2 | ||||
corvos $alt | corvos $alt | ||||
coto $alt2 | coto $alt2 | ||||
cotovelo $alt2 | |||||
cratera $alt | cratera $alt | ||||
crede $alt2 | crede $alt2 | ||||
crepe $alt | crepe $alt | ||||
decore $alt | decore $alt | ||||
degelo $alt2 | |||||
desapego $alt2 $noun | desapego $alt2 $noun | ||||
descabelo $alt | |||||
descordo $alt | descordo $alt | ||||
desemprego $alt2 | desemprego $alt2 | ||||
desemprego $alt $verb | desemprego $alt $verb | ||||
desespero $alt2 $noun | desespero $alt2 $noun | ||||
desfecho $alt2 | desfecho $alt2 | ||||
desmantelo $alt $verb | |||||
desmantelo $alt2 $noun | |||||
desporto $alt2 | |||||
desportos $alt | |||||
desprezo $alt2 $noun | desprezo $alt2 $noun | ||||
desse $alt2 | desse $alt2 | ||||
desse $alt $verb | desse $alt $verb | ||||
deste $alt2 | deste $alt2 | ||||
deste $alt $verb | deste $alt $verb | ||||
desterro $alt2 | desterro $alt2 | ||||
destroem $alt | |||||
destroem $alt | |||||
deveras $alt | deveras $alt | ||||
dez $alt | dez $alt | ||||
diarreia $alt | diarreia $alt | ||||
diego $alt2 | |||||
discordo $alt | discordo $alt | ||||
dobro $alt2 $noun | dobro $alt2 $noun | ||||
doce $alt2 | doce $alt2 | ||||
doutora $alt2 | doutora $alt2 | ||||
droga $alt | droga $alt | ||||
duelo $alt | |||||
dueto $alt2 | dueto $alt2 | ||||
elixir eliSir | elixir eliSir | ||||
elo $alt | |||||
emprego $alt2 $noun | emprego $alt2 $noun | ||||
empregos $alt2 | empregos $alt2 | ||||
encosto $alt $verb | encosto $alt $verb | ||||
enforco $alt | enforco $alt | ||||
engordo $alt | engordo $alt | ||||
enredo $alt $verb | enredo $alt $verb | ||||
enrosco $alt $verb | |||||
enrosco $alt $verb | |||||
enterro $alt2 $noun | enterro $alt2 $noun | ||||
enumerem $alt | enumerem $alt | ||||
envelope $alt | envelope $alt | ||||
envolto $alt2 | envolto $alt2 | ||||
enxaqueca $alt2 | |||||
enxerto $alt2 $noun | enxerto $alt2 $noun | ||||
epopeia $alt | epopeia $alt | ||||
eritreia $alt | eritreia $alt | ||||
erro $alt2 $noun | |||||
erros $alt2 | |||||
erro $alt2 | |||||
erro $alt $verb | |||||
esboço $alt $verb | esboço $alt $verb | ||||
escopeta $alt2 | escopeta $alt2 | ||||
escova $alt2 $noun | escova $alt2 $noun | ||||
escovas $alt2 | |||||
escovas $alt2 | |||||
escovo $alt | escovo $alt | ||||
escroto $alt2 | escroto $alt2 | ||||
esforço $alt $verb | esforço $alt $verb | ||||
esforços $alt | esforços $alt | ||||
esgoto $alt2 $noun | |||||
esgotos $alt2 | |||||
esgoto $alt2 | |||||
esgoto $alt $verb | |||||
esperma $alt | esperma $alt | ||||
espeto $alt2 $noun | espeto $alt2 $noun | ||||
espiroqueta $alt2 | espiroqueta $alt2 | ||||
espoleta $alt2 | espoleta $alt2 | ||||
esposa $alt2 | esposa $alt2 | ||||
esqueleto $alt2 | esqueleto $alt2 | ||||
estilete $alt2 | |||||
estilete $alt2 | |||||
estrela $alt2 | estrela $alt2 | ||||
estrofe $alt | estrofe $alt | ||||
estorno $alt $verb | estorno $alt $verb | ||||
estorvo $alt $verb | estorvo $alt $verb | ||||
etiqueta $alt2 | etiqueta $alt2 | ||||
europa $alt | europa $alt | ||||
europeia $alt | |||||
europeia $alt | |||||
exagero $alt $verb | exagero $alt $verb | ||||
explore $alt | explore $alt | ||||
faceta $alt2 | faceta $alt2 | ||||
fantoche $alt | |||||
farelo $alt | |||||
fantoche $alt | |||||
farofa $alt | farofa $alt | ||||
farolete $alt2 | |||||
febre $alt | febre $alt | ||||
fera $alt | fera $alt | ||||
feitora $alt2 | feitora $alt2 | ||||
ferozes $alt | ferozes $alt | ||||
fezes $alt | fezes $alt | ||||
filete $alt2 | |||||
?1 fixe fiSy | ?1 fixe fiSy | ||||
foda $alt2 $verb | foda $alt2 $verb | ||||
folheto $alt2 | |||||
folga $alt | |||||
fogos $alt | fogos $alt | ||||
foguete $alt2 | foguete $alt2 | ||||
foice $alt2 | foice $alt2 | ||||
folheto $alt2 | |||||
fora $alt | fora $alt | ||||
fora $alt2 $verb | fora $alt2 $verb | ||||
forca $alt2 | forca $alt2 | ||||
força $alt2 $noun | força $alt2 $noun | ||||
forças $alt2 | forças $alt2 | ||||
forço $alt | forço $alt | ||||
formos $alt2 | |||||
forro $alt $verb | forro $alt $verb | ||||
frevo $alt2 | frevo $alt2 | ||||
fulgores $alt2 | |||||
galera $alt | galera $alt | ||||
galileia $alt | galileia $alt | ||||
gameta $alt2 | gameta $alt2 | ||||
garçonete $alt2 | |||||
geleia $alt | geleia $alt | ||||
gelo $alt2 | |||||
gelo $alt $verb | gelo $alt $verb | ||||
genebra $alt | genebra $alt | ||||
germe $alt | |||||
gesso $alt2 | gesso $alt2 | ||||
golpe $alt | golpe $alt | ||||
gonorreia $alt | gonorreia $alt | ||||
hoje $alt2 | hoje $alt2 | ||||
horrores $alt2 | horrores $alt2 | ||||
ideia $alt | ideia $alt | ||||
interesse $alt2 $noun | |||||
imberbe $alt | |||||
interesse $alt2 | |||||
interesse $alt $verb | |||||
jogo $alt2 $noun | jogo $alt2 $noun | ||||
joguete $alt2 | joguete $alt2 | ||||
lagosta $alt2 | lagosta $alt2 | ||||
lambreta $alt2 | lambreta $alt2 | ||||
lanchonete $alt | |||||
lebre $alt | lebre $alt | ||||
lembrete $alt2 | lembrete $alt2 | ||||
lepra $alt | |||||
leste $alt2 $verb | leste $alt2 $verb | ||||
lingueta $alt2 | |||||
lopes $alt | lopes $alt | ||||
macete $alt2 | macete $alt2 | ||||
maior $alt | maior $alt | ||||
maleta $alt2 | maleta $alt2 | ||||
marcelo $alt | |||||
marmelo $alt | |||||
marionete $alt | |||||
marreta $alt2 | marreta $alt2 | ||||
martelo $alt | |||||
megera $alt | |||||
melhor $alt | melhor $alt | ||||
menor $alt | menor $alt | ||||
merda $alt | |||||
megera $alt | |||||
melo $alt | |||||
mentora $alt2 | mentora $alt2 | ||||
merda $alt | |||||
meta $alt $noun | meta $alt $noun | ||||
meteoro $alt | meteoro $alt | ||||
metro $alt | metro $alt | ||||
minueto $alt2 | minueto $alt2 | ||||
miolo $alt2 | miolo $alt2 | ||||
miolos $alt | miolos $alt | ||||
modelo $alt2 | |||||
modelo $alt $verb | |||||
moeda $alt | moeda $alt | ||||
mofo $alt $verb | |||||
moem $alt | |||||
mofo $alt $verb | |||||
molho $alt2 $noun | molho $alt2 $noun | ||||
monera $alt | monera $alt | ||||
morcego $alt2 | morcego $alt2 | ||||
naquela $nounf | naquela $nounf | ||||
naquele $alt2 $nounf | naquele $alt2 $nounf | ||||
nervo $alt2 | nervo $alt2 | ||||
nojo $alt2 | |||||
novelo $alt2 | |||||
novos $alt | novos $alt | ||||
obstetra $alt | obstetra $alt | ||||
odisseia $alt | odisseia $alt | ||||
onu $1 | onu $1 | ||||
olho $alt2 $noun | |||||
onomatopeia $alt | |||||
olho $alt2 $noun | |||||
olhos $alt | |||||
onomatopeia $alt | |||||
opereta $alt2 | opereta $alt2 | ||||
ordens $alt | ordens $alt | ||||
osso $alt2 | osso $alt2 | ||||
palheta $alt2 | palheta $alt2 | ||||
panfleto $alt2 | panfleto $alt2 | ||||
pangeia $alt | pangeia $alt | ||||
panqueca p,&~Nk'Ek& | |||||
pantera $alt | pantera $alt | ||||
paralelo $alt | |||||
parede $alt2 | parede $alt2 | ||||
pastora $alt2 | pastora $alt2 | ||||
patinete $alt | |||||
pedra $alt | pedra $alt | ||||
pela $alt $verb | pela $alt $verb | ||||
pelego $alt2 | |||||
pela $alt $verb | |||||
pelo $alt $verb | |||||
pelo $alt2 | |||||
pelo $alt $verb | |||||
peso $alt $verb | peso $alt $verb | ||||
piloto $alt2 $noun | piloto $alt2 $noun | ||||
pintora $alt2 | pintora $alt2 | ||||
povos $alt | povos $alt | ||||
poxa p'oS& | poxa p'oS& | ||||
primavera $alt | primavera $alt | ||||
prosopopeia $alt | |||||
prosopopeia $alt | |||||
quarteto $alt2 | quarteto $alt2 | ||||
queda $alt | queda $alt | ||||
quede $alt2 | quede $alt2 | ||||
reforços $alt | reforços $alt | ||||
refresco $alt $verb | refresco $alt $verb | ||||
reitora $alt2 | reitora $alt2 | ||||
rejo $alt | |||||
relevo $alt2 $noun | relevo $alt2 $noun | ||||
remorso $alt | remorso $alt | ||||
renovo $alt $verb | |||||
retorno $alt $verb | retorno $alt $verb | ||||
reuva x'EUv& | |||||
rigores $alt2 | |||||
rixa x'iS& | rixa x'iS& | ||||
rocha $alt | rocha $alt | ||||
rock $alt | rock $alt | ||||
roem $alt | |||||
rola $alt2 $noun | rola $alt2 $noun | ||||
rolo $alt2 $noun | rolo $alt2 $noun | ||||
rota $alt2 | rota $alt2 | ||||
secas $alt2 | secas $alt2 | ||||
seco $alt2 | seco $alt2 | ||||
seco $alt $verb | seco $alt $verb | ||||
selo $alt $verb | |||||
selo $alt2 | |||||
selo $alt $verb | |||||
selvagem seUv'aZeIN | selvagem seUv'aZeIN | ||||
sexteto $alt2 | sexteto $alt2 | ||||
?1 senhora $alt2 | ?1 senhora $alt2 | ||||
senhores $alt2 | senhores $alt2 | ||||
singelo $alt | |||||
sinopse $alt | sinopse $alt | ||||
soco $alt2 | soco $alt2 | ||||
soco $alt $verb | soco $alt $verb | ||||
tapete $alt2 | tapete $alt2 | ||||
temores $alt2 | temores $alt2 | ||||
tempero $alt2 $noun | tempero $alt2 $noun | ||||
tenores $alt2 | |||||
terrores $alt2 | terrores $alt2 | ||||
teta $alt2 | teta $alt2 | ||||
tetra $alt | tetra $alt | ||||
toga $alt | toga $alt | ||||
topo $alt $verb | topo $alt $verb | ||||
torno $alt $verb | torno $alt $verb | ||||
tornozelo $alt2 | |||||
torre $alt2 $noun | torre $alt2 $noun | ||||
torres $alt2 | torres $alt2 | ||||
torro $alt | |||||
torro $alt | |||||
tortos $alt | tortos $alt | ||||
traqueia $alt | traqueia $alt | ||||
travesso $alt2 | travesso $alt2 | ||||
tumores $alt2 | tumores $alt2 | ||||
valeta $alt2 | valeta $alt2 | ||||
vanessa $alt2 | vanessa $alt2 | ||||
velo $alt | |||||
velozes $alt | velozes $alt | ||||
verme $alt | |||||
verbete $alt2 | |||||
violeta $alt2 | violeta $alt2 | ||||
violoncelo $alt | violoncelo $alt | ||||
voga $alt | voga $alt | ||||
vozes $alt | vozes $alt | ||||
xarope $alt | xarope $alt | ||||
xeque $alt | |||||
zelo $alt $verb | |||||
zero $alt | |||||
zelo $alt2 $noun | |||||
zorra $alt2 | zorra $alt2 | ||||
?1 back b'Ek | ?1 back b'Ek | ||||
?2 backup bEk'&p | ?2 backup bEk'&p | ||||
?2 backups bEk'&ps | ?2 backups bEk'&ps | ||||
?1 blind bl'aind | |||||
blind bl'aind | |||||
book buk | |||||
?1 braille b:r'aily | ?1 braille b:r'aily | ||||
?2 Braille bR'aili | ?2 Braille bR'aili | ||||
?1 cancel k'&ns'El | ?1 cancel k'&ns'El | ||||
?1 download d'a,wnl'oud | ?1 download d'a,wnl'oud | ||||
?2 download daUNl'owd | ?2 download daUNl'owd | ||||
?3 download dau~Nl'owd | ?3 download dau~Nl'owd | ||||
drive dR'aivy | |||||
driver dR'aiver | |||||
drivers dR'aiveRs | |||||
?1 end 'end | ?1 end 'end | ||||
?1 escape Sk'eIpy | |||||
?2 esc 'Esk | ?2 esc 'Esk | ||||
?3 esc 'EskI | ?3 esc 'EskI | ||||
?1 explorer ,ekspl'O:*&r- | ?1 explorer ,ekspl'O:*&r- | ||||
?2 Intranet iNtRan'Et | ?2 Intranet iNtRan'Et | ||||
?1 kernel k'Ern,El | ?1 kernel k'Ern,El | ||||
?2 kernel k'Ern@l | ?2 kernel k'Ern@l | ||||
laptop lEptOp | |||||
?1 line l'ain | ?1 line l'ain | ||||
layout l'eI,aUt | layout l'eI,aUt | ||||
?2 logo l'OgU | ?2 logo l'OgU | ||||
?1 ovo 'ovu | ?1 ovo 'ovu | ||||
?1 pause p'au:z | ?1 pause p'au:z | ||||
page p'eIdZ | page p'eIdZ | ||||
pizza p'its& | |||||
python p'aIT&~N | python p'aIT&~N | ||||
?1 readme r'i:dmi: | ?1 readme r'i:dmi: | ||||
?1 sapi s,ap'i | ?1 sapi s,ap'i | ||||
?2 software s'Oftwe@- | ?2 software s'Oftwe@- | ||||
?1 space sp'eIsy | ?1 space sp'eIsy | ||||
?1 sporting sp'Ort,ing | ?1 sporting sp'Ort,ing | ||||
?1 tab t'ab | |||||
tab t'aby | |||||
tablet t'ablet | |||||
?1 telemóvel t,El,Em'OvEl | ?1 telemóvel t,El,Em'OvEl | ||||
?1 telemóveis t,El,Em'OveIs# | ?1 telemóveis t,El,Em'OveIs# | ||||
?1 up &p | ?1 up &p | ||||
?1 upload &pl'oud | ?1 upload &pl'oud | ||||
?2 web w'Eb | ?2 web w'Eb | ||||
?2 verbete verb'etSi | |||||
?2 verbetes verb'etSis | |||||
?1 yahoo 'i,ah'u | ?1 yahoo 'i,ah'u | ||||
?2 yahoo iah'u | ?2 yahoo iah'u | ||||
?1 yes j'Es | ?1 yes j'Es | ||||
// foreign product names | // foreign product names | ||||
?1 access 'aks,Es | ?1 access 'aks,Es | ||||
?1 adobe &d'Oby | ?1 adobe &d'Oby | ||||
apple 'Epow | |||||
chrome kR'owmi | |||||
debian d'Ebj&~N | debian d'Ebj&~N | ||||
?1 excel ,Eks'El | ?1 excel ,Eks'El | ||||
?1 express ,Ekspr'Es | ?1 express ,Ekspr'Es | ||||
espeak isp'i:k | espeak isp'i:k | ||||
?1 espeakedit isp'i:kEd,it | ?1 espeakedit isp'i:kEd,it | ||||
facebook feisybuk | |||||
?1 fedora _^_EN | ?1 fedora _^_EN | ||||
?1 firefox f'ai&rfOks | |||||
?2 firefox f'ai@fOks | |||||
firefox f'ai@fOks | |||||
?1 front fr'ont | ?1 front fr'ont | ||||
?1 jaws dZ'au:z | ?1 jaws dZ'au:z | ||||
?1 linux l,in'uks | ?1 linux l,in'uks | ||||
?2 microsoft m'aIkRows'Oft | ?2 microsoft m'aIkRows'Oft | ||||
?1 movie m'uvi | ?1 movie m'uvi | ||||
?1 nero n'Eru | ?1 nero n'Eru | ||||
?1 office 'Of,is | |||||
/1 office 'Of,is | |||||
?2 office 'Ofsy | |||||
openoffice 'opeIN|'Ofis | openoffice 'opeIN|'Ofis | ||||
?1 outlook 'autl'uk | ?1 outlook 'autl'uk | ||||
?2 Outlook ,aUtl'uk | ?2 Outlook ,aUtl'uk | ||||
suse z'u:ts@ | suse z'u:ts@ | ||||
?1 start st'art // nero StartSmart | ?1 start st'art // nero StartSmart | ||||
?1 time t'aImy // nero show time | ?1 time t'aImy // nero show time | ||||
twitter tw'iter | |||||
ubuntu ub'untu | ubuntu ub'untu | ||||
?1 unix ,u:n'iks | ?1 unix ,u:n'iks | ||||
?2 unix j'uniks | ?2 unix j'uniks |
?1 a (lK ,A // Algarve, Almerinda, etc... | ?1 a (lK ,A // Algarve, Almerinda, etc... | ||||
?2 al (K aU | ?2 al (K aU | ||||
a (lh+ a | a (lh+ a | ||||
a (m &~ | a (m &~ | ||||
a (mAr_ & | a (mAr_ & | ||||
a (mA@ & | a (mA@ & | ||||
ái (s ''aI | ái (s ''aI | ||||
á (iCK ''a | á (iCK ''a | ||||
áy ''aI | áy ''aI | ||||
ál (C ''aU | |||||
áu ''aU | áu ''aU | ||||
áu (s ''aU | áu (s ''aU | ||||
?1 ál ''Al | ?1 ál ''Al | ||||
e (guem_ E | e (guem_ E | ||||
e (lA_ E | e (lA_ E | ||||
e (lo_ e | |||||
e (lo_ E | |||||
e (lAm_ E | e (lAm_ E | ||||
i) e (r_ E | i) e (r_ E | ||||
f) e (re_ E | f) e (re_ E | ||||
f) e (rem_ E | f) e (rem_ E | ||||
e (que_ E | |||||
e (quem_ E | |||||
e (rgA_ E | e (rgA_ E | ||||
e (rgAm_ E | e (rgAm_ E | ||||
e (rgue_ E | |||||
e (rguem_ E | |||||
e (rsA_ E | e (rsA_ E | ||||
e (rsAm_ E | e (rsAm_ E | ||||
e (stAm_ E | e (stAm_ E | ||||
e (strA_ E | e (strA_ E | ||||
e (rme_ E | |||||
e (rnA_ E | e (rnA_ E | ||||
e (rnAm_ E | e (rnAm_ E | ||||
e (xA_ E | e (xA_ E | ||||
e (xAm_ E | e (xAm_ E | ||||
?2 _n) e (t E | ?2 _n) e (t E | ||||
em (C eIm | em (C eIm | ||||
en (K eIN | en (K eIN | ||||
enh en^ | enh en^ | ||||
_perd) e (L05_ e | _perd) e (L05_ e | ||||
_quis) e (L05_ E | _quis) e (L05_ E | ||||
_soub) e (L05_ E | _soub) e (L05_ E | ||||
_talh) e (L05_ E | |||||
_trem) e (L05_ e | _trem) e (L05_ e | ||||
diss) e (L06_ E // contra- | diss) e (L06_ E // contra- | ||||
fend) e (L06_ e // de- o- | fend) e (L06_ e // de- o- | ||||
_hosp) e (dL03_ E | _hosp) e (dL03_ E | ||||
_gr) e (gL03_ e | _gr) e (gL03_ e | ||||
_gal) e (gL03_ e | _gal) e (gL03_ e | ||||
_pel) e (gL03_ e | |||||
_n) e (grL03_ e | _n) e (grL03_ e | ||||
_ch) e (guL02_ e | |||||
estr) ei (L04_ EI | estr) ei (L04_ EI | ||||
_inv) e (jL04_ E | _inv) e (jL04_ E | ||||
tr) e (pL04_ E // es- | tr) e (pL04_ E // es- | ||||
_dec) e (pL04_ E | _dec) e (pL04_ E | ||||
_in) e (ptL03_ E | _in) e (ptL03_ E | ||||
_p) e (quL02_ E | |||||
_s) e (quL02_ E | |||||
ad) e (quL04_ E | ad) e (quL04_ E | ||||
l) e (que_ E | |||||
_imp) e (rL03_ E | _imp) e (rL03_ E | ||||
_sev) e (rL03_ E | _sev) e (rL03_ E | ||||
_reit) e (rL03_ E | _reit) e (rL03_ E | ||||
_sinc) e (rL03_ E | _sinc) e (rL03_ E | ||||
_g) e (rL04_ E | _g) e (rL04_ E | ||||
_z) e (rL04_ E | |||||
qu) e (rL04_ E // re- | qu) e (rL04_ E // re- | ||||
_op) e (rL04_ E | _op) e (rL04_ E | ||||
gen) e (rL04_ E // de- re- | gen) e (rL04_ E // de- re- | ||||
_alt) e (rL04_ E | _alt) e (rL04_ E | ||||
_enc) e (rL04_ E | |||||
_sug) e (rL04_ E | _sug) e (rL04_ E | ||||
_sup) e (rL04_ E | _sup) e (rL04_ E | ||||
_tol) e (rL04_ E | _tol) e (rL04_ E | ||||
_recup) e (rL04_ E | _recup) e (rL04_ E | ||||
_refrig) e (rL04_ E | _refrig) e (rL04_ E | ||||
_v) e (rbL03_ E | _v) e (rbL03_ E | ||||
_alic) e (rcL02_ E | |||||
_p) e (rdL02_ E | _p) e (rdL02_ E | ||||
_l) e (rdL03_ E | _l) e (rdL03_ E | ||||
_h) e (rdL04_ E | _h) e (rdL04_ E | ||||
_) e (rgL03_ e | |||||
_) e (rguL02_ E | |||||
_alb) e (rguL02_ E | |||||
_enx) e (rguL02_ E | |||||
_bez) e (rrL03_ e | _bez) e (rrL03_ e | ||||
_inv) e (rtL03_ e | _inv) e (rtL03_ e | ||||
_f) e (rvL03_ e | _f) e (rvL03_ e | ||||
_alic) e (rçL03_ E | |||||
_p) e (sL01_ E | |||||
_l) e (sL03_ E | |||||
_refr) e (scL01_ E | _refr) e (scL01_ E | ||||
_d) e (scL02_ E | _d) e (scL02_ E | ||||
_cr) e (scL02_ E | _cr) e (scL02_ E | ||||
_atr) e (vL03_ e | _atr) e (vL03_ e | ||||
_r) e (zL04_ E | _r) e (zL04_ E | ||||
_pr) e (zL04_ E | _pr) e (zL04_ E | ||||
_rev) e (zL04_ E | |||||
_despr) e (zL04_ E | _despr) e (zL04_ E | ||||
_embel) e (zL04_ E | _embel) e (zL04_ E | ||||
_menospr) e (zL04_ E | _menospr) e (zL04_ E | ||||
éi (s ''EI | éi (s ''EI | ||||
é (iCK ''E | é (iCK ''E | ||||
éy ''eI | éy ''eI | ||||
él (C ''EU | |||||
éu ''EU | éu ''EU | ||||
éu (s ''EU | éu (s ''EU | ||||
é (uCK ''E | é (uCK ''E | ||||
g (Y Z // ge gi | g (Y Z // ge gi | ||||
gu (Y g | gu (Y g | ||||
a) gu (ent gw | a) gu (ent gw | ||||
_ar) gu (i gw | |||||
averi) gu (e gw | |||||
enxa) gu (e gw | enxa) gu (e gw | ||||
i) gu (idade gw | |||||
lin) gu (e gw | lin) gu (e gw | ||||
lin) gu (i gw | lin) gu (i gw | ||||
_min) gu (e gw | |||||
_pin) gu (im_ gw | |||||
_pin) gu (ins_ gw | |||||
_sa) gu (i gw | |||||
san) gu (ín gw | san) gu (ín gw | ||||
san) gu (in gw | san) gu (in gw | ||||
tin) gu (i gw | |||||
?1 n) gu (A gw // eg: língua, etc. | ?1 n) gu (A gw // eg: língua, etc. | ||||
?1 man) gu (ei g // mangueira | ?1 man) gu (ei g // mangueira | ||||
?1 gu (ém_ g // eg: alguém, ninguém, etc... | ?1 gu (ém_ g // eg: alguém, ninguém, etc... | ||||
i (A_ 'i | i (A_ 'i | ||||
i (am_ 'i | i (am_ 'i | ||||
i (em_ 'i | |||||
io (_ iU | io (_ iU | ||||
io (s_ iU | io (s_ iU | ||||
i (oCK i | i (oCK i | ||||
ím (C ''im | ím (C ''im | ||||
ín (K ''iN | ín (K ''iN | ||||
ính ''in^ | ính ''in^ | ||||
íl (C ''IU | |||||
.group j | .group j | ||||
_) l (_ 'Ele | _) l (_ 'Ele | ||||
l l | l l | ||||
l) l | l) l | ||||
lh l^ | |||||
lh lj | |||||
A) lh lj | A) lh lj | ||||
?1 A) lh l^ | |||||
A) lh l^ | |||||
?4 A) lh l^ | ?4 A) lh l^ | ||||
o (lA_ O | o (lA_ O | ||||
o (lAm_ O | o (lAm_ O | ||||
o (lhe_ O | |||||
o (lhem_ O | |||||
o (ltA_ O | o (ltA_ O | ||||
o (ltAm_ O | o (ltAm_ O | ||||
o (lve_ O | |||||
o (lvem_ O | |||||
o (sA_ O | o (sA_ O | ||||
o (so_N o // not for osos_ | o (so_N o // not for osos_ | ||||
o (sAm_ O | o (sAm_ O | ||||
?1 o (l_ 'O | ?1 o (l_ 'O | ||||
?2 ol (_ Ow | ?2 ol (_ Ow | ||||
o (lh o | |||||
?2 _) o (lhA_ O | |||||
?2 _) o (lhAm_ O | |||||
om (_ oN | om (_ oN | ||||
o (ma_ o | o (ma_ o | ||||
//sort | //sort | ||||
_f) o (L05_ o | _f) o (L05_ o | ||||
_pormen) o (L05_ O | |||||
_f) o (L07_ o | _f) o (L07_ o | ||||
_engl) o (bL01_ O | |||||
_s) o (bL02_ O | _s) o (bL02_ O | ||||
_af) o (bL04_ O | |||||
_esn) o (bL04_ O | _esn) o (bL04_ O | ||||
_engl) o (bL04_ O | |||||
br) o (chL04_ O | br) o (chL04_ O | ||||
_deb) o (chL04_ O | _deb) o (chL04_ O | ||||
_m) o (fL01_ O | _m) o (fL01_ O | ||||
_ap) oi (L02_ OI | _ap) oi (L02_ OI | ||||
_b) oi (L04_ OI | _b) oi (L04_ OI | ||||
_t) o (lL03_ o | _t) o (lL03_ o | ||||
c) o (lhL02_ O // es- en- re- | |||||
_t) o (lhL02_ O | |||||
_m) o (lhL04_ O | |||||
env) o (lvL02_ O // des- | |||||
_abs) o (lvL02_ O | |||||
_dev) o (lvL02_ O | |||||
_res) o (lvL02_ O | |||||
_rev) o (lvL02_ O | |||||
_ent) o (pL02_ O | |||||
_f) o (lgL04_ O | |||||
_emp) o (lgL04_ O | |||||
_) o (lhL04_ O | |||||
m) o (lhL04_ O | |||||
ent) o (pL02_ O | |||||
_c) o (pL03_ O | _c) o (pL03_ O | ||||
_ens) o (pL04_ O | _ens) o (pL04_ O | ||||
_s) o (prL04_ O | _s) o (prL04_ O | ||||
_) o (ptL04_ O | _) o (ptL04_ O | ||||
p) o (rL02_ o | |||||
_dev) o (rL02_ O | |||||
_defl) o (rL02_ O | _defl) o (rL02_ O | ||||
_impl) o (rL02_ O | _impl) o (rL02_ O | ||||
_inod) o (rL03_ O | _inod) o (rL03_ O | ||||
?1 _) qua kwa // quatro, etc. | ?1 _) qua kwa // quatro, etc. | ||||
?1 _) que ke // quente, etc. | ?1 _) que ke // quente, etc. | ||||
?1 _) quei (C k'eI // queira, queima, etc | ?1 _) quei (C k'eI // queira, queima, etc | ||||
A) quên (C kw'eIN // frequência, etc. | |||||
quên kw'eN // quinquênio, etc. | |||||
ade) qu (e kw | ade) qu (e kw | ||||
_a) qu (idade_ kw | |||||
_a) qu (ífero_ kw | |||||
e) qu (estr kw | e) qu (estr kw | ||||
ese) qu (ív kw | |||||
_e) qu (in kw | _e) qu (in kw | ||||
fre) qu (ent kw | fre) qu (ent kw | ||||
_ini) qu (idade_ kw | |||||
li) qu (id kw | li) qu (id kw | ||||
lí) qu (id kw | lí) qu (id kw | ||||
n) qu (en kw | n) qu (en kw | ||||
_) qu (inqu kw | |||||
se) qu (en kw | se) qu (en kw | ||||
tran) qu (il kw | tran) qu (il kw | ||||
?1 quec kes // esquece, etc. | |||||
?1 queç kes // esqueça. | ?1 queç kes // esqueça. | ||||
?1 A) que (nA_ ke // pequeno, etc. | ?1 A) que (nA_ ke // pequeno, etc. | ||||
?1 C) quê (_ ke // porquê, etc. | ?1 C) quê (_ ke // porquê, etc. | ||||
?1 A) s (G+ Z | ?1 A) s (G+ Z | ||||
?1 A) s (_KS1 s# | ?1 A) s (_KS1 s# | ||||
?1 A) s (_G+S1 Z | ?1 A) s (_G+S1 Z | ||||
s (b z | |||||
s (d z | |||||
s (g z | |||||
s (l z | |||||
s (m z | |||||
s (n z | |||||
sr zx | |||||
s (v z | |||||
_) sobre (@P5 sob*e | _) sobre (@P5 sob*e | ||||
u (iu w | u (iu w | ||||
u (iCK u | u (iCK u | ||||
uy uI | uy uI | ||||
ul (K uw | |||||
u (lh+ u | |||||
um (_ u~N | um (_ u~N | ||||
um (C u~m | um (C u~m |
_11 Od;'innVttsVt; | _11 Od;'innVttsVt; | ||||
_12 dv;In'AttsVt; | _12 dv;In'AttsVt; | ||||
_13 tR;In'AttsVt; | _13 tR;In'AttsVt; | ||||
_14 ts;It'y@-*nVttsVt; | |||||
_14 tS;It'y@-*nVttsVt; | |||||
_15 p;Itn'AttsVt; | _15 p;Itn'AttsVt; | ||||
_16 SE#stn'AttsVt; | _16 SE#stn'AttsVt; | ||||
_17 s;Imn'AttsVt; | _17 s;Imn'AttsVt; | ||||
_0C st'o | _0C st'o | ||||
_2C dv;'es;t;I | _2C dv;'es;t;I | ||||
_3C tr;'ista | _3C tr;'ista | ||||
_4C ts;It'yr;E2sta | |||||
_4C tS;It'yr;E2sta | |||||
_5C p;,It;s'ot | _5C p;,It;s'ot | ||||
_6C S,E#s;t;s'ot | _6C S,E#s;t;s'ot | ||||
_7C s;,Ims'ot | _7C s;,Ims'ot | ||||
_8C vOs;Ims'ot | _8C vOs;Ims'ot | ||||
_9C dev;Vts'ot | _9C dev;Vts'ot | ||||
_1MA1 t'ys;Its;V // no '1' before thousand | |||||
_0MA1 t'ys;Its;i | |||||
_0M1 t'ys;Vts; | |||||
_1MA1 t'ys;ItS;V // no '1' before thousand | |||||
_0MA1 t'ys;ItS;i | |||||
_0M1 t'ys;VtS; | |||||
_1MA2 m;,IlI;'on | _1MA2 m;,IlI;'on | ||||
_0MA2 m;,IlI;'ona | _0MA2 m;,IlI;'ona | ||||
_0M2 m;,IlI;'onof | _0M2 m;,IlI;'onof |
// This file is UTF8 encoded | |||||
// Spelling to phoneme rules for Telugu | |||||
// 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:rp | |||||
s Es | |||||
t t#i: | |||||
u ju: | |||||
v vi: | |||||
w dabalju: | |||||
x Eks | |||||
y wa:j | |||||
z zEd | |||||
// numbers | |||||
_0 sunna | |||||
_1 okat.i | |||||
_1a oka | |||||
_2 rend.u | |||||
_3 mu:d.u | |||||
_4 na:lugu | |||||
_5 aIdu | |||||
_6 a:ru | |||||
_7 ;e:d.u | |||||
_8 ;enimidi | |||||
_9 tommidi | |||||
_1X padi | |||||
_11 padakond.u | |||||
_12 pannend.u | |||||
_13 padammu:d.u: | |||||
_14 pad#na:lugu | |||||
_15 padihe:nu | |||||
_16 padaha:ru | |||||
_17 padihe:d.u | |||||
_18 padd#enimidi | |||||
_19 pandommidi | |||||
_2X irav#aI | |||||
_3X muppaI | |||||
_4X nalub#aI | |||||
_5X ja:b#aI | |||||
_6X arav#aI | |||||
_7X d.#eb#baI | |||||
_8X jenab#aI | |||||
_9X tomb#aI | |||||
_0C v#andala | |||||
_0C0 v#andalu | |||||
_1C okav#anda | |||||
_0M1 v#ela | |||||
_0M1x v#elu | |||||
_1M1 okav#ejji | |||||
_0M2 laks.ala | |||||
_0M2x laks.alu | |||||
_1M2 laks.a | |||||
_0M3 kotla | |||||
_0M3x kotlu | |||||
_1M3 koti | |||||
_dpt _d,aS;a:mkam | |||||
// symbols | |||||
_?? aks.aram // 'unknown character' | |||||
% S;a:tam | |||||
+ ku:d.ika | |||||
* naks.atra | |||||
\ bja:kasla:s. | |||||
/ kudiva:lugi:ta | |||||
© ka:pi:raIt. | |||||
¶ v#e:ra: | |||||
_, ka:ma: | |||||
_; semi:ko:lan | |||||
_: ko:lan | |||||
_! a:S;carja:rt#aka | |||||
_? praS;na:rt#aka | |||||
_- haIfan | |||||
__ amd.ar||sko:r | |||||
// unstressed function words | |||||
// articles | |||||
ద $u | |||||
అ $u+ | |||||
ఆ $u+ | |||||
ఒక $u | |||||
// letter names | |||||
U+c01 am | |||||
U+c02 an | |||||
U+c03 ah | |||||
U+c4d v#ottu | |||||
// consonants with virama | |||||
క్ ik | |||||
ఖ్ ik# | |||||
గ్ ig | |||||
ఘ్ ig# | |||||
ఙ్ iN | |||||
చ్ ic | |||||
ఛ్ ic# | |||||
జ్ iJ | |||||
ఝ్ iJ# | |||||
ఞ్ in^ | |||||
ట్ it. | |||||
ఠ్ it.# | |||||
డ్ id. | |||||
ఢ్ id.# | |||||
ణ్ in. | |||||
త్ it | |||||
థ్ it# | |||||
ద్ id | |||||
ధ్ id# | |||||
న్ in | |||||
ప్ ip | |||||
ఫ్ ip# | |||||
బ్ ib | |||||
భ్ ib# | |||||
మ్ imu: | |||||
య్ ij | |||||
ర్ ir | |||||
ఱ్ ir | |||||
ల్ il | |||||
ళ్ il. | |||||
వ్ iv# | |||||
శ్ iS; | |||||
ష్ is. | |||||
స్ is | |||||
హ్ ih | |||||
ౘ్ its | |||||
ౙ్ idz | |||||
// combining vowels, precede by a click so they | |||||
// can be distinguished from stand-alone vowels | |||||
ా #X2a:: | |||||
ి #X1i | |||||
ీ #X2i:: | |||||
ు #X1u | |||||
ూ #X2u:: | |||||
ృ #X1ru | |||||
ౄ #X2ru: | |||||
ె #X1e | |||||
ే #X2e:: | |||||
ై #X2aI | |||||
ొ #X1o | |||||
ో #X2o:: | |||||
ౌ #X2aU | |||||
// This file is UTF8 encoded | |||||
// Spelling to phoneme rules for Telugu | |||||
// A means vowel letters (not vowel signs) | |||||
// B means a combining vowel sign or a virama | |||||
.replace | |||||
౦ 0 // Convert Telugu numbers | |||||
౧ 1 | |||||
౨ 2 | |||||
౩ 3 | |||||
౪ 4 | |||||
౫ 5 | |||||
౬ 6 | |||||
౭ 7 | |||||
౮ 8 | |||||
౯ 9 | |||||
.group క | |||||
క ka | |||||
క (B k | |||||
.group ఖ | |||||
ఖ k#a | |||||
ఖ (B k# | |||||
.group గ | |||||
గ ga | |||||
గ (B g | |||||
.group ఘ | |||||
ఘ g#a | |||||
ఘ (B g# | |||||
.group ఙ | |||||
ఙ Na | |||||
ఙ (B N | |||||
.group చ | |||||
చ ca | |||||
చ (B c | |||||
.group ఛ | |||||
ఛ c#a | |||||
ఛ (B c# | |||||
.group జ | |||||
జ Ja | |||||
జ (B J | |||||
.group ఝ | |||||
ఝ J#a | |||||
ఝ (B J# | |||||
.group ఞ | |||||
ఞ n^a | |||||
ఞ (B n^ | |||||
.group ట | |||||
ట t.a | |||||
ట (B t. | |||||
.group ఠ | |||||
ఠ t.#a | |||||
ఠ (B t.# | |||||
.group డ | |||||
డ d.a | |||||
డ (B d. | |||||
.group ఢ | |||||
ఢ d.#a | |||||
ఢ (B d.# | |||||
.group ణ | |||||
ణ n.a | |||||
ణ (B n. | |||||
.group త | |||||
త ta | |||||
త (B t | |||||
.group థ | |||||
థ t#a | |||||
థ (B t# | |||||
.group ద | |||||
ద da | |||||
ద (B d | |||||
.group ధ | |||||
ధ d#a | |||||
ధ (B d# | |||||
.group న | |||||
న na | |||||
న (B n | |||||
.group ప | |||||
ప pa | |||||
ప (B p | |||||
.group ఫ | |||||
ఫ p#a | |||||
ఫ (B p# | |||||
.group బ | |||||
బ ba | |||||
బ (B b | |||||
.group భ | |||||
భ b#a | |||||
భ (B b# | |||||
.group మ | |||||
మ ma | |||||
మ (B m | |||||
.group య | |||||
య ja | |||||
య (B j | |||||
.group ర | |||||
ర ra | |||||
ర (B r | |||||
.group ఱ | |||||
ఱ ra | |||||
ఱ (B r | |||||
.group ల | |||||
ల la | |||||
ల (B l | |||||
.group ళ | |||||
ళ l.a | |||||
ళ (B l. | |||||
.group వ | |||||
వ v#a | |||||
వ (B v# | |||||
.group శ | |||||
శ S;a | |||||
శ (B S; | |||||
.group ష | |||||
ష s.a | |||||
ష (B s. | |||||
.group స | |||||
స sa | |||||
స (B s | |||||
.group హ | |||||
హ ha | |||||
హ (B h | |||||
.group ౘ | |||||
ౘ tsa | |||||
ౘ (B ts | |||||
.group ౙ | |||||
ౙ dza | |||||
ౙ (B dz | |||||
.group ౠ | |||||
ౠ ru | |||||
.group ౡ | |||||
ౡ l- | |||||
// Stand-alone vowels | |||||
.group అ | |||||
అ a | |||||
.group ఆ | |||||
ఆ a: | |||||
.group ఇ | |||||
ఇ i | |||||
.group ఈ | |||||
ఈ i: | |||||
.group ఉ | |||||
ఉ u | |||||
.group ఊ | |||||
ఊ u: | |||||
.group ఋ | |||||
ఋ ru | |||||
.group ఌ | |||||
ఌ l- | |||||
.group ఎ | |||||
ఎ e | |||||
_) ఎ ;e | |||||
.group ఏ | |||||
ఏ e: | |||||
.group ఐ | |||||
ఐ aI | |||||
.group ఒ | |||||
ఒ o | |||||
.group ఓ | |||||
ఓ o: | |||||
.group ఔ | |||||
ఔ aU | |||||
.group 0xe0b0 // characters which start with UTF-8 bytes: [e0 b0] | |||||
. ఁ n // candrabindu | |||||
ం n // anusvara (this should nasalize the vowel) | |||||
ః h // visarga | |||||
// combining vowel signs | |||||
ా a: | |||||
ి i | |||||
.group 0xe0b1 // characters which start with UTF-8 bytes: [e0 b1] | |||||
ీ i: | |||||
ు u | |||||
ూ u: | |||||
ృ r- | |||||
ౄ r-: | |||||
ె e | |||||
ే e: | |||||
ై aI | |||||
ొ o | |||||
ో o: | |||||
ౌ aU | |||||
్ // virama | |||||
ౕ : // length mark ?? | |||||
ౖ : // ai length mark ?? | |||||
.group | |||||
$ d.a:lar | |||||
ل la:m | ل la:m | ||||
م mi:m | م mi:m | ||||
ن nu:n | ن nu:n | ||||
و va:O | |||||
_و va:O | |||||
ہ He: | ہ He: | ||||
ں g#Unna | ں g#Unna | ||||
ﮨ c#o:ti:||He: | ﮨ c#o:ti:||He: | ||||
ی c#o:t.i:||je: | ی c#o:t.i:||je: | ||||
ے bar.i:||je: | ے bar.i:||je: | ||||
ئ h'amza | ئ h'amza | ||||
ۂ He:h'amza | |||||
_ؤ va:Oh'amza | |||||
َ z@b@R | َ z@b@R | ||||
ِ ze:R | ِ ze:R | ||||
ُ pe:S | ُ pe:S | ||||
ٰ ,alIfmaqs'u:R,a | |||||
ّ t,aSd'i:d | ّ t,aSd'i:d | ||||
ً d'o:zab'aR | ً d'o:zab'aR | ||||
// pronouns | // pronouns | ||||
یہ jE $u | |||||
کہ kE $u | |||||
یہ j'e:H $u | |||||
وہ wo: $u | وہ wo: $u | ||||
آپ $u | آپ $u | ||||
تم tUm $u | تم tUm $u | ||||
تجھے t'UJ#e: | تجھے t'UJ#e: | ||||
جن J'In | جن J'In | ||||
جنھیں J,InH'e:n | جنھیں J,InH'e:n | ||||
انھوں ,UnH'o:n | |||||
انھیں ,InH'e:n | |||||
انہوں ,UnH'o:n | |||||
انہیں ,UnH'e:n | |||||
// unstressed prepositions | // unstressed prepositions | ||||
کا $u | کا $u | ||||
سے $u | سے $u | ||||
اور OR $u $brk | اور OR $u $brk | ||||
کہ k'e:H $u | |||||
// unstressed verbs | // unstressed verbs | ||||
ہے $u | ہے $u | ||||
// Pronunciation exceptions | // Pronunciation exceptions | ||||
پاکستان p'a:k'i:st'a:n | پاکستان p'a:k'i:st'a:n | ||||
سندھ s'Ind# | |||||
کچھ k'Uc# | کچھ k'Uc# | ||||
لنکس l'Ink,s | لنکس l'Ink,s | ||||
لفظ l'afz. | لفظ l'afz. | ||||
مسلح m,Usal'aH | مسلح m,Usal'aH | ||||
متفق mUt'afIq | متفق mUt'afIq | ||||
سابق s'a:bIq | سابق s'a:bIq | ||||
برسر b,aRs'aR | |||||
اعلان e:l'a:n | اعلان e:l'a:n | ||||
سنئیے sUn'i:;e: | سنئیے sUn'i:;e: | ||||
کلنگ k'IlIn,g | کلنگ k'IlIn,g | ||||
جسٹس J'ast.,Is | جسٹس J'ast.,Is | ||||
شکایت S,Ika:j'at | شکایت S,Ika:j'at | ||||
شکست SIk'ast | شکست SIk'ast | ||||
منزل m'anz,Il | |||||
شعر S'e:R | شعر S'e:R | ||||
فعل f'e:l | فعل f'e:l | ||||
خصوصی xUs.'u:s.i: | خصوصی xUs.'u:s.i: | ||||
باہر ba:H'aR | باہر ba:H'aR | ||||
دیا d'i:;a: | دیا d'i:;a: | ||||
انڈیا ,Ind.'i:;a: | انڈیا ,Ind.'i:;a: | ||||
مظاہرین m,Uz.a:HIR'i:n | |||||
فائرنگ f'a:jIR,Ing | فائرنگ f'a:jIR,Ing | ||||
ڈائریکٹر d.,a:jIR,e:kt.'aR | ڈائریکٹر d.,a:jIR,e:kt.'aR | ||||
فرقہ f'IRqa | فرقہ f'IRqa | ||||
بغیر baQ'e:R | بغیر baQ'e:R | ||||
ممکن m'Umk,In | ممکن m'Umk,In | ||||
ممکنہ m'Unk,In,a | ممکنہ m'Unk,In,a | ||||
طرح taR'aH | |||||
الیکشن ,Ile:kS'an | الیکشن ,Ile:kS'an | ||||
ووٹنگ vo:t.'Ing | ووٹنگ vo:t.'Ing | ||||
شواہد Sav'a:HId | شواہد Sav'a:HId | ||||
تعین t'a:jUn | تعین t'a:jUn | ||||
باعث b'a:jIs | باعث b'a:jIs | ||||
کتب k'UtUb | کتب k'UtUb | ||||
سلسلہ s'Ils,Il,a | |||||
سلسلے s'Ils,Ile: | |||||
بحث be:He:s | بحث be:He:s | ||||
قسمت q,Ism'at | قسمت q,Ism'at | ||||
آور a:v'aR | آور a:v'aR | ||||
بظاہر baz.'a:HIR | بظاہر baz.'a:HIR | ||||
ظاہر z.'a:HIR | ظاہر z.'a:HIR | ||||
حکم H'Ukm | حکم H'Ukm | ||||
کورٹ k'o:Rt. | |||||
برطرف b,aRtaR'af | |||||
برطرفی b,aRt'aRf,i: | |||||
لئے l'i:;e: | |||||
نامزد n,a:mz'ad | |||||
نامزدگی n,a:mz'adg,i: | |||||
معطل m,Oat'al | |||||
معطلی m,Oat'ali: | |||||
تین t'i:n | |||||
تینوں ti:n'o:n | |||||
ڈاکٹر d.,a:kt.'aR | |||||
اقبال ,Iqb'a:l | |||||
جرم J'URm | |||||
اقتدار ,IqtId'a:R | |||||
عشرت ,ISR'at | |||||
نگران n,IgR'a:n | |||||
نگرانی n,IgR'a:ni: | |||||
مستقل m,Ust'aqIl | |||||
مستقبل m,Ust'aqb,Il | |||||
میر m'i:R | |||||
چھ c#'eh_! | |||||
خفیہ xUf'i:;a | |||||
اٹھانا Ut.#'a:na: | |||||
اٹھانی Ut.#'a:ni: | |||||
اٹھانے Ut.#'a:ne: | |||||
اٹھا 'Ut.#a: | |||||
اٹھی 'Ut.#i: | |||||
اٹھے 'Ut.#e: | |||||
قوت qu:v'at | |||||
اٹھایا Ut.#'a:ja: | |||||
اٹھائی Ut.#'a:ji: | |||||
اٹھائے Ut.#'a:je: | |||||
مدافعت m,Uda:fI;'at | |||||
خطرہ x'atRa | |||||
مظفر m,Uz.af'aR | |||||
کرکٹ kRIk,It. | |||||
انگلینڈ ,Ingl'e:nd. | |||||
رنز R'anz | |||||
انسداد ,InsId'a:d | |||||
نہیں naH'i:n | |||||
صحتِ s.e:H'ate: | |||||
متفقہ mUt'afIqa | |||||
تعلق t'a:lUq | |||||
متعلق mUt'a:lIq | |||||
متعلقہ mUt'a:lIqa | |||||
مسترد m,UstaR'ad | |||||
مثبت m,Usb'at | |||||
تاہم ta:H'am | |||||
پیشرفت p,e:SR'aft | |||||
تعطل t'a:tUl | |||||
متعدد mUt'a:dId | |||||
گیا g'aja: | |||||
(کیا گیا) k'i:;a:||g'aja: | |||||
(ہوا تھا) H'u:a||t#a: | |||||
(کیا ہوا) kj'a:||H'u:a: | |||||
اتحاد ,ItaH'a:d | |||||
اننگز In'Ingz | |||||
بیٹنگ be:t.'Ing | |||||
منٹ m'InIt. | |||||
ناممکن n'a:mUmkIn | |||||
(کیا جائے) k'i:;a:||J'a:je: | |||||
جمعرات J,Ume:R'a:t | |||||
جمعہ J'Uma: | |||||
برسرِ b,aRs'aRe: | |||||
درجنوں d,aRJan'o:n | |||||
درجن d,aRJ'an | |||||
خلاف xIl'a:f | |||||
برخلاف b,aRxIl'a:f | |||||
کرکٹر kRIkIt.'aR | |||||
ذمہ D'Im,a | |||||
دستخط d,astx'at | |||||
اجاگر ,UJa:g'aR | |||||
فطرت f,ItR'at | |||||
فطرتاً f,ItRat'an | |||||
طاقتور ta:q'atvaR | |||||
دفتر d,aft'aR | |||||
مشرف m,USaR'af | |||||
سنگھ s'Ing# | |||||
کمپلیکس k,ampl'e:ks | |||||
مرتبہ m,aRt'ab,a | |||||
واقع v'a:qe: | |||||
یہیں jaH'i:n | |||||
کیونکہ kj,u:nk'e:H | |||||
گفتگو g'Uft,Ugu: | |||||
جستجو J'Ust,UJu: | |||||
بھانت b#'a:nt | |||||
چکے c'Uke: | |||||
مفت m'Uft | |||||
(تو نے) t'u||n'e: | |||||
پرسکون p,URsUk'u:n | |||||
منحصر m,UnH'as.IR | |||||
سکون sUk'u:n | |||||
گشت g'aSt | |||||
گذار gUD'a:R | |||||
پرور p'aRvaR | |||||
قصے q'Is.e: | |||||
قصہ q'Is.,a | |||||
قصوں qIs.'o:n | |||||
محفوظ m,e:Hf'u:z. | |||||
مقدس m,Uqad'as | |||||
و o: | |||||
انحراف ,InHIR'a:f | |||||
مبینہ m,Ubai:;'an,a | |||||
متبادل m,Utab'a:dIl | |||||
گنا g'Una: | |||||
ملک m'Ulk | |||||
ملکی m'Ulk,i: | |||||
ملکوں m,Ulk'o:n | |||||
ممالک mUm'a:lIk | |||||
سنیچر s,ani:c'aR | |||||
اختر ,axt'aR | |||||
ملا m'Ila: | |||||
سٹیڈیم st.e:d.i:;'am | |||||
مدت mUd'at | |||||
باکس b'a:ks | |||||
آفس 'a:fIs | |||||
اشاعت ,ISa:'a:t | |||||
اظہار ,Iz.H'a:R | |||||
برقرار b,aRqaR'a:R | |||||
گھریلو g#aR'e:lu: | |||||
ٹھیک t.#'i:k | |||||
مشتمل m,USt'amIl | |||||
متلاشی m,Utal'a:Si: | |||||
ذکر D'IkR | |||||
محسوس m,e:Hs'u:s | |||||
برعکس b,aR'aks | |||||
بت b'Ut | |||||
بتوں bUt'o:n | |||||
سسٹم sIst.'am | |||||
معمر m,Oam'aR | |||||
حلیے H'Ulje: | |||||
ہلا H'Ila: | |||||
گذشتہ gUD'aSta | |||||
خطوط xUt'u:t | |||||
ہفتہ H'afta | |||||
مکرر m,UkaR'aR | |||||
چینی c'i:ni: | |||||
خیرمقدم x,e:Rm,aqd'am | |||||
محترمہ m,UHt'aRma | |||||
محترم m,UHtaR'am | |||||
ورزش v'aRz,IS | |||||
شروع S'URu: | |||||
انٹرنیٹ ,Int.,aRn'e:t. | |||||
سروس s'aRvIs | |||||
سروسز s'aRvIs,Iz | |||||
لطف l'Utf | |||||
سامع s'a:me: | |||||
ہوائیں H,ava:j'e:n | |||||
سرے s'IRe: | |||||
طبیعت t,abi:;'at | |||||
سخن sUx'an | |||||
گہر go:H'aR | |||||
سست s'Ust | |||||
لیکن l'e:kIn | |||||
سیاست sja:s'at | |||||
ریاست Rja:s'at | |||||
منسلک mUns'alIk | |||||
داخل d'a:xIl | |||||
نجی n'IJi: | |||||
منہدم m,UnH'adIm | |||||
گم g'Um | |||||
محدود m,e:Hd'u:d | |||||
متحارب m,UtaH'a:RIb | |||||
جنت Jan'at | |||||
سفر saf'aR | |||||
(فیس بک) f'e:s||b'Uk | |||||
بینک b'e:nk | |||||
حقوق HUq'u:q | |||||
آئندہ a:'Ind,a | |||||
اہتمام 'e:HtIm,a:m | |||||
قلت qIl'at | |||||
استحکام ,Iste:Hk'a:m | |||||
حصول HUs.'u:l | |||||
منقطع m,Unq'ata: | |||||
مرتکب m,URt'akIb | |||||
منہ m'u:n | |||||
فتنہ f'Itna | |||||
ذرائع DaR'a:e: | |||||
مریم m,aRi:;'am |
٨ 8 | ٨ 8 | ||||
٩ 9 | ٩ 9 | ||||
ي ی | ي ی | ||||
یٰ ا | |||||
// vowel signs, alif acts as consonants at start of word if these follow | // vowel signs, alif acts as consonants at start of word if these follow | ||||
_) ایمان i:m'a:n | _) ایمان i:m'a:n | ||||
_) اعت 'e:tI | _) اعت 'e:tI | ||||
_) اضاف Iz'a:f | _) اضاف Iz'a:f | ||||
_) اختلاف ,IxtIl'a:f | |||||
_) اسمبلی as'ambli: | |||||
_) اٹھت 'Ut.#t | |||||
_) اٹھن 'Ut.#n | |||||
_) اٹھات Ut.#'a:t | |||||
اقلیت ,aqali:;'at | |||||
استثن ,Ist'asn | |||||
اندھیر 'and#e:R | |||||
انتالیس ,Unta:l'i:s | |||||
انتیس ,Unt'i:s | |||||
اکثر ,aks'aR | |||||
ایران i:R'a:n | |||||
اجتماع ,IJtIm'a: | |||||
استحصال ,Ist,e:Hs.'a:l | |||||
_) امنگ Um'ang | |||||
انعام In'a:m | |||||
امتحان ,ImtIH'a:n | |||||
الزام ,Ilz'a:m | |||||
اشتہار ,IStIH'a:R | |||||
اصول Us.'u:l | |||||
.group آ | .group آ | ||||
آ a: | آ a: | ||||
عا a: | عا a: | ||||
_) ع a | _) ع a | ||||
_) عیس 'i:s | _) عیس 'i:s | ||||
_) عید 'i:d | |||||
عنوان Unv'a:n | |||||
.group و | .group و | ||||
و o: | و o: | ||||
.group ے // yeh barree | .group ے // yeh barree | ||||
ے e: | ے e: | ||||
.group ۂ | |||||
ۂ 'ae: | |||||
// with hamza | // with hamza | ||||
.group ئ | .group ئ | ||||
ئ | ئ | ||||
بھیک bh'i:k | بھیک bh'i:k | ||||
بھیگ bh'i:g | بھیگ bh'i:g | ||||
بھول bh'u:l | بھول bh'u:l | ||||
_) بیان baj'a:n | |||||
_) بٹھا b'It.#a: | |||||
بئی b'ai: | |||||
بیوی b'i:vi: | |||||
_) بیوا b'e:va: | |||||
برسر b,aRs'aR | |||||
بگاڑ bIg'a:r. | |||||
بغاوت b,aQa:v'at | |||||
.group پ | .group پ | ||||
پ pV | پ pV | ||||
_) پھر ph'IR | _) پھر ph'IR | ||||
پھول ph'u:l | پھول ph'u:l | ||||
_) پہل (L01 p'e:Hl | _) پہل (L01 p'e:Hl | ||||
پہنچ paH'Unc | |||||
پوچھ p'u:c# | |||||
.group ت | .group ت | ||||
ت tV | ت tV | ||||
تھ (L01 t# | تھ (L01 t# | ||||
تّ ttV | تّ ttV | ||||
تّ (L01 tt | تّ (L01 tt | ||||
_) تمہ t'UmH | |||||
تحقیق t,e:Hq'i:q | |||||
_) ترجم t'aRJ,Um | |||||
.group ٹ | .group ٹ | ||||
ٹھ (L01 t.# | ٹھ (L01 t.# | ||||
ٹّ t.t.V | ٹّ t.t.V | ||||
ٹّ (L01 t.t. | ٹّ (L01 t.t. | ||||
ٹریفک t.R'e:fIk | |||||
_) ٹکڑ t.'Ukr. | |||||
.group ث | .group ث | ||||
جّ (L01 JJ | جّ (L01 JJ | ||||
_) جیت J'i:t | _) جیت J'i:t | ||||
_) جوا J'ava: | _) جوا J'ava: | ||||
جانب J'a:nIb | |||||
_) جنس J'Ins | |||||
جھوٹ J#'u:t. | |||||
_) جمل J'Uml | |||||
.group چ | .group چ | ||||
چ cV | چ cV | ||||
چھ (L01 c# | چھ (L01 c# | ||||
چّ ccV | چّ ccV | ||||
چّ (L01 cc | چّ (L01 cc | ||||
_) چکا c'Uka: | |||||
.group ح | .group ح | ||||
ح HV | ح HV | ||||
ح (L01 H | ح (L01 H | ||||
ح (_ H | |||||
ح (_ 'aH | |||||
L01) ح (_ H | |||||
حکومت H,Uku:m'at | |||||
حکمران H,UkmaR'a:n | |||||
_) حوال Hav'a:l | |||||
حّ HHV | حّ HHV | ||||
حّ (L01 HH | حّ (L01 HH | ||||
.group خ | .group خ | ||||
خ xV | خ xV | ||||
خ (L01 x | خ (L01 x | ||||
خت(_ xt | |||||
@) خ (ت x | |||||
خّ xxV | خّ xxV | ||||
خّ (L01 xx | خّ (L01 xx | ||||
_) خوش x'US | _) خوش x'US | ||||
دھ (L01 d# | دھ (L01 d# | ||||
دّ ddV | دّ ddV | ||||
دّ (L01 dd | دّ (L01 dd | ||||
درخواست d,aRxv'a:st | |||||
دیا(_ d'i:;a: | |||||
درج d'aRJ | |||||
دیوا d'i:va: | |||||
_) دوسر d'u:sR | |||||
دفاع d'Ifa: | |||||
.group ڈ | .group ڈ | ||||
ڈ d.V | ڈ d.V | ||||
ڈھ (L01 d.# | ڈھ (L01 d.# | ||||
ڈّ d.d.V | ڈّ d.d.V | ||||
ڈّ (L01 d.d. | ڈّ (L01 d.d. | ||||
ڈھونڈ d.#'u:nd. | |||||
.group ذ | .group ذ | ||||
ذ DV | ذ DV | ||||
ر (L01 R | ر (L01 R | ||||
رّ RRV | رّ RRV | ||||
رّ (l01 RR | رّ (l01 RR | ||||
@) ر (ٹ R | |||||
@) ر (ڈ R | |||||
_) رہت R'e:Ht | |||||
@) ر (د R | |||||
@) ر (چ R | |||||
.group ڑ | .group ڑ | ||||
ڑ r.V | ڑ r.V | ||||
ز (L01 z | ز (L01 z | ||||
زّ zzV | زّ zzV | ||||
زّ (L01 zz | زّ (L01 zz | ||||
_) زند z'Ind | |||||
.group ژ | .group ژ | ||||
ژ ZV | ژ ZV | ||||
_) سلجھ (L01 sUlJh | _) سلجھ (L01 sUlJh | ||||
_) سدھر sUdh'aR | _) سدھر sUdh'aR | ||||
_) سدھر (L01 sUdhR | _) سدھر (L01 sUdhR | ||||
_) سلسل s'Ils,Il | |||||
_) ستار sIt'a:R | |||||
@) س (ٹ s | |||||
سندھ s'Ind# | |||||
سیکھ s'i:k# | |||||
@) س (ت s | |||||
_) سپرد sUp'URd | |||||
.group ش | .group ش | ||||
ش SV | ش SV | ||||
ش (L01 S | ش (L01 S | ||||
شّ SSV | شّ SSV | ||||
شّ (L01 SS | شّ (L01 SS | ||||
_) شعب S'Ob | |||||
شاعر Sa:'a:IR | |||||
_) شعرا S'ORa: | |||||
_) شعل S'Ol | |||||
@) ش (ت S | |||||
_) شخص S'axs. | |||||
.group ص | .group ص | ||||
ص s.V | ص s.V | ||||
ص (L01 s. | ص (L01 s. | ||||
صّ ssV | صّ ssV | ||||
صّ (L01 ss | صّ (L01 ss | ||||
صوب s.'u:b | |||||
.group ض | .group ض | ||||
ض zV | ض zV | ||||
.group ط | .group ط | ||||
ط tV | ط tV | ||||
طھ t#V | طھ t#V | ||||
ط (L01 t | |||||
ط (L01 t | |||||
طھ (L01 t# | طھ (L01 t# | ||||
طّ ttV | طّ ttV | ||||
طّ (L01 tt | طّ (L01 tt | ||||
ف (L01 f | ف (L01 f | ||||
فّ ffV | فّ ffV | ||||
فّ (L01 ff | فّ (L01 ff | ||||
_) فکر f'IkR | |||||
.group ق | .group ق | ||||
ق qV | ق qV | ||||
ق (L01 q | ق (L01 q | ||||
قّ qqV | قّ qqV | ||||
قّ (L01 qq | قّ (L01 qq | ||||
قاعد q'a:jd | |||||
.group ک | .group ک | ||||
ک kV | ک kV | ||||
کّ kkV | کّ kkV | ||||
کّ (L01 kk | کّ (L01 kk | ||||
_) کتن k'Itn | _) کتن k'Itn | ||||
کوئل k'o:Il | |||||
کتاب kIt'a:b | |||||
کوشش k'o:SIS | |||||
.group گ | .group گ | ||||
گ gV | گ gV | ||||
_) گرفت g'IRIft | _) گرفت g'IRIft | ||||
_) گزر gUz'aR | _) گزر gUz'aR | ||||
_) گزر (L01 gUzR | _) گزر (L01 gUzR | ||||
گئے g'ae: | |||||
گئی g'ai: | |||||
گمشد g'UmS,Ud | |||||
_) گھما g#'Uma: | |||||
.group ل | .group ل | ||||
ل lV | ل lV | ||||
مّ mmV | مّ mmV | ||||
مّ (L01 mm | مّ (L01 mm | ||||
_) مشکل m'USk,Il | _) مشکل m'USk,Il | ||||
محکم me:He:km | |||||
مظاہر mUz.'a:HIR | |||||
_) ملن (L01 m'Iln | |||||
مسجد m'asJ,Id | |||||
مشرق m'aSR,Iq | |||||
مقدم mUq'adm | |||||
مسلم m'Usl,Im | |||||
مسلما mUs'alm,a: | |||||
@) م (پ m | |||||
موجود mo:J'u:d | |||||
منزل m'anz,Il | |||||
@) م (ب m | |||||
محقق mUH'aqIq | |||||
منظر m,anz.'aR | |||||
محفل m'e:Hf,Il | |||||
مسکرا m'Usk,URa: | |||||
مسکراہٹ m,Usk,URa:H'at. | |||||
محسن m'o:Hs,In | |||||
مجرم m'UJR,Im | |||||
منظور m,anz.'u:R | |||||
ملزم m'Ulz,Im | |||||
مغرب m'aQR,Ib | |||||
منسوخ m'ansu:x | |||||
.group ن | .group ن | ||||
ن nV | ن nV | ||||
@) ن (چ n | @) ن (چ n | ||||
_) نکال nIk'a:l | _) نکال nIk'a:l | ||||
_) نگاہ nIg'a:H | _) نگاہ nIg'a:H | ||||
_) نمٹ nIm'at. | |||||
_) نمٹ (L01 nImt. | |||||
@) ن (پ n | |||||
@) نچل n'Icl | |||||
نشان nIS'a:n | |||||
@) ن (ڈ n | |||||
_) نظر naz.'aR | |||||
_) نظام nIz.'a:m | |||||
.group ں | .group ں | ||||
ں n // this should nasalize the vowel | ں n // this should nasalize the vowel |
name english | name english | ||||
language en-uk 2 | |||||
language en-gb 2 | language en-gb 2 | ||||
language en-uk 2 | |||||
language en 2 | language en 2 | ||||
gender male | gender male | ||||
dictrules 3 6 | dictrules 3 6 | ||||
option reduce_t 1 | option reduce_t 1 | ||||
stressLength 145 125 190 170 0 0 260 300 | |||||
stressLength 140 120 190 170 0 0 255 290 | |||||
stressAmp 17 16 19 19 19 19 21 19 | stressAmp 17 16 19 19 19 19 21 19 | ||||
replace 03 I i | replace 03 I i |
name spanish-latin-american | |||||
name spanish-latin-am | |||||
language es-la | language es-la | ||||
language es-mx 6 | language es-mx 6 | ||||
language es 6 | language es 6 |
name akan-test | |||||
language ak | |||||
translator sw | |||||
name azerbaijani-test | |||||
language az | |||||
name bengali | |||||
name bengali-test | |||||
language bn | language bn | ||||
gender male | gender male |
name divehi-test | |||||
language dv | |||||
name haitian | |||||
language ht | |||||
name kazakh | |||||
language kk | |||||
name Korean | |||||
name korean-test | |||||
language ko | language ko | ||||
gender male | gender male | ||||
pitch 80 118 | pitch 80 118 |
name maltese-test | |||||
language mt | |||||
name northern-sotho | |||||
language nso | |||||
translator sw |
name dari-test | |||||
language prs | |||||
translator fa | |||||
stressrule 10 |
name kinyarwanda-test | |||||
language rw | |||||
gender male | |||||
name sinhala | |||||
name sinhala-test | |||||
language si | language si | ||||
intonation 2 | intonation 2 |
name telugu | |||||
name telugu-test | |||||
language te | language te | ||||
intonation 2 | intonation 2 |
name setswana-test | |||||
language tn | |||||
name tatar-test | |||||
language tt | |||||
tunes s3 c3 q3 e3 | |||||
name wolof-test | |||||
language wo | |||||
phoneme a | phoneme a | ||||
vowel starttype #a endtype #a | vowel starttype #a endtype #a | ||||
length 225 | length 225 | ||||
FMT(vowel/aa_9) | |||||
FMT(vowel/a_3) | |||||
endphoneme | endphoneme | ||||
phoneme i | phoneme i | ||||
vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
length 200 | |||||
length 210 | |||||
FMT(vowel/i_6) | FMT(vowel/i_6) | ||||
endphoneme | endphoneme | ||||
phoneme u | phoneme u | ||||
vowel starttype #u endtype #u | vowel starttype #u endtype #u | ||||
length 200 | |||||
length 210 | |||||
FMT(vowel/u) | FMT(vowel/u) | ||||
endphoneme | endphoneme | ||||
phoneme e | phoneme e | ||||
vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
length 200 | |||||
length 210 | |||||
FMT(vowel/e) | FMT(vowel/e) | ||||
endphoneme | endphoneme | ||||
phoneme & | phoneme & | ||||
vowel starttype #a endtype #a | vowel starttype #a endtype #a | ||||
length 200 | |||||
length 210 | |||||
FMT(vowel/&_2) | FMT(vowel/&_2) | ||||
endphoneme | endphoneme | ||||
phoneme o | phoneme o | ||||
vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
length 200 | |||||
length 210 | |||||
IF nextPhW(w) THEN | IF nextPhW(w) THEN | ||||
length 160 | |||||
length 170 | |||||
ENDIF | ENDIF | ||||
FMT(vowel/o) | FMT(vowel/o) | ||||
endphoneme | endphoneme |
// PB General rules for vowels: | // PB General rules for vowels: | ||||
// Short vowels | // Short vowels | ||||
// ACC: Short "pille" [p?el@-] | |||||
// AC[V]: Short "piler" [p?ilV] | |||||
// ACC: Short "pille" [p?el@-], "andre" [AndRV] | |||||
// AC[V]: Short "piler" [p?ilV] - verbs, not nouns, which is a problem | |||||
// A[N]: Short "bange" [b?AN@-] | // A[N]: Short "bange" [b?AN@-] | ||||
// Long vowels | // Long vowels | ||||
// A + group #@ OR group #e: Long "ae" "aer" [&:@-] | |||||
// AC + group #@ OR group #e: Long "pile" [pi:l@-] | |||||
// A + @- OR V: Long "ae" "aer" [&:@-] | |||||
// AC + @- OR V: Long "pile" [pi:l@-] | |||||
// AC[i]: Long "smidig" [smi:Di] | // AC[i]: Long "smidig" [smi:Di] | ||||
// Change the length of short vowels (?+vowel) | |||||
procedure ShortVowelLength | |||||
// "endelig" - Short initial vowel sounds too short | |||||
IF thisPh(isWordStart) THEN | |||||
length 160 | |||||
RETURN | |||||
ENDIF | |||||
// "slutte" t/d + @- makes the u too long | |||||
IF next2PhW(@-) THEN | |||||
IF nextPhW(t) OR nextPhW(d) THEN | |||||
//length 100 | |||||
LengthAdd -50 | |||||
// Don't shorten it further if it comes after an "r" sound | |||||
// Exit the procedure | |||||
RETURN | |||||
ENDIF | |||||
ENDIF | |||||
// "bygget" - consonant + [@-D] makes the vowel too long | |||||
IF next2PhW(@-) THEN | |||||
IF next3PhW(t) OR next3PhW(d) OR next3PhW(D) THEN | |||||
LengthAdd -50 | |||||
// Don't shorten it further if it comes after an "r" sound ("brygget") | |||||
// Exit the procedure | |||||
RETURN | |||||
ENDIF | |||||
ENDIF | |||||
// "bygger" - consonant + [V] makes the vowel too long | |||||
IF nextPhW(isNotVowel) AND next2PhW(V) THEN | |||||
LengthAdd -50 | |||||
// Don't shorten it further if it comes after an "r" sound ("brygger") | |||||
// Exit the procedure | |||||
RETURN | |||||
ENDIF | |||||
// "rigtigt", "fred", "frem", "centralen" - R makes the vowel too long | |||||
IF prevPhW(R) OR prevPhW(3-) OR prevPhW(r) THEN | |||||
// length 100 | |||||
LengthAdd -50 | |||||
ENDIF | |||||
// "ring", "ringe", "fængsel" | |||||
IF nextPhW(N) THEN | |||||
// length 100 | |||||
LengthAdd -10 | |||||
ENDIF | |||||
// "sigte" t/d + @- makes the vowel too long | |||||
IF nextPhW(isNotVowel) AND next2PhW(t) OR next2PhW(d) THEN | |||||
IF next3PhW(@-) THEN | |||||
// length 100 | |||||
LengthAdd -50 | |||||
ENDIF | |||||
ENDIF | |||||
endprocedure | |||||
// Change the length of normal vowels (without ? in front of them) | |||||
procedure LongVowelLength | |||||
// "alene" - Short initial vowel sounds too short at length 140 | |||||
IF thisPh(isWordStart) THEN | |||||
length 160 | |||||
RETURN | |||||
ENDIF | |||||
// "forlade" - [D@-] makes the vowel too long | |||||
IF nextPhW(D) AND next2PhW(@-) THEN | |||||
length 180 | |||||
RETURN | |||||
ENDIF | |||||
// PB long vowel followed by [@-] or [V](vowel+vowel) - "pigen" [p'i@-n] | |||||
IF nextPhW(@-) OR nextPhW(V) THEN | |||||
length 225 | |||||
ENDIF | |||||
// PB "enig", "enige", "evig", "stædig" - vowel+consolant+[i] | |||||
IF nextPhW(isNotVowel) AND next2PhW(i) THEN | |||||
length 225 | |||||
ENDIF | |||||
// "ræve", "dele", "mene", "røve", "møve" | |||||
IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(3) OR next3PhW(@-) THEN | |||||
length 225 | |||||
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 next2PhW(@-) OR next2PhW(V) THEN | |||||
// length 180 | |||||
LengthAdd -70 | |||||
ENDIF | |||||
ENDIF | |||||
// "syste", "sylte" t/d/D + @- makes the vowel too long | |||||
// "international", - added [V] TEST | |||||
IF nextPhW(isNotVowel) AND next2PhW(t) OR next2PhW(d) OR next2PhW(D) THEN | |||||
IF next3PhW(@-) OR next3PhW(V) THEN | |||||
length 110 | |||||
ENDIF | |||||
ENDIF | |||||
// "glimrende" [l/3] makes the following vowel too long | |||||
// LengthAdd doesn't work here. The length could be 225 or 140 - 30 | |||||
IF prevPhW(l/3) THEN | |||||
// LengthAdd -30 | |||||
length 110 | |||||
ENDIF | |||||
// "længe" - short - 2 consonants => 1 consonant (ng => [N]) | |||||
IF nextPhW(N) THEN | |||||
length 140 | |||||
ENDIF | |||||
endprocedure | |||||
// A bit longer than [@-] | |||||
phoneme @ | phoneme @ | ||||
vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
unstressed | unstressed | ||||
IF nextPhW(*) OR nextPhW(r) THEN | IF nextPhW(*) OR nextPhW(r) THEN | ||||
ipa NULL // @-* is used to make 'r' | ipa NULL // @-* is used to make 'r' | ||||
ENDIF | ENDIF | ||||
length 40 | |||||
length 50 | |||||
// "femten", "manden" - only a short "n" sound | |||||
IF nextPhW(n) THEN | |||||
length 15 | |||||
ENDIF | |||||
IF prevPhW(isNotVowel) AND thisPh(isWordEnd) THEN | |||||
length 15 | |||||
ENDIF | |||||
// "lige" [li@-] | |||||
IF prevPhW(i) AND thisPh(isWordEnd) THEN | |||||
length 15 | |||||
ENDIF | |||||
FMT(vowel/@-) | FMT(vowel/@-) | ||||
endphoneme | endphoneme | ||||
phoneme i | phoneme i | ||||
vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
length 95 //150 | |||||
// PB long vowel followed by consonant and certain vowels "gide" | |||||
IF nextPhW(isNotVowel) AND next2PhW(#@) OR next2PhW(V) THEN | |||||
length 150 | |||||
length 140 | |||||
// Long vowel followed by consonant and @- "gide", "pile" | |||||
IF nextPhW(isNotVowel) AND next2PhW(@-) THEN | |||||
// length 225 | |||||
ENDIF | ENDIF | ||||
// "gider", vrider" | // "gider", vrider" | ||||
IF nextPhW(D) AND next2PhW(V) OR next2PhW(?V) THEN | IF nextPhW(D) AND next2PhW(V) OR next2PhW(?V) THEN | ||||
length 95 | |||||
ENDIF | |||||
// PB long vowel followed by certain vowels - "pigen" [p'i@-n] | |||||
IF nextPhW(#@) OR nextPhW(#e) THEN | |||||
length 150 | |||||
ENDIF | |||||
// Only this vowel (in this case [i]) | |||||
IF thisPh(isFinalVowel) AND thisPh(isWordEnd) AND thisPh(isWordStart) OR prevPhW(_) THEN | |||||
length 150 | |||||
ENDIF | |||||
// This vowel is word end - longer because it sounds too short | |||||
// "sig", "si" | |||||
IF thisPh(isWordEnd) THEN | |||||
length 120 | |||||
length 140 | |||||
ENDIF | ENDIF | ||||
// "vilje" - short followed by 2 consonants | |||||
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN | |||||
length 95 | |||||
//"skider" short | |||||
IF nextPhW(D) AND next2PhW(V) THEN | |||||
length 140 | |||||
ENDIF | ENDIF | ||||
// PB "tie", "stige", "krige" vowel + vowel: extra length | |||||
// What is causing this very short [i] in words with final [@-]? | |||||
// NOT "galleriet" [g,?&lVR'i@-D] NOT "krigen" [kR'i@-n] | |||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) AND NOT next2PhW(D) AND NOT next2PhW(n) THEN | |||||
length 240 | |||||
//"skideren" long | |||||
IF nextPhW(D) AND next2PhW(V) AND next3PhW(V) THEN | |||||
length 225 | |||||
ENDIF | ENDIF | ||||
CALL LongVowelLength | |||||
FMT(vowel/i_4) | FMT(vowel/i_4) | ||||
endphoneme | endphoneme | ||||
// sviret vs. svirret | // sviret vs. svirret | ||||
phoneme ?i | phoneme ?i | ||||
vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
length 90 | |||||
length 140 | |||||
CALL ShortVowelLength | |||||
IfNextVowelAppend(;) | IfNextVowelAppend(;) | ||||
FMT(vowel/i_4) | FMT(vowel/i_4) | ||||
endphoneme | endphoneme | ||||
phoneme e | phoneme e | ||||
vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
length 95 //150 | |||||
// "delte", "mente" | |||||
IF nextPhW(@-) OR nextPhW(V) OR next2PhW(@-) OR next2PhW(V) THEN | |||||
length 150 | |||||
ENDIF | |||||
// PB "ring", "ringe" | |||||
IF nextPhW(N) THEN | |||||
length 95 | |||||
ENDIF | |||||
// PB "enig", "enige", "evig" | |||||
IF nextPhW(isNotVowel) AND next2PhW(i) THEN | |||||
length 150 | |||||
ENDIF | |||||
// Only "e" | |||||
IF thisPh(isWordEnd) AND thisPh(isWordStart) THEN | |||||
length 150 | |||||
ENDIF | |||||
// "nedladende" [n'eDl&D@-n@-] - before 2 consonants: short | |||||
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN | |||||
length 95 | |||||
ENDIF | |||||
length 140 | |||||
CALL LongVowelLength | |||||
CALL ShortVowelLength | |||||
FMT(vowel/e) | FMT(vowel/e) | ||||
endphoneme | endphoneme | ||||
// "skille" vs. "skele", "pille" vs. "pile" | // "skille" vs. "skele", "pille" vs. "pile" | ||||
phoneme ?e | phoneme ?e | ||||
vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
length 90 | |||||
length 140 | |||||
CALL ShortVowelLength | |||||
FMT(vowel/e) | FMT(vowel/e) | ||||
endphoneme | endphoneme | ||||
phoneme E | phoneme E | ||||
vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
length 100 //150 | |||||
// "værelse", "breve" | |||||
IF nextVowel(3) OR nextVowel(V) OR nextVowel(@) OR nextVowel(@-) THEN | |||||
// length 150 | |||||
ENDIF | |||||
// "ræve" | |||||
IF nextVowel(#@) OR nextVowel(#e) THEN | |||||
length 160 | |||||
length 140 | |||||
// no link with next vowel | |||||
IF thisPh(isWordEnd) THEN | |||||
IfNextVowelAppend(_!) | |||||
ENDIF | ENDIF | ||||
// "ære", "kærester", "ærefrygt" - longer E | |||||
// "ære", "kærester", "ærefrygt" - vowel + vowel | |||||
IF nextPhW(V) THEN | IF nextPhW(V) THEN | ||||
length 180 | |||||
ENDIF | |||||
// Only the letter "æ" - long | |||||
IF thisPh(isWordEnd) AND thisPh(isWordStart) THEN | |||||
length 160 | |||||
length 225 | |||||
ENDIF | ENDIF | ||||
// "stædig" [st'EDi] long | |||||
IF nextPhW(isNotVowel) AND next2PhW(i) THEN | |||||
length 160 | |||||
ENDIF | |||||
// "længe" - short - 2 consonants => 1 consonant | |||||
IF nextPhW(N) THEN | |||||
length 120 | |||||
// "dræber" TEST shortened by -70 in procedure because of the "r" sound | |||||
IF prevPhW(R) OR prevPhW(r) OR prevPhW(3-) AND next2PhW(V) THEN | |||||
length 225 | |||||
ENDIF | ENDIF | ||||
CALL LongVowelLength | |||||
// "værelse" [v'E3-Vls@_!] | // "værelse" [v'E3-Vls@_!] | ||||
IF nextPhW(3-) AND next2PhW(V) THEN | IF nextPhW(3-) AND next2PhW(V) THEN | ||||
length 120 | |||||
ENDIF | |||||
// "mælkebøtte" - short followed by 2 consonants | |||||
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN | |||||
length 120 | |||||
length 100 | |||||
ENDIF | ENDIF | ||||
FMT(vowel/e_mid2) | FMT(vowel/e_mid2) | ||||
endphoneme | endphoneme | ||||
phoneme ?E | phoneme ?E | ||||
vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
ipa ε | ipa ε | ||||
length 100 | |||||
length 140 | |||||
CALL ShortVowelLength | |||||
FMT(vowel/e_mid2) | FMT(vowel/e_mid2) | ||||
endphoneme | endphoneme | ||||
phoneme & | phoneme & | ||||
vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
ipa a | |||||
length 90 //150 | |||||
// "same", "sale", "bade" - consonant + gooup #e or group #@: long | |||||
IF next2PhW(#@) OR next2PhW(#e) THEN | |||||
length 150 | |||||
ipa æ | |||||
length 140 | |||||
// "same", "sale", "bade" - consonant + @-: long | |||||
// but NOT "hinanden" | |||||
IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(@) THEN | |||||
IF NOT next3PhW(n) THEN | |||||
length 225 | |||||
ENDIF | |||||
ENDIF | ENDIF | ||||
// ThisPh + gooup #e or group #@ | |||||
// ThisPh + V or @- | |||||
// "ae", "aer" vowel + vowel: extra length | // "ae", "aer" vowel + vowel: extra length | ||||
IF nextPhW(#@) OR nextPhW(#e) THEN | |||||
length 220 | |||||
ENDIF | |||||
// This vowel is word end - longer because it sounds too short | |||||
// "ja", "Omaha" | |||||
IF thisPh(isWordEnd) THEN | |||||
length 120 | |||||
ENDIF | |||||
// Only this vowel (in this case [&]) | |||||
IF thisPh(isFinalVowel) AND thisPh(isWordEnd) AND thisPh(isWordStart) OR prevPhW(_) THEN | |||||
length 150 | |||||
ENDIF | |||||
// "stadig" [st&Di], "stadigt" [st&Dit] | |||||
IF nextPhW(isNotVowel) AND next2PhW(i) THEN | |||||
length 180 | |||||
ENDIF | |||||
// "Alfie", "alfer" - short before 2 consonants | |||||
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN | |||||
length 90 | |||||
IF nextPhW(@-) OR nextPhW(V) THEN | |||||
length 260 | |||||
ENDIF | ENDIF | ||||
CALL LongVowelLength | |||||
FMT(vowel/ee_2) | FMT(vowel/ee_2) | ||||
endphoneme | endphoneme | ||||
// PB Short & | |||||
// Short & | |||||
// e.g. the last a in "staldkarl" | // e.g. the last a in "staldkarl" | ||||
// "sale" vs. "sal" | // "sale" vs. "sal" | ||||
phoneme ?& | phoneme ?& | ||||
ipa a | |||||
vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
length 90 | |||||
FMT(vowel/ee_2) | |||||
length 140 | |||||
FMT(vowel/ee_2) | |||||
endphoneme | endphoneme | ||||
// PB added for the æ in "dræbt" | |||||
// Added for the æ in "dræbt" | |||||
phoneme &# | phoneme &# | ||||
vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
length 120 | |||||
IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||||
glstop | |||||
length 90 | |||||
ENDIF | |||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN | |||||
length 150 | |||||
ENDIF | |||||
length 140 | |||||
ipa a | |||||
CALL LongVowelLength | |||||
// CALL ShortVowelLength | |||||
FMT(vowel/&) | FMT(vowel/&) | ||||
endphoneme | endphoneme | ||||
// "revl" vs. "tremme" | // "revl" vs. "tremme" | ||||
phoneme ?&# | phoneme ?&# | ||||
vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
length 90 | |||||
length 140 | |||||
CALL ShortVowelLength | |||||
FMT(vowel/&) | FMT(vowel/&) | ||||
endphoneme | endphoneme | ||||
//phoneme a | |||||
// vowel starttype #a endtype #a | |||||
// length 90 //150 | |||||
//IF nextPhW(#@) OR nextPhW(#e) THEN | |||||
// length 150 | |||||
//ENDIF | |||||
// FMT(vowel/a_2) | |||||
//endphoneme | |||||
// PB short (glottal) a | |||||
// "bragt" | |||||
//phoneme ?a | |||||
// vowel starttype #a endtype #a | |||||
// length 90 | |||||
// FMT(vowel/a_2) | |||||
//endphoneme | |||||
phoneme A // PB changed to a_8 | phoneme A // PB changed to a_8 | ||||
vowel starttype #a endtype #a | vowel starttype #a endtype #a | ||||
length 90 //150 | |||||
// PB long vowel followed by consonant and certain vowels - "drabelig" | |||||
IF nextPhW(isNotVowel) AND next2PhW(#@) OR next2PhW(#e) THEN | |||||
length 150 | |||||
ENDIF | |||||
// "far", "bastard" - a bit longer followed by [r] | |||||
IF nextPhW(r) AND nextPhW(isWordEnd) THEN | |||||
length 120 | |||||
ENDIF | |||||
// "bange" [bAN@-] - [N] = 2 consonants (ng) => short | |||||
IF nextPhW(N) THEN | |||||
length 90 | |||||
ENDIF | |||||
length 140 | |||||
CALL LongVowelLength | |||||
// "fare" [f'A:A] | // "fare" [f'A:A] | ||||
IF nextPhW(A) THEN | IF nextPhW(A) THEN | ||||
length 150 | |||||
length 225 | |||||
ENDIF | ENDIF | ||||
FMT(vowel/a_8) | FMT(vowel/a_8) | ||||
endphoneme | endphoneme | ||||
// PB short A | // PB short A | ||||
// "drab" vs. "drabelig" | |||||
// "krabbe" vs. "drabelig" | |||||
phoneme ?A | phoneme ?A | ||||
vowel starttype #a endtype #a | vowel starttype #a endtype #a | ||||
length 90 | |||||
// "straffeattest", "straffe", "rapid" - a bit longer after R | |||||
IF prevPhW(R) AND nextPhW(isNotVowel) AND next2PhW(isVowel) THEN | |||||
length 110 | |||||
ENDIF | |||||
length 140 | |||||
CALL ShortVowelLength | |||||
FMT(vowel/a_8) | FMT(vowel/a_8) | ||||
endphoneme | endphoneme | ||||
phoneme u | phoneme u | ||||
vowel starttype #u endtype #u | vowel starttype #u endtype #u | ||||
length 90 //150 | |||||
length 140 | |||||
// "suge", "uge", "bluse", "julegave" | // "suge", "uge", "bluse", "julegave" | ||||
IF nextPhW(#e) OR nextPhW(#@) OR next2PhW(#e) OR next2PhW(#@)THEN | |||||
length 150 | |||||
ENDIF | |||||
// "umulig" [u:m'uli] | |||||
IF nextVowel(i) AND nextVowel(isFinalVowel) AND nextVowel(isWordEnd) THEN | |||||
length 180 | |||||
ENDIF | |||||
// Only "u" | |||||
IF thisPh(isWordEnd) AND thisPh(isWordStart) THEN | |||||
length 150 | |||||
ENDIF | |||||
// "fugl" [ful] - a bit longer | |||||
IF nextPhW(isWordEnd) THEN | |||||
length 120 | |||||
IF nextPhW(@-) OR nextPhW(V) OR next2PhW(@-) OR next2PhW(V)THEN | |||||
length 225 | |||||
ENDIF | ENDIF | ||||
CALL LongVowelLength | |||||
FMT(vowel/u_bck) | FMT(vowel/u_bck) | ||||
endphoneme | endphoneme | ||||
// PB glottal u | |||||
// Short u | |||||
// "tude" vs. "tuden" - [tuD3] [t?uD@n] | // "tude" vs. "tuden" - [tuD3] [t?uD@n] | ||||
phoneme ?u | phoneme ?u | ||||
vowel starttype #u endtype #u | vowel starttype #u endtype #u | ||||
length 90 | |||||
length 140 | |||||
CALL ShortVowelLength | |||||
FMT(vowel/u_bck) | FMT(vowel/u_bck) | ||||
endphoneme | endphoneme | ||||
phoneme o | phoneme o | ||||
vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
length 90 //150 | |||||
// "bore", "borer" | |||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@-) THEN | |||||
length 150 | |||||
length 140 | |||||
// "bore", "borer" [boV] o + V | |||||
IF nextPhW(V) OR nextPhW(@-) THEN | |||||
length 225 | |||||
ENDIF | ENDIF | ||||
// "modig" - long vowel after consonant + [i] | |||||
IF nextPhW(D) AND next2PhW(i) THEN | |||||
length 150 | |||||
// "kone", "koner" o + consonant + V or @- | |||||
IF next2PhW(V) OR next2PhW(@-) THEN | |||||
length 225 | |||||
ENDIF | ENDIF | ||||
CALL LongVowelLength | |||||
FMT(vowel/o_2) | FMT(vowel/o_2) | ||||
endphoneme | endphoneme | ||||
// "patron" vs. "kone" | // "patron" vs. "kone" | ||||
phoneme ?o | phoneme ?o | ||||
vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
length 95 | |||||
length 140 | |||||
FMT(vowel/o_2) | FMT(vowel/o_2) | ||||
endphoneme | endphoneme | ||||
phoneme O | phoneme O | ||||
vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
length 90 // 150 | |||||
// "sove", "sover" - consonant + #e or #@: long | |||||
IF next2PhW(#@) OR next2PhW(#e) THEN | |||||
length 150 | |||||
length 140 | |||||
ipa ɒ // changed from ɔ - Den Danske Ordbog: ɒ | |||||
// "sove", "sover" - consonant + @ or V: long | |||||
IF next2PhW(@-) OR next2PhW(V) THEN | |||||
length 225 | |||||
ENDIF | ENDIF | ||||
// PB "gået" - ThisPh + #e or #@ | |||||
IF nextPhW(#e) OR nextPhW(#@) THEN | |||||
length 150 | |||||
// PB "gået" - ThisPh + V or @- | |||||
IF nextPhW(V) OR nextPhW(@-) THEN | |||||
length 225 | |||||
ENDIF | ENDIF | ||||
// "rådig" | |||||
IF nextVowel(i) AND nextVowel(isFinalVowel) THEN | |||||
length 180 | |||||
// "såre", "sårede" [s'O:?OD@-] | |||||
IF nextPhW(O) OR nextPhW(?O) THEN | |||||
length 225 | |||||
ENDIF | ENDIF | ||||
CALL LongVowelLength | |||||
FMT(vowel/o_5) | FMT(vowel/o_5) | ||||
endphoneme | endphoneme | ||||
// "toget" vs. "tåget" | // "toget" vs. "tåget" | ||||
phoneme ?O | phoneme ?O | ||||
vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
length 90 | |||||
length 140 | |||||
FMT(vowel/o_5) | FMT(vowel/o_5) | ||||
endphoneme | endphoneme | ||||
phoneme V | phoneme V | ||||
vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
length 150 | |||||
// "sport" [spV:t] | |||||
IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||||
glstop | |||||
length 90 | |||||
ENDIF | |||||
IF nextPh(3) OR nextPh(V) OR nextPh(@) THEN | |||||
length 150 | |||||
ENDIF | |||||
// PB short V in "holder", "solder" | |||||
IF nextPhW(isNotVowel) AND next2Ph(V) THEN | |||||
length 90 | |||||
ENDIF | |||||
// "snorke", "snorker", årlig | |||||
IF next2PhW(3) OR next2PhW(V) OR next2PhW(@) OR next2PhW(i) THEN | |||||
length 180 | |||||
ENDIF | |||||
// "sove" [sVw3] - longer followed by w + 3 | |||||
IF nextPhW(w) AND next2PhW(3) THEN | |||||
length 220 | |||||
ENDIF | |||||
// PB "konge" | |||||
IF nextPhW(N) THEN | |||||
length 95 | |||||
ENDIF | |||||
length 140 | |||||
CALL LongVowelLength | |||||
FMT(vowel/V_4) | FMT(vowel/V_4) | ||||
endphoneme | endphoneme | ||||
// PB Short å | |||||
// PB Short V | |||||
// "forstår" vs. "kåre" | // "forstår" vs. "kåre" | ||||
phoneme ?V | phoneme ?V | ||||
vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
length 90 | |||||
length 140 | |||||
FMT(vowel/V_4) | FMT(vowel/V_4) | ||||
endphoneme | endphoneme | ||||
phoneme 0 | phoneme 0 | ||||
vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
length 150 | |||||
IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||||
glstop | |||||
length 90 | |||||
ENDIF | |||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN | |||||
length 150 | |||||
ENDIF | |||||
length 140 | |||||
ipa ɔ | |||||
FMT(vowel/oo_2) | FMT(vowel/oo_2) | ||||
endphoneme | endphoneme | ||||
// Short 0 "sukker" | // Short 0 "sukker" | ||||
phoneme ?0 | phoneme ?0 | ||||
vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
length 90 | |||||
length 140 | |||||
ipa ɔ | |||||
FMT(vowel/oo_2) | FMT(vowel/oo_2) | ||||
endphoneme | endphoneme | ||||
phoneme y | phoneme y | ||||
vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
// Length changed to short since most vowels are short. | |||||
// It's probably easier only to make rules for long vowels. | |||||
length 90 //150 | |||||
length 140 | |||||
// PB long vowel followed by consonant and certain vowels | // PB long vowel followed by consonant and certain vowels | ||||
// "lyde", "lyder" | |||||
IF nextPhW(isNotVowel) AND next2PhW(#@) OR next2PhW(#e) THEN | |||||
length 150 | |||||
ENDIF | |||||
// Only this vowel (in this case [y]) | |||||
IF thisPh(isFinalVowel) AND thisPh(isWordEnd) AND thisPh(isWordStart) THEN | |||||
length 150 | |||||
ENDIF | |||||
// "dydig" [dyDi] | |||||
IF nextPhW(isNotVowel) AND next2PhW(i) THEN | |||||
length 150 | |||||
// "gyde", "gyder" | |||||
IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(V) THEN | |||||
// not "gebyret" TEST | |||||
IF NOT nextPhW(3-) AND NOT nextPhW(R) AND NOT nextPhW(r) THEN | |||||
length 225 | |||||
ENDIF | |||||
ENDIF | ENDIF | ||||
// "syge" [sy3] vowel + vowel: extra length, but NOT "fyret" [fyVD] | |||||
IF nextPhW(#e) OR nextPhW(#@) AND NOT next2PhW(D) THEN | |||||
length 200 | |||||
// "syge" [sy@-] vowel + vowel: extra length, but NOT "fyret" [fyVD] | |||||
IF nextPhW(@-) OR nextPhW(3) AND NOT next2PhW(D) THEN | |||||
length 225 | |||||
ENDIF | ENDIF | ||||
// "tyve" | // "tyve" | ||||
IF nextPhW(?u) AND next2PhW(@-) THEN | |||||
length 150 | |||||
IF nextPhW(w) AND next2PhW(@-) THEN | |||||
length 225 | |||||
ENDIF | ENDIF | ||||
CALL LongVowelLength | |||||
FMT(vowel/y) | FMT(vowel/y) | ||||
endphoneme | endphoneme | ||||
// "kylling" vs. "kyle", "krybbe" vs. "krybe" | // "kylling" vs. "kyle", "krybbe" vs. "krybe" | ||||
phoneme ?y | phoneme ?y | ||||
vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
length 90 | |||||
length 140 | |||||
CALL ShortVowelLength | |||||
FMT(vowel/y) | FMT(vowel/y) | ||||
endphoneme | endphoneme | ||||
phoneme Y | phoneme Y | ||||
vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
length 150 | |||||
IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||||
glstop | |||||
length 90 | |||||
ENDIF | |||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN | |||||
length 150 | |||||
length 140 | |||||
IF nextPhW(V) OR nextPhW(@-) THEN | |||||
length 225 | |||||
ENDIF | ENDIF | ||||
FMT(vowel/yy) | FMT(vowel/yy) | ||||
endphoneme | endphoneme | ||||
phoneme W | phoneme W | ||||
vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
length 90 //160 | |||||
// "kløe" vowel + vowel: extra length | |||||
IF nextPhW(#@) OR nextPhW(#e) THEN | |||||
length 220 | |||||
ENDIF | |||||
// røde" W + 1 consonant + 3 or W or @ | |||||
IF next2PhW(#@) OR next2PhW(#e) THEN | |||||
length 160 | |||||
ENDIF | |||||
// "røveri" but NOT "surfer" [sWf?V] TEST | |||||
length 140 | |||||
// "røveri" but NOT "surfer" [sWfV] TEST | |||||
IF next2PhW(V) OR next2PhW(?V) AND NOT next2PhW(isFinalVowel) THEN | IF next2PhW(V) OR next2PhW(?V) AND NOT next2PhW(isFinalVowel) THEN | ||||
length 90 | |||||
ENDIF | |||||
// PB "nødig", "nødigt", "kølige" | |||||
IF nextVowel(i) THEN | |||||
length 160 | |||||
ENDIF | |||||
// "møve" [mWw@-] | |||||
IF nextPhW(w) AND nextVowel(@-) THEN | |||||
length 160 | |||||
length 140 | |||||
ENDIF | ENDIF | ||||
// "børnebog" | |||||
IF nextPhW(r) AND next2PhW(n) AND nextVowel(@-) THEN | |||||
length 150 | |||||
// "børnebog" - short | |||||
IF nextPhW(r) AND next2PhW(n) AND next3PhW(@-) THEN | |||||
length 140 | |||||
ENDIF | ENDIF | ||||
CALL LongVowelLength | |||||
FMT(vowel/oe) | FMT(vowel/oe) | ||||
endphoneme | endphoneme | ||||
// "prøv" vs. "prøve" | // "prøv" vs. "prøve" | ||||
phoneme ?W | phoneme ?W | ||||
vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
length 95 | |||||
length 140 | |||||
CALL ShortVowelLength | |||||
FMT(vowel/oe) | FMT(vowel/oe) | ||||
endphoneme | endphoneme | ||||
// Added for the ø in "røv", "røg", "øje" instead of [V3] | // Added for the ø in "røv", "røg", "øje" instead of [V3] | ||||
phoneme W# | phoneme W# | ||||
vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
length 90 //150 | |||||
IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||||
glstop | |||||
// length 90 | |||||
ENDIF | |||||
length 140 //225 | |||||
// PB long vowel followed by consonant and certain vowels | // PB long vowel followed by consonant and certain vowels | ||||
IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(@) OR next2PhW(3) OR next2PhW(V) OR next2PhW(?V) THEN | IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(@) OR next2PhW(3) OR next2PhW(V) OR next2PhW(?V) THEN | ||||
length 150 | |||||
length 225 | |||||
ENDIF | ENDIF | ||||
FMT(vowel/V) | FMT(vowel/V) | ||||
endphoneme | endphoneme | ||||
// "rømme" | // "rømme" | ||||
phoneme ?W# | phoneme ?W# | ||||
vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
length 90 | |||||
length 140 | |||||
CALL ShortVowelLength | |||||
FMT(vowel/V) | FMT(vowel/V) | ||||
endphoneme | endphoneme | ||||
length 300 | length 300 | ||||
IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2Ph(@-) AND nextPhW(isNotVowel) THEN | IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2Ph(@-) AND nextPhW(isNotVowel) THEN | ||||
glstop | glstop | ||||
length 150 | |||||
length 225 | |||||
ENDIF | ENDIF | ||||
// "dreje" [dR'aI@-_!] | // "dreje" [dR'aI@-_!] | ||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) THEN | IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) THEN | ||||
phoneme l | phoneme l | ||||
liquid | liquid | ||||
lengthmod 7 | lengthmod 7 | ||||
// [ll] => [-l] - avoid double l | |||||
IF nextPhW(l) THEN | |||||
// ChangePhoneme(-) | |||||
ENDIF | |||||
ChangePhoneme(l/3) | ChangePhoneme(l/3) | ||||
// CALL base/l | // CALL base/l | ||||
endphoneme | endphoneme | ||||
phoneme l/3 // Replacement for [l/] | phoneme l/3 // Replacement for [l/] | ||||
liquid | liquid | ||||
lengthmod 7 | lengthmod 7 | ||||
IF nextPh(isVowel) THEN | |||||
// ChangePhoneme(l) | |||||
ENDIF | |||||
PrevVowelEndings | |||||
VowelEnding(l/l_@) | |||||
VowelEnding(l/l_a,-70) // kvalt, kapital | |||||
VowelEnding(l/l_e, -40) | |||||
VowelEnding(l/l_i, -70) | |||||
VowelEnding(l/l_o,-70) // stole, skole, pistol | |||||
VowelEnding(l/l_u, -70) | |||||
EndSwitch | |||||
// IF nextPh(isLiquid) THEN | |||||
// FMT(l/_l) | |||||
// ENDIF | |||||
FMT(l/l_) | FMT(l/l_) | ||||
endphoneme | endphoneme | ||||
phoneme j | phoneme j | ||||
liquid palatal | liquid palatal | ||||
lengthmod 7 | lengthmod 7 | ||||
// no link with next vowel | |||||
IF thisPh(isWordEnd) THEN | |||||
IfNextVowelAppend(_!) | |||||
ENDIF | |||||
IF nextPhW(isVowel) THEN | IF nextPhW(isVowel) THEN | ||||
NextVowelStarts | NextVowelStarts | ||||
VowelStart(j/j@) | VowelStart(j/j@) |
vowel starttype #a endtype #a | vowel starttype #a endtype #a | ||||
ipa a | ipa a | ||||
length 185 | length 185 | ||||
IF MbrolaSynth THEN | |||||
ChangePhoneme(A:) | |||||
ENDIF | |||||
IfNextVowelAppend(r-) | IfNextVowelAppend(r-) | ||||
FMT(vowel/a) | FMT(vowel/a) | ||||
endphoneme | endphoneme | ||||
vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
unstressed | unstressed | ||||
length 130 | length 130 | ||||
IF MbrolaSynth THEN | |||||
ChangePhoneme(I) | |||||
ENDIF | |||||
IfNextVowelAppend(;) | IfNextVowelAppend(;) | ||||
FMT(vowel/ii_4) | FMT(vowel/ii_4) | ||||
endphoneme | endphoneme | ||||
phoneme I# // used for [I] which may be [@] in some accents | phoneme I# // used for [I] which may be [@] in some accents | ||||
vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
unstressed | unstressed | ||||
length 130 | length 130 | ||||
IF MbrolaSynth THEN | |||||
ChangePhoneme(I) | |||||
ENDIF | |||||
IfNextVowelAppend(;) | IfNextVowelAppend(;) | ||||
ChangePhoneme(I2) | ChangePhoneme(I2) | ||||
endphoneme | endphoneme | ||||
phoneme i // optional variant of [I] for end of words | phoneme i // optional variant of [I] for end of words | ||||
vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
ipa ɪ | ipa ɪ | ||||
vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
ipa ɔː | ipa ɔː | ||||
length 250 | length 250 | ||||
IF MbrolaSynth THEN | |||||
ChangePhoneme(O@) | |||||
ENDIF | |||||
IfNextVowelAppend(r-) | IfNextVowelAppend(r-) | ||||
FMT(vowel/oo_en) | FMT(vowel/oo_en) | ||||
endphoneme | endphoneme | ||||
phoneme i@3 | phoneme i@3 | ||||
vowel starttype #i endtype #@ | vowel starttype #i endtype #@ | ||||
length 250 | length 250 | ||||
IF MbrolaSynth THEN | |||||
ChangePhoneme(i@) | |||||
ENDIF | |||||
IfNextVowelAppend(r-) | IfNextVowelAppend(r-) | ||||
FMT(vdiph2/ii@) | FMT(vdiph2/ii@) | ||||
endphoneme | endphoneme |
phoneme E | phoneme E | ||||
vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
length 195 | |||||
length 190 | |||||
ChangeIfDiminished(I2) | ChangeIfDiminished(I2) | ||||
FMT(vwl_en_us/ee) | FMT(vwl_en_us/ee) | ||||
endphoneme | endphoneme | ||||
phoneme O: | phoneme O: | ||||
vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
length 210 | |||||
length 200 | |||||
ChangeIfDiminished(@) | ChangeIfDiminished(@) | ||||
IF nextPh(r) THEN | IF nextPh(r) THEN | ||||
FMT(vwl_en_us/oor) | FMT(vwl_en_us/oor) | ||||
phoneme aI | phoneme aI | ||||
vowel starttype #a endtype #i | vowel starttype #a endtype #i | ||||
length 250 | |||||
length 240 | |||||
IF nextPh(#a) OR nextPh(#o) THEN | IF nextPh(#a) OR nextPh(#o) THEN | ||||
AppendPhoneme(;) | AppendPhoneme(;) | ||||
ENDIF | ENDIF | ||||
phoneme eI | phoneme eI | ||||
vowel starttype #e endtype #i | vowel starttype #e endtype #i | ||||
length 230 | |||||
FMT(vdiph/eei_5) | |||||
length 220 | |||||
FMT(vdiph2/ei_4) | |||||
// FMT(vdiph/eei_5) | |||||
endphoneme | endphoneme | ||||
phoneme OI | phoneme OI | ||||
vowel starttype #o endtype #i | vowel starttype #o endtype #i | ||||
length 285 | |||||
length 280 | |||||
FMT(vdiph/ooi_4) | FMT(vdiph/ooi_4) | ||||
endphoneme | endphoneme | ||||
phoneme aI3 | phoneme aI3 | ||||
vowel starttype #a endtype #@ | vowel starttype #a endtype #@ | ||||
length 300 | |||||
length 310 | |||||
ipa aɪɚ | ipa aɪɚ | ||||
IfNextVowelAppend(r-) | IfNextVowelAppend(r-) | ||||
FMT(vwl_en_us/ai3) | FMT(vwl_en_us/ai3) |
phoneme c# | phoneme c# | ||||
CALL base/tS; | CALL base/tS; | ||||
ipa ch | |||||
ipa cU+02B0 | |||||
endphoneme | endphoneme | ||||
FMT(dzh/dzh) addWav(x/dz_pzd) | FMT(dzh/dzh) addWav(x/dz_pzd) | ||||
endphoneme | endphoneme | ||||
phoneme s- | |||||
import_phoneme base/s // temporary | |||||
endphoneme | |||||
phoneme q- | |||||
import_phoneme base/q // temporary | |||||
endphoneme | |||||
phoneme tS;- | |||||
import_phoneme base/tS; // temporary | |||||
endphoneme | |||||
phoneme d- | |||||
import_phoneme base/d | |||||
endphoneme | |||||
// phoneme tSh; ?? changed to [tS;h] in ko_rules | |||||
// phoneme h- in ko_list (for 10^3) ?? changed to [h] | |||||
// phoneme tSh- changed to tSh | |||||
phoneme * // r(ㄹ) at initial, medial | phoneme * // r(ㄹ) at initial, medial | ||||
vcd alv flp rhotic | vcd alv flp rhotic | ||||
ipa ɾ | ipa ɾ |
length 130 | length 130 | ||||
IF thisPh(isStressed) OR thisPh(isFirstVowel) OR thisPh(isWordEnd) THEN | IF thisPh(isStressed) OR thisPh(isFirstVowel) OR thisPh(isWordEnd) THEN | ||||
FMT(vowel/a#_2) | |||||
FMT(vowel/a#_4) | |||||
ELSE | ELSE | ||||
ChangeIfUnstressed(@) | ChangeIfUnstressed(@) | ||||
endphoneme | endphoneme | ||||
// Aspirated voice stops, sound like aspirated unvoiced stops ? | |||||
phoneme b# | |||||
vls blb stop prevoice | |||||
lengthmod 2 | |||||
voicingswitch b | |||||
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 | |||||
Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30 | |||||
IF PreVoicing THEN | |||||
IF prevPhW(isVowel) THEN | |||||
FMT(b/xb) | |||||
ELSE | |||||
FMT(voc/murmur1) | |||||
ENDIF | |||||
ENDIF | |||||
IF nextPh(isPause2) THEN | |||||
WAV(ustop/p_) | |||||
ENDIF | |||||
IF nextPh(l) THEN | |||||
WAV(ustop/pl) | |||||
ENDIF | |||||
WAV(ustop/p_asp) | |||||
endphoneme | |||||
phoneme d# | |||||
vls dnt stop prevoice | |||||
lengthmod 2 | |||||
voicingswitch d | |||||
Vowelin f1=0 f2=1500 -300 300 f3=-100 80 amp=16 | |||||
Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20 | |||||
IF PreVoicing THEN | |||||
IF prevPhW(isVowel) THEN | |||||
FMT(d/xd) | |||||
ELSE | |||||
FMT(voc/murmur1) | |||||
ENDIF | |||||
ENDIF | |||||
IF nextPh(isPause2) THEN | |||||
WAV(ustop/t_dnt, 35) | |||||
ENDIF | |||||
WAV(ustop/t_dnt, 50) | |||||
endphoneme | |||||
phoneme d.# | |||||
vls rfx stop prevoice | |||||
lengthmod 2 | |||||
ipa ʈU+02B0 | |||||
Vowelin f1=0 f2=1800 -300 300 f3=-400 80 | |||||
Vowelout f1=0 f2=1800 -300 250 f3=-400 80 rms=20 colr=2 | |||||
IF PreVoicing THEN | |||||
IF prevPhW(isVowel) THEN | |||||
FMT(d/xdr) | |||||
ELSE | |||||
FMT(voc/murmur1) | |||||
ENDIF | |||||
ENDIF | |||||
voicingswitch d.# | |||||
WAV(ustop/t) | |||||
endphoneme | |||||
phoneme J# | |||||
vls pal afr sibilant palatal prevoice | |||||
voicingswitch c# | |||||
lengthmod 2 | |||||
Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70 | |||||
IF PreVoicing THEN | |||||
IF prevPhW(isVowel) THEN | |||||
FMT(dzh/xdz_pzd) | |||||
ELSE | |||||
FMT(voc/murmur1) | |||||
ENDIF | |||||
ENDIF | |||||
IF nextPh(isPause2) THEN | |||||
WAV(ustop/ts_pzd) | |||||
ENDIF | |||||
WAV(ustop/ts_pzd) | |||||
endphoneme | |||||
phoneme g# | |||||
vls vel stop prevoice | |||||
lengthmod 2 | |||||
Vowelin f1=1 f2=1400 -100 100 f3=-150 80 | |||||
Vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20 | |||||
IF PreVoicing THEN | |||||
IF prevPhW(isVowel) THEN | |||||
FMT(g/xg) | |||||
ELSE | |||||
FMT(voc/murmur1) | |||||
ENDIF | |||||
ENDIF | |||||
IF nextPh(isPause2) THEN | |||||
WAV(ustop/k_asp, 40) | |||||
ENDIF | |||||
IF nextPhW(#e) OR nextPhW(#i) THEN | |||||
WAV(ustop/k_asp_e, 40) | |||||
ELIF nextPhW(#o) OR nextPhW(#u) THEN | |||||
WAV(ustop/k_asp_a, 25) | |||||
ELSE | |||||
WAV(ustop/k_asp_a, 30) | |||||
ENDIF | |||||
endphoneme | |||||
phoneme E | phoneme E | ||||
vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
length 170 | |||||
length 180 | |||||
ChangeIfUnstressed(y) | ChangeIfUnstressed(y) | ||||
FMT(vowel/e_mid) | FMT(vowel/e_mid) | ||||
endphoneme | endphoneme | ||||
phoneme e | phoneme e | ||||
vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
length 160 | |||||
length 180 | |||||
ChangeIfUnstressed(y) | ChangeIfUnstressed(y) | ||||
FMT(vowel/e) | FMT(vowel/e) | ||||
endphoneme | endphoneme | ||||
phoneme y | phoneme y | ||||
vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
length 110 | |||||
length 130 | |||||
ipa ɨ | ipa ɨ | ||||
FMT(vowel/i#_5) | FMT(vowel/i#_5) | ||||
endphoneme | endphoneme | ||||
phoneme i | phoneme i | ||||
vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
length 150 | |||||
length 170 | |||||
IfNextVowelAppend(;) | IfNextVowelAppend(;) | ||||
FMT(vowel/i) | FMT(vowel/i) | ||||
endphoneme | endphoneme | ||||
phoneme i/ // changes to NULL before a vowel | phoneme i/ // changes to NULL before a vowel | ||||
vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
length 100 | |||||
length 130 | |||||
ipa ɨ | ipa ɨ | ||||
IF nextPh(isVowel) THEN | IF nextPh(isVowel) THEN | ||||
ChangePhoneme(NULL) | ChangePhoneme(NULL) | ||||
phoneme O | phoneme O | ||||
vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
length 170 | |||||
length 180 | |||||
// ChangeIfNotStressed(o) | // ChangeIfNotStressed(o) | ||||
FMT(vowel/0_2) | FMT(vowel/0_2) | ||||
endphoneme | endphoneme | ||||
phoneme o | phoneme o | ||||
vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
length 170 | |||||
length 180 | |||||
ChangeIfNotStressed(u) | ChangeIfNotStressed(u) | ||||
FMT(vowel/o) | FMT(vowel/o) | ||||
endphoneme | endphoneme | ||||
phoneme u | phoneme u | ||||
vowel starttype #u endtype #u | vowel starttype #u endtype #u | ||||
length 160 | |||||
length 180 | |||||
FMT(vowel/u_6) | FMT(vowel/u_6) | ||||
endphoneme | endphoneme | ||||
phoneme U | phoneme U | ||||
vowel starttype #u endtype #u | vowel starttype #u endtype #u | ||||
length 110 | |||||
length 130 | |||||
IF nextPh(isVowel) THEN | IF nextPh(isVowel) THEN | ||||
ChangePhoneme(w) | ChangePhoneme(w) | ||||
ENDIF | ENDIF | ||||
phoneme EU | phoneme EU | ||||
vowel starttype #e endtype #u | vowel starttype #e endtype #u | ||||
length 220 | |||||
length 230 | |||||
FMT(vdiph/eeu_2) | FMT(vdiph/eeu_2) | ||||
endphoneme | endphoneme | ||||
ChangePhoneme(NULL) | ChangePhoneme(NULL) | ||||
endphoneme | endphoneme | ||||
phoneme z. | |||||
CALL base/z. | |||||
ipa U+027B | |||||
endphoneme |
phonemetable ml hi | phonemetable ml hi | ||||
include ph_malayalam | include ph_malayalam | ||||
phonemetable te hi | |||||
include ph_telugu | |||||
phonemetable hu base | phonemetable hu base | ||||
phonemetable am base | phonemetable am base | ||||
include ph_amhari | include ph_amhari | ||||
phonemetable si hi | |||||
include ph_sinhala | |||||
//************************************************************************************** | //************************************************************************************** | ||||
// The following lines are experimental, for future additions. | // The following lines are experimental, for future additions. | ||||
// These langauges are not in a usable state. | // These langauges are not in a usable state. | ||||
// These lines can be deleted. | // These lines can be deleted. | ||||
phonemetable rw base2 | |||||
include ph_kinyarwanda | |||||
phonemetable si hi | |||||
include ph_sinhala | |||||
phonemetable sl sk | |||||
include ph_slovenian | |||||
//phonemetable rw base2 | |||||
//include ph_kinyarwanda | |||||
//phonemetable mr hi | //phonemetable mr hi | ||||
//include ph_marathi | //include ph_marathi | ||||
//phonemetable prs base | //phonemetable prs base | ||||
//include ph_dari | //include ph_dari | ||||
phonemetable sl sk | |||||
include ph_slovenian | |||||
//phonemetable gd base | //phonemetable gd base | ||||
//include ph_s_gaelic | //include ph_s_gaelic | ||||
//phonemetable dv hi | //phonemetable dv hi | ||||
//include ph_divehi | //include ph_divehi | ||||
//phonemetable te hi | |||||
//include ph_telugu | |||||
//phonemetable tn base | //phonemetable tn base | ||||
//include ph_setswana | //include ph_setswana | ||||
//phonemetable mt base | //phonemetable mt base | ||||
//include ph_maltese | //include ph_maltese | ||||
# Toolflags: | # Toolflags: | ||||
CCflags = -c -C90 -depend !Depend -IC: -throwback -zM | |||||
C++flags = -c -depend !Depend -IC: -throwback -zM | |||||
CCflags = -c -C90 -depend !Depend -IC: -throwback -memaccess -zM -L22-S22-L41 | |||||
C++flags = -c -depend !Depend -IC: -throwback -zM -L22-S22-L41 | |||||
Linkflags = -rmf -c++ -o $@ | Linkflags = -rmf -c++ -o $@ | ||||
ObjAsmflags = -throwback -NoCache -depend !Depend | ObjAsmflags = -throwback -NoCache -depend !Depend | ||||
CMHGflags = | CMHGflags = | ||||
objasm $(objasmflags) -from @.s.assemb -to @.o.assemb | objasm $(objasmflags) -from @.s.assemb -to @.o.assemb | ||||
# Dynamic dependencies: | # Dynamic dependencies: | ||||
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005 to 2007 by Jonathan Duddington * | |||||
* Copyright (C) 2005 to 2013 by Jonathan Duddington * | |||||
* email: [email protected] * | * email: [email protected] * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * This program is free software; you can redistribute it and/or modify * | ||||
#include <ctype.h> | #include <ctype.h> | ||||
#include <locale.h> | #include <locale.h> | ||||
#include "kernel.h" | #include "kernel.h" | ||||
#include <math.h> | |||||
#include "speech.h" | #include "speech.h" | ||||
#include "speak_lib.h" | #include "speak_lib.h" | ||||
voice_variant_names[n_voice_variant_files++] = p; | voice_variant_names[n_voice_variant_files++] = p; | ||||
} | } | ||||
else | else | ||||
if(strcmp(p, "default") != 0) | |||||
{ | { | ||||
if(n_voice_files >= (N_VOICE_NAMES-1)) | if(n_voice_files >= (N_VOICE_NAMES-1)) | ||||
continue; | continue; | ||||
void ReadVoiceNames() | void ReadVoiceNames() | ||||
{//=================== | {//=================== | ||||
char directory[sizeof(path_home)+10]; | |||||
char directory[sizeof(path_home)+20]; | |||||
n_voice_files = 0; | n_voice_files = 0; | ||||
n_voice_variant_files = 0; | n_voice_variant_files = 0; | ||||
sprintf(directory,"%s.voices.default", path_home); | |||||
if(GetFileLength(directory) > 0) | |||||
{ | |||||
// put the 'default' voice at the start of the list | |||||
voice_names[n_voice_files++] = "default"; | |||||
} | |||||
sprintf(directory,"%s.voices",path_home); | sprintf(directory,"%s.voices",path_home); | ||||
ReadVoiceNames2(directory); | ReadVoiceNames2(directory); | ||||
int initialise(void) | int initialise(void) | ||||
{//================= | {//================= | ||||
sprintf(path_home,"%s.espeak-data","<eSpeak$Dir>"); | |||||
char buf[N_PATH_HOME]; | |||||
_kernel_swi_regs regs; | |||||
_kernel_oserror *error; | |||||
buf[0] = 0; | |||||
regs.r[0] = (int)"eSpeak$Dir"; | |||||
regs.r[1] = (int)buf; | |||||
regs.r[2] = sizeof(buf); | |||||
regs.r[3] = 0; | |||||
regs.r[4] = 0; | |||||
regs.r[5] = 0; | |||||
error = _kernel_swi(0x20023,®s,®s); // OS_ReadVarVal | |||||
buf[regs.r[2]] = 0; | |||||
sprintf(path_home,"%s.espeak-data",buf); | |||||
if(GetFileLength(path_home) != -2) | if(GetFileLength(path_home) != -2) | ||||
{ | { | ||||
// not found, try the 10 character version of the directory name | // not found, try the 10 character version of the directory name | ||||
sprintf(path_home,"%s.espeak-dat","<eSpeak$Dir>"); | |||||
sprintf(path_home,"%s.espeak-dat",buf); | |||||
} | } | ||||
if(GetFileLength(path_home) != -2) | if(GetFileLength(path_home) != -2) | ||||
{ | { | ||||
} | } | ||||
WavegenInit(22050,0); | WavegenInit(22050,0); | ||||
LoadPhData(); | |||||
LoadPhData(NULL); | |||||
SetVoiceStack(NULL, ""); | SetVoiceStack(NULL, ""); | ||||
SynthesizeInit(); | SynthesizeInit(); | ||||
return(0); | return(0); | ||||
static_length = 0; | static_length = 0; | ||||
else | else | ||||
{ | { | ||||
strcat(&static_buf[static_length]," : "); | |||||
strcat(&static_buf[static_length]," \n "); | |||||
static_length+=3; | static_length+=3; | ||||
} | } | ||||
void jsd_swi_functions(int *r) | void jsd_swi_functions(int *r) | ||||
/****************************/ | /****************************/ | ||||
{ | { | ||||
int use_ipa; | |||||
espeak_VOICE voice_select; | espeak_VOICE voice_select; | ||||
switch(r[0]) | switch(r[0]) | ||||
{ | { | ||||
case 0: /* major version */ | case 0: /* major version */ | ||||
r[0] = 4; | r[0] = 4; | ||||
r[1] = 331; | |||||
r[1] = 347; | |||||
break; | break; | ||||
case 1: /* register user */ | case 1: /* register user */ | ||||
break; | break; | ||||
case 3: | case 3: | ||||
// r[0] = (int)speech_to_phonemes((char *)r[1]); | |||||
// translate into phonemes | |||||
use_ipa = 0; | |||||
if((r[2] >= 1) && (use_ipa <= 3)) | |||||
use_ipa = r[2]; | |||||
TranslateClause(translator,NULL,(char *)r[1],NULL,NULL); | |||||
GetTranslatedPhonemeString(translator->phon_out, sizeof(translator->phon_out), use_ipa); | |||||
r[0] = (int)translator->phon_out; | |||||
break; | break; | ||||
case 4: | case 4: | ||||
/*********************************************************/ | /*********************************************************/ | ||||
{ | { | ||||
int value; | int value; | ||||
int value2; | |||||
int q_length; | int q_length; | ||||
value = r[0]; | value = r[0]; | ||||
case 0: // ready ? | case 0: // ready ? | ||||
// returns the index into the source text of the currently speaking word | // returns the index into the source text of the currently speaking word | ||||
if(current_source_index > 0) | |||||
r[1] = current_source_index-1; | |||||
else | |||||
r[1] = current_source_index; /* source index */ | |||||
if(current_source_index > 0) | |||||
r[1] = current_source_index-1; | |||||
else | |||||
r[1] = current_source_index; /* source index */ | |||||
r[2] = 0; /* source tag */ | r[2] = 0; /* source tag */ | ||||
r[3] = 0; /* for future expansion */ | r[3] = 0; /* for future expansion */ | ||||
r[4] = 0; | r[4] = 0; | ||||
r[5] = 0; | r[5] = 0; | ||||
if(wcmdq_head == wcmdq_tail) | |||||
if(WcmdqUsed() < 5) | |||||
{ | { | ||||
r[0] = -1; /* ready, or nearly */ | r[0] = -1; /* ready, or nearly */ | ||||
} | } | ||||
else | else | ||||
{ | |||||
r[0] = 0; | r[0] = 0; | ||||
} | |||||
break; | break; | ||||
case 1: /* restore old sound channel. DO NOTHING */ | case 1: /* restore old sound channel. DO NOTHING */ | ||||
break; | break; | ||||
case 7: /* pitch */ | case 7: /* pitch */ | ||||
// not implemented | |||||
value = (value * 50)/128; | |||||
SetParameter(espeakPITCH, value, 0); | |||||
break; | break; | ||||
case 8: /* speed */ | |||||
SetParameter(espeakRATE,value,0); | |||||
case 8: // speed, convert to range 80 to 400, mid-value=180 | |||||
if(value < 128) | |||||
value2 = 80 + (value*100)/128; // linear range for 0-127 -> 80-179 | |||||
else | |||||
value2 = 80 + pow((float)value/128.0, 1.75)*100; | |||||
SetParameter(espeakRATE,value2,0); | |||||
break; | break; | ||||
case 9: /* word_gap */ | case 9: /* word_gap */ | ||||
if(value >= 128) | |||||
value = value - 128; | |||||
if(value > 1) | |||||
value = (value-1) * 5; | |||||
SetParameter(espeakWORDGAP,value,0); | SetParameter(espeakWORDGAP,value,0); | ||||
break; | break; | ||||
case 10: /* pitch_range */ | case 10: /* pitch_range */ | ||||
// not implemented | |||||
value = (value * 50)/128; | |||||
SetParameter(espeakRANGE, value, 0); | |||||
break; | break; | ||||
case 12: /* reset */ | case 12: /* reset */ | ||||
break; | break; | ||||
case 13: /* volume */ | case 13: /* volume */ | ||||
SetParameter(espeakVOLUME,value,0); | |||||
// convert to range 6-255 to 10-400, mid-value=100 | |||||
if(value < 6) | |||||
value2 = value + 4; | |||||
else | |||||
if(value < 128) | |||||
{ | |||||
value2 = pow((float)(value+40)/168.0, 1.75)*100; | |||||
} | |||||
else | |||||
value2 = pow((float)value/128.0, 2.0)*100; | |||||
SetParameter(espeakVOLUME,value2,0); | |||||
WavegenSetVoice(voice); | |||||
break; | |||||
case 14: // set voice by name | |||||
SetVoiceByName((char *)r[0]); | |||||
WavegenSetVoice(voice); | WavegenSetVoice(voice); | ||||
break; | break; | ||||
} | } | ||||
return(value); | return(value); | ||||
} | } | ||||
void PrintVersion() | |||||
{//================ | |||||
char buf[120]; | |||||
printf("\nspeak text-to-speech: %s Data at: %s\n", version_string, path_home); | |||||
} | |||||
void command_line(char *arg_string, int wait) | void command_line(char *arg_string, int wait) | ||||
{//========================================== | {//========================================== | ||||
char command[80]; | char command[80]; | ||||
char *p; | char *p; | ||||
int ix; | int ix; | ||||
int quiet; | |||||
voicename[0] = 0; | voicename[0] = 0; | ||||
wavefile[0] = 0; | wavefile[0] = 0; | ||||
option_linelength = 0; | option_linelength = 0; | ||||
option_phonemes = 0; | option_phonemes = 0; | ||||
option_waveout = 0; | option_waveout = 0; | ||||
option_quiet = 0; | |||||
quiet = 0; | |||||
option_multibyte = 0; // auto | option_multibyte = 0; // auto | ||||
option_capitals = 0; | option_capitals = 0; | ||||
option_punctuation = 0; | option_punctuation = 0; | ||||
break; | break; | ||||
case 'h': | case 'h': | ||||
printf("\nspeak text-to-speech: %s\n%s",version_string,help_text); | |||||
PrintVersion(); | |||||
printf("\n%s",help_text); | |||||
return; | return; | ||||
case 'k': | case 'k': | ||||
break; | break; | ||||
case 'q': | case 'q': | ||||
option_quiet = 1; | |||||
quiet = 1; | |||||
break; | break; | ||||
case 'f': | case 'f': | ||||
else | else | ||||
if(strcmp(command,"help")==0) | if(strcmp(command,"help")==0) | ||||
{ | { | ||||
printf("\nspeak text-to-speech: %s\n%s",version_string,help_text); | |||||
PrintVersion(); | |||||
printf("\n%s",help_text); | |||||
return; | return; | ||||
} | } | ||||
else | else | ||||
SetParameter(espeakPUNCTUATION,option_punctuation,0); | SetParameter(espeakPUNCTUATION,option_punctuation,0); | ||||
} | } | ||||
else | else | ||||
if(memcmp(command,"version",7)==0) | |||||
{ | |||||
PrintVersion(); | |||||
return; | |||||
} | |||||
else | |||||
if(memcmp(command,"ipa",3)==0) | |||||
{ | |||||
option_phonemes = 3; | |||||
} | |||||
else | |||||
{ | { | ||||
printf("Command not recognised\n"); | printf("Command not recognised\n"); | ||||
} | } | ||||
} | } | ||||
} | } | ||||
if((option_phonemes > 1) && !option_waveout) | |||||
quiet = 1; // can't call sprintf() during callback | |||||
SetVoiceByName(voicename); | SetVoiceByName(voicename); | ||||
if((filename[0]==0) && (p[0]=='\r')) | if((filename[0]==0) && (p[0]=='\r')) | ||||
{ | { | ||||
// nothing to speak | // nothing to speak | ||||
if(option_quiet) | |||||
if(quiet) | |||||
{ | { | ||||
SpeakNextClause(NULL,NULL,2); // stop speaking | SpeakNextClause(NULL,NULL,2); // stop speaking | ||||
more_text = 0; | more_text = 0; | ||||
} | } | ||||
} | } | ||||
if(option_waveout || option_quiet) | |||||
if(option_waveout || quiet) | |||||
{ | { | ||||
// write speech to a WAV file | // write speech to a WAV file | ||||
if(option_quiet) | |||||
if(quiet) | |||||
{ | { | ||||
OpenWaveFile(NULL,samplerate); | OpenWaveFile(NULL,samplerate); | ||||
option_waveout = 2; | option_waveout = 2; |
[Setup] | [Setup] | ||||
AppName=eSpeak | AppName=eSpeak | ||||
AppVerName=eSpeak version 1.47.01 | |||||
AppVerName=eSpeak version 1.47.04 | |||||
AppCopyright=Licensed under GNU General Public License version 3. (See file License.txt for details). | AppCopyright=Licensed under GNU General Public License version 3. (See file License.txt for details). | ||||
WindowVisible=yes | WindowVisible=yes | ||||
$0e: Result := 'hu'; | $0e: Result := 'hu'; | ||||
$0f: Result := 'is'; | $0f: Result := 'is'; | ||||
$10: Result := 'it'; | $10: Result := 'it'; | ||||
//$12: Result := 'ko'; | |||||
$12: Result := 'ko'; | |||||
$13: Result := 'nl'; | $13: Result := 'nl'; | ||||
$14: Result := 'no'; | $14: Result := 'no'; | ||||
$15: Result := 'pl'; | $15: Result := 'pl'; | ||||
$1c: Result := 'sq'; | $1c: Result := 'sq'; | ||||
$1d: Result := 'sv'; | $1d: Result := 'sv'; | ||||
$1f: Result := 'tr'; | $1f: Result := 'tr'; | ||||
//$20: Result := 'ur'; | |||||
$20: Result := 'ur'; | |||||
$21: Result := 'id'; | $21: Result := 'id'; | ||||
$25: Result := 'et'; | $25: Result := 'et'; | ||||
$26: Result := 'lv'; | $26: Result := 'lv'; | ||||
$39: Result := 'hi'; | $39: Result := 'hi'; | ||||
//$3a: Result := 'mt'; | //$3a: Result := 'mt'; | ||||
$3c: Result := 'ga'; | $3c: Result := 'ga'; | ||||
$3e: Result := 'ms'; | |||||
//$3f: Result := 'kk'; | //$3f: Result := 'kk'; | ||||
$41: Result := 'sw'; | $41: Result := 'sw'; | ||||
//$44: Result := 'tt'; | //$44: Result := 'tt'; | ||||
'mk': value := $42f; | 'mk': value := $42f; | ||||
'ml': value := $44c; | 'ml': value := $44c; | ||||
'mn': value := $450; | 'mn': value := $450; | ||||
'ms': value := $43e; | |||||
'mt': value := $43a; | 'mt': value := $43a; | ||||
'my': value := $455; | 'my': value := $455; | ||||
'ne': value := $461; | 'ne': value := $461; |
[Setup] | |||||
AppName=eSpeakEdit | |||||
AppVerName=eSpeakEdit version 1.47.01 | |||||
DefaultDirName={pf}\eSpeak | |||||
DefaultGroupName=eSpeak | |||||
OutputBaseFilename=setup_espeakedit | |||||
Compression=lzma | |||||
SolidCompression=yes | |||||
DirExistsWarning=no | |||||
ShowLanguageDialog=auto | |||||
[Icons] | |||||
Name: "{group}\espeakedit"; Filename: "{app}\espeakedit.exe"; WorkingDir: "{app}"; Flags: runmaximized | |||||
Name: "{group}\Uninstall espeakedit"; Filename: "{uninstallexe}" | |||||
[InstallDelete] | |||||
Type: filesandordirs; Name: "{app}\phsource\vowelcharts" | |||||
Type: filesandordirs; Name: "{app}\espeakedit" | |||||
[Files] | |||||
Source: "espeakedit.exe"; DestDir: "{app}" | |||||
;Source: "dictsource\*"; DestDir: "{app}\dictsource"; Flags: recursesubdirs | |||||
Source: "espeakedit\*"; DestDir: "{app}\espeakedit"; Flags: recursesubdirs | |||||
Source: "phsource\*"; DestDir: "{app}\phsource"; Flags: recursesubdirs | |||||
Source: "docs\*"; DestDir: "{app}\docs"; Flags: recursesubdirs | |||||
Source: "License.txt"; DestDir: "{app}"; | |||||
;Source: "Readme.txt"; DestDir: "{app}"; Flags: isreadme | |||||
[Languages] | |||||
Name: "en"; MessagesFile: "compiler:Default.isl" | |||||
Name: "af"; MessagesFile: "compiler:Languages\Afrikaans.isl" | |||||
Name: "bs"; MessagesFile: "compiler:Languages\Bosnian.isl" | |||||
Name: "cs"; MessagesFile: "compiler:Languages\Czech.isl" | |||||
Name: "de"; MessagesFile: "compiler:Languages\German.isl" | |||||
Name: "el"; MessagesFile: "compiler:Languages\Greek.isl" | |||||
Name: "es"; MessagesFile: "compiler:Languages\Spanish.isl" | |||||
Name: "fi"; MessagesFile: "compiler:Languages\Finnish.isl" | |||||
Name: "fr"; MessagesFile: "compiler:Languages\French.isl" | |||||
Name: "hr"; MessagesFile: "compiler:Languages\Croatian.isl" | |||||
Name: "hu"; MessagesFile: "compiler:Languages\Hungarian.isl" | |||||
Name: "id"; MessagesFile: "compiler:Languages\Indonesian-5.1.11.isl" | |||||
Name: "it"; MessagesFile: "compiler:Languages\Italian.isl" | |||||
Name: "lv"; MessagesFile: "compiler:Languages\Latvian-1-5.1.11.isl" | |||||
Name: "nl"; MessagesFile: "compiler:Languages\Dutch.isl" | |||||
Name: "no"; MessagesFile: "compiler:Languages\Norwegian.isl" | |||||
Name: "pl"; MessagesFile: "compiler:Languages\Polish.isl" | |||||
Name: "pt"; MessagesFile: "compiler:Languages\Portuguese.isl" | |||||
Name: "ro"; MessagesFile: "compiler:Languages\Romanian.isl" | |||||
Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl" | |||||
Name: "sk"; MessagesFile: "compiler:Languages\Slovak.isl" | |||||
;Name: "sq"; MessagesFile: "compiler:Languages\Albanian-2-5.1.11.isl" | |||||
Name: "sr"; MessagesFile: "compiler:Languages\Serbian.isl" | |||||
Name: "tr"; MessagesFile: "compiler:Languages\Turkish.isl" | |||||
Name: "zh"; MessagesFile: "compiler:Languages\ChineseSimp-12-5.1.11.isl" | |||||
[Setup] | |||||
AppName=eSpeakEdit | |||||
AppVerName=eSpeakEdit version 1.47.04 | |||||
DefaultDirName={pf}\eSpeak | |||||
DefaultGroupName=eSpeak | |||||
OutputBaseFilename=setup_espeakedit | |||||
Compression=lzma | |||||
SolidCompression=yes | |||||
DirExistsWarning=no | |||||
ShowLanguageDialog=auto | |||||
[Icons] | |||||
Name: "{group}\espeakedit"; Filename: "{app}\espeakedit.exe"; WorkingDir: "{app}"; Flags: runmaximized | |||||
Name: "{group}\Uninstall espeakedit"; Filename: "{uninstallexe}" | |||||
[InstallDelete] | |||||
Type: filesandordirs; Name: "{app}\phsource\vowelcharts" | |||||
Type: filesandordirs; Name: "{app}\espeakedit" | |||||
[Files] | |||||
Source: "espeakedit.exe"; DestDir: "{app}" | |||||
;Source: "dictsource\*"; DestDir: "{app}\dictsource"; Flags: recursesubdirs | |||||
Source: "espeakedit\*"; DestDir: "{app}\espeakedit"; Flags: recursesubdirs | |||||
Source: "phsource\*"; DestDir: "{app}\phsource"; Flags: recursesubdirs | |||||
Source: "docs\*"; DestDir: "{app}\docs"; Flags: recursesubdirs | |||||
Source: "License.txt"; DestDir: "{app}"; | |||||
;Source: "Readme.txt"; DestDir: "{app}"; Flags: isreadme | |||||
[Languages] | |||||
Name: "en"; MessagesFile: "compiler:Default.isl" | |||||
Name: "af"; MessagesFile: "compiler:Languages\Afrikaans.isl" | |||||
Name: "bg"; MessagesFile: "compiler:Languages\Bulgarian.isl" | |||||
Name: "bs"; MessagesFile: "compiler:Languages\Bosnian.isl" | |||||
Name: "cs"; MessagesFile: "compiler:Languages\Czech.isl" | |||||
Name: "da"; MessagesFile: "compiler:Languages\Danish.isl" | |||||
Name: "de"; MessagesFile: "compiler:Languages\German.isl" | |||||
Name: "el"; MessagesFile: "compiler:Languages\Greek.isl" | |||||
Name: "es"; MessagesFile: "compiler:Languages\Spanish.isl" | |||||
Name: "fa"; MessagesFile: "compiler:Languages\Farsi.isl" | |||||
Name: "fi"; MessagesFile: "compiler:Languages\Finnish.isl" | |||||
Name: "fr"; MessagesFile: "compiler:Languages\French.isl" | |||||
Name: "hi"; MessagesFile: "compiler:Languages\Hindi.islu" | |||||
Name: "hr"; MessagesFile: "compiler:Languages\Croatian.isl" | |||||
Name: "hu"; MessagesFile: "compiler:Languages\Hungarian.isl" | |||||
Name: "id"; MessagesFile: "compiler:Languages\Indonesian-5.1.11.isl" | |||||
Name: "it"; MessagesFile: "compiler:Languages\Italian.isl" | |||||
Name: "ka"; MessagesFile: "compiler:Languages\Georgian.islu" | |||||
Name: "lv"; MessagesFile: "compiler:Languages\Latvian.isl" | |||||
Name: "ne"; MessagesFile: "compiler:Languages\Nepali.islu" | |||||
Name: "nl"; MessagesFile: "compiler:Languages\Dutch.isl" | |||||
Name: "no"; MessagesFile: "compiler:Languages\Norwegian.isl" | |||||
Name: "pl"; MessagesFile: "compiler:Languages\Polish.isl" | |||||
Name: "pt"; MessagesFile: "compiler:Languages\Portuguese.isl" | |||||
Name: "ro"; MessagesFile: "compiler:Languages\Romanian.isl" | |||||
Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl" | |||||
Name: "sk"; MessagesFile: "compiler:Languages\Slovak.isl" | |||||
Name: "sr"; MessagesFile: "compiler:Languages\Serbian.isl" | |||||
Name: "tr"; MessagesFile: "compiler:Languages\Turkish.isl" | |||||
Name: "vi"; MessagesFile: "compiler:Languages\Vietnamese.isl" | |||||
Name: "zh"; MessagesFile: "compiler:Languages\ChineseSimp-12-5.1.11.isl" | |||||
break; | break; | ||||
case i_ADD_LENGTH: | case i_ADD_LENGTH: | ||||
value = NextItem(tSIGNEDNUMBER); | |||||
*prog_out++ = (i_ADD_LENGTH << 8) + value/2; | |||||
value = NextItem(tSIGNEDNUMBER) / 2; | |||||
*prog_out++ = (i_ADD_LENGTH << 8) + (value & 0xff); | |||||
DecThenCount(); | DecThenCount(); | ||||
break; | break; | ||||
case kRETURN: | case kRETURN: | ||||
*prog_out++ = i_RETURN; | *prog_out++ = i_RETURN; | ||||
DecThenCount(); | |||||
break; | break; | ||||
case kINCLUDE: | case kINCLUDE: |
} // end of LookupDictList | } // end of LookupDictList | ||||
extern char word_phonemes[N_WORD_PHONEMES]; // a word translated into phoneme codes | |||||
int Lookup(Translator *tr, const char *word, char *ph_out) | int Lookup(Translator *tr, const char *word, char *ph_out) | ||||
{//=================================================== | {//=================================================== | ||||
int found; | |||||
unsigned int flags[2]; | unsigned int flags[2]; | ||||
int say_as; | |||||
char *word1 = (char *)word; | |||||
char text[80]; | |||||
flags[0] = 0; | flags[0] = 0; | ||||
flags[1] = FLAG_LOOKUP_SYMBOL; | flags[1] = FLAG_LOOKUP_SYMBOL; | ||||
char *word1 = (char *)word; | |||||
return(LookupDictList(tr, &word1, ph_out, flags, 0, NULL)); | |||||
found = LookupDictList(tr, &word1, ph_out, flags, FLAG_ALLOW_TEXTMODE, NULL); | |||||
if(flags[0] & FLAG_TEXTMODE) | |||||
{ | |||||
say_as = option_sayas; | |||||
option_sayas = 0; // don't speak replacement word as letter names | |||||
text[0] = 0; | |||||
strncpy0(&text[1], word1, sizeof(text)); | |||||
found = TranslateWord(tr, &text[1], 0, NULL, NULL); | |||||
strcpy(ph_out, word_phonemes); | |||||
option_sayas = say_as; | |||||
} | |||||
return(found); | |||||
} | } | ||||
int LookupFlags(Translator *tr, const char *word) | int LookupFlags(Translator *tr, const char *word) | ||||
{//============================================== | {//============================================== | ||||
char buf[100]; | char buf[100]; |
current_alphabet = alphabet; | current_alphabet = alphabet; | ||||
if((alphabet != NULL) && !(al_flags & AL_DONT_NAME) && (al_offset != translator->letter_bits_offset)) | if((alphabet != NULL) && !(al_flags & AL_DONT_NAME) && (al_offset != translator->letter_bits_offset)) | ||||
{ | { | ||||
if((al_flags & AL_DONT_NAME) || (al_offset == translator->langopts.alt_alphabet)) | |||||
if((al_flags & AL_DONT_NAME) || (al_offset == translator->langopts.alt_alphabet) || (al_offset == translator->langopts.our_alphabet)) | |||||
{ | { | ||||
// don't say the alphabet name | // don't say the alphabet name | ||||
} | } | ||||
else | else | ||||
language = L('e','n'); | language = L('e','n'); | ||||
if(language != tr->translator_name) | |||||
if((language != tr->translator_name) || (language == L('k','o'))) | |||||
{ | { | ||||
char *p3; | |||||
int initial, code; | |||||
char hangul_buf[12]; | |||||
// speak in the language for this alphabet (or English) | // speak in the language for this alphabet (or English) | ||||
ph_buf[2] = SetTranslator2(WordToString2(language)); | ph_buf[2] = SetTranslator2(WordToString2(language)); | ||||
LookupLetter(translator2, letter, word[n_bytes], &ph_buf[3], control & 1); | |||||
if(((code = letter - 0xac00) >= 0) && (letter <= 0xd7af)) | |||||
{ | |||||
// Special case for Korean letters. | |||||
// break a syllable hangul into 2 or 3 individual jamo | |||||
hangul_buf[0] = ' '; | |||||
p3 = &hangul_buf[1]; | |||||
if((initial = (code/28)/21) != 11) | |||||
{ | |||||
p3 += utf8_out(initial + 0x1100, p3); | |||||
} | |||||
utf8_out(((code/28) % 21) + 0x1161, p3); // medial | |||||
utf8_out((code % 28) + 0x11a7, &p3[3]); // final | |||||
p3[6] = ' '; | |||||
p3[7] = 0; | |||||
ph_buf[3] = 0; | |||||
TranslateRules(translator2, &hangul_buf[1], &ph_buf[3], sizeof(ph_buf)-3, NULL, 0, NULL); | |||||
SetWordStress(translator2, &ph_buf[3], NULL, -1, 0); | |||||
} | |||||
else | |||||
{ | |||||
LookupLetter(translator2, letter, word[n_bytes], &ph_buf[3], control & 1); | |||||
} | |||||
if(ph_buf[3] == phonSWITCH) | if(ph_buf[3] == phonSWITCH) | ||||
{ | { |
int delete_count; | int delete_count; | ||||
int word_start; | int word_start; | ||||
int inserted; | int inserted; | ||||
int deleted; | |||||
PHONEME_DATA phdata; | PHONEME_DATA phdata; | ||||
int n_ph_list3; | int n_ph_list3; | ||||
plist3 = &ph_list3[j]; | plist3 = &ph_list3[j]; | ||||
inserted = 0; | inserted = 0; | ||||
deleted = 0; | |||||
if(insert_ph != 0) | if(insert_ph != 0) | ||||
{ | { | ||||
// we have a (linking) phoneme which we need to insert here | // we have a (linking) phoneme which we need to insert here | ||||
plist3->phcode = alternative; | plist3->phcode = alternative; | ||||
if(alternative == 1) | if(alternative == 1) | ||||
continue; // NULL phoneme, discard | |||||
if(ph->type == phVOWEL) | |||||
{ | { | ||||
plist3->synthflags |= SFLAG_SYLLABLE; | |||||
if(ph2->type != phVOWEL) | |||||
plist3->stresslevel = 0; // change from non-vowel to vowel, make sure it's unstressed | |||||
deleted = 1; // NULL phoneme, discard | |||||
} | } | ||||
else | else | ||||
plist3->synthflags &= ~SFLAG_SYLLABLE; | |||||
{ | |||||
if(ph->type == phVOWEL) | |||||
{ | |||||
plist3->synthflags |= SFLAG_SYLLABLE; | |||||
if(ph2->type != phVOWEL) | |||||
plist3->stresslevel = 0; // change from non-vowel to vowel, make sure it's unstressed | |||||
} | |||||
else | |||||
plist3->synthflags &= ~SFLAG_SYLLABLE; | |||||
// re-interpret the changed phoneme | |||||
// But it doesn't obey a second ChangePhoneme() | |||||
InterpretPhoneme(tr, 0x100, plist3, &phdata, &worddata); | |||||
// re-interpret the changed phoneme | |||||
// But it doesn't obey a second ChangePhoneme() | |||||
InterpretPhoneme(tr, 0x100, plist3, &phdata, &worddata); | |||||
} | |||||
} | } | ||||
if(ph->type == phVOWEL) | |||||
if((ph->type == phVOWEL) && (deleted == 0)) | |||||
{ | { | ||||
PHONEME_LIST *p; | PHONEME_LIST *p; | ||||
} | } | ||||
} | } | ||||
if(plist3 != plist3_inserted) | |||||
if((plist3 != plist3_inserted) && (ix > 0)) | |||||
{ | { | ||||
if((x = (tr->langopts.word_gap & 0x7)) != 0) | if((x = (tr->langopts.word_gap & 0x7)) != 0) | ||||
{ | { | ||||
// not yet implemented | // not yet implemented | ||||
} | } | ||||
phlist[ix].ph = ph; | |||||
phlist[ix].type = ph->type; | |||||
phlist[ix].env = PITCHfall; // default, can be changed in the "intonation" module | |||||
phlist[ix].synthflags = plist3->synthflags; | |||||
phlist[ix].stresslevel = plist3->stresslevel & 0xf; | |||||
phlist[ix].wordstress = plist3->wordstress; | |||||
phlist[ix].tone_ph = plist3->tone_ph; | |||||
phlist[ix].sourceix = 0; | |||||
phlist[ix].phcode = ph->code; | |||||
if(plist3->sourceix != 0) | |||||
if(deleted == 0) | |||||
{ | { | ||||
phlist[ix].sourceix = plist3->sourceix; | |||||
phlist[ix].newword = 1; // this phoneme is the start of a word | |||||
phlist[ix].ph = ph; | |||||
phlist[ix].type = ph->type; | |||||
phlist[ix].env = PITCHfall; // default, can be changed in the "intonation" module | |||||
phlist[ix].synthflags = plist3->synthflags; | |||||
phlist[ix].stresslevel = plist3->stresslevel & 0xf; | |||||
phlist[ix].wordstress = plist3->wordstress; | |||||
phlist[ix].tone_ph = plist3->tone_ph; | |||||
phlist[ix].sourceix = 0; | |||||
phlist[ix].phcode = ph->code; | |||||
if(plist3->sourceix != 0) | |||||
{ | |||||
phlist[ix].sourceix = plist3->sourceix; | |||||
phlist[ix].newword = 1; // this phoneme is the start of a word | |||||
if(start_sentence) | |||||
if(start_sentence) | |||||
{ | |||||
phlist[ix].newword = 5; // start of sentence + start of word | |||||
start_sentence = 0; | |||||
} | |||||
} | |||||
else | |||||
{ | { | ||||
phlist[ix].newword = 5; // start of sentence + start of word | |||||
start_sentence = 0; | |||||
phlist[ix].newword = 0; | |||||
} | } | ||||
} | |||||
else | |||||
{ | |||||
phlist[ix].newword = 0; | |||||
} | |||||
// phlist[ix].length = ph->std_length; | |||||
phlist[ix].length = phdata.pd_param[i_SET_LENGTH]*2; | |||||
if((ph->code == phonPAUSE_LONG) && (option_wordgap > 0)) | |||||
{ | |||||
phlist[ix].ph = phoneme_tab[phonPAUSE_SHORT]; | |||||
phlist[ix].length = option_wordgap*14; // 10mS per unit at the default speed | |||||
} | |||||
// phlist[ix].length = ph->std_length; | |||||
phlist[ix].length = phdata.pd_param[i_SET_LENGTH]*2; | |||||
if((ph->code == phonPAUSE_LONG) && (option_wordgap > 0) && (plist3[1].sourceix != 0)) | |||||
{ | |||||
phlist[ix].ph = phoneme_tab[phonPAUSE_SHORT]; | |||||
phlist[ix].length = option_wordgap*14; // 10mS per unit at the default speed | |||||
} | |||||
if(ph->type==phVOWEL || ph->type==phLIQUID || ph->type==phNASAL || ph->type==phVSTOP || ph->type==phVFRICATIVE) | |||||
{ | |||||
phlist[ix].length = 128; // length_mod | |||||
phlist[ix].env = PITCHfall; | |||||
} | |||||
if(ph->type==phVOWEL || ph->type==phLIQUID || ph->type==phNASAL || ph->type==phVSTOP || ph->type==phVFRICATIVE || (ph->phflags & phPREVOICE)) | |||||
{ | |||||
phlist[ix].length = 128; // length_mod | |||||
phlist[ix].env = PITCHfall; | |||||
} | |||||
phlist[ix].prepause = 0; | |||||
phlist[ix].amp = 20; // default, will be changed later | |||||
phlist[ix].pitch1 = 255; | |||||
phlist[ix].pitch2 = 255; | |||||
ix++; | |||||
phlist[ix].prepause = 0; | |||||
phlist[ix].amp = 20; // default, will be changed later | |||||
phlist[ix].pitch1 = 255; | |||||
phlist[ix].pitch2 = 255; | |||||
ix++; | |||||
} | |||||
} | } | ||||
phlist[ix].newword = 2; // end of clause | phlist[ix].newword = 2; // end of clause | ||||
0x055e, // Armenian question | 0x055e, // Armenian question | ||||
0x055b, // Armenian emphasis mark | 0x055b, // Armenian emphasis mark | ||||
0x060c, // Arabic , | |||||
0x061b, // Arabic ; | 0x061b, // Arabic ; | ||||
0x061f, // Arabic ? | 0x061f, // Arabic ? | ||||
0x06d4, // Arabic . | 0x06d4, // Arabic . | ||||
CLAUSE_QUESTION | PUNCT_IN_WORD, // Armenian question | CLAUSE_QUESTION | PUNCT_IN_WORD, // Armenian question | ||||
CLAUSE_PERIOD | PUNCT_IN_WORD, // Armenian emphasis mark | CLAUSE_PERIOD | PUNCT_IN_WORD, // Armenian emphasis mark | ||||
CLAUSE_COMMA, // Arabic , | |||||
CLAUSE_SEMICOLON, // Arabic ; | CLAUSE_SEMICOLON, // Arabic ; | ||||
CLAUSE_QUESTION, // Arabic question mark | CLAUSE_QUESTION, // Arabic question mark | ||||
CLAUSE_PERIOD, // Arabic full stop | CLAUSE_PERIOD, // Arabic full stop |
int last_pitch = 0; | int last_pitch = 0; | ||||
int pitch_start; | int pitch_start; | ||||
int length_mod; | int length_mod; | ||||
int next2type; | |||||
int len; | int len; | ||||
int env2; | int env2; | ||||
int end_of_clause; | int end_of_clause; | ||||
p->prepause = 40; | p->prepause = 40; | ||||
if((prev->type == phPAUSE) || (prev->type == phVOWEL)) // || (prev->ph->mnemonic == ('/'*256+'r'))) | |||||
p->prepause = 0; | |||||
if(prev->type == phVOWEL) | |||||
{ | |||||
p->prepause = 0; // use murmur instead to link from the preceding vowel | |||||
} | |||||
else | |||||
if(prev->type == phPAUSE) | |||||
{ | |||||
// reduce by the length of the preceding pause | |||||
if(prev->length < p->prepause) | |||||
p->prepause -= prev->length; | |||||
else | |||||
p->prepause = 0; | |||||
} | |||||
else | else | ||||
if(p->newword==0) | if(p->newword==0) | ||||
{ | { | ||||
next3 = &phoneme_list[ix+4]; | next3 = &phoneme_list[ix+4]; | ||||
} | } | ||||
next2type = next2->ph->length_mod; | |||||
if(more_syllables==0) | if(more_syllables==0) | ||||
{ | { | ||||
len = tr->langopts.length_mods0[next2->ph->length_mod *10+ next->ph->length_mod]; | |||||
if(next->newword || next2->newword) | |||||
{ | |||||
// don't use 2nd phoneme over a word boundary, unless it's a pause | |||||
if(next2type != 1) | |||||
next2type = 0; | |||||
} | |||||
len = tr->langopts.length_mods0[next2type *10+ next->ph->length_mod]; | |||||
if((next->newword) && (tr->langopts.word_gap & 0x20)) | if((next->newword) && (tr->langopts.word_gap & 0x20)) | ||||
{ | { | ||||
} | } | ||||
else | else | ||||
{ | { | ||||
length_mod = tr->langopts.length_mods[next2->ph->length_mod *10+ next->ph->length_mod]; | |||||
length_mod = tr->langopts.length_mods[next2type *10+ next->ph->length_mod]; | |||||
if((next->type == phNASAL) && (next2->type == phSTOP || next2->type == phVSTOP) && (next3->ph->phflags & phFORTIS)) | if((next->type == phNASAL) && (next2->type == phSTOP || next2->type == phVSTOP) && (next3->ph->phflags & phFORTIS)) | ||||
length_mod -= 15; | length_mod -= 15; |
#include "translate.h" | #include "translate.h" | ||||
#include "wave.h" | #include "wave.h" | ||||
const char *version_string = "1.47.03c 23.Mar.13"; | |||||
const char *version_string = "1.47.04 02.Apr.13"; | |||||
const int version_phdata = 0x014701; | const int version_phdata = 0x014701; | ||||
int option_device_number = -1; | int option_device_number = -1; | ||||
phdata->pd_param[i_APPEND_PHONEME] = data; | phdata->pd_param[i_APPEND_PHONEME] = data; | ||||
} | } | ||||
else | else | ||||
if(instn2 == i_ADD_LENGTH) | |||||
{ | |||||
if(data & 0x80) | |||||
{ | |||||
// a negative value, do sign extension | |||||
data = -(0x100 - data); | |||||
} | |||||
phdata->pd_param[i_SET_LENGTH] += data; | |||||
} | |||||
else | |||||
if(instn2 == i_IPA_NAME) | if(instn2 == i_IPA_NAME) | ||||
{ | { | ||||
// followed by utf-8 characters, 2 per instn word | // followed by utf-8 characters, 2 per instn word |
EndAmplitude(); | EndAmplitude(); | ||||
if(p->prepause > 0) | |||||
if((p->prepause > 0) && !(p->ph->phflags & phPREVOICE)) | |||||
DoPause(p->prepause,1); | DoPause(p->prepause,1); | ||||
done_phoneme_marker = 0; | done_phoneme_marker = 0; | ||||
case phSTOP: | case phSTOP: | ||||
released = 0; | released = 0; | ||||
ph = p->ph; | |||||
if(next->type==phVOWEL) | if(next->type==phVOWEL) | ||||
{ | { | ||||
released = 1; | released = 1; | ||||
if(released == 0) | if(released == 0) | ||||
p->synthflags |= SFLAG_NEXT_PAUSE; | p->synthflags |= SFLAG_NEXT_PAUSE; | ||||
if(ph->phflags & phPREVOICE) | |||||
{ | |||||
// a period of voicing before the release | |||||
memset(&fmtp, 0, sizeof(fmtp)); | |||||
InterpretPhoneme(NULL, 0x01, p, &phdata, &worddata); | |||||
fmtp.fmt_addr = phdata.sound_addr[pd_FMT]; | |||||
fmtp.fmt_amp = phdata.sound_param[pd_FMT]; | |||||
if(last_pitch_cmd < 0) | |||||
{ | |||||
DoAmplitude(next->amp,NULL); | |||||
DoPitch(envelope_data[p->env],next->pitch1,next->pitch2); | |||||
} | |||||
DoSpect2(ph, 0, &fmtp, p, 0); | |||||
} | |||||
InterpretPhoneme(NULL, 0, p, &phdata, &worddata); | InterpretPhoneme(NULL, 0, p, &phdata, &worddata); | ||||
phdata.pd_control |= pd_DONTLENGTHEN; | phdata.pd_control |= pd_DONTLENGTHEN; | ||||
DoSample3(&phdata, 0, 0); | DoSample3(&phdata, 0, 0); |
{"_ar", OFFSET_ARABIC, 0x600, 0x6ff, 0, 0}, | {"_ar", OFFSET_ARABIC, 0x600, 0x6ff, 0, 0}, | ||||
{"_dv", OFFSET_THAANA, 0x780, 0x7bf, 0, 0}, | {"_dv", OFFSET_THAANA, 0x780, 0x7bf, 0, 0}, | ||||
{"_hi", OFFSET_DEVANAGARI, 0x900, 0x97f,L('h','i'), AL_WORDS}, | {"_hi", OFFSET_DEVANAGARI, 0x900, 0x97f,L('h','i'), AL_WORDS}, | ||||
{"_bn", OFFSET_BENGALI, 0x0980, 0x9ff, 0, 0}, | |||||
{"_bn", OFFSET_BENGALI, 0x0980, 0x9ff, L('b','n'), 0}, | |||||
{"_gur", OFFSET_GURMUKHI, 0xa00, 0xa7f, L('p','a'), AL_WORDS}, | {"_gur", OFFSET_GURMUKHI, 0xa00, 0xa7f, L('p','a'), AL_WORDS}, | ||||
{"_gu", OFFSET_GUJARATI, 0xa80, 0xaff, 0, 0}, | {"_gu", OFFSET_GUJARATI, 0xa80, 0xaff, 0, 0}, | ||||
{"_or", OFFSET_ORIYA, 0xb00, 0xb7f, 0, 0}, | {"_or", OFFSET_ORIYA, 0xb00, 0xb7f, 0, 0}, | ||||
{"_ti", OFFSET_TIBET, 0xf00, 0xfff, 0, 0}, | {"_ti", OFFSET_TIBET, 0xf00, 0xfff, 0, 0}, | ||||
{"_my", OFFSET_MYANMAR, 0x1000,0x109f, 0, 0}, | {"_my", OFFSET_MYANMAR, 0x1000,0x109f, 0, 0}, | ||||
{"_ka", OFFSET_GEORGIAN, 0x10a0,0x10ff, L('k','a'), AL_WORDS}, | {"_ka", OFFSET_GEORGIAN, 0x10a0,0x10ff, L('k','a'), AL_WORDS}, | ||||
{"_ko", OFFSET_KOREAN, 0x1100,0x11ff, 0, 0}, | |||||
{"_ko", OFFSET_KOREAN, 0x1100,0x11ff, L('k','o'), AL_WORDS}, | |||||
{"_eth", OFFSET_ETHIOPIC, 0x1200,0x139f, 0, 0}, | {"_eth", OFFSET_ETHIOPIC, 0x1200,0x139f, 0, 0}, | ||||
{"_braille", 0x2800, 0x2800,0x28ff, 0, AL_NO_SYMBOL}, | {"_braille", 0x2800, 0x2800,0x28ff, 0, AL_NO_SYMBOL}, | ||||
{"_ja", 0x3040, 0x3040,0x30ff, 0, AL_NOT_CODE}, | {"_ja", 0x3040, 0x3040,0x30ff, 0, AL_NOT_CODE}, | ||||
{"_zh", 0x3100, 0x3100,0x9fff, 0, AL_NOT_CODE}, | {"_zh", 0x3100, 0x3100,0x9fff, 0, AL_NOT_CODE}, | ||||
{"_ko", 0xa700, 0xa700,0xd7ff, 0, AL_NOT_CODE}, | |||||
{"_ko", 0xa700, 0xa700,0xd7ff, L('k','o'), AL_NOT_CODE | AL_WORDS}, | |||||
{NULL, 0, 0, 0, 0, 0} | {NULL, 0, 0, 0, 0, 0} | ||||
}; | }; | ||||
{ | { | ||||
SetCyrillicLetters(tr); | SetCyrillicLetters(tr); | ||||
SetLetterVowel(tr,0x2a); | SetLetterVowel(tr,0x2a); | ||||
tr->charset_a0 = charsets[5]; // ISO-8859-5 | |||||
tr->langopts.param[LOPT_UNPRONOUNCABLE] = 0x432; // [v] don't count this character at start of word | tr->langopts.param[LOPT_UNPRONOUNCABLE] = 0x432; // [v] don't count this character at start of word | ||||
tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x107; // devoice at end of word, and change voicing to match a following consonant (except v) | tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x107; // devoice at end of word, and change voicing to match a following consonant (except v) | ||||
tr->langopts.param[LOPT_REDUCE] = 2; | tr->langopts.param[LOPT_REDUCE] = 2; | ||||
// character codes offset by 0x380 | // character codes offset by 0x380 | ||||
static const char el_vowels[] = {0x10,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x35,0x37,0x39,0x3f,0x45,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0}; | static const char el_vowels[] = {0x10,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x35,0x37,0x39,0x3f,0x45,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0}; | ||||
static const char el_fvowels[] = {0x2d,0x2e,0x2f,0x35,0x37,0x39,0x45,0x4d,0}; // ε η ι υ έ ή ί ύ | |||||
static const char el_voiceless[]= {0x38,0x3a,0x3e,0x40,0x42,0x43,0x44,0x46,0x47,0}; // θ κ ξ π ς σ τ φ χ | |||||
static const char el_fvowels[] = {0x2d,0x2e,0x2f,0x35,0x37,0x39,0x45,0x4d,0}; // ε η ι υ έ ή ί ύ _ | |||||
static const char el_voiceless[]= {0x38,0x3a,0x3e,0x40,0x42,0x43,0x44,0x46,0x47,0}; // θ κ ξ π ς σ τ φ χ _ | |||||
static const char el_consonants[]={0x32,0x33,0x34,0x36,0x38,0x3a,0x3b,0x3c,0x3d,0x3e,0x40,0x41,0x42,0x43,0x44,0x46,0x47,0x48,0}; | static const char el_consonants[]={0x32,0x33,0x34,0x36,0x38,0x3a,0x3b,0x3c,0x3d,0x3e,0x40,0x41,0x42,0x43,0x44,0x46,0x47,0x48,0}; | ||||
static const wchar_t el_char_apostrophe[] = {0x3c3,0}; // σ | |||||
static const wchar_t el_char_apostrophe[] = {0x3c3,0}; // σ _ | |||||
SetupTranslator(tr,stress_lengths_el,stress_amps_el); | SetupTranslator(tr,stress_lengths_el,stress_amps_el); | ||||
SetLetterBits(tr,LETTERGP_VOWEL2,el_vowels); | SetLetterBits(tr,LETTERGP_VOWEL2,el_vowels); | ||||
SetLetterBits(tr,LETTERGP_B,el_voiceless); | SetLetterBits(tr,LETTERGP_B,el_voiceless); | ||||
SetLetterBits(tr,LETTERGP_C,el_consonants); | SetLetterBits(tr,LETTERGP_C,el_consonants); | ||||
SetLetterBits(tr,LETTERGP_Y,el_fvowels); // front vowels: ε η ι υ | |||||
SetLetterBits(tr,LETTERGP_Y,el_fvowels); // front vowels: ε η ι υ _ | |||||
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable | tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable | ||||
tr->langopts.stress_rule = STRESSPOSN_2R; | tr->langopts.stress_rule = STRESSPOSN_2R; | ||||
tr->langopts.numbers = NUM_SINGLE_STRESS | NUM_HUNDRED_AND | NUM_OMIT_1_HUNDRED | NUM_DECIMAL_COMMA | NUM_THOUS_SPACE | NUM_DFRACTION_2 | NUM_ROMAN_CAPITALS; | tr->langopts.numbers = NUM_SINGLE_STRESS | NUM_HUNDRED_AND | NUM_OMIT_1_HUNDRED | NUM_DECIMAL_COMMA | NUM_THOUS_SPACE | NUM_DFRACTION_2 | NUM_ROMAN_CAPITALS; | ||||
tr->langopts.numbers2 = 0xa + NUM2_THOUSANDS_VAR5; // variant numbers before thousands,milliards | tr->langopts.numbers2 = 0xa + NUM2_THOUSANDS_VAR5; // variant numbers before thousands,milliards | ||||
tr->langopts.replace_chars = replace_cyrillic_latin; | tr->langopts.replace_chars = replace_cyrillic_latin; | ||||
tr->langopts.our_alphabet = OFFSET_CYRILLIC; // don't say "cyrillic" before letter names | |||||
SetLetterVowel(tr,'y'); | SetLetterVowel(tr,'y'); | ||||
SetLetterVowel(tr,'r'); | SetLetterVowel(tr,'r'); | ||||
static const unsigned char ko_voiced[] = {0x02,0x05,0x06,0xab,0xaf,0xb7,0xbc,0}; // voiced consonants, l,m,n,N | static const unsigned char ko_voiced[] = {0x02,0x05,0x06,0xab,0xaf,0xb7,0xbc,0}; // voiced consonants, l,m,n,N | ||||
tr->letter_bits_offset = OFFSET_KOREAN; | tr->letter_bits_offset = OFFSET_KOREAN; | ||||
tr->langopts.our_alphabet = 0xa700; | |||||
memset(tr->letter_bits,0,sizeof(tr->letter_bits)); | memset(tr->letter_bits,0,sizeof(tr->letter_bits)); | ||||
SetLetterBitsRange(tr,LETTERGP_A,0x61,0x75); | SetLetterBitsRange(tr,LETTERGP_A,0x61,0x75); | ||||
SetLetterBits(tr,LETTERGP_Y,ko_ivowels); | SetLetterBits(tr,LETTERGP_Y,ko_ivowels); | ||||
SetupTranslator(tr,stress_lengths_mk,stress_amps_mk); | SetupTranslator(tr,stress_lengths_mk,stress_amps_mk); | ||||
tr->charset_a0 = charsets[5]; // ISO-8859-5 | tr->charset_a0 = charsets[5]; // ISO-8859-5 | ||||
tr->letter_groups[0] = tr->letter_groups[7] = vowels_cyrillic; | tr->letter_groups[0] = tr->letter_groups[7] = vowels_cyrillic; | ||||
tr->letter_bits_offset = OFFSET_CYRILLIC; | |||||
tr->langopts.stress_rule = STRESSPOSN_3R; // antipenultimate | tr->langopts.stress_rule = STRESSPOSN_3R; // antipenultimate | ||||
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_AND_UNITS | NUM_OMIT_1_HUNDRED | NUM_OMIT_1_THOUSAND | NUM_DFRACTION_2; | tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_AND_UNITS | NUM_OMIT_1_HUNDRED | NUM_OMIT_1_THOUSAND | NUM_DFRACTION_2; | ||||
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable | tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable | ||||
tr->langopts.tone_numbers = 1; // a number after letters indicates a tone number (eg. pinyin or jyutping) | tr->langopts.tone_numbers = 1; // a number after letters indicates a tone number (eg. pinyin or jyutping) | ||||
tr->langopts.ideographs = 1; | tr->langopts.ideographs = 1; | ||||
tr->langopts.our_alphabet = 0x3100; | |||||
tr->langopts.word_gap = 0x21; // length of a final vowel is less dependent on the next consonant, don't merge consonant with next word | tr->langopts.word_gap = 0x21; // length of a final vowel is less dependent on the next consonant, don't merge consonant with next word | ||||
if(name2 == L('z','h')) | if(name2 == L('z','h')) | ||||
{ | { |
translator2->phoneme_tab_ix = new_phoneme_tab; | translator2->phoneme_tab_ix = new_phoneme_tab; | ||||
} | } | ||||
} | } | ||||
translator2->phonemes_repeat[0] = 0; | |||||
return(new_phoneme_tab); | return(new_phoneme_tab); | ||||
} // end of SetTranslator2 | } // end of SetTranslator2 | ||||
0x72,0x73,0x74,0x75 | 0x72,0x73,0x74,0x75 | ||||
}; | }; | ||||
// check for Korean Hangul letters | |||||
if(((code = c - 0xac00) >= 0) && (c <= 0xd7af)) | |||||
{ | |||||
// break a syllable hangul into 2 or 3 individual jamo | |||||
initial = (code/28)/21; | |||||
medial = (code/28) % 21; | |||||
final = code % 28; | |||||
if(initial == 11) | |||||
{ | |||||
// null initial | |||||
c = medial + 0x1161; | |||||
if(final > 0) | |||||
*insert = final + 0x11a7; | |||||
} | |||||
else | |||||
{ | |||||
// extact the initial and insert the remainder with a null initial | |||||
c = initial + 0x1100; | |||||
*insert = (11*28*21) + (medial*28) + final + 0xac00; | |||||
} | |||||
return(c); | |||||
} | |||||
else if(((code = c - 0x3130) >= 0) && (code < 0x34)) | |||||
{ | |||||
// Hangul compatibility jamo | |||||
return(hangul_compatibility[code] + 0x1100); | |||||
} | |||||
switch(tr->translator_name) | switch(tr->translator_name) | ||||
{ | { | ||||
case L('a','f'): | case L('a','f'): | ||||
} | } | ||||
} | } | ||||
break; | break; | ||||
case L('k','o'): | |||||
if(((code = c - 0xac00) >= 0) && (c <= 0xd7af)) | |||||
{ | |||||
// break a syllable hangul into 2 or 3 individual jamo | |||||
initial = (code/28)/21; | |||||
medial = (code/28) % 21; | |||||
final = code % 28; | |||||
if(initial == 11) | |||||
{ | |||||
// null initial | |||||
c = medial + 0x1161; | |||||
if(final > 0) | |||||
*insert = final + 0x11a7; | |||||
} | |||||
else | |||||
{ | |||||
// extact the initial and insert the remainder with a null initial | |||||
c = initial + 0x1100; | |||||
*insert = (11*28*21) + (medial*28) + final + 0xac00; | |||||
} | |||||
return(c); | |||||
} | |||||
else if(((code = c - 0x3130) >= 0) && (code < 0x34)) | |||||
{ | |||||
// Hangul compatibility jamo | |||||
return(hangul_compatibility[code] + 0x1100); | |||||
} | |||||
break; | |||||
} | } | ||||
return(SubstituteChar(tr, c, next_in, insert, wordflags)); | return(SubstituteChar(tr, c, next_in, insert, wordflags)); | ||||
} | } | ||||
} | } | ||||
else | else | ||||
{ | { | ||||
if(iswlower(prev_in)) | |||||
if((iswlower(prev_in)) && (prev_in != 0xba)) // Windows thinks masc.ordinal (0xba) is lower-case | |||||
{ | { | ||||
// lower case followed by upper case in a word | // lower case followed by upper case in a word | ||||
if(UpperCaseInWord(tr, &sbuf[ix], c) == 1) | if(UpperCaseInWord(tr, &sbuf[ix], c) == 1) | ||||
prev_clause_pause = clause_pause; | prev_clause_pause = clause_pause; | ||||
*tone_out = tone; | |||||
if(tone_out != NULL) | |||||
*tone_out = tone; | |||||
new_sentence = 0; | new_sentence = 0; | ||||
if(terminator & CLAUSE_BIT_SENTENCE) | if(terminator & CLAUSE_BIT_SENTENCE) |
int listx; // compile *_listx after *list | int listx; // compile *_listx after *list | ||||
const unsigned int *replace_chars; // characters to be substitutes | const unsigned int *replace_chars; // characters to be substitutes | ||||
char ascii_language[8]; // switch to this language for Latin characters | char ascii_language[8]; // switch to this language for Latin characters | ||||
int our_alphabet; // offset for main alphabet (if not set in letter_bits_offset) | |||||
int alt_alphabet; // offset for another language to recognize | int alt_alphabet; // offset for another language to recognize | ||||
int alt_alphabet_lang; // language for the alt_alphabet | int alt_alphabet_lang; // language for the alt_alphabet | ||||
int max_lengthmod; | int max_lengthmod; |
// which directory to look for a named voice. List of voice names, must end in a space. | // which directory to look for a named voice. List of voice names, must end in a space. | ||||
static const char *voices_asia = | static const char *voices_asia = | ||||
"fa fa-pin hi hy hy-west id ka kn ku ml ms ne pa ta tr vi vi-hue zh zh-yue "; | |||||
"bn fa fa-pin hi hy hy-west id ka kn ku ml ms ne pa ta te tr vi vi-hue zh zh-yue "; | |||||
static const char *voices_europe = | static const char *voices_europe = | ||||
"an bg bs ca cs cy da de el en en-us es et fi fr fr-be ga hr hu is it lt lv mk nl no pl pt-pt ro ru sk sq sr sv "; | "an bg bs ca cs cy da de el en en-us es et fi fr fr-be ga hr hu is it lt lv mk nl no pl pt-pt ro ru sk sq sr sv "; | ||||
ESPEAK_API const espeak_VOICE **espeak_ListVoices(espeak_VOICE *voice_spec) | ESPEAK_API const espeak_VOICE **espeak_ListVoices(espeak_VOICE *voice_spec) | ||||
{//======================================================================== | {//======================================================================== | ||||
#ifndef PLATFORM_RISCOS | |||||
char path_voices[sizeof(path_home)+12]; | |||||
#ifdef PLATFORM_RISCOS | |||||
if(n_voices_list == 0) | |||||
{ | |||||
sprintf(path_voices,"%s%cvoices",path_home,PATHSEP); | |||||
len_path_voices = strlen(path_voices)+1; | |||||
GetVoices(path_voices); | |||||
voices_list[n_voices_list] = NULL; // voices list terminator | |||||
} | |||||
return((const espeak_VOICE **)voices_list); | |||||
#else | |||||
int ix; | int ix; | ||||
int j; | int j; | ||||
espeak_VOICE *v; | espeak_VOICE *v; | ||||
static espeak_VOICE **voices = NULL; | static espeak_VOICE **voices = NULL; | ||||
char path_voices[sizeof(path_home)+12]; | |||||
// free previous voice list data | // free previous voice list data | ||||
FreeVoiceList(); | FreeVoiceList(); | ||||
} | } | ||||
return((const espeak_VOICE **)voices); | return((const espeak_VOICE **)voices); | ||||
#endif | #endif | ||||
return((const espeak_VOICE **)voices_list); | |||||
} // end of espeak_ListVoices | } // end of espeak_ListVoices | ||||