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

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