Module:Auphen/YAR-AI: Difference between revisions
Auphen sound data for Middle Airananwe: transposition and pronunciation ruleset |
Laxing now applies in any closed syllable (_CC and _C#), and a laxes to ä (operator) |
||
| Line 9: | Line 9: | ||
return { | return { | ||
ipacats = { | ipacats = { | ||
['[V]'] = {'a','e','i','o','u','ā','ē','ī','ō','ū','ɛ','ɔ','ɪ','ʊ','ə'}, | ['[V]'] = {'a','e','i','o','u','ā','ē','ī','ō','ū','ɛ','ɔ','ɪ','ʊ','ə','ä'}, | ||
['[C]'] = {'p','b','t','d','k','g','c','ɟ','ʦ','ʧ','f','v','β','θ','ð','s','z', | ['[C]'] = {'p','b','t','d','k','g','c','ɟ','ʦ','ʧ','f','v','β','θ','ð','s','z', | ||
'ɕ','ʑ','ɣ','h','m','n','ɲ','l','ʎ','r','ʀ','j','tʲ','dʲ','kʷ','gʷ', | 'ɕ','ʑ','ɣ','h','m','n','ɲ','l','ʎ','r','ʀ','j','tʲ','dʲ','kʷ','gʷ', | ||
| Line 74: | Line 74: | ||
n/ŋ/_k|_g|_kʷ|_gʷ|_kʃ|_ᵑg | n/ŋ/_k|_g|_kʷ|_gʷ|_kʃ|_ᵑg | ||
r/ʀ/#_ | r/ʀ/#_ | ||
e/ɛ/_[C][C] | e/ɛ/_[C][C]|_[C]# | ||
o/ɔ/_[C][C] | o/ɔ/_[C][C]|_[C]# | ||
i/ɪ/_[C][C] | i/ɪ/_[C][C]|_[C]# | ||
u/ʊ/_[C][C] | u/ʊ/_[C][C]|_[C]# | ||
a/ä/_[C][C]|_[C]# | |||
e/ə/[V]_|_# | e/ə/[V]_|_# | ||
r/ɾ/[V]_[V] | r/ɾ/[V]_[V] | ||
Latest revision as of 09:42, 21 August 2026
This is the documentation for Module:Auphen/YAR-AI, the sound data for Middle Airananwe (registry code YAR-AI) on the Yezur wiki. It contains no code: it returns a table of sound categories and rules which Module:Auphen/frame loads and hands to the engine, Module:Auphen. It is reached through {{auphen|word|YAR-AI}}, which returns an estimated pronunciation between slashes. The dictionary's practice for the language is set out at Dictionary:About Middle Airananwe.
Fields
| Field | Purpose |
|---|---|
ipacats |
The sound categories the rules refer to, written in sounds rather than letters. [V] and [C], the vowels and the consonants, are used as environments; [D] the voiced obstruents and [T] their voiceless counterparts are the target and the change of the final-devoicing rule, mapped member for member in the order declared (b d g v z ð ɣ ʑ ɟ against p t k f s θ x ɕ c). [V] and [C] also list sounds the rules themselves produce, such as the laxed vowels and [ʀ], so that later rules still see them.
|
ipa_rules |
The letter-to-sound mapping, applied left to right before the ruleset runs. The digraphs are listed first, and the engine takes the longest spelling that fits at each position, so a digraph is read before its component letters. |
pronounce |
The pronunciation ruleset, run in the order written over the output of ipa_rules.
|
sets |
Named rulesets for grammar forms. Empty for this language; see below. |
Orthography
The mapping covers the letters a b c d e f g h i k l m n o p q r s t u v x y z. Most carry their own value; the rest, with the digraphs, are:
| Spelling | Sound |
|---|---|
aa ee ii oo uu |
the long vowels /aː eː iː oː uː/, carried through the mapping as ā ē ī ō ū and given their length mark by pronounce
|
mb nd ng |
/ᵐb ⁿd ᵑg/ |
bh gh ph th dh |
/β ɣ p͡ɸ θ ð/ |
c ch |
/ʦ ʧ/ |
ty dy ny ly sy zy ky gy |
/tʲ dʲ ɲ ʎ ɕ ʑ c ɟ/ |
q gu |
/kʷ gʷ/ |
x y |
/kʃ j/ |
There are no rules for sh or j: they are not part of the orthography, their work being done by sy and zy, and the language accordingly has no /ʃ/ or /ʒ/. Outside the eight digraphs of the palatal series, ⟨y⟩ is left as the glide /j/ — vyala gives /vjala/. Because the longest spelling wins at each position, ⟨gu⟩ is taken before ⟨uu⟩ in guu, which leaves a bare ⟨u⟩ for pronounce to lengthen.
Pronunciation
pronounce supplies the allophony. The coronals t d s z n l palatalise before i, short or long; n is [ŋ] before a velar; r is [ʀ] word-initially and [ɾ] between vowels, where h is likewise [ɦ]; the short vowels lax to [ɛ ɔ ɪ ʊ ä] before two consonants or before a word-final one, a prenasalised stop counting as a single consonant, so that embaa keeps its [e]; and e weakens to [ə] after a vowel and word-finally. A voiced obstruent is then made voiceless word-finally, which reaches the stop of a final prenasalised cluster as well (kamb gives /käᵐp/). The last rules write the long vowels with the length mark, lengthen a /u/ left standing after /gʷ/, and give /gʷ/ a following /u/ before a consonant and at the end of a word. Stress is fixed on the penultimate syllable and is neither written nor marked in the output.
[ŋ] is not itself a member of [C], so a short vowel before ⟨nk⟩, ⟨nq⟩ or ⟨nx⟩ is not laxed: senta gives /sɛnta/ but senka gives /seŋka/.
| Spelling | Output | Shows |
|---|---|---|
| sido | /ɕido/ | a coronal palatalised before i |
| zyerta | /ʑɛrta/ | a short vowel laxed in a closed syllable |
| arahe | /aɾaɦə/ | intervocalic r and h; final e |
| maged | /magɛt/ | final devoicing, the spelling keeping the voiced stem |
| gulda | /gʷulda/ | ⟨gu⟩ before a consonant |
| guu | /gʷuː/ | ⟨gu⟩ taken first, the leftover ⟨u⟩ lengthened |
| hayraanye | /häjraːɲə/ | the native name of the language |
Rulesets
sets is empty, so {{auphen|word|YAR-AI|ruleset}} reports an unknown ruleset for any name given and files the page in Category:Auphen errors. The language's single noun declension is built instead by Module:MiddleAirananwe through Template:YAR-AI-decl, which assembles the forms from the spelling rather than deriving them with the engine.
Editing this page changes every estimated pronunciation in the language; the entries that call {{auphen}} serve the old output from the parser cache until they are purged. The engine's own behaviour, and where it diverges from the notation it ports, is logged at Module talk:Auphen.
-- Module:Auphen/YAR-AI -- sound data for Middle Airananwe (registry code
-- YAR-AI). Pure data, loaded by [[Module:Auphen/frame]].
-- ipacats : IPA-scope categories used by the ruleset
-- ipa_rules : spelling -> IPA sound, digraphs first so they beat the letters
-- pronounce : the pronunciation-estimation ruleset
-- sets : none; declension is displayed by [[Module:MiddleAirananwe]]
-- There is no /ʃ/ or /ʒ/: <sh> and <j> are not part of the orthography, their
-- work being done by <sy> and <zy>. Stress is fixed (penultimate), unwritten.
return {
ipacats = {
['[V]'] = {'a','e','i','o','u','ā','ē','ī','ō','ū','ɛ','ɔ','ɪ','ʊ','ə','ä'},
['[C]'] = {'p','b','t','d','k','g','c','ɟ','ʦ','ʧ','f','v','β','θ','ð','s','z',
'ɕ','ʑ','ɣ','h','m','n','ɲ','l','ʎ','r','ʀ','j','tʲ','dʲ','kʷ','gʷ',
'kʃ','p͡ɸ','ᵐb','ⁿd','ᵑg'},
['[D]'] = {'b','d','g','v','z','ð','ɣ','ʑ','ɟ'},
['[T]'] = {'p','t','k','f','s','θ','x','ɕ','c'},
},
ipa_rules = [[
aa/ā
ee/ē
ii/ī
oo/ō
uu/ū
mb/ᵐb
nd/ⁿd
ng/ᵑg
bh/β
gh/ɣ
ph/p͡ɸ
th/θ
dh/ð
ch/ʧ
gu/gʷ
ty/tʲ
dy/dʲ
ny/ɲ
ly/ʎ
sy/ɕ
zy/ʑ
ky/c
gy/ɟ
a/a
b/b
c/ʦ
d/d
e/e
f/f
g/g
h/h
i/i
k/k
l/l
m/m
n/n
o/o
p/p
q/kʷ
r/r
s/s
t/t
u/u
v/v
x/kʃ
y/j
z/z
]],
pronounce = [[
t/tʲ/_i|_ī
d/dʲ/_i|_ī
s/ɕ/_i|_ī
z/ʑ/_i|_ī
n/ɲ/_i|_ī
l/ʎ/_i|_ī
n/ŋ/_k|_g|_kʷ|_gʷ|_kʃ|_ᵑg
r/ʀ/#_
e/ɛ/_[C][C]|_[C]#
o/ɔ/_[C][C]|_[C]#
i/ɪ/_[C][C]|_[C]#
u/ʊ/_[C][C]|_[C]#
a/ä/_[C][C]|_[C]#
e/ə/[V]_|_#
r/ɾ/[V]_[V]
h/ɦ/[V]_[V]
[D]/[T]/_#
ā/aː
ē/eː
ī/iː
ō/oː
ū/uː
gʷu/gʷuː
gʷ/gʷu/_[C]|_#
]],
sets = {},
}