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.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  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 b
  16. b b
  17. .group c
  18. c k
  19. // recall that ch was replaced with x earlier
  20. .group x
  21. x x
  22. .group d
  23. d d
  24. // recall that dh was replaced with ð earlier
  25. .group ð
  26. ð D
  27. .group e
  28. e e
  29. // light penultimate syllable: put stress on antepenultimate
  30. e (AX =e
  31. e (CAX =e
  32. .group f
  33. f f
  34. f (_ v
  35. .group g
  36. g g
  37. .group h
  38. h h
  39. // TODO hw
  40. .group i
  41. i i
  42. _) i (A j
  43. // light penultimate syllable: put stress on antepenultimate
  44. i (AX =i
  45. i (CAX =i
  46. // (unless initial)
  47. _) i (AX j
  48. // j and k do not occur in Sindarin
  49. .group l
  50. l l
  51. // TODO lh
  52. .group m
  53. m m
  54. .group n
  55. n n
  56. .group ng
  57. ng Ng
  58. ng (_ N
  59. .group o
  60. o o
  61. // light penultimate syllable: put stress on antepenultimate
  62. o (AX =o
  63. o (CAX =o
  64. .group p
  65. p p
  66. .group ph
  67. ph f
  68. // q does not occur in Sindarin
  69. .group r
  70. r R
  71. // TODO rh
  72. .group s
  73. s s
  74. .group t
  75. t t
  76. // recall that th was replaced with þ earlier
  77. .group þ
  78. þ T
  79. .group ty
  80. ty tj
  81. .group u
  82. u u
  83. // light penultimate syllable: put stress on antepenultimate
  84. u (AX =u
  85. u (CAX =u
  86. .group v
  87. v v
  88. .group w
  89. w w
  90. // recall that x was replaced with cs earlier
  91. .group y
  92. y y
  93. // light penultimate syllable: put stress on antepenultimate
  94. y (AX =y
  95. y (CAX =y
  96. // z does not occur in Sindarin