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 1.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. .replace
  2. // turn x into cs, both because that’s how it’s pronounced
  3. // (strictly speaking only in some Quenya, but let’s do it here too)
  4. // and to free up x as a single letter for ch (see immediately below)
  5. x cs
  6. // turn ch, dh, th into single consonants for stress purposes
  7. ch x
  8. dh ð
  9. th þ
  10. .group a
  11. a a
  12. // light penultimate syllable: put stress on antepenultimate
  13. a (AX =a
  14. a (CAX =a
  15. .group á
  16. á a:
  17. .group b
  18. b b
  19. .group c
  20. c k
  21. // recall that ch was replaced with x earlier
  22. .group x
  23. x x
  24. .group d
  25. d d
  26. // recall that dh was replaced with ð earlier
  27. .group ð
  28. ð D
  29. .group e
  30. e e
  31. // light penultimate syllable: put stress on antepenultimate
  32. e (AX =e
  33. e (CAX =e
  34. .group é
  35. é e:
  36. .group f
  37. f f
  38. f (_ v
  39. .group g
  40. g g
  41. .group h
  42. h h
  43. // TODO hw
  44. .group i
  45. i i
  46. _) i (A j
  47. // light penultimate syllable: put stress on antepenultimate
  48. i (AX =i
  49. i (CAX =i
  50. // (unless initial)
  51. _) i (AX j
  52. .group í
  53. í i:
  54. // j and k do not occur in Sindarin
  55. .group l
  56. l l
  57. // TODO lh
  58. .group m
  59. m m
  60. .group n
  61. n n
  62. .group ng
  63. ng Ng
  64. ng (_ N
  65. .group o
  66. o o
  67. // light penultimate syllable: put stress on antepenultimate
  68. o (AX =o
  69. o (CAX =o
  70. .group ó
  71. ó o:
  72. .group p
  73. p p
  74. .group ph
  75. ph f
  76. // q does not occur in Sindarin
  77. .group r
  78. r R
  79. // TODO rh
  80. .group s
  81. s s
  82. .group t
  83. t t
  84. // recall that th was replaced with þ earlier
  85. .group þ
  86. þ T
  87. .group ty
  88. ty tj
  89. .group u
  90. u u
  91. // light penultimate syllable: put stress on antepenultimate
  92. u (AX =u
  93. u (CAX =u
  94. .group ú
  95. ú u:
  96. .group v
  97. v v
  98. .group w
  99. w w
  100. // recall that x was replaced with cs earlier
  101. .group y
  102. y y
  103. // light penultimate syllable: put stress on antepenultimate
  104. y (AX =y
  105. y (CAX =y
  106. .group ý
  107. ý y:
  108. // z does not occur in Sindarin