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.

sjn_rules 2.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. // syllable nuclei: vowels (any length) and diphthongs
  2. .L01 i e a o u y í é á ó ú ý î ê â ô û ŷ ae ai ei oe ui au
  3. .replace
  4. // turn x into cs, both because that’s how it’s pronounced
  5. // (strictly speaking only in some Quenya, but let’s do it here too)
  6. // and to free up x as a single letter for ch (see immediately below)
  7. x cs
  8. // turn ch, dh, th into single consonants for stress purposes
  9. ch x
  10. dh ð
  11. th þ
  12. .group a
  13. a a
  14. ae (+ aE
  15. ai (+ aI
  16. au (+ aU
  17. // light penultimate syllable: put stress on antepenultimate
  18. a (L01X =a
  19. a (CL01X =a
  20. .group á
  21. á a:
  22. .group â
  23. â a::
  24. .group b
  25. b b
  26. bb b:
  27. .group c
  28. c k
  29. cc c:
  30. // recall that ch was replaced with x earlier
  31. .group x
  32. x X
  33. .group d
  34. d d
  35. dd d:
  36. // recall that dh was replaced with ð earlier
  37. .group ð
  38. ð D
  39. .group e
  40. e E
  41. ei (+ EI
  42. // light penultimate syllable: put stress on antepenultimate
  43. e (L01X =E
  44. e (CL01X =E
  45. .group é
  46. é E:
  47. .group ê
  48. ê E::
  49. .group f
  50. f f
  51. f (_ v
  52. .group g
  53. g g
  54. gg g:
  55. .group h
  56. h h
  57. hw w#
  58. .group i
  59. i I
  60. _) i (A+ j
  61. // light penultimate syllable: put stress on antepenultimate
  62. i (L01X =I
  63. i (CL01X =I
  64. .group í
  65. í i:
  66. .group î
  67. î i::
  68. // j and k do not occur in Sindarin
  69. .group l
  70. l l
  71. lh l#
  72. .group m
  73. m m
  74. .group n
  75. n n
  76. .group ng
  77. ng Ng
  78. ng (_ N
  79. .group o
  80. o O
  81. oe (+ OI
  82. // light penultimate syllable: put stress on antepenultimate
  83. o (L01X =O
  84. o (CL01X =O
  85. .group ó
  86. ó O:
  87. .group ô
  88. ô O::
  89. .group p
  90. p p
  91. pp p:
  92. .group ph
  93. ph f
  94. A) ph (A f:
  95. // q does not occur in Sindarin
  96. .group r
  97. r R
  98. rh hR
  99. .group s
  100. s s
  101. .group t
  102. t t
  103. tt t:
  104. // recall that th was replaced with þ earlier
  105. .group þ
  106. þ T
  107. .group ty
  108. ty tj
  109. .group u
  110. u u
  111. ui (+ uI
  112. // light penultimate syllable: put stress on antepenultimate
  113. u (L01X =u
  114. u (CL01X =u
  115. .group û
  116. û u::
  117. .group ú
  118. ú u:
  119. .group v
  120. v v
  121. .group w
  122. w w
  123. // recall that x was replaced with cs earlier
  124. .group y
  125. y y
  126. // light penultimate syllable: put stress on antepenultimate
  127. y (L01X =y
  128. y (CL01X =y
  129. .group ý
  130. ý y:
  131. .group ŷ
  132. ŷ y::
  133. // z does not occur in Sindarin