eSpeak NG is an open source speech synthesizer that supports more than hundred languages and accents.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

hi_rules 11KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565
  1. // This file is UTF8 encoded
  2. // Improvement work started on July 2014 by Maheshinder Singh Khosla, [email protected]
  3. // letter groups:
  4. // A vowel letters and vowel signs
  5. // B vowel signs and virama ्
  6. // C consonants
  7. // Y vowel letters and vowel signs
  8. // conditional rules
  9. // ?2 use diphthong for "ai"
  10. // ?3 use diphthong for "au"
  11. .replace
  12. ० 0
  13. १ 1
  14. २ 2
  15. ३ 3
  16. ४ 4
  17. ५ 5
  18. ६ 6
  19. ७ 7
  20. ८ 8
  21. ९ 9
  22. // Vowels
  23. .group अ
  24. अ V
  25. अ (ह E // (h
  26. अह) अ E
  27. .group आ
  28. आ a:
  29. आं a~
  30. .group इ
  31. इ I
  32. // इँ i~
  33. इं i~
  34. .group ई
  35. ई i:
  36. ई (_ i
  37. .group उ
  38. उ U
  39. .group ऊ
  40. ऊ u
  41. ऊं u~ // + anusvara
  42. ऊँ (_ u~ // + candrabinbu
  43. .group ऋ
  44. ऋ rI
  45. .group ऌ
  46. ऌ l- // vocalic l
  47. .group ऍ
  48. ऍ E // candra e
  49. .group ऎ
  50. ऎ e
  51. ऎं e~
  52. ऎँ (_ e~
  53. .group ए
  54. ए e:
  55. एँ e~:
  56. एं e~:
  57. ा) एँ (_ j
  58. .group ऐ
  59. ऐ E: // ?? [aI] [E:] [&:]
  60. ऐं E~
  61. ऐँ (_ E~
  62. ?2 ऐ aI // ?? [aI] [E:] [&:]
  63. .group ऑ
  64. ऑ O // candra O
  65. .group ऒ
  66. ऒ o
  67. ऒं o~
  68. ऒँ (_ o~
  69. .group ओ
  70. ओ o:
  71. ओं o~ // +anusvara
  72. ओँ (_ o~ // +candrabindu
  73. ा) ओं (_ w // +anusvara
  74. ा) ओँ (_ w
  75. .group औ
  76. औ O: // ?? [aU] [O:]
  77. औं O~ // +anusvara
  78. औँ (_ O~ // +candrabindu
  79. ?3 औ aU // ?? [aU] [O:]
  80. // Vowel Signs
  81. .group ा
  82. ा #X2a:
  83. C) ा a:
  84. C) ा (ँ a~
  85. C) ाँ (_ a~
  86. C) ां a~
  87. .group ि
  88. ि #X1I
  89. C) ि I
  90. C)// िँ i~
  91. C) िं i~
  92. .group ी
  93. ी #X2i:
  94. C) ी i:
  95. C) ी (_ i
  96. C) ी (ँ i~
  97. C) ीँ (_ i~
  98. C) ीं i~
  99. .group ु
  100. ु #X1U
  101. C) ु U
  102. C) ु (ँ u~
  103. C) ुं u~
  104. C) ुँ (_ u~
  105. .group ू
  106. ू #X2u:
  107. C) ू u:
  108. C) ू (ँ u~
  109. C) ूं u~ // or O~ ??
  110. C) ूँ (_ u~
  111. .group ृ
  112. ृ #X1rI
  113. C) ृ rI
  114. .group ॄ
  115. ॄ #X1rI
  116. C) ॄ rI
  117. .group ॅ
  118. ॅ #X1E
  119. C) ॅ E
  120. .group ॆ
  121. ॆ #X1e
  122. C) ॆ e
  123. C) ॆ (ँ e~
  124. C) ॆं e~
  125. C) ॆँ (_ e~
  126. .group े
  127. े #X2e:
  128. C) े e:
  129. C) े (ँ e~
  130. C) ें e~:
  131. C) ेँ (_ e~:
  132. .group ै
  133. ै #X2E:
  134. C) ै E: // ?? [aI] [E:] [&:]
  135. C) ैं E~
  136. C) ै (ँ E~
  137. C) ैं E~
  138. C) ैँ (_ E~
  139. ?2 ै #X2aI
  140. ?2 C) ै aI // ?? [aI] [E:] [&:]
  141. .group ॉ
  142. ॉ #X1O
  143. C) ॉ O
  144. .group ॊ
  145. ॊ #X1o
  146. C) ॊ o
  147. C) ॊ (ँ o~
  148. C) ॊं o~
  149. C) ॊँ (_ o~
  150. .group ो
  151. ो #X2o:
  152. C) ो o:
  153. C) ो (ँ o~
  154. C) ों o~
  155. C) ोँ (_ o~
  156. .group ौ
  157. ौ #X2O:
  158. C) ौ O: // [O:] or [aU] ??
  159. C) ौ (ँ O~ // [O:] or [aU] ??
  160. C) ौं O~
  161. C) ौँ (_ O~
  162. ?3 ौ #X2aU
  163. ?3 C) ौ aU // [O:] or [aU] ??
  164. .group ॢ // vowel sign l
  165. ॢ #X1l-
  166. C) ॢ l-
  167. .group ॣ // vowel sign ll
  168. ॣ #X2l-:
  169. C) ॣ l-:
  170. .group ॐ
  171. ॐ o~m
  172. // Consonants
  173. .group क
  174. क kV
  175. क (B k
  176. क (्य k:
  177. क़ qV
  178. क़ (B q
  179. क्क k:V // kk -> k:
  180. क्क (B k:
  181. क्ष kSV
  182. क्ष (B kS
  183. .group ख
  184. ख k#V
  185. ख (B k#
  186. ख़ xV
  187. ख़ (B x
  188. .group ग
  189. ग gV
  190. ग (B g
  191. ग़ QV
  192. ग़ (B Q
  193. //new
  194. ग्ग g:V // GG -> g:
  195. ग्ग (B g:
  196. .group घ
  197. घ g#V
  198. घ (B g#
  199. .group ङ
  200. ङ NV
  201. ङ (B N
  202. ्) ङ (_ N@
  203. .group च
  204. च cV
  205. च (B c
  206. च (्य c:
  207. //New
  208. च्च c:V // cc -> c:
  209. च्च (B c:
  210. //new
  211. च्छ c#:V // c#c# -> c#:
  212. च्छ (B c#:
  213. .group छ
  214. छ c#V
  215. छ (B c#
  216. .group ज
  217. ज JV
  218. ज (B J
  219. ज़ zV
  220. ज़ (B z
  221. //new
  222. ज्ज J:V // JJ -> J:
  223. ज्ज (B J:
  224. ज्ञ gjV
  225. ज्ञ (B gj
  226. .group झ
  227. झ J#V
  228. झ (B J#
  229. .group ञ
  230. ञ n^V
  231. ञ (B n^
  232. ्) ञ (_ n^@
  233. .group ट
  234. ट t.V
  235. ट (B t.
  236. ट (्य t.:
  237. ट्ट t.:V // t.t. -> t.:
  238. ट्ट (B t.:
  239. ट्ठ t.#:V // t.t.# -> t.#:
  240. ट्ठ (B t.#:
  241. .group ठ
  242. ठ t.#V
  243. ठ (B t.#
  244. ठ्ठ t.#:V // t.#t.# -> t.#:
  245. ठ्ठ (B t.#:
  246. .group ड
  247. ड d.V
  248. ड (B d.
  249. ड्ड d.:V // d. d. -> d.:
  250. ड्ड (B d.:
  251. ड्ढ d.#:V // d#d# -> d#:
  252. ड्ढ (B d.#:
  253. ड़ r.V
  254. ड़ (B r.
  255. .group ढ
  256. ढ d.#V
  257. ढ (B d.#
  258. ढ़ r.hV // nukta (should retroflex flap)
  259. ढ़ (B r.h // nukta
  260. .group ण
  261. ण n.V
  262. ण (B n.
  263. ्) ण (_ n.@
  264. .group त
  265. त tV
  266. त (B t
  267. त (्य t:
  268. त्त t:V // tt -> t:
  269. त्त (B t:
  270. //new
  271. त्थ t#:V // t#:t#: -> t#:
  272. त्थ (B t#:
  273. .group थ
  274. थ t#V
  275. थ (B t#
  276. .group द
  277. द dV
  278. द (B d
  279. //new
  280. द्द d:V // dd -> d:
  281. द्द (B d:
  282. द्ध d#:V // d#d# -> d#:
  283. द्ध (B d#:
  284. .group ध
  285. ध d#V
  286. ध (B d#
  287. .group न
  288. न nV
  289. न (B n
  290. ्) न (_ n@
  291. र्) न (_ n // r +virama
  292. .group ऩ
  293. ऩ n: // should this be a long [n] ?
  294. .group प
  295. प pV
  296. प (B p
  297. प (्य p:
  298. प्प p:V // pp -> p:
  299. प्प (B p:
  300. .group फ
  301. फ p#V
  302. फ (B p#
  303. फ़ fV
  304. फ़ (B f
  305. .group ब
  306. ब bV
  307. ब (B b
  308. .group भ
  309. भ b#V
  310. भ (B b#
  311. .group म
  312. म mV
  313. म (B m
  314. ्) म (_ m@
  315. र्) म (_ m // r +virama
  316. न्) म (_ m // n +virama
  317. .group य
  318. य jV
  319. य (B j
  320. C) य (_ Ej // [Ej] not [@j]
  321. ्) य (_ j@
  322. .group र
  323. र rV
  324. र (B r
  325. र (_ r
  326. ्) र (_ r@
  327. .group ऱ // rra
  328. ऱ rV // (temporary) same as [r] should this be [r.] or perhaps [z.] ?
  329. ऱ (B r
  330. ्) ऱ (_ r@
  331. .group ल
  332. ल lV
  333. ल (B l
  334. ्) ल (_ l@
  335. .group ळ
  336. ळ l.V
  337. ळ (B l.
  338. ्) ळ (_ l.@
  339. .group ऴ
  340. ऴ l.V // (temporary) same as [l.]
  341. ऴ (B l.
  342. ्) ऴ (_ l.@
  343. .group व
  344. व vV
  345. व (B v
  346. // 3 _) व wV
  347. // 3 _) व (B w
  348. // 4 _) व (् v // +virma
  349. // 2 व (_ w
  350. // 5 ्) व (_ w@
  351. // 1 deleted
  352. .group श
  353. श SV
  354. श (B S
  355. .group ष
  356. ष s.V
  357. ष (B s.
  358. .group स
  359. स sV
  360. स (B s
  361. .group ह
  362. ह HV
  363. ह (B H
  364. // nukta, modifies a consonant
  365. .group ऽ // avagraha, lengthens a vowel ??
  366. ऽ :
  367. .group ँ
  368. ँ n // candrabindu
  369. .group ं
  370. ं n // anusvara
  371. ं (प m
  372. ं (फ m
  373. ं (ब m
  374. ं (भ m
  375. ं (म m
  376. ं (ट n.
  377. ं (ठ n.
  378. ं (ड n.
  379. ं (ढ n.
  380. ं (ण n.
  381. ं (च n^
  382. ं (छ n^
  383. ं (ज n^
  384. ं (झ n^
  385. ं (ञ n^
  386. ं (य n^
  387. ं (क N
  388. ं (ख N
  389. ं (ग N
  390. ं (घ N
  391. ं (ङ N
  392. .group ः
  393. ः H // visarga
  394. .group ् // virama
  395. ् H@l'Vnt
  396. C) ्
  397. // Extra consonants
  398. .group क़ // qa
  399. क़ qV
  400. क़ (B q
  401. .group ख़ // khha
  402. ख़ xV
  403. ख़ (B x
  404. .group ग़ // ghha
  405. ग़ QV
  406. ग़ (B Q
  407. .group ज़ // za
  408. ज़ zV
  409. ज़ (B z
  410. .group ड़ // dddha (should retroflex flap ?)
  411. ड़ r.V
  412. ड़ (B r.
  413. .group ढ़ // rha (aspirated version of dddha)
  414. ढ़ r.hV
  415. ढ़ (B r.h
  416. .group फ़ // fa
  417. फ़ fV
  418. फ़ (B f
  419. .group य़ // yya
  420. य़ jV
  421. य़ (B j
  422. .group ॠ // rr
  423. ॠ V-rr
  424. .group ॡ // ll
  425. ॡ l-: // long syllabic l
  426. // If we find a Latin letter a-z, then translate as English
  427. // (This is now done automatically by the eSpeak program)
  428. .group o
  429. o _^_EN
  430. D__) of (__D me