ph_dutch 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297
  1. //=========================================================
  2. // Dutch
  3. //=========================================================
  4. // Vowels
  5. //=======
  6. phoneme @ // Schwa
  7. vwl starttype #@ endtype #@
  8. unstressed
  9. length 125
  10. FMT(vowel/@_4)
  11. endphoneme
  12. phoneme i
  13. vwl starttype #i endtype #i
  14. length 130
  15. FMT(vowel/i_2)
  16. endphoneme
  17. phoneme I
  18. vwl starttype #i endtype #i
  19. length 130
  20. FMT(vowel/ii)
  21. endphoneme
  22. phoneme y
  23. vwl starttype #u endtype #u
  24. length 180
  25. FMT(vowel/y)
  26. endphoneme
  27. phoneme 8
  28. vwl starttype #u endtype #u
  29. length 140
  30. FMT(vowel/y#)
  31. endphoneme
  32. phoneme u
  33. vwl starttype #u endtype #u
  34. length 150
  35. FMT(vowel/u_bck)
  36. endphoneme
  37. phoneme E
  38. vwl starttype #e endtype #e
  39. length 140
  40. FMT(vowel/e_mid2)
  41. endphoneme
  42. phoneme E2 // as[E] but reduces to @ if unstressed
  43. vwl starttype #e endtype #e
  44. length 140
  45. ChangeIfDiminished(@)
  46. FMT(vowel/ee_2)
  47. endphoneme
  48. phoneme O
  49. vwl starttype #o endtype #o
  50. length 140
  51. FMT(vowel/o_6)
  52. endphoneme
  53. phoneme O: // for "oor"
  54. vwl starttype #o endtype #o
  55. length 210
  56. FMT(vowel/o_6)
  57. endphoneme
  58. phoneme a:
  59. vwl starttype #a endtype #a
  60. length 210
  61. IF thisPh(isUnstressed) THEN
  62. IF thisPh(isWordEnd) THEN
  63. FMT(vowel/a#_2)
  64. ELSE
  65. FMT(vowel/a#_4)
  66. ENDIF
  67. ENDIF
  68. FMT(vowel/a)
  69. endphoneme
  70. phoneme a // ?? suggested by aegis, but seems too short
  71. vwl starttype #a endtype #a
  72. length 150
  73. FMT(vowel/a_2)
  74. endphoneme
  75. phoneme A
  76. vwl starttype #a endtype #a
  77. length 150
  78. IF thisPh(isUnstressed) THEN
  79. FMT(vowel/a#_2)
  80. ENDIF
  81. FMT(vowel/aa_8)
  82. endphoneme
  83. phoneme A~
  84. import_phoneme fr/A~
  85. endphoneme
  86. phoneme O~
  87. vwl starttype #o endtype #o
  88. length 190
  89. FMT(vnasal/oo_n2)
  90. endphoneme
  91. // Diphthongs
  92. //===========
  93. phoneme e:
  94. vwl starttype #e endtype #i
  95. length 190
  96. FMT(vdiph/ei)
  97. endphoneme
  98. phoneme e# // as [e:] but change to [@] in unstressed syllables
  99. vwl starttype #e endtype #i
  100. length 190
  101. ChangeIfUnstressed(@)
  102. ChangePhoneme(e:)
  103. endphoneme
  104. phoneme Y:
  105. vwl starttype #@ endtype #@
  106. length 220
  107. FMT(vdiph/y#y_3)
  108. endphoneme
  109. phoneme o:
  110. vwl starttype #o endtype #u
  111. length 150
  112. FMT(vdiph/ou_4)
  113. endphoneme
  114. phoneme EI
  115. vwl starttype #a endtype #i
  116. length 210
  117. FMT(vdiph/eei)
  118. endphoneme
  119. phoneme Wy
  120. vwl starttype #@ endtype #u
  121. length 220
  122. FMT(vdiph/&y)
  123. endphoneme
  124. phoneme VU
  125. vwl starttype #a endtype #o
  126. length 220
  127. FMT(vdiph/aau_2)
  128. endphoneme
  129. phoneme eU
  130. vwl starttype #e endtype #u
  131. length 220
  132. FMT(vdiph/eu)
  133. endphoneme
  134. phoneme yU
  135. vwl starttype #u endtype #u
  136. length 220
  137. FMT(vdiph2/yu)
  138. endphoneme
  139. // CONSONANTS
  140. //===========
  141. phoneme r
  142. import_phoneme base1/R2
  143. endphoneme
  144. phoneme Q
  145. vcd vel frc
  146. lengthmod 6
  147. voicingswitch x
  148. Vowelin f1=2 f2=2300 200 300 f3=-300 80
  149. Vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
  150. IF prevPhW(x) THEN
  151. ChangePhoneme(NULL)
  152. ENDIF
  153. IF nextPhW(isVoiced) THEN
  154. ELSE
  155. ChangePhoneme(x)
  156. ENDIF
  157. IF nextPh(isPause2) THEN
  158. FMT(voc/Q_) addWav(vocw/Q_)
  159. ENDIF
  160. FMT(voc/Q_less) addWav(vocw/Q2, 140)
  161. endphoneme
  162. phoneme ! // Short pause, replaces assimilated t,d,p,b at end of word
  163. pause
  164. ipa NULL
  165. starttype _ endtype _
  166. lengthmod 1
  167. length 25
  168. endphoneme
  169. phoneme k
  170. import_phoneme consonants/k- // unaspirated
  171. endphoneme
  172. phoneme t
  173. IF thisPh(isWordEnd) THEN
  174. IF nextPh(t) OR nextPh(d) THEN
  175. ChangePhoneme(!)
  176. ENDIF
  177. ENDIF
  178. CALL consonants/t-
  179. endphoneme
  180. phoneme d
  181. IF thisPh(isWordEnd) THEN
  182. IF nextPh(t) OR nextPh(d) THEN
  183. ChangePhoneme(!)
  184. ENDIF
  185. ENDIF
  186. IF prevPh(!) THEN // previous was [t] or [d], now assimilated
  187. ChangePhoneme(t)
  188. ENDIF
  189. CALL base1/d
  190. endphoneme
  191. phoneme p
  192. IF thisPh(isWordEnd) THEN
  193. IF nextPh(p) OR nextPh(b) THEN
  194. ChangePhoneme(!)
  195. ENDIF
  196. ENDIF
  197. CALL consonants/p- // unaspirated
  198. endphoneme
  199. phoneme b
  200. IF thisPh(isWordEnd) THEN
  201. IF nextPh(p) OR nextPh(b) THEN
  202. ChangePhoneme(!)
  203. ENDIF
  204. ENDIF
  205. IF prevPh(!) THEN // previous was [p] or [b], now assimilated
  206. ChangePhoneme(p)
  207. ENDIF
  208. CALL base1/b
  209. endphoneme
  210. phoneme s
  211. IF thisPh(isWordEnd) THEN
  212. IF nextPh(s) OR nextPh(z) THEN
  213. ChangePhoneme(!)
  214. ENDIF
  215. ENDIF
  216. CALL base1/s
  217. endphoneme
  218. phoneme z
  219. IF thisPh(isWordEnd) THEN
  220. IF nextPh(s) OR nextPh(z) THEN
  221. ChangePhoneme(!)
  222. ENDIF
  223. ENDIF
  224. IF prevPh(!) THEN // previous was [s] or [z], now assimilated
  225. ChangePhoneme(s)
  226. ENDIF
  227. CALL base1/z
  228. endphoneme
  229. phoneme l
  230. import_phoneme en/l
  231. endphoneme
  232. phoneme x
  233. import_phoneme af/x2
  234. endphoneme