| // Translation rules for Bengali | |||||
| // Translation rules for Assamese | |||||
| // input by . | |||||
| // This file is UTF8 encoded | // This file is UTF8 encoded | ||||
| // Numbers | // 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 | _2 d'uj | ||||
| _3 t'in | |||||
| _4 tS'ar | |||||
| _3 t'ini | |||||
| _4 tS#'ar'i | |||||
| _5 p'a~tS | _5 p'a~tS | ||||
| _6 tS#'Oj | _6 tS#'Oj | ||||
| _7 S'at | |||||
| _8 'at.# | |||||
| _7 X'at | |||||
| _8 a~t.# | |||||
| _9 n'Oj | _9 n'Oj | ||||
| _2a d'u // with hundreds etc. | _2a d'u // with hundreds etc. | ||||
| _6a tS#'a | |||||
| _6a tS#'O | |||||
| _9a n'O | _9a n'O | ||||
| _10 d'OS | |||||
| _11 '&garo | |||||
| _10 d@h | |||||
| _11 Ig#'a:ro | |||||
| _12 b'arO | _12 b'arO | ||||
| _13 t'erO | _13 t'erO | ||||
| _14 tS'oddO | |||||
| _14 tS#au'ddO | |||||
| _15 p'OnerO | _15 p'OnerO | ||||
| _16 S'olO | |||||
| _17 S'OterO | |||||
| _16 X'olO | |||||
| _17 X'OterO | |||||
| _18 'at.#arO | _18 'at.#arO | ||||
| _19 'uniS | |||||
| _19 'un'niS | |||||
| _20 k'uri // or b'iS ?? | |||||
| _20 b'iS | |||||
| _21 ek'uS | _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'abbiS | _26 tSh'abbiS | ||||
| _27 Sat'aS | |||||
| _27 X'at'aS | |||||
| _28 'at.#aS | _28 'at.#aS | ||||
| _29 unOtr'iS | |||||
| _29 'unOtr'iS | |||||
| _30 tr'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 | _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 | _39 'unOtSOll'iS | ||||
| _40 tSOll'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 | _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 | _0M1 h'ajar | ||||
| _0M2 l'ak# | _0M2 l'ak# | ||||
| _0M3 k'ot.i | _0M3 k'ot.i | ||||
| _0M4 'Orbud | _0M4 'Orbud | ||||
| _dpt _d'Osomik_ | |||||
| _dpt _d'OX'omik_ | |||||
| // Single consonants | // Single consonants | ||||
| খ k#O | খ k#O | ||||
| গ gO | গ gO | ||||
| ঘ g#O | ঘ g#O | ||||
| ঙ 'uNO~ | |||||
| ঙ 'uNgO~ | |||||
| চ tSO | চ tSO | ||||
| ছ tShO // [h] to distinguish from [tS] | ছ tShO // [h] to distinguish from [tS] | ||||
| জ JO | জ JO | ||||
| ব bO | ব bO | ||||
| ভ b#O | ভ b#O | ||||
| ম mO | ম mO | ||||
| য় Oj | |||||
| য ,ontostedZ'O | য ,ontostedZ'O | ||||
| র rO | |||||
| ড় r.O | |||||
| ড় r.O // (d. + nukta) | |||||
| ঢ় hr.O | |||||
| ঢ় hr.O // (d#. + nukta) | |||||
| ৰ rO | |||||
| ল lO | ল lO | ||||
| ৱ wO | |||||
| শ t,aleboS:'O | শ t,aleboS:'O | ||||
| ষ m,ud#en:oS:'O | ষ m,ud#en:oS:'O | ||||
| স d,onteS:'O | |||||
| স d,onte'X:'O | |||||
| হ hO | হ hO | ||||
| ৎ kh,Ond.ot'O | |||||
| ক্ষ k,ojmud#en:oS:'O | ক্ষ k,ojmud#en:oS:'O | ||||
| ড় dOerO // (d. + nukta) | |||||
| ঢ় d#e hr.O // (d#. + nukta) | |||||
| য় ,ontosteOj | |||||
| ৎ kh,Ond.ot'O | |||||
| // full vowels | // full vowels | ||||
| অ O | অ O | ||||
| আ a | আ a | ||||
| ই hrOS:o'i | ই hrOS:o'i | ||||
| ঈ dirg#o'i | |||||
| ঈ d'i:rg#o'i | |||||
| উ hrOS:o'u | উ hrOS:o'u | ||||
| ঊ dirg#o'u | |||||
| ঊ d'i:rg#o'u | |||||
| ঋ ri | ঋ ri | ||||
| ও o | |||||
| ঔ ow | ঔ ow | ||||
| এ e $u+ // word 'it' | এ e $u+ // word 'it' | ||||
| ঐ oj $u+ // word 'that' | ঐ oj $u+ // word 'that' | ||||
| ও o $u+ $brk // 'and' | ও o $u+ $brk // 'and' | ||||
| _এ e | _এ e | ||||
| _ঐ oj | _ঐ oj | ||||
| _ও o | |||||
| // combining vowel signs | // combining vowel signs | ||||
| া 'akar | া '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 | ৃ r'ikar | ||||
| ে 'ekar | ে 'ekar | ||||
| ৈ 'ojkar | ৈ 'ojkar | ||||
| ় b'indu | ় b'indu | ||||
| $ d.Olar | $ d.Olar | ||||
| % SOtk'Ora | |||||
| % X'Otk'Ora | |||||
| + jOg | + jOg | ||||
| = SOman | |||||
| = X'Oman | |||||
| // Punctuation | // Punctuation | ||||
| । dVn.d.V | |||||
| । dVn.ri | |||||
| _, koma | _, koma | ||||
| _? pr'oSnOtSihnO | _? pr'oSnOtSihnO | ||||
| // Pronouns | // Pronouns | ||||
| আমি $u // main: I | |||||
| আমায় $u | |||||
| আমার $u | |||||
| আমরা $u // we | |||||
| আমাদের $u | |||||
| ময $u // I, me | |||||
| আমি $u // us | |||||
| আমার $u // our | |||||
| আপনি $u // you(formal) | আপনি $u // you(formal) | ||||
| আপনাকে $u | |||||
| আপনার $u | |||||
| আপনাক $u | |||||
| তুমি $u // you (informal) | তুমি $u // you (informal) | ||||
| তোমায় $u | |||||
| তোমার $u | |||||
| তোমাদের $u | |||||
| তুই $u // you (informal) | |||||
| তোকে $u | |||||
| তোমাক $u | |||||
| তয় $u // you (informal) | |||||
| তোক $u | |||||
| তোর $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 | // 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 | কিন্তু $u $pause // kintu: but | ||||
| যদি $pause // jodi: if | যদি $pause // jodi: if | ||||
| তবু $pause // tobu: still, yet | |||||
| তবে $pause // tabe: if...then | |||||
| তেতিয়া $pause // then | |||||
| অথচ $u // athacho: yet | অথচ $u // athacho: yet | ||||
| // Verbs | |||||
| হয় $u | |||||
| ছিল $u // chilo: past aux | |||||
| ছিলেন $u // chilen | |||||
| করছি $u // korchi: continuous | |||||
| করছিলাম $u // korchilam: past indefinite | |||||
| করেছি $u // korechi: past | |||||
| // Exceptions | // Exceptions | ||||
| এত &to | |||||
| এটা &ta // one piece, one |
| | |||||
| // Pronounciation rule for Assamese. | |||||
| // This file is UTF8 encoded | // This file is UTF8 encoded | ||||
| // letter groups: | // letter groups: | ||||
| // C consonants | // C consonants | ||||
| // Y vowel letters and vowel signs | // Y vowel letters and vowel signs | ||||
| .replace | .replace | ||||
| ০ 0 | ০ 0 | ||||
| ১ 1 | ১ 1 | ||||
| ৮ 8 | ৮ 8 | ||||
| ৯ 9 | ৯ 9 | ||||
| // Vowels | // Vowels | ||||
| .group অ | .group অ | ||||
| অ V | |||||
| অঁ O~ | |||||
| অ্যা & // V,ja in [æmiba] | |||||
| অ V | |||||
| অঁ O~ | |||||
| অ্যা & // V,ja in [æmiba] | |||||
| .group আ | .group আ | ||||
| আ a | |||||
| আঁ a~ | |||||
| আ a | |||||
| আঁ a~ | |||||
| .group ই | .group ই | ||||
| ই i | |||||
| ইঁ i~ | |||||
| ই i | |||||
| ইঁ i~ | |||||
| .group ঈ | .group ঈ | ||||
| ঈ i | |||||
| ঈঁ i~ | |||||
| ঈ i | |||||
| ঈঁ i~ | |||||
| .group উ | .group উ | ||||
| উ u | |||||
| উঁ u~ | |||||
| উ u | |||||
| উঁ u~ | |||||
| .group ঊ | .group ঊ | ||||
| ঊ u | |||||
| ঊঁ u~ | |||||
| ঊ u | |||||
| ঊঁ u~ | |||||
| .group ঋ | .group ঋ | ||||
| ঋ ri | |||||
| ঋঁ ri~ | |||||
| .group ঌ | |||||
| ঌ l- | |||||
| ঋ ri | |||||
| .group এ | .group এ | ||||
| এ & | |||||
| এঁ &~ | |||||
| এ & | |||||
| এঁ &~ | |||||
| .group ঐ | .group ঐ | ||||
| ঐ oj | |||||
| ঐঁ o~j | |||||
| ঐ oj | |||||
| ঐঁ o~j | |||||
| .group এ | .group এ | ||||
| এ e | |||||
| এঁ e~ | |||||
| এ e | |||||
| এঁ e~ | |||||
| এ্যা & // e,ja [ækademi] | |||||
| এ্যা & // e,ja [ækademi] | |||||
| .group ও | .group ও | ||||
| ও o | |||||
| ওঁ o~ | |||||
| ও o | |||||
| ওঁ o~ | |||||
| .group ঔ | .group ঔ | ||||
| ঔ ow | |||||
| ঔঁ o~w | |||||
| ঔ ow | |||||
| ঔঁ o~w | |||||
| .group ও //?? | .group ও //?? | ||||
| ও o: | |||||
| ও o: | |||||
| // Vowel Signs | // Vowel Signs | ||||
| .group া | .group া | ||||
| া a | |||||
| াঁ a~ | |||||
| C) া a | |||||
| C) াঁ a~ | |||||
| .group ি | .group ি | ||||
| ি i | |||||
| িঁ i~ | |||||
| C) ি i | |||||
| C) িঁ i~ | |||||
| .group ী | .group ী | ||||
| ী i | |||||
| ীঁ i~ | |||||
| C) ী i | |||||
| C) ীঁ i~ | |||||
| .group ূ | .group ূ | ||||
| ূ u | |||||
| ূঁ u~ | |||||
| C) ূ u | |||||
| C) ূঁ u~ | |||||
| .group ু | .group ু | ||||
| ু u | |||||
| ুঁ u~ | |||||
| C) ু u | |||||
| C) ুঁ u~ | |||||
| .group ৃ | .group ৃ | ||||
| ৃ ri | |||||
| ৃঁ ri~ | |||||
| C) ৃ r'i | |||||
| .group ে | .group ে | ||||
| ে e | |||||
| েঁ e~ | |||||
| েউ ew | |||||
| C) ে e | |||||
| C) েঁ e~ | |||||
| C) েউ ew | |||||
| .group ৈ | .group ৈ | ||||
| ৈ oj | |||||
| ৈঁ o~j | |||||
| C) ৈ oj | |||||
| C) ৈঁ o~j | |||||
| .group ো | .group ো | ||||
| ো o | |||||
| োঁ o~ | |||||
| C) ো o | |||||
| C) োঁ o~ | |||||
| .group ৌ | .group ৌ | ||||
| ৌ ow | |||||
| ৌঁ o~w | |||||
| C) ৌ ow | |||||
| C) ৌঁ o~w | |||||
| // Consonants | // Consonants | ||||
| .group ক | .group ক | ||||
| ক kV | |||||
| ক (B k | |||||
| ক kV | |||||
| ক (B k | |||||
| .group খ | .group খ | ||||
| খ k#V | |||||
| খ (B k# | |||||
| খ k#V | |||||
| খ (B k# | |||||
| .group গ | .group গ | ||||
| গ gV | |||||
| গ (B g | |||||
| গ gV | |||||
| গ (B g | |||||
| .group ঘ | .group ঘ | ||||
| ঘ g#V | |||||
| ঘ (B g# | |||||
| ঘ g#V | |||||
| ঘ (B g# | |||||
| .group ঙ | .group ঙ | ||||
| ঙ NV | |||||
| ঙ্ (B N | |||||
| ঙ NV | |||||
| ঙ (B N | |||||
| .group চ | .group চ | ||||
| চ tSV | |||||
| চ (B tS | |||||
| চ tSV | |||||
| চ (B tS | |||||
| .group ছ | .group ছ | ||||
| ছ tS#V | |||||
| ছ (B tS# | |||||
| ছ tS#V | |||||
| ছ (B tS# | |||||
| .group জ | .group জ | ||||
| জ JV | |||||
| জ (B J | |||||
| জ JV | |||||
| জ (B J | |||||
| জ্ব JV | |||||
| জ্ব (B J | |||||
| জ্ঞ ggo~ | |||||
| জ্ঞ (B gg | |||||
| জ্ব JV | |||||
| জ্ব (B J | |||||
| জ্ঞ ggo~ | |||||
| জ্ঞ (B gg | |||||
| .group ঝ | .group ঝ | ||||
| ঝ J#V | |||||
| ঝ (B J# | |||||
| ঝ J#V | |||||
| ঝ (B J# | |||||
| .group ঞ | .group ঞ | ||||
| ঞ nV | |||||
| ঞ্ (B n | |||||
| ঞ nV | |||||
| ঞ (B n | |||||
| .group ট | .group ট | ||||
| ট t.V | |||||
| ট (B t. | |||||
| ট t.V | |||||
| ট (B t. | |||||
| .group ঠ | .group ঠ | ||||
| ঠ t.#V | |||||
| ঠ (B t.# | |||||
| ঠ t.#V | |||||
| ঠ (B t.# | |||||
| .group ড | .group ড | ||||
| ড d.V | |||||
| ড (B d. | |||||
| ড d.V | |||||
| ড (B d. | |||||
| ড় r.V // nukta | |||||
| ড় (B r. | |||||
| .group ঢ | .group ঢ | ||||
| ঢ d.#V | |||||
| ঢ (B d.# | |||||
| ঢ d.#V | |||||
| ঢ (B d.# | |||||
| ঢ় hr.V | |||||
| ঢ় (B hr. | |||||
| .group ণ | .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 ত | .group ত | ||||
| ত tV | |||||
| ত (B t | |||||
| ত tV | |||||
| ত (B t | |||||
| ত (_ to | |||||
| .group থ | .group থ | ||||
| থ t#V | |||||
| থ (B t# | |||||
| থ t#V | |||||
| থ (B t# | |||||
| .group দ | .group দ | ||||
| দ dV | |||||
| দ (B d | |||||
| দ dV | |||||
| দ (B d | |||||
| .group ধ | .group ধ | ||||
| ধ d#V | |||||
| ধ (B d# | |||||
| ধ d#V | |||||
| ধ (B d# | |||||
| .group ন | .group ন | ||||
| ন nV | |||||
| ন (B n | |||||
| ন nV | |||||
| ন (B n | |||||
| .group প | .group প | ||||
| প pV | |||||
| প (B p | |||||
| প pV | |||||
| প (B p | |||||
| .group ফ | .group ফ | ||||
| ফ fV // or [p#] ? | |||||
| ফ (B f | |||||
| ফ fV // or [p#] ? | |||||
| ফ (B f | |||||
| .group ব | .group ব | ||||
| ব bV | |||||
| ব (B b | |||||
| ব bV | |||||
| ব (B b | |||||
| .group ভ | .group ভ | ||||
| ভ b#V | |||||
| ভ (B b# | |||||
| ভ b#V | |||||
| ভ (B b# | |||||
| .group ম | .group ম | ||||
| ম mV | |||||
| ম (B m | |||||
| .group য় | |||||
| য় jV | |||||
| য় (B j | |||||
| ম mV | |||||
| ম (B m | |||||
| .group য | .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 ল | .group ল | ||||
| ল lV | |||||
| ল (B l | |||||
| ল lV | |||||
| ল (B l | |||||
| .group ৱ | |||||
| ৱ waV | |||||
| ৱ (B wO | |||||
| .group শ | .group শ | ||||
| শ SV // or [s] ? | |||||
| শ (B S | |||||
| শ SV // or [s] ? | |||||
| শ (B S | |||||
| শ (্ল s | |||||
| শ (্ল s | |||||
| .group ষ | .group ষ | ||||
| ষ SV | |||||
| ষ (B S | |||||
| ষ SV | |||||
| ষ (B S | |||||
| .group স | .group স | ||||
| স SV // or [s] ?? | |||||
| স (B S | |||||
| স (্থ s | |||||
| স (্ত s | |||||
| _) স্ব SV // shb | |||||
| স X@ // or [s] ?? | |||||
| স (B X | |||||
| স (্থ s | |||||
| স (্ত s | |||||
| স (্য s // সমস্যা | |||||
| _) স্ব SV // shb | |||||
| _) স্ব (B S | _) স্ব (B S | ||||
| .group হ | .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 ঁ | .group ঁ | ||||
| ঁ O~ // candrabindu, nasalize the previous vowel | |||||
| C) ঁ O~ // candrabindu, nasalize the previous vowel/Consonants | |||||
| .group ং | .group ং | ||||
| ং N // anusvara/onushshor | |||||
| A) ং N // anusvara/onushshor | |||||
| C) ং N | |||||
| .group ঃ // visarga/bishorgo | .group ঃ // visarga/bishorgo | ||||
| ঃ // doubles the following consonant | ঃ // doubles the following consonant | ||||
| ঃ (_ H | |||||
| ঃ (_ H | |||||
| .group ্ // virama/hoshonto | .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 |
| name slovenian-test | name slovenian-test | ||||
| language sl | language sl | ||||
| stressLength 160 150 240 240 240 240 300 320 | |||||
| //==================================================== | |||||
| // 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 | |||||
| //==================================================== | |||||
| // 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 | |||||
| phoneme 1 // ngang tone: level | phoneme 1 // ngang tone: level | ||||
| stress | stress | ||||
| Tone(32, 34, envelope/p_level, NULL) | |||||
| Tone(20,35, envelope/i_risefall,NULL) //40,5,envelope/p_level, NULL) //40 45 | |||||
| endphoneme | endphoneme | ||||
| phoneme 2 // huyền tone: low falling | phoneme 2 // huyền tone: low falling | ||||
| stress | stress | ||||
| Tone(35,20 , envelope/p_fall, NULL) //20 | |||||
| Tone(10,20 , envelope/p_fall, NULL) //20 | |||||
| endphoneme | endphoneme | ||||
| phoneme 3 // sắc Tone(rising | phoneme 3 // sắc Tone(rising | ||||
| stress | stress | ||||
| Tone(40,60, envelope/p_rise, NULL) // 25 50 | |||||
| Tone(45,80, envelope/p_rise, NULL) // 30 50 | |||||
| endphoneme | endphoneme | ||||
| phoneme 4 // hỏi Tone(curve (dipping rising) | phoneme 4 // hỏi Tone(curve (dipping rising) | ||||
| stress | 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 | endphoneme | ||||
| phoneme 5 // ngã tone: broken (creaking rising) | phoneme 5 // ngã tone: broken (creaking rising) | ||||
| stress | 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 | endphoneme | ||||
| phoneme 6 // nặng Tone(drop (constricted) | phoneme 6 // nặng Tone(drop (constricted) | ||||
| stress | stress | ||||
| //length 150 // ignore because it make too short sound 75 // reduce the length of the vowel | //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 | endphoneme | ||||
| phoneme 7 // Tone(1 (ngang) at end of clause | phoneme 7 // Tone(1 (ngang) at end of clause | ||||
| stress | stress | ||||
| Tone(40, 20, envelope/p_fall, NULL) | |||||
| Tone(40,42, envelope/p_fall, NULL) //20, 30, envelope/p_fall, NULL) | |||||
| endphoneme | endphoneme | ||||
| // Redefine the length of vowels | // Redefine the length of vowels | ||||
| phoneme i | phoneme i | ||||
| CALL vi/i | CALL vi/i | ||||
| length 150 | length 150 | ||||
| FMT(vowel/i#) | |||||
| endphoneme | endphoneme | ||||
| phoneme E | phoneme E | ||||
| CALL vi/E | CALL vi/E | ||||
| length 150 | length 150 | ||||
| FMT(vowel/ee_1) | |||||
| endphoneme | endphoneme | ||||
| phoneme a: | phoneme a: | ||||
| phoneme O | phoneme O | ||||
| CALL vi/O | CALL vi/O | ||||
| length 150 | |||||
| FMT(vowel/0) | |||||
| length 80 | |||||
| FMT(vowel/oo_1) | |||||
| endphoneme | endphoneme | ||||
| phoneme Oi | phoneme Oi | ||||
| phoneme o | phoneme o | ||||
| CALL vi/o | CALL vi/o | ||||
| FMT(vowel/o_5) | FMT(vowel/o_5) | ||||
| endphoneme | |||||
| phoneme @:I | |||||
| CALL vi/@:I | |||||
| FMT(vdiph/y#y) | |||||
| endphoneme | endphoneme |
| #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(); | |||||
| } |
| 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> |
| 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" |