mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-05 06:45:39 +00:00
The Elvish languages have the same general stress rule as Latin [1]: stress falls on the penultimate syllable if that is heavy (contains a long vowel, a diphthong, or a vowel followed by two or more consonants), otherwise on the antepenultimate syllable. For Latin, espeak-ng implements this by declaring “penultimate syllable” as the general stress rule in espeak-ng-data/, and then adding rules in dictsource/ that match light syllables and move the primary stress to the previous syllable, i.e. the antepenultimate one. We use the same basic principle for the Elvish languages here (but using the terms “heavy” and “light” rather than “weak” and “strong” like in the Latin files). Note that this doesn’t fully implement the stress rules yet: we have no concept of diphthongs, long vowels aren’t really properly handled yet, and we also still count ⟨ch⟩, ⟨dh⟩, ⟨th⟩ as two consonants rather than one as it should be. This will be improved separately (I prefer doing this in small incremental steps). [1]: https://menegroth.github.io/stress-in-sindarin.html
108 lines
993 B
Plaintext
108 lines
993 B
Plaintext
.group a
|
|
a a
|
|
// light penultimate syllable: put stress on antepenultimate
|
|
a (AX =a
|
|
a (CAX =a
|
|
|
|
.group b
|
|
b b
|
|
|
|
.group c
|
|
c k
|
|
|
|
.group ch
|
|
ch x
|
|
|
|
.group d
|
|
d d
|
|
|
|
.group dh
|
|
dh D
|
|
|
|
.group e
|
|
e e
|
|
// light penultimate syllable: put stress on antepenultimate
|
|
e (AX =e
|
|
e (CAX =e
|
|
|
|
.group f
|
|
f f
|
|
f (_ v
|
|
|
|
.group g
|
|
g g
|
|
|
|
.group h
|
|
h h
|
|
// TODO ht, hl, hr, hw, hy
|
|
|
|
.group i
|
|
i i
|
|
// light penultimate syllable: put stress on antepenultimate
|
|
i (AX =i
|
|
i (CAX =i
|
|
|
|
// j and k do not occur in Quenya
|
|
|
|
.group l
|
|
l l
|
|
|
|
.group m
|
|
m m
|
|
|
|
.group n
|
|
n n
|
|
|
|
.group ng
|
|
ng Ng
|
|
ng (_ N
|
|
|
|
.group o
|
|
o o
|
|
// light penultimate syllable: put stress on antepenultimate
|
|
o (AX =o
|
|
o (CAX =o
|
|
|
|
.group p
|
|
p p
|
|
|
|
.group ph
|
|
ph f
|
|
|
|
.group qu
|
|
qu kw
|
|
|
|
.group r
|
|
r R
|
|
|
|
.group s
|
|
s s
|
|
|
|
.group t
|
|
t t
|
|
|
|
.group th
|
|
th T
|
|
|
|
.group ty
|
|
ty tj
|
|
|
|
.group u
|
|
u u
|
|
// light penultimate syllable: put stress on antepenultimate
|
|
u (AX =u
|
|
u (CAX =u
|
|
|
|
.group v
|
|
v v
|
|
|
|
.group w
|
|
w w
|
|
|
|
// x does not occur in Quenya
|
|
|
|
.group y
|
|
y j
|
|
|
|
// z does not occur in Quenya
|