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_wi 3.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. //*******************************************************************
  2. // VOWELS
  3. //*******************************************************************
  4. phoneme @ // Schwa
  5. vwl starttype #@ endtype #@
  6. unstressed
  7. length 140
  8. IfNextVowelAppend(r-)
  9. FMT(vowel/@_fnt)
  10. endphoneme
  11. phoneme @2 // Schwa, changes to I before a vowel
  12. vwl starttype #@ endtype #@
  13. unstressed
  14. length 120
  15. IF nextPh(isVowel) THEN
  16. ChangePhoneme(I2)
  17. ENDIF
  18. FMT(vowel/@_fnt)
  19. endphoneme
  20. phoneme a
  21. vwl starttype #a endtype #a
  22. length 160
  23. FMT(vowel/a_2)
  24. endphoneme
  25. phoneme E
  26. vwl starttype #e endtype #e
  27. length 170
  28. IF nextPhW(n) THEN
  29. ChangeIfDiminished(@)
  30. ELSE
  31. ChangeIfDiminished(I2)
  32. ENDIF
  33. FMT(vowel/e)
  34. endphoneme
  35. phoneme I
  36. vwl starttype #i endtype #i
  37. length 140
  38. IfNextVowelAppend(;)
  39. FMT(vowel/ii_6)
  40. endphoneme
  41. phoneme I2
  42. vwl starttype #i endtype #i
  43. unstressed
  44. length 140
  45. IfNextVowelAppend(;)
  46. FMT(vowel/ii_6)
  47. endphoneme
  48. phoneme I# // used for [I] which may be [@] in some accents
  49. vwl starttype #i endtype #i
  50. unstressed
  51. length 130
  52. IF MbrolaSynth THEN
  53. ChangePhoneme(I)
  54. ENDIF
  55. IfNextVowelAppend(;)
  56. ChangePhoneme(I2)
  57. endphoneme
  58. phoneme I2# // used for [I] in -ed adjectives which may be [E] in some accents
  59. vwl starttype #@ endtype #@
  60. unstressed
  61. IfNextVowelAppend(;)
  62. ChangePhoneme(E)
  63. endphoneme
  64. phoneme i // optional variant of [I] for end of words
  65. vwl starttype #i endtype #i
  66. length 150
  67. IfNextVowelAppend(;)
  68. FMT(vowel/i)
  69. endphoneme
  70. phoneme 0
  71. vwl starttype #a endtype #a
  72. length 140
  73. FMT(vowel/aa#)
  74. endphoneme
  75. phoneme V
  76. vwl starttype #o endtype #o
  77. length 140
  78. FMT(vowel/oo_4)
  79. endphoneme
  80. phoneme U
  81. vwl starttype #o endtype #o
  82. length 150
  83. FMT(vowel/uu_bck)
  84. endphoneme
  85. phoneme a#
  86. vwl starttype #@ endtype #@
  87. unstressed
  88. length 140
  89. FMT(vowel/a#)
  90. endphoneme
  91. phoneme A:
  92. vwl starttype #a endtype #@
  93. length 240
  94. FMT(vowel/a_2)
  95. endphoneme
  96. phoneme A@
  97. vwl starttype #a endtype #@
  98. length 260
  99. IfNextVowelAppend(r-)
  100. FMT(vowel/a_2)
  101. endphoneme
  102. phoneme aa // 'bath' etc.
  103. vwl starttype #a endtype #a
  104. length 210
  105. FMT(vowel/a_2)
  106. endphoneme
  107. phoneme 3:
  108. vwl starttype #o endtype #o
  109. length 240
  110. IfNextVowelAppend(r-)
  111. FMT(vowel/oo_4)
  112. endphoneme
  113. phoneme i:
  114. vwl starttype #i endtype #i
  115. length 190
  116. IfNextVowelAppend(;)
  117. FMT(vowel/i_fnt)
  118. endphoneme
  119. phoneme O:
  120. vwl starttype #o endtype #o
  121. length 240
  122. FMT(vowel/oo)
  123. endphoneme
  124. phoneme O@
  125. vwl starttype #o endtype #@
  126. length 240
  127. IfNextVowelAppend(r-)
  128. FMT(vowel/oo)
  129. endphoneme
  130. phoneme o@
  131. vwl starttype #o endtype #@
  132. length 240
  133. IfNextVowelAppend(r-)
  134. FMT(vdiph2/o_oo)
  135. endphoneme
  136. phoneme O
  137. vwl starttype #o endtype #o
  138. length 150
  139. FMT(vowel/oo)
  140. endphoneme
  141. phoneme u:
  142. vwl starttype #u endtype #u
  143. length 190
  144. FMT(vowel/u)
  145. endphoneme
  146. phoneme aU
  147. vwl starttype #a endtype #u
  148. length 230
  149. FMT(vdiph/aau_2)
  150. endphoneme
  151. phoneme oU
  152. vwl starttype #o endtype #o
  153. length 230
  154. FMT(vowel/o)
  155. endphoneme
  156. phoneme aI
  157. vwl starttype #a endtype #i
  158. length 230
  159. FMT(vdiph/ai)
  160. endphoneme
  161. phoneme eI
  162. vwl starttype #i endtype #i
  163. length 210
  164. FMT(vowel/e)
  165. endphoneme
  166. phoneme OI
  167. vwl starttype #o endtype #i
  168. length 230
  169. FMT(vdiph/0i_2)
  170. endphoneme
  171. phoneme e@
  172. vwl starttype #e endtype #@
  173. length 220
  174. IfNextVowelAppend(r-)
  175. FMT(vdiph2/e@)
  176. endphoneme
  177. phoneme i@
  178. vwl starttype #i endtype #a
  179. length 240
  180. IfNextVowelAppend(r-)
  181. FMT(vdiph2/ie)
  182. endphoneme
  183. phoneme i@3
  184. vwl starttype #i endtype #a
  185. length 240
  186. IfNextVowelAppend(r-)
  187. FMT(vdiph2/ie)
  188. endphoneme
  189. phoneme l
  190. import_phoneme base1/l // use clear [l] before not-vowel
  191. endphoneme