Command line option --voices: Replace spaces in voice name by underscores. Show hyphen if no gender is specified. --voices=<directory> shows the voices in the specified subdirectory. Language changes: bn (Bengali), an. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@331 d46cf337-b52f-0410-862d-fd96e6ae7743master
| _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 |
| // Translation rules for Bengali | |||||
| // This file is UTF8 encoded | |||||
| // Numbers | |||||
| devanagari numbers are changed to latin characters before translation | |||||
| _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 | |||||
| ক 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 | |||||
| া '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 | |||||
| । dVn.d.V | |||||
| // Pronouns | |||||
| আমি $u // main: I | |||||
| আমায় $u | |||||
| আমার $u | |||||
| আমরা $u // we | |||||
| আমাদের $u | |||||
| আপনি $u // you(formal) | |||||
| আপনাকে $u | |||||
| আপনার $u | |||||
| তুমি $u // you (informal) | |||||
| তোমায় $u | |||||
| তোমার $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 // 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 | |||||
| // Conjunctions | |||||
| এবং $u $pause // ebong: and | |||||
| আর $u $pause // aar: and | |||||
| অথবা $u $pause // athoba: or | |||||
| কিন্তু $u $pause // kintu: but | |||||
| যদি $pause // jodi: if | |||||
| তবু $pause // tobu: still, yet | |||||
| তবে $pause // tabe: if...then | |||||
| অথচ $u // athacho: yet | |||||
| // Verbs | |||||
| হয় $u | |||||
| ছিল $u // chilo: past aux | |||||
| ছিলেন $u // chilen | |||||
| করছি $u // korchi: continuous | |||||
| করছিলাম $u // korchilam: past indefinite | |||||
| করেছি $u // korechi: past | |||||
| // Exceptions |
| // This file is UTF8 encoded | |||||
| // letter groups: | |||||
| // A vowel letters and vowel signs | |||||
| // B vowel signs and virama ् | |||||
| // C consonants | |||||
| // Y vowel letters and vowel signs | |||||
| .replace | |||||
| ০ 0 | |||||
| ১ 1 | |||||
| ২ 2 | |||||
| ৩ 3 | |||||
| ৪ 4 | |||||
| ৫ 5 | |||||
| ৬ 6 | |||||
| ৭ 7 | |||||
| ৮ 8 | |||||
| ৯ 9 | |||||
| // Vowels | |||||
| .group অ | |||||
| অ V | |||||
| অঁ O~ | |||||
| .group আ | |||||
| আ a | |||||
| আঁ a~ | |||||
| .group ই | |||||
| ই i | |||||
| ইঁ i~ | |||||
| .group ঈ | |||||
| ঈ i | |||||
| ঈঁ i~ | |||||
| .group উ | |||||
| উ u | |||||
| উঁ u~ | |||||
| .group ঊ | |||||
| ঊ u | |||||
| ঊঁ u~ | |||||
| .group ঋ | |||||
| ঋ ri | |||||
| ঋঁ ri~ | |||||
| .group ঌ | |||||
| ঌ l- | |||||
| .group এ | |||||
| এ & | |||||
| এঁ &~ | |||||
| .group ঐ | |||||
| ঐ oj | |||||
| ঐঁ o~j | |||||
| .group এ | |||||
| এ e | |||||
| এঁ e~ | |||||
| .group ও | |||||
| ও o | |||||
| ওঁ o~ | |||||
| .group ঔ | |||||
| ঔ ow | |||||
| ঔঁ o~w | |||||
| .group ও //?? | |||||
| ও o: | |||||
| // Vowel Signs | |||||
| .group া | |||||
| া a | |||||
| াঁ a~ | |||||
| .group ি | |||||
| ি i | |||||
| িঁ i~ | |||||
| .group ী | |||||
| ী i | |||||
| ীঁ i~ | |||||
| .group ূ | |||||
| ূ u | |||||
| ূঁ u~ | |||||
| .group ু | |||||
| ু u | |||||
| ুঁ u~ | |||||
| .group ৃ | |||||
| ৃ ri | |||||
| ৃঁ ri~ | |||||
| .group ে | |||||
| ে e | |||||
| েঁ e~ | |||||
| েউ ew | |||||
| .group ৈ | |||||
| ৈ oj | |||||
| ৈঁ o~j | |||||
| .group ো | |||||
| ো o | |||||
| োঁ o~ | |||||
| .group ৌ | |||||
| ৌ ow | |||||
| ৌঁ o~w | |||||
| // Consonants | |||||
| .group ক | |||||
| ক kV | |||||
| ক (B k | |||||
| ক (_ k | |||||
| .group খ | |||||
| খ k#V | |||||
| খ (B k# | |||||
| খ (_ k# | |||||
| .group গ | |||||
| গ gV | |||||
| গ (B g | |||||
| গ (_ g | |||||
| .group ঘ | |||||
| ঘ g#V | |||||
| ঘ (B g# | |||||
| ঘ (_ g# | |||||
| .group ঙ | |||||
| ঙ NV | |||||
| ঙ্ (B N | |||||
| ঙ্ (_ N | |||||
| .group চ | |||||
| চ tSV | |||||
| চ (B tS | |||||
| চ (_ tS | |||||
| .group ছ | |||||
| ছ tS#V | |||||
| ছ (B tS# | |||||
| ছ (_ tS# | |||||
| .group জ | |||||
| জ JV | |||||
| জ (B J | |||||
| জ (_ J | |||||
| জ্ব JV | |||||
| জ্ব (B J | |||||
| জ্ঞ ggo~ | |||||
| জ্ঞ (B gg | |||||
| .group ঝ | |||||
| ঝ J#V | |||||
| ঝ (B J# | |||||
| ঝ (_ J# | |||||
| .group ঞ | |||||
| ঞ nV | |||||
| ঞ্ (B n | |||||
| ঞ্ (_ n | |||||
| .group ট | |||||
| ট t.V | |||||
| ট (B t. | |||||
| ট (_ t. | |||||
| .group ঠ | |||||
| ঠ t.#V | |||||
| ঠ (B t.# | |||||
| ঠ (_ t.# | |||||
| .group ড | |||||
| ড d.V | |||||
| ড (B d. | |||||
| ড (_ d. | |||||
| ড় r.V // nukta | |||||
| ড় (B r. | |||||
| .group ঢ | |||||
| ঢ d.#V | |||||
| ঢ (B d.# | |||||
| ঢ (_ d.# | |||||
| .group ণ | |||||
| ণ nV // should be [n.] if adjacent to t. or d. ? | |||||
| ণ (B n | |||||
| ণ (_ n | |||||
| .group ত | |||||
| ত tV | |||||
| ত (B t | |||||
| ত (_ t | |||||
| .group থ | |||||
| থ t#V | |||||
| থ (B t# | |||||
| থ (_ t# | |||||
| .group দ | |||||
| দ dV | |||||
| দ (B d | |||||
| দ (_ d | |||||
| .group ধ | |||||
| ধ d#V | |||||
| ধ (B d# | |||||
| ধ (_ d# | |||||
| .group ন | |||||
| ন nV | |||||
| ন (B n | |||||
| ন (_ n | |||||
| .group প | |||||
| প pV | |||||
| প (B p | |||||
| প (_ p | |||||
| .group ফ | |||||
| ফ fV // or [p#] ? | |||||
| ফ (B f | |||||
| ফ (_ f | |||||
| .group ব | |||||
| ব bV | |||||
| ব (B b | |||||
| ব (_ b | |||||
| .group ভ | |||||
| ভ b#V | |||||
| ভ (B b# | |||||
| ভ (_ b# | |||||
| .group ম | |||||
| ম mV | |||||
| ম (B m | |||||
| ম (_ m | |||||
| .group য় | |||||
| য় jV | |||||
| য় (B j | |||||
| য় (_ j | |||||
| .group য | |||||
| য dZV | |||||
| য (B dZ | |||||
| য (_ dZ | |||||
| য় jV // nukta | |||||
| য় (B j | |||||
| @) য় (_ j | |||||
| .group র | |||||
| র rV | |||||
| র (B r | |||||
| র (_ r | |||||
| ্) র (_ rV | |||||
| .group ল | |||||
| ল lV | |||||
| ল (B l | |||||
| ল (_ l | |||||
| .group শ | |||||
| শ SV // or [s] ? | |||||
| শ (B S | |||||
| শ (_ S | |||||
| শ (্ল s | |||||
| .group ষ | |||||
| ষ SV | |||||
| ষ (B S | |||||
| ষ (_ S | |||||
| .group স | |||||
| স SV // or [s] ?? | |||||
| স (B S | |||||
| স (্থ s | |||||
| স (্ত s | |||||
| _) স্ব SV // shb | |||||
| _) স্ব (B S | |||||
| .group হ | |||||
| হ hV | |||||
| হ (B h | |||||
| হ (_ h | |||||
| .group হ্ব | |||||
| হ্ব vV | |||||
| হ্ব (B v | |||||
| হ্ব (_ v | |||||
| .group ৎ | |||||
| ৎ t | |||||
| .group ড় | |||||
| ড় r.V | |||||
| ড় (B r. | |||||
| .group ঢ় | |||||
| ঢ় r.V | |||||
| ঢ় (B r. | |||||
| .group ঁ | |||||
| ঁ O~ // candrabindu, nasalize the previous vowel | |||||
| .group ং | |||||
| ং N // anusvara/onushshor | |||||
| .group ঃ // visarga/bishorgo | |||||
| ঃ // doubles the following consonant | |||||
| ঃ (_ H | |||||
| .group ্ // virama/hoshonto | |||||
| ্ | |||||
| .group ় | |||||
| ় // nukta, modifies a consonant | |||||
| Z z; | Z z; | ||||
| Dictionary bn_dict 2013-03-09 | |||||
| Dictionary bn_dict 2013-03-22 | |||||
| @ a a: aI a~ e E e: | |||||
| E: E~ i I i: i~ o O | |||||
| o: O: O~ o~ r- u U u: | |||||
| u~ V | |||||
| & a a~ e e~ i i~ l- | |||||
| o O o: O~ o~ u u~ V | |||||
| #X1 #X2 : b b# c c# d | |||||
| d# d. d.# g g# h H j | |||||
| J J# k k# l m n N | |||||
| n. n^ p p# r r. s S | |||||
| s. t t# t. t.# v w z | |||||
| : b b# d d# d. d.# dZ | |||||
| f g g# h H j J J# | |||||
| k k# l m n N n. p | |||||
| p# r r. s S t t# t. | |||||
| t.# tS tS# v w ~ | |||||
| Dictionary bo_dict 2013-03-09 | Dictionary bo_dict 2013-03-09 | ||||
| ts v x z | ts v x z | ||||
| Dictionary en_dict 2013-03-20 | |||||
| Dictionary en_dict 2013-03-22 | |||||
| 0 0# 3 3: @ @- @2 @5 | 0 0# 3 3: @ @- @2 @5 | ||||
| @L a a# A: A@ aa aI aI3 | @L a a# A: A@ aa aI aI3 | ||||
| tS v z Z | tS v z Z | ||||
| Dictionary hu_dict 2013-03-21 | |||||
| Dictionary hu_dict 2013-03-22 | |||||
| a A a: e E e: i i: | a A a: e E e: i i: | ||||
| o o: u u: Y y y: Y: | o o: u u: Y y y: Y: |
| 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 |
| fr-ca 11 146 | fr-ca 11 146 | ||||
| nl 35 130 | nl 35 130 | ||||
| hi 57 149 | hi 57 149 | ||||
| bn 5 149 | |||||
| bn 12 152 | |||||
| ne 18 157 | ne 18 157 | ||||
| ur 6 149 | ur 6 149 | ||||
| pa 15 151 | pa 15 151 | ||||
| [V] sq | [V] sq | ||||
| [@/] sq | [@/] sq | ||||
| [V] tt | [V] tt | ||||
| vowel/&_2 [&] bn | |||||
| vowel/@_3 [@#] en | vowel/@_3 [@#] en | ||||
| [@] en-sc | [@] en-sc | ||||
| [I] en-sc | [I] en-sc | ||||
| vowel/aa_9 [a] fi | vowel/aa_9 [a] fi | ||||
| [a] et | [a] et | ||||
| [a:] hi | [a:] hi | ||||
| [a:] bn | |||||
| [a] bn | |||||
| [a] ne | [a] ne | ||||
| [a] pa | [a] pa | ||||
| [a] ak | [a] ak | ||||
| [a] mt | [a] mt | ||||
| [A] kk | [A] kk | ||||
| vowel/@_bck [@] hi | vowel/@_bck [@] hi | ||||
| [@] bn | |||||
| [V] ne | [V] ne | ||||
| [@/] ne | [@/] ne | ||||
| [@] ur | [@] ur | ||||
| [e:] af | [e:] af | ||||
| [e:] cy | [e:] cy | ||||
| [e:] ga | [e:] ga | ||||
| [e] bn | |||||
| [e] ne | [e] ne | ||||
| [e] ta | [e] ta | ||||
| [e:] ta | [e:] ta | ||||
| [i/] pt-pt | [i/] pt-pt | ||||
| [y] ro | [y] ro | ||||
| vowel/i_6 [i] hi | vowel/i_6 [i] hi | ||||
| [i] bn | |||||
| [i] ta | [i] ta | ||||
| [i] kn | [i] kn | ||||
| [i] ml | [i] ml | ||||
| [@] hi | [@] hi | ||||
| [V] hi | [V] hi | ||||
| [@2] hi | [@2] hi | ||||
| [@] bn | |||||
| [V] ne | [V] ne | ||||
| [@/] ne | [@/] ne | ||||
| [@] ur | [@] ur | ||||
| [o:] et | [o:] et | ||||
| [o] fr | [o] fr | ||||
| [o] hi | [o] hi | ||||
| [o] bn | |||||
| [o:] pa | [o:] pa | ||||
| [o] ta | [o] ta | ||||
| [o:] ta | [o:] ta | ||||
| [o] kl | [o] kl | ||||
| vowel/o_2 [o:] cy | vowel/o_2 [o:] cy | ||||
| [o:] hi | [o:] hi | ||||
| [o:] bn | |||||
| [o:] hu | [o:] hu | ||||
| [o:] la | [o:] la | ||||
| [o:] no | [o:] no | ||||
| [O] pa | [O] pa | ||||
| [O] it | [O] it | ||||
| [O] an | [O] an | ||||
| vowel/oo_5 [O] pl | |||||
| vowel/oo_5 [O] bn | |||||
| [O] pl | |||||
| [O] is | [O] is | ||||
| [O] sq | [O] sq | ||||
| vowel/oo_en [O] en | vowel/oo_en [O] en | ||||
| [u1] ga | [u1] ga | ||||
| [u:] de | [u:] de | ||||
| [u] eo | [u] eo | ||||
| [u] bn | |||||
| [u] ml | [u] ml | ||||
| [u:] ml | [u:] ml | ||||
| [U] lt | [U] lt |
| //==================================================== | |||||
| // Bengali, inherits from Hindi | |||||
| //==================================================== | |||||
| 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 | |||||
| ChangePhoneme(O) | |||||
| endphoneme | |||||
| phoneme a | |||||
| vowel starttype #a endtype #a | |||||
| length 225 | |||||
| FMT(vowel/aa_9) | |||||
| endphoneme | |||||
| 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 | |||||
| phoneme ~ | |||||
| virtual | |||||
| endphoneme | |||||
| phoneme + // high tone, use after a vowel | |||||
| stress | |||||
| Tone (5, 30, envelope/p_512, NULL) | |||||
| endphoneme | |||||
| phoneme @ | |||||
| vowel starttype #@ endtype #@ | |||||
| length 130 | |||||
| IF nextPh(H) THEN | |||||
| FMT(vowel/@_low) | |||||
| ENDIF | |||||
| FMT(vowel/@_bck) | |||||
| endphoneme | |||||
| phoneme V | |||||
| vowel starttype #@ endtype #@ | |||||
| length 130 | |||||
| ChangeIfNotStressed(@) | |||||
| IF nextPh(H) THEN | |||||
| FMT(vowel/@_low) | |||||
| ENDIF | |||||
| FMT(vowel/V_3) | |||||
| endphoneme | |||||
| phoneme i | |||||
| vowel long starttype #i endtype #i | |||||
| length 220 | |||||
| IfNextVowelAppend(;) | |||||
| FMT(vowel/i_fnt) | |||||
| endphoneme | |||||
| phoneme I | |||||
| vowel starttype #i endtype #i | |||||
| length 150 | |||||
| IfNextVowelAppend(;) | |||||
| FMT(vowel/ii_3) | |||||
| endphoneme | |||||
| phoneme e | |||||
| vowel long starttype #e endtype #e | |||||
| length 220 | |||||
| FMT(vowel/e_2) | |||||
| endphoneme | |||||
| phoneme E | |||||
| vowel long starttype #e endtype #e | |||||
| length 200 | |||||
| FMT(vowel/ee_2) | |||||
| endphoneme | |||||
| phoneme a | |||||
| vowel long starttype #a endtype #a | |||||
| length 220 | |||||
| FMT(vowel/aa_9) | |||||
| endphoneme | |||||
| phoneme O | |||||
| vowel long starttype #o endtype #o | |||||
| length 200 | |||||
| FMT(vowel/oo_4) | |||||
| endphoneme | |||||
| phoneme o: | |||||
| vowel long starttype #o endtype #o | |||||
| length 220 | |||||
| FMT(vowel/o) | |||||
| endphoneme | |||||
| phoneme U | |||||
| vowel starttype #u endtype #u | |||||
| length 150 | |||||
| FMT(vowel/uu_bck) | |||||
| endphoneme | |||||
| phoneme u | |||||
| vowel long starttype #u endtype #u | |||||
| length 220 | |||||
| FMT(vowel/u_bck) | |||||
| endphoneme | |||||
| phoneme eI // for English words | |||||
| import_phoneme en/eI | |||||
| endphoneme | |||||
| // Consonants | |||||
| phoneme v // Try English [v] | |||||
| import_phoneme base/v | |||||
| 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; | ||||
| } | } |