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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  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 i // optional variant of [I] for end of words
  59. vwl starttype #i endtype #i
  60. length 150
  61. IfNextVowelAppend(;)
  62. FMT(vowel/i)
  63. endphoneme
  64. phoneme 0
  65. vwl starttype #a endtype #a
  66. length 140
  67. FMT(vowel/aa#)
  68. endphoneme
  69. phoneme V
  70. vwl starttype #o endtype #o
  71. length 140
  72. FMT(vowel/oo_4)
  73. endphoneme
  74. phoneme U
  75. vwl starttype #o endtype #o
  76. length 150
  77. FMT(vowel/uu_bck)
  78. endphoneme
  79. phoneme a#
  80. vwl starttype #@ endtype #@
  81. unstressed
  82. length 140
  83. FMT(vowel/a#)
  84. endphoneme
  85. phoneme A:
  86. vwl starttype #a endtype #@
  87. length 240
  88. FMT(vowel/a_2)
  89. endphoneme
  90. phoneme A@
  91. vwl starttype #a endtype #@
  92. length 260
  93. IfNextVowelAppend(r-)
  94. FMT(vowel/a_2)
  95. endphoneme
  96. phoneme aa // 'bath' etc.
  97. vwl starttype #a endtype #a
  98. length 210
  99. FMT(vowel/a_2)
  100. endphoneme
  101. phoneme 3:
  102. vwl starttype #o endtype #o
  103. length 240
  104. IfNextVowelAppend(r-)
  105. FMT(vowel/oo_4)
  106. endphoneme
  107. phoneme i:
  108. vwl starttype #i endtype #i
  109. length 190
  110. IfNextVowelAppend(;)
  111. FMT(vowel/i_fnt)
  112. endphoneme
  113. phoneme O:
  114. vwl starttype #o endtype #o
  115. length 240
  116. FMT(vowel/oo)
  117. endphoneme
  118. phoneme O@
  119. vwl starttype #o endtype #@
  120. length 240
  121. IfNextVowelAppend(r-)
  122. FMT(vowel/oo)
  123. endphoneme
  124. phoneme o@
  125. vwl starttype #o endtype #@
  126. length 240
  127. IfNextVowelAppend(r-)
  128. FMT(vdiph2/o_oo)
  129. endphoneme
  130. phoneme O
  131. vwl starttype #o endtype #o
  132. length 150
  133. FMT(vowel/oo)
  134. endphoneme
  135. phoneme u:
  136. vwl starttype #u endtype #u
  137. length 190
  138. FMT(vowel/u)
  139. endphoneme
  140. phoneme aU
  141. vwl starttype #a endtype #u
  142. length 230
  143. FMT(vdiph/aau_2)
  144. endphoneme
  145. phoneme oU
  146. vwl starttype #o endtype #o
  147. length 230
  148. FMT(vowel/o)
  149. endphoneme
  150. phoneme aI
  151. vwl starttype #a endtype #i
  152. length 230
  153. FMT(vdiph/ai)
  154. endphoneme
  155. phoneme eI
  156. vwl starttype #i endtype #i
  157. length 210
  158. FMT(vowel/e)
  159. endphoneme
  160. phoneme OI
  161. vwl starttype #o endtype #i
  162. length 230
  163. FMT(vdiph/0i_2)
  164. endphoneme
  165. phoneme e@
  166. vwl starttype #e endtype #@
  167. length 220
  168. IfNextVowelAppend(r-)
  169. FMT(vdiph2/e@)
  170. endphoneme
  171. phoneme i@
  172. vwl starttype #i endtype #a
  173. length 240
  174. IfNextVowelAppend(r-)
  175. FMT(vdiph2/ie)
  176. endphoneme
  177. phoneme i@3
  178. vwl starttype #i endtype #a
  179. length 240
  180. IfNextVowelAppend(r-)
  181. FMT(vdiph2/ie)
  182. endphoneme
  183. phoneme l
  184. import_phoneme base1/l // use clear [l] before not-vowel
  185. endphoneme