| @@ -1,131 +1,133 @@ | |||
| // Translation rules for Bengali | |||
| // Translation rules for Assamese | |||
| // input by . | |||
| // This file is UTF8 encoded | |||
| // Numbers | |||
| // Bengali numbers are changed to latin characters before translation | |||
| _0 S'unjO | |||
| _1 '&k | |||
| // Numbers are changed to latin characters before translation | |||
| _0 X'unjO | |||
| _1 'ek | |||
| _2 d'uj | |||
| _3 t'in | |||
| _4 tS'ar | |||
| _3 t'ini | |||
| _4 tS#'ar'i | |||
| _5 p'a~tS | |||
| _6 tS#'Oj | |||
| _7 S'at | |||
| _8 'at.# | |||
| _7 X'at | |||
| _8 a~t.# | |||
| _9 n'Oj | |||
| _2a d'u // with hundreds etc. | |||
| _6a tS#'a | |||
| _6a tS#'O | |||
| _9a n'O | |||
| _10 d'OS | |||
| _11 '&garo | |||
| _10 d@h | |||
| _11 Ig#'a:ro | |||
| _12 b'arO | |||
| _13 t'erO | |||
| _14 tS'oddO | |||
| _14 tS#au'ddO | |||
| _15 p'OnerO | |||
| _16 S'olO | |||
| _17 S'OterO | |||
| _16 X'olO | |||
| _17 X'OterO | |||
| _18 'at.#arO | |||
| _19 'uniS | |||
| _19 'un'niS | |||
| _20 k'uri // or b'iS ?? | |||
| _20 b'iS | |||
| _21 ek'uS | |||
| _22 b'ajS | |||
| _23 t'ejS | |||
| _24 tS'ObbiS | |||
| _25 p'O~tSiS | |||
| _26 tSh'abbiS | |||
| _27 Sat'aS | |||
| _27 X'at'aS | |||
| _28 'at.#aS | |||
| _29 unOtr'iS | |||
| _29 'unOtr'iS | |||
| _30 tr'iS | |||
| _31 ekOtr'iS | |||
| _32 bOtr'iS | |||
| _33 tetr'iS | |||
| _34 tSowtr'iS | |||
| _35 pO~jtr'iS | |||
| _31 'ek'Otr'iS | |||
| _32 b'Otr'iS | |||
| _33 t'etr'iS | |||
| _34 tS'owtr'iS | |||
| _35 p'O~jtr'iS | |||
| _36 tS#'Otr'iS | |||
| _37 Sa~itr'iS | |||
| _38 at.tr'iS | |||
| _37 X'a~i'tr'iS | |||
| _38 'a~t.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. | |||
| _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 | |||
| _41 'ektSOll'iS | |||
| _42 b'iall'iS | |||
| _43 t'etall'iS | |||
| _44 tS'oall'iS | |||
| _45 p'O~jtall'iS | |||
| _46 tS'etSO'll'iS | |||
| _47 X'atSOll'is | |||
| _48 'a~'tSOll'iS | |||
| _49 'unOpO~tSaS | |||
| _50 p'O~tS'aS | |||
| _51 I'kann'o | |||
| _52 b'ajann'o | |||
| _53 t'epann'o | |||
| _54 tS'ujann'o | |||
| _55 p'ontSann'o | |||
| _56 tS#'apann'o | |||
| _57 X'atann'o | |||
| _58 'at.ann'o | |||
| _59 'unO'Xa:t. | |||
| _60 sa:t. | |||
| _61 'ek'XO't.t.'i | |||
| _62 b'aXO't.t.'i | |||
| _63 t'eXO't.t.'i | |||
| _64 tS'ow'XO't.t.'i | |||
| _65 p'oj'XO't.t.'i | |||
| _66 S'eSOt.t.'i | |||
| _67 Sa:tSOt'ti | |||
| _68 'a~t.SOt.t.'i | |||
| _6X s'at.t.'i | |||
| _69 'unO'X'Ott'Or | |||
| _70 X'Ott'Or | |||
| _71 I'k#'Ott'Or | |||
| _72 b'ahatt'Or | |||
| _73 t'iatt'Or | |||
| _74 tS'uhatt'Or | |||
| _75 p'OX'at.t'Or | |||
| _76 tS#'ijatt'Or | |||
| _77 S'atatt'Or | |||
| _78 'a~t.att'Or | |||
| _79 'unOa'X'i | |||
| _80 a:X'i | |||
| _81 I'ka'X'i | |||
| _82 b'ira'X'i | |||
| _83 t'ira'X'i | |||
| _84 tS'ura'X'i | |||
| _85 p'o~tSa'X'i | |||
| _86 tS#'ija'X'i | |||
| _87 S'ataS'i | |||
| _88 X'ata'S'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 | |||
| _91 I'kanObb'oj | |||
| _92 b'ira'nObb'oj | |||
| _93 t'ira:nObb'oj | |||
| _94 tS'uranObb'oj | |||
| _95 p'OtSanObb'oj | |||
| _96 tS#'ijanObb'oj | |||
| _97 X'atanObb'oj | |||
| _98 'a~t.anObb'oj | |||
| _99 n'iranObb'oj | |||
| _0C e'X'o | |||
| _0M1 h'ajar | |||
| _0M2 l'ak# | |||
| _0M3 k'ot.i | |||
| _0M4 'Orbud | |||
| _dpt _d'Osomik_ | |||
| _dpt _d'OX'omik_ | |||
| // Single consonants | |||
| @@ -133,7 +135,7 @@ _dpt _d'Osomik_ | |||
| খ k#O | |||
| গ gO | |||
| ঘ g#O | |||
| ঙ 'uNO~ | |||
| ঙ 'uNgO~ | |||
| চ tSO | |||
| ছ tShO // [h] to distinguish from [tS] | |||
| জ JO | |||
| @@ -154,46 +156,46 @@ _dpt _d'Osomik_ | |||
| ব bO | |||
| ভ b#O | |||
| ম mO | |||
| য় Oj | |||
| য ,ontostedZ'O | |||
| র rO | |||
| ড় r.O | |||
| ড় r.O // (d. + nukta) | |||
| ঢ় hr.O | |||
| ঢ় hr.O // (d#. + nukta) | |||
| ৰ rO | |||
| ল lO | |||
| ৱ wO | |||
| শ t,aleboS:'O | |||
| ষ m,ud#en:oS:'O | |||
| স d,onteS:'O | |||
| স d,onte'X:'O | |||
| হ hO | |||
| ৎ kh,Ond.ot'O | |||
| ক্ষ k,ojmud#en:oS:'O | |||
| ড় dOerO // (d. + nukta) | |||
| ঢ় d#e hr.O // (d#. + nukta) | |||
| য় ,ontosteOj | |||
| ৎ kh,Ond.ot'O | |||
| // full vowels | |||
| অ O | |||
| আ a | |||
| ই hrOS:o'i | |||
| ঈ dirg#o'i | |||
| ঈ d'i:rg#o'i | |||
| উ hrOS:o'u | |||
| ঊ dirg#o'u | |||
| ঊ d'i:rg#o'u | |||
| ঋ ri | |||
| ও o | |||
| ঔ ow | |||
| এ e $u+ // word 'it' | |||
| ঐ oj $u+ // word 'that' | |||
| ও o $u+ $brk // 'and' | |||
| _এ e | |||
| _ঐ oj | |||
| _ও o | |||
| // combining vowel signs | |||
| া 'akar | |||
| ি r'oS:ikar | |||
| ী d'irg#ikar | |||
| ূ r'oS:ukar | |||
| ু d'irg#ukar | |||
| ি hrOS:o'ikar | |||
| ী d'i:rg#ikar | |||
| ূ hrOS:o'ukar | |||
| ু d'i:rg#ukar | |||
| ৃ r'ikar | |||
| ে 'ekar | |||
| ৈ 'ojkar | |||
| @@ -208,116 +210,53 @@ _ও o | |||
| ় b'indu | |||
| $ d.Olar | |||
| % SOtk'Ora | |||
| % X'Otk'Ora | |||
| + jOg | |||
| = SOman | |||
| = X'Oman | |||
| // Punctuation | |||
| । dVn.d.V | |||
| । dVn.ri | |||
| _, koma | |||
| _? pr'oSnOtSihnO | |||
| // Pronouns | |||
| আমি $u // main: I | |||
| আমায় $u | |||
| আমার $u | |||
| আমরা $u // we | |||
| আমাদের $u | |||
| ময $u // I, me | |||
| আমি $u // us | |||
| আমার $u // our | |||
| আপনি $u // you(formal) | |||
| আপনাকে $u | |||
| আপনার $u | |||
| আপনাক $u | |||
| তুমি $u // you (informal) | |||
| তোমায় $u | |||
| তোমার $u | |||
| তোমাদের $u | |||
| তুই $u // you (informal) | |||
| তোকে $u | |||
| তোমাক $u | |||
| তয় $u // you (informal) | |||
| তোক $u | |||
| তোর $u | |||
| এ $u // he/she/it | |||
| আপনি $u | |||
| এটার $u | |||
| এর $u | |||
| ইনি $u // they | |||
| এনাকে $u | |||
| এনার $u | |||
| ও $u // he/she/it | |||
| সে $u | |||
| ওর $u | |||
| তার $u | |||
| ওরা $u // they | |||
| তারা $u | |||
| ওদের $u // unheṃ: them | |||
| তাদের $u | |||
| এই $u // e:I this/it | |||
| এটা $u // e:ta: this/it | |||
| এটার $u // e:ta:'r this/it | |||
| এর $u // e:r this/it | |||
| ওটা $u // o:ta: that | |||
| ওটাকে $u // o:ta:ke: to that | |||
| ওটার $u // o:ta:'r of that | |||
| সি $u // he | |||
| তাই $u // she | |||
| ওগুলো $u // o:gu:lo: those | |||
| ওগুলোকে $u // o:gu:lo:ke: to those | |||
| ওগুলোর $u // o:gu:lo:'r of those | |||
| // Prepositions/Postpositions | |||
| মধ্যে $u // moddhe in | |||
| উপর $u // upor on, above | |||
| নীচে $u // niche below | |||
| পূর্ব্বে $u // purbe before, prior | |||
| পর্য্যন্ত $u // parjonto till | |||
| অব্দি $u // abdi till | |||
| বিনা $u // bina without | |||
| // Questions | |||
| কেন $u $pause // kano why interrogative particle | |||
| কি $u $pause // ki what | |||
| কোথায় $u $pause // kothaay where | |||
| কখন $u $pause // kakhon when | |||
| কে $u $pause // ke who | |||
| কিয় $u $pause // kio why interrogative particle | |||
| কি $u $pause // ki what | |||
| কোত $u $pause // kot where | |||
| কেতিয়া $u $pause // ketia when | |||
| কোন $u $pause // kon who | |||
| // Conjunctions | |||
| এবং $u $pause // ebong: and | |||
| আর $u $pause // aar: and | |||
| অথবা $u $pause // athoba: or | |||
| এরং $u $pause // ebong: and | |||
| আরু $u $pause // aaru : and | |||
| অথরা $u $pause // athoba: or | |||
| কিন্তু $u $pause // kintu: but | |||
| যদি $pause // jodi: if | |||
| তবু $pause // tobu: still, yet | |||
| তবে $pause // tabe: if...then | |||
| তেতিয়া $pause // then | |||
| অথচ $u // athacho: yet | |||
| // Verbs | |||
| হয় $u | |||
| ছিল $u // chilo: past aux | |||
| ছিলেন $u // chilen | |||
| করছি $u // korchi: continuous | |||
| করছিলাম $u // korchilam: past indefinite | |||
| করেছি $u // korechi: past | |||
| // Exceptions | |||
| এত &to | |||
| এটা &ta // one piece, one | |||
| @@ -1,4 +1,4 @@ | |||
| | |||
| // Pronounciation rule for Assamese. | |||
| // This file is UTF8 encoded | |||
| // letter groups: | |||
| @@ -7,8 +7,6 @@ | |||
| // C consonants | |||
| // Y vowel letters and vowel signs | |||
| .replace | |||
| ০ 0 | |||
| ১ 1 | |||
| @@ -21,368 +19,328 @@ | |||
| ৮ 8 | |||
| ৯ 9 | |||
| // Vowels | |||
| .group অ | |||
| অ V | |||
| অঁ O~ | |||
| অ্যা & // V,ja in [æmiba] | |||
| অ V | |||
| অঁ O~ | |||
| অ্যা & // V,ja in [æmiba] | |||
| .group আ | |||
| আ a | |||
| আঁ a~ | |||
| আ a | |||
| আঁ a~ | |||
| .group ই | |||
| ই i | |||
| ইঁ i~ | |||
| ই i | |||
| ইঁ i~ | |||
| .group ঈ | |||
| ঈ i | |||
| ঈঁ i~ | |||
| ঈ i | |||
| ঈঁ i~ | |||
| .group উ | |||
| উ u | |||
| উঁ u~ | |||
| উ u | |||
| উঁ u~ | |||
| .group ঊ | |||
| ঊ u | |||
| ঊঁ u~ | |||
| ঊ u | |||
| ঊঁ u~ | |||
| .group ঋ | |||
| ঋ ri | |||
| ঋঁ ri~ | |||
| .group ঌ | |||
| ঌ l- | |||
| ঋ ri | |||
| .group এ | |||
| এ & | |||
| এঁ &~ | |||
| এ & | |||
| এঁ &~ | |||
| .group ঐ | |||
| ঐ oj | |||
| ঐঁ o~j | |||
| ঐ oj | |||
| ঐঁ o~j | |||
| .group এ | |||
| এ e | |||
| এঁ e~ | |||
| এ e | |||
| এঁ e~ | |||
| এ্যা & // e,ja [ækademi] | |||
| এ্যা & // e,ja [ækademi] | |||
| .group ও | |||
| ও o | |||
| ওঁ o~ | |||
| ও o | |||
| ওঁ o~ | |||
| .group ঔ | |||
| ঔ ow | |||
| ঔঁ o~w | |||
| ঔ ow | |||
| ঔঁ o~w | |||
| .group ও //?? | |||
| ও o: | |||
| ও o: | |||
| // Vowel Signs | |||
| .group া | |||
| া a | |||
| াঁ a~ | |||
| C) া a | |||
| C) াঁ a~ | |||
| .group ি | |||
| ি i | |||
| িঁ i~ | |||
| C) ি i | |||
| C) িঁ i~ | |||
| .group ী | |||
| ী i | |||
| ীঁ i~ | |||
| C) ী i | |||
| C) ীঁ i~ | |||
| .group ূ | |||
| ূ u | |||
| ূঁ u~ | |||
| C) ূ u | |||
| C) ূঁ u~ | |||
| .group ু | |||
| ু u | |||
| ুঁ u~ | |||
| C) ু u | |||
| C) ুঁ u~ | |||
| .group ৃ | |||
| ৃ ri | |||
| ৃঁ ri~ | |||
| C) ৃ r'i | |||
| .group ে | |||
| ে e | |||
| েঁ e~ | |||
| েউ ew | |||
| C) ে e | |||
| C) েঁ e~ | |||
| C) েউ ew | |||
| .group ৈ | |||
| ৈ oj | |||
| ৈঁ o~j | |||
| C) ৈ oj | |||
| C) ৈঁ o~j | |||
| .group ো | |||
| ো o | |||
| োঁ o~ | |||
| C) ো o | |||
| C) োঁ o~ | |||
| .group ৌ | |||
| ৌ ow | |||
| ৌঁ o~w | |||
| C) ৌ ow | |||
| C) ৌঁ o~w | |||
| // Consonants | |||
| .group ক | |||
| ক kV | |||
| ক (B k | |||
| ক kV | |||
| ক (B k | |||
| .group খ | |||
| খ k#V | |||
| খ (B k# | |||
| খ k#V | |||
| খ (B k# | |||
| .group গ | |||
| গ gV | |||
| গ (B g | |||
| গ gV | |||
| গ (B g | |||
| .group ঘ | |||
| ঘ g#V | |||
| ঘ (B g# | |||
| ঘ g#V | |||
| ঘ (B g# | |||
| .group ঙ | |||
| ঙ NV | |||
| ঙ্ (B N | |||
| ঙ NV | |||
| ঙ (B N | |||
| .group চ | |||
| চ tSV | |||
| চ (B tS | |||
| চ tSV | |||
| চ (B tS | |||
| .group ছ | |||
| ছ tS#V | |||
| ছ (B tS# | |||
| ছ tS#V | |||
| ছ (B tS# | |||
| .group জ | |||
| জ JV | |||
| জ (B J | |||
| জ JV | |||
| জ (B J | |||
| জ্ব JV | |||
| জ্ব (B J | |||
| জ্ঞ ggo~ | |||
| জ্ঞ (B gg | |||
| জ্ব JV | |||
| জ্ব (B J | |||
| জ্ঞ ggo~ | |||
| জ্ঞ (B gg | |||
| .group ঝ | |||
| ঝ J#V | |||
| ঝ (B J# | |||
| ঝ J#V | |||
| ঝ (B J# | |||
| .group ঞ | |||
| ঞ nV | |||
| ঞ্ (B n | |||
| ঞ nV | |||
| ঞ (B n | |||
| .group ট | |||
| ট t.V | |||
| ট (B t. | |||
| ট t.V | |||
| ট (B t. | |||
| .group ঠ | |||
| ঠ t.#V | |||
| ঠ (B t.# | |||
| ঠ t.#V | |||
| ঠ (B t.# | |||
| .group ড | |||
| ড d.V | |||
| ড (B d. | |||
| ড d.V | |||
| ড (B d. | |||
| ড় r.V // nukta | |||
| ড় (B r. | |||
| .group ঢ | |||
| ঢ d.#V | |||
| ঢ (B d.# | |||
| ঢ d.#V | |||
| ঢ (B d.# | |||
| ঢ় hr.V | |||
| ঢ় (B hr. | |||
| .group ণ | |||
| ণ nV // should be [n.] if adjacent to t. or d. ? | |||
| ণ (B n | |||
| ণ nV // should be [n.] if adjacent to t. or d. ? | |||
| ণ (B n | |||
| .group ত | |||
| ত tV | |||
| ত (B t | |||
| ত tV | |||
| ত (B t | |||
| ত (_ to | |||
| .group থ | |||
| থ t#V | |||
| থ (B t# | |||
| থ t#V | |||
| থ (B t# | |||
| .group দ | |||
| দ dV | |||
| দ (B d | |||
| দ dV | |||
| দ (B d | |||
| .group ধ | |||
| ধ d#V | |||
| ধ (B d# | |||
| ধ d#V | |||
| ধ (B d# | |||
| .group ন | |||
| ন nV | |||
| ন (B n | |||
| ন nV | |||
| ন (B n | |||
| .group প | |||
| প pV | |||
| প (B p | |||
| প pV | |||
| প (B p | |||
| .group ফ | |||
| ফ fV // or [p#] ? | |||
| ফ (B f | |||
| ফ fV // or [p#] ? | |||
| ফ (B f | |||
| .group ব | |||
| ব bV | |||
| ব (B b | |||
| ব bV | |||
| ব (B b | |||
| .group ভ | |||
| ভ b#V | |||
| ভ (B b# | |||
| ভ b#V | |||
| ভ (B b# | |||
| .group ম | |||
| ম mV | |||
| ম (B m | |||
| .group য় | |||
| য় jV | |||
| য় (B j | |||
| ম mV | |||
| ম (B m | |||
| .group য | |||
| য dZV | |||
| য (B dZ | |||
| য় jV // nukta | |||
| য় (B j | |||
| ্) য (C & // ব্যস্ত [bæsto] | |||
| ্) যা & // ব্যাকরণ [bækɔron] | |||
| য dZV | |||
| য (B dZ | |||
| ্) য (_ :O // double the previous consonant | |||
| ্) য (B_ : | |||
| ্) য (C & // ব্যস্ত [bæsto] | |||
| ্) যা & // ব্যাকরণ [bækɔron] | |||
| .group র | |||
| র rV | |||
| র (B r | |||
| .group ৰ | |||
| ৰ rV | |||
| ৰ (B r | |||
| .group ল | |||
| ল lV | |||
| ল (B l | |||
| ল lV | |||
| ল (B l | |||
| .group ৱ | |||
| ৱ waV | |||
| ৱ (B wO | |||
| .group শ | |||
| শ SV // or [s] ? | |||
| শ (B S | |||
| শ SV // or [s] ? | |||
| শ (B S | |||
| শ (্ল s | |||
| শ (্ল s | |||
| .group ষ | |||
| ষ SV | |||
| ষ (B S | |||
| ষ SV | |||
| ষ (B S | |||
| .group স | |||
| স SV // or [s] ?? | |||
| স (B S | |||
| স (্থ s | |||
| স (্ত s | |||
| _) স্ব SV // shb | |||
| স X@ // or [s] ?? | |||
| স (B X | |||
| স (্থ s | |||
| স (্ত s | |||
| স (্য s // সমস্যা | |||
| _) স্ব SV // shb | |||
| _) স্ব (B S | |||
| .group হ | |||
| হ hV | |||
| হ (B h | |||
| হ hV | |||
| হ (B h | |||
| হ (_ ho | |||
| .group হ্ব | |||
| হ্ব vV | |||
| হ্ব (B v | |||
| .group ক্ষ | |||
| ক্ষ k#k#V // or [k#:] ? | |||
| ক্ষ (B k#k# | |||
| .group ৎ | |||
| ৎ t | |||
| .group ড় | |||
| ড় r.V // can be ড plus nukta | |||
| ড় (B r. | |||
| .group ঢ় | |||
| ঢ় hr.V // can be ঢ plus nukta | |||
| ঢ় (B hr. | |||
| .group ড় // can be ড plus nukta | |||
| ড় r.V | |||
| ড় (B r. | |||
| .group য় | |||
| য় jV | |||
| _) য় (B j | |||
| য় (B // used to separate 2 vowels | |||
| .group ঢ় // can be ঢ plus nukta | |||
| ঢ় hr.V | |||
| ঢ় (B hr. | |||
| .group হ্ব | |||
| হ্ব vV | |||
| হ্ব (B v | |||
| .group ৎ | |||
| ৎ t | |||
| .group ঁ | |||
| ঁ O~ // candrabindu, nasalize the previous vowel | |||
| C) ঁ O~ // candrabindu, nasalize the previous vowel/Consonants | |||
| .group ং | |||
| ং N // anusvara/onushshor | |||
| A) ং N // anusvara/onushshor | |||
| C) ং N | |||
| .group ঃ // visarga/bishorgo | |||
| ঃ // doubles the following consonant | |||
| ঃ (_ H | |||
| ঃ (_ H | |||
| .group ্ // virama/hoshonto | |||
| ্ | |||
| .group ় | |||
| ় // nukta, modifies a consonant | |||
| .group | |||
| // obsolete letters | |||
| ঋ r- | |||
| ৠ r- | |||
| ঌ l- | |||
| ৡ l- | |||
| ৃ r- | |||
| ৄ r- | |||
| ৢ l- | |||
| ৣ l- | |||
| __) - (_D bij'og | |||
| D_) - (_D bij'og | |||
| // D_) - (_D bij'og | |||
| @@ -1,4 +1,3 @@ | |||
| name slovenian-test | |||
| language sl | |||
| stressLength 160 150 240 240 240 240 300 320 | |||
| @@ -0,0 +1,95 @@ | |||
| //==================================================== | |||
| // Manipuri, inherits from Bengali | |||
| //==================================================== | |||
| phoneme a | |||
| vowel starttype #a endtype #a | |||
| length 225 | |||
| IF thisPh(isWordEnd) AND thisPh(isUnstressed) THEN | |||
| FMT(vowel/a#_2) | |||
| ENDIF | |||
| FMT(vowel/a_3) | |||
| endphoneme | |||
| phoneme i | |||
| vowel starttype #i endtype #i | |||
| length 210 | |||
| FMT(vowel/i_6) | |||
| endphoneme | |||
| phoneme u | |||
| vowel starttype #u endtype #u | |||
| length 210 | |||
| FMT(vowel/u) | |||
| endphoneme | |||
| phoneme e | |||
| vowel starttype #e endtype #e | |||
| length 210 | |||
| FMT(vowel/e) | |||
| endphoneme | |||
| phoneme & | |||
| vowel starttype #a endtype #a | |||
| length 210 | |||
| FMT(vowel/&_2) | |||
| endphoneme | |||
| phoneme o | |||
| vowel starttype #o endtype #o | |||
| length 210 | |||
| IF nextPhW(w) THEN | |||
| length 170 | |||
| ENDIF | |||
| FMT(vowel/o) | |||
| endphoneme | |||
| phoneme O | |||
| vowel starttype #o endtype #o | |||
| length 200 | |||
| FMT(vowel/oo_5) | |||
| endphoneme | |||
| phoneme tS | |||
| vls pla afr sibilant | |||
| voicingswitch dZ | |||
| lengthmod 2 | |||
| Vowelin f1=0 f2=2300 200 400 f3=-100 80 | |||
| IF nextPh(isPause2) THEN | |||
| WAV(ustop/tsh_unasp2) | |||
| ENDIF | |||
| WAV(ustop/tsh_unasp2) | |||
| endphoneme | |||
| phoneme tS# | |||
| vls pla afr sibilant | |||
| voicingswitch dZ | |||
| lengthmod 2 | |||
| Vowelin f1=0 f2=2300 200 400 f3=-100 80 | |||
| IF nextPh(isPause2) THEN | |||
| WAV(ustop/tsh_) | |||
| ENDIF | |||
| WAV(ustop/tsh) | |||
| endphoneme | |||
| phoneme ~ | |||
| virtual | |||
| endphoneme | |||
| @@ -0,0 +1,105 @@ | |||
| //==================================================== | |||
| // Oriya, inherits from Bengali | |||
| //==================================================== | |||
| phoneme V // inherent vowel, can be [O] or [o] | |||
| vowel flag1 starttype #o endtype #o | |||
| length 200 | |||
| IF thisPh(isWordEnd) AND prevPhW(isNotVowel) THEN | |||
| ChangePhoneme(O) | |||
| ENDIF | |||
| endphoneme | |||
| phoneme a | |||
| vowel starttype #a endtype #a | |||
| length 225 | |||
| IF thisPh(isWordEnd) AND thisPh(isUnstressed) THEN | |||
| FMT(vowel/a#_2) | |||
| ENDIF | |||
| FMT(vowel/a_3) | |||
| endphoneme | |||
| phoneme i | |||
| vowel starttype #i endtype #i | |||
| length 210 | |||
| FMT(vowel/i_6) | |||
| endphoneme | |||
| phoneme u | |||
| vowel starttype #u endtype #u | |||
| length 210 | |||
| FMT(vowel/u) | |||
| endphoneme | |||
| phoneme e | |||
| vowel starttype #e endtype #e | |||
| length 210 | |||
| FMT(vowel/e) | |||
| endphoneme | |||
| phoneme & | |||
| vowel starttype #a endtype #a | |||
| length 210 | |||
| FMT(vowel/&_2) | |||
| endphoneme | |||
| phoneme o | |||
| vowel starttype #o endtype #o | |||
| length 210 | |||
| IF nextPhW(w) THEN | |||
| length 170 | |||
| ENDIF | |||
| FMT(vowel/o) | |||
| endphoneme | |||
| phoneme O | |||
| vowel starttype #o endtype #o | |||
| length 200 | |||
| FMT(vowel/oo_5) | |||
| endphoneme | |||
| phoneme tS | |||
| vls pla afr sibilant | |||
| voicingswitch dZ | |||
| lengthmod 2 | |||
| Vowelin f1=0 f2=2300 200 400 f3=-100 80 | |||
| IF nextPh(isPause2) THEN | |||
| WAV(ustop/tsh_unasp2) | |||
| ENDIF | |||
| WAV(ustop/tsh_unasp2) | |||
| endphoneme | |||
| phoneme tS# | |||
| vls pla afr sibilant | |||
| voicingswitch dZ | |||
| lengthmod 2 | |||
| Vowelin f1=0 f2=2300 200 400 f3=-100 80 | |||
| IF nextPh(isPause2) THEN | |||
| WAV(ustop/tsh_) | |||
| ENDIF | |||
| WAV(ustop/tsh) | |||
| endphoneme | |||
| phoneme ~ | |||
| virtual | |||
| endphoneme | |||
| @@ -6,44 +6,44 @@ | |||
| phoneme 1 // ngang tone: level | |||
| stress | |||
| Tone(32, 34, envelope/p_level, NULL) | |||
| Tone(20,35, envelope/i_risefall,NULL) //40,5,envelope/p_level, NULL) //40 45 | |||
| endphoneme | |||
| phoneme 2 // huyền tone: low falling | |||
| stress | |||
| Tone(35,20 , envelope/p_fall, NULL) //20 | |||
| Tone(10,20 , envelope/p_fall, NULL) //20 | |||
| endphoneme | |||
| phoneme 3 // sắc Tone(rising | |||
| stress | |||
| Tone(40,60, envelope/p_rise, NULL) // 25 50 | |||
| Tone(45,80, envelope/p_rise, NULL) // 30 50 | |||
| endphoneme | |||
| phoneme 4 // hỏi Tone(curve (dipping rising) | |||
| stress | |||
| Tone(30,50, envelope/p_rise, NULL) //envelope/vi_5amp) // 28,58 | |||
| Tone(45,50, envelope/p_fallrise,envelope/vi_5amp) // 28,58 | |||
| endphoneme | |||
| phoneme 5 // ngã tone: broken (creaking rising) | |||
| stress | |||
| Tone(30,50, envelope/p_rise, NULL) //20,80, envelope/p_214, envelope/vi_5amp) // 28,58 | |||
| Tone(30,75, envelope/p_214, NULL) //20,80, envelope/p_214, envelope/vi_5amp) // 28,58 | |||
| endphoneme | |||
| phoneme 6 // nặng Tone(drop (constricted) | |||
| stress | |||
| //length 150 // ignore because it make too short sound 75 // reduce the length of the vowel | |||
| Tone(10,5, envelope/p_512,NULL) // envelope/vi_6amp) | |||
| Tone(20,25, envelope/p_512,NULL) // envelope/vi_6amp) 10 5 | |||
| endphoneme | |||
| phoneme 7 // Tone(1 (ngang) at end of clause | |||
| stress | |||
| Tone(40, 20, envelope/p_fall, NULL) | |||
| Tone(40,42, envelope/p_fall, NULL) //20, 30, envelope/p_fall, NULL) | |||
| endphoneme | |||
| // Redefine the length of vowels | |||
| @@ -51,11 +51,13 @@ endphoneme | |||
| phoneme i | |||
| CALL vi/i | |||
| length 150 | |||
| FMT(vowel/i#) | |||
| endphoneme | |||
| phoneme E | |||
| CALL vi/E | |||
| length 150 | |||
| FMT(vowel/ee_1) | |||
| endphoneme | |||
| phoneme a: | |||
| @@ -76,8 +78,8 @@ endphoneme | |||
| phoneme O | |||
| CALL vi/O | |||
| length 150 | |||
| FMT(vowel/0) | |||
| length 80 | |||
| FMT(vowel/oo_1) | |||
| endphoneme | |||
| phoneme Oi | |||
| @@ -94,4 +96,9 @@ endphoneme | |||
| phoneme o | |||
| CALL vi/o | |||
| FMT(vowel/o_5) | |||
| endphoneme | |||
| phoneme @:I | |||
| CALL vi/@:I | |||
| FMT(vdiph/y#y) | |||
| endphoneme | |||
| @@ -0,0 +1,37 @@ | |||
| #include <speak_lib.h> | |||
| #ifdef PLATFORM_WINDOWS | |||
| #include <windows.h> | |||
| #define sleep(x) Sleep(1000*x) | |||
| #endif | |||
| int callback(short* wav, int num, espeak_EVENT *pEv) | |||
| { | |||
| int cEv = 0; | |||
| while (pEv->type) { | |||
| cEv++; | |||
| pEv++; | |||
| } | |||
| printf("callback, events: %d\n", cEv); | |||
| return 0; | |||
| } | |||
| main() | |||
| { | |||
| int nRate = espeak_Initialize(AUDIO_OUTPUT_PLAYBACK, 10000, NULL, 0); | |||
| printf("nRate: %d\n", nRate); | |||
| if (nRate < 0) | |||
| return; | |||
| espeak_SetSynthCallback(callback); | |||
| espeak_SetParameter(espeakRATE, 175, 0); | |||
| int rv; | |||
| rv = espeak_Char('c'); | |||
| printf("rv: %d\n", rv); | |||
| const char* sText = "tralalalallala"; | |||
| rv = espeak_Synth(sText, 100, 0, POS_CHARACTER, 0, 0, 0, 0); | |||
| printf("rv: %d (full: %d, internal: %d)\n", | |||
| rv, EE_BUFFER_FULL, EE_INTERNAL_ERROR); | |||
| sleep(2); // 2 seconds | |||
| puts("slept"); | |||
| espeak_Terminate(); | |||
| } | |||
| @@ -0,0 +1,169 @@ | |||
| Index: src/Makefile | |||
| =================================================================== | |||
| --- src/Makefile (revision 364) | |||
| +++ src/Makefile (working copy) | |||
| @@ -18,6 +18,13 @@ | |||
| # Use SONAME_OPT=-Wl,h, on Solaris | |||
| SONAME_OPT=-Wl,-soname, | |||
| +ifdef PLATFORM_WINDOWS | |||
| + LIB_NAME = libespeak.dll | |||
| +else | |||
| + # On Windows not all source files are compiled | |||
| + non_windows_SOURCES = mbrowrap.cpp | |||
| +endif | |||
| + | |||
| # Use EXTRA_LIBS=-lm on Solaris | |||
| EXTRA_LIBS = | |||
| @@ -72,12 +79,12 @@ | |||
| speak_SOURCES = speak.cpp compiledict.cpp dictionary.cpp intonation.cpp \ | |||
| readclause.cpp setlengths.cpp numbers.cpp synth_mbrola.cpp \ | |||
| - synthdata.cpp synthesize.cpp translate.cpp mbrowrap.cpp \ | |||
| + synthdata.cpp synthesize.cpp translate.cpp $(non_windows_SOURCES) \ | |||
| tr_languages.cpp voices.cpp wavegen.cpp phonemelist.cpp klatt.cpp sonic.cpp | |||
| libespeak_SOURCES = speak_lib.cpp compiledict.cpp dictionary.cpp intonation.cpp \ | |||
| readclause.cpp setlengths.cpp numbers.cpp synth_mbrola.cpp \ | |||
| - synthdata.cpp synthesize.cpp translate.cpp mbrowrap.cpp \ | |||
| + synthdata.cpp synthesize.cpp translate.cpp $(non_windows_SOURCES) \ | |||
| tr_languages.cpp voices.cpp wavegen.cpp phonemelist.cpp \ | |||
| espeak_command.cpp event.cpp fifo.cpp $(WAVE) debug.cpp klatt.cpp sonic.cpp | |||
| @@ -94,8 +101,14 @@ | |||
| LIBS3=-lstdc++ -L . -lespeak | |||
| CXXFLAGS=-O2 | |||
| +ifdef PLATFORM_WINDOWS | |||
| + CXXFLAGS += -DPLATFORM_WINDOWS -DNEED_STRUCT_TIMESPEC | |||
| + LDFLAGS += -static-libgcc -static-libstdc++ | |||
| +endif | |||
| +ifdef DEBUG | |||
| + CXXFLAGS += -DDEBUG_ENABLED | |||
| +endif | |||
| - | |||
| all: $(BIN_NAME) $(LIB_NAME) $(STATIC_LIB_NAME) $(BIN2_NAME) | |||
| .cpp.o: | |||
| @@ -116,9 +129,11 @@ | |||
| $(LIB_NAME): $(OBJS2) | |||
| $(CXX) $(LDFLAGS) -shared $(SONAME_OPT)$(LIB_NAME).$(LIB_VERSION) -o $@ \ | |||
| $(OBJS2) $(LIBS2) | |||
| - mv $(LIB_NAME) $(LIB_NAME).$(LIBTAG) | |||
| - $(LN_SF) $(LIB_NAME).$(LIBTAG) $(LIB_NAME).$(LIB_VERSION) | |||
| - $(LN_SF) $(LIB_NAME).$(LIB_VERSION) $(LIB_NAME) | |||
| + $(if $(PLATFORM_WINDOWS), , \ | |||
| + mv $(LIB_NAME) $(LIB_NAME).$(LIBTAG); \ | |||
| + $(LN_SF) $(LIB_NAME).$(LIBTAG) $(LIB_NAME).$(LIB_VERSION); \ | |||
| + $(LN_SF) $(LIB_NAME).$(LIB_VERSION) $(LIB_NAME); \ | |||
| + ) | |||
| $(STATIC_LIB_NAME): $(OBJS2) | |||
| $(AR) cqs $(STATIC_LIB_NAME) $(OBJS2) | |||
| Index: src/speech.h | |||
| =================================================================== | |||
| --- src/speech.h (revision 364) | |||
| +++ src/speech.h (working copy) | |||
| @@ -37,7 +37,6 @@ | |||
| #endif | |||
| -#define PLATFORM_POSIX | |||
| #define PATHSEP '/' | |||
| // USE_PORTAUDIO or USE_PULSEAUDIO are now defined in the makefile | |||
| //#define USE_PORTAUDIO | |||
| @@ -77,7 +76,14 @@ | |||
| #ifdef PLATFORM_WINDOWS | |||
| #define N_PATH_HOME 230 | |||
| -#else | |||
| +// sleep(seconds) | |||
| +// Sleep(millisecond = 1/1000 s), windows api, kernel32.dll | |||
| +// usleep(microseconds = 1/1000000 s) | |||
| +#define sleep(x) Sleep(1000*x) | |||
| +// we are lucky, in current code usleep is always used in multiplies of 1000 | |||
| +#define usleep(x) Sleep((x+500)/1000) | |||
| +#else /* PLATFORM_POSIX */ | |||
| +#define PLATFORM_POSIX | |||
| #define N_PATH_HOME 160 | |||
| #endif | |||
| Index: src/speak_lib.cpp | |||
| =================================================================== | |||
| --- src/speak_lib.cpp (revision 364) | |||
| +++ src/speak_lib.cpp (working copy) | |||
| @@ -31,7 +31,13 @@ | |||
| #include "speech.h" | |||
| #include <sys/stat.h> | |||
| -#ifndef PLATFORM_WINDOWS | |||
| + | |||
| +#ifdef PLATFORM_WINDOWS | |||
| +#include <fcntl.h> | |||
| +#include <io.h> | |||
| +#include <windows.h> | |||
| +#include <winreg.h> | |||
| +#else /* PLATFORM_POSIX */ | |||
| #include <unistd.h> | |||
| #endif | |||
| Index: src/wave.cpp | |||
| =================================================================== | |||
| --- src/wave.cpp (revision 364) | |||
| +++ src/wave.cpp (working copy) | |||
| @@ -32,7 +32,9 @@ | |||
| #include <time.h> | |||
| #include "portaudio.h" | |||
| -#ifndef PLATFORM_WINDOWS | |||
| +#ifdef PLATFORM_WINDOWS | |||
| +#include <windows.h> | |||
| +#else /* PLATFORM_POSIX */ | |||
| #include <unistd.h> | |||
| #endif | |||
| #include "wave.h" | |||
| @@ -40,6 +42,14 @@ | |||
| //<Definitions | |||
| +#ifdef NEED_STRUCT_TIMESPEC | |||
| +#define HAVE_STRUCT_TIMESPEC 1 | |||
| +struct timespec { | |||
| + long tv_sec; | |||
| + long tv_nsec; | |||
| +}; | |||
| +#endif /* HAVE_STRUCT_TIMESPEC */ | |||
| + | |||
| enum {ONE_BILLION=1000000000}; | |||
| #ifdef USE_PORTAUDIO | |||
| Index: src/event.cpp | |||
| =================================================================== | |||
| --- src/event.cpp (revision 364) | |||
| +++ src/event.cpp (working copy) | |||
| @@ -24,7 +24,9 @@ | |||
| //<includes | |||
| +#ifndef PLATFORM_WINDOWS | |||
| #include <unistd.h> | |||
| +#endif | |||
| #include <assert.h> | |||
| #include <string.h> | |||
| #include <stdlib.h> | |||
| Index: src/fifo.cpp | |||
| =================================================================== | |||
| --- src/fifo.cpp (revision 364) | |||
| +++ src/fifo.cpp (working copy) | |||
| @@ -24,7 +24,9 @@ | |||
| //<includes | |||
| +#ifndef PLATFORM_WINDOWS | |||
| #include <unistd.h> | |||
| +#endif | |||
| #include <assert.h> | |||
| #include <string.h> | |||
| #include <stdlib.h> | |||
| @@ -0,0 +1,16 @@ | |||
| These are instructions to built the library on MS Windows, using msys and mingw. | |||
| This library is fully functional, contrary to the library described | |||
| in windows_dll directory. | |||
| To build exe file go to windows_cmd directory, to build sapi dll, | |||
| go to windows_sapi directory. | |||
| - Use sources from src directory. | |||
| - Have a ready to use portaudio v19 library (dll file is sufficient, here | |||
| libportaudio-2.dll filename is assumed in a directory relative to espeak) | |||
| - Copy portaudio.h file from your portaudio directory to src directory, | |||
| overwriting the existing one. At the time of writing this is the same | |||
| file as src/portaudio19.h distributed within espeak. | |||
| Make command: | |||
| make libespeak.dll PLATFORM_WINDOWS=1 LIB_AUDIO="-L ../../portaudio/lib/.libs -lportaudio-2 -lwinmm" | |||