Pull Request Opened #github

espeak-ng@groups.io Integration <espeak-ng@...>

[espeak-ng/espeak-ng] Pull request opened by lucaswerkmeister:

#981 Add Tolkien’s Elvish languages

This adds support for Quenya and Sindarin, the two main Elvish languages invented by J. R . R. Tolkien, to eSpeak NG. (He also developed several other languages to various degrees of completion, but I reckon Quenya and Sindarin are the only ones worth adding to eSpeak NG.) Spelling and stress for both languages are fairly regular, and I hope to have represented them with fair accuracy; in particular, the tests in tests/language-pronunciation.test include all the test cases of my Tolkien Stress Analyser (test source), to ensure accurate positioning of the primary stress. (I’m letting eSpeak NG determine the secondary stress automatically – i.e., espeak-ng-data/lang/art/qya and /sjn don’t define the S_NO_AUTO_2 flag – and so far I’ve been happy with the results.)

The main source for the pronunciation rules is Appendix E of The Lord of the Rings (the only online copy I’ve found so far is this PDF, starting on page 82); the Ambar Eldaron Quenya Dictionary and the Omikhleia Sindarin Dictionary have also been very useful (though the latter pronounces ⟨i⟩ in the texts as /i/, whereas I believe it should be /ɪ/). Some other resources, and various other notes, are included in the commit messages.

I only have one TODO left that I haven’t been able to fully resolve: the sequence ⟨rh⟩ (Sindarin) or ⟨hr⟩ (Quenya) is supposed to represent “a voiceless _r_” according to Appendix E, which I believe means the voiceless alveolar trill, IPA /r̥/. I was unable to find a way to make espeak-ng --ipa print that character while retaining the correct sound (see commit a39b6b70792b4c8bb4a3467464c9519aa3dc7484), so for now the IPA output for that is /hr/.

I’m hoping you’ll consider merging this (since I noticed there’s already at least one fictional language, Klingon, in the art family), but I won’t mind if you decline it either. (I was hoping to compile this into a website in order to offer online Elvish text-to-speech, for which I don’t really need this to be merged; however, I can’t get the emscripten build to work at the moment.)