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.

jp_rules 5.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287
  1. // Japanese
  2. //
  3. // Copyright (C) 2017 Reece H. Dunn
  4. //
  5. // This program is free software; you can redistribute it and/or modify
  6. // it under the terms of the GNU General Public License as published by
  7. // the Free Software Foundation; either version 3 of the License, or
  8. // (at your option) any later version.
  9. //
  10. // This program is distributed in the hope that it will be useful,
  11. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. // GNU General Public License for more details.
  14. //
  15. // You should have received a copy of the GNU General Public License
  16. // along with this program; if not, see: <http://www.gnu.org/licenses/>.
  17. .replace
  18. // Decompose combined Unicode Hiragana glyphs (base + sound mark)
  19. が が // ga: U+304C => U+304B U+3099
  20. ぎ ぎ // gi: U+304E => U+304D U+3099
  21. ぐ ぐ // gu: U+3050 => U+304F U+3099
  22. げ げ // ge: U+3052 => U+3051 U+3099
  23. ご ご // go: U+3054 => U+3053 U+3099
  24. ざ ざ // za: U+3056 => U+3055 U+3099
  25. じ じ // ji: U+3058 => U+3057 U+3099
  26. ず ず // zu: U+305A => U+3059 U+3099
  27. ぜ ぜ // ze: U+305C => U+305B U+3099
  28. ぞ ぞ // zo: U+305E => U+305D U+3099
  29. だ だ // da: U+3060 => U+305F U+3099
  30. ぢ ぢ // ji: U+3062 => U+3061 U+3099 (obsolete)
  31. づ づ // zu: U+3064 => U+3063 U+3099
  32. で で // de: U+3066 => U+3065 U+3099
  33. ど ど // do: U+3068 => U+3067 U+3099
  34. ば ば // ba: U+3070 => U+305F U+3099
  35. ぱ ぱ // pa: U+3071 => U+305F U+309A
  36. び び // bi: U+3073 => U+3072 U+3099
  37. ぴ ぴ // pi: U+3074 => U+3072 U+309A
  38. ぶ ぶ // bu: U+3076 => U+3075 U+3099
  39. ぷ ぷ // pu: U+3077 => U+3075 U+309A
  40. べ べ // be: U+3079 => U+3078 U+3099
  41. ぺ ぺ // pe: U+307A => U+3078 U+309A
  42. ぼ ぼ // bo: U+307C => U+307B U+3099
  43. ぽ ぽ // po: U+307D => U+307B U+309A
  44. ゔ ゔ // vu: U+3094 => U+3046 U+3099 (obsolete)
  45. // Hiragana
  46. .L01 か き く け こ // k
  47. .L02 が ぎ ぐ げ ご // g
  48. .L03 さ す せ そ // s
  49. .L04 し // sh
  50. .L05 ざ ず ぜ ぞ づ // z
  51. .L06 じ ぢ // j
  52. .L07 た て と // t
  53. .L08 ち // ch
  54. .L09 つ // ts
  55. .L10 だ で ど // d
  56. .L11 な に ぬ ね の // n
  57. .L12 は ひ へ ほ // h
  58. .L13 ふ // f
  59. .L14 ば び ぶ べ ぼ // b
  60. .L15 ぱ ぴ ぷ ぺ ぽ // p
  61. .L16 ま み む め も // m
  62. .L17 や ゆ よ // y
  63. .L18 ら り る れ ろ // r
  64. .L19 わ ゐ ゑ を // w
  65. .L20 あ い う え お // vowel
  66. .L21 ゃ ゅ ょ // combining vowels for i Hiragana
  67. .group ゃ
  68. ゃ a_" // a
  69. .group ゅ
  70. ゅ M_Bo // u
  71. .group ょ
  72. ょ o_o // o
  73. .group あ
  74. あ a_" // a
  75. .group い
  76. い i // i
  77. .group う
  78. う M_Bo // u
  79. ゔ vM_Bo // vu
  80. .group え
  81. え e_o // e
  82. .group お
  83. お o_o // o
  84. .group か
  85. か ka_" // ka
  86. が ga_" // ga
  87. .group き
  88. き ki // ki
  89. き (L21 k_j // ky([auo]
  90. ぎ gi // gi
  91. ぎ (L21 g_j // gy([auo]
  92. .group く
  93. く kM_Bo // ku
  94. ぐ gM_Bo // gu
  95. .group け
  96. け ke_o // ke
  97. げ ge_o // ge
  98. .group こ
  99. こ ko_o // ko
  100. ご go_o // go
  101. .group さ
  102. さ sa_" // sa
  103. ざ za_" // za
  104. .group し
  105. し s\\i // shi
  106. し (L21 s\\ // sh([auo]
  107. じ d_z\\i // ji
  108. じ (L21 d_z\\ // j([auo]
  109. .group す
  110. す sM_Bo // su
  111. ず zM_Bo // zu
  112. .group せ
  113. せ se_o // se
  114. ぜ ze_o // ze
  115. .group そ
  116. そ so_o // so
  117. ぞ zo_o // zo
  118. .group た
  119. た ta_" // ta
  120. だ da_" // da
  121. .group ち
  122. ち t_s\\i // chi
  123. ち (L21 t_s\\ // ch([auo]
  124. ぢ d_z\\i // ji (obsolete)
  125. ぢ (L21 d_z\\ // j([auo] (obsolete)
  126. .group つ
  127. つ t_sM_Bo // tsu
  128. づ zM_Bo // zu
  129. .group て
  130. て te_o // te
  131. で de_o // de
  132. .group と
  133. と to_o // to
  134. ど do_o // do
  135. .group な
  136. な na_" // na
  137. .group に
  138. に ni // ni
  139. に (L21 n_j // ny([auo]
  140. .group ぬ
  141. ぬ nM_Bo // nu
  142. .group ね
  143. ね ne_o // ne
  144. .group の
  145. の no_o // no
  146. .group は
  147. は ha_" // ha
  148. ば ba_" // ba
  149. ぱ pa_" // pa
  150. .group ひ
  151. ひ Ci // hi
  152. ひ (L21 C // hy([auo]
  153. び bi // bi
  154. び (L21 b_j // by([auo]
  155. ぴ pi // pi
  156. ぴ (L21 p_j // py([auo]
  157. .group ふ
  158. ふ p\\M_Bo // fu
  159. ぶ bM_Bo // bu
  160. ぷ pM_Bo // pu
  161. .group へ
  162. へ he_o // he
  163. べ be_o // be
  164. ぺ pe_o // pe
  165. .group ほ
  166. ほ ho_o // ho
  167. ぼ bo_o // bo
  168. ぽ po_o // po
  169. .group ま
  170. ま ma_" // ma
  171. .group み
  172. み mi // mi
  173. み (L21 m_j // my([auo]
  174. .group む
  175. む mM_Bo // mu
  176. .group め
  177. め me_o // me
  178. .group も
  179. も mo_o // mo
  180. .group や
  181. や ja_" // ya
  182. .group ゆ
  183. ゆ jM_Bo // yu
  184. .group よ
  185. よ jo_o // yo
  186. .group ら
  187. ら r`a_" // ra
  188. .group り
  189. り r`i // ri
  190. り (L21 r`_ja_" // ry([auo]
  191. .group る
  192. る rM_Bo // ru
  193. .group れ
  194. れ re_o // re
  195. .group ろ
  196. ろ ro_o // ro
  197. .group わ
  198. わ wa_" // wa
  199. .group ゐ
  200. ゐ i // wi (obsolete)
  201. .group ゑ
  202. ゑ we_o // we (obsolete)
  203. .group を
  204. を o_o // wo
  205. .group ん
  206. ん N\\ // n
  207. ん (L01 N // n (k
  208. ん (L02 N // n (g
  209. ん (L03 u~ // n (s
  210. い) ん (L03 i~ // i) n (s
  211. ん (L04 u~ // n (sh
  212. い) ん (L04 i~ // i) n (sh
  213. ん (L05 n // n (z
  214. ん (L06 n // n (j
  215. ん (L07 n // n (t
  216. ん (L08 n // n (ch
  217. ん (L09 n // n (ts
  218. ん (L10 n // n (d
  219. ん (L11 n // n (n
  220. ん (L12 u~ // n (h
  221. い) ん (L12 i~ // i) n (h
  222. ん (L13 u~ // n (f
  223. い) ん (L13 i~ // i) n (f
  224. ん (L14 m // n (b
  225. ん (L15 m // n (p
  226. ん (L16 m // n (m
  227. ん (L17 u~ // n (y
  228. い) ん (L17 i~ // i) n (y
  229. ん (L18 n // n (r
  230. ん (L19 u~ // n (w
  231. い) ん (L19 i~ // i) n (w
  232. ん (L20 u~ // n ([vowel]
  233. い) ん (L20 i~ // i) n ([vowel]