mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-01 21:58:52 +00:00
Long vowels, marked with an acute accent or a circumflex, are longer than short vowels (duh) and always make a heavy syllable (i.e. we don’t include the rules to move stress to the previous syllable). In Quenya, ⟨é⟩ and ⟨ó⟩ are “tenser and ‘closer’” than the short vowels, according to Appendix E of The Lord of the Rings, while in Sindarin they’re supposed to be the same; the phonemes we inherit from Latin seem to reproduce this reasonably well for Quenya, and for now we use them for Sindarin too, which works nicely for the most common Sindarin word with a long o, “Lothlórien” (because Lórien is actually a Quenya name, and therefore I assume *that* ⟨ó⟩ should actually be /o/ and not /ɔ/). I might adjust the phonemes later (at which point Lothlórien will presumably have to go in sjn_list).
146 lines
1.7 KiB
Plaintext
146 lines
1.7 KiB
Plaintext
.replace
|
||
// turn x into cs, both because that’s how it’s pronounced
|
||
// (strictly speaking only in some Quenya, but let’s do it here too)
|
||
// and to free up x as a single letter for ch (see immediately below)
|
||
x cs
|
||
// turn ch, dh, th into single consonants for stress purposes
|
||
ch x
|
||
dh ð
|
||
th þ
|
||
|
||
.group a
|
||
a a
|
||
// light penultimate syllable: put stress on antepenultimate
|
||
a (AX =a
|
||
a (CAX =a
|
||
|
||
.group á
|
||
á a:
|
||
|
||
.group b
|
||
b b
|
||
|
||
.group c
|
||
c k
|
||
// recall that ch was replaced with x earlier
|
||
|
||
.group x
|
||
x x
|
||
|
||
.group d
|
||
d d
|
||
// recall that dh was replaced with ð earlier
|
||
|
||
.group ð
|
||
ð D
|
||
|
||
.group e
|
||
e e
|
||
// light penultimate syllable: put stress on antepenultimate
|
||
e (AX =e
|
||
e (CAX =e
|
||
|
||
.group é
|
||
é e:
|
||
|
||
.group f
|
||
f f
|
||
f (_ v
|
||
|
||
.group g
|
||
g g
|
||
|
||
.group h
|
||
h h
|
||
// TODO hw
|
||
|
||
.group i
|
||
i i
|
||
_) i (A j
|
||
// light penultimate syllable: put stress on antepenultimate
|
||
i (AX =i
|
||
i (CAX =i
|
||
// (unless initial)
|
||
_) i (AX j
|
||
|
||
.group í
|
||
í i:
|
||
|
||
// j and k do not occur in Sindarin
|
||
|
||
.group l
|
||
l l
|
||
// TODO lh
|
||
|
||
.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 ó
|
||
ó o:
|
||
|
||
.group p
|
||
p p
|
||
|
||
.group ph
|
||
ph f
|
||
|
||
// q does not occur in Sindarin
|
||
|
||
.group r
|
||
r R
|
||
// TODO rh
|
||
|
||
.group s
|
||
s s
|
||
|
||
.group t
|
||
t t
|
||
// recall that th was replaced with þ earlier
|
||
|
||
.group þ
|
||
þ T
|
||
|
||
.group ty
|
||
ty tj
|
||
|
||
.group u
|
||
u u
|
||
// light penultimate syllable: put stress on antepenultimate
|
||
u (AX =u
|
||
u (CAX =u
|
||
|
||
.group ú
|
||
ú u:
|
||
|
||
.group v
|
||
v v
|
||
|
||
.group w
|
||
w w
|
||
|
||
// recall that x was replaced with cs earlier
|
||
|
||
.group y
|
||
y y
|
||
// light penultimate syllable: put stress on antepenultimate
|
||
y (AX =y
|
||
y (CAX =y
|
||
|
||
.group ý
|
||
ý y:
|
||
|
||
// z does not occur in Sindarin
|