From beeac74300fbe7ac1269cc24bb941ee76f056ad5 Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Wed, 23 Jun 2021 22:45:42 +0200 Subject: [PATCH 01/34] Initial setup for Elvish languages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- Makefile.am | 8 ++++++++ dictsource/qya_list | 0 dictsource/qya_rules | 5 +++++ dictsource/sjn_list | 0 dictsource/sjn_rules | 5 +++++ espeak-ng-data/lang/art/qya | 2 ++ espeak-ng-data/lang/art/sjn | 2 ++ phsource/phonemes | 4 ++++ 8 files changed, 26 insertions(+) create mode 100644 dictsource/qya_list create mode 100644 dictsource/qya_rules create mode 100644 dictsource/sjn_list create mode 100644 dictsource/sjn_rules create mode 100644 espeak-ng-data/lang/art/qya create mode 100644 espeak-ng-data/lang/art/sjn diff --git a/Makefile.am b/Makefile.am index 825d0a1e..87cbadff 100644 --- a/Makefile.am +++ b/Makefile.am @@ -589,11 +589,13 @@ dictionaries: \ espeak-ng-data/qdb_dict \ espeak-ng-data/qu_dict \ espeak-ng-data/quc_dict \ + espeak-ng-data/qya_dict \ espeak-ng-data/ro_dict \ espeak-ng-data/ru_dict \ espeak-ng-data/sd_dict \ espeak-ng-data/shn_dict \ espeak-ng-data/si_dict \ + espeak-ng-data/sjn_dict \ espeak-ng-data/sk_dict \ espeak-ng-data/sl_dict \ espeak-ng-data/smj_dict \ @@ -861,6 +863,9 @@ espeak-ng-data/qu_dict: dictsource/qu_list dictsource/qu_rules dictsource/qu_ext quc: espeak-ng-data/quc_dict espeak-ng-data/quc_dict: dictsource/quc_list dictsource/quc_rules dictsource/quc_extra dictsource/quc_emoji +qya: espeak-ng-data/qya_dict +espeak-ng-data/qya_dict: dictsource/qya_list dictsource/qya_rules + ro: espeak-ng-data/ro_dict espeak-ng-data/ro_dict: dictsource/ro_list dictsource/ro_rules dictsource/ro_extra dictsource/ro_emoji @@ -882,6 +887,9 @@ espeak-ng-data/shn_dict: dictsource/shn_list dictsource/shn_rules dictsource/shn si: espeak-ng-data/si_dict espeak-ng-data/si_dict: dictsource/si_list dictsource/si_rules dictsource/si_extra dictsource/si_emoji +sjn: espeak-ng-data/sjn_dict +espeak-ng-data/sjn_dict: dictsource/sjn_list dictsource/sjn_rules + sk: espeak-ng-data/sk_dict espeak-ng-data/sk_dict: dictsource/sk_list dictsource/sk_rules dictsource/sk_extra dictsource/sk_emoji diff --git a/dictsource/qya_list b/dictsource/qya_list new file mode 100644 index 00000000..e69de29b diff --git a/dictsource/qya_rules b/dictsource/qya_rules new file mode 100644 index 00000000..e16dd2b9 --- /dev/null +++ b/dictsource/qya_rules @@ -0,0 +1,5 @@ +.group a + a a + +.group e + e e diff --git a/dictsource/sjn_list b/dictsource/sjn_list new file mode 100644 index 00000000..e69de29b diff --git a/dictsource/sjn_rules b/dictsource/sjn_rules new file mode 100644 index 00000000..e16dd2b9 --- /dev/null +++ b/dictsource/sjn_rules @@ -0,0 +1,5 @@ +.group a + a a + +.group e + e e diff --git a/espeak-ng-data/lang/art/qya b/espeak-ng-data/lang/art/qya new file mode 100644 index 00000000..22b178a4 --- /dev/null +++ b/espeak-ng-data/lang/art/qya @@ -0,0 +1,2 @@ +name Quenya +language qya diff --git a/espeak-ng-data/lang/art/sjn b/espeak-ng-data/lang/art/sjn new file mode 100644 index 00000000..02a587ee --- /dev/null +++ b/espeak-ng-data/lang/art/sjn @@ -0,0 +1,2 @@ +name Sindarin +language sjn diff --git a/phsource/phonemes b/phsource/phonemes index 377f39b7..90452174 100644 --- a/phsource/phonemes +++ b/phsource/phonemes @@ -1920,6 +1920,10 @@ include ph_lojban phonemetable py eo include ph_pyash +phonemetable qya eo + +phonemetable sjn qya + phonemetable es-la es include ph_spanish_la From a1c79f4c72839ef4c110f0eb9695a29bb7f8ce75 Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Fri, 25 Jun 2021 21:16:50 +0200 Subject: [PATCH 02/34] Add basic Sindarin rules MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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.) --- dictsource/sjn_rules | 89 ++++++++++++++++++++++++++++++++++++++++++++ phsource/phonemes | 2 +- 2 files changed, 90 insertions(+), 1 deletion(-) diff --git a/dictsource/sjn_rules b/dictsource/sjn_rules index e16dd2b9..bb56caf2 100644 --- a/dictsource/sjn_rules +++ b/dictsource/sjn_rules @@ -1,5 +1,94 @@ .group a a 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 + +.group f + f f + f (_ v + +.group g + g g + +.group h + h h + // TODO hw + +.group i + i i + i (A j + +// 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 + +.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 + +.group th + th T + +.group ty + ty tj + +.group u + u u + +.group v + v v + +.group w + w w + +// x does not occur in Sindarin + +.group y + y y + +// z does not occur in Sindarin diff --git a/phsource/phonemes b/phsource/phonemes index 90452174..d64bf982 100644 --- a/phsource/phonemes +++ b/phsource/phonemes @@ -1920,7 +1920,7 @@ include ph_lojban phonemetable py eo include ph_pyash -phonemetable qya eo +phonemetable qya la phonemetable sjn qya From b892a8b8c3169ddfb62fe51201b722e6f5414773 Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Fri, 25 Jun 2021 21:47:29 +0200 Subject: [PATCH 03/34] Add basic Quenya rules MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Copied from Sindarin with only a few changes so far: initial ⟨i⟩ is not special, ⟨qu⟩ exists, and ⟨y⟩ is a consonant. --- dictsource/qya_rules | 87 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) diff --git a/dictsource/qya_rules b/dictsource/qya_rules index e16dd2b9..93db9149 100644 --- a/dictsource/qya_rules +++ b/dictsource/qya_rules @@ -1,5 +1,92 @@ .group a a 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 + +.group f + f f + f (_ v + +.group g + g g + +.group h + h h + // TODO ht, hl, hr, hw, hy + +.group i + i 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 + +.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 + +.group v + v v + +.group w + w w + +// x does not occur in Quenya + +.group y + y j + +// z does not occur in Quenya From 74985f570f5c389d02c350c3a8029b5c583407a2 Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Sun, 27 Jun 2021 15:24:42 +0200 Subject: [PATCH 04/34] =?UTF-8?q?Fix=20rule=20for=20Sindarin=20initial=20?= =?UTF-8?q?=E2=9F=A8i=E2=9F=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sindarin ⟨i⟩ is only pronounced like ⟨j⟩ before another vowel and *at the beginning of a word*. “Galadriel” does not have a /j/ sound. --- dictsource/sjn_rules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dictsource/sjn_rules b/dictsource/sjn_rules index bb56caf2..3771ea41 100644 --- a/dictsource/sjn_rules +++ b/dictsource/sjn_rules @@ -32,7 +32,7 @@ .group i i i - i (A j + _) i (A j // j and k do not occur in Sindarin From 3fa62f0ee3e952548e7024e20fde9e58435e8257 Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Sun, 27 Jun 2021 16:00:00 +0200 Subject: [PATCH 05/34] Add basic stress rules for Quenya and Sindarin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- dictsource/qya_rules | 15 +++++++++++++++ dictsource/sjn_rules | 20 ++++++++++++++++++++ espeak-ng-data/lang/art/qya | 2 ++ espeak-ng-data/lang/art/sjn | 2 ++ 4 files changed, 39 insertions(+) diff --git a/dictsource/qya_rules b/dictsource/qya_rules index 93db9149..8fe97970 100644 --- a/dictsource/qya_rules +++ b/dictsource/qya_rules @@ -1,5 +1,8 @@ .group a a a + // light penultimate syllable: put stress on antepenultimate + a (AX =a + a (CAX =a .group b b b @@ -18,6 +21,9 @@ .group e e e + // light penultimate syllable: put stress on antepenultimate + e (AX =e + e (CAX =e .group f f f @@ -32,6 +38,9 @@ .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 @@ -50,6 +59,9 @@ .group o o o + // light penultimate syllable: put stress on antepenultimate + o (AX =o + o (CAX =o .group p p p @@ -77,6 +89,9 @@ .group u u u + // light penultimate syllable: put stress on antepenultimate + u (AX =u + u (CAX =u .group v v v diff --git a/dictsource/sjn_rules b/dictsource/sjn_rules index 3771ea41..9dd836d3 100644 --- a/dictsource/sjn_rules +++ b/dictsource/sjn_rules @@ -1,5 +1,8 @@ .group a a a + // light penultimate syllable: put stress on antepenultimate + a (AX =a + a (CAX =a .group b b b @@ -18,6 +21,9 @@ .group e e e + // light penultimate syllable: put stress on antepenultimate + e (AX =e + e (CAX =e .group f f f @@ -33,6 +39,11 @@ .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 // j and k do not occur in Sindarin @@ -52,6 +63,9 @@ .group o o o + // light penultimate syllable: put stress on antepenultimate + o (AX =o + o (CAX =o .group p p p @@ -79,6 +93,9 @@ .group u u u + // light penultimate syllable: put stress on antepenultimate + u (AX =u + u (CAX =u .group v v v @@ -90,5 +107,8 @@ .group y y y + // light penultimate syllable: put stress on antepenultimate + y (AX =y + y (CAX =y // z does not occur in Sindarin diff --git a/espeak-ng-data/lang/art/qya b/espeak-ng-data/lang/art/qya index 22b178a4..2b515813 100644 --- a/espeak-ng-data/lang/art/qya +++ b/espeak-ng-data/lang/art/qya @@ -1,2 +1,4 @@ name Quenya language qya +stressRule 2 +// rule=penultimate, with qya_rules for light penultimate syllables to move primary stress to the preceding (antepenultimate) syllable diff --git a/espeak-ng-data/lang/art/sjn b/espeak-ng-data/lang/art/sjn index 02a587ee..f927bc93 100644 --- a/espeak-ng-data/lang/art/sjn +++ b/espeak-ng-data/lang/art/sjn @@ -1,2 +1,4 @@ name Sindarin language sjn +stressRule 2 +// rule=penultimate, with sjn_rules for light penultimate syllables to move primary stress to the preceding (antepenultimate) syllable From 35defe2c77e1415dac0b4ce126960589b3b3089c Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Sun, 27 Jun 2021 16:10:53 +0200 Subject: [PATCH 06/34] Add first tests for Elvish languages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This consists of the test cases from my Tolkien Stress Analyser [1], minus the ones that aren’t properly handled yet for various reasons. I expect to add more words here with most future commits for Elvish languages. [1]: https://github.com/lucaswerkmeister/tolkien-stress/blob/gh-pages/test/index.test.mjs --- tests/language-pronunciation.test | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/language-pronunciation.test b/tests/language-pronunciation.test index 5309a3ef..aedc9959 100755 --- a/tests/language-pronunciation.test +++ b/tests/language-pronunciation.test @@ -186,6 +186,7 @@ S'a 'OksidU p'or- z'&~Ng&U~_:_: ,E*&U~ p,&l'avR&Z dU p,u*@-tug'es#" "Luís argüia à Júlia que «brações, fé, chá, óxido, pôr, zângão» eram palavras do português." "Latn" +test_phon qya ",ainul'indal,e ald'iNga ank'alim,a ,eaR'endil el'endil el'essaR e'onwe eR'esse,a is'ilduR 'oRom,e tuR'ambaR ut'umno" "Ainulindalë aldinga ancalima Eärendil Elendil Elessar Eönwe Eressëa Isildur Orome Turambar Utumno" "Quenya" test_phon ro "m,uzikol'og@_! yn b'eZ v'ynd wh'iski Si tekw'ila p@-*'ets f'iks" "Muzicologă în bej vând whisky și tequila, preț fix." "Latn" test_phon ru "Syr'okVja E#l;ikt@-r;if;ik'Atsyja 'juZnyx gub;'ern;ij d'Ast m'oS;nyj tVltS;'ok pVdj'8mu s;'elskVvV xVz;'Ajstva#" "Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства." "Cyrl" @@ -193,6 +194,7 @@ test_phon sd "s'Indhi b'o:li; 'Ind.o: jo:R'Vpi xa:nd'a:n s'a~: t[a:l'Vq R,@k#@nd J'Vnhn t['e: ,aRb'i: bo:l'i:;a J'o: b'I t[@m'a:m v'Vd.o: as'VR ,a:he: h'Ina v'aqt s'Indhi b'o:li s'Indh J'e: m'Vk# b'o:li_! 'ae~ d,@f@t['VRi z@b'a:n ,a:he:" "سنڌي ٻولي انڊو يورپي خاندان سان تعلق رکندڙ آريائي ٻولي آھي، جنھن تي عربي ٻوليءَ جو بہ تمام وڏو اثر آهي. هن وقت سنڌي ٻولي سنڌ جي مک ٻولي ۽ دفتري زبان آھي." "Arab" test_phon si "t'aw@t st#'a:n@ k'i:p@j,@kin w'a:rta: w'u: s'ul.u p'ipiri:m s'ah@ d'e:s@p,a:l@n@ p'akS@ k r'ija:k,a:ri:n 'at@r@ '&tiwu: g'&t.um h'e:tuwen 'ek 'ajeku m'ij@gos k'i:p@ d'eneku t'uwa:l@ l'aba: t'ibe:" "තවත් ස්ථාන කීපයකින් වාර්තා වූ සුළු පිපිරීම් සහ දේශපාලන පක්ෂ ක්‍රියාකාරීන් අතර ඇතිවූ ගැටුම් හේතුවෙන් එක් අයෙකු මියගොස් කීප දෙනෙකු තුවාල ලබා තිබේ." "Sinh" +test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn bel'eRi;,and b'oRom,iR bRag'ollax bR'eTil bRiT'ombaR kaR'aDRas dR'eNgist ekT'eli;,on 'emyn eR'i;ad,oR f'ean,oR f'iNgon fiNg'olfin fin'aRfin gal'adRi;,el gR'ond j'aRwa,in j'oReT iT'ili;,en miTR'andiR moR'annon m'oRi;,a osg'ili;,aT pal'antiR pel'ennoR p,eRi;'annaT sil'ivRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Beleriand Boromir Bragollach Brethil Brithombar Caradhras Drengist Ecthelion Emyn Eriador Fëanor Fingon Fingolfin Finarfin Galadriel Grond Iarwain Ioreth Ithilien Mithrandir Morannon Moria Osgiliath Palantír Pelennor Periannath Silivren Thorondor" "Sindarin" test_phon sk "k'r:d;el^ St;'astni:Q d;'atl^ow 'utSi: pR'i;u:st;i: v'a:hu m'l:kveho k'on^a 'ophRi:zat; k'uoRu_:_: a ZR'at; tS'eRstve: m'eso p'et;ti:Zdn^,ove: v'l:tSata: n'eRvo:zn^e St;'ekaju: n'amu,ojho d;'atl^a_! v_ t'r:n^i:" "Kŕdeľ šťastných ďatľov učí pri ústí Váhu mĺkveho koňa obhrýzať kôru a žrať čerstvé mäso. Päťtýždňové vĺčatá nervózne štekajú na môjho ďatľa v tŕní." "Latn" test_phon sl "xiSn'i:tSin bR'a:tEts uzg'a:ja p'o:wZE p'o:t fik'u:sOm" "Hišničin bratec vzgaja polže pod fikusom." "Latn" From d201e17418274c6deae0b2261940d38a634aebc4 Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Sun, 27 Jun 2021 17:17:48 +0200 Subject: [PATCH 07/34] =?UTF-8?q?Fix=20stress=20of=20Elvish=20=E2=9F=A8ch?= =?UTF-8?q?=E2=9F=A9,=20=E2=9F=A8dh=E2=9F=A9,=20=E2=9F=A8th=E2=9F=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In Elvish languages, ⟨ch⟩, ⟨dh⟩, and ⟨th⟩ count as single consonants for the purposes of stress, since they represent single letters in the original scripts. The easiest way to implement this is to replace them with single letters at the beginning – ⟨ð⟩ for ⟨dh⟩ and ⟨þ⟩ for ⟨th⟩ are natural, and ⟨x⟩ for ⟨ch⟩ also makes some sense, though it means we need to replace real ⟨x⟩ first (it’s not mentioned in Appendix E of The Lord of the Rings, but does occur in some Quenya words, notably Helcaraxë). Real ⟨x⟩ is pronounced like /ks/, but of course we need to spell that as ⟨cs⟩, since ⟨k⟩ does not occur in Elvish languages. --- dictsource/qya_rules | 26 +++++++++++++++++++------- dictsource/sjn_rules | 27 ++++++++++++++++++++------- tests/language-pronunciation.test | 4 ++-- 3 files changed, 41 insertions(+), 16 deletions(-) diff --git a/dictsource/qya_rules b/dictsource/qya_rules index 8fe97970..698383f4 100644 --- a/dictsource/qya_rules +++ b/dictsource/qya_rules @@ -1,3 +1,12 @@ +.replace + // turn x into cs, both because that’s how it’s pronounced + // 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 @@ -9,15 +18,17 @@ .group c c k + // recall that ch was replaced with x earlier -.group ch - ch x +.group x + x x .group d d d + // recall that dh was replaced with ð earlier -.group dh - dh D +.group ð + ð D .group e e e @@ -80,9 +91,10 @@ .group t t t + // recall that th was replaced with þ earlier -.group th - th T +.group þ + þ T .group ty ty tj @@ -99,7 +111,7 @@ .group w w w -// x does not occur in Quenya +// recall that x was replaced with cs earlier .group y y j diff --git a/dictsource/sjn_rules b/dictsource/sjn_rules index 9dd836d3..282947c7 100644 --- a/dictsource/sjn_rules +++ b/dictsource/sjn_rules @@ -1,3 +1,13 @@ +.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 @@ -9,15 +19,17 @@ .group c c k + // recall that ch was replaced with x earlier -.group ch - ch x +.group x + x x .group d d d + // recall that dh was replaced with ð earlier -.group dh - dh D +.group ð + ð D .group e e e @@ -84,9 +96,10 @@ .group t t t + // recall that th was replaced with þ earlier -.group th - th T +.group þ + þ T .group ty ty tj @@ -103,7 +116,7 @@ .group w w w -// x does not occur in Sindarin +// recall that x was replaced with cs earlier .group y y y diff --git a/tests/language-pronunciation.test b/tests/language-pronunciation.test index aedc9959..3ffead1a 100755 --- a/tests/language-pronunciation.test +++ b/tests/language-pronunciation.test @@ -186,7 +186,7 @@ S'a 'OksidU p'or- z'&~Ng&U~_:_: ,E*&U~ p,&l'avR&Z dU p,u*@-tug'es#" "Luís argüia à Júlia que «brações, fé, chá, óxido, pôr, zângão» eram palavras do português." "Latn" -test_phon qya ",ainul'indal,e ald'iNga ank'alim,a ,eaR'endil el'endil el'essaR e'onwe eR'esse,a is'ilduR 'oRom,e tuR'ambaR ut'umno" "Ainulindalë aldinga ancalima Eärendil Elendil Elessar Eönwe Eressëa Isildur Orome Turambar Utumno" "Quenya" +test_phon qya ",ainul'indal,e ald'iNga ank'alim,a ,eaR'endil el'endil el'essaR e'onwe eR'esse,a h,elkaR'akse is'ilduR 'oRom,e tuR'ambaR ut'umno" "Ainulindalë aldinga ancalima Eärendil Elendil Elessar Eönwe Eressëa Helcaraxë Isildur Orome Turambar Utumno" "Quenya" test_phon ro "m,uzikol'og@_! yn b'eZ v'ynd wh'iski Si tekw'ila p@-*'ets f'iks" "Muzicologă în bej vând whisky și tequila, preț fix." "Latn" test_phon ru "Syr'okVja E#l;ikt@-r;if;ik'Atsyja 'juZnyx gub;'ern;ij d'Ast m'oS;nyj tVltS;'ok pVdj'8mu s;'elskVvV xVz;'Ajstva#" "Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства." "Cyrl" @@ -194,7 +194,7 @@ test_phon sd "s'Indhi b'o:li; 'Ind.o: jo:R'Vpi xa:nd'a:n s'a~: t[a:l'Vq R,@k#@nd J'Vnhn t['e: ,aRb'i: bo:l'i:;a J'o: b'I t[@m'a:m v'Vd.o: as'VR ,a:he: h'Ina v'aqt s'Indhi b'o:li s'Indh J'e: m'Vk# b'o:li_! 'ae~ d,@f@t['VRi z@b'a:n ,a:he:" "سنڌي ٻولي انڊو يورپي خاندان سان تعلق رکندڙ آريائي ٻولي آھي، جنھن تي عربي ٻوليءَ جو بہ تمام وڏو اثر آهي. هن وقت سنڌي ٻولي سنڌ جي مک ٻولي ۽ دفتري زبان آھي." "Arab" test_phon si "t'aw@t st#'a:n@ k'i:p@j,@kin w'a:rta: w'u: s'ul.u p'ipiri:m s'ah@ d'e:s@p,a:l@n@ p'akS@ k r'ija:k,a:ri:n 'at@r@ '&tiwu: g'&t.um h'e:tuwen 'ek 'ajeku m'ij@gos k'i:p@ d'eneku t'uwa:l@ l'aba: t'ibe:" "තවත් ස්ථාන කීපයකින් වාර්තා වූ සුළු පිපිරීම් සහ දේශපාලන පක්ෂ ක්‍රියාකාරීන් අතර ඇතිවූ ගැටුම් හේතුවෙන් එක් අයෙකු මියගොස් කීප දෙනෙකු තුවාල ලබා තිබේ." "Sinh" -test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn bel'eRi;,and b'oRom,iR bRag'ollax bR'eTil bRiT'ombaR kaR'aDRas dR'eNgist ekT'eli;,on 'emyn eR'i;ad,oR f'ean,oR f'iNgon fiNg'olfin fin'aRfin gal'adRi;,el gR'ond j'aRwa,in j'oReT iT'ili;,en miTR'andiR moR'annon m'oRi;,a osg'ili;,aT pal'antiR pel'ennoR p,eRi;'annaT sil'ivRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Beleriand Boromir Bragollach Brethil Brithombar Caradhras Drengist Ecthelion Emyn Eriador Fëanor Fingon Fingolfin Finarfin Galadriel Grond Iarwain Ioreth Ithilien Mithrandir Morannon Moria Osgiliath Palantír Pelennor Periannath Silivren Thorondor" "Sindarin" +test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn bel'eRi;,and b'oRom,iR bRag'ollax bR'eTil bRiT'ombaR kaR'aDRas d'eneT,oR dR'eNgist ekT'eli;,on 'emyn eR'i;ad,oR f'ean,oR f'iNgon fiNg'olfin fin'aRfin f'oRox,el g'alaD,on gal'adRi;,el gR'ond j'aRwa,in j'oReT iT'ili;,en miTR'andiR moR'annon m'oRi;,a osg'ili;,aT pal'antiR pel'ennoR p,eRi;'annaT sil'ivRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Beleriand Boromir Bragollach Brethil Brithombar Caradhras Denethor Drengist Ecthelion Emyn Eriador Fëanor Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Iarwain Ioreth Ithilien Mithrandir Morannon Moria Osgiliath Palantír Pelennor Periannath Silivren Thorondor" "Sindarin" test_phon sk "k'r:d;el^ St;'astni:Q d;'atl^ow 'utSi: pR'i;u:st;i: v'a:hu m'l:kveho k'on^a 'ophRi:zat; k'uoRu_:_: a ZR'at; tS'eRstve: m'eso p'et;ti:Zdn^,ove: v'l:tSata: n'eRvo:zn^e St;'ekaju: n'amu,ojho d;'atl^a_! v_ t'r:n^i:" "Kŕdeľ šťastných ďatľov učí pri ústí Váhu mĺkveho koňa obhrýzať kôru a žrať čerstvé mäso. Päťtýždňové vĺčatá nervózne štekajú na môjho ďatľa v tŕní." "Latn" test_phon sl "xiSn'i:tSin bR'a:tEts uzg'a:ja p'o:wZE p'o:t fik'u:sOm" "Hišničin bratec vzgaja polže pod fikusom." "Latn" From db971c820153d4ae62e0e2a96dab65c3f3ff1ecc Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Sun, 27 Jun 2021 18:45:21 +0200 Subject: [PATCH 08/34] Fix long vowels in Elvish languages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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). --- dictsource/qya_rules | 15 +++++++++++++++ dictsource/sjn_rules | 18 ++++++++++++++++++ tests/language-pronunciation.test | 4 ++-- 3 files changed, 35 insertions(+), 2 deletions(-) diff --git a/dictsource/qya_rules b/dictsource/qya_rules index 698383f4..c2547e35 100644 --- a/dictsource/qya_rules +++ b/dictsource/qya_rules @@ -13,6 +13,9 @@ a (AX =a a (CAX =a +.group á + á a: + .group b b b @@ -36,6 +39,9 @@ e (AX =e e (CAX =e +.group é + é e: + .group f f f f (_ v @@ -53,6 +59,9 @@ i (AX =i i (CAX =i +.group í + í i: + // j and k do not occur in Quenya .group l @@ -74,6 +83,9 @@ o (AX =o o (CAX =o +.group ó + ó o: + .group p p p @@ -105,6 +117,9 @@ u (AX =u u (CAX =u +.group ú + ú u: + .group v v v diff --git a/dictsource/sjn_rules b/dictsource/sjn_rules index 282947c7..d383fa7f 100644 --- a/dictsource/sjn_rules +++ b/dictsource/sjn_rules @@ -14,6 +14,9 @@ a (AX =a a (CAX =a +.group á + á a: + .group b b b @@ -37,6 +40,9 @@ e (AX =e e (CAX =e +.group é + é e: + .group f f f f (_ v @@ -57,6 +63,9 @@ // (unless initial) _) i (AX j +.group í + í i: + // j and k do not occur in Sindarin .group l @@ -79,6 +88,9 @@ o (AX =o o (CAX =o +.group ó + ó o: + .group p p p @@ -110,6 +122,9 @@ u (AX =u u (CAX =u +.group ú + ú u: + .group v v v @@ -124,4 +139,7 @@ y (AX =y y (CAX =y +.group ý + ý y: + // z does not occur in Sindarin diff --git a/tests/language-pronunciation.test b/tests/language-pronunciation.test index 3ffead1a..561dce51 100755 --- a/tests/language-pronunciation.test +++ b/tests/language-pronunciation.test @@ -186,7 +186,7 @@ S'a 'OksidU p'or- z'&~Ng&U~_:_: ,E*&U~ p,&l'avR&Z dU p,u*@-tug'es#" "Luís argüia à Júlia que «brações, fé, chá, óxido, pôr, zângão» eram palavras do português." "Latn" -test_phon qya ",ainul'indal,e ald'iNga ank'alim,a ,eaR'endil el'endil el'essaR e'onwe eR'esse,a h,elkaR'akse is'ilduR 'oRom,e tuR'ambaR ut'umno" "Ainulindalë aldinga ancalima Eärendil Elendil Elessar Eönwe Eressëa Helcaraxë Isildur Orome Turambar Utumno" "Quenya" +test_phon qya ",ainul'indal,e ald'iNga ank'alim,a and'u:Ril k,uivi;'e:nen ,eaR'endil el'endil ,elent'a:Ri; el'essaR e'onwe eR'esse,a h,elkaR'akse is'ilduR nam'a:Ri;,e n,u:men'o:Re 'oRom,e pel'o:Ri tuR'ambaR und'o:mi;,el ut'umno" "Ainulindalë aldinga ancalima Andúril Cuiviénen Eärendil Elendil Elentári Elessar Eönwe Eressëa Helcaraxë Isildur Namárië Númenórë Orome Pelóri Turambar Undómiel Utumno" "Quenya" test_phon ro "m,uzikol'og@_! yn b'eZ v'ynd wh'iski Si tekw'ila p@-*'ets f'iks" "Muzicologă în bej vând whisky și tequila, preț fix." "Latn" test_phon ru "Syr'okVja E#l;ikt@-r;if;ik'Atsyja 'juZnyx gub;'ern;ij d'Ast m'oS;nyj tVltS;'ok pVdj'8mu s;'elskVvV xVz;'Ajstva#" "Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства." "Cyrl" @@ -194,7 +194,7 @@ test_phon sd "s'Indhi b'o:li; 'Ind.o: jo:R'Vpi xa:nd'a:n s'a~: t[a:l'Vq R,@k#@nd J'Vnhn t['e: ,aRb'i: bo:l'i:;a J'o: b'I t[@m'a:m v'Vd.o: as'VR ,a:he: h'Ina v'aqt s'Indhi b'o:li s'Indh J'e: m'Vk# b'o:li_! 'ae~ d,@f@t['VRi z@b'a:n ,a:he:" "سنڌي ٻولي انڊو يورپي خاندان سان تعلق رکندڙ آريائي ٻولي آھي، جنھن تي عربي ٻوليءَ جو بہ تمام وڏو اثر آهي. هن وقت سنڌي ٻولي سنڌ جي مک ٻولي ۽ دفتري زبان آھي." "Arab" test_phon si "t'aw@t st#'a:n@ k'i:p@j,@kin w'a:rta: w'u: s'ul.u p'ipiri:m s'ah@ d'e:s@p,a:l@n@ p'akS@ k r'ija:k,a:ri:n 'at@r@ '&tiwu: g'&t.um h'e:tuwen 'ek 'ajeku m'ij@gos k'i:p@ d'eneku t'uwa:l@ l'aba: t'ibe:" "තවත් ස්ථාන කීපයකින් වාර්තා වූ සුළු පිපිරීම් සහ දේශපාලන පක්ෂ ක්‍රියාකාරීන් අතර ඇතිවූ ගැටුම් හේතුවෙන් එක් අයෙකු මියගොස් කීප දෙනෙකු තුවාල ලබා තිබේ." "Sinh" -test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn bel'eRi;,and b'oRom,iR bRag'ollax bR'eTil bRiT'ombaR kaR'aDRas d'eneT,oR dR'eNgist ekT'eli;,on 'emyn eR'i;ad,oR f'ean,oR f'iNgon fiNg'olfin fin'aRfin f'oRox,el g'alaD,on gal'adRi;,el gR'ond j'aRwa,in j'oReT iT'ili;,en miTR'andiR moR'annon m'oRi;,a osg'ili;,aT pal'antiR pel'ennoR p,eRi;'annaT sil'ivRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Beleriand Boromir Bragollach Brethil Brithombar Caradhras Denethor Drengist Ecthelion Emyn Eriador Fëanor Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Iarwain Ioreth Ithilien Mithrandir Morannon Moria Osgiliath Palantír Pelennor Periannath Silivren Thorondor" "Sindarin" +test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn bel'eRi;,and b'oRom,iR bRag'ollax bR'eTil bRiT'ombaR kaR'aDRas k,elebR'i:an d'eneT,oR dR'eNgist ekT'eli;,on 'emyn eR'i;ad,oR f'ean,oR f'iNgon fiNg'olfin fin'aRfin f'oRox,el g'alaD,on gal'adRi;,el gR'ond j'aRwa,in j'oReT iT'ili;,en loTl'o:Ri;,en miTR'andiR moR'annon m'oRi;,a osg'ili;,aT pal'anti:R p,alant'i:Ri pel'ennoR p,eRi;'annaT sil'ivRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Beleriand Boromir Bragollach Brethil Brithombar Caradhras Celebrían Denethor Drengist Ecthelion Emyn Eriador Fëanor Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Iarwain Ioreth Ithilien Lothlórien Mithrandir Morannon Moria Osgiliath Palantír Palantíri Pelennor Periannath Silivren Thorondor" "Sindarin" test_phon sk "k'r:d;el^ St;'astni:Q d;'atl^ow 'utSi: pR'i;u:st;i: v'a:hu m'l:kveho k'on^a 'ophRi:zat; k'uoRu_:_: a ZR'at; tS'eRstve: m'eso p'et;ti:Zdn^,ove: v'l:tSata: n'eRvo:zn^e St;'ekaju: n'amu,ojho d;'atl^a_! v_ t'r:n^i:" "Kŕdeľ šťastných ďatľov učí pri ústí Váhu mĺkveho koňa obhrýzať kôru a žrať čerstvé mäso. Päťtýždňové vĺčatá nervózne štekajú na môjho ďatľa v tŕní." "Latn" test_phon sl "xiSn'i:tSin bR'a:tEts uzg'a:ja p'o:wZE p'o:t fik'u:sOm" "Hišničin bratec vzgaja polže pod fikusom." "Latn" From ee7e05782140f5e59894468ab09da09c49572893 Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Sun, 27 Jun 2021 20:03:07 +0200 Subject: [PATCH 09/34] Fix extra-long vowels in Elvish languages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A circumflex “specially prolonged” vowels; according to Appendix E of The Lord of the Rings, only in Sindarin, but the Ambar Eldaron Quenya Dictionary [1] also has some very few circumflex words (sû, lîs), so let’s support the circumflex in Quenya as well. Marking extra-long vowels with two colons seems to work well and is also done in several other languages. [1]: https://ambar-eldaron.com/telechargements/quenya-engl-A4.pdf --- dictsource/qya_rules | 15 +++++++++++++++ dictsource/sjn_rules | 18 ++++++++++++++++++ tests/language-pronunciation.test | 2 +- 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/dictsource/qya_rules b/dictsource/qya_rules index c2547e35..7606f669 100644 --- a/dictsource/qya_rules +++ b/dictsource/qya_rules @@ -16,6 +16,9 @@ .group á á a: +.group â + â a:: + .group b b b @@ -42,6 +45,9 @@ .group é é e: +.group ê + ê e:: + .group f f f f (_ v @@ -62,6 +68,9 @@ .group í í i: +.group î + î i:: + // j and k do not occur in Quenya .group l @@ -86,6 +95,9 @@ .group ó ó o: +.group ô + ô o:: + .group p p p @@ -120,6 +132,9 @@ .group ú ú u: +.group û + û u:: + .group v v v diff --git a/dictsource/sjn_rules b/dictsource/sjn_rules index d383fa7f..757abc00 100644 --- a/dictsource/sjn_rules +++ b/dictsource/sjn_rules @@ -17,6 +17,9 @@ .group á á a: +.group â + â a:: + .group b b b @@ -43,6 +46,9 @@ .group é é e: +.group ê + ê e:: + .group f f f f (_ v @@ -66,6 +72,9 @@ .group í í i: +.group î + î i:: + // j and k do not occur in Sindarin .group l @@ -91,6 +100,9 @@ .group ó ó o: +.group ô + ô o:: + .group p p p @@ -122,6 +134,9 @@ u (AX =u u (CAX =u +.group û + û u:: + .group ú ú u: @@ -142,4 +157,7 @@ .group ý ý y: +.group ŷ + ŷ y:: + // z does not occur in Sindarin diff --git a/tests/language-pronunciation.test b/tests/language-pronunciation.test index 561dce51..3ea1a715 100755 --- a/tests/language-pronunciation.test +++ b/tests/language-pronunciation.test @@ -194,7 +194,7 @@ test_phon sd "s'Indhi b'o:li; 'Ind.o: jo:R'Vpi xa:nd'a:n s'a~: t[a:l'Vq R,@k#@nd J'Vnhn t['e: ,aRb'i: bo:l'i:;a J'o: b'I t[@m'a:m v'Vd.o: as'VR ,a:he: h'Ina v'aqt s'Indhi b'o:li s'Indh J'e: m'Vk# b'o:li_! 'ae~ d,@f@t['VRi z@b'a:n ,a:he:" "سنڌي ٻولي انڊو يورپي خاندان سان تعلق رکندڙ آريائي ٻولي آھي، جنھن تي عربي ٻوليءَ جو بہ تمام وڏو اثر آهي. هن وقت سنڌي ٻولي سنڌ جي مک ٻولي ۽ دفتري زبان آھي." "Arab" test_phon si "t'aw@t st#'a:n@ k'i:p@j,@kin w'a:rta: w'u: s'ul.u p'ipiri:m s'ah@ d'e:s@p,a:l@n@ p'akS@ k r'ija:k,a:ri:n 'at@r@ '&tiwu: g'&t.um h'e:tuwen 'ek 'ajeku m'ij@gos k'i:p@ d'eneku t'uwa:l@ l'aba: t'ibe:" "තවත් ස්ථාන කීපයකින් වාර්තා වූ සුළු පිපිරීම් සහ දේශපාලන පක්ෂ ක්‍රියාකාරීන් අතර ඇතිවූ ගැටුම් හේතුවෙන් එක් අයෙකු මියගොස් කීප දෙනෙකු තුවාල ලබා තිබේ." "Sinh" -test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn bel'eRi;,and b'oRom,iR bRag'ollax bR'eTil bRiT'ombaR kaR'aDRas k,elebR'i:an d'eneT,oR dR'eNgist ekT'eli;,on 'emyn eR'i;ad,oR f'ean,oR f'iNgon fiNg'olfin fin'aRfin f'oRox,el g'alaD,on gal'adRi;,el gR'ond j'aRwa,in j'oReT iT'ili;,en loTl'o:Ri;,en miTR'andiR moR'annon m'oRi;,a osg'ili;,aT pal'anti:R p,alant'i:Ri pel'ennoR p,eRi;'annaT sil'ivRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Beleriand Boromir Bragollach Brethil Brithombar Caradhras Celebrían Denethor Drengist Ecthelion Emyn Eriador Fëanor Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Iarwain Ioreth Ithilien Lothlórien Mithrandir Morannon Moria Osgiliath Palantír Palantíri Pelennor Periannath Silivren Thorondor" "Sindarin" +test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn bel'eRi;,and b'oRom,iR bRag'ollax bR'eTil bRiT'ombaR kaR'aDRas k,elebR'i:an d'eneT,oR dR'eNgist d'u::n ekT'eli;,on 'emyn eR'i;ad,oR f'ean,oR f'iNgon fiNg'olfin fin'aRfin f'oRox,el g'alaD,on gal'adRi;,el gR'ond j'aRwa,in j'oReT iT'ili;,en loTl'o:Ri;,en miTR'andiR moR'annon m'oRi;,a osg'ili;,aT pal'anti:R p,alant'i:Ri pel'ennoR p,eRi;'annaT sil'ivRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Beleriand Boromir Bragollach Brethil Brithombar Caradhras Celebrían Denethor Drengist dûn Ecthelion Emyn Eriador Fëanor Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Iarwain Ioreth Ithilien Lothlórien Mithrandir Morannon Moria Osgiliath Palantír Palantíri Pelennor Periannath Silivren Thorondor" "Sindarin" test_phon sk "k'r:d;el^ St;'astni:Q d;'atl^ow 'utSi: pR'i;u:st;i: v'a:hu m'l:kveho k'on^a 'ophRi:zat; k'uoRu_:_: a ZR'at; tS'eRstve: m'eso p'et;ti:Zdn^,ove: v'l:tSata: n'eRvo:zn^e St;'ekaju: n'amu,ojho d;'atl^a_! v_ t'r:n^i:" "Kŕdeľ šťastných ďatľov učí pri ústí Váhu mĺkveho koňa obhrýzať kôru a žrať čerstvé mäso. Päťtýždňové vĺčatá nervózne štekajú na môjho ďatľa v tŕní." "Latn" test_phon sl "xiSn'i:tSin bR'a:tEts uzg'a:ja p'o:wZE p'o:t fik'u:sOm" "Hišničin bratec vzgaja polže pod fikusom." "Latn" From f25fda6cd82f44daee0536c23d773b9767807eeb Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Mon, 28 Jun 2021 00:43:57 +0200 Subject: [PATCH 10/34] Define some Elvish diphthongs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Not all of the diphthongs in Quenya and Sindarin are defined in the Latin phonemes, and for now we’re sticking to those, so some diphthongs just get TODOs for now. Also, we’re temporarily using the same phoneme for ⟨ae⟩/⟨ai⟩ and ⟨oe⟩/⟨oi⟩, which should really be different (though Appendix E of The Lord of the Rings notes that ⟨ae⟩ and ⟨oe⟩ don’t have close English equivalents, and that they “may be pronounced as ai, oi”). --- dictsource/qya_rules | 6 ++++++ dictsource/sjn_rules | 6 ++++++ tests/language-pronunciation.test | 4 ++-- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/dictsource/qya_rules b/dictsource/qya_rules index 7606f669..2e90012a 100644 --- a/dictsource/qya_rules +++ b/dictsource/qya_rules @@ -9,6 +9,8 @@ .group a a a + ai (+ aI + au (+ aU // light penultimate syllable: put stress on antepenultimate a (AX =a a (CAX =a @@ -38,6 +40,7 @@ .group e e e + eu (+ EU // light penultimate syllable: put stress on antepenultimate e (AX =e e (CAX =e @@ -61,6 +64,7 @@ .group i i i + // TODO iu (no suitable diphthong in ph_latin) // light penultimate syllable: put stress on antepenultimate i (AX =i i (CAX =i @@ -88,6 +92,7 @@ .group o o o + oi (+ OI // light penultimate syllable: put stress on antepenultimate o (AX =o o (CAX =o @@ -125,6 +130,7 @@ .group u u u + // TODO ui (no suitable diphthong in ph_latin) // light penultimate syllable: put stress on antepenultimate u (AX =u u (CAX =u diff --git a/dictsource/sjn_rules b/dictsource/sjn_rules index 757abc00..e1254eac 100644 --- a/dictsource/sjn_rules +++ b/dictsource/sjn_rules @@ -10,6 +10,9 @@ .group a a a + ae (+ aI // TODO ae and ai should be different + ai (+ aI + au (+ aU // light penultimate syllable: put stress on antepenultimate a (AX =a a (CAX =a @@ -39,6 +42,7 @@ .group e e e + ei (+ eI // light penultimate syllable: put stress on antepenultimate e (AX =e e (CAX =e @@ -93,6 +97,7 @@ .group o o o + oe (+ OI // TODO oe and oi should be different // light penultimate syllable: put stress on antepenultimate o (AX =o o (CAX =o @@ -130,6 +135,7 @@ .group u u u + // TODO ui (no suitable diphthong in ph_latin) // light penultimate syllable: put stress on antepenultimate u (AX =u u (CAX =u diff --git a/tests/language-pronunciation.test b/tests/language-pronunciation.test index 3ea1a715..c35ae276 100755 --- a/tests/language-pronunciation.test +++ b/tests/language-pronunciation.test @@ -186,7 +186,7 @@ S'a 'OksidU p'or- z'&~Ng&U~_:_: ,E*&U~ p,&l'avR&Z dU p,u*@-tug'es#" "Luís argüia à Júlia que «brações, fé, chá, óxido, pôr, zângão» eram palavras do português." "Latn" -test_phon qya ",ainul'indal,e ald'iNga ank'alim,a and'u:Ril k,uivi;'e:nen ,eaR'endil el'endil ,elent'a:Ri; el'essaR e'onwe eR'esse,a h,elkaR'akse is'ilduR nam'a:Ri;,e n,u:men'o:Re 'oRom,e pel'o:Ri tuR'ambaR und'o:mi;,el ut'umno" "Ainulindalë aldinga ancalima Andúril Cuiviénen Eärendil Elendil Elentári Elessar Eönwe Eressëa Helcaraxë Isildur Namárië Númenórë Orome Pelóri Turambar Undómiel Utumno" "Quenya" +test_phon qya ",aInul'indal,e ald'iNga ank'alim,a and'u:Ril k,uivi;'e:nen ,eaR'endil el'endil ,elent'a:Ri; el'essaR e'onwe eR'esse,a h,elkaR'akse is'ilduR nam'a:Ri;,e n,u:men'o:Re 'oRom,e pel'o:Ri s'aURon tuR'ambaR und'o:mi;,el ut'umno" "Ainulindalë aldinga ancalima Andúril Cuiviénen Eärendil Elendil Elentári Elessar Eönwe Eressëa Helcaraxë Isildur Namárië Númenórë Orome Pelóri Sauron Turambar Undómiel Utumno" "Quenya" test_phon ro "m,uzikol'og@_! yn b'eZ v'ynd wh'iski Si tekw'ila p@-*'ets f'iks" "Muzicologă în bej vând whisky și tequila, preț fix." "Latn" test_phon ru "Syr'okVja E#l;ikt@-r;if;ik'Atsyja 'juZnyx gub;'ern;ij d'Ast m'oS;nyj tVltS;'ok pVdj'8mu s;'elskVvV xVz;'Ajstva#" "Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства." "Cyrl" @@ -194,7 +194,7 @@ test_phon sd "s'Indhi b'o:li; 'Ind.o: jo:R'Vpi xa:nd'a:n s'a~: t[a:l'Vq R,@k#@nd J'Vnhn t['e: ,aRb'i: bo:l'i:;a J'o: b'I t[@m'a:m v'Vd.o: as'VR ,a:he: h'Ina v'aqt s'Indhi b'o:li s'Indh J'e: m'Vk# b'o:li_! 'ae~ d,@f@t['VRi z@b'a:n ,a:he:" "سنڌي ٻولي انڊو يورپي خاندان سان تعلق رکندڙ آريائي ٻولي آھي، جنھن تي عربي ٻوليءَ جو بہ تمام وڏو اثر آهي. هن وقت سنڌي ٻولي سنڌ جي مک ٻولي ۽ دفتري زبان آھي." "Arab" test_phon si "t'aw@t st#'a:n@ k'i:p@j,@kin w'a:rta: w'u: s'ul.u p'ipiri:m s'ah@ d'e:s@p,a:l@n@ p'akS@ k r'ija:k,a:ri:n 'at@r@ '&tiwu: g'&t.um h'e:tuwen 'ek 'ajeku m'ij@gos k'i:p@ d'eneku t'uwa:l@ l'aba: t'ibe:" "තවත් ස්ථාන කීපයකින් වාර්තා වූ සුළු පිපිරීම් සහ දේශපාලන පක්ෂ ක්‍රියාකාරීන් අතර ඇතිවූ ගැටුම් හේතුවෙන් එක් අයෙකු මියගොස් කීප දෙනෙකු තුවාල ලබා තිබේ." "Sinh" -test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn bel'eRi;,and b'oRom,iR bRag'ollax bR'eTil bRiT'ombaR kaR'aDRas k,elebR'i:an d'eneT,oR dR'eNgist d'u::n ekT'eli;,on 'emyn eR'i;ad,oR f'ean,oR f'iNgon fiNg'olfin fin'aRfin f'oRox,el g'alaD,on gal'adRi;,el gR'ond j'aRwa,in j'oReT iT'ili;,en loTl'o:Ri;,en miTR'andiR moR'annon m'oRi;,a osg'ili;,aT pal'anti:R p,alant'i:Ri pel'ennoR p,eRi;'annaT sil'ivRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Beleriand Boromir Bragollach Brethil Brithombar Caradhras Celebrían Denethor Drengist dûn Ecthelion Emyn Eriador Fëanor Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Iarwain Ioreth Ithilien Lothlórien Mithrandir Morannon Moria Osgiliath Palantír Palantíri Pelennor Periannath Silivren Thorondor" "Sindarin" +test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn aRn'OIdi;,ad bel'eRi;,and b'oRom,iR bRag'ollax bR'eTil bRiT'ombaR k'aIR kaR'aDRas k,elebR'i:an kRiss'aIgRim d'eneT,oR dR'eNgist d'u::n ekT'eli;,on 'emyn eR'i;ad,oR f'ean,oR f'iNgon fiNg'olfin fin'aRfin f'oRox,el g'alaD,on gal'adRi;,el gR'ond gw'aIhiR j'aRwaIn j'oReT iT'ili;,en loTl'o:Ri;,en miT'eITel miTR'andiR moR'annon m'oRi;,a osg'ili;,aT pal'anti:R p,alant'i:Ri pel'ennoR p,eRi;'annaT sil'ivRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Arnoediad Beleriand Boromir Bragollach Brethil Brithombar Cair Caradhras Celebrían Crissaegrim Denethor Drengist dûn Ecthelion Emyn Eriador Fëanor Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Gwaihir Iarwain Ioreth Ithilien Lothlórien Mitheithel Mithrandir Morannon Moria Osgiliath Palantír Palantíri Pelennor Periannath Silivren Thorondor" "Sindarin" test_phon sk "k'r:d;el^ St;'astni:Q d;'atl^ow 'utSi: pR'i;u:st;i: v'a:hu m'l:kveho k'on^a 'ophRi:zat; k'uoRu_:_: a ZR'at; tS'eRstve: m'eso p'et;ti:Zdn^,ove: v'l:tSata: n'eRvo:zn^e St;'ekaju: n'amu,ojho d;'atl^a_! v_ t'r:n^i:" "Kŕdeľ šťastných ďatľov učí pri ústí Váhu mĺkveho koňa obhrýzať kôru a žrať čerstvé mäso. Päťtýždňové vĺčatá nervózne štekajú na môjho ďatľa v tŕní." "Latn" test_phon sl "xiSn'i:tSin bR'a:tEts uzg'a:ja p'o:wZE p'o:t fik'u:sOm" "Hišničin bratec vzgaja polže pod fikusom." "Latn" From c6e6f6015445c1e08389c48343b2053920527f78 Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Mon, 28 Jun 2021 20:48:33 +0200 Subject: [PATCH 11/34] Make ph between vowels long in Elvish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit According to Appendix E of The Lord of the Rings, ⟨ph⟩ stands for /f/ when final (because ⟨f⟩ is pronounced as /v/ in that position), and otherwise is used instead of ⟨f⟩ either because it’s derived from ⟨p⟩ (in which case it’s presumably pronounced just like ⟨f⟩), or to represent an especially long /f/. We can’t really tell which case we have, but from the Omikhleia Sindarin dictionary [1], it appears that all the long ⟨ph⟩’s are between two vowels, and all the short ones have at least one adjacent consonant, so let’s use that as a rule and hope it works out. (The Ambar Eldaron Quenya dictionary [2] is less easily searchable, so I’m just hoping that this rule works reasonably well for both languages.) [1]: https://www.jrrvf.com/hisweloke/sindar/index.html [2]: https://ambar-eldaron.com/telechargements/quenya-engl-A4.pdf --- dictsource/qya_rules | 1 + dictsource/sjn_rules | 1 + tests/language-pronunciation.test | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/dictsource/qya_rules b/dictsource/qya_rules index 2e90012a..4a9894f4 100644 --- a/dictsource/qya_rules +++ b/dictsource/qya_rules @@ -108,6 +108,7 @@ .group ph ph f + A) ph (A f: .group qu qu kw diff --git a/dictsource/sjn_rules b/dictsource/sjn_rules index e1254eac..234d0297 100644 --- a/dictsource/sjn_rules +++ b/dictsource/sjn_rules @@ -113,6 +113,7 @@ .group ph ph f + A) ph (A f: // q does not occur in Sindarin diff --git a/tests/language-pronunciation.test b/tests/language-pronunciation.test index c35ae276..9178f9f7 100755 --- a/tests/language-pronunciation.test +++ b/tests/language-pronunciation.test @@ -194,7 +194,7 @@ test_phon sd "s'Indhi b'o:li; 'Ind.o: jo:R'Vpi xa:nd'a:n s'a~: t[a:l'Vq R,@k#@nd J'Vnhn t['e: ,aRb'i: bo:l'i:;a J'o: b'I t[@m'a:m v'Vd.o: as'VR ,a:he: h'Ina v'aqt s'Indhi b'o:li s'Indh J'e: m'Vk# b'o:li_! 'ae~ d,@f@t['VRi z@b'a:n ,a:he:" "سنڌي ٻولي انڊو يورپي خاندان سان تعلق رکندڙ آريائي ٻولي آھي، جنھن تي عربي ٻوليءَ جو بہ تمام وڏو اثر آهي. هن وقت سنڌي ٻولي سنڌ جي مک ٻولي ۽ دفتري زبان آھي." "Arab" test_phon si "t'aw@t st#'a:n@ k'i:p@j,@kin w'a:rta: w'u: s'ul.u p'ipiri:m s'ah@ d'e:s@p,a:l@n@ p'akS@ k r'ija:k,a:ri:n 'at@r@ '&tiwu: g'&t.um h'e:tuwen 'ek 'ajeku m'ij@gos k'i:p@ d'eneku t'uwa:l@ l'aba: t'ibe:" "තවත් ස්ථාන කීපයකින් වාර්තා වූ සුළු පිපිරීම් සහ දේශපාලන පක්ෂ ක්‍රියාකාරීන් අතර ඇතිවූ ගැටුම් හේතුවෙන් එක් අයෙකු මියගොස් කීප දෙනෙකු තුවාල ලබා තිබේ." "Sinh" -test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn aRn'OIdi;,ad bel'eRi;,and b'oRom,iR bRag'ollax bR'eTil bRiT'ombaR k'aIR kaR'aDRas k,elebR'i:an kRiss'aIgRim d'eneT,oR dR'eNgist d'u::n ekT'eli;,on 'emyn eR'i;ad,oR f'ean,oR f'iNgon fiNg'olfin fin'aRfin f'oRox,el g'alaD,on gal'adRi;,el gR'ond gw'aIhiR j'aRwaIn j'oReT iT'ili;,en loTl'o:Ri;,en miT'eITel miTR'andiR moR'annon m'oRi;,a osg'ili;,aT pal'anti:R p,alant'i:Ri pel'ennoR p,eRi;'annaT sil'ivRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Arnoediad Beleriand Boromir Bragollach Brethil Brithombar Cair Caradhras Celebrían Crissaegrim Denethor Drengist dûn Ecthelion Emyn Eriador Fëanor Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Gwaihir Iarwain Ioreth Ithilien Lothlórien Mitheithel Mithrandir Morannon Moria Osgiliath Palantír Palantíri Pelennor Periannath Silivren Thorondor" "Sindarin" +test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn aRn'OIdi;,ad bel'eRi;,and b'oRom,iR bRag'ollax bR'eTil bRiT'ombaR k'aIR kaR'aDRas k,elebR'i:an kRiss'aIgRim d'eneT,oR dR'eNgist d'u::n ekT'eli;,on 'emyn eR'i;ad,oR f'ean,oR f'iNgon fiNg'olfin fin'aRfin f'oRox,el g'alaD,on gal'adRi;,el gR'ond gw'aIhiR j'aRwaIn j'oReT iT'ili;,en loTl'o:Ri;,en miT'eITel miTR'andiR moR'annon m'oRi;,a oR'offin osg'ili;,aT pal'anti:R p,alant'i:Ri pel'ennoR p,eRi;'annaT sil'ivRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Arnoediad Beleriand Boromir Bragollach Brethil Brithombar Cair Caradhras Celebrían Crissaegrim Denethor Drengist dûn Ecthelion Emyn Eriador Fëanor Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Gwaihir Iarwain Ioreth Ithilien Lothlórien Mitheithel Mithrandir Morannon Moria Orophin Osgiliath Palantír Palantíri Pelennor Periannath Silivren Thorondor" "Sindarin" test_phon sk "k'r:d;el^ St;'astni:Q d;'atl^ow 'utSi: pR'i;u:st;i: v'a:hu m'l:kveho k'on^a 'ophRi:zat; k'uoRu_:_: a ZR'at; tS'eRstve: m'eso p'et;ti:Zdn^,ove: v'l:tSata: n'eRvo:zn^e St;'ekaju: n'amu,ojho d;'atl^a_! v_ t'r:n^i:" "Kŕdeľ šťastných ďatľov učí pri ústí Váhu mĺkveho koňa obhrýzať kôru a žrať čerstvé mäso. Päťtýždňové vĺčatá nervózne štekajú na môjho ďatľa v tŕní." "Latn" test_phon sl "xiSn'i:tSin bR'a:tEts uzg'a:ja p'o:wZE p'o:t fik'u:sOm" "Hišničin bratec vzgaja polže pod fikusom." "Latn" From 0928b3a43227ed626c6c2ea4209fd0a3a7ef4c71 Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Mon, 28 Jun 2021 20:55:30 +0200 Subject: [PATCH 12/34] Add more Quenya test cases MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I had left out test cases with ⟨qu⟩ and/or ⟨y⟩ earlier, but it looks like there wasn’t actually any need to do that, they work just fine. --- tests/language-pronunciation.test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/language-pronunciation.test b/tests/language-pronunciation.test index 9178f9f7..c7e09f5c 100755 --- a/tests/language-pronunciation.test +++ b/tests/language-pronunciation.test @@ -186,7 +186,7 @@ S'a 'OksidU p'or- z'&~Ng&U~_:_: ,E*&U~ p,&l'avR&Z dU p,u*@-tug'es#" "Luís argüia à Júlia que «brações, fé, chá, óxido, pôr, zângão» eram palavras do português." "Latn" -test_phon qya ",aInul'indal,e ald'iNga ank'alim,a and'u:Ril k,uivi;'e:nen ,eaR'endil el'endil ,elent'a:Ri; el'essaR e'onwe eR'esse,a h,elkaR'akse is'ilduR nam'a:Ri;,e n,u:men'o:Re 'oRom,e pel'o:Ri s'aURon tuR'ambaR und'o:mi;,el ut'umno" "Ainulindalë aldinga ancalima Andúril Cuiviénen Eärendil Elendil Elentári Elessar Eönwe Eressëa Helcaraxë Isildur Namárië Númenórë Orome Pelóri Sauron Turambar Undómiel Utumno" "Quenya" +test_phon qya ",aInul'indal,e ald'iNga ank'alim,a and'u:Ril at'akwe k,alak'iRja k,uivi;'e:nen ,eaR'endil el'endil ,elent'a:Ri; el'essaR 'enkwi;,e e'onwe eR'esse,a h,elkaR'akse hj'aRmen is'ilduR nam'a:Ri;,e n,u:men'o:Re 'oRom,e ot'okwe pel'o:Ri s'aURon tan'ikwet,il tuR'ambaR und'o:mi;,el ut'umno" "Ainulindalë aldinga ancalima Andúril ataquë Calacirya Cuiviénen Eärendil Elendil Elentári Elessar enquië Eönwe Eressëa Helcaraxë Hyarmen Isildur Namárië Númenórë Orome otoquë Pelóri Sauron Taniquetil Turambar Undómiel Utumno" "Quenya" test_phon ro "m,uzikol'og@_! yn b'eZ v'ynd wh'iski Si tekw'ila p@-*'ets f'iks" "Muzicologă în bej vând whisky și tequila, preț fix." "Latn" test_phon ru "Syr'okVja E#l;ikt@-r;if;ik'Atsyja 'juZnyx gub;'ern;ij d'Ast m'oS;nyj tVltS;'ok pVdj'8mu s;'elskVvV xVz;'Ajstva#" "Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства." "Cyrl" From e8fb04bb4419d41c71f61a6f3d77217de8df1296 Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Mon, 28 Jun 2021 21:51:23 +0200 Subject: [PATCH 13/34] =?UTF-8?q?Add=20Quenya=20=E2=9F=A8iu=E2=9F=A9,=20?= =?UTF-8?q?=E2=9F=A8ui=E2=9F=A9=20diphthongs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Both are copied from the Finnish phonemes, since Finnish was a major inspiration for Quenya. This means that the ⟨iu⟩ diphthong is a “falling” one – according to Appendix E of The Lord of the Rings, this is the original pronunciation, but by the Third Age (the time in which The Lord of the Rings is set) it had become a “rising” one, so I may change the phoneme later, not sure. --- Makefile.am | 1 + dictsource/qya_rules | 4 ++-- phsource/ph_quenya | 13 +++++++++++++ phsource/phonemes | 3 ++- 4 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 phsource/ph_quenya diff --git a/Makefile.am b/Makefile.am index 87cbadff..4e0f6ee5 100644 --- a/Makefile.am +++ b/Makefile.am @@ -412,6 +412,7 @@ phsource/phonemes.stamp: \ phsource/ph_punjabi \ phsource/ph_pyash \ phsource/ph_quechua \ + phsource/ph_quenya \ phsource/ph_romanian \ phsource/ph_russian \ phsource/ph_russian_lv \ diff --git a/dictsource/qya_rules b/dictsource/qya_rules index 4a9894f4..e02f15db 100644 --- a/dictsource/qya_rules +++ b/dictsource/qya_rules @@ -64,7 +64,7 @@ .group i i i - // TODO iu (no suitable diphthong in ph_latin) + iu (+ iu // light penultimate syllable: put stress on antepenultimate i (AX =i i (CAX =i @@ -131,7 +131,7 @@ .group u u u - // TODO ui (no suitable diphthong in ph_latin) + ui (+ ui // light penultimate syllable: put stress on antepenultimate u (AX =u u (CAX =u diff --git a/phsource/ph_quenya b/phsource/ph_quenya new file mode 100644 index 00000000..5f958db8 --- /dev/null +++ b/phsource/ph_quenya @@ -0,0 +1,13 @@ +phoneme ui + vwl starttype #u endtype #i + length 270 + lng + FMT(vdiph/ui_4) +endphoneme + +phoneme iu + vwl starttype #i endtype #u + length 280 + lng + FMT(vdiph2/iu_2) +endphoneme diff --git a/phsource/phonemes b/phsource/phonemes index d64bf982..582b1560 100644 --- a/phsource/phonemes +++ b/phsource/phonemes @@ -1921,8 +1921,9 @@ phonemetable py eo include ph_pyash phonemetable qya la +include ph_quenya -phonemetable sjn qya +phonemetable sjn la phonemetable es-la es include ph_spanish_la From ca2ca4c5cb1a0d71ede7df796e7f523b19c9a274 Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Mon, 28 Jun 2021 22:26:00 +0200 Subject: [PATCH 14/34] =?UTF-8?q?Add=20Sindarin=20=E2=9F=A8ae=E2=9F=A9,=20?= =?UTF-8?q?=E2=9F=A8ai=E2=9F=A9,=20=E2=9F=A8oe=E2=9F=A9,=20=E2=9F=A8ui?= =?UTF-8?q?=E2=9F=A9=20diphthongs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit For ⟨ae⟩, we used to use the Latin [[aI]] phoneme, which sounds like /ae/. Call that phoneme [[aE]] for us and introduce a separate [[aI]] one, which sounds more like /ai/ (since Sindarin has both, and they’re supposed to sound different, though Appendix E of The Lord of the Rings notes that there is nothing closely corresponding to ⟨ae⟩ in English and that it may be pronounced like ⟨ai⟩). Furthermore, for ⟨oe⟩, just remove the TODO – the Latin phoneme is called [[OI]] but sounds more like /oe/ than /oi/, so it’s actually just fine for our purposes. Finally, the ⟨ui⟩ diphthong is copied from Finnish, just like in Quenya. --- Makefile.am | 1 + dictsource/sjn_rules | 6 +++--- phsource/ph_sindarin | 18 ++++++++++++++++++ phsource/phonemes | 1 + tests/language-pronunciation.test | 2 +- 5 files changed, 24 insertions(+), 4 deletions(-) create mode 100644 phsource/ph_sindarin diff --git a/Makefile.am b/Makefile.am index 4e0f6ee5..7bada1b8 100644 --- a/Makefile.am +++ b/Makefile.am @@ -420,6 +420,7 @@ phsource/phonemes.stamp: \ phsource/ph_serbian \ phsource/ph_setswana \ phsource/ph_shan \ + phsource/ph_sindarin \ phsource/ph_sindhi \ phsource/ph_sinhala \ phsource/ph_slovak \ diff --git a/dictsource/sjn_rules b/dictsource/sjn_rules index 234d0297..933ee71e 100644 --- a/dictsource/sjn_rules +++ b/dictsource/sjn_rules @@ -10,7 +10,7 @@ .group a a a - ae (+ aI // TODO ae and ai should be different + ae (+ aE ai (+ aI au (+ aU // light penultimate syllable: put stress on antepenultimate @@ -97,7 +97,7 @@ .group o o o - oe (+ OI // TODO oe and oi should be different + oe (+ OI // light penultimate syllable: put stress on antepenultimate o (AX =o o (CAX =o @@ -136,7 +136,7 @@ .group u u u - // TODO ui (no suitable diphthong in ph_latin) + ui (+ ui // light penultimate syllable: put stress on antepenultimate u (AX =u u (CAX =u diff --git a/phsource/ph_sindarin b/phsource/ph_sindarin new file mode 100644 index 00000000..0240378e --- /dev/null +++ b/phsource/ph_sindarin @@ -0,0 +1,18 @@ +phoneme aE + vwl starttype #a endtype #e + length 270 + FMT(vdiph/ae) +endphoneme + +phoneme aI + vwl starttype #a endtype #i + length 240 + FMT(vdiph/ai) +endphoneme + +phoneme ui + vwl starttype #u endtype #i + length 270 + lng + FMT(vdiph/ui_4) +endphoneme diff --git a/phsource/phonemes b/phsource/phonemes index 582b1560..26e0dd18 100644 --- a/phsource/phonemes +++ b/phsource/phonemes @@ -1924,6 +1924,7 @@ phonemetable qya la include ph_quenya phonemetable sjn la +include ph_sindarin phonemetable es-la es include ph_spanish_la diff --git a/tests/language-pronunciation.test b/tests/language-pronunciation.test index c7e09f5c..4e517207 100755 --- a/tests/language-pronunciation.test +++ b/tests/language-pronunciation.test @@ -194,7 +194,7 @@ test_phon sd "s'Indhi b'o:li; 'Ind.o: jo:R'Vpi xa:nd'a:n s'a~: t[a:l'Vq R,@k#@nd J'Vnhn t['e: ,aRb'i: bo:l'i:;a J'o: b'I t[@m'a:m v'Vd.o: as'VR ,a:he: h'Ina v'aqt s'Indhi b'o:li s'Indh J'e: m'Vk# b'o:li_! 'ae~ d,@f@t['VRi z@b'a:n ,a:he:" "سنڌي ٻولي انڊو يورپي خاندان سان تعلق رکندڙ آريائي ٻولي آھي، جنھن تي عربي ٻوليءَ جو بہ تمام وڏو اثر آهي. هن وقت سنڌي ٻولي سنڌ جي مک ٻولي ۽ دفتري زبان آھي." "Arab" test_phon si "t'aw@t st#'a:n@ k'i:p@j,@kin w'a:rta: w'u: s'ul.u p'ipiri:m s'ah@ d'e:s@p,a:l@n@ p'akS@ k r'ija:k,a:ri:n 'at@r@ '&tiwu: g'&t.um h'e:tuwen 'ek 'ajeku m'ij@gos k'i:p@ d'eneku t'uwa:l@ l'aba: t'ibe:" "තවත් ස්ථාන කීපයකින් වාර්තා වූ සුළු පිපිරීම් සහ දේශපාලන පක්ෂ ක්‍රියාකාරීන් අතර ඇතිවූ ගැටුම් හේතුවෙන් එක් අයෙකු මියගොස් කීප දෙනෙකු තුවාල ලබා තිබේ." "Sinh" -test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn aRn'OIdi;,ad bel'eRi;,and b'oRom,iR bRag'ollax bR'eTil bRiT'ombaR k'aIR kaR'aDRas k,elebR'i:an kRiss'aIgRim d'eneT,oR dR'eNgist d'u::n ekT'eli;,on 'emyn eR'i;ad,oR f'ean,oR f'iNgon fiNg'olfin fin'aRfin f'oRox,el g'alaD,on gal'adRi;,el gR'ond gw'aIhiR j'aRwaIn j'oReT iT'ili;,en loTl'o:Ri;,en miT'eITel miTR'andiR moR'annon m'oRi;,a oR'offin osg'ili;,aT pal'anti:R p,alant'i:Ri pel'ennoR p,eRi;'annaT sil'ivRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Arnoediad Beleriand Boromir Bragollach Brethil Brithombar Cair Caradhras Celebrían Crissaegrim Denethor Drengist dûn Ecthelion Emyn Eriador Fëanor Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Gwaihir Iarwain Ioreth Ithilien Lothlórien Mitheithel Mithrandir Morannon Moria Orophin Osgiliath Palantír Palantíri Pelennor Periannath Silivren Thorondor" "Sindarin" +test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn aRn'OIdi;,ad bel'eRi;,and b'oRom,iR bRag'ollax bR'eTil bRiT'ombaR bR'uinen k'aIR kaR'aDRas k,elebR'i:an kRiss'aEgRim d'eneT,oR dR'eNgist d'u::n ekT'eli;,on 'emyn eR'i;ad,oR f'ean,oR find'uilas f'iNgon fiNg'olfin fin'aRfin f'oRox,el g'alaD,on gal'adRi;,el gR'ond gw'aIhiR j'aRwaIn j'oReT iT'ili;,en loTl'o:Ri;,en miT'eITel miTR'andiR moR'annon m'oRi;,a oR'offin osg'ili;,aT pal'anti:R p,alant'i:Ri pel'ennoR p,eRi;'annaT sil'ivRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Arnoediad Beleriand Boromir Bragollach Brethil Brithombar Bruinen Cair Caradhras Celebrían Crissaegrim Denethor Drengist dûn Ecthelion Emyn Eriador Fëanor Finduilas Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Gwaihir Iarwain Ioreth Ithilien Lothlórien Mitheithel Mithrandir Morannon Moria Orophin Osgiliath Palantír Palantíri Pelennor Periannath Silivren Thorondor" "Sindarin" test_phon sk "k'r:d;el^ St;'astni:Q d;'atl^ow 'utSi: pR'i;u:st;i: v'a:hu m'l:kveho k'on^a 'ophRi:zat; k'uoRu_:_: a ZR'at; tS'eRstve: m'eso p'et;ti:Zdn^,ove: v'l:tSata: n'eRvo:zn^e St;'ekaju: n'amu,ojho d;'atl^a_! v_ t'r:n^i:" "Kŕdeľ šťastných ďatľov učí pri ústí Váhu mĺkveho koňa obhrýzať kôru a žrať čerstvé mäso. Päťtýždňové vĺčatá nervózne štekajú na môjho ďatľa v tŕní." "Latn" test_phon sl "xiSn'i:tSin bR'a:tEts uzg'a:ja p'o:wZE p'o:t fik'u:sOm" "Hišničin bratec vzgaja polže pod fikusom." "Latn" From 4e6ebdbfb6c0f49f2846631b83e43ccec7b020f4 Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Mon, 28 Jun 2021 22:44:32 +0200 Subject: [PATCH 15/34] =?UTF-8?q?Velarize=20[n]=20to=20[=C5=8B]=20before?= =?UTF-8?q?=20velar=20stops=20in=20Elvish?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I’m not aware of any statement by Tolkien to this effect, but it just seems natural to me, and the [ŋ] is at least found in the Omikhleia Sindarin dictionary [1] (e.g. entry tinc, [tˈiŋk]). Based on a similar phoneme rule in ph_english. [1]: https://www.jrrvf.com/hisweloke/sindar/index.html --- phsource/ph_quenya | 8 ++++++++ phsource/ph_sindarin | 8 ++++++++ tests/language-pronunciation.test | 2 +- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/phsource/ph_quenya b/phsource/ph_quenya index 5f958db8..d77f24f8 100644 --- a/phsource/ph_quenya +++ b/phsource/ph_quenya @@ -1,3 +1,11 @@ +phoneme n + IF nextPhW(isVelar) THEN // /n/ is velarized to /N/ when before velar stops + ChangePhoneme(N) + ENDIF + CALL base1/n +endphoneme + + phoneme ui vwl starttype #u endtype #i length 270 diff --git a/phsource/ph_sindarin b/phsource/ph_sindarin index 0240378e..73b2e4e8 100644 --- a/phsource/ph_sindarin +++ b/phsource/ph_sindarin @@ -1,3 +1,11 @@ +phoneme n + IF nextPhW(isVelar) THEN // /n/ is velarized to /N/ when before velar stops + ChangePhoneme(N) + ENDIF + CALL base1/n +endphoneme + + phoneme aE vwl starttype #a endtype #e length 270 diff --git a/tests/language-pronunciation.test b/tests/language-pronunciation.test index 4e517207..66509d85 100755 --- a/tests/language-pronunciation.test +++ b/tests/language-pronunciation.test @@ -186,7 +186,7 @@ S'a 'OksidU p'or- z'&~Ng&U~_:_: ,E*&U~ p,&l'avR&Z dU p,u*@-tug'es#" "Luís argüia à Júlia que «brações, fé, chá, óxido, pôr, zângão» eram palavras do português." "Latn" -test_phon qya ",aInul'indal,e ald'iNga ank'alim,a and'u:Ril at'akwe k,alak'iRja k,uivi;'e:nen ,eaR'endil el'endil ,elent'a:Ri; el'essaR 'enkwi;,e e'onwe eR'esse,a h,elkaR'akse hj'aRmen is'ilduR nam'a:Ri;,e n,u:men'o:Re 'oRom,e ot'okwe pel'o:Ri s'aURon tan'ikwet,il tuR'ambaR und'o:mi;,el ut'umno" "Ainulindalë aldinga ancalima Andúril ataquë Calacirya Cuiviénen Eärendil Elendil Elentári Elessar enquië Eönwe Eressëa Helcaraxë Hyarmen Isildur Namárië Númenórë Orome otoquë Pelóri Sauron Taniquetil Turambar Undómiel Utumno" "Quenya" +test_phon qya ",aInul'indal,e ald'iNga aNk'alim,a and'u:Ril at'akwe k,alak'iRja k,uivi;'e:nen ,eaR'endil el'endil ,elent'a:Ri; el'essaR 'eNkwi;,e e'onwe eR'esse,a h,elkaR'akse hj'aRmen is'ilduR nam'a:Ri;,e n,u:men'o:Re 'oRom,e ot'okwe pel'o:Ri s'aURon tan'ikwet,il tuR'ambaR und'o:mi;,el ut'umno" "Ainulindalë aldinga ancalima Andúril ataquë Calacirya Cuiviénen Eärendil Elendil Elentári Elessar enquië Eönwe Eressëa Helcaraxë Hyarmen Isildur Namárië Númenórë Orome otoquë Pelóri Sauron Taniquetil Turambar Undómiel Utumno" "Quenya" test_phon ro "m,uzikol'og@_! yn b'eZ v'ynd wh'iski Si tekw'ila p@-*'ets f'iks" "Muzicologă în bej vând whisky și tequila, preț fix." "Latn" test_phon ru "Syr'okVja E#l;ikt@-r;if;ik'Atsyja 'juZnyx gub;'ern;ij d'Ast m'oS;nyj tVltS;'ok pVdj'8mu s;'elskVvV xVz;'Ajstva#" "Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства." "Cyrl" From 8d717b157a58fb05e1f305c1880be4d4ae46dc16 Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Tue, 29 Jun 2021 20:12:40 +0200 Subject: [PATCH 16/34] Fix Quenya [[aI]] phoneme MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We used to inherit it from the Latin phonemes, which, as I noted in the commit adding the Sindarin diphthongs, sounds more like /ae/ than /ai/. Copy the phoneme from Sindarin so that it sounds like /ai/, not /ae/. (There is no ⟨ae⟩ diphthong in Quenya, so we don’t need a copy of that.) --- phsource/ph_quenya | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/phsource/ph_quenya b/phsource/ph_quenya index d77f24f8..71b3b36c 100644 --- a/phsource/ph_quenya +++ b/phsource/ph_quenya @@ -6,6 +6,12 @@ phoneme n endphoneme +phoneme aI + vwl starttype #a endtype #i + length 240 + FMT(vdiph/ai) +endphoneme + phoneme ui vwl starttype #u endtype #i length 270 From 65d1ec7f1c3589735389ab4993b6ebd669948b71 Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Tue, 29 Jun 2021 21:49:54 +0200 Subject: [PATCH 17/34] =?UTF-8?q?Rearrange=20exception=20for=20Sindarin=20?= =?UTF-8?q?initial=20prevocalic=20=E2=9F=A8i=E2=9F=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Using a + is simpler than an additional rule, and scales better if more rules are introduced later. (A single + seems to be sufficient.) --- dictsource/sjn_rules | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/dictsource/sjn_rules b/dictsource/sjn_rules index 933ee71e..ae6617df 100644 --- a/dictsource/sjn_rules +++ b/dictsource/sjn_rules @@ -66,12 +66,10 @@ .group i i i - _) i (A j + _) i (A+ j // light penultimate syllable: put stress on antepenultimate i (AX =i i (CAX =i - // (unless initial) - _) i (AX j .group í í i: From 9ac1a5bffbe10131a8e635d327798e12bad31499 Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Tue, 29 Jun 2021 22:04:52 +0200 Subject: [PATCH 18/34] Fix treatment of diphthongs for stress in Elvish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Stress is determined based on the syllables, not the vowels, so the diphthongs need to count as a single syllable. If there is a diphthong at the end of a word, the penultimate syllable can still be unstressed if it is light. (The name of Arvedui, last king of Arthedain, is one example of this that I could think of, but I’m sure it’s not the only one.) --- dictsource/qya_rules | 23 +++++++++++++---------- dictsource/sjn_rules | 27 +++++++++++++++------------ tests/language-pronunciation.test | 2 +- 3 files changed, 29 insertions(+), 23 deletions(-) diff --git a/dictsource/qya_rules b/dictsource/qya_rules index e02f15db..925e52c4 100644 --- a/dictsource/qya_rules +++ b/dictsource/qya_rules @@ -1,3 +1,6 @@ +// syllable nuclei: vowels (any length) and diphthongs +.L01 i e a o u í é á ó ú î ê â ô û ui oi ai iu eu au + .replace // turn x into cs, both because that’s how it’s pronounced // and to free up x as a single letter for ch (see immediately below) @@ -12,8 +15,8 @@ ai (+ aI au (+ aU // light penultimate syllable: put stress on antepenultimate - a (AX =a - a (CAX =a + a (L01X =a + a (CL01X =a .group á á a: @@ -42,8 +45,8 @@ e e eu (+ EU // light penultimate syllable: put stress on antepenultimate - e (AX =e - e (CAX =e + e (L01X =e + e (CL01X =e .group é é e: @@ -66,8 +69,8 @@ i i iu (+ iu // light penultimate syllable: put stress on antepenultimate - i (AX =i - i (CAX =i + i (L01X =i + i (CL01X =i .group í í i: @@ -94,8 +97,8 @@ o o oi (+ OI // light penultimate syllable: put stress on antepenultimate - o (AX =o - o (CAX =o + o (L01X =o + o (CL01X =o .group ó ó o: @@ -133,8 +136,8 @@ u u ui (+ ui // light penultimate syllable: put stress on antepenultimate - u (AX =u - u (CAX =u + u (L01X =u + u (CL01X =u .group ú ú u: diff --git a/dictsource/sjn_rules b/dictsource/sjn_rules index ae6617df..70108271 100644 --- a/dictsource/sjn_rules +++ b/dictsource/sjn_rules @@ -1,3 +1,6 @@ +// syllable nuclei: vowels (any length) and diphthongs +.L01 i e a o u y í é á ó ú ý î ê â ô û ŷ ae ai ei oe ui au + .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) @@ -14,8 +17,8 @@ ai (+ aI au (+ aU // light penultimate syllable: put stress on antepenultimate - a (AX =a - a (CAX =a + a (L01X =a + a (CL01X =a .group á á a: @@ -44,8 +47,8 @@ e e ei (+ eI // light penultimate syllable: put stress on antepenultimate - e (AX =e - e (CAX =e + e (L01X =e + e (CL01X =e .group é é e: @@ -68,8 +71,8 @@ i i _) i (A+ j // light penultimate syllable: put stress on antepenultimate - i (AX =i - i (CAX =i + i (L01X =i + i (CL01X =i .group í í i: @@ -97,8 +100,8 @@ o o oe (+ OI // light penultimate syllable: put stress on antepenultimate - o (AX =o - o (CAX =o + o (L01X =o + o (CL01X =o .group ó ó o: @@ -136,8 +139,8 @@ u u ui (+ ui // light penultimate syllable: put stress on antepenultimate - u (AX =u - u (CAX =u + u (L01X =u + u (CL01X =u .group û û u:: @@ -156,8 +159,8 @@ .group y y y // light penultimate syllable: put stress on antepenultimate - y (AX =y - y (CAX =y + y (L01X =y + y (CL01X =y .group ý ý y: diff --git a/tests/language-pronunciation.test b/tests/language-pronunciation.test index 66509d85..0f979044 100755 --- a/tests/language-pronunciation.test +++ b/tests/language-pronunciation.test @@ -194,7 +194,7 @@ test_phon sd "s'Indhi b'o:li; 'Ind.o: jo:R'Vpi xa:nd'a:n s'a~: t[a:l'Vq R,@k#@nd J'Vnhn t['e: ,aRb'i: bo:l'i:;a J'o: b'I t[@m'a:m v'Vd.o: as'VR ,a:he: h'Ina v'aqt s'Indhi b'o:li s'Indh J'e: m'Vk# b'o:li_! 'ae~ d,@f@t['VRi z@b'a:n ,a:he:" "سنڌي ٻولي انڊو يورپي خاندان سان تعلق رکندڙ آريائي ٻولي آھي، جنھن تي عربي ٻوليءَ جو بہ تمام وڏو اثر آهي. هن وقت سنڌي ٻولي سنڌ جي مک ٻولي ۽ دفتري زبان آھي." "Arab" test_phon si "t'aw@t st#'a:n@ k'i:p@j,@kin w'a:rta: w'u: s'ul.u p'ipiri:m s'ah@ d'e:s@p,a:l@n@ p'akS@ k r'ija:k,a:ri:n 'at@r@ '&tiwu: g'&t.um h'e:tuwen 'ek 'ajeku m'ij@gos k'i:p@ d'eneku t'uwa:l@ l'aba: t'ibe:" "තවත් ස්ථාන කීපයකින් වාර්තා වූ සුළු පිපිරීම් සහ දේශපාලන පක්ෂ ක්‍රියාකාරීන් අතර ඇතිවූ ගැටුම් හේතුවෙන් එක් අයෙකු මියගොස් කීප දෙනෙකු තුවාල ලබා තිබේ." "Sinh" -test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn aRn'OIdi;,ad bel'eRi;,and b'oRom,iR bRag'ollax bR'eTil bRiT'ombaR bR'uinen k'aIR kaR'aDRas k,elebR'i:an kRiss'aEgRim d'eneT,oR dR'eNgist d'u::n ekT'eli;,on 'emyn eR'i;ad,oR f'ean,oR find'uilas f'iNgon fiNg'olfin fin'aRfin f'oRox,el g'alaD,on gal'adRi;,el gR'ond gw'aIhiR j'aRwaIn j'oReT iT'ili;,en loTl'o:Ri;,en miT'eITel miTR'andiR moR'annon m'oRi;,a oR'offin osg'ili;,aT pal'anti:R p,alant'i:Ri pel'ennoR p,eRi;'annaT sil'ivRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Arnoediad Beleriand Boromir Bragollach Brethil Brithombar Bruinen Cair Caradhras Celebrían Crissaegrim Denethor Drengist dûn Ecthelion Emyn Eriador Fëanor Finduilas Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Gwaihir Iarwain Ioreth Ithilien Lothlórien Mitheithel Mithrandir Morannon Moria Orophin Osgiliath Palantír Palantíri Pelennor Periannath Silivren Thorondor" "Sindarin" +test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn aRn'OIdi;,ad 'aRved,ui bel'eRi;,and b'oRom,iR bRag'ollax bR'eTil bRiT'ombaR bR'uinen k'aIR kaR'aDRas k,elebR'i:an kRiss'aEgRim d'eneT,oR dR'eNgist d'u::n ekT'eli;,on 'emyn eR'i;ad,oR f'ean,oR find'uilas f'iNgon fiNg'olfin fin'aRfin f'oRox,el g'alaD,on gal'adRi;,el gR'ond gw'aIhiR j'aRwaIn j'oReT iT'ili;,en loTl'o:Ri;,en miT'eITel miTR'andiR moR'annon m'oRi;,a oR'offin osg'ili;,aT pal'anti:R p,alant'i:Ri pel'ennoR p,eRi;'annaT sil'ivRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Arnoediad Arvedui Beleriand Boromir Bragollach Brethil Brithombar Bruinen Cair Caradhras Celebrían Crissaegrim Denethor Drengist dûn Ecthelion Emyn Eriador Fëanor Finduilas Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Gwaihir Iarwain Ioreth Ithilien Lothlórien Mitheithel Mithrandir Morannon Moria Orophin Osgiliath Palantír Palantíri Pelennor Periannath Silivren Thorondor" "Sindarin" test_phon sk "k'r:d;el^ St;'astni:Q d;'atl^ow 'utSi: pR'i;u:st;i: v'a:hu m'l:kveho k'on^a 'ophRi:zat; k'uoRu_:_: a ZR'at; tS'eRstve: m'eso p'et;ti:Zdn^,ove: v'l:tSata: n'eRvo:zn^e St;'ekaju: n'amu,ojho d;'atl^a_! v_ t'r:n^i:" "Kŕdeľ šťastných ďatľov učí pri ústí Váhu mĺkveho koňa obhrýzať kôru a žrať čerstvé mäso. Päťtýždňové vĺčatá nervózne štekajú na môjho ďatľa v tŕní." "Latn" test_phon sl "xiSn'i:tSin bR'a:tEts uzg'a:ja p'o:wZE p'o:t fik'u:sOm" "Hišničin bratec vzgaja polže pod fikusom." "Latn" From 74ec56a1928dede54d9758513fbf83c3ef5aa906 Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Wed, 30 Jun 2021 21:16:55 +0200 Subject: [PATCH 19/34] =?UTF-8?q?Add=20Sindarin=20=E2=80=9Cmuta=20cum=20li?= =?UTF-8?q?quida=E2=80=9D=20words=20to=20sjn=5Flist?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit According to the regular stress rules from Appendix E of The Lord of the Rings, all three of these words should be stressed on the penultimate (second) syllable, since that syllable is followed by two consonants; however, the way they are used in poems suggests they should actually be stressed on the antepenultimate (first) syllable (example: “in IMlaDRIS it DWELLS”). According to Concerning Stress Placement In Sindarin [1], this can be attributed to a hypothetical “muta cum liquida” rule like in Latin, where some syllables count as light even if they’re followed by two consonants, because both consonants belong to the following syllable (e.g. IM-la-dris instead of im-LAD-ris). However, the rule is apparently not applied systematically: according to [2], in another poem the word “nogothrim”, which is quite similar in structure to “Nargothrond”, is clearly stressed on the penultimate syllable. For this reason, we don’t try to define the “muta cum liquida” rule in sjn_rules (or qya_rules), but only add the three names Imladris, Menegroth and Nargothrond as exceptions to the sjn_list. [1]: https://menegroth.github.io/stress-in-sindarin.html [2]: https://mildred-of-midgard.dreamwidth.org/158375.html#comment-cmt49575 --- dictsource/sjn_list | 8 ++++++++ tests/language-pronunciation.test | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/dictsource/sjn_list b/dictsource/sjn_list index e69de29b..d5ca4956 100644 --- a/dictsource/sjn_list +++ b/dictsource/sjn_list @@ -0,0 +1,8 @@ +// potential “muta cum liquida” rule: +// the use of these words in poems suggests that they are stressed on the antepenultimate syllable, +// rather than the penultimate one, even though the penultimate syllable is heavy; +// see for details + +imladris $1 // Seek for the Sword that was broken, line 2 +menegroþ $1 // Lay of Leithian Recommenced, line 65 +nargoþrond $1 // The world was young, the mountains green, line 13 diff --git a/tests/language-pronunciation.test b/tests/language-pronunciation.test index 0f979044..ec5ed831 100755 --- a/tests/language-pronunciation.test +++ b/tests/language-pronunciation.test @@ -194,7 +194,7 @@ test_phon sd "s'Indhi b'o:li; 'Ind.o: jo:R'Vpi xa:nd'a:n s'a~: t[a:l'Vq R,@k#@nd J'Vnhn t['e: ,aRb'i: bo:l'i:;a J'o: b'I t[@m'a:m v'Vd.o: as'VR ,a:he: h'Ina v'aqt s'Indhi b'o:li s'Indh J'e: m'Vk# b'o:li_! 'ae~ d,@f@t['VRi z@b'a:n ,a:he:" "سنڌي ٻولي انڊو يورپي خاندان سان تعلق رکندڙ آريائي ٻولي آھي، جنھن تي عربي ٻوليءَ جو بہ تمام وڏو اثر آهي. هن وقت سنڌي ٻولي سنڌ جي مک ٻولي ۽ دفتري زبان آھي." "Arab" test_phon si "t'aw@t st#'a:n@ k'i:p@j,@kin w'a:rta: w'u: s'ul.u p'ipiri:m s'ah@ d'e:s@p,a:l@n@ p'akS@ k r'ija:k,a:ri:n 'at@r@ '&tiwu: g'&t.um h'e:tuwen 'ek 'ajeku m'ij@gos k'i:p@ d'eneku t'uwa:l@ l'aba: t'ibe:" "තවත් ස්ථාන කීපයකින් වාර්තා වූ සුළු පිපිරීම් සහ දේශපාලන පක්ෂ ක්‍රියාකාරීන් අතර ඇතිවූ ගැටුම් හේතුවෙන් එක් අයෙකු මියගොස් කීප දෙනෙකු තුවාල ලබා තිබේ." "Sinh" -test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn aRn'OIdi;,ad 'aRved,ui bel'eRi;,and b'oRom,iR bRag'ollax bR'eTil bRiT'ombaR bR'uinen k'aIR kaR'aDRas k,elebR'i:an kRiss'aEgRim d'eneT,oR dR'eNgist d'u::n ekT'eli;,on 'emyn eR'i;ad,oR f'ean,oR find'uilas f'iNgon fiNg'olfin fin'aRfin f'oRox,el g'alaD,on gal'adRi;,el gR'ond gw'aIhiR j'aRwaIn j'oReT iT'ili;,en loTl'o:Ri;,en miT'eITel miTR'andiR moR'annon m'oRi;,a oR'offin osg'ili;,aT pal'anti:R p,alant'i:Ri pel'ennoR p,eRi;'annaT sil'ivRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Arnoediad Arvedui Beleriand Boromir Bragollach Brethil Brithombar Bruinen Cair Caradhras Celebrían Crissaegrim Denethor Drengist dûn Ecthelion Emyn Eriador Fëanor Finduilas Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Gwaihir Iarwain Ioreth Ithilien Lothlórien Mitheithel Mithrandir Morannon Moria Orophin Osgiliath Palantír Palantíri Pelennor Periannath Silivren Thorondor" "Sindarin" +test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn aRn'OIdi;,ad 'aRved,ui bel'eRi;,and b'oRom,iR bRag'ollax bR'eTil bRiT'ombaR bR'uinen k'aIR kaR'aDRas k,elebR'i:an kRiss'aEgRim d'eneT,oR dR'eNgist d'u::n ekT'eli;,on 'emyn eR'i;ad,oR f'ean,oR find'uilas f'iNgon fiNg'olfin fin'aRfin f'oRox,el g'alaD,on gal'adRi;,el gR'ond gw'aIhiR j'aRwaIn 'imladR,is j'oReT iT'ili;,en loTl'o:Ri;,en m'enegR,oT miT'eITel miTR'andiR moR'annon m'oRi;,a n'aRgoTR,ond oR'offin osg'ili;,aT pal'anti:R p,alant'i:Ri pel'ennoR p,eRi;'annaT sil'ivRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Arnoediad Arvedui Beleriand Boromir Bragollach Brethil Brithombar Bruinen Cair Caradhras Celebrían Crissaegrim Denethor Drengist dûn Ecthelion Emyn Eriador Fëanor Finduilas Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Gwaihir Iarwain Imladris Ioreth Ithilien Lothlórien Menegroth Mitheithel Mithrandir Morannon Moria Nargothrond Orophin Osgiliath Palantír Palantíri Pelennor Periannath Silivren Thorondor" "Sindarin" test_phon sk "k'r:d;el^ St;'astni:Q d;'atl^ow 'utSi: pR'i;u:st;i: v'a:hu m'l:kveho k'on^a 'ophRi:zat; k'uoRu_:_: a ZR'at; tS'eRstve: m'eso p'et;ti:Zdn^,ove: v'l:tSata: n'eRvo:zn^e St;'ekaju: n'amu,ojho d;'atl^a_! v_ t'r:n^i:" "Kŕdeľ šťastných ďatľov učí pri ústí Váhu mĺkveho koňa obhrýzať kôru a žrať čerstvé mäso. Päťtýždňové vĺčatá nervózne štekajú na môjho ďatľa v tŕní." "Latn" test_phon sl "xiSn'i:tSin bR'a:tEts uzg'a:ja p'o:wZE p'o:t fik'u:sOm" "Hišničin bratec vzgaja polže pod fikusom." "Latn" From 1c4aafbbfa37d2b7170535f2b8a07a0550ed8d9c Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Fri, 2 Jul 2021 21:48:51 +0200 Subject: [PATCH 20/34] =?UTF-8?q?Add=20Quenya=20=E2=9F=A8ht=E2=9F=A9=20dig?= =?UTF-8?q?raph?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit According to Appendix E of The Lord of the Rings, “[t]he Quenya combination ht has the sound of cht, as in German echt, acht”. As echt and acht do not have the same cht sound in German, I assume this means that they are allophones in Quenya just as in German, and ⟨ht⟩ means [çt] after front vowels but [xt] after back vowels. Add tests for both: Telumehtar, the Quenya name of the star Orion, is given in Appendix E as an example of ⟨ht⟩; Mahtar is the father of Nerdanel, wife of Fëanor. --- dictsource/qya_rules | 8 +++++++- tests/language-pronunciation.test | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/dictsource/qya_rules b/dictsource/qya_rules index 925e52c4..1ab2c406 100644 --- a/dictsource/qya_rules +++ b/dictsource/qya_rules @@ -1,5 +1,9 @@ // syllable nuclei: vowels (any length) and diphthongs .L01 i e a o u í é á ó ú î ê â ô û ui oi ai iu eu au +// front vowels (finally): after these, ht is [çt] +.L02 i e í é î ê ui oi ai +// back vowels (finally): after these, ht is [xt] +.L03 a o u á ó ú â ô û iu eu au .replace // turn x into cs, both because that’s how it’s pronounced @@ -63,7 +67,9 @@ .group h h h - // TODO ht, hl, hr, hw, hy + L02) ht Ct + L03) ht xt + // TODO hl, hr, hw, hy .group i i i diff --git a/tests/language-pronunciation.test b/tests/language-pronunciation.test index ec5ed831..31981140 100755 --- a/tests/language-pronunciation.test +++ b/tests/language-pronunciation.test @@ -186,7 +186,7 @@ S'a 'OksidU p'or- z'&~Ng&U~_:_: ,E*&U~ p,&l'avR&Z dU p,u*@-tug'es#" "Luís argüia à Júlia que «brações, fé, chá, óxido, pôr, zângão» eram palavras do português." "Latn" -test_phon qya ",aInul'indal,e ald'iNga aNk'alim,a and'u:Ril at'akwe k,alak'iRja k,uivi;'e:nen ,eaR'endil el'endil ,elent'a:Ri; el'essaR 'eNkwi;,e e'onwe eR'esse,a h,elkaR'akse hj'aRmen is'ilduR nam'a:Ri;,e n,u:men'o:Re 'oRom,e ot'okwe pel'o:Ri s'aURon tan'ikwet,il tuR'ambaR und'o:mi;,el ut'umno" "Ainulindalë aldinga ancalima Andúril ataquë Calacirya Cuiviénen Eärendil Elendil Elentári Elessar enquië Eönwe Eressëa Helcaraxë Hyarmen Isildur Namárië Númenórë Orome otoquë Pelóri Sauron Taniquetil Turambar Undómiel Utumno" "Quenya" +test_phon qya ",aInul'indal,e ald'iNga aNk'alim,a and'u:Ril at'akwe k,alak'iRja k,uivi;'e:nen ,eaR'endil el'endil ,elent'a:Ri; el'essaR 'eNkwi;,e e'onwe eR'esse,a h,elkaR'akse hj'aRmen is'ilduR m'axtan nam'a:Ri;,e n,u:men'o:Re 'oRom,e ot'okwe pel'o:Ri s'aURon tan'ikwet,il t,elum'eCtaR tuR'ambaR und'o:mi;,el ut'umno" "Ainulindalë aldinga ancalima Andúril ataquë Calacirya Cuiviénen Eärendil Elendil Elentári Elessar enquië Eönwe Eressëa Helcaraxë Hyarmen Isildur Mahtan Namárië Númenórë Orome otoquë Pelóri Sauron Taniquetil Telumehtar Turambar Undómiel Utumno" "Quenya" test_phon ro "m,uzikol'og@_! yn b'eZ v'ynd wh'iski Si tekw'ila p@-*'ets f'iks" "Muzicologă în bej vând whisky și tequila, preț fix." "Latn" test_phon ru "Syr'okVja E#l;ikt@-r;if;ik'Atsyja 'juZnyx gub;'ern;ij d'Ast m'oS;nyj tVltS;'ok pVdj'8mu s;'elskVvV xVz;'Ajstva#" "Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства." "Cyrl" From 8f9c4584935479a608f0c0916d44660b4726001c Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Fri, 2 Jul 2021 22:00:21 +0200 Subject: [PATCH 21/34] =?UTF-8?q?Fix=20Quenya=20=E2=9F=A8ch=E2=9F=A9=20pro?= =?UTF-8?q?nunciation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Appendix E of The Lord of the Rings describes it as “the sound heard in bach (in German or Welsh)”; I think that means [χ], not [x] (voiceless uvular rather than velar fricative), and out of the base1 phonemes, [[X]] is closer to that than [[x]]. (The German phonemes redefine [[x]] to be closer to [[X]], if I’m not mistaken, but I don’t think we need that. Note also that we actually need [[x]] for Quenya ⟨ht⟩.) --- dictsource/qya_rules | 2 +- dictsource/sjn_rules | 2 +- tests/language-pronunciation.test | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dictsource/qya_rules b/dictsource/qya_rules index 1ab2c406..8530537b 100644 --- a/dictsource/qya_rules +++ b/dictsource/qya_rules @@ -36,7 +36,7 @@ // recall that ch was replaced with x earlier .group x - x x + x X .group d d d diff --git a/dictsource/sjn_rules b/dictsource/sjn_rules index 70108271..268416e6 100644 --- a/dictsource/sjn_rules +++ b/dictsource/sjn_rules @@ -34,7 +34,7 @@ // recall that ch was replaced with x earlier .group x - x x + x X .group d d d diff --git a/tests/language-pronunciation.test b/tests/language-pronunciation.test index 31981140..cdd3dc86 100755 --- a/tests/language-pronunciation.test +++ b/tests/language-pronunciation.test @@ -194,7 +194,7 @@ test_phon sd "s'Indhi b'o:li; 'Ind.o: jo:R'Vpi xa:nd'a:n s'a~: t[a:l'Vq R,@k#@nd J'Vnhn t['e: ,aRb'i: bo:l'i:;a J'o: b'I t[@m'a:m v'Vd.o: as'VR ,a:he: h'Ina v'aqt s'Indhi b'o:li s'Indh J'e: m'Vk# b'o:li_! 'ae~ d,@f@t['VRi z@b'a:n ,a:he:" "سنڌي ٻولي انڊو يورپي خاندان سان تعلق رکندڙ آريائي ٻولي آھي، جنھن تي عربي ٻوليءَ جو بہ تمام وڏو اثر آهي. هن وقت سنڌي ٻولي سنڌ جي مک ٻولي ۽ دفتري زبان آھي." "Arab" test_phon si "t'aw@t st#'a:n@ k'i:p@j,@kin w'a:rta: w'u: s'ul.u p'ipiri:m s'ah@ d'e:s@p,a:l@n@ p'akS@ k r'ija:k,a:ri:n 'at@r@ '&tiwu: g'&t.um h'e:tuwen 'ek 'ajeku m'ij@gos k'i:p@ d'eneku t'uwa:l@ l'aba: t'ibe:" "තවත් ස්ථාන කීපයකින් වාර්තා වූ සුළු පිපිරීම් සහ දේශපාලන පක්ෂ ක්‍රියාකාරීන් අතර ඇතිවූ ගැටුම් හේතුවෙන් එක් අයෙකු මියගොස් කීප දෙනෙකු තුවාල ලබා තිබේ." "Sinh" -test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn aRn'OIdi;,ad 'aRved,ui bel'eRi;,and b'oRom,iR bRag'ollax bR'eTil bRiT'ombaR bR'uinen k'aIR kaR'aDRas k,elebR'i:an kRiss'aEgRim d'eneT,oR dR'eNgist d'u::n ekT'eli;,on 'emyn eR'i;ad,oR f'ean,oR find'uilas f'iNgon fiNg'olfin fin'aRfin f'oRox,el g'alaD,on gal'adRi;,el gR'ond gw'aIhiR j'aRwaIn 'imladR,is j'oReT iT'ili;,en loTl'o:Ri;,en m'enegR,oT miT'eITel miTR'andiR moR'annon m'oRi;,a n'aRgoTR,ond oR'offin osg'ili;,aT pal'anti:R p,alant'i:Ri pel'ennoR p,eRi;'annaT sil'ivRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Arnoediad Arvedui Beleriand Boromir Bragollach Brethil Brithombar Bruinen Cair Caradhras Celebrían Crissaegrim Denethor Drengist dûn Ecthelion Emyn Eriador Fëanor Finduilas Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Gwaihir Iarwain Imladris Ioreth Ithilien Lothlórien Menegroth Mitheithel Mithrandir Morannon Moria Nargothrond Orophin Osgiliath Palantír Palantíri Pelennor Periannath Silivren Thorondor" "Sindarin" +test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn aRn'OIdi;,ad 'aRved,ui bel'eRi;,and b'oRom,iR bRag'ollaX bR'eTil bRiT'ombaR bR'uinen k'aIR kaR'aDRas k,elebR'i:an kRiss'aEgRim d'eneT,oR dR'eNgist d'u::n ekT'eli;,on 'emyn eR'i;ad,oR f'ean,oR find'uilas f'iNgon fiNg'olfin fin'aRfin f'oRoX,el g'alaD,on gal'adRi;,el gR'ond gw'aIhiR j'aRwaIn 'imladR,is j'oReT iT'ili;,en loTl'o:Ri;,en m'enegR,oT miT'eITel miTR'andiR moR'annon m'oRi;,a n'aRgoTR,ond oR'offin osg'ili;,aT pal'anti:R p,alant'i:Ri pel'ennoR p,eRi;'annaT sil'ivRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Arnoediad Arvedui Beleriand Boromir Bragollach Brethil Brithombar Bruinen Cair Caradhras Celebrían Crissaegrim Denethor Drengist dûn Ecthelion Emyn Eriador Fëanor Finduilas Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Gwaihir Iarwain Imladris Ioreth Ithilien Lothlórien Menegroth Mitheithel Mithrandir Morannon Moria Nargothrond Orophin Osgiliath Palantír Palantíri Pelennor Periannath Silivren Thorondor" "Sindarin" test_phon sk "k'r:d;el^ St;'astni:Q d;'atl^ow 'utSi: pR'i;u:st;i: v'a:hu m'l:kveho k'on^a 'ophRi:zat; k'uoRu_:_: a ZR'at; tS'eRstve: m'eso p'et;ti:Zdn^,ove: v'l:tSata: n'eRvo:zn^e St;'ekaju: n'amu,ojho d;'atl^a_! v_ t'r:n^i:" "Kŕdeľ šťastných ďatľov učí pri ústí Váhu mĺkveho koňa obhrýzať kôru a žrať čerstvé mäso. Päťtýždňové vĺčatá nervózne štekajú na môjho ďatľa v tŕní." "Latn" test_phon sl "xiSn'i:tSin bR'a:tEts uzg'a:ja p'o:wZE p'o:t fik'u:sOm" "Hišničin bratec vzgaja polže pod fikusom." "Latn" From 438be8ed5062db562e652ab536aa51f4cc8124c6 Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Sat, 3 Jul 2021 16:24:47 +0200 Subject: [PATCH 22/34] =?UTF-8?q?Change=20short=20Elvish=20=E2=9F=A8i?= =?UTF-8?q?=E2=9F=A9=20from=20[[i]]=20to=20[[I]]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The B-side of the album Poems and Songs of Middle Earth begins with a reading of the Sindarin poem A Elbereth Gilthoniel by J.R.R. Tolkien himself, and in this recording, as best I can tell, he always pronounces short i (i.e. ⟨i⟩, not ⟨í⟩ or ⟨î⟩) as /ɪ/ rather than /i/, regardless of stress; for instance, the word “silivren” has the same i-sound twice (it is not “silívren”). I believe this means that we should use the phoneme [[I]], not [[i]], for ⟨i⟩ (in both Quenya and Sindarin). --- dictsource/qya_rules | 6 +++--- dictsource/sjn_rules | 6 +++--- tests/language-pronunciation.test | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/dictsource/qya_rules b/dictsource/qya_rules index 8530537b..b95b64fc 100644 --- a/dictsource/qya_rules +++ b/dictsource/qya_rules @@ -72,11 +72,11 @@ // TODO hl, hr, hw, hy .group i - i i + i I iu (+ iu // light penultimate syllable: put stress on antepenultimate - i (L01X =i - i (CL01X =i + i (L01X =I + i (CL01X =I .group í í i: diff --git a/dictsource/sjn_rules b/dictsource/sjn_rules index 268416e6..2ee5c7a6 100644 --- a/dictsource/sjn_rules +++ b/dictsource/sjn_rules @@ -68,11 +68,11 @@ // TODO hw .group i - i i + i I _) i (A+ j // light penultimate syllable: put stress on antepenultimate - i (L01X =i - i (CL01X =i + i (L01X =I + i (CL01X =I .group í í i: diff --git a/tests/language-pronunciation.test b/tests/language-pronunciation.test index cdd3dc86..3ebd7135 100755 --- a/tests/language-pronunciation.test +++ b/tests/language-pronunciation.test @@ -186,7 +186,7 @@ S'a 'OksidU p'or- z'&~Ng&U~_:_: ,E*&U~ p,&l'avR&Z dU p,u*@-tug'es#" "Luís argüia à Júlia que «brações, fé, chá, óxido, pôr, zângão» eram palavras do português." "Latn" -test_phon qya ",aInul'indal,e ald'iNga aNk'alim,a and'u:Ril at'akwe k,alak'iRja k,uivi;'e:nen ,eaR'endil el'endil ,elent'a:Ri; el'essaR 'eNkwi;,e e'onwe eR'esse,a h,elkaR'akse hj'aRmen is'ilduR m'axtan nam'a:Ri;,e n,u:men'o:Re 'oRom,e ot'okwe pel'o:Ri s'aURon tan'ikwet,il t,elum'eCtaR tuR'ambaR und'o:mi;,el ut'umno" "Ainulindalë aldinga ancalima Andúril ataquë Calacirya Cuiviénen Eärendil Elendil Elentári Elessar enquië Eönwe Eressëa Helcaraxë Hyarmen Isildur Mahtan Namárië Númenórë Orome otoquë Pelóri Sauron Taniquetil Telumehtar Turambar Undómiel Utumno" "Quenya" +test_phon qya ",aInul'Indal,e ald'INga aNk'alIm,a and'u:RIl at'akwe k,alak'IRja k,uivI;'e:nen ,eaR'endIl el'endIl ,elent'a:RI; el'essaR 'eNkwI;,e e'onwe eR'esse,a h,elkaR'akse hj'aRmen Is'IlduR m'axtan nam'a:RI;,e n,u:men'o:Re 'oRom,e ot'okwe pel'o:RI s'aURon tan'Ikwet,Il t,elum'eCtaR tuR'ambaR und'o:mI;,el ut'umno" "Ainulindalë aldinga ancalima Andúril ataquë Calacirya Cuiviénen Eärendil Elendil Elentári Elessar enquië Eönwe Eressëa Helcaraxë Hyarmen Isildur Mahtan Namárië Númenórë Orome otoquë Pelóri Sauron Taniquetil Telumehtar Turambar Undómiel Utumno" "Quenya" test_phon ro "m,uzikol'og@_! yn b'eZ v'ynd wh'iski Si tekw'ila p@-*'ets f'iks" "Muzicologă în bej vând whisky și tequila, preț fix." "Latn" test_phon ru "Syr'okVja E#l;ikt@-r;if;ik'Atsyja 'juZnyx gub;'ern;ij d'Ast m'oS;nyj tVltS;'ok pVdj'8mu s;'elskVvV xVz;'Ajstva#" "Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства." "Cyrl" @@ -194,7 +194,7 @@ test_phon sd "s'Indhi b'o:li; 'Ind.o: jo:R'Vpi xa:nd'a:n s'a~: t[a:l'Vq R,@k#@nd J'Vnhn t['e: ,aRb'i: bo:l'i:;a J'o: b'I t[@m'a:m v'Vd.o: as'VR ,a:he: h'Ina v'aqt s'Indhi b'o:li s'Indh J'e: m'Vk# b'o:li_! 'ae~ d,@f@t['VRi z@b'a:n ,a:he:" "سنڌي ٻولي انڊو يورپي خاندان سان تعلق رکندڙ آريائي ٻولي آھي، جنھن تي عربي ٻوليءَ جو بہ تمام وڏو اثر آهي. هن وقت سنڌي ٻولي سنڌ جي مک ٻولي ۽ دفتري زبان آھي." "Arab" test_phon si "t'aw@t st#'a:n@ k'i:p@j,@kin w'a:rta: w'u: s'ul.u p'ipiri:m s'ah@ d'e:s@p,a:l@n@ p'akS@ k r'ija:k,a:ri:n 'at@r@ '&tiwu: g'&t.um h'e:tuwen 'ek 'ajeku m'ij@gos k'i:p@ d'eneku t'uwa:l@ l'aba: t'ibe:" "තවත් ස්ථාන කීපයකින් වාර්තා වූ සුළු පිපිරීම් සහ දේශපාලන පක්ෂ ක්‍රියාකාරීන් අතර ඇතිවූ ගැටුම් හේතුවෙන් එක් අයෙකු මියගොස් කීප දෙනෙකු තුවාල ලබා තිබේ." "Sinh" -test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn aRn'OIdi;,ad 'aRved,ui bel'eRi;,and b'oRom,iR bRag'ollaX bR'eTil bRiT'ombaR bR'uinen k'aIR kaR'aDRas k,elebR'i:an kRiss'aEgRim d'eneT,oR dR'eNgist d'u::n ekT'eli;,on 'emyn eR'i;ad,oR f'ean,oR find'uilas f'iNgon fiNg'olfin fin'aRfin f'oRoX,el g'alaD,on gal'adRi;,el gR'ond gw'aIhiR j'aRwaIn 'imladR,is j'oReT iT'ili;,en loTl'o:Ri;,en m'enegR,oT miT'eITel miTR'andiR moR'annon m'oRi;,a n'aRgoTR,ond oR'offin osg'ili;,aT pal'anti:R p,alant'i:Ri pel'ennoR p,eRi;'annaT sil'ivRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Arnoediad Arvedui Beleriand Boromir Bragollach Brethil Brithombar Bruinen Cair Caradhras Celebrían Crissaegrim Denethor Drengist dûn Ecthelion Emyn Eriador Fëanor Finduilas Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Gwaihir Iarwain Imladris Ioreth Ithilien Lothlórien Menegroth Mitheithel Mithrandir Morannon Moria Nargothrond Orophin Osgiliath Palantír Palantíri Pelennor Periannath Silivren Thorondor" "Sindarin" +test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn aRn'OIdI;,ad 'aRved,ui bel'eRI;,and b'oRom,IR bRag'ollaX bR'eTIl bRIT'ombaR bR'uinen k'aIR kaR'aDRas k,elebR'i:an kRIss'aEgRIm d'eneT,oR dR'eNgIst d'u::n ekT'elI;,on 'emyn eR'I;ad,oR f'ean,oR fInd'uilas f'INgon fINg'olfIn fIn'aRfIn f'oRoX,el g'alaD,on gal'adRI;,el gR'ond gw'aIhIR j'aRwaIn 'ImladR,Is j'oReT IT'IlI;,en loTl'o:RI;,en m'enegR,oT mIT'eITel mITR'andIR moR'annon m'oRI;,a n'aRgoTR,ond oR'offIn osg'IlI;,aT pal'anti:R p,alant'i:RI pel'ennoR p,eRI;'annaT sIl'IvRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Arnoediad Arvedui Beleriand Boromir Bragollach Brethil Brithombar Bruinen Cair Caradhras Celebrían Crissaegrim Denethor Drengist dûn Ecthelion Emyn Eriador Fëanor Finduilas Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Gwaihir Iarwain Imladris Ioreth Ithilien Lothlórien Menegroth Mitheithel Mithrandir Morannon Moria Nargothrond Orophin Osgiliath Palantír Palantíri Pelennor Periannath Silivren Thorondor" "Sindarin" test_phon sk "k'r:d;el^ St;'astni:Q d;'atl^ow 'utSi: pR'i;u:st;i: v'a:hu m'l:kveho k'on^a 'ophRi:zat; k'uoRu_:_: a ZR'at; tS'eRstve: m'eso p'et;ti:Zdn^,ove: v'l:tSata: n'eRvo:zn^e St;'ekaju: n'amu,ojho d;'atl^a_! v_ t'r:n^i:" "Kŕdeľ šťastných ďatľov učí pri ústí Váhu mĺkveho koňa obhrýzať kôru a žrať čerstvé mäso. Päťtýždňové vĺčatá nervózne štekajú na môjho ďatľa v tŕní." "Latn" test_phon sl "xiSn'i:tSin bR'a:tEts uzg'a:ja p'o:wZE p'o:t fik'u:sOm" "Hišničin bratec vzgaja polže pod fikusom." "Latn" From 2d47c32ba951e3f0e309a0dd01e21cd2ea85bc5e Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Sat, 3 Jul 2021 17:46:59 +0200 Subject: [PATCH 23/34] =?UTF-8?q?Add=20Quenya=20=E2=9F=A8hl=E2=9F=A9=20and?= =?UTF-8?q?=20Sindarin=20=E2=9F=A8lh=E2=9F=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Both represent a “voiceless L”; Appendix E of The Lord of the Rings notes that the Quenya ⟨hl⟩ was pronounced like /l/ by the Third Age, but for now we reproduce the original pronunciation. (Maybe we can later use conditional rules for different pronunciations, but I think for now I won’t go down that road.) --- dictsource/qya_rules | 3 ++- dictsource/sjn_rules | 2 +- tests/language-pronunciation.test | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/dictsource/qya_rules b/dictsource/qya_rules index b95b64fc..c52fea18 100644 --- a/dictsource/qya_rules +++ b/dictsource/qya_rules @@ -69,7 +69,8 @@ h h L02) ht Ct L03) ht xt - // TODO hl, hr, hw, hy + hl l# + // TODO hr, hw, hy .group i i I diff --git a/dictsource/sjn_rules b/dictsource/sjn_rules index 2ee5c7a6..cf5994f7 100644 --- a/dictsource/sjn_rules +++ b/dictsource/sjn_rules @@ -84,7 +84,7 @@ .group l l l - // TODO lh + lh l# .group m m m diff --git a/tests/language-pronunciation.test b/tests/language-pronunciation.test index 3ebd7135..0e62fe57 100755 --- a/tests/language-pronunciation.test +++ b/tests/language-pronunciation.test @@ -194,7 +194,7 @@ test_phon sd "s'Indhi b'o:li; 'Ind.o: jo:R'Vpi xa:nd'a:n s'a~: t[a:l'Vq R,@k#@nd J'Vnhn t['e: ,aRb'i: bo:l'i:;a J'o: b'I t[@m'a:m v'Vd.o: as'VR ,a:he: h'Ina v'aqt s'Indhi b'o:li s'Indh J'e: m'Vk# b'o:li_! 'ae~ d,@f@t['VRi z@b'a:n ,a:he:" "سنڌي ٻولي انڊو يورپي خاندان سان تعلق رکندڙ آريائي ٻولي آھي، جنھن تي عربي ٻوليءَ جو بہ تمام وڏو اثر آهي. هن وقت سنڌي ٻولي سنڌ جي مک ٻولي ۽ دفتري زبان آھي." "Arab" test_phon si "t'aw@t st#'a:n@ k'i:p@j,@kin w'a:rta: w'u: s'ul.u p'ipiri:m s'ah@ d'e:s@p,a:l@n@ p'akS@ k r'ija:k,a:ri:n 'at@r@ '&tiwu: g'&t.um h'e:tuwen 'ek 'ajeku m'ij@gos k'i:p@ d'eneku t'uwa:l@ l'aba: t'ibe:" "තවත් ස්ථාන කීපයකින් වාර්තා වූ සුළු පිපිරීම් සහ දේශපාලන පක්ෂ ක්‍රියාකාරීන් අතර ඇතිවූ ගැටුම් හේතුවෙන් එක් අයෙකු මියගොස් කීප දෙනෙකු තුවාල ලබා තිබේ." "Sinh" -test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn aRn'OIdI;,ad 'aRved,ui bel'eRI;,and b'oRom,IR bRag'ollaX bR'eTIl bRIT'ombaR bR'uinen k'aIR kaR'aDRas k,elebR'i:an kRIss'aEgRIm d'eneT,oR dR'eNgIst d'u::n ekT'elI;,on 'emyn eR'I;ad,oR f'ean,oR fInd'uilas f'INgon fINg'olfIn fIn'aRfIn f'oRoX,el g'alaD,on gal'adRI;,el gR'ond gw'aIhIR j'aRwaIn 'ImladR,Is j'oReT IT'IlI;,en loTl'o:RI;,en m'enegR,oT mIT'eITel mITR'andIR moR'annon m'oRI;,a n'aRgoTR,ond oR'offIn osg'IlI;,aT pal'anti:R p,alant'i:RI pel'ennoR p,eRI;'annaT sIl'IvRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Arnoediad Arvedui Beleriand Boromir Bragollach Brethil Brithombar Bruinen Cair Caradhras Celebrían Crissaegrim Denethor Drengist dûn Ecthelion Emyn Eriador Fëanor Finduilas Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Gwaihir Iarwain Imladris Ioreth Ithilien Lothlórien Menegroth Mitheithel Mithrandir Morannon Moria Nargothrond Orophin Osgiliath Palantír Palantíri Pelennor Periannath Silivren Thorondor" "Sindarin" +test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn aRn'OIdI;,ad 'aRved,ui bel'eRI;,and b'oRom,IR bRag'ollaX bR'eTIl bRIT'ombaR bR'uinen k'aIR kaR'aDRas k,elebR'i:an kRIss'aEgRIm d'eneT,oR dR'eNgIst d'u::n ekT'elI;,on 'emyn eR'I;ad,oR f'ean,oR fInd'uilas f'INgon fINg'olfIn fIn'aRfIn f'oRoX,el g'alaD,on gal'adRI;,el gR'ond gw'aIhIR j'aRwaIn 'ImladR,Is j'oReT IT'IlI;,en l#'u::n loTl'o:RI;,en m'enegR,oT mIT'eITel mITR'andIR moR'annon m'oRI;,a n'aRgoTR,ond oR'offIn osg'IlI;,aT pal'anti:R p,alant'i:RI pel'ennoR p,eRI;'annaT sIl'IvRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Arnoediad Arvedui Beleriand Boromir Bragollach Brethil Brithombar Bruinen Cair Caradhras Celebrían Crissaegrim Denethor Drengist dûn Ecthelion Emyn Eriador Fëanor Finduilas Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Gwaihir Iarwain Imladris Ioreth Ithilien lhûn Lothlórien Menegroth Mitheithel Mithrandir Morannon Moria Nargothrond Orophin Osgiliath Palantír Palantíri Pelennor Periannath Silivren Thorondor" "Sindarin" test_phon sk "k'r:d;el^ St;'astni:Q d;'atl^ow 'utSi: pR'i;u:st;i: v'a:hu m'l:kveho k'on^a 'ophRi:zat; k'uoRu_:_: a ZR'at; tS'eRstve: m'eso p'et;ti:Zdn^,ove: v'l:tSata: n'eRvo:zn^e St;'ekaju: n'amu,ojho d;'atl^a_! v_ t'r:n^i:" "Kŕdeľ šťastných ďatľov učí pri ústí Váhu mĺkveho koňa obhrýzať kôru a žrať čerstvé mäso. Päťtýždňové vĺčatá nervózne štekajú na môjho ďatľa v tŕní." "Latn" test_phon sl "xiSn'i:tSin bR'a:tEts uzg'a:ja p'o:wZE p'o:t fik'u:sOm" "Hišničin bratec vzgaja polže pod fikusom." "Latn" From a39b6b70792b4c8bb4a3467464c9519aa3dc7484 Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Sat, 3 Jul 2021 18:25:51 +0200 Subject: [PATCH 24/34] =?UTF-8?q?Add=20Quenya=20=E2=9F=A8hr=E2=9F=A9=20and?= =?UTF-8?q?=20Sindarin=20=E2=9F=A8rh=E2=9F=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Both represent a “voiceless R”, which I believe means a voiceless alveolar trill, [r̥]. Ideally this would be one phoneme, but I’m not sure eSpeak NG currently has a phoneme for this. The Wikipedia article [1][2] lists occurrences in comparatively few languages, and I chose Welsh for guidance: eSpeak NG currently turns Welsh “Rhagfyr” into [[hr'agvYr]], and [[h]] and [[r]] are apparently just two separate phonemes, so for now we do the same for Quenya and Sindarin, and emit hR. [1]: https://en.wikipedia.org/wiki/Voiceless_alveolar_trill [2]: https://en.wikipedia.org/wiki/Special:PermanentLink/1024721264 --- dictsource/qya_rules | 3 ++- dictsource/sjn_rules | 2 +- tests/language-pronunciation.test | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/dictsource/qya_rules b/dictsource/qya_rules index c52fea18..245e968a 100644 --- a/dictsource/qya_rules +++ b/dictsource/qya_rules @@ -70,7 +70,8 @@ L02) ht Ct L03) ht xt hl l# - // TODO hr, hw, hy + hr hR + // TODO hw, hy .group i i I diff --git a/dictsource/sjn_rules b/dictsource/sjn_rules index cf5994f7..13013bf7 100644 --- a/dictsource/sjn_rules +++ b/dictsource/sjn_rules @@ -120,7 +120,7 @@ .group r r R - // TODO rh + rh hR .group s s s diff --git a/tests/language-pronunciation.test b/tests/language-pronunciation.test index 0e62fe57..81bcdc9d 100755 --- a/tests/language-pronunciation.test +++ b/tests/language-pronunciation.test @@ -194,7 +194,7 @@ test_phon sd "s'Indhi b'o:li; 'Ind.o: jo:R'Vpi xa:nd'a:n s'a~: t[a:l'Vq R,@k#@nd J'Vnhn t['e: ,aRb'i: bo:l'i:;a J'o: b'I t[@m'a:m v'Vd.o: as'VR ,a:he: h'Ina v'aqt s'Indhi b'o:li s'Indh J'e: m'Vk# b'o:li_! 'ae~ d,@f@t['VRi z@b'a:n ,a:he:" "سنڌي ٻولي انڊو يورپي خاندان سان تعلق رکندڙ آريائي ٻولي آھي، جنھن تي عربي ٻوليءَ جو بہ تمام وڏو اثر آهي. هن وقت سنڌي ٻولي سنڌ جي مک ٻولي ۽ دفتري زبان آھي." "Arab" test_phon si "t'aw@t st#'a:n@ k'i:p@j,@kin w'a:rta: w'u: s'ul.u p'ipiri:m s'ah@ d'e:s@p,a:l@n@ p'akS@ k r'ija:k,a:ri:n 'at@r@ '&tiwu: g'&t.um h'e:tuwen 'ek 'ajeku m'ij@gos k'i:p@ d'eneku t'uwa:l@ l'aba: t'ibe:" "තවත් ස්ථාන කීපයකින් වාර්තා වූ සුළු පිපිරීම් සහ දේශපාලන පක්ෂ ක්‍රියාකාරීන් අතර ඇතිවූ ගැටුම් හේතුවෙන් එක් අයෙකු මියගොස් කීප දෙනෙකු තුවාල ලබා තිබේ." "Sinh" -test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn aRn'OIdI;,ad 'aRved,ui bel'eRI;,and b'oRom,IR bRag'ollaX bR'eTIl bRIT'ombaR bR'uinen k'aIR kaR'aDRas k,elebR'i:an kRIss'aEgRIm d'eneT,oR dR'eNgIst d'u::n ekT'elI;,on 'emyn eR'I;ad,oR f'ean,oR fInd'uilas f'INgon fINg'olfIn fIn'aRfIn f'oRoX,el g'alaD,on gal'adRI;,el gR'ond gw'aIhIR j'aRwaIn 'ImladR,Is j'oReT IT'IlI;,en l#'u::n loTl'o:RI;,en m'enegR,oT mIT'eITel mITR'andIR moR'annon m'oRI;,a n'aRgoTR,ond oR'offIn osg'IlI;,aT pal'anti:R p,alant'i:RI pel'ennoR p,eRI;'annaT sIl'IvRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Arnoediad Arvedui Beleriand Boromir Bragollach Brethil Brithombar Bruinen Cair Caradhras Celebrían Crissaegrim Denethor Drengist dûn Ecthelion Emyn Eriador Fëanor Finduilas Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Gwaihir Iarwain Imladris Ioreth Ithilien lhûn Lothlórien Menegroth Mitheithel Mithrandir Morannon Moria Nargothrond Orophin Osgiliath Palantír Palantíri Pelennor Periannath Silivren Thorondor" "Sindarin" +test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn aRn'OIdI;,ad 'aRved,ui bel'eRI;,and b'oRom,IR bRag'ollaX bR'eTIl bRIT'ombaR bR'uinen k'aIR kaR'aDRas k,elebR'i:an kRIss'aEgRIm d'eneT,oR dR'eNgIst d'u::n ekT'elI;,on 'emyn eR'I;ad,oR f'ean,oR fInd'uilas f'INgon fINg'olfIn fIn'aRfIn f'oRoX,el g'alaD,on gal'adRI;,el gR'ond gw'aIhIR j'aRwaIn 'ImladR,Is j'oReT IT'IlI;,en l#'u::n loTl'o:RI;,en m'enegR,oT mIT'eITel mITR'andIR moR'annon m'oRI;,a n'aRgoTR,ond oR'offIn osg'IlI;,aT pal'anti:R p,alant'i:RI pel'ennoR p,eRI;'annaT hR'u::n sIl'IvRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Arnoediad Arvedui Beleriand Boromir Bragollach Brethil Brithombar Bruinen Cair Caradhras Celebrían Crissaegrim Denethor Drengist dûn Ecthelion Emyn Eriador Fëanor Finduilas Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Gwaihir Iarwain Imladris Ioreth Ithilien lhûn Lothlórien Menegroth Mitheithel Mithrandir Morannon Moria Nargothrond Orophin Osgiliath Palantír Palantíri Pelennor Periannath rhûn Silivren Thorondor" "Sindarin" test_phon sk "k'r:d;el^ St;'astni:Q d;'atl^ow 'utSi: pR'i;u:st;i: v'a:hu m'l:kveho k'on^a 'ophRi:zat; k'uoRu_:_: a ZR'at; tS'eRstve: m'eso p'et;ti:Zdn^,ove: v'l:tSata: n'eRvo:zn^e St;'ekaju: n'amu,ojho d;'atl^a_! v_ t'r:n^i:" "Kŕdeľ šťastných ďatľov učí pri ústí Váhu mĺkveho koňa obhrýzať kôru a žrať čerstvé mäso. Päťtýždňové vĺčatá nervózne štekajú na môjho ďatľa v tŕní." "Latn" test_phon sl "xiSn'i:tSin bR'a:tEts uzg'a:ja p'o:wZE p'o:t fik'u:sOm" "Hišničin bratec vzgaja polže pod fikusom." "Latn" From 2f77829172b49b8154aa72f74904dd299dd3de60 Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Sun, 4 Jul 2021 17:36:53 +0200 Subject: [PATCH 25/34] =?UTF-8?q?Add=20Elvish=20=E2=9F=A8hw=E2=9F=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is “a voiceless w, as in English white (in northern pronunciation)” according to Appendix E of The Lord of the Rings, and so we copy the [[w#]] phoneme from the English phonemes. I can’t actually hear much of a difference from the previous [[hw]] (I know what the difference between [[w]] and [[w#]] should be, but [[hw]] already sounds like [[w#]] to me), but at least this improves the --ipa output, changing it from [hw] to [ʍ]. --- dictsource/qya_rules | 3 ++- dictsource/sjn_rules | 2 +- phsource/ph_quenya | 18 ++++++++++++++++++ phsource/ph_sindarin | 18 ++++++++++++++++++ tests/language-pronunciation.test | 4 ++-- 5 files changed, 41 insertions(+), 4 deletions(-) diff --git a/dictsource/qya_rules b/dictsource/qya_rules index 245e968a..37ff0aa3 100644 --- a/dictsource/qya_rules +++ b/dictsource/qya_rules @@ -71,7 +71,8 @@ L03) ht xt hl l# hr hR - // TODO hw, hy + hw w# + // TODO hy .group i i I diff --git a/dictsource/sjn_rules b/dictsource/sjn_rules index 13013bf7..b5db6287 100644 --- a/dictsource/sjn_rules +++ b/dictsource/sjn_rules @@ -65,7 +65,7 @@ .group h h h - // TODO hw + hw w# .group i i I diff --git a/phsource/ph_quenya b/phsource/ph_quenya index 71b3b36c..6af2cd76 100644 --- a/phsource/ph_quenya +++ b/phsource/ph_quenya @@ -5,6 +5,24 @@ phoneme n CALL base1/n endphoneme +phoneme w# + vls glt apr // [h] + ipa ʍ + + IF nextPh(isVowel) THEN + NextVowelStarts + VowelStart(w/w@) + VowelStart(w/wa) + VowelStart(w/we) + VowelStart(w/wi) + VowelStart(w/wo) + VowelStart(w/wu) + EndSwitch + ENDIF + + WAV(h/hu, 70) +endphoneme + phoneme aI vwl starttype #a endtype #i diff --git a/phsource/ph_sindarin b/phsource/ph_sindarin index 73b2e4e8..a399d115 100644 --- a/phsource/ph_sindarin +++ b/phsource/ph_sindarin @@ -5,6 +5,24 @@ phoneme n CALL base1/n endphoneme +phoneme w# + vls glt apr // [h] + ipa ʍ + + IF nextPh(isVowel) THEN + NextVowelStarts + VowelStart(w/w@) + VowelStart(w/wa) + VowelStart(w/we) + VowelStart(w/wi) + VowelStart(w/wo) + VowelStart(w/wu) + EndSwitch + ENDIF + + WAV(h/hu, 70) +endphoneme + phoneme aE vwl starttype #a endtype #e diff --git a/tests/language-pronunciation.test b/tests/language-pronunciation.test index 81bcdc9d..8ab9342f 100755 --- a/tests/language-pronunciation.test +++ b/tests/language-pronunciation.test @@ -186,7 +186,7 @@ S'a 'OksidU p'or- z'&~Ng&U~_:_: ,E*&U~ p,&l'avR&Z dU p,u*@-tug'es#" "Luís argüia à Júlia que «brações, fé, chá, óxido, pôr, zângão» eram palavras do português." "Latn" -test_phon qya ",aInul'Indal,e ald'INga aNk'alIm,a and'u:RIl at'akwe k,alak'IRja k,uivI;'e:nen ,eaR'endIl el'endIl ,elent'a:RI; el'essaR 'eNkwI;,e e'onwe eR'esse,a h,elkaR'akse hj'aRmen Is'IlduR m'axtan nam'a:RI;,e n,u:men'o:Re 'oRom,e ot'okwe pel'o:RI s'aURon tan'Ikwet,Il t,elum'eCtaR tuR'ambaR und'o:mI;,el ut'umno" "Ainulindalë aldinga ancalima Andúril ataquë Calacirya Cuiviénen Eärendil Elendil Elentári Elessar enquië Eönwe Eressëa Helcaraxë Hyarmen Isildur Mahtan Namárië Númenórë Orome otoquë Pelóri Sauron Taniquetil Telumehtar Turambar Undómiel Utumno" "Quenya" +test_phon qya ",aInul'Indal,e ald'INga aNk'alIm,a and'u:RIl at'akwe k,alak'IRja k,uivI;'e:nen ,eaR'endIl el'endIl ,elent'a:RI; el'essaR 'eNkwI;,e e'onwe eR'esse,a h,elkaR'akse w#'esta hj'aRmen Is'IlduR m'axtan nam'a:RI;,e n,u:men'o:Re 'oRom,e ot'okwe pel'o:RI s'aURon tan'Ikwet,Il t,elum'eCtaR tuR'ambaR und'o:mI;,el ut'umno" "Ainulindalë aldinga ancalima Andúril ataquë Calacirya Cuiviénen Eärendil Elendil Elentári Elessar enquië Eönwe Eressëa Helcaraxë hwesta Hyarmen Isildur Mahtan Namárië Númenórë Orome otoquë Pelóri Sauron Taniquetil Telumehtar Turambar Undómiel Utumno" "Quenya" test_phon ro "m,uzikol'og@_! yn b'eZ v'ynd wh'iski Si tekw'ila p@-*'ets f'iks" "Muzicologă în bej vând whisky și tequila, preț fix." "Latn" test_phon ru "Syr'okVja E#l;ikt@-r;if;ik'Atsyja 'juZnyx gub;'ern;ij d'Ast m'oS;nyj tVltS;'ok pVdj'8mu s;'elskVvV xVz;'Ajstva#" "Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства." "Cyrl" @@ -194,7 +194,7 @@ test_phon sd "s'Indhi b'o:li; 'Ind.o: jo:R'Vpi xa:nd'a:n s'a~: t[a:l'Vq R,@k#@nd J'Vnhn t['e: ,aRb'i: bo:l'i:;a J'o: b'I t[@m'a:m v'Vd.o: as'VR ,a:he: h'Ina v'aqt s'Indhi b'o:li s'Indh J'e: m'Vk# b'o:li_! 'ae~ d,@f@t['VRi z@b'a:n ,a:he:" "سنڌي ٻولي انڊو يورپي خاندان سان تعلق رکندڙ آريائي ٻولي آھي، جنھن تي عربي ٻوليءَ جو بہ تمام وڏو اثر آهي. هن وقت سنڌي ٻولي سنڌ جي مک ٻولي ۽ دفتري زبان آھي." "Arab" test_phon si "t'aw@t st#'a:n@ k'i:p@j,@kin w'a:rta: w'u: s'ul.u p'ipiri:m s'ah@ d'e:s@p,a:l@n@ p'akS@ k r'ija:k,a:ri:n 'at@r@ '&tiwu: g'&t.um h'e:tuwen 'ek 'ajeku m'ij@gos k'i:p@ d'eneku t'uwa:l@ l'aba: t'ibe:" "තවත් ස්ථාන කීපයකින් වාර්තා වූ සුළු පිපිරීම් සහ දේශපාලන පක්ෂ ක්‍රියාකාරීන් අතර ඇතිවූ ගැටුම් හේතුවෙන් එක් අයෙකු මියගොස් කීප දෙනෙකු තුවාල ලබා තිබේ." "Sinh" -test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn aRn'OIdI;,ad 'aRved,ui bel'eRI;,and b'oRom,IR bRag'ollaX bR'eTIl bRIT'ombaR bR'uinen k'aIR kaR'aDRas k,elebR'i:an kRIss'aEgRIm d'eneT,oR dR'eNgIst d'u::n ekT'elI;,on 'emyn eR'I;ad,oR f'ean,oR fInd'uilas f'INgon fINg'olfIn fIn'aRfIn f'oRoX,el g'alaD,on gal'adRI;,el gR'ond gw'aIhIR j'aRwaIn 'ImladR,Is j'oReT IT'IlI;,en l#'u::n loTl'o:RI;,en m'enegR,oT mIT'eITel mITR'andIR moR'annon m'oRI;,a n'aRgoTR,ond oR'offIn osg'IlI;,aT pal'anti:R p,alant'i:RI pel'ennoR p,eRI;'annaT hR'u::n sIl'IvRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Arnoediad Arvedui Beleriand Boromir Bragollach Brethil Brithombar Bruinen Cair Caradhras Celebrían Crissaegrim Denethor Drengist dûn Ecthelion Emyn Eriador Fëanor Finduilas Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Gwaihir Iarwain Imladris Ioreth Ithilien lhûn Lothlórien Menegroth Mitheithel Mithrandir Morannon Moria Nargothrond Orophin Osgiliath Palantír Palantíri Pelennor Periannath rhûn Silivren Thorondor" "Sindarin" +test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn aRn'OIdI;,ad 'aRved,ui bel'eRI;,and b'oRom,IR bRag'ollaX bR'eTIl bRIT'ombaR bR'uinen k'aIR kaR'aDRas k,elebR'i:an kRIss'aEgRIm d'eneT,oR dR'eNgIst d'u::n ekT'elI;,on 'emyn eR'I;ad,oR f'ean,oR fInd'uilas f'INgon fINg'olfIn fIn'aRfIn f'oRoX,el g'alaD,on gal'adRI;,el gR'ond gw'aIhIR w#'and j'aRwaIn 'ImladR,Is j'oReT IT'IlI;,en l#'u::n loTl'o:RI;,en m'enegR,oT mIT'eITel mITR'andIR moR'annon m'oRI;,a n'aRgoTR,ond oR'offIn osg'IlI;,aT pal'anti:R p,alant'i:RI pel'ennoR p,eRI;'annaT hR'u::n sIl'IvRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Arnoediad Arvedui Beleriand Boromir Bragollach Brethil Brithombar Bruinen Cair Caradhras Celebrían Crissaegrim Denethor Drengist dûn Ecthelion Emyn Eriador Fëanor Finduilas Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Gwaihir hwand Iarwain Imladris Ioreth Ithilien lhûn Lothlórien Menegroth Mitheithel Mithrandir Morannon Moria Nargothrond Orophin Osgiliath Palantír Palantíri Pelennor Periannath rhûn Silivren Thorondor" "Sindarin" test_phon sk "k'r:d;el^ St;'astni:Q d;'atl^ow 'utSi: pR'i;u:st;i: v'a:hu m'l:kveho k'on^a 'ophRi:zat; k'uoRu_:_: a ZR'at; tS'eRstve: m'eso p'et;ti:Zdn^,ove: v'l:tSata: n'eRvo:zn^e St;'ekaju: n'amu,ojho d;'atl^a_! v_ t'r:n^i:" "Kŕdeľ šťastných ďatľov učí pri ústí Váhu mĺkveho koňa obhrýzať kôru a žrať čerstvé mäso. Päťtýždňové vĺčatá nervózne štekajú na môjho ďatľa v tŕní." "Latn" test_phon sl "xiSn'i:tSin bR'a:tEts uzg'a:ja p'o:wZE p'o:t fik'u:sOm" "Hišničin bratec vzgaja polže pod fikusom." "Latn" From 9a1bb4ccf98b7f7b6ecab2b6e21cc6e2a36a1a4e Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Sun, 4 Jul 2021 17:49:22 +0200 Subject: [PATCH 26/34] =?UTF-8?q?Add=20Quenya=20=E2=9F=A8hy=E2=9F=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit According to Appendix E of The Lord of the Rings, this has the same relation to ⟨y⟩ ([j]) as ⟨hw⟩ ([ʍ]) does to ⟨w⟩ ([w]) – this probably means the voiceless palatal fricative [ç], though Wikipedia says a voicless palatal approximant (which would be closer to [j], the voiced palatal approximant) is sometimes also posited. We previously emitted [[hj]] for ⟨hy⟩, which sounds fairly close to [ç], similar to how [[hw]] is fairly close to [ʍ] (see previous commit) – however, translating it into [[C]] again means better --ipa output. (In Sindarin, ⟨hy⟩ does not occur.) --- dictsource/qya_rules | 2 +- tests/language-pronunciation.test | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dictsource/qya_rules b/dictsource/qya_rules index 37ff0aa3..a3b00fda 100644 --- a/dictsource/qya_rules +++ b/dictsource/qya_rules @@ -72,7 +72,7 @@ hl l# hr hR hw w# - // TODO hy + hy C .group i i I diff --git a/tests/language-pronunciation.test b/tests/language-pronunciation.test index 8ab9342f..15cf0b45 100755 --- a/tests/language-pronunciation.test +++ b/tests/language-pronunciation.test @@ -186,7 +186,7 @@ S'a 'OksidU p'or- z'&~Ng&U~_:_: ,E*&U~ p,&l'avR&Z dU p,u*@-tug'es#" "Luís argüia à Júlia que «brações, fé, chá, óxido, pôr, zângão» eram palavras do português." "Latn" -test_phon qya ",aInul'Indal,e ald'INga aNk'alIm,a and'u:RIl at'akwe k,alak'IRja k,uivI;'e:nen ,eaR'endIl el'endIl ,elent'a:RI; el'essaR 'eNkwI;,e e'onwe eR'esse,a h,elkaR'akse w#'esta hj'aRmen Is'IlduR m'axtan nam'a:RI;,e n,u:men'o:Re 'oRom,e ot'okwe pel'o:RI s'aURon tan'Ikwet,Il t,elum'eCtaR tuR'ambaR und'o:mI;,el ut'umno" "Ainulindalë aldinga ancalima Andúril ataquë Calacirya Cuiviénen Eärendil Elendil Elentári Elessar enquië Eönwe Eressëa Helcaraxë hwesta Hyarmen Isildur Mahtan Namárië Númenórë Orome otoquë Pelóri Sauron Taniquetil Telumehtar Turambar Undómiel Utumno" "Quenya" +test_phon qya ",aInul'Indal,e ald'INga aNk'alIm,a and'u:RIl at'akwe k,alak'IRja k,uivI;'e:nen ,eaR'endIl el'endIl ,elent'a:RI; el'essaR 'eNkwI;,e e'onwe eR'esse,a h,elkaR'akse w#'esta C'aRmen Is'IlduR m'axtan nam'a:RI;,e n,u:men'o:Re 'oRom,e ot'okwe pel'o:RI s'aURon tan'Ikwet,Il t,elum'eCtaR tuR'ambaR und'o:mI;,el ut'umno" "Ainulindalë aldinga ancalima Andúril ataquë Calacirya Cuiviénen Eärendil Elendil Elentári Elessar enquië Eönwe Eressëa Helcaraxë hwesta Hyarmen Isildur Mahtan Namárië Númenórë Orome otoquë Pelóri Sauron Taniquetil Telumehtar Turambar Undómiel Utumno" "Quenya" test_phon ro "m,uzikol'og@_! yn b'eZ v'ynd wh'iski Si tekw'ila p@-*'ets f'iks" "Muzicologă în bej vând whisky și tequila, preț fix." "Latn" test_phon ru "Syr'okVja E#l;ikt@-r;if;ik'Atsyja 'juZnyx gub;'ern;ij d'Ast m'oS;nyj tVltS;'ok pVdj'8mu s;'elskVvV xVz;'Ajstva#" "Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства." "Cyrl" From cc4b50f3f47a7a7a9c59a1e39ff1a3593a762621 Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Sun, 4 Jul 2021 19:45:01 +0200 Subject: [PATCH 27/34] Replace Elvish [[ui]]/[[uI]] diphthong MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously, we used vdiph/ui_4 for [[ui]]; I think the main reason for that was that I didn’t like how the most common ⟨ui⟩, vdiph/ui, seemed to almost vanish in “Cuiviénen”. However, vdiph/ui_4 has the curious property that in some positions, e.g. ⟨uia⟩ in “tuia” or ⟨uil⟩ “tuilindo”, it sounds (to me) more like /ul/ than /ui/. (This also affects Finnish, which seems to be the only other language that uses vdiph/ui_4 [a few other languages also use it for [[ui]] but don’t seem to emit that phoneme in their rules files] – listen to eSpeak NG pronounce Finnish ”luiun”, for instance.) I eventually found out that this can be worked around by substantially lengthening the phoneme (length 500 seems to work in all positions), but this extreme length (the absolute maximum is just 511) becomes rather noticeable whenever the ui is used, including in positions where it had sounded just fine before. Meanwhile, the more standard vdiph/ui can be made to sound reasonably well in “Cuiviénen” with a much smaller increment to its length: 290 (as also in ph_lithuanian) instead of 240 (as in ph_base2) is enough. In this version, [[uI]] sounds acceptable enough for Elvish ⟨ui⟩ in all positions, as far as I can tell. --- dictsource/qya_rules | 2 +- dictsource/sjn_rules | 2 +- phsource/ph_quenya | 6 +++--- phsource/ph_sindarin | 6 +++--- tests/language-pronunciation.test | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/dictsource/qya_rules b/dictsource/qya_rules index a3b00fda..9befa3e4 100644 --- a/dictsource/qya_rules +++ b/dictsource/qya_rules @@ -143,7 +143,7 @@ .group u u u - ui (+ ui + ui (+ uI // light penultimate syllable: put stress on antepenultimate u (L01X =u u (CL01X =u diff --git a/dictsource/sjn_rules b/dictsource/sjn_rules index b5db6287..ccd3746d 100644 --- a/dictsource/sjn_rules +++ b/dictsource/sjn_rules @@ -137,7 +137,7 @@ .group u u u - ui (+ ui + ui (+ uI // light penultimate syllable: put stress on antepenultimate u (L01X =u u (CL01X =u diff --git a/phsource/ph_quenya b/phsource/ph_quenya index 6af2cd76..830eb1ac 100644 --- a/phsource/ph_quenya +++ b/phsource/ph_quenya @@ -30,11 +30,11 @@ phoneme aI FMT(vdiph/ai) endphoneme -phoneme ui +phoneme uI vwl starttype #u endtype #i - length 270 + length 290 lng - FMT(vdiph/ui_4) + FMT(vdiph/ui) endphoneme phoneme iu diff --git a/phsource/ph_sindarin b/phsource/ph_sindarin index a399d115..c3711b75 100644 --- a/phsource/ph_sindarin +++ b/phsource/ph_sindarin @@ -36,9 +36,9 @@ phoneme aI FMT(vdiph/ai) endphoneme -phoneme ui +phoneme uI vwl starttype #u endtype #i - length 270 + length 290 lng - FMT(vdiph/ui_4) + FMT(vdiph/ui) endphoneme diff --git a/tests/language-pronunciation.test b/tests/language-pronunciation.test index 15cf0b45..baf85657 100755 --- a/tests/language-pronunciation.test +++ b/tests/language-pronunciation.test @@ -186,7 +186,7 @@ S'a 'OksidU p'or- z'&~Ng&U~_:_: ,E*&U~ p,&l'avR&Z dU p,u*@-tug'es#" "Luís argüia à Júlia que «brações, fé, chá, óxido, pôr, zângão» eram palavras do português." "Latn" -test_phon qya ",aInul'Indal,e ald'INga aNk'alIm,a and'u:RIl at'akwe k,alak'IRja k,uivI;'e:nen ,eaR'endIl el'endIl ,elent'a:RI; el'essaR 'eNkwI;,e e'onwe eR'esse,a h,elkaR'akse w#'esta C'aRmen Is'IlduR m'axtan nam'a:RI;,e n,u:men'o:Re 'oRom,e ot'okwe pel'o:RI s'aURon tan'Ikwet,Il t,elum'eCtaR tuR'ambaR und'o:mI;,el ut'umno" "Ainulindalë aldinga ancalima Andúril ataquë Calacirya Cuiviénen Eärendil Elendil Elentári Elessar enquië Eönwe Eressëa Helcaraxë hwesta Hyarmen Isildur Mahtan Namárië Númenórë Orome otoquë Pelóri Sauron Taniquetil Telumehtar Turambar Undómiel Utumno" "Quenya" +test_phon qya ",aInul'Indal,e ald'INga aNk'alIm,a and'u:RIl at'akwe k,alak'IRja k,uIvI;'e:nen ,eaR'endIl el'endIl ,elent'a:RI; el'essaR 'eNkwI;,e e'onwe eR'esse,a h,elkaR'akse w#'esta C'aRmen Is'IlduR m'axtan nam'a:RI;,e n,u:men'o:Re 'oRom,e ot'okwe pel'o:RI s'aURon tan'Ikwet,Il t,elum'eCtaR tuR'ambaR und'o:mI;,el ut'umno" "Ainulindalë aldinga ancalima Andúril ataquë Calacirya Cuiviénen Eärendil Elendil Elentári Elessar enquië Eönwe Eressëa Helcaraxë hwesta Hyarmen Isildur Mahtan Namárië Númenórë Orome otoquë Pelóri Sauron Taniquetil Telumehtar Turambar Undómiel Utumno" "Quenya" test_phon ro "m,uzikol'og@_! yn b'eZ v'ynd wh'iski Si tekw'ila p@-*'ets f'iks" "Muzicologă în bej vând whisky și tequila, preț fix." "Latn" test_phon ru "Syr'okVja E#l;ikt@-r;if;ik'Atsyja 'juZnyx gub;'ern;ij d'Ast m'oS;nyj tVltS;'ok pVdj'8mu s;'elskVvV xVz;'Ajstva#" "Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства." "Cyrl" @@ -194,7 +194,7 @@ test_phon sd "s'Indhi b'o:li; 'Ind.o: jo:R'Vpi xa:nd'a:n s'a~: t[a:l'Vq R,@k#@nd J'Vnhn t['e: ,aRb'i: bo:l'i:;a J'o: b'I t[@m'a:m v'Vd.o: as'VR ,a:he: h'Ina v'aqt s'Indhi b'o:li s'Indh J'e: m'Vk# b'o:li_! 'ae~ d,@f@t['VRi z@b'a:n ,a:he:" "سنڌي ٻولي انڊو يورپي خاندان سان تعلق رکندڙ آريائي ٻولي آھي، جنھن تي عربي ٻوليءَ جو بہ تمام وڏو اثر آهي. هن وقت سنڌي ٻولي سنڌ جي مک ٻولي ۽ دفتري زبان آھي." "Arab" test_phon si "t'aw@t st#'a:n@ k'i:p@j,@kin w'a:rta: w'u: s'ul.u p'ipiri:m s'ah@ d'e:s@p,a:l@n@ p'akS@ k r'ija:k,a:ri:n 'at@r@ '&tiwu: g'&t.um h'e:tuwen 'ek 'ajeku m'ij@gos k'i:p@ d'eneku t'uwa:l@ l'aba: t'ibe:" "තවත් ස්ථාන කීපයකින් වාර්තා වූ සුළු පිපිරීම් සහ දේශපාලන පක්ෂ ක්‍රියාකාරීන් අතර ඇතිවූ ගැටුම් හේතුවෙන් එක් අයෙකු මියගොස් කීප දෙනෙකු තුවාල ලබා තිබේ." "Sinh" -test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn aRn'OIdI;,ad 'aRved,ui bel'eRI;,and b'oRom,IR bRag'ollaX bR'eTIl bRIT'ombaR bR'uinen k'aIR kaR'aDRas k,elebR'i:an kRIss'aEgRIm d'eneT,oR dR'eNgIst d'u::n ekT'elI;,on 'emyn eR'I;ad,oR f'ean,oR fInd'uilas f'INgon fINg'olfIn fIn'aRfIn f'oRoX,el g'alaD,on gal'adRI;,el gR'ond gw'aIhIR w#'and j'aRwaIn 'ImladR,Is j'oReT IT'IlI;,en l#'u::n loTl'o:RI;,en m'enegR,oT mIT'eITel mITR'andIR moR'annon m'oRI;,a n'aRgoTR,ond oR'offIn osg'IlI;,aT pal'anti:R p,alant'i:RI pel'ennoR p,eRI;'annaT hR'u::n sIl'IvRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Arnoediad Arvedui Beleriand Boromir Bragollach Brethil Brithombar Bruinen Cair Caradhras Celebrían Crissaegrim Denethor Drengist dûn Ecthelion Emyn Eriador Fëanor Finduilas Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Gwaihir hwand Iarwain Imladris Ioreth Ithilien lhûn Lothlórien Menegroth Mitheithel Mithrandir Morannon Moria Nargothrond Orophin Osgiliath Palantír Palantíri Pelennor Periannath rhûn Silivren Thorondor" "Sindarin" +test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn aRn'OIdI;,ad 'aRved,uI bel'eRI;,and b'oRom,IR bRag'ollaX bR'eTIl bRIT'ombaR bR'uInen k'aIR kaR'aDRas k,elebR'i:an kRIss'aEgRIm d'eneT,oR dR'eNgIst d'u::n ekT'elI;,on 'emyn eR'I;ad,oR f'ean,oR fInd'uIlas f'INgon fINg'olfIn fIn'aRfIn f'oRoX,el g'alaD,on gal'adRI;,el gR'ond gw'aIhIR w#'and j'aRwaIn 'ImladR,Is j'oReT IT'IlI;,en l#'u::n loTl'o:RI;,en m'enegR,oT mIT'eITel mITR'andIR moR'annon m'oRI;,a n'aRgoTR,ond oR'offIn osg'IlI;,aT pal'anti:R p,alant'i:RI pel'ennoR p,eRI;'annaT hR'u::n sIl'IvRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Arnoediad Arvedui Beleriand Boromir Bragollach Brethil Brithombar Bruinen Cair Caradhras Celebrían Crissaegrim Denethor Drengist dûn Ecthelion Emyn Eriador Fëanor Finduilas Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Gwaihir hwand Iarwain Imladris Ioreth Ithilien lhûn Lothlórien Menegroth Mitheithel Mithrandir Morannon Moria Nargothrond Orophin Osgiliath Palantír Palantíri Pelennor Periannath rhûn Silivren Thorondor" "Sindarin" test_phon sk "k'r:d;el^ St;'astni:Q d;'atl^ow 'utSi: pR'i;u:st;i: v'a:hu m'l:kveho k'on^a 'ophRi:zat; k'uoRu_:_: a ZR'at; tS'eRstve: m'eso p'et;ti:Zdn^,ove: v'l:tSata: n'eRvo:zn^e St;'ekaju: n'amu,ojho d;'atl^a_! v_ t'r:n^i:" "Kŕdeľ šťastných ďatľov učí pri ústí Váhu mĺkveho koňa obhrýzať kôru a žrať čerstvé mäso. Päťtýždňové vĺčatá nervózne štekajú na môjho ďatľa v tŕní." "Latn" test_phon sl "xiSn'i:tSin bR'a:tEts uzg'a:ja p'o:wZE p'o:t fik'u:sOm" "Hišničin bratec vzgaja polže pod fikusom." "Latn" From 4ed36b07ec2413ffa12fec9dfb2dd1bd20b535d6 Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Sun, 4 Jul 2021 20:54:25 +0200 Subject: [PATCH 28/34] =?UTF-8?q?Fix=20Elvish=20=E2=9F=A8e=E2=9F=A9,=20?= =?UTF-8?q?=E2=9F=A8=C3=A9=E2=9F=A9,=20=E2=9F=A8=C3=AA=E2=9F=A9=20vowels?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ⟨e⟩ almost certainly always represents [ɛ], not [e]. Appendix E of The Lord of the Rings describes it as the sound in English “were”, and I’m not aware of any English dialect that pronounces “were” with an [e]. In Quenya, long ⟨é⟩ (and, presumably, ⟨ê⟩) is, according to Appendix E, “tenser and ‘closer’”, which I assume means [e]. Several online sources agree with this as well. In Sindarin, Appendix E is quite clear that ⟨é⟩ has “the same quality” as ⟨e⟩, only differring from it in length: I assume this must mean that ⟨é⟩ is [ɛː] in Sindarin. The online information on this is confusing and sometimes contradictory even within the same page; several sources claim that Sindarin has an [eː], but I have not seen this claim substantiated with a source from Tolkien, and I suspect it’s simply a confusion with Quenya. It scarcely matters, anyway: Sindarin words with ⟨é⟩ or ⟨ê⟩ seem to be pretty rare. (I’m aware of a single word with an ⟨é⟩ – the name Eluréd, son of Dior – and the Omikhleia Sindarin dictionary [1] features some words with ⟨ê⟩, giving their pronunciation with [ɛː].) The [[EI]] phoneme for Sindarin ⟨ei⟩ is copied from the base2 phonemes. [1]: https://www.jrrvf.com/hisweloke/sindar/index.html --- dictsource/qya_rules | 6 +++--- dictsource/sjn_rules | 12 ++++++------ phsource/ph_sindarin | 6 ++++++ tests/language-pronunciation.test | 4 ++-- 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/dictsource/qya_rules b/dictsource/qya_rules index 9befa3e4..1cb90788 100644 --- a/dictsource/qya_rules +++ b/dictsource/qya_rules @@ -46,11 +46,11 @@ ð D .group e - e e + e E eu (+ EU // light penultimate syllable: put stress on antepenultimate - e (L01X =e - e (CL01X =e + e (L01X =E + e (CL01X =E .group é é e: diff --git a/dictsource/sjn_rules b/dictsource/sjn_rules index ccd3746d..1fa9825b 100644 --- a/dictsource/sjn_rules +++ b/dictsource/sjn_rules @@ -44,17 +44,17 @@ ð D .group e - e e - ei (+ eI + e E + ei (+ EI // light penultimate syllable: put stress on antepenultimate - e (L01X =e - e (CL01X =e + e (L01X =E + e (CL01X =E .group é - é e: + é E: .group ê - ê e:: + ê E:: .group f f f diff --git a/phsource/ph_sindarin b/phsource/ph_sindarin index c3711b75..be21547b 100644 --- a/phsource/ph_sindarin +++ b/phsource/ph_sindarin @@ -36,6 +36,12 @@ phoneme aI FMT(vdiph/ai) endphoneme +phoneme EI + vwl starttype #e endtype #i + length 230 + FMT(vdiph/eei) +endphoneme + phoneme uI vwl starttype #u endtype #i length 290 diff --git a/tests/language-pronunciation.test b/tests/language-pronunciation.test index baf85657..5dfea5eb 100755 --- a/tests/language-pronunciation.test +++ b/tests/language-pronunciation.test @@ -186,7 +186,7 @@ S'a 'OksidU p'or- z'&~Ng&U~_:_: ,E*&U~ p,&l'avR&Z dU p,u*@-tug'es#" "Luís argüia à Júlia que «brações, fé, chá, óxido, pôr, zângão» eram palavras do português." "Latn" -test_phon qya ",aInul'Indal,e ald'INga aNk'alIm,a and'u:RIl at'akwe k,alak'IRja k,uIvI;'e:nen ,eaR'endIl el'endIl ,elent'a:RI; el'essaR 'eNkwI;,e e'onwe eR'esse,a h,elkaR'akse w#'esta C'aRmen Is'IlduR m'axtan nam'a:RI;,e n,u:men'o:Re 'oRom,e ot'okwe pel'o:RI s'aURon tan'Ikwet,Il t,elum'eCtaR tuR'ambaR und'o:mI;,el ut'umno" "Ainulindalë aldinga ancalima Andúril ataquë Calacirya Cuiviénen Eärendil Elendil Elentári Elessar enquië Eönwe Eressëa Helcaraxë hwesta Hyarmen Isildur Mahtan Namárië Númenórë Orome otoquë Pelóri Sauron Taniquetil Telumehtar Turambar Undómiel Utumno" "Quenya" +test_phon qya ",aInul'Indal,E ald'INga aNk'alIm,a and'u:RIl at'akwE k,alak'IRja k,uIvI;'e:nEn ,EaR'EndIl El'EndIl ,ElEnt'a:RI; El'EssaR 'ENkwI;,E E'onwE ER'EssE,a h,ElkaR'aksE w#'Esta C'aRmEn Is'IlduR m'axtan nam'a:RI;,E n,u:mEn'o:RE 'oRom,E ot'okwE pEl'o:RI s'aURon tan'IkwEt,Il t,Elum'ECtaR tuR'ambaR und'o:mI;,El ut'umno" "Ainulindalë aldinga ancalima Andúril ataquë Calacirya Cuiviénen Eärendil Elendil Elentári Elessar enquië Eönwe Eressëa Helcaraxë hwesta Hyarmen Isildur Mahtan Namárië Númenórë Orome otoquë Pelóri Sauron Taniquetil Telumehtar Turambar Undómiel Utumno" "Quenya" test_phon ro "m,uzikol'og@_! yn b'eZ v'ynd wh'iski Si tekw'ila p@-*'ets f'iks" "Muzicologă în bej vând whisky și tequila, preț fix." "Latn" test_phon ru "Syr'okVja E#l;ikt@-r;if;ik'Atsyja 'juZnyx gub;'ern;ij d'Ast m'oS;nyj tVltS;'ok pVdj'8mu s;'elskVvV xVz;'Ajstva#" "Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства." "Cyrl" @@ -194,7 +194,7 @@ test_phon sd "s'Indhi b'o:li; 'Ind.o: jo:R'Vpi xa:nd'a:n s'a~: t[a:l'Vq R,@k#@nd J'Vnhn t['e: ,aRb'i: bo:l'i:;a J'o: b'I t[@m'a:m v'Vd.o: as'VR ,a:he: h'Ina v'aqt s'Indhi b'o:li s'Indh J'e: m'Vk# b'o:li_! 'ae~ d,@f@t['VRi z@b'a:n ,a:he:" "سنڌي ٻولي انڊو يورپي خاندان سان تعلق رکندڙ آريائي ٻولي آھي، جنھن تي عربي ٻوليءَ جو بہ تمام وڏو اثر آهي. هن وقت سنڌي ٻولي سنڌ جي مک ٻولي ۽ دفتري زبان آھي." "Arab" test_phon si "t'aw@t st#'a:n@ k'i:p@j,@kin w'a:rta: w'u: s'ul.u p'ipiri:m s'ah@ d'e:s@p,a:l@n@ p'akS@ k r'ija:k,a:ri:n 'at@r@ '&tiwu: g'&t.um h'e:tuwen 'ek 'ajeku m'ij@gos k'i:p@ d'eneku t'uwa:l@ l'aba: t'ibe:" "තවත් ස්ථාන කීපයකින් වාර්තා වූ සුළු පිපිරීම් සහ දේශපාලන පක්ෂ ක්‍රියාකාරීන් අතර ඇතිවූ ගැටුම් හේතුවෙන් එක් අයෙකු මියගොස් කීප දෙනෙකු තුවාල ලබා තිබේ." "Sinh" -test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn aRn'OIdI;,ad 'aRved,uI bel'eRI;,and b'oRom,IR bRag'ollaX bR'eTIl bRIT'ombaR bR'uInen k'aIR kaR'aDRas k,elebR'i:an kRIss'aEgRIm d'eneT,oR dR'eNgIst d'u::n ekT'elI;,on 'emyn eR'I;ad,oR f'ean,oR fInd'uIlas f'INgon fINg'olfIn fIn'aRfIn f'oRoX,el g'alaD,on gal'adRI;,el gR'ond gw'aIhIR w#'and j'aRwaIn 'ImladR,Is j'oReT IT'IlI;,en l#'u::n loTl'o:RI;,en m'enegR,oT mIT'eITel mITR'andIR moR'annon m'oRI;,a n'aRgoTR,ond oR'offIn osg'IlI;,aT pal'anti:R p,alant'i:RI pel'ennoR p,eRI;'annaT hR'u::n sIl'IvRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Arnoediad Arvedui Beleriand Boromir Bragollach Brethil Brithombar Bruinen Cair Caradhras Celebrían Crissaegrim Denethor Drengist dûn Ecthelion Emyn Eriador Fëanor Finduilas Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Gwaihir hwand Iarwain Imladris Ioreth Ithilien lhûn Lothlórien Menegroth Mitheithel Mithrandir Morannon Moria Nargothrond Orophin Osgiliath Palantír Palantíri Pelennor Periannath rhûn Silivren Thorondor" "Sindarin" +test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn aRn'OIdI;,ad 'aRvEd,uI bEl'ERI;,and b'oRom,IR bRag'ollaX bR'ETIl bRIT'ombaR bR'uInEn k'aIR kaR'aDRas k,ElEbR'i:an kRIss'aEgRIm d'EnET,oR dR'ENgIst d'u::n EkT'ElI;,on 'Emyn ER'I;ad,oR f'Ean,oR fInd'uIlas f'INgon fINg'olfIn fIn'aRfIn f'oRoX,El g'alaD,on gal'adRI;,El gR'ond gw'aIhIR w#'and j'aRwaIn 'ImladR,Is j'oRET IT'IlI;,En l#'u::n loTl'o:RI;,En m'EnEgR,oT mIT'EITEl mITR'andIR moR'annon m'oRI;,a n'aRgoTR,ond oR'offIn osg'IlI;,aT pal'anti:R p,alant'i:RI pEl'EnnoR p,ERI;'annaT hR'u::n sIl'IvREn ToR'ondoR" "alph Aman Amarth Amon Aragorn Arnoediad Arvedui Beleriand Boromir Bragollach Brethil Brithombar Bruinen Cair Caradhras Celebrían Crissaegrim Denethor Drengist dûn Ecthelion Emyn Eriador Fëanor Finduilas Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Gwaihir hwand Iarwain Imladris Ioreth Ithilien lhûn Lothlórien Menegroth Mitheithel Mithrandir Morannon Moria Nargothrond Orophin Osgiliath Palantír Palantíri Pelennor Periannath rhûn Silivren Thorondor" "Sindarin" test_phon sk "k'r:d;el^ St;'astni:Q d;'atl^ow 'utSi: pR'i;u:st;i: v'a:hu m'l:kveho k'on^a 'ophRi:zat; k'uoRu_:_: a ZR'at; tS'eRstve: m'eso p'et;ti:Zdn^,ove: v'l:tSata: n'eRvo:zn^e St;'ekaju: n'amu,ojho d;'atl^a_! v_ t'r:n^i:" "Kŕdeľ šťastných ďatľov učí pri ústí Váhu mĺkveho koňa obhrýzať kôru a žrať čerstvé mäso. Päťtýždňové vĺčatá nervózne štekajú na môjho ďatľa v tŕní." "Latn" test_phon sl "xiSn'i:tSin bR'a:tEts uzg'a:ja p'o:wZE p'o:t fik'u:sOm" "Hišničin bratec vzgaja polže pod fikusom." "Latn" From 3ad8114e4afedb5bb32b3839f7c26f255987bab5 Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Mon, 5 Jul 2021 21:47:16 +0200 Subject: [PATCH 29/34] =?UTF-8?q?Fix=20Elvish=20=E2=9F=A8o=E2=9F=A9,=20?= =?UTF-8?q?=E2=9F=A8=C3=B3=E2=9F=A9,=20=E2=9F=A8=C3=AA=E2=9F=A9=20vowels?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ⟨o⟩ almost certainly represents [ɔ] – Appendix E of The Lord of the Rings describes it as the sound in English “for”. This means we should use a phoneme [[O]], not [[o]]; we should also create our own phoneme for this, since the one we inherit from Latin sounds much more like [o] to me. In Quenya, long ⟨ó⟩ (and, presumably, ⟨ô⟩) is, according to Appendix E, “tenser and ‘closer’”, which presumably means [o]. (Online sources seem to agree.) The Latin [[o:]] phoneme works well enough for this. In Sindarin, ⟨ó⟩ has “the same quality” as ⟨o⟩ according to Appendix E, so emit it as [[O:]] for [ɔː]. This sounds sensible enough te me. I’m undecided whether “Lothlórien” should be in sjn_list, to pronounce it with [oː] instead of [ɔː]. It’s composed of Sindarin “loth” and Quenya “Lórien”, so that could potentially justify a pronunciation with a Quenya ⟨ó⟩. But then again, maybe it should be a standard Sindarin ⟨ó⟩. For now, I’ve opted to not add it; in the film The Fellowship of the Ring, Aragorn (Viggo Mortensen) says “Lothlórien” after the Fellowship leave Moria, and to me his ⟨ó⟩ sounds more like [ɔː] than [oː], so if this is wrong, at least it’s no more wrong than the famous movie adaptation :) --- dictsource/qya_rules | 6 +++--- dictsource/sjn_rules | 10 +++++----- phsource/ph_quenya | 6 ++++++ phsource/ph_sindarin | 6 ++++++ tests/language-pronunciation.test | 4 ++-- 5 files changed, 22 insertions(+), 10 deletions(-) diff --git a/dictsource/qya_rules b/dictsource/qya_rules index 1cb90788..16f4b7ba 100644 --- a/dictsource/qya_rules +++ b/dictsource/qya_rules @@ -103,11 +103,11 @@ ng (_ N .group o - o o + o O oi (+ OI // light penultimate syllable: put stress on antepenultimate - o (L01X =o - o (CL01X =o + o (L01X =O + o (CL01X =O .group ó ó o: diff --git a/dictsource/sjn_rules b/dictsource/sjn_rules index 1fa9825b..6ef7dbaa 100644 --- a/dictsource/sjn_rules +++ b/dictsource/sjn_rules @@ -97,17 +97,17 @@ ng (_ N .group o - o o + o O oe (+ OI // light penultimate syllable: put stress on antepenultimate - o (L01X =o - o (CL01X =o + o (L01X =O + o (CL01X =O .group ó - ó o: + ó O: .group ô - ô o:: + ô O:: .group p p p diff --git a/phsource/ph_quenya b/phsource/ph_quenya index 830eb1ac..6a2c7374 100644 --- a/phsource/ph_quenya +++ b/phsource/ph_quenya @@ -5,6 +5,12 @@ phoneme n CALL base1/n endphoneme +phoneme O + vwl starttype #o endtype #o + length 200 + FMT(vowel/oo) +endphoneme + phoneme w# vls glt apr // [h] ipa ʍ diff --git a/phsource/ph_sindarin b/phsource/ph_sindarin index be21547b..2fa0c527 100644 --- a/phsource/ph_sindarin +++ b/phsource/ph_sindarin @@ -5,6 +5,12 @@ phoneme n CALL base1/n endphoneme +phoneme O + vwl starttype #o endtype #o + length 200 + FMT(vowel/oo) +endphoneme + phoneme w# vls glt apr // [h] ipa ʍ diff --git a/tests/language-pronunciation.test b/tests/language-pronunciation.test index 5dfea5eb..ce9fe18f 100755 --- a/tests/language-pronunciation.test +++ b/tests/language-pronunciation.test @@ -186,7 +186,7 @@ S'a 'OksidU p'or- z'&~Ng&U~_:_: ,E*&U~ p,&l'avR&Z dU p,u*@-tug'es#" "Luís argüia à Júlia que «brações, fé, chá, óxido, pôr, zângão» eram palavras do português." "Latn" -test_phon qya ",aInul'Indal,E ald'INga aNk'alIm,a and'u:RIl at'akwE k,alak'IRja k,uIvI;'e:nEn ,EaR'EndIl El'EndIl ,ElEnt'a:RI; El'EssaR 'ENkwI;,E E'onwE ER'EssE,a h,ElkaR'aksE w#'Esta C'aRmEn Is'IlduR m'axtan nam'a:RI;,E n,u:mEn'o:RE 'oRom,E ot'okwE pEl'o:RI s'aURon tan'IkwEt,Il t,Elum'ECtaR tuR'ambaR und'o:mI;,El ut'umno" "Ainulindalë aldinga ancalima Andúril ataquë Calacirya Cuiviénen Eärendil Elendil Elentári Elessar enquië Eönwe Eressëa Helcaraxë hwesta Hyarmen Isildur Mahtan Namárië Númenórë Orome otoquë Pelóri Sauron Taniquetil Telumehtar Turambar Undómiel Utumno" "Quenya" +test_phon qya ",aInul'Indal,E ald'INga aNk'alIm,a and'u:RIl at'akwE k,alak'IRja k,uIvI;'e:nEn ,EaR'EndIl El'EndIl ,ElEnt'a:RI; El'EssaR 'ENkwI;,E E'OnwE ER'EssE,a h,ElkaR'aksE w#'Esta C'aRmEn Is'IlduR m'axtan nam'a:RI;,E n,u:mEn'o:RE 'OROm,E Ot'OkwE pEl'o:RI s'aUROn tan'IkwEt,Il t,Elum'ECtaR tuR'ambaR und'o:mI;,El ut'umnO" "Ainulindalë aldinga ancalima Andúril ataquë Calacirya Cuiviénen Eärendil Elendil Elentári Elessar enquië Eönwe Eressëa Helcaraxë hwesta Hyarmen Isildur Mahtan Namárië Númenórë Orome otoquë Pelóri Sauron Taniquetil Telumehtar Turambar Undómiel Utumno" "Quenya" test_phon ro "m,uzikol'og@_! yn b'eZ v'ynd wh'iski Si tekw'ila p@-*'ets f'iks" "Muzicologă în bej vând whisky și tequila, preț fix." "Latn" test_phon ru "Syr'okVja E#l;ikt@-r;if;ik'Atsyja 'juZnyx gub;'ern;ij d'Ast m'oS;nyj tVltS;'ok pVdj'8mu s;'elskVvV xVz;'Ajstva#" "Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства." "Cyrl" @@ -194,7 +194,7 @@ test_phon sd "s'Indhi b'o:li; 'Ind.o: jo:R'Vpi xa:nd'a:n s'a~: t[a:l'Vq R,@k#@nd J'Vnhn t['e: ,aRb'i: bo:l'i:;a J'o: b'I t[@m'a:m v'Vd.o: as'VR ,a:he: h'Ina v'aqt s'Indhi b'o:li s'Indh J'e: m'Vk# b'o:li_! 'ae~ d,@f@t['VRi z@b'a:n ,a:he:" "سنڌي ٻولي انڊو يورپي خاندان سان تعلق رکندڙ آريائي ٻولي آھي، جنھن تي عربي ٻوليءَ جو بہ تمام وڏو اثر آهي. هن وقت سنڌي ٻولي سنڌ جي مک ٻولي ۽ دفتري زبان آھي." "Arab" test_phon si "t'aw@t st#'a:n@ k'i:p@j,@kin w'a:rta: w'u: s'ul.u p'ipiri:m s'ah@ d'e:s@p,a:l@n@ p'akS@ k r'ija:k,a:ri:n 'at@r@ '&tiwu: g'&t.um h'e:tuwen 'ek 'ajeku m'ij@gos k'i:p@ d'eneku t'uwa:l@ l'aba: t'ibe:" "තවත් ස්ථාන කීපයකින් වාර්තා වූ සුළු පිපිරීම් සහ දේශපාලන පක්ෂ ක්‍රියාකාරීන් අතර ඇතිවූ ගැටුම් හේතුවෙන් එක් අයෙකු මියගොස් කීප දෙනෙකු තුවාල ලබා තිබේ." "Sinh" -test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn aRn'OIdI;,ad 'aRvEd,uI bEl'ERI;,and b'oRom,IR bRag'ollaX bR'ETIl bRIT'ombaR bR'uInEn k'aIR kaR'aDRas k,ElEbR'i:an kRIss'aEgRIm d'EnET,oR dR'ENgIst d'u::n EkT'ElI;,on 'Emyn ER'I;ad,oR f'Ean,oR fInd'uIlas f'INgon fINg'olfIn fIn'aRfIn f'oRoX,El g'alaD,on gal'adRI;,El gR'ond gw'aIhIR w#'and j'aRwaIn 'ImladR,Is j'oRET IT'IlI;,En l#'u::n loTl'o:RI;,En m'EnEgR,oT mIT'EITEl mITR'andIR moR'annon m'oRI;,a n'aRgoTR,ond oR'offIn osg'IlI;,aT pal'anti:R p,alant'i:RI pEl'EnnoR p,ERI;'annaT hR'u::n sIl'IvREn ToR'ondoR" "alph Aman Amarth Amon Aragorn Arnoediad Arvedui Beleriand Boromir Bragollach Brethil Brithombar Bruinen Cair Caradhras Celebrían Crissaegrim Denethor Drengist dûn Ecthelion Emyn Eriador Fëanor Finduilas Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Gwaihir hwand Iarwain Imladris Ioreth Ithilien lhûn Lothlórien Menegroth Mitheithel Mithrandir Morannon Moria Nargothrond Orophin Osgiliath Palantír Palantíri Pelennor Periannath rhûn Silivren Thorondor" "Sindarin" +test_phon sjn "'alf 'aman 'amaRT 'amOn 'aRag,ORn aRn'OIdI;,ad 'aRvEd,uI bEl'ERI;,and b'OROm,IR bRag'OllaX bR'ETIl bRIT'OmbaR bR'uInEn k'aIR kaR'aDRas k,ElEbR'i:an kRIss'aEgRIm d'EnET,OR dR'ENgIst d'u::n EkT'ElI;,On 'Emyn ER'I;ad,OR f'Ean,OR fInd'uIlas f'INgOn fINg'OlfIn fIn'aRfIn f'OROX,El g'alaD,On gal'adRI;,El gR'Ond gw'aIhIR w#'and j'aRwaIn 'ImladR,Is j'ORET IT'IlI;,En l#'u::n lOTl'O:RI;,En m'EnEgR,OT mIT'EITEl mITR'andIR mOR'annOn m'ORI;,a n'aRgOTR,Ond OR'OffIn Osg'IlI;,aT pal'anti:R p,alant'i:RI pEl'EnnOR p,ERI;'annaT hR'u::n sIl'IvREn TOR'OndOR" "alph Aman Amarth Amon Aragorn Arnoediad Arvedui Beleriand Boromir Bragollach Brethil Brithombar Bruinen Cair Caradhras Celebrían Crissaegrim Denethor Drengist dûn Ecthelion Emyn Eriador Fëanor Finduilas Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Gwaihir hwand Iarwain Imladris Ioreth Ithilien lhûn Lothlórien Menegroth Mitheithel Mithrandir Morannon Moria Nargothrond Orophin Osgiliath Palantír Palantíri Pelennor Periannath rhûn Silivren Thorondor" "Sindarin" test_phon sk "k'r:d;el^ St;'astni:Q d;'atl^ow 'utSi: pR'i;u:st;i: v'a:hu m'l:kveho k'on^a 'ophRi:zat; k'uoRu_:_: a ZR'at; tS'eRstve: m'eso p'et;ti:Zdn^,ove: v'l:tSata: n'eRvo:zn^e St;'ekaju: n'amu,ojho d;'atl^a_! v_ t'r:n^i:" "Kŕdeľ šťastných ďatľov učí pri ústí Váhu mĺkveho koňa obhrýzať kôru a žrať čerstvé mäso. Päťtýždňové vĺčatá nervózne štekajú na môjho ďatľa v tŕní." "Latn" test_phon sl "xiSn'i:tSin bR'a:tEts uzg'a:ja p'o:wZE p'o:t fik'u:sOm" "Hišničin bratec vzgaja polže pod fikusom." "Latn" From 95d74edd86a365bc1b5206da82e642ae2d87a8e0 Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Tue, 6 Jul 2021 20:10:11 +0200 Subject: [PATCH 30/34] Fix Elvish double plosives MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Consonants written twice always represent long consonants, not actual repetation. eSpeak NG’s default behavior when speaking a doubled consonant phoneme seems to work well enough for non-plosive consonants, but for plosives, we need to tell it that the two input characters correspond to one long phoneme, not a repeated regular one. All three doubled voiceless plosives – ⟨tt⟩, ⟨pp⟩, ⟨cc⟩ – are regularly found in Quenya, according to the Ambar Eldaron Quenya Dictionary [1]. Their voiced counterparts – ⟨dd⟩, ⟨bb⟩, ⟨gg⟩ – apparently don’t occur, nor are any doubled plosives to be found in the Omikhleia Sindarin Dictionary [2], voiced or not. But let’s define all six pairs in both languages anyways, since it doesn’t cost us much to do so, and it seems fairly clear that this is how these double consonants should be pronounced, if they ever occurred. [1]: https://ambar-eldaron.com/telechargements/quenya-engl-A4.pdf [2]: https://www.jrrvf.com/hisweloke/sindar/index.html --- dictsource/qya_rules | 6 ++++++ dictsource/sjn_rules | 6 ++++++ tests/language-pronunciation.test | 2 +- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/dictsource/qya_rules b/dictsource/qya_rules index 16f4b7ba..aa6eb936 100644 --- a/dictsource/qya_rules +++ b/dictsource/qya_rules @@ -30,9 +30,11 @@ .group b b b + bb b: .group c c k + cc k: // recall that ch was replaced with x earlier .group x @@ -40,6 +42,7 @@ .group d d d + db d: // recall that dh was replaced with ð earlier .group ð @@ -64,6 +67,7 @@ .group g g g + gg g: .group h h h @@ -117,6 +121,7 @@ .group p p p + pp p: .group ph ph f @@ -133,6 +138,7 @@ .group t t t + tt t: // recall that th was replaced with þ earlier .group þ diff --git a/dictsource/sjn_rules b/dictsource/sjn_rules index 6ef7dbaa..4393bd04 100644 --- a/dictsource/sjn_rules +++ b/dictsource/sjn_rules @@ -28,9 +28,11 @@ .group b b b + bb b: .group c c k + cc c: // recall that ch was replaced with x earlier .group x @@ -38,6 +40,7 @@ .group d d d + dd d: // recall that dh was replaced with ð earlier .group ð @@ -62,6 +65,7 @@ .group g g g + gg g: .group h h h @@ -111,6 +115,7 @@ .group p p p + pp p: .group ph ph f @@ -127,6 +132,7 @@ .group t t t + tt t: // recall that th was replaced with þ earlier .group þ diff --git a/tests/language-pronunciation.test b/tests/language-pronunciation.test index ce9fe18f..b4f542aa 100755 --- a/tests/language-pronunciation.test +++ b/tests/language-pronunciation.test @@ -186,7 +186,7 @@ S'a 'OksidU p'or- z'&~Ng&U~_:_: ,E*&U~ p,&l'avR&Z dU p,u*@-tug'es#" "Luís argüia à Júlia que «brações, fé, chá, óxido, pôr, zângão» eram palavras do português." "Latn" -test_phon qya ",aInul'Indal,E ald'INga aNk'alIm,a and'u:RIl at'akwE k,alak'IRja k,uIvI;'e:nEn ,EaR'EndIl El'EndIl ,ElEnt'a:RI; El'EssaR 'ENkwI;,E E'OnwE ER'EssE,a h,ElkaR'aksE w#'Esta C'aRmEn Is'IlduR m'axtan nam'a:RI;,E n,u:mEn'o:RE 'OROm,E Ot'OkwE pEl'o:RI s'aUROn tan'IkwEt,Il t,Elum'ECtaR tuR'ambaR und'o:mI;,El ut'umnO" "Ainulindalë aldinga ancalima Andúril ataquë Calacirya Cuiviénen Eärendil Elendil Elentári Elessar enquië Eönwe Eressëa Helcaraxë hwesta Hyarmen Isildur Mahtan Namárië Númenórë Orome otoquë Pelóri Sauron Taniquetil Telumehtar Turambar Undómiel Utumno" "Quenya" +test_phon qya ",aInul'Indal,E ald'INga aNk'alIm,a and'u:RIl at'akwE k,alak'IRja k,uIvI;'e:nEn ,EaR'EndIl El'EndIl ,ElEnt'a:RI; El'EssaR 'ENkwI;,E E'OnwE ER'EssE,a h,ElkaR'aksE w#'Esta C'aRmEn Is'IlduR l'ap:a m'axtan nam'a:RI;,E n'at:IR,a n,u:mEn'o:RE 'OROm,E Ot'OkwE pEl'Ek:O pEl'o:RI s'aUROn tan'IkwEt,Il t,Elum'ECtaR tuR'ambaR und'o:mI;,El ut'umnO" "Ainulindalë aldinga ancalima Andúril ataquë Calacirya Cuiviénen Eärendil Elendil Elentári Elessar enquië Eönwe Eressëa Helcaraxë hwesta Hyarmen Isildur lappa Mahtan Namárië nattira Númenórë Orome otoquë pelecco Pelóri Sauron Taniquetil Telumehtar Turambar Undómiel Utumno" "Quenya" test_phon ro "m,uzikol'og@_! yn b'eZ v'ynd wh'iski Si tekw'ila p@-*'ets f'iks" "Muzicologă în bej vând whisky și tequila, preț fix." "Latn" test_phon ru "Syr'okVja E#l;ikt@-r;if;ik'Atsyja 'juZnyx gub;'ern;ij d'Ast m'oS;nyj tVltS;'ok pVdj'8mu s;'elskVvV xVz;'Ajstva#" "Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства." "Cyrl" From 2dfc8ae66eb9ffbf47f2c64783ec089c28f3420a Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Thu, 8 Jul 2021 20:07:31 +0200 Subject: [PATCH 31/34] =?UTF-8?q?Add=20Elvish=20=E2=9F=A8k=E2=9F=A9=20as?= =?UTF-8?q?=20equivalent=20of=20=E2=9F=A8c=E2=9F=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit According to Appendix E of The Lord of the Rings, ⟨k⟩ is used with the same value as ⟨c⟩ in names from non-Elvish languages (both representing /k/). However, in the Silmarillion, ⟨k⟩ is also used in some Elvish names, such as Tulkas and Kementári, as well as in some words in the Appendix (Elements in Quenya and Sindarin Names), e.g. kir- as an element or root in Calacirya, Cirth, and other words. And in earlier versions of the language (when Quenya was called Qenya and Sindarin Gnomish), ⟨k⟩ also often occurs. Therefore, let’s support it as an alternative spelling of ⟨c⟩. Currently, eSpeak NG doesn’t seem to do the two-step replacement of ⟨kh⟩→⟨ch⟩→⟨x⟩, which means that ⟨kh⟩ is ultimately pronounced as /kh/ (or /kʰ/?) rather than [χ]; according to Appendix E, this is correct in Dwarvish, while in Orkish and Adûnaic ⟨kh⟩ should be equivalent to ⟨ch⟩. Since we’re not really aiming for pronouncing any of these languages, either way is fine. --- dictsource/qya_rules | 7 ++++++- dictsource/sjn_rules | 7 ++++++- tests/language-pronunciation.test | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/dictsource/qya_rules b/dictsource/qya_rules index aa6eb936..9ccddd66 100644 --- a/dictsource/qya_rules +++ b/dictsource/qya_rules @@ -13,6 +13,9 @@ ch x dh ð th þ + // turn k into c: both letters are equivalent in Tolkien’s languages, + // with c usually reserved for Eldarin languages and k for others + k c .group a a a @@ -91,7 +94,9 @@ .group î î i:: -// j and k do not occur in Quenya +// j does not occur in Quenya + +// recall that k was replaced with c earlier .group l l l diff --git a/dictsource/sjn_rules b/dictsource/sjn_rules index 4393bd04..11993d38 100644 --- a/dictsource/sjn_rules +++ b/dictsource/sjn_rules @@ -10,6 +10,9 @@ ch x dh ð th þ + // turn k into c: both letters are equivalent in Tolkien’s languages, + // with c usually reserved for Eldarin languages and k for others + k c .group a a a @@ -84,7 +87,9 @@ .group î î i:: -// j and k do not occur in Sindarin +// j does not occur in Sindarin + +// recall that k was replaced with c earlier .group l l l diff --git a/tests/language-pronunciation.test b/tests/language-pronunciation.test index b4f542aa..daf3f0e8 100755 --- a/tests/language-pronunciation.test +++ b/tests/language-pronunciation.test @@ -186,7 +186,7 @@ S'a 'OksidU p'or- z'&~Ng&U~_:_: ,E*&U~ p,&l'avR&Z dU p,u*@-tug'es#" "Luís argüia à Júlia que «brações, fé, chá, óxido, pôr, zângão» eram palavras do português." "Latn" -test_phon qya ",aInul'Indal,E ald'INga aNk'alIm,a and'u:RIl at'akwE k,alak'IRja k,uIvI;'e:nEn ,EaR'EndIl El'EndIl ,ElEnt'a:RI; El'EssaR 'ENkwI;,E E'OnwE ER'EssE,a h,ElkaR'aksE w#'Esta C'aRmEn Is'IlduR l'ap:a m'axtan nam'a:RI;,E n'at:IR,a n,u:mEn'o:RE 'OROm,E Ot'OkwE pEl'Ek:O pEl'o:RI s'aUROn tan'IkwEt,Il t,Elum'ECtaR tuR'ambaR und'o:mI;,El ut'umnO" "Ainulindalë aldinga ancalima Andúril ataquë Calacirya Cuiviénen Eärendil Elendil Elentári Elessar enquië Eönwe Eressëa Helcaraxë hwesta Hyarmen Isildur lappa Mahtan Namárië nattira Númenórë Orome otoquë pelecco Pelóri Sauron Taniquetil Telumehtar Turambar Undómiel Utumno" "Quenya" +test_phon qya ",aInul'Indal,E ald'INga aNk'alIm,a and'u:RIl at'akwE k,alak'IRja k,uIvI;'e:nEn ,EaR'EndIl El'EndIl ,ElEnt'a:RI; El'EssaR 'ENkwI;,E E'OnwE ER'EssE,a h,ElkaR'aksE w#'Esta C'aRmEn Is'IlduR l'ap:a m'axtan nam'a:RI;,E n'at:IR,a n,u:mEn'o:RE 'OROm,E Ot'OkwE pEl'Ek:O pEl'o:RI s'aUROn tan'IkwEt,Il t,Elum'ECtaR t'ulkas tuR'ambaR und'o:mI;,El ut'umnO" "Ainulindalë aldinga ancalima Andúril ataquë Calacirya Cuiviénen Eärendil Elendil Elentári Elessar enquië Eönwe Eressëa Helcaraxë hwesta Hyarmen Isildur lappa Mahtan Namárië nattira Númenórë Orome otoquë pelecco Pelóri Sauron Taniquetil Telumehtar Tulkas Turambar Undómiel Utumno" "Quenya" test_phon ro "m,uzikol'og@_! yn b'eZ v'ynd wh'iski Si tekw'ila p@-*'ets f'iks" "Muzicologă în bej vând whisky și tequila, preț fix." "Latn" test_phon ru "Syr'okVja E#l;ikt@-r;if;ik'Atsyja 'juZnyx gub;'ern;ij d'Ast m'oS;nyj tVltS;'ok pVdj'8mu s;'elskVvV xVz;'Ajstva#" "Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства." "Cyrl" From eb461b453a2e7e5d72580449c3fda215701d1d9d Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Thu, 8 Jul 2021 20:25:35 +0200 Subject: [PATCH 32/34] =?UTF-8?q?Add=20Quenya=20=E2=9F=A8q=E2=9F=A9=20as?= =?UTF-8?q?=20equivalent=20of=20=E2=9F=A8qu=E2=9F=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit According to the Tolkien Gateway article on Qenya [1], Tolkien used ⟨q⟩ to represent [kʷ] before the writing of The Lord of the Rings (during which he decided to use ⟨qu⟩ instead). Let’s support it, in case someone wants to use eSpeak NG to pronounce names from the earlier volumes of the History of Middle-earth. [1]: http://tolkiengateway.net/wiki/Qenya --- dictsource/qya_rules | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dictsource/qya_rules b/dictsource/qya_rules index 9ccddd66..2ac2bbec 100644 --- a/dictsource/qya_rules +++ b/dictsource/qya_rules @@ -132,7 +132,8 @@ ph f A) ph (A f: -.group qu +.group q + q kw // (immature) Qenya qu kw .group r From 6dc3041e57265ba8688ffb89bd3043a47415d16e Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Thu, 8 Jul 2021 20:39:26 +0200 Subject: [PATCH 33/34] =?UTF-8?q?Switch=20to=20Quenya=20when=20encounterin?= =?UTF-8?q?g=20=E2=9F=A8q=E2=9F=A9=20in=20Sindarin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In Sindarin, ⟨q⟩ or ⟨qu⟩ do not occur, so if we encounter it, the word must actually be Quenya. Let’s be user-friendly and switch to Quenya in that case (though I’m not sure how common it would be to encounter a single Quenya word in a Sindarin text – I suspect it would be more likely that the user chose the wrong language and really the entire text is in Quenya). --- dictsource/sjn_rules | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dictsource/sjn_rules b/dictsource/sjn_rules index 11993d38..662b8c5c 100644 --- a/dictsource/sjn_rules +++ b/dictsource/sjn_rules @@ -126,7 +126,8 @@ ph f A) ph (A f: -// q does not occur in Sindarin +.group q + q _^_qya // q does not occur in Sindarin .group r r R From 845162be4dde31f1cde32ecfc7bc98b5d4f14f01 Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Fri, 16 Jul 2021 20:24:06 +0200 Subject: [PATCH 34/34] Add Elvish unstressed words to list files I went through the conjunctions and prepositions listed in the Ambar Eldaron Quenya Dictionary [1] and the Omikhleia Sindarin Dictionary [2] and added all the ones with a single light syllable to the list as unstressed (with one exception). I think this improves the way some texts are read a little bit (though I have to admit I find it hard to tell the difference). [1]: https://ambar-eldaron.com/telechargements/quenya-engl-A4.pdf [2]: https://www.jrrvf.com/hisweloke/sindar/index.html --- dictsource/qya_list | 31 +++++++++++++++++++++++++++++++ dictsource/sjn_list | 24 ++++++++++++++++++++++++ 2 files changed, 55 insertions(+) diff --git a/dictsource/qya_list b/dictsource/qya_list index e69de29b..ed20a8b3 100644 --- a/dictsource/qya_list +++ b/dictsource/qya_list @@ -0,0 +1,31 @@ +// words with a single light syllable which should not be stressed + +// conjunctions: +a $u +an $u +ar $u +hya $u +i $u +mal $u +nan $u +o $u +qui $u +ta $u +var $u +// prepositions: +et $u +han $u +ho $u +lo $u +mi $u +mil $u +no $u +nu $u +or $u +pa $u +po $u +tar $u +ter $u +va $u +ve $u +yo $u diff --git a/dictsource/sjn_list b/dictsource/sjn_list index d5ca4956..01b2cbf7 100644 --- a/dictsource/sjn_list +++ b/dictsource/sjn_list @@ -6,3 +6,27 @@ imladris $1 // Seek for the Sword that was broken, line 2 menegroþ $1 // Lay of Leithian Recommenced, line 65 nargoþrond $1 // The world was young, the mountains green, line 13 + +// words with a single light syllable which should not be stressed + +// conjunctions: +// a – exception: also an interjection, should still be stressed then +ach $u +ah $u +ir $u +sui $u +// prepositions: +am $u +an $u +ben $u +bo $u +dan $u +na $u +ned $u +nef $u +nu $u +o $u +or $u +os $u +pen $u +vi $u