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.

ph_english_rp 4.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325
  1. //*******************************************************************
  2. // VOWELS
  3. //*******************************************************************
  4. phoneme @ // Schwa
  5. vwl starttype #@ endtype #@
  6. unstressed
  7. length 140
  8. IfNextVowelAppend(r-)
  9. IF thisPh(isWordEnd) THEN
  10. FMT(vowel/@_low)
  11. ENDIF
  12. FMT(vowel/@)
  13. endphoneme
  14. phoneme 3 // Schwa, used for rhotic schwa in American
  15. CALL @
  16. ipa ə
  17. endphoneme
  18. phoneme @2 // Schwa, changes to I before a vowel
  19. vwl starttype #@ endtype #@
  20. unstressed
  21. length 120
  22. IF nextPh(isVowel) THEN
  23. ChangePhoneme(I2)
  24. ENDIF
  25. FMT(vowel/@_low)
  26. endphoneme
  27. phoneme @5 // Schwa, changes to U before a vowel
  28. vwl starttype #@ endtype #@
  29. unstressed
  30. length 140
  31. IF nextPh(isVowel) OR nextPh(isPause) THEN
  32. ChangePhoneme(U)
  33. ENDIF
  34. FMT(vowel/@_low)
  35. endphoneme
  36. phoneme a
  37. vwl starttype #a endtype #a
  38. ipa æ
  39. length 175
  40. ChangeIfDiminished(a#)
  41. FMT(vowel/&)
  42. endphoneme
  43. phoneme E
  44. vwl starttype #e endtype #e
  45. length 140
  46. IF nextPhW(n) THEN
  47. ChangeIfDiminished(@)
  48. ELSE
  49. ChangeIfDiminished(I2)
  50. ENDIF
  51. FMT(vowel/e_mid)
  52. endphoneme
  53. phoneme I
  54. vwl starttype #i endtype #i
  55. length 130
  56. IfNextVowelAppend(;)
  57. FMT(vowel/ii)
  58. endphoneme
  59. phoneme I2
  60. vwl starttype #i endtype #i
  61. unstressed
  62. length 130
  63. IfNextVowelAppend(;)
  64. FMT(vowel/ii)
  65. endphoneme
  66. phoneme I# // used for [I] which may be [@] in some accents
  67. vwl starttype #i endtype #i
  68. unstressed
  69. length 130
  70. IF MbrolaSynth THEN
  71. ChangePhoneme(I)
  72. ENDIF
  73. IfNextVowelAppend(;)
  74. ChangePhoneme(I2)
  75. endphoneme
  76. phoneme i
  77. vwl starttype #i endtype #i
  78. unstressed
  79. ipa ɪ
  80. length 140
  81. IfNextVowelAppend(;)
  82. IF NOT thisPh(isFinalVowel) THEN
  83. length 130
  84. FMT(vowel/ii)
  85. ENDIF
  86. FMT(vowel/ii_final)
  87. endphoneme
  88. phoneme 0
  89. vwl starttype #o endtype #o
  90. length 140
  91. ChangeIfDiminished(@)
  92. FMT(vowel/0_3)
  93. endphoneme
  94. phoneme V
  95. vwl starttype #a endtype #@
  96. length 140
  97. ChangeIfDiminished(@)
  98. FMT(vowel/V_3)
  99. endphoneme
  100. phoneme U
  101. vwl starttype #o endtype #o
  102. length 150
  103. FMT(vowel/o-_3)
  104. endphoneme
  105. phoneme a#
  106. vwl starttype #@ endtype #@
  107. ipa ɐ
  108. unstressed
  109. length 150
  110. IfNextVowelAppend(r-)
  111. FMT(vowel/@_low)
  112. endphoneme
  113. phoneme A:
  114. vwl starttype #a endtype #a
  115. length 240
  116. IfNextVowelAppend(r-)
  117. FMT(vwl_en_rp/aa)
  118. endphoneme
  119. phoneme A@
  120. vwl starttype #a endtype #a
  121. ipa ɑː
  122. length 240
  123. IfNextVowelAppend(r-)
  124. FMT(vwl_en_rp/aa)
  125. endphoneme
  126. phoneme aa // 'bath' etc.
  127. vwl starttype #a endtype #a
  128. ipa ɑː
  129. length 200
  130. FMT(vwl_en_rp/aa)
  131. endphoneme
  132. phoneme 3:
  133. vwl starttype #@ endtype #@
  134. length 210
  135. ChangeIfDiminished(@)
  136. IfNextVowelAppend(r-)
  137. FMT(vowel/3_3)
  138. endphoneme
  139. phoneme i:
  140. vwl starttype #i endtype #i
  141. length 175 lng
  142. IfNextVowelAppend(;)
  143. IF prevPh(w) THEN
  144. VowelStart(w/wi2)
  145. ENDIF
  146. FMT(vowel/i)
  147. endphoneme
  148. phoneme O:
  149. vwl starttype #o endtype #o
  150. length 230
  151. ChangeIfDiminished(@)
  152. IfNextVowelAppend(r-)
  153. FMT(vowel/oo_1)
  154. endphoneme
  155. phoneme O@
  156. vwl starttype #o endtype #@
  157. ipa ɔː
  158. length 230
  159. IfNextVowelAppend(r-)
  160. FMT(vowel/oo_1)
  161. endphoneme
  162. phoneme O
  163. vwl starttype #o endtype #o
  164. length 150
  165. ChangeIfDiminished(@)
  166. FMT(vowel/oo_en)
  167. endphoneme
  168. phoneme u:
  169. vwl starttype #u endtype #u
  170. length 190
  171. FMT(vowel/uu#_2)
  172. endphoneme
  173. phoneme aU
  174. vwl starttype #a endtype #u
  175. length 230
  176. FMT(vdiph/au_3)
  177. endphoneme
  178. phoneme oU
  179. vwl starttype #@ endtype #u
  180. ipa əʊ
  181. length 220
  182. FMT(vdiph/@u_2)
  183. endphoneme
  184. phoneme aI
  185. vwl starttype #a endtype #i
  186. length 230
  187. IF nextPh(#a) OR nextPh(#o) THEN
  188. AppendPhoneme(;)
  189. ENDIF
  190. FMT(vdiph/ai_6)
  191. endphoneme
  192. phoneme eI
  193. vwl starttype #i endtype #i
  194. length 220
  195. FMT(vdiph2/ei_2)
  196. endphoneme
  197. phoneme OI
  198. vwl starttype #o endtype #i
  199. length 230
  200. FMT(vdiph/ooi_3)
  201. endphoneme
  202. phoneme e@
  203. vwl starttype #e endtype #@
  204. length 220
  205. IfNextVowelAppend(r-)
  206. FMT(vdiph2/ee@_2)
  207. endphoneme
  208. phoneme i@
  209. vwl starttype #i endtype #@
  210. length 240
  211. IfNextVowelAppend(r-)
  212. FMT(vwl_en_rp/i@)
  213. endphoneme
  214. phoneme i@3
  215. vwl starttype #i endtype #@
  216. length 240
  217. IfNextVowelAppend(r-)
  218. FMT(vwl_en_rp/i@)
  219. endphoneme
  220. phoneme U@
  221. vwl starttype #u endtype #@
  222. ipa ɔː
  223. length 230
  224. IfNextVowelAppend(r-)
  225. FMT(vowel/o_mid)
  226. endphoneme
  227. phoneme aI@
  228. vwl starttype #a endtype #@
  229. length 270
  230. IfNextVowelAppend(r-)
  231. FMT(vwl_en/aI@)
  232. endphoneme
  233. phoneme aI3
  234. vwl starttype #a endtype #@
  235. length 280
  236. ChangePhoneme(aI@)
  237. endphoneme
  238. phoneme aU@
  239. vwl starttype #a endtype #@
  240. length 270
  241. IfNextVowelAppend(r-)
  242. FMT(vwl_en_rp/aU@)
  243. endphoneme
  244. phoneme e# // **E**XPLORE
  245. vwl
  246. ChangePhoneme(I)
  247. endphoneme