mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 05:35:35 +00:00
Merge branch 'upstream' into development
Conflicts: dictsource/bn_list dictsource/bn_rules dictsource/dict_phonemes phsource/compile_report phsource/ph_bengali
This commit is contained in:
+47
-59
@@ -83,8 +83,8 @@ _12 d'oTe
|
||||
_13 tr'eTe
|
||||
_14 kat'orTe
|
||||
_15 k'inTe
|
||||
_20 B'inte
|
||||
_2X B,int
|
||||
_20 b'inte
|
||||
_2X b,int
|
||||
_3X tr'enta
|
||||
_4X kwar'anta
|
||||
_5X Tinkw'anta
|
||||
@@ -112,40 +112,40 @@ _dpt kon
|
||||
|
||||
|
||||
// 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
|
||||
_2ox seQ'und
|
||||
_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
|
||||
_4Xo kwarantaI
|
||||
_5Xo TinkwantaI
|
||||
@@ -153,21 +153,16 @@ _6Xo siSantaI
|
||||
_7Xo sEtantaI
|
||||
_8Xo gwitantaI
|
||||
_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
|
||||
@@ -208,8 +203,13 @@ lo $u
|
||||
la $u
|
||||
los $u
|
||||
las $u
|
||||
ro $u
|
||||
ra $u
|
||||
ros $u
|
||||
ras $u
|
||||
ne $u
|
||||
nes $u
|
||||
|
||||
me $u
|
||||
te $u
|
||||
se $u
|
||||
@@ -236,13 +236,10 @@ tu $u
|
||||
sin $u
|
||||
su $u
|
||||
ye $u
|
||||
ro $u
|
||||
ra $u
|
||||
ros $u
|
||||
ras $u
|
||||
el $u
|
||||
es $u
|
||||
els $u
|
||||
ers $u
|
||||
mis $u
|
||||
tus $u
|
||||
sus $u
|
||||
@@ -250,6 +247,7 @@ bell $u
|
||||
bel $u
|
||||
bella $u
|
||||
bells $u
|
||||
bels $u
|
||||
bellas $u
|
||||
bellos $u
|
||||
que $u
|
||||
@@ -261,25 +259,15 @@ quando $u
|
||||
on $u
|
||||
aon $u
|
||||
porque $u
|
||||
dende $u
|
||||
entre $u
|
||||
contra $u
|
||||
enta $u
|
||||
sinde $u
|
||||
per $u
|
||||
pus $u
|
||||
dica $u
|
||||
sino $u
|
||||
ni $u
|
||||
pero $u
|
||||
ibi $u
|
||||
bi $u
|
||||
i $u+
|
||||
ie $u
|
||||
hu $u
|
||||
sant $u
|
||||
donya $u
|
||||
don $u
|
||||
se'n sen $u
|
||||
|
||||
|
||||
//abbreviations
|
||||
|
||||
+141
-156
@@ -3,179 +3,163 @@
|
||||
|
||||
// Numbers
|
||||
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
|
||||
_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'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
|
||||
_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 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
|
||||
_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
|
||||
|
||||
_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
|
||||
_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 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
|
||||
_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
|
||||
|
||||
_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#
|
||||
// numbers above 50 need to be corrected
|
||||
_50 p'O~tSaS
|
||||
_5X p'O~tSaS
|
||||
_59 'unOsat.
|
||||
|
||||
_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
|
||||
_60 s'at.
|
||||
_6X s'at.
|
||||
_69 'unOS'OttOr
|
||||
|
||||
_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:
|
||||
_70 S'OttOr
|
||||
_7X S'OttOr
|
||||
_79 'unOaSi
|
||||
|
||||
_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
|
||||
_80 'aSi
|
||||
_8X 'aSi
|
||||
_89 'unOnObbOj
|
||||
|
||||
_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
|
||||
_90 n'ObbOj
|
||||
_9X n'ObbOj
|
||||
|
||||
_0C S'o
|
||||
_0M1 h'ajar
|
||||
_0M2 l'ak#
|
||||
_0M3 k'ot.i
|
||||
_0M4 'Orbud
|
||||
_dpt dOsomik
|
||||
|
||||
_0C SO:
|
||||
_0M1 h@z'a:r
|
||||
_0M2 l'a:k#
|
||||
_0M3 ko:tI
|
||||
_0M4 o:r'bu:d
|
||||
_dpt d@so:mIk
|
||||
|
||||
// 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@
|
||||
ক 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
|
||||
ा #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
|
||||
। dVn.d.V
|
||||
|
||||
|
||||
// Pronouns
|
||||
আমি $u // main: I
|
||||
আমায় $u
|
||||
@@ -198,7 +182,7 @@ _dpt d@so:mIk
|
||||
তোর $u
|
||||
|
||||
এ $u // he/she/it
|
||||
একে $u
|
||||
আপনি $u
|
||||
এটার $u
|
||||
এর $u
|
||||
|
||||
@@ -264,6 +248,9 @@ _dpt d@so:mIk
|
||||
|
||||
// Verbs
|
||||
|
||||
হয় $u
|
||||
|
||||
|
||||
ছিল $u // chilo: past aux
|
||||
ছিলেন $u // chilen
|
||||
|
||||
@@ -274,5 +261,3 @@ _dpt d@so:mIk
|
||||
|
||||
|
||||
// Exceptions
|
||||
ক্রিকেট krIk'Et
|
||||
সাইবার s'aIb@r
|
||||
|
||||
+227
-142
@@ -7,9 +7,6 @@
|
||||
// C consonants
|
||||
// Y vowel letters and vowel signs
|
||||
|
||||
// conditional rules
|
||||
// ?2 use diphthong for "ai"
|
||||
// ?3 use diphthong for "au"
|
||||
|
||||
|
||||
.replace
|
||||
@@ -29,288 +26,376 @@
|
||||
|
||||
|
||||
.group অ
|
||||
অ a
|
||||
অ V
|
||||
অঁ O~
|
||||
|
||||
|
||||
.group আ
|
||||
আ a:
|
||||
আ a
|
||||
আঁ a~
|
||||
|
||||
.group ই
|
||||
ই I
|
||||
ই i
|
||||
ইঁ i~
|
||||
ইং I'ng
|
||||
|
||||
|
||||
.group ঈ
|
||||
ঈ i:
|
||||
ঈ (_ i
|
||||
ঈ i
|
||||
ঈঁ i~
|
||||
|
||||
|
||||
.group উ
|
||||
উ U
|
||||
উ u
|
||||
উঁ u~
|
||||
|
||||
|
||||
.group ঊ
|
||||
ঊ u:
|
||||
ঊং u~ // + anusvara
|
||||
ঊঁ u~ // + candrabinbu
|
||||
ঊ u
|
||||
ঊঁ u~
|
||||
|
||||
.group ঋ
|
||||
ঋ rI
|
||||
|
||||
.group এঁ
|
||||
এঁ E // candra e
|
||||
|
||||
.group ঐ
|
||||
ঐ e
|
||||
ঋ ri
|
||||
ঋঁ ri~
|
||||
|
||||
.group ঌ
|
||||
ঌ l-
|
||||
|
||||
|
||||
.group এ
|
||||
এ e:
|
||||
এ &
|
||||
এঁ &~
|
||||
|
||||
|
||||
.group ঐ
|
||||
ঐ E: // ?? [aI] [E:] [&:]
|
||||
ঐং E~
|
||||
ঐঁ E~
|
||||
?2 ঐ aI // ?? [aI] [E:] [&:]
|
||||
ঐ oj
|
||||
ঐঁ o~j
|
||||
|
||||
|
||||
.group এ
|
||||
এ e
|
||||
এঁ e~
|
||||
|
||||
.group ওঁ
|
||||
ওঁ O // candra O
|
||||
|
||||
.group ঔ
|
||||
ঔ o
|
||||
|
||||
.group ও
|
||||
ও o:
|
||||
ওং o~ // +anusvara
|
||||
ওঁ o~ // +candrabindu
|
||||
ও o
|
||||
ওঁ o~
|
||||
|
||||
|
||||
.group ঔ
|
||||
ঔ O: // ?? [aU] [O:]
|
||||
ঔঁ O~ // +candrabindu
|
||||
ঔ ow
|
||||
ঔঁ o~w
|
||||
|
||||
.group ও //??
|
||||
ও o:
|
||||
|
||||
|
||||
|
||||
|
||||
// Vowel Signs
|
||||
|
||||
.group া
|
||||
া a:
|
||||
া a
|
||||
াঁ a~
|
||||
|
||||
.group ি
|
||||
ি I
|
||||
ি i
|
||||
িঁ i~
|
||||
|
||||
.group ী
|
||||
ী i:
|
||||
ী (_ i
|
||||
ী i
|
||||
ীঁ i~
|
||||
|
||||
.group ূ
|
||||
ূ U
|
||||
ূ u
|
||||
ূঁ u~
|
||||
|
||||
.group ু
|
||||
ু u:
|
||||
ু u
|
||||
ুঁ u~
|
||||
|
||||
.group ৃ
|
||||
ৃ rI
|
||||
ৃ ri
|
||||
ৃঁ ri~
|
||||
|
||||
|
||||
.group ে
|
||||
ে e:
|
||||
ে e
|
||||
েঁ e~
|
||||
েউ ew
|
||||
|
||||
|
||||
.group ৈ
|
||||
ৈ E: // ?? [aI] [E:] [&:]
|
||||
ৈ oj
|
||||
ৈঁ o~j
|
||||
|
||||
.group ো
|
||||
ো o:
|
||||
ো o
|
||||
োঁ o~
|
||||
|
||||
.group ৌ
|
||||
ৌ O: // [O:] or [aU] ??
|
||||
ৌ ow
|
||||
ৌঁ o~w
|
||||
|
||||
.group ॐ
|
||||
ॐ o~m
|
||||
|
||||
|
||||
|
||||
// Consonants
|
||||
|
||||
.group ক
|
||||
ক k@
|
||||
ক kV
|
||||
ক (B k
|
||||
ক্য (्য kja:
|
||||
ক্ষ k#'@
|
||||
ক (_ k
|
||||
|
||||
|
||||
.group খ
|
||||
খ k#V
|
||||
খ (B k#@
|
||||
|
||||
খ (B k#
|
||||
খ (_ k#
|
||||
|
||||
|
||||
.group গ
|
||||
গ gV
|
||||
গ (B g@
|
||||
ঈ)গ (ল g@
|
||||
গ (B g
|
||||
গ (_ g
|
||||
|
||||
|
||||
.group ঘ
|
||||
ঘ g#V
|
||||
ঘ (B g#
|
||||
ঘ (B g#
|
||||
ঘ (_ g#
|
||||
|
||||
|
||||
.group ঙ
|
||||
ঙ N'g
|
||||
ঙ NV
|
||||
ঙ্ (B N
|
||||
গা)ঙ (চি Ng@
|
||||
ঙ্ (_ N
|
||||
|
||||
|
||||
.group চ
|
||||
চ cV
|
||||
চ (B c
|
||||
্য) চ্য c'j@
|
||||
চ tSV
|
||||
চ (B tS
|
||||
চ (_ tS
|
||||
|
||||
|
||||
.group ছ
|
||||
ছ c#V
|
||||
ছ (B c#@
|
||||
ছ tS#V
|
||||
ছ (B tS#
|
||||
ছ (_ tS#
|
||||
|
||||
|
||||
.group জ
|
||||
জ J@
|
||||
জ (B J@
|
||||
্) জ zV
|
||||
জ (B J@
|
||||
জ JV
|
||||
জ (B J
|
||||
জ (_ J
|
||||
|
||||
জ্ব JV
|
||||
জ্ব (B J
|
||||
জ্ঞ ggo~
|
||||
জ্ঞ (B gg
|
||||
|
||||
|
||||
.group ঝ
|
||||
ঝ J#@
|
||||
ঝ (B J#@
|
||||
ঝ J#V
|
||||
ঝ (B J#
|
||||
ঝ (_ J#
|
||||
|
||||
|
||||
.group ঞ
|
||||
ঞ n^V
|
||||
ঞ্ (B n^
|
||||
|
||||
ঞ nV
|
||||
ঞ্ (B n
|
||||
ঞ্ (_ n
|
||||
|
||||
|
||||
.group ট
|
||||
ট t.V
|
||||
ট (B t.V
|
||||
ট (्য় t.j@
|
||||
ট (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 ণ
|
||||
ণ 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 ত
|
||||
ত t@
|
||||
ত (B t@
|
||||
|
||||
ত tV
|
||||
ত (B t
|
||||
ত (_ t
|
||||
|
||||
|
||||
.group থ
|
||||
থ t#@
|
||||
থ t#V
|
||||
থ (B t#
|
||||
ক) থ (ন t#@
|
||||
থ (_ t#
|
||||
|
||||
|
||||
.group দ
|
||||
দ d@
|
||||
দ dV
|
||||
দ (B d
|
||||
ব) দ (ল d@
|
||||
দ (_ d
|
||||
|
||||
|
||||
.group ধ
|
||||
ধ d#@
|
||||
ধ d#V
|
||||
ধ (B d#
|
||||
সা) ধ (ন d#@
|
||||
|
||||
.group ন
|
||||
ন n@
|
||||
ন (B n@
|
||||
্) ন (্ n@
|
||||
র্) ন (_ r.n // r +virama অর্ণব
|
||||
ধ (_ d#
|
||||
|
||||
|
||||
.group ন
|
||||
ন n: // should this be a long [n] ?
|
||||
ন nV
|
||||
ন (B n
|
||||
ন (_ n
|
||||
|
||||
|
||||
.group প
|
||||
প p@
|
||||
প pV
|
||||
প (B p
|
||||
প্য (्য p:
|
||||
প (_ p
|
||||
|
||||
|
||||
.group ফ
|
||||
ফ p#@
|
||||
ফ (B p#@
|
||||
ফ p#@
|
||||
ফ fV // or [p#] ?
|
||||
ফ (B f
|
||||
ফ (_ f
|
||||
|
||||
|
||||
.group ব
|
||||
ব b@
|
||||
ব (B b@
|
||||
ব bV
|
||||
ব (B b
|
||||
ব (_ b
|
||||
|
||||
|
||||
.group ভ
|
||||
ভ b#@
|
||||
ভ (B b#@
|
||||
ভ b#V
|
||||
ভ (B b#
|
||||
ভ (_ b#
|
||||
|
||||
|
||||
.group ম
|
||||
ম mV
|
||||
्) ম (_ mV
|
||||
র্) ম (_ r.m@ // r +virama
|
||||
ন্) ম (_ n.m // n +virama
|
||||
ম (B m
|
||||
ম (_ m
|
||||
|
||||
|
||||
.group য়
|
||||
য় jV
|
||||
য় (B jV
|
||||
|
||||
.group য
|
||||
য J@
|
||||
য (B J@
|
||||
्) য (_ ja
|
||||
য় jV
|
||||
য় (B j
|
||||
য় (_ j
|
||||
|
||||
|
||||
.group য
|
||||
য dZV
|
||||
য (B dZ
|
||||
য (_ dZ
|
||||
|
||||
য় jV // nukta
|
||||
য় (B j
|
||||
@) য় (_ j
|
||||
|
||||
|
||||
.group র
|
||||
র rV
|
||||
র (B r
|
||||
्) র (_ r@
|
||||
|
||||
র (_ r
|
||||
্) র (_ rV
|
||||
|
||||
|
||||
.group ল
|
||||
ল l
|
||||
ল (B l@
|
||||
ক) ল (ম l@
|
||||
ল lV
|
||||
ল (B l
|
||||
ল (_ l
|
||||
|
||||
|
||||
|
||||
.group শ
|
||||
শ S@
|
||||
শ (B S@
|
||||
শ SV // or [s] ?
|
||||
শ (B S
|
||||
শ (_ S
|
||||
|
||||
|
||||
শ (্ল s
|
||||
|
||||
|
||||
.group ষ
|
||||
ষ s
|
||||
ষ (B s //??
|
||||
ষ SV
|
||||
ষ (B S
|
||||
ষ (_ S
|
||||
|
||||
.group স
|
||||
স s@
|
||||
স (B s.
|
||||
|
||||
.group হ
|
||||
হ H@
|
||||
হ (B H@
|
||||
হ্ব v@
|
||||
.group হ্ব
|
||||
B) হ্ব (B v@
|
||||
|
||||
.group স
|
||||
স SV // or [s] ??
|
||||
স (B S
|
||||
|
||||
স (্থ s
|
||||
স (্ত s
|
||||
|
||||
_) স্ব SV // shb
|
||||
_) স্ব (B S
|
||||
|
||||
|
||||
.group হ
|
||||
হ hV
|
||||
হ (B h
|
||||
হ (_ h
|
||||
|
||||
|
||||
.group হ্ব
|
||||
হ্ব vV
|
||||
হ্ব (B v
|
||||
হ্ব (_ v
|
||||
|
||||
|
||||
.group ৎ
|
||||
ৎ (B t@t
|
||||
ৎ t
|
||||
|
||||
|
||||
.group ড়
|
||||
ড় r.V
|
||||
ড় (B r.
|
||||
|
||||
.group ঢ়
|
||||
ঢ় r.V
|
||||
ঢ় (B r.
|
||||
|
||||
|
||||
// nukta, modifies a consonant
|
||||
|
||||
.group ্যা // ja'falaa
|
||||
্যা a
|
||||
|
||||
.group ँ
|
||||
ँ n // candrabindu
|
||||
.group ঁ
|
||||
ঁ O~ // candrabindu, nasalize the previous vowel
|
||||
|
||||
.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
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -3032,6 +3032,7 @@ Altrincham O:ltrIN@m
|
||||
Anglesey aNg@Lsi
|
||||
Argyle A@g'aIl
|
||||
Argyll A@g;aIl
|
||||
Armagh A@m'A:
|
||||
Bacup beIk@p
|
||||
Berwick bErIk
|
||||
Betws bEtUs
|
||||
|
||||
+1
-1
@@ -5252,7 +5252,7 @@
|
||||
te (rrest t2@
|
||||
r) tga (g gI
|
||||
@) t (ia S
|
||||
s) t (l ?
|
||||
s) t (l
|
||||
to (morr t@
|
||||
_) to (nn tV
|
||||
t (ooth t2
|
||||
|
||||
+5
-1
@@ -955,7 +955,6 @@ bagate) ll (iz l
|
||||
szí) n (ját n
|
||||
szí) n (józan n
|
||||
nyj n^n^
|
||||
|
||||
_) nem (- nEm // has $combine attribute in hu_list, combine with the next word
|
||||
me) nny (ország n^
|
||||
pihe) nj (_S2 n^
|
||||
@@ -1038,6 +1037,9 @@ boszorká) ny (jelet n^
|
||||
legé) ny (jár n^
|
||||
szé) n (jelek 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
|
||||
o o
|
||||
@@ -1928,6 +1930,7 @@ szögle) t (szob t
|
||||
_robo) t (szoftve t
|
||||
diva) t (cirk t
|
||||
álla) t (cirk t
|
||||
szen) t (szob t
|
||||
|
||||
.group tj
|
||||
C) tj c
|
||||
@@ -2515,3 +2518,4 @@ csatlako) z (tok s
|
||||
ç tS
|
||||
ñ n^
|
||||
ø Y
|
||||
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
name punjabi-test
|
||||
name punjabi
|
||||
language pa
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
name french (Belgium)
|
||||
name french-Belgium
|
||||
language fr-be
|
||||
language fr 8
|
||||
gender male
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
language nl
|
||||
name dutch-test
|
||||
name dutch
|
||||
gender male
|
||||
|
||||
+74
-21
@@ -3,35 +3,88 @@
|
||||
// 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
|
||||
FMT(vowel/@_bck)
|
||||
|
||||
ChangePhoneme(O)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme V
|
||||
vowel flag1 starttype #@ endtype #@
|
||||
length 180
|
||||
CALL hi/V
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme a:
|
||||
vowel long starttype #a endtype #a
|
||||
length 230
|
||||
phoneme a
|
||||
vowel starttype #a endtype #a
|
||||
length 225
|
||||
FMT(vowel/aa_9)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme o:
|
||||
vowel long starttype #o endtype #o
|
||||
length 220
|
||||
FMT(vowel/o_2)
|
||||
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
|
||||
|
||||
|
||||
Binary file not shown.
+15
-4
@@ -128,13 +128,16 @@ void DisplayVoices(FILE *f_out, char *language)
|
||||
const char *p;
|
||||
int len;
|
||||
int count;
|
||||
int c;
|
||||
int j;
|
||||
const espeak_VOICE *v;
|
||||
const char *lang_name;
|
||||
char age_buf[12];
|
||||
char buf[80];
|
||||
const espeak_VOICE **voices;
|
||||
espeak_VOICE voice_select;
|
||||
|
||||
static char genders[4] = {' ','M','F',' '};
|
||||
static char genders[4] = {'-','M','F','-'};
|
||||
|
||||
if((language != NULL) && (language[0] != 0))
|
||||
{
|
||||
@@ -150,7 +153,7 @@ void DisplayVoices(FILE *f_out, char *language)
|
||||
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++)
|
||||
{
|
||||
@@ -168,8 +171,16 @@ void DisplayVoices(FILE *f_out, char *language)
|
||||
|
||||
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
|
||||
{
|
||||
|
||||
+15
-4
@@ -160,13 +160,16 @@ void DisplayVoices(FILE *f_out, char *language)
|
||||
const char *p;
|
||||
int len;
|
||||
int count;
|
||||
int c;
|
||||
int j;
|
||||
const espeak_VOICE *v;
|
||||
const char *lang_name;
|
||||
char age_buf[12];
|
||||
char buf[80];
|
||||
const espeak_VOICE **voices;
|
||||
espeak_VOICE voice_select;
|
||||
|
||||
static char genders[4] = {' ','M','F',' '};
|
||||
static char genders[4] = {'-','M','F','-'};
|
||||
|
||||
if((language != NULL) && (language[0] != 0))
|
||||
{
|
||||
@@ -182,7 +185,7 @@ void DisplayVoices(FILE *f_out, char *language)
|
||||
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++)
|
||||
{
|
||||
@@ -200,8 +203,16 @@ void DisplayVoices(FILE *f_out, char *language)
|
||||
|
||||
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
|
||||
{
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@
|
||||
#include "translate.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;
|
||||
|
||||
int option_device_number = -1;
|
||||
|
||||
@@ -539,9 +539,10 @@ Translator *SelectTranslator(const char *name)
|
||||
tr->langopts.stress_flags = S_MID_DIM | S_FINAL_DIM; // use 'diminished' for unstressed final syllable
|
||||
tr->letter_bits_offset = 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
|
||||
|
||||
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
|
||||
}
|
||||
break;
|
||||
|
||||
+28
-6
@@ -603,7 +603,7 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
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 ";
|
||||
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));
|
||||
@@ -1227,10 +1227,10 @@ static int ScoreVoice(espeak_VOICE *voice_spec, const char *spec_language, int s
|
||||
|
||||
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(0);
|
||||
}
|
||||
@@ -1363,6 +1363,7 @@ static int SetVoiceScores(espeak_VOICE *voice_select, espeak_VOICE **voices, int
|
||||
int lang_len=0;
|
||||
espeak_VOICE *vp;
|
||||
char language[80];
|
||||
char buf[sizeof(path_home)+80];
|
||||
|
||||
// count number of parts in the specified language
|
||||
if((voice_select->languages != NULL) && (voice_select->languages[0] != 0))
|
||||
@@ -1375,6 +1376,26 @@ static int SetVoiceScores(espeak_VOICE *voice_select, espeak_VOICE **voices, int
|
||||
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
|
||||
nv = 0;
|
||||
for(ix=0; ix<n_voices_list; ix++)
|
||||
@@ -1891,11 +1912,12 @@ ESPEAK_API const espeak_VOICE **espeak_ListVoices(espeak_VOICE *voice_spec)
|
||||
}
|
||||
else
|
||||
{
|
||||
// list all: omit variant voices and mbrola voices
|
||||
// list all: omit variant voices and mbrola voices and test voices
|
||||
j = 0;
|
||||
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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user