Module:qlu-pron: Difference between revisions

No edit summary
No edit summary
Line 107: Line 107:
-- vowels  
-- vowels  
{"ɔ", "ɔ" .. advanced},
{"iw", "ɪw"},  
{"iw", "ɪw"}, {"uw", "u" .. lowered .. "w"},
{"ew", "e" .. c.diaer .. lowered .. "w"}, {"ow", "o" .. lowered .. "w"},
{"ɛw", "æ" .. c.diaer .. "w"}, {"ɔ" .. advanced .. "w", "ʌw"},
{"ɐw", "ɒw"}, {"aw", "ɑw"},
{"ɐw", "ɒw"}, {"aw", "ɑw"},
{"ij", "ɪj"}, {"uj", "u" .. lowered .. "j"},
{"ij", "ɪj"},  
{"ej", "e" .. advanced .. "j"}, {"oj", "o" .. advanced .. "j"},
{"ɛj", "ɛ" .. raised .. "j"}, {"ɔ" .. advanced .. "j", "ɐ" .. raised .. "j"},
{"ɐj", "ɔ" .. raised .. "j"}, {"aj", "a" .. c.diaer .. raised .. "j"},
-- consonants
-- consonants
{"ʈ", "t"}, {"ʦ", "t͡s"}, {"ʣ", "d͡z"},
{"ʈ", "t"}, {"ʦ", "t͡s"}, {"ʣ", "d͡z"},
{"[ʤʧʃ]", "%1ʷ"},
}
local narrow_phonetic_rules = {
{"ɔ", "ɔ" .. advanced}, {"uw", "u" .. lowered .. "w"}, {"ew", "e" .. c.diaer .. lowered .. "w"}, {"ow", "o" .. lowered .. "w"},
{"ɛw", "æ" .. c.diaer .. "w"}, {"ɔ" .. advanced .. "w", "ʌw"}, {"ej", "e" .. advanced .. "j"}, {"oj", "o" .. advanced .. "j"},
{"uj", "u" .. lowered .. "j"}, {"ɛj", "ɛ" .. raised .. "j"}, {"ɔ" .. advanced .. "j", "ɐ" .. raised .. "j"},
{"ɐj", "ɔ" .. raised .. "j"}, {"aj", "a" .. c.diaer .. raised .. "j"},
{"([ntdszl])", "%1" .. laminal}, {"(͡[sz])" .. laminal, "%1" .. dental},  
{"([ntdszl])", "%1" .. laminal}, {"(͡[sz])" .. laminal, "%1" .. dental},  
{"[ʤʧʃ]", "%1ʷ"},
}
}


local upper_rules = {
local upper_rules = {
{"a", "ɐ"}, {"ɸ", "f"}, {"β", "v"}, {"θ", "t"}, {"ð", "d"},
{"a", "ɐ"}, {"ɸ", "f"}, {"β", "v"}, {"θ", "t"}, {"ð", "d"},
{"^[ˌˈ]", ""}, {"[ˌˈ]", "·"}, {"ju", "y"}, {"[ɛI]", "ɐj"}, {"ɔ", "aw"},
{"^[ˌˈ]", ""}, {"[ˌˈ]", "·"}, {"ju", "y"}, {"ew", "y"}, {"[ɛI]", "ɐj"}, {"ɔ", "aw"},
{"r", "ɾ"}, {"r·r", "ʀ"}, {"d·([ʣʤ])", "·%1"}, {"t·([ʦʧ])", "·%1"},
{"r", "ɾ"}, {"r·r", "ʀ"}, {"d·([ʣʤ])", "·%1"}, {"t·([ʦʧ])", "·%1"},
{"ʣ", "z"}, {"ʦ", "s"}, {"ʧ", "ʃ"}, {"ʤ", "ʒ"},
{"ʣ", "z"}, {"ʦ", "s"}, {"ʧ", "ʃ"}, {"ʤ", "ʒ"},
Line 133: Line 135:
{"k([ieɛj])", "c%1"}, {"g([ieɛj])", "ɟ%1"},
{"k([ieɛj])", "c%1"}, {"g([ieɛj])", "ɟ%1"},
{"ã", "ɐᵑ"}, {"ẽ", "eᵑ"}, {"ĩ", "iᵑ"}, {"õ", "oᵑ"}, {"ũ", "uᵑ"},  
{"ã", "ɐᵑ"}, {"ẽ", "eᵑ"}, {"ĩ", "iᵑ"}, {"õ", "oᵑ"}, {"ũ", "uᵑ"},  
-- final devoicing
{"b$", "p"}, {"d$", "t"}, {"g$", "k"}, {"β$", "ɸ"}, {"z$", "s"},
}
local bolognese_rules = {
{"ʧ", "ʦ"}, {"ʤ", "ʣ"},
-- apophony
{"e([^·ˈˌ]*[·ˈˌ][^·ˈˌ]*[ijuw]+[^·ˈˌ]*[·ˈˌ])", "i%1"}, {"e([^·ˈˌ]*[·ˈˌ][^·ˈˌ]*[ijuw]+[^·ˈˌ]*)$", "i%1"},
{"ɛ([^·ˈˌ]*[·ˈˌ][^·ˈˌ]*[ijuw]+[^·ˈˌ]*[·ˈˌ])", "e%1"}, {"ɛ([^·ˈˌ]*[·ˈˌ][^·ˈˌ]*[ijuw]+[^·ˈˌ]*)$", "e%1"},
{"o([^·ˈˌ]*[·ˈˌ][^·ˈˌ]*[ijuw]+[^·ˈˌ]*[·ˈˌ])", "u%1"}, {"o([^·ˈˌ]*[·ˈˌ][^·ˈˌ]*[ijuw]+[^·ˈˌ]*)$", "u%1"},
{"ɔ([^·ˈˌ]*[·ˈˌ][^·ˈˌ]*[ijuw]+[^·ˈˌ]*[·ˈˌ])", "o%1"}, {"ɔ([^·ˈˌ]*[·ˈˌ][^·ˈˌ]*[ijuw]+[^·ˈˌ]*)$", "o%1"},
{"([ntdsθzðʦʣlrmŋɲɴ][·ˈˌ]?)[fɸ]", "%1p͡f"}, {"([ntdsθzðʦʣlrmŋɲɴ][·ˈˌ]?)s", "%1ʦ"}, {"([ntdsθzðʦʣlrmŋɲɴ][·ˈˌ]?)θ", "%1t͡θ"},
{"ɣ", "ɣ˕"}, {"ð", "ð" .. lowered}, {"v", "ʋ"},
{"([ˈˌ].*)ɛ", "%1e"}, {"([ˈˌ].*)ɔ", "%1o"}, {"([ˈˌ].*)([eo])", "%1%2" .. lowered},
}
local paulistan_rules = {
}
}


Line 219: Line 243:
phonemic = gsub(phonemic, rule[1], rule[2])
phonemic = gsub(phonemic, rule[1], rule[2])
end
end
local phonetic = phonemic
local phonetic = phonemic
Line 226: Line 249:
end
end
local upper, bolognese, paulistan = phonemic, phonemic, phonemic
local upper, bolognese, paulistan = phonemic, phonetic, phonetic
for _, rule in ipairs(upper_rules) do
for _, rule in ipairs(upper_rules) do
upper = gsub(upper, rule[1], rule[2])
upper = gsub(upper, rule[1], rule[2])
end
end
--[[for _, rule in ipairs(bolognese_rules) do
for _, rule in ipairs(bolognese_rules) do
bolognese = gsub(bolognese, rule[1], rule[2])
bolognese = gsub(bolognese, rule[1], rule[2])
end
end
Line 237: Line 260:
for _, rule in ipairs(paulistan_rules) do
for _, rule in ipairs(paulistan_rules) do
paulistan = gsub(paulistan, rule[1], rule[2])
paulistan = gsub(paulistan, rule[1], rule[2])
end]]
end
for _, rule in ipairs(narrow_phonetic_rules) do
phonetic = gsub(phonetic, rule[1], rule[2])
end
for _, rule in ipairs(last_rules) do
for _, rule in ipairs(last_rules) do