ph_basque 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. //====================================================
  2. // Basque - based on Base2
  3. //====================================================
  4. phoneme a
  5. vwl starttype #a endtype #a
  6. length 200
  7. FMT(vowel/a_4)
  8. endphoneme
  9. phoneme a2 // delete if the next vowel is 'a'. Used for numbers.
  10. vwl starttype #a endtype #a
  11. length 200
  12. IF nextPh(#a) THEN
  13. ChangePhoneme(NULL) // merge consecutive 'a'
  14. ENDIF
  15. FMT(vowel/a_4)
  16. endphoneme
  17. phoneme e
  18. vwl starttype #e endtype #e
  19. length 200
  20. FMT(vowel/e_mid2)
  21. endphoneme
  22. phoneme i
  23. vwl starttype #i endtype #i
  24. length 190
  25. IfNextVowelAppend(;)
  26. FMT(vowel/i)
  27. endphoneme
  28. phoneme o
  29. vwl starttype #o endtype #o
  30. length 200
  31. FMT(vowel/oo)
  32. endphoneme
  33. phoneme u
  34. vwl starttype #u endtype #u
  35. length 200
  36. FMT(vowel/u_bck2)
  37. endphoneme
  38. phoneme Y
  39. vwl starttype #@ endtype #@
  40. length 200
  41. FMT(vowel/y#)
  42. endphoneme
  43. phoneme s
  44. CALL es/s
  45. ipa s̺
  46. endphoneme
  47. phoneme z
  48. vls alv frc sib
  49. ipa s̻
  50. lengthmod 3
  51. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  52. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  53. IF nextPh(isPause) THEN
  54. WAV(ufric/z_eu, 60)
  55. ENDIF
  56. WAV(ufric/z_eu, 90)
  57. endphoneme
  58. phoneme ts
  59. vls alv afr sib
  60. ipa ts̺
  61. lengthmod 2
  62. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  63. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  64. IF nextPh(isPause2) THEN
  65. WAV(ufric/ts_eu, 60)
  66. ENDIF
  67. WAV(ufric/ts_eu, 90)
  68. endphoneme
  69. phoneme tz
  70. vls alv afr sib
  71. ipa ts̻
  72. lengthmod 2
  73. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  74. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  75. IF nextPh(isPause2) THEN
  76. WAV(ufric/tz_eu, 90)
  77. ENDIF
  78. WAV(ufric/tz_eu, 60)
  79. endphoneme
  80. phoneme t
  81. vls dnt stp
  82. lengthmod 2
  83. CALL base2/t
  84. endphoneme
  85. phoneme r
  86. vcd alv flp rhotic
  87. brkafter
  88. ipa ɾ
  89. lengthmod 3
  90. IF nextPhW(isVowel) THEN
  91. ChangePhoneme(**)
  92. ENDIF
  93. CALL base1/*
  94. endphoneme
  95. phoneme b
  96. import_phoneme es/b
  97. endphoneme
  98. phoneme d
  99. import_phoneme es/d
  100. endphoneme
  101. phoneme g
  102. import_phoneme es/g
  103. endphoneme
  104. phoneme n
  105. vcd alv nas
  106. lengthmod 4
  107. IF prevPhW(#i) AND nextPhW(isVowel) THEN
  108. ChangePhoneme(n^)
  109. ENDIF
  110. CALL base1/n
  111. endphoneme
  112. phoneme n2 // doesn't palatalise, used for exceptions
  113. vcd alv nas
  114. lengthmod 4
  115. CALL base1/n
  116. endphoneme
  117. phoneme l
  118. liquid
  119. IF prevPhW(#i) AND nextPhW(isVowel) THEN
  120. ChangePhoneme(l^)
  121. ENDIF
  122. CALL base1/l
  123. endphoneme
  124. phoneme l2 // same as n2
  125. liquid
  126. CALL base1/l
  127. endphoneme