#Base tag, only one that will be hardcoded root: - val: "{Word}" ipa: "" freq: 1 digraphProtection: insertChar: "'" builtins: geminates: True sets: - [[k], [c]] - [[], [a, e, i, í, o, ó, u, ū, y]] - [[a, e, i, o, u], [r]] - [[r], []] - [[s], [p, k, t, n, m, l]] - [[sp, sk, st, sn, sm, sl], []] - [[t, s, c], [h]] # Recommended to break syllables with . # Note: ipa is inserted for every literal in the val. You are free to use this # to your advantage. If this is undesirable, then decompose your references # such that only one literal is present in any node. # "freq" values do not need any form of normalization. # Only their relative values within a particular array matters. # This reference file generally bases them on 1 and prefers integers in most # cases for neatness, but could just as easily have phrased them all as # percentages. Word: - val: "{WeakSyllable}.{StrSyllable}" ipa: "." freq: 1 - val: "{StrSyllable}" ipa: "" freq: 1 - val: "{StrSyllable}.{StrSyllable}" ipa: "." freq: .7 # The . is inserted for both syllables - val: "{StrSyllable}.{WeakSyllable}.{StrSyllable}" ipa: "." freq: .5 - val: "{WeakSyllable}.{Word2}" ipa: "." freq: 0.7 - val: "{StrSyllable}.{Word2}" ipa: "." freq: 1.5 # Tail recursive, shouldn't create words that are too long # after the first few, length-chance is negative-exponential Word2: - val: "{WeakSyllable}.{StrSyllable}" ipa: "." freq: 2 - val: "{StrSyllable}" ipa: "" freq: 1.5 - val: "{WeakSyllable}.{Word2}" ipa: "." freq: 0.7 - val: "{StrSyllable}.{Word2}" ipa: "." freq: 0.8 # Not used (yet) Iamb: - val: "{WeakSyllable}.{StrSyllable}" ipa: "." freq: 1 - val: "{StrSyllable}.{WeakSyllable}" ipa: "." freq: 1 StrSyllable: - val: "{Onset}{FullVowel}" ipa: "" freq: 4 - val: "{FullVowel}" ipa: "" freq: 1.5 - val: "{FullVowel}{AnyCoda}" ipa: "" freq: 0.5 StrRhyme: - val: "{FullVowel}{AnyCoda}" ipa: "" freq: 0.5 - val: "{FullVowelNC}" ipa: "" freq: 2.0 WeakSyllable: - val: "{Onset}{WeakVowel}{AnyCoda}" ipa: "" freq: 6 - val: "{WeakVowel}{AnyCoda}" ipa: "" freq: 2 - val: "{Onset}{FullVowel}{AnyCoda}" ipa: "" freq: 1.5 Onset: - val: "" ipa: "" freq: 0 # u: 1 for unfinalized phones - val: "p" ipa: "p" freq: 1.5 u: 1 - val: "b" ipa: "b" freq: 0.75 u: 1 # "c" and "k" together = 2.0 - val: "c" ipa: "k" freq: 1.0 - val: "k" ipa: "k" freq: 1.0 - val: "g" ipa: "g" freq: 0.75 u: 1 - val: "t" ipa: "t" freq: 1.5 - val: "d" ipa: "d" freq: 1 - val: "s" ipa: "s" freq: 1.5 - val: "z" ipa: "z" freq: 0.75 u: 1 - val: "s{SOnset}" ipa: "s" freq: 0.75 - val: "f" #["f", "ɸ"] ipa: "ɸ" freq: 1.6 - val: "v" #["v", "β"] ipa: "β" freq: 0.8 - val: "č" ipa: "tʃ" freq: 0.7 u: 1 - val: "j" ipa: "dʒ" freq: 0.7 - val: "n" ipa: "n" freq: 1.225 - val: "m" ipa: "m" freq: 1.225 - val: "l" ipa: "l" freq: 1.4 - val: "h" ipa: "h" freq: 1.2 - val: "r" ipa: "r" freq: 1.4 SOnset: - val: "p" ipa: "p" freq: 1.5 - val: "k" ipa: "k" freq: 1.5 - val: "t" ipa: "t" freq: 1.5 - val: "n" ipa: "n" freq: 1.125 - val: "m" ipa: "m" freq: 1.125 - val: "l" ipa: "l" freq: 0.25 WeakVowel: - val: "u" ipa: "ʌ" freq: 1.5 - val: "a" ipa: "ə" freq: 0.5 - val: "i" ipa: "ɪ" freq: 1 - val: "ur" ipa: "ər" freq: .5 FullVowel: - val: "a" ipa: "a" freq: 2 - val: "ó" ipa: "o" freq: 1.5 - val: "ū" ipa: "ʊ" freq: 1.5 - val: "í" ipa: "i" freq: 0.75 - val: "ao" ipa: "aʊ" freq: 1 - val: "ai" ipa: "aɪ" freq: 1.5 - val: "ay" ipa: "e" freq: 1 - val: "{RVowel}" ipa: "" freq: 3 # Certain vowels are more common in open syllables than closed FullVowelNC: - val: "{FullVowel}" ipa: "" freq: 5 - val: "ao" ipa: "aʊ" freq: 0.66 - val: "ó" ipa: "o" freq: 1 - val: "ai" ipa: "aɪ" freq: 1 RVowel: - val: "ar" ipa: "ɑr" freq: 1.5 - val: "or" ipa: "ɔr" freq: 1.5 - val: "ur" ipa: "ər" freq: 2 AnyCoda: # "" is allowed, but treated separately - val: "p" ipa: "p" freq: 1 u: 1 - val: "b" ipa: "b" freq: 1 u: 1 - val: "k" ipa: "k" freq: 1.3 - val: "g" ipa: "g" freq: 0.7 u: 1 - val: "t" ipa: "t" freq: 1.3 - val: "d" ipa: "d" freq: 0.7 u: 1 - val: "s" ipa: "s" freq: 0.2 - val: "z" ipa: "z" freq: 0.15 u: 1 - val: "s{SCoda}" ipa: "s" freq: 0.2 - val: "f" #["f", "ɸ"] ipa: "ɸ" freq: 1.3 - val: "v" #["v", "β"] ipa: "β" freq: 0.7 u: 1 - val: "n" ipa: "n" freq: 0.8 u: 1 - val: "m" ipa: "m" freq: 0.8 u: 1 - val: "l" ipa: "l" freq: 0.95 # "r" is part of vowel, not coda SCoda: - val: "p" ipa: "p" freq: 1 u: 1 - val: "k" ipa: "k" freq: 1 - val: "t" ipa: "t" freq: 1 # This data file does not absolutely define the structure of an Old Tongue # syllable, because that would be much more difficult. Most of the output of # this program will be garbage.