ph_tamil 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. // Phonemes for Tamil
  2. // This inherits from ph_hindi
  3. phoneme @
  4. vwl starttype #@ endtype #@
  5. length 130
  6. FMT(vowel/V_2)
  7. endphoneme
  8. phoneme a
  9. vwl starttype #a endtype #a
  10. length 130
  11. ChangeIfNotStressed(V)
  12. FMT(vowel/a)
  13. endphoneme
  14. phoneme V
  15. vwl starttype #@ endtype #@
  16. ipa ʌ
  17. length 130
  18. IF nextPh(isWordEnd) AND nextPh(m) THEN
  19. ChangePhoneme(@)
  20. ENDIF
  21. FMT(vowel/V_3)
  22. endphoneme
  23. phoneme V# // omit if the next phoneme is a vowel
  24. vwl starttype #@ endtype #@
  25. length 130
  26. IF nextPhW(isVowel) OR nextPhW(#) THEN
  27. ChangePhoneme(NULL)
  28. ENDIF
  29. ChangePhoneme(V)
  30. endphoneme
  31. phoneme a:
  32. vwl starttype #a endtype #a
  33. length 300
  34. FMT(vowel/a_5)
  35. endphoneme
  36. phoneme e
  37. vwl starttype #e endtype #e
  38. length 130
  39. FMT(vowel/e)
  40. endphoneme
  41. phoneme e:
  42. vwl starttype #e endtype #e
  43. length 250
  44. FMT(vowel/e)
  45. endphoneme
  46. phoneme i
  47. vwl starttype #i endtype #i
  48. length 130
  49. IF thisPh(isWordEnd) AND thisPh(isNotStressed) THEN
  50. FMT(vowel/ii_5)
  51. ENDIF
  52. FMT(vowel/i_6)
  53. endphoneme
  54. phoneme i:
  55. vwl starttype #i endtype #i
  56. length 270
  57. FMT(vowel/i)
  58. endphoneme
  59. phoneme o
  60. vwl starttype #o endtype #o
  61. length 130
  62. FMT(vowel/o)
  63. endphoneme
  64. phoneme o:
  65. vwl starttype #o endtype #o
  66. length 300
  67. FMT(vowel/o)
  68. endphoneme
  69. phoneme u
  70. vwl starttype #u endtype #u
  71. length 110
  72. ChangeIfNotStressed(U)
  73. FMT(vowel/u_6)
  74. endphoneme
  75. phoneme u2 // as [u] but don't reduce
  76. vwl starttype #u endtype #u
  77. length 110
  78. FMT(vowel/u_6)
  79. endphoneme
  80. phoneme U
  81. vwl starttype #u endtype #u
  82. ipa ʉ
  83. length 110
  84. FMT(vowel/u#_3)
  85. endphoneme
  86. phoneme u:
  87. vwl starttype #u endtype #u
  88. length 280
  89. IF prevPhW(isVelar) THEN
  90. ELSE
  91. ChangeIfNotStressed(U:)
  92. ENDIF
  93. FMT(vowel/u_6)
  94. endphoneme
  95. phoneme U:
  96. vwl starttype #u endtype #u
  97. ipa ʉ
  98. length 270
  99. FMT(vowel/u#_3)
  100. endphoneme
  101. phoneme aI
  102. vwl starttype #a endtype #i
  103. length 280
  104. FMT(vdiph/ai_8)
  105. endphoneme
  106. phoneme aU
  107. vwl starttype #a endtype #u
  108. length 270
  109. FMT(vdiph/au)
  110. endphoneme
  111. phoneme t
  112. import_phoneme base2/t // dental
  113. endphoneme
  114. // ?? This is standard [v]. Should be it [v] without the fricative noise?
  115. phoneme v
  116. import_phoneme base1/v
  117. endphoneme
  118. phoneme : // Lengthen previous vowel by "length"
  119. virtual
  120. length 50
  121. endphoneme
  122. phoneme # // a NULL phoneme for 'virama'
  123. virtual
  124. ChangePhoneme(NULL)
  125. endphoneme
  126. phoneme z.
  127. CALL base1/z.
  128. ipa U+027B
  129. endphoneme
  130. phoneme r
  131. import_phoneme base1/r
  132. endphoneme