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
Also, inherit the Elvish phonemes from Latin, because Esperanto doesn’t
have /y/. (Quenya doesn’t need that – ⟨y⟩ is a consonant there – so
maybe I’ll separate their phonemes at some point. For now, Latin works
well enough for both as far as I can tell.)
This prepares the languages of Quenya and Sindarin, setting up their
infrastructure without declaring a lot of rules yet – just enough for
“Eä” (a Quenya word, but I can’t think of a similarly simple one for
Sindarin). Phonemes are inherited from Esperanto for now.
Add English pronounciation of "Krzysztof" to en_dict
This commit adds the usual English pronunciation of my name to the English dictionary.
We could, alternatively, add the native pronunciation, `kS'I2StOf` (or the closest approximation to it I could get out of the English synthesizer), but I'm not sure what the policy on that sort of thing is within the project.
Some words have been added to the dictionary for street language. But Espeak really mispronounced them.
I removed the mispronounced words.
And I wrote a better pronunciation rule for the following words:
* bağışlamak ba:@@Sla'mak
* bağışlayın ba:@@S'laj@n
These words should be lengthened by 1.5 in the first letter "i", in a subtle tone. (letter "ğ" is the reason for this. Normally there is no such rule.)
Previously, the letter "ı" (305) here was ignored.
Although the street language for Turkish looks like this, it is not. Since we have a dynamic language, it is not possible to implement all of them.
Therefore, I request you to accept these changes.
The tests were done on Windows. Pronunciations improved.
cmn now handles all latin characters as English.
The old functionality of assuming latin characters are pinyin can be
achieved with new language cmn-Latn-pinyin.
cmn: use voiceless uvular fricative as pronounciation of pinyin h
According to [1] and [2] , the pronounciation of the pinyin character
h is not accurately [x].
According to [2], [χ] is instead a possible pronounication in young
users.
As a young native speaker of Mandarin, I feel the sound of [χ] in espeak
more satisfied than [x] here.
[1] https://en.wikipedia.org/wiki/Standard_Chinese_phonology
[2] https://phesoca.com/aws/268/
Signed-off-by: Icenowy Zheng <[email protected]>