Conflicts: dictsource/bn_list dictsource/bn_rules dictsource/dict_phonemes phsource/compile_report phsource/ph_bengalimaster
_13 tr'eTe | _13 tr'eTe | ||||
_14 kat'orTe | _14 kat'orTe | ||||
_15 k'inTe | _15 k'inTe | ||||
_20 B'inte | |||||
_2X B,int | |||||
_20 b'inte | |||||
_2X b,int | |||||
_3X tr'enta | _3X tr'enta | ||||
_4X kwar'anta | _4X kwar'anta | ||||
_5X Tinkw'anta | _5X Tinkw'anta | ||||
// ordinal numbers | // ordinal numbers | ||||
_#º o | |||||
_#ª a | |||||
_#º %'eno | |||||
_#ª %'ena | |||||
_x#º %o // for 1º 2º 3º | |||||
_x#ª %a | |||||
º orDin'al||maskul'in | |||||
ª orDin'al||femen'in | |||||
_1ox prim'Er | _1ox prim'Er | ||||
_2ox seQ'und | _2ox seQ'und | ||||
_3ox tErT'Er | _3ox tErT'Er | ||||
_1o un'en | |||||
_2o dos'en | |||||
_3o tres'en | |||||
_4o kwatr'en | |||||
_5o Tink'en | |||||
_6o seIs'en | |||||
_7o sEt'en | |||||
_8o gwit'en | |||||
_9o nU'en | |||||
_11o onT'en | |||||
_12o DoT'en | |||||
_13o tReT'en | |||||
_14o katorT'en | |||||
_15o kinT'en | |||||
_16o sET'en | |||||
_10o DET'en | |||||
_20o Bint'en | |||||
_30o trent'en | |||||
_40o kwarant'en | |||||
_50o Tinkwant'en | |||||
_60o siSant'en | |||||
_70o sEtant'en | |||||
_80o gwitant'en | |||||
_90o noBant'en | |||||
_4o kwatr | |||||
_5o Tink | |||||
_7o sEt | |||||
_8o gwit | |||||
_9o nU | |||||
_11o onT | |||||
_12o doT | |||||
_13o tReT | |||||
_14o katorT | |||||
_15o kinT | |||||
_16o sET | |||||
_10o dET | |||||
_20o bint | |||||
_30o trent | |||||
_40o kwarant | |||||
_50o Tinkwant | |||||
_60o siSant | |||||
_70o sEtant | |||||
_80o gwitant | |||||
_90o noBant | |||||
_1Xo DeTi | |||||
_2Xo Binti | |||||
_1Xo deTi | |||||
_2Xo binti | |||||
_3Xo trentaI | _3Xo trentaI | ||||
_4Xo kwarantaI | _4Xo kwarantaI | ||||
_5Xo TinkwantaI | _5Xo TinkwantaI | ||||
_7Xo sEtantaI | _7Xo sEtantaI | ||||
_8Xo gwitantaI | _8Xo gwitantaI | ||||
_9Xo noBantaI | _9Xo noBantaI | ||||
_1Co TEnt'en | |||||
_2Co dosTEnt'en | |||||
_3Co tresTEnt'en | |||||
_4Co kw,atroTEnt'en | |||||
_5Co T,inkoTEnt'en | |||||
_6Co seIsTEnt'en | |||||
_7Co sjEtTEnt'en | |||||
_8Co gw,eItoTEnt'en | |||||
_9Co nweUTEnt'en | |||||
_0Co Tent | |||||
_1Co TEnt | |||||
_2Co dosTEnt | |||||
_3Co tresTEnt | |||||
_6Co seIsTEnt | |||||
_7Co sjEtTEnt | |||||
_8Co gw,eItoTEnt | |||||
_9Co nweUTEnt | |||||
_0M1o mil'en | |||||
_0M2o mil^on'en | |||||
_1M2o mil^on'en | |||||
_0M4o bil^on'en | |||||
_1M4o bil^on'en | |||||
_0M1o mil | |||||
// characters | // characters | ||||
la $u | la $u | ||||
los $u | los $u | ||||
las $u | las $u | ||||
ro $u | |||||
ra $u | |||||
ros $u | |||||
ras $u | |||||
ne $u | ne $u | ||||
nes $u | nes $u | ||||
me $u | me $u | ||||
te $u | te $u | ||||
se $u | se $u | ||||
sin $u | sin $u | ||||
su $u | su $u | ||||
ye $u | ye $u | ||||
ro $u | |||||
ra $u | |||||
ros $u | |||||
ras $u | |||||
el $u | el $u | ||||
es $u | es $u | ||||
els $u | els $u | ||||
ers $u | |||||
mis $u | mis $u | ||||
tus $u | tus $u | ||||
sus $u | sus $u | ||||
bel $u | bel $u | ||||
bella $u | bella $u | ||||
bells $u | bells $u | ||||
bels $u | |||||
bellas $u | bellas $u | ||||
bellos $u | bellos $u | ||||
que $u | que $u | ||||
on $u | on $u | ||||
aon $u | aon $u | ||||
porque $u | porque $u | ||||
dende $u | |||||
entre $u | |||||
contra $u | |||||
enta $u | |||||
sinde $u | |||||
per $u | per $u | ||||
pus $u | pus $u | ||||
dica $u | |||||
sino $u | |||||
ni $u | ni $u | ||||
pero $u | |||||
ibi $u | |||||
bi $u | bi $u | ||||
i $u+ | i $u+ | ||||
ie $u | ie $u | ||||
hu $u | hu $u | ||||
sant $u | sant $u | ||||
donya $u | |||||
don $u | |||||
se'n sen $u | |||||
//abbreviations | //abbreviations |
// Numbers | // Numbers | ||||
devanagari numbers are changed to latin characters before translation | devanagari numbers are changed to latin characters before translation | ||||
_0 S'u:n.nV'o: | |||||
_1 a'k | |||||
_2 d:UI | |||||
_3 t'i:n | |||||
_4 c'a:@'r | |||||
_5 ,pa~c | |||||
_6 c#'O:j | |||||
_7 S'a:t | |||||
_8 'a:t.# | |||||
_9 n'O:j | |||||
_10 d'O:S | |||||
_11 a'g'a:rO: | |||||
_12 b'a:rO: | |||||
_13 t'a:rO: | |||||
_14 c#:O:d'dO: | |||||
_15 p'O:n'e:rO: | |||||
_16 S'o:lO: | |||||
_17 SO:t'e:rO: | |||||
_18 a:t#'e:rO: | |||||
_19 U'n'IS | |||||
_20 kU:'ri | |||||
_21 e:kU'S | |||||
_22 b'a:IS | |||||
_23 t'e:IS | |||||
_24 c'O:b'bIS | |||||
_25 pa~O:c'IS | |||||
_26 c#'a:'bb'IS | |||||
_27 Sa:ta:S | |||||
_28 at#'a:S | |||||
_29 Unt'rIs | |||||
_30 t'i:rIS | |||||
_31 e:k't:rIS | |||||
_32 bat:'rIS | |||||
_33 tE't'rIS | |||||
_34 ca~o:u:t'rIS | |||||
_35 pa~O:it'rIS | |||||
_36 c#a'trIS | |||||
_37 Sa~it'rIS | |||||
_38 at'tr'IS | |||||
_39 U'nO:cO:l'IS | |||||
_40 co:l'lIS | |||||
_41 e:k'co:l'lIS | |||||
_42 bi'al'lIS | |||||
_43 te:ta:l'lIS | |||||
_44 cu:a:l'lIS | |||||
_45 paI'nta:l'lIS | |||||
_46 c#e:co:l'lIS | |||||
_47 Sat'co:l'lIs | |||||
_48 at'co:l'lIS | |||||
_49 Uno:pan'ca:S | |||||
_50 p@n'ca:s | |||||
_51 e:ka:n'no: | |||||
_52 ba:h@n'no: | |||||
_53 t'Ip'pan'no: | |||||
_54 cu:wan'no: | |||||
_55 po:n'ca:n'no: | |||||
_56 c#h@p:'an'no: | |||||
_57 Sa:ta:n'no: | |||||
_58 at#'a:n'no: | |||||
_59 Uno:s'at# | |||||
_60 s'a:t.# | |||||
_61 e:k'so:t'tI | |||||
_62 ba:so:t'tI | |||||
_63 te:so:t'tI | |||||
_64 ca~o:u:so:t'tI | |||||
_65 pa~I'so:t'tI | |||||
_66 c#e:so:t'tI | |||||
_67 Sat'so:t'tI | |||||
_68 atso:t'ti | |||||
_69 ,Uno:Sat'to:r | |||||
_70 So:t'to:r | |||||
_71 e:kat'to:r | |||||
_72 ba:hat'to:r | |||||
_73 tIat'to:r | |||||
_74 cu:at'to:r | |||||
_75 pa~c#at'to:r | |||||
_76 c#I'at:to:r | |||||
_77 Sa:t@'t:o:r | |||||
_78 atat'to:r | |||||
_79 ,Uno:a:Si: | |||||
_80 a:Si | |||||
_81 e:ka:Si: | |||||
_82 bI'ra:Si: | |||||
_83 tIra:Si: | |||||
_84 cu:ra:Si: | |||||
_85 pa~ca:Si: | |||||
_86 c#Ia:Si: | |||||
_87 Sa:ta:Si: | |||||
_88 O:sto:a:Si: | |||||
_89 Uno:no:b'bo:I | |||||
_90 no:b:bo:I | |||||
_91 e:ka:no:b'bo:I | |||||
_92 bIra:no:b'bo:I | |||||
_93 tIr'a:no:b'bo:I | |||||
_94 cu:r'a:no:b'bo:I | |||||
_95 pa~ca:no:b'bo:I | |||||
_96 c#Ia:no:b'bo:I | |||||
_97 S@ta:no:b'bo:I | |||||
_98 ata:no:b'bo:I | |||||
_99 nIra:no:b'bo:I | |||||
_0C SO: | |||||
_0M1 h@z'a:r | |||||
_0M2 l'a:k# | |||||
_0M3 ko:tI | |||||
_0M4 o:r'bu:d | |||||
_dpt d@so:mIk | |||||
_0 S'unjO | |||||
_1 '&k | |||||
_2 duj | |||||
_3 t'in | |||||
_4 tS'ar | |||||
_5 p'a~tS | |||||
_6 tS#'Oj | |||||
_7 S'at | |||||
_8 'at.# | |||||
_9 n'Oj | |||||
_10 d'OS | |||||
_11 '&garo | |||||
_12 b'aro | |||||
_13 t'ero | |||||
_14 tS'owddo | |||||
_15 p'Onero | |||||
_16 S'olo | |||||
_17 S'Otero | |||||
_18 'at.#aro | |||||
_19 'uniS | |||||
_20 b'iS // ?? | |||||
_21 'ekuS | |||||
_22 b'ajS | |||||
_23 t'ejS | |||||
_24 tS'ObbiS | |||||
_25 p'O~tSiS | |||||
_26 tS#'ObbiS | |||||
_27 S'ataS | |||||
_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 | |||||
_80 'aSi | |||||
_8X 'aSi | |||||
_89 'unOnObbOj | |||||
_90 n'ObbOj | |||||
_9X n'ObbOj | |||||
_0C S'o | |||||
_0M1 h'ajar | |||||
_0M2 l'ak# | |||||
_0M3 k'ot.i | |||||
_0M4 'Orbud | |||||
_dpt dOsomik | |||||
// Single consonants | |||||
ক k@ | |||||
খ k#@ | |||||
গ g@ | |||||
ঘ g#@ | |||||
ঙ N'g | |||||
চ c@ | |||||
ছ c#@ | |||||
জ J@ | |||||
ঝ J#@ | |||||
ঞ n^@ | |||||
ট t.@ | |||||
ঠ t.#@ | |||||
ড d.@ | |||||
ঢ d.#@ | |||||
ণ n.@ // retroflex n.@ | |||||
ত t@ | |||||
থ t#@ | |||||
দ d@ | |||||
ধ d#@ | |||||
ন n@ | |||||
প p@ | |||||
ফ p#@ | |||||
ব b@ | |||||
ভ b#@ | |||||
ম m@ | |||||
য় O:j | |||||
য J@ | |||||
র r@ | |||||
ড় r-@ | |||||
ঢ় hr@ | |||||
ল l@ | |||||
শ S@ | |||||
ষ s.@ // retroflex [S] | |||||
স s@ | |||||
হ H@ | |||||
ৎ t@ | |||||
// Single consonants | |||||
ক kO | |||||
খ k#O | |||||
গ gO | |||||
ঘ g#O | |||||
ঙ 'uNO | |||||
চ tSO | |||||
ছ tShO // [h] to distinguish from [tS] | |||||
জ JO | |||||
ঝ J#O | |||||
ঞ 'iNO | |||||
ট t.O | |||||
ঠ t.#O | |||||
ড d.O | |||||
ঢ d.#O | |||||
ণ m'odd#ennO | |||||
ত tO | |||||
থ t#O | |||||
দ dO | |||||
ধ d#O | |||||
ন d'ontennO | |||||
প pO | |||||
ফ p#O | |||||
ব bO | |||||
ভ b#O | |||||
ম mO | |||||
য় Oj | |||||
য ontostedZ'O | |||||
র rO | |||||
ঢ় hrO | |||||
ল lO | |||||
শ taleboS:O | |||||
ষ mud#en:oS:O | |||||
স d'onteS:O | |||||
হ hO | |||||
ৎ kh'Ond.otO | |||||
// full vowels | |||||
অ SOro'O | |||||
আ SOro'a | |||||
ই hrOS:o'i | |||||
ঈ dirg#o'i | |||||
উ hrOS:o'u | |||||
ঊ dirg#o'u | |||||
ঋ ri | |||||
এ e | |||||
ঐ oj | |||||
ও o | |||||
ঔ ow | |||||
// combining vowel signs | // combining vowel signs | ||||
ा #X2a: | |||||
ि #X1I | |||||
ी #X2i: | |||||
ূ #X1U | |||||
ू #X2u: | |||||
ृ #X1rI | |||||
ে #X1e: | |||||
ৈ #X2E: | |||||
ো #X1o: | |||||
ৌ #X1O: | |||||
ॐ #X1o~m | |||||
া 'akar | |||||
ি r'oS:ikar | |||||
ী d'irg#ikar | |||||
ূ r'oS:ukar | |||||
ু d'irg#ukar | |||||
ৃ r'ikar | |||||
ে 'ekar | |||||
ৈ 'ojkar | |||||
ো 'okar | |||||
ৌ 'owkar | |||||
// signs | |||||
্ h'OSonto | |||||
ং 'OnuSSOr | |||||
ঃ b'iSOrgo | |||||
ঁ tS'Ondrobindu | |||||
় b'indu | |||||
// Punctuation | // Punctuation | ||||
। dVn.d.V | । dVn.d.V | ||||
// Pronouns | // Pronouns | ||||
আমি $u // main: I | আমি $u // main: I | ||||
আমায় $u | আমায় $u | ||||
তোর $u | তোর $u | ||||
এ $u // he/she/it | এ $u // he/she/it | ||||
একে $u | |||||
আপনি $u | |||||
এটার $u | এটার $u | ||||
এর $u | এর $u | ||||
// Verbs | // Verbs | ||||
হয় $u | |||||
ছিল $u // chilo: past aux | ছিল $u // chilo: past aux | ||||
ছিলেন $u // chilen | ছিলেন $u // chilen | ||||
// Exceptions | // Exceptions | ||||
ক্রিকেট krIk'Et | |||||
সাইবার s'aIb@r |
// C consonants | // C consonants | ||||
// Y vowel letters and vowel signs | // Y vowel letters and vowel signs | ||||
// conditional rules | |||||
// ?2 use diphthong for "ai" | |||||
// ?3 use diphthong for "au" | |||||
.replace | .replace | ||||
.group অ | .group অ | ||||
অ a | |||||
অ V | |||||
অঁ O~ | |||||
.group আ | .group আ | ||||
আ a: | |||||
আ a | |||||
আঁ a~ | |||||
.group ই | .group ই | ||||
ই I | |||||
ই i | |||||
ইঁ i~ | ইঁ i~ | ||||
ইং I'ng | |||||
.group ঈ | .group ঈ | ||||
ঈ i: | |||||
ঈ (_ i | |||||
ঈ i | |||||
ঈঁ i~ | |||||
.group উ | .group উ | ||||
উ U | |||||
উ u | |||||
উঁ u~ | |||||
.group ঊ | .group ঊ | ||||
ঊ u: | |||||
ঊং u~ // + anusvara | |||||
ঊঁ u~ // + candrabinbu | |||||
ঊ u | |||||
ঊঁ u~ | |||||
.group ঋ | .group ঋ | ||||
ঋ rI | |||||
ঋ ri | |||||
ঋঁ ri~ | |||||
.group এঁ | |||||
এঁ E // candra e | |||||
.group ঌ | |||||
ঌ l- | |||||
.group এ | |||||
এ & | |||||
এঁ &~ | |||||
.group ঐ | .group ঐ | ||||
ঐ e | |||||
ঐ oj | |||||
ঐঁ o~j | |||||
.group এ | .group এ | ||||
এ e: | |||||
এ e | |||||
এঁ e~ | |||||
.group ঐ | |||||
ঐ E: // ?? [aI] [E:] [&:] | |||||
ঐং E~ | |||||
ঐঁ E~ | |||||
?2 ঐ aI // ?? [aI] [E:] [&:] | |||||
.group ও | |||||
ও o | |||||
ওঁ o~ | |||||
.group ওঁ | |||||
ওঁ O // candra O | |||||
.group ঔ | .group ঔ | ||||
ঔ o | |||||
ঔ ow | |||||
ঔঁ o~w | |||||
.group ও | |||||
.group ও //?? | |||||
ও o: | ও o: | ||||
ওং o~ // +anusvara | |||||
ওঁ o~ // +candrabindu | |||||
.group ঔ | |||||
ঔ O: // ?? [aU] [O:] | |||||
ঔঁ O~ // +candrabindu | |||||
// Vowel Signs | // Vowel Signs | ||||
.group া | .group া | ||||
া a: | |||||
া a | |||||
াঁ a~ | |||||
.group ি | .group ি | ||||
ি I | |||||
ি i | |||||
িঁ i~ | |||||
.group ী | .group ী | ||||
ী i: | |||||
ী (_ i | |||||
ী i | |||||
ীঁ i~ | |||||
.group ূ | .group ূ | ||||
ূ U | |||||
ূ u | |||||
ূঁ u~ | |||||
.group ু | .group ু | ||||
ু u: | |||||
ু u | |||||
ুঁ u~ | |||||
.group ৃ | .group ৃ | ||||
ৃ rI | |||||
ৃ ri | |||||
ৃঁ ri~ | |||||
.group ে | .group ে | ||||
ে e: | |||||
ে e | |||||
েঁ e~ | |||||
েউ ew | |||||
.group ৈ | .group ৈ | ||||
ৈ E: // ?? [aI] [E:] [&:] | |||||
ৈ oj | |||||
ৈঁ o~j | |||||
.group ো | .group ো | ||||
ো o: | |||||
ো o | |||||
োঁ o~ | |||||
.group ৌ | .group ৌ | ||||
ৌ O: // [O:] or [aU] ?? | |||||
ৌ ow | |||||
ৌঁ o~w | |||||
.group ॐ | |||||
ॐ o~m | |||||
// Consonants | // Consonants | ||||
.group ক | .group ক | ||||
ক k@ | |||||
ক kV | |||||
ক (B k | ক (B k | ||||
ক্য (्য kja: | |||||
ক্ষ k#'@ | |||||
ক (_ k | |||||
.group খ | .group খ | ||||
খ k#V | খ k#V | ||||
খ (B k#@ | |||||
খ (B k# | |||||
খ (_ k# | |||||
.group গ | .group গ | ||||
গ gV | গ gV | ||||
গ (B g@ | |||||
ঈ)গ (ল g@ | |||||
গ (B g | |||||
গ (_ g | |||||
.group ঘ | .group ঘ | ||||
ঘ g#V | ঘ g#V | ||||
ঘ (B g# | |||||
ঘ (B g# | |||||
ঘ (_ g# | |||||
.group ঙ | .group ঙ | ||||
ঙ N'g | |||||
ঙ NV | |||||
ঙ্ (B N | ঙ্ (B N | ||||
গা)ঙ (চি Ng@ | |||||
ঙ্ (_ N | |||||
.group চ | .group চ | ||||
চ cV | |||||
চ (B c | |||||
্য) চ্য c'j@ | |||||
চ tSV | |||||
চ (B tS | |||||
চ (_ tS | |||||
.group ছ | .group ছ | ||||
ছ c#V | |||||
ছ (B c#@ | |||||
ছ tS#V | |||||
ছ (B tS# | |||||
ছ (_ tS# | |||||
.group জ | .group জ | ||||
জ J@ | |||||
জ (B J@ | |||||
্) জ zV | |||||
জ (B J@ | |||||
জ JV | |||||
জ (B J | |||||
জ (_ J | |||||
জ্ব JV | |||||
জ্ব (B J | |||||
জ্ঞ ggo~ | |||||
জ্ঞ (B gg | |||||
.group ঝ | .group ঝ | ||||
ঝ J#@ | |||||
ঝ (B J#@ | |||||
ঝ J#V | |||||
ঝ (B J# | |||||
ঝ (_ J# | |||||
.group ঞ | .group ঞ | ||||
ঞ n^V | |||||
ঞ্ (B n^ | |||||
ঞ nV | |||||
ঞ্ (B n | |||||
ঞ্ (_ n | |||||
.group ট | .group ট | ||||
ট t.V | ট t.V | ||||
ট (B t.V | |||||
ট (्য় t.j@ | |||||
ট (B t. | |||||
ট (_ t. | |||||
.group ঠ | .group ঠ | ||||
ঠ t.#V | ঠ t.#V | ||||
ঠ (B t.# | ঠ (B t.# | ||||
ঠ (_ t.# | |||||
.group ড | .group ড | ||||
ড d.V | ড d.V | ||||
ড (B d. | ড (B d. | ||||
ড (_ d. | |||||
ড় r.V // nukta | |||||
ড় (B r. | |||||
.group ঢ | .group ঢ | ||||
ঢ d.#V | ঢ d.#V | ||||
ঢ (B d.# | ঢ (B d.# | ||||
ঢ (_ d.# | |||||
.group ণ | .group ণ | ||||
ণ n.V // (temporary) same as dental [n] | |||||
ণ (B n. | |||||
ণ্ম n.m | |||||
ণ nV // should be [n.] if adjacent to t. or d. ? | |||||
ণ (B n | |||||
ণ (_ n | |||||
.group ত | .group ত | ||||
ত t@ | |||||
ত (B t@ | |||||
ত tV | |||||
ত (B t | |||||
ত (_ t | |||||
.group থ | .group থ | ||||
থ t#@ | |||||
থ t#V | |||||
থ (B t# | থ (B t# | ||||
ক) থ (ন t#@ | |||||
থ (_ t# | |||||
.group দ | .group দ | ||||
দ d@ | |||||
দ dV | |||||
দ (B d | দ (B d | ||||
ব) দ (ল d@ | |||||
দ (_ d | |||||
.group ধ | .group ধ | ||||
ধ d#@ | |||||
ধ d#V | |||||
ধ (B d# | ধ (B d# | ||||
সা) ধ (ন d#@ | |||||
.group ন | |||||
ন n@ | |||||
ন (B n@ | |||||
্) ন (্ n@ | |||||
র্) ন (_ r.n // r +virama অর্ণব | |||||
ধ (_ d# | |||||
.group ন | .group ন | ||||
ন n: // should this be a long [n] ? | |||||
ন nV | |||||
ন (B n | |||||
ন (_ n | |||||
.group প | .group প | ||||
প p@ | |||||
প pV | |||||
প (B p | প (B p | ||||
প্য (्য p: | |||||
প (_ p | |||||
.group ফ | .group ফ | ||||
ফ p#@ | |||||
ফ (B p#@ | |||||
ফ p#@ | |||||
ফ fV // or [p#] ? | |||||
ফ (B f | |||||
ফ (_ f | |||||
.group ব | .group ব | ||||
ব b@ | |||||
ব (B b@ | |||||
ব bV | |||||
ব (B b | |||||
ব (_ b | |||||
.group ভ | .group ভ | ||||
ভ b#@ | |||||
ভ (B b#@ | |||||
ভ b#V | |||||
ভ (B b# | |||||
ভ (_ b# | |||||
.group ম | .group ম | ||||
ম mV | ম mV | ||||
्) ম (_ mV | |||||
র্) ম (_ r.m@ // r +virama | |||||
ন্) ম (_ n.m // n +virama | |||||
ম (B m | |||||
ম (_ m | |||||
.group য় | .group য় | ||||
য় jV | |||||
য় (B jV | |||||
.group য | |||||
য J@ | |||||
য (B J@ | |||||
्) য (_ ja | |||||
য় jV | |||||
য় (B j | |||||
য় (_ j | |||||
.group য | |||||
য dZV | |||||
য (B dZ | |||||
য (_ dZ | |||||
য় jV // nukta | |||||
য় (B j | |||||
@) য় (_ j | |||||
.group র | .group র | ||||
র rV | র rV | ||||
র (B r | র (B r | ||||
्) র (_ r@ | |||||
র (_ r | |||||
্) র (_ rV | |||||
.group ল | .group ল | ||||
ল l | |||||
ল (B l@ | |||||
ক) ল (ম l@ | |||||
ল lV | |||||
ল (B l | |||||
ল (_ l | |||||
.group শ | |||||
শ S@ | |||||
শ (B S@ | |||||
.group শ | |||||
শ SV // or [s] ? | |||||
শ (B S | |||||
শ (_ S | |||||
শ (্ল s | |||||
.group ষ | .group ষ | ||||
ষ s | |||||
ষ (B s //?? | |||||
ষ SV | |||||
ষ (B S | |||||
ষ (_ S | |||||
.group স | .group স | ||||
স s@ | |||||
স (B s. | |||||
স SV // or [s] ?? | |||||
স (B S | |||||
স (্থ s | |||||
স (্ত s | |||||
_) স্ব SV // shb | |||||
_) স্ব (B S | |||||
.group হ | .group হ | ||||
হ H@ | |||||
হ (B H@ | |||||
হ্ব v@ | |||||
.group হ্ব | |||||
B) হ্ব (B v@ | |||||
.group ৎ | |||||
ৎ (B t@t | |||||
হ hV | |||||
হ (B h | |||||
হ (_ h | |||||
.group হ্ব | |||||
হ্ব vV | |||||
হ্ব (B v | |||||
হ্ব (_ v | |||||
.group ৎ | |||||
ৎ t | |||||
// nukta, modifies a consonant | |||||
.group ্যা // ja'falaa | |||||
্যা a | |||||
.group ড় | |||||
ড় r.V | |||||
ড় (B r. | |||||
.group ঢ় | |||||
ঢ় r.V | |||||
ঢ় (B r. | |||||
.group ँ | |||||
ँ n // candrabindu | |||||
.group ঁ | |||||
ঁ O~ // candrabindu, nasalize the previous vowel | |||||
.group ং | .group ং | ||||
ং aN'g // anusvara | |||||
ং N // anusvara/onushshor | |||||
.group ः | |||||
ः H // visarga | |||||
.group ঃ // visarga/bishorgo | |||||
ঃ // doubles the following consonant | |||||
ঃ (_ H | |||||
.group ্ // virama | |||||
.group ্ // virama/hoshonto | |||||
্ | ্ | ||||
.group ় | |||||
় // nukta, modifies a consonant | |||||
Anglesey aNg@Lsi | Anglesey aNg@Lsi | ||||
Argyle A@g'aIl | Argyle A@g'aIl | ||||
Argyll A@g;aIl | Argyll A@g;aIl | ||||
Armagh A@m'A: | |||||
Bacup beIk@p | Bacup beIk@p | ||||
Berwick bErIk | Berwick bErIk | ||||
Betws bEtUs | Betws bEtUs |
te (rrest t2@ | te (rrest t2@ | ||||
r) tga (g gI | r) tga (g gI | ||||
@) t (ia S | @) t (ia S | ||||
s) t (l ? | |||||
s) t (l | |||||
to (morr t@ | to (morr t@ | ||||
_) to (nn tV | _) to (nn tV | ||||
t (ooth t2 | t (ooth t2 |
szí) n (ját n | szí) n (ját n | ||||
szí) n (józan n | szí) n (józan n | ||||
nyj n^n^ | nyj n^n^ | ||||
_) nem (- nEm // has $combine attribute in hu_list, combine with the next word | _) nem (- nEm // has $combine attribute in hu_list, combine with the next word | ||||
me) nny (ország n^ | me) nny (ország n^ | ||||
pihe) nj (_S2 n^ | pihe) nj (_S2 n^ | ||||
legé) ny (jár n^ | legé) ny (jár n^ | ||||
szé) n (jelek n | szé) n (jelek n | ||||
teljesítmé) ny (j n^ | teljesítmé) ny (j n^ | ||||
nem-lts n'Em||_!'Ellt,e:,ES //without this rule Espeak spokening the nem LTS text with one word, because general in hu_list have a $combine attribute the nem word. | |||||
n'Em _!'Ellt,e:,ES | |||||
.group o | .group o | ||||
o o | o o | ||||
_robo) t (szoftve t | _robo) t (szoftve t | ||||
diva) t (cirk t | diva) t (cirk t | ||||
álla) t (cirk t | álla) t (cirk t | ||||
szen) t (szob t | |||||
.group tj | .group tj | ||||
C) tj c | C) tj c | ||||
ç tS | ç tS | ||||
ñ n^ | ñ n^ | ||||
ø Y | ø Y | ||||
name punjabi-test | |||||
name punjabi | |||||
language pa | language pa |
name french (Belgium) | |||||
name french-Belgium | |||||
language fr-be | language fr-be | ||||
language fr 8 | language fr 8 | ||||
gender male | gender male |
language nl | language nl | ||||
name dutch-test | |||||
name dutch | |||||
gender male | gender male |
// Bengali, inherits from Hindi | // Bengali, inherits from Hindi | ||||
//==================================================== | //==================================================== | ||||
phoneme @ | |||||
vowel flag1 starttype #@ endtype #@ | |||||
length 65 | |||||
ChangeIfDiminished(@-) | |||||
IF nextPh(H) THEN | |||||
FMT(vowel/@_low) | |||||
phoneme V // inherent vowel, can be [O] or [o] | |||||
vowel flag1 starttype #o endtype #o | |||||
length 200 | |||||
IF thisPh(isFirstVowel) THEN | |||||
IF nextVowel(i) OR nextVowel(u) THEN | |||||
ChangePhoneme(o) | |||||
ENDIF | |||||
IF prevPhW(r) THEN | |||||
ChangePhoneme(o) | |||||
ENDIF | |||||
ENDIF | ENDIF | ||||
FMT(vowel/@_bck) | |||||
ChangePhoneme(O) | |||||
endphoneme | endphoneme | ||||
phoneme V | |||||
vowel flag1 starttype #@ endtype #@ | |||||
length 180 | |||||
CALL hi/V | |||||
phoneme a | |||||
vowel starttype #a endtype #a | |||||
length 225 | |||||
FMT(vowel/aa_9) | |||||
endphoneme | endphoneme | ||||
phoneme a: | |||||
vowel long starttype #a endtype #a | |||||
length 230 | |||||
FMT(vowel/aa_9) | |||||
phoneme i | |||||
vowel starttype #i endtype #i | |||||
length 200 | |||||
FMT(vowel/i_6) | |||||
endphoneme | |||||
phoneme u | |||||
vowel starttype #u endtype #u | |||||
length 200 | |||||
FMT(vowel/u) | |||||
endphoneme | |||||
phoneme e | |||||
vowel starttype #e endtype #e | |||||
length 200 | |||||
FMT(vowel/e) | |||||
endphoneme | |||||
phoneme & | |||||
vowel starttype #a endtype #a | |||||
length 200 | |||||
FMT(vowel/&_2) | |||||
endphoneme | |||||
phoneme o | |||||
vowel starttype #o endtype #o | |||||
length 200 | |||||
IF nextPhW(w) THEN | |||||
length 160 | |||||
ENDIF | |||||
FMT(vowel/o) | |||||
endphoneme | |||||
phoneme O | |||||
vowel starttype #o endtype #o | |||||
length 200 | |||||
FMT(vowel/oo_5) | |||||
endphoneme | |||||
phoneme tS | |||||
import_phoneme base/tS | |||||
endphoneme | |||||
phoneme tS# | |||||
import_phoneme base/tS | |||||
endphoneme | endphoneme | ||||
phoneme o: | |||||
vowel long starttype #o endtype #o | |||||
length 220 | |||||
FMT(vowel/o_2) | |||||
phoneme ~ | |||||
virtual | |||||
endphoneme | endphoneme | ||||
const char *p; | const char *p; | ||||
int len; | int len; | ||||
int count; | int count; | ||||
int c; | |||||
int j; | |||||
const espeak_VOICE *v; | const espeak_VOICE *v; | ||||
const char *lang_name; | const char *lang_name; | ||||
char age_buf[12]; | char age_buf[12]; | ||||
char buf[80]; | |||||
const espeak_VOICE **voices; | const espeak_VOICE **voices; | ||||
espeak_VOICE voice_select; | espeak_VOICE voice_select; | ||||
static char genders[4] = {' ','M','F',' '}; | |||||
static char genders[4] = {'-','M','F','-'}; | |||||
if((language != NULL) && (language[0] != 0)) | if((language != NULL) && (language[0] != 0)) | ||||
{ | { | ||||
voices = espeak_ListVoices(NULL); | voices = espeak_ListVoices(NULL); | ||||
} | } | ||||
fprintf(f_out,"Pty Language Age/Gender VoiceName File Other Langs\n"); | |||||
fprintf(f_out,"Pty Language Age/Gender VoiceName File Other Languages\n"); | |||||
for(ix=0; (v = voices[ix]) != NULL; ix++) | for(ix=0; (v = voices[ix]) != NULL; ix++) | ||||
{ | { | ||||
if(count==0) | if(count==0) | ||||
{ | { | ||||
fprintf(f_out,"%2d %-12s%s%c %-17s %-11s ", | |||||
p[0],lang_name,age_buf,genders[v->gender],v->name,v->identifier); | |||||
for(j=0; j < sizeof(buf); j++) | |||||
{ | |||||
// replace spaces in the name | |||||
if((c = v->name[j]) == ' ') | |||||
c = '_'; | |||||
if((buf[j] = c) == 0) | |||||
break; | |||||
} | |||||
fprintf(f_out,"%2d %-12s%s%c %-20s %-13s ", | |||||
p[0],lang_name,age_buf,genders[v->gender],buf,v->identifier); | |||||
} | } | ||||
else | else | ||||
{ | { |
const char *p; | const char *p; | ||||
int len; | int len; | ||||
int count; | int count; | ||||
int c; | |||||
int j; | |||||
const espeak_VOICE *v; | const espeak_VOICE *v; | ||||
const char *lang_name; | const char *lang_name; | ||||
char age_buf[12]; | char age_buf[12]; | ||||
char buf[80]; | |||||
const espeak_VOICE **voices; | const espeak_VOICE **voices; | ||||
espeak_VOICE voice_select; | espeak_VOICE voice_select; | ||||
static char genders[4] = {' ','M','F',' '}; | |||||
static char genders[4] = {'-','M','F','-'}; | |||||
if((language != NULL) && (language[0] != 0)) | if((language != NULL) && (language[0] != 0)) | ||||
{ | { | ||||
voices = espeak_ListVoices(NULL); | voices = espeak_ListVoices(NULL); | ||||
} | } | ||||
fprintf(f_out,"Pty Language Age/Gender VoiceName File Other Langs\n"); | |||||
fprintf(f_out,"Pty Language Age/Gender VoiceName File Other Languages\n"); | |||||
for(ix=0; (v = voices[ix]) != NULL; ix++) | for(ix=0; (v = voices[ix]) != NULL; ix++) | ||||
{ | { | ||||
if(count==0) | if(count==0) | ||||
{ | { | ||||
fprintf(f_out,"%2d %-12s%s%c %-17s %-11s ", | |||||
p[0],lang_name,age_buf,genders[v->gender],v->name,v->identifier); | |||||
for(j=0; j < sizeof(buf); j++) | |||||
{ | |||||
// replace spaces in the name | |||||
if((c = v->name[j]) == ' ') | |||||
c = '_'; | |||||
if((buf[j] = c) == 0) | |||||
break; | |||||
} | |||||
fprintf(f_out,"%2d %-12s%s%c %-20s %-13s ", | |||||
p[0],lang_name,age_buf,genders[v->gender],buf,v->identifier); | |||||
} | } | ||||
else | else | ||||
{ | { |
#include "translate.h" | #include "translate.h" | ||||
#include "wave.h" | #include "wave.h" | ||||
const char *version_string = "1.47.03a 21.Mar.13"; | |||||
const char *version_string = "1.47.03b 22.Mar.13"; | |||||
const int version_phdata = 0x014701; | const int version_phdata = 0x014701; | ||||
int option_device_number = -1; | int option_device_number = -1; |
tr->langopts.stress_flags = S_MID_DIM | S_FINAL_DIM; // use 'diminished' for unstressed final syllable | tr->langopts.stress_flags = S_MID_DIM | S_FINAL_DIM; // use 'diminished' for unstressed final syllable | ||||
tr->letter_bits_offset = OFFSET_BENGALI; | tr->letter_bits_offset = OFFSET_BENGALI; | ||||
SetIndicLetters(tr); // call this after setting OFFSET_BENGALI | SetIndicLetters(tr); // call this after setting OFFSET_BENGALI | ||||
SetLetterBitsRange(tr,LETTERGP_B,0x01,0x01); // candranindu | |||||
SetLetterBitsRange(tr,LETTERGP_F,0x3e,0x4c); // vowel signs, but not virama | SetLetterBitsRange(tr,LETTERGP_F,0x3e,0x4c); // vowel signs, but not virama | ||||
tr->langopts.numbers = 0x1; | |||||
tr->langopts.numbers = NUM_SWAP_TENS; | |||||
tr->langopts.break_numbers = 0x24924aa8; // for languages which have numbers for 100,000 and 100,00,000, eg Hindi | tr->langopts.break_numbers = 0x24924aa8; // for languages which have numbers for 100,000 and 100,00,000, eg Hindi | ||||
} | } | ||||
break; | break; |
static const char *voices_asia = | static const char *voices_asia = | ||||
"fa fa-pin hi hy hy-west id ka kn ku ml ne pa ta tr vi vi-hue zh zh-yue "; | "fa fa-pin hi hy hy-west id ka kn ku ml ne pa ta tr vi vi-hue zh zh-yue "; | ||||
static const char *voices_europe = | static const char *voices_europe = | ||||
"an bg bs ca cs cy da el es et fi 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 "; | |||||
strncpy0(voicename, vname, sizeof(voicename)); | strncpy0(voicename, vname, sizeof(voicename)); | ||||
p = voice->languages; // list of languages+dialects for which this voice is suitable | p = voice->languages; // list of languages+dialects for which this voice is suitable | ||||
if(strcmp(spec_language,"mbrola")==0) | |||||
if(spec_n_parts < 0) | |||||
{ | { | ||||
// only list mbrola voices | |||||
if(memcmp(voice->identifier,"mb/",3) == 0) | |||||
// match on the subdirectory | |||||
if(memcmp(voice->identifier, spec_language, spec_lang_len) == 0) | |||||
return(100); | return(100); | ||||
return(0); | return(0); | ||||
} | } | ||||
int lang_len=0; | int lang_len=0; | ||||
espeak_VOICE *vp; | espeak_VOICE *vp; | ||||
char language[80]; | char language[80]; | ||||
char buf[sizeof(path_home)+80]; | |||||
// count number of parts in the specified language | // count number of parts in the specified language | ||||
if((voice_select->languages != NULL) && (voice_select->languages[0] != 0)) | if((voice_select->languages != NULL) && (voice_select->languages[0] != 0)) | ||||
n_parts++; | n_parts++; | ||||
} | } | ||||
} | } | ||||
if((n_parts == 1) && (control & 1)) | |||||
{ | |||||
if(strcmp(language, "mbrola") == 0) | |||||
{ | |||||
language[2] = 0; // truncate to "mb" | |||||
lang_len = 2; | |||||
} | |||||
sprintf(buf, "%s/voices/%s", path_home, language); | |||||
if(GetFileLength(buf) == -2) | |||||
{ | |||||
// A subdirectory name has been specified. List all the voices in that subdirectory | |||||
language[lang_len++] = PATHSEP; | |||||
language[lang_len] = 0; | |||||
n_parts = -1; | |||||
} | |||||
} | |||||
// select those voices which match the specified language | // select those voices which match the specified language | ||||
nv = 0; | nv = 0; | ||||
for(ix=0; ix<n_voices_list; ix++) | for(ix=0; ix<n_voices_list; ix++) | ||||
} | } | ||||
else | else | ||||
{ | { | ||||
// list all: omit variant voices and mbrola voices | |||||
// list all: omit variant voices and mbrola voices and test voices | |||||
j = 0; | j = 0; | ||||
for(ix=0; (v = voices_list[ix]) != NULL; ix++) | for(ix=0; (v = voices_list[ix]) != NULL; ix++) | ||||
{ | { | ||||
if((v->languages[0] != 0) && (strcmp(&v->languages[1],"variant") != 0) && (memcmp(v->identifier,"mb/",3) != 0)) | |||||
if((v->languages[0] != 0) && (strcmp(&v->languages[1],"variant") != 0) | |||||
&& (memcmp(v->identifier,"mb/",3) != 0) && (memcmp(v->identifier,"test/",5) != 0)) | |||||
{ | { | ||||
voices[j++] = v; | voices[j++] = v; | ||||
} | } |