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

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