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 3.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. //*******************************************************************
  2. // VOWELS
  3. //*******************************************************************
  4. phoneme @ // Schwa
  5. vowel 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. import_phoneme @
  16. endphoneme
  17. phoneme @2 // Schwa, changes to I before a vowel
  18. vowel starttype #@ endtype #@
  19. unstressed
  20. length 120
  21. IF nextPh(isVowel) THEN
  22. ChangePhoneme(I2)
  23. ENDIF
  24. FMT(vowel/@_low)
  25. endphoneme
  26. phoneme @5 // Schwa, changes to U before a vowel
  27. vowel starttype #@ endtype #@
  28. unstressed
  29. length 140
  30. IF nextPh(isVowel) OR nextPh(isPause) THEN
  31. ChangePhoneme(U)
  32. ENDIF
  33. FMT(vowel/@_low)
  34. endphoneme
  35. phoneme a
  36. vowel starttype #a endtype #a
  37. length 175
  38. ChangeIfDiminished(a2)
  39. FMT(vowel/&)
  40. endphoneme
  41. phoneme E
  42. vowel starttype #e endtype #e
  43. length 140
  44. ChangeIfDiminished(I2)
  45. FMT(vowel/e_mid)
  46. endphoneme
  47. phoneme I
  48. vowel starttype #i endtype #i
  49. length 130
  50. IfNextVowelAppend(;)
  51. FMT(vowel/ii)
  52. endphoneme
  53. phoneme I2
  54. vowel starttype #i endtype #i
  55. unstressed
  56. length 130
  57. IfNextVowelAppend(;)
  58. FMT(vowel/ii)
  59. endphoneme
  60. phoneme i // optional variant of [I] for end of words
  61. vowel starttype #i endtype #i
  62. length 140
  63. IfNextVowelAppend(;)
  64. FMT(vowel/ii_final)
  65. endphoneme
  66. phoneme 0
  67. vowel starttype #o endtype #o
  68. length 140
  69. ChangeIfDiminished(@)
  70. FMT(vowel/0_3)
  71. endphoneme
  72. phoneme V
  73. vowel starttype #a endtype #@
  74. length 140
  75. ChangeIfDiminished(@)
  76. FMT(vowel/V_3)
  77. endphoneme
  78. phoneme U
  79. vowel starttype #o endtype #o
  80. length 150
  81. FMT(vowel/o-_3)
  82. endphoneme
  83. phoneme a2
  84. vowel starttype #@ endtype #@
  85. unstressed
  86. length 150
  87. IfNextVowelAppend(r-)
  88. FMT(vowel/@_low)
  89. endphoneme
  90. phoneme A:
  91. vowel starttype #a endtype #a
  92. length 240
  93. IfNextVowelAppend(r-)
  94. FMT(vwl_en_rp/aa)
  95. endphoneme
  96. phoneme A@
  97. vowel starttype #a endtype #a
  98. length 240
  99. IfNextVowelAppend(r-)
  100. FMT(vwl_en_rp/aa)
  101. endphoneme
  102. phoneme aa // 'bath' etc.
  103. vowel starttype #a endtype #a
  104. length 200
  105. FMT(vwl_en_rp/aa)
  106. endphoneme
  107. phoneme 3:
  108. vowel starttype #@ endtype #@
  109. length 210
  110. ChangeIfDiminished(@)
  111. IfNextVowelAppend(r-)
  112. FMT(vowel/3_3)
  113. endphoneme
  114. phoneme i:
  115. vowel starttype #i endtype #i
  116. length 175
  117. IfNextVowelAppend(;)
  118. IF prevPh(w) THEN
  119. VowelStart(w/wi2)
  120. ENDIF
  121. FMT(vowel/i)
  122. endphoneme
  123. phoneme O:
  124. vowel starttype #o endtype #o
  125. length 230
  126. ChangeIfDiminished(@)
  127. IfNextVowelAppend(r-)
  128. FMT(vowel/oo_1)
  129. endphoneme
  130. phoneme O@
  131. vowel starttype #o endtype #@
  132. length 230
  133. IfNextVowelAppend(r-)
  134. FMT(vowel/oo_1)
  135. endphoneme
  136. phoneme O
  137. vowel starttype #o endtype #o
  138. length 150
  139. ChangeIfDiminished(@)
  140. FMT(vowel/oo_en)
  141. endphoneme
  142. phoneme u:
  143. vowel starttype #u endtype #u
  144. length 190
  145. FMT(vowel/u_fnt)
  146. endphoneme
  147. phoneme aU
  148. vowel starttype #a endtype #u
  149. length 230
  150. FMT(vdiph/au_3)
  151. endphoneme
  152. phoneme oU
  153. vowel starttype #@ endtype #u
  154. length 220
  155. FMT(vdiph/@u_2)
  156. endphoneme
  157. phoneme aI
  158. vowel starttype #a endtype #i
  159. length 230
  160. FMT(vdiph/ai_6)
  161. endphoneme
  162. phoneme eI
  163. vowel starttype #i endtype #i
  164. length 210
  165. FMT(vdiph2/ei_2)
  166. endphoneme
  167. phoneme OI
  168. vowel starttype #o endtype #i
  169. length 230
  170. FMT(vdiph/ooi_3)
  171. endphoneme
  172. phoneme e@
  173. vowel starttype #e endtype #@
  174. length 220
  175. IfNextVowelAppend(r-)
  176. FMT(vdiph2/ee@_2)
  177. endphoneme
  178. phoneme i@
  179. vowel starttype #i endtype #@
  180. length 240
  181. IfNextVowelAppend(r-)
  182. FMT(vwl_en_rp/i@)
  183. endphoneme
  184. phoneme U@
  185. vowel starttype #u endtype #@
  186. length 230
  187. IfNextVowelAppend(r-)
  188. FMT(vowel/o_mid)
  189. endphoneme
  190. phoneme aI@
  191. vowel starttype #a endtype #@
  192. length 270
  193. IfNextVowelAppend(r-)
  194. FMT(vwl_en/aI@)
  195. endphoneme
  196. phoneme aU@
  197. vowel starttype #a endtype #@
  198. length 270
  199. IfNextVowelAppend(r-)
  200. FMT(vwl_en_rp/aU@)
  201. endphoneme