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

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