ph_irish 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. // Irish Phonemes
  2. //Please contact espeak.gaeilge@gmail.com
  3. // Version 2.8 2013
  4. // short vowels
  5. phoneme @ // Schwa, but always unstressed
  6. vwl starttype #@ endtype #@
  7. unstressed
  8. length 110
  9. IF nextPh(i:) THEN
  10. length 80
  11. FMT(vwl_af/r@)
  12. ENDIF
  13. IF nextPh(I) THEN
  14. length 80
  15. FMT(vwl_af/r@)
  16. ENDIF
  17. IF nextPh(e:) THEN
  18. length 80
  19. FMT(vwl_af/r@)
  20. ENDIF
  21. IF prevPh(i:) THEN
  22. length 60
  23. FMT(vwl_af/r@)
  24. ENDIF
  25. FMT(vwl_af/@)
  26. endphoneme
  27. phoneme @/
  28. vwl starttype #@ endtype #@
  29. length 130
  30. FMT(vowel/@)
  31. endphoneme
  32. phoneme a
  33. vwl starttype #a endtype #a
  34. length 165
  35. FMT(vowel/a_4)
  36. endphoneme
  37. phoneme a#
  38. vwl starttype #@ endtype #@
  39. ipa ɐ
  40. length 130
  41. ChangeIfStressed(a)
  42. FMT(vowel/a#_3)
  43. endphoneme
  44. phoneme E
  45. vwl starttype #e endtype #e
  46. length 155
  47. FMT(vowel/e_mid)
  48. endphoneme
  49. phoneme E#
  50. vwl starttype #@ endtype #@
  51. length 130
  52. ChangeIfStressed(E)
  53. ChangePhoneme(@/)
  54. endphoneme
  55. phoneme I
  56. vwl starttype #i endtype #i
  57. length 130
  58. FMT(vowel/ii_2)
  59. endphoneme
  60. phoneme i // non syllabic i for end of words
  61. vwl starttype #i endtype #i
  62. unstressed
  63. ipa iU+032F
  64. length 45
  65. FMT(vowel/ii_7)
  66. endphoneme
  67. phoneme O
  68. vwl starttype #a endtype #@
  69. length 155
  70. FMT(vowel/V_4)
  71. endphoneme
  72. phoneme O#
  73. vwl starttype #@ endtype #@
  74. length 130
  75. ChangeIfStressed(O)
  76. ChangePhoneme(a#)
  77. endphoneme
  78. phoneme U
  79. vwl starttype #u endtype #u
  80. length 155
  81. FMT(vowel/uu)
  82. endphoneme
  83. phoneme U#
  84. vwl starttype #@ endtype #@
  85. length 130
  86. ChangeIfStressed(U)
  87. ChangePhoneme(@/)
  88. endphoneme
  89. phoneme u1
  90. vwl starttype #u endtype #u
  91. ipa uU+0306
  92. length 55
  93. FMT(vowel/u)
  94. endphoneme
  95. phoneme 0
  96. vwl starttype #a endtype #a
  97. length 195
  98. ipa A
  99. FMT(vowel/aa_8)
  100. endphoneme
  101. phoneme 0#
  102. vwl starttype #@ endtype #@
  103. length 130
  104. ChangeIfStressed(0)
  105. ChangePhoneme(a#)
  106. endphoneme
  107. phoneme o:
  108. vwl starttype #o endtype #o
  109. length 210
  110. FMT(vowel/o)
  111. endphoneme
  112. // long vowels
  113. phoneme A:
  114. vwl starttype #a endtype #a
  115. length 220
  116. FMT(vowel/aa_2)
  117. endphoneme
  118. phoneme e:
  119. vwl starttype #e endtype #e
  120. length 230
  121. FMT(vowel/e)
  122. endphoneme
  123. phoneme i:
  124. vwl starttype #i endtype #i
  125. length 230
  126. FMT(vowel/i)
  127. endphoneme
  128. phoneme u:
  129. vwl starttype #u endtype #u
  130. length 230
  131. FMT(vowel/u_bck)
  132. endphoneme
  133. // Diphthongs
  134. phoneme @U
  135. vwl starttype #@ endtype #u
  136. length 260
  137. FMT(vdiph/@u_3)
  138. endphoneme
  139. phoneme i@
  140. vwl starttype #i endtype #@
  141. length 260
  142. FMT(vdiph2/i@)
  143. endphoneme
  144. phoneme u@
  145. vwl starttype #u endtype #@
  146. length 260
  147. FMT(vdiph2/u@)
  148. endphoneme
  149. phoneme aI
  150. vwl starttype #a endtype #i
  151. length 275
  152. FMT(vdiph/ai)
  153. endphoneme
  154. phoneme aI#
  155. vwl starttype #@ endtype #@
  156. length 130
  157. ChangeIfStressed(aI)
  158. ChangePhoneme(a#)
  159. endphoneme
  160. phoneme aU
  161. vwl starttype #a endtype #u
  162. length 300
  163. FMT(vdiph/au_4)
  164. endphoneme
  165. phoneme aU#
  166. vwl starttype #@ endtype #@
  167. length 130
  168. ChangeIfStressed(aU)
  169. FMT(vdiph/au_4)
  170. endphoneme
  171. phoneme ; // linking j, used between (i) vowels and a following vowel
  172. // also to palatalize consonants
  173. liquid pzd
  174. lengthmod 0
  175. IF prevPh(#i) THEN
  176. ipa NULL // linking after i vowel, don't show in ipa
  177. ENDIF
  178. NextVowelStarts
  179. VowelStart(j2/j2@)
  180. VowelStart(j2/j2a)
  181. VowelStart(j2/j2e)
  182. VowelStart(j2/j2i)
  183. VowelStart(j2/j2o)
  184. VowelStart(j2/j2u)
  185. EndSwitch
  186. IF prevPh(#i) THEN
  187. VowelEnding(j2/xj2, -40)
  188. ENDIF
  189. IF prevPh(isPause) THEN
  190. FMT(j2/_j2)
  191. ENDIF
  192. endphoneme
  193. phoneme eI
  194. import_phoneme en/eI
  195. endphoneme