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.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309
  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
  67. vwl starttype #i endtype #i
  68. unstressed
  69. length 140
  70. IfNextVowelAppend(;)
  71. IF NOT thisPh(isFinalVowel) THEN
  72. length 130
  73. FMT(vowel/ii)
  74. ENDIF
  75. FMT(vowel/ii_final)
  76. endphoneme
  77. phoneme 0
  78. vwl starttype #o endtype #o
  79. length 140
  80. ChangeIfDiminished(@)
  81. FMT(vowel/0_3)
  82. endphoneme
  83. phoneme V
  84. vwl starttype #a endtype #@
  85. length 140
  86. ChangeIfDiminished(@)
  87. FMT(vowel/V_3)
  88. endphoneme
  89. phoneme U
  90. vwl starttype #o endtype #o
  91. length 150
  92. FMT(vowel/o-_3)
  93. endphoneme
  94. phoneme a#
  95. vwl starttype #@ endtype #@
  96. ipa ɐ
  97. unstressed
  98. length 150
  99. IfNextVowelAppend(r-)
  100. FMT(vowel/@_low)
  101. endphoneme
  102. phoneme A:
  103. vwl starttype #a endtype #a
  104. length 240
  105. IfNextVowelAppend(r-)
  106. FMT(vwl_en_rp/aa)
  107. endphoneme
  108. phoneme A@
  109. vwl starttype #a endtype #a
  110. ipa ɑː
  111. length 240
  112. IfNextVowelAppend(r-)
  113. FMT(vwl_en_rp/aa)
  114. endphoneme
  115. phoneme aa // 'bath' etc.
  116. vwl starttype #a endtype #a
  117. ipa ɑː
  118. length 200
  119. FMT(vwl_en_rp/aa)
  120. endphoneme
  121. phoneme 3:
  122. vwl starttype #@ endtype #@
  123. length 210
  124. ChangeIfDiminished(@)
  125. IfNextVowelAppend(r-)
  126. FMT(vowel/3_3)
  127. endphoneme
  128. phoneme i:
  129. vwl starttype #i endtype #i
  130. length 175 lng
  131. IfNextVowelAppend(;)
  132. IF prevPh(w) THEN
  133. VowelStart(w/wi2)
  134. ENDIF
  135. FMT(vowel/i)
  136. endphoneme
  137. phoneme O:
  138. vwl starttype #o endtype #o
  139. length 230
  140. ChangeIfDiminished(@)
  141. IfNextVowelAppend(r-)
  142. FMT(vowel/oo_1)
  143. endphoneme
  144. phoneme O@
  145. vwl starttype #o endtype #@
  146. ipa ɔː
  147. length 230
  148. IfNextVowelAppend(r-)
  149. FMT(vowel/oo_1)
  150. endphoneme
  151. phoneme O
  152. vwl starttype #o endtype #o
  153. length 150
  154. ChangeIfDiminished(@)
  155. FMT(vowel/oo_en)
  156. endphoneme
  157. phoneme u:
  158. vwl starttype #u endtype #u
  159. length 190
  160. FMT(vowel/uu#_2)
  161. endphoneme
  162. phoneme aU
  163. vwl starttype #a endtype #u
  164. length 230
  165. FMT(vdiph/au_3)
  166. endphoneme
  167. phoneme oU
  168. vwl starttype #@ endtype #u
  169. ipa əʊ
  170. length 220
  171. FMT(vdiph/@u_2)
  172. endphoneme
  173. phoneme aI
  174. vwl starttype #a endtype #i
  175. length 230
  176. IF nextPh(#a) OR nextPh(#o) THEN
  177. AppendPhoneme(;)
  178. ENDIF
  179. FMT(vdiph/ai_6)
  180. endphoneme
  181. phoneme eI
  182. vwl starttype #i endtype #i
  183. length 220
  184. FMT(vdiph2/ei_2)
  185. endphoneme
  186. phoneme OI
  187. vwl starttype #o endtype #i
  188. length 230
  189. FMT(vdiph/ooi_3)
  190. endphoneme
  191. phoneme e@
  192. vwl starttype #e endtype #@
  193. length 220
  194. IfNextVowelAppend(r-)
  195. FMT(vdiph2/ee@_2)
  196. endphoneme
  197. phoneme i@
  198. vwl starttype #i endtype #@
  199. length 240
  200. IfNextVowelAppend(r-)
  201. FMT(vwl_en_rp/i@)
  202. endphoneme
  203. phoneme i@3
  204. vwl starttype #i endtype #@
  205. length 240
  206. IfNextVowelAppend(r-)
  207. FMT(vwl_en_rp/i@)
  208. endphoneme
  209. phoneme U@
  210. vwl starttype #u endtype #@
  211. ipa ɔː
  212. length 230
  213. IfNextVowelAppend(r-)
  214. FMT(vowel/o_mid)
  215. endphoneme
  216. phoneme aI@
  217. vwl starttype #a endtype #@
  218. length 270
  219. IfNextVowelAppend(r-)
  220. FMT(vwl_en/aI@)
  221. endphoneme
  222. phoneme aI3
  223. vwl starttype #a endtype #@
  224. length 280
  225. ChangePhoneme(aI@)
  226. endphoneme
  227. phoneme aU@
  228. vwl starttype #a endtype #@
  229. length 270
  230. IfNextVowelAppend(r-)
  231. FMT(vwl_en_rp/aU@)
  232. endphoneme
  233. phoneme e# // **E**XPLORE
  234. vwl
  235. ChangePhoneme(I)
  236. endphoneme