Module:Infobox chord: Difference between revisions
No edit summary |
add Cents from root |
||
Line 54: | Line 54: | ||
local otonal_odd_limit = 1 | local otonal_odd_limit = 1 | ||
local root_interval_links = {} | local root_interval_links = {} | ||
local root_cents_steps = {} | |||
for i, h in ipairs(harmonics) do | for i, h in ipairs(harmonics) do | ||
-- compute LCM of all harmonics to use as the denominator in utonal form, if needed | -- compute LCM of all harmonics to use as the denominator in utonal form, if needed | ||
Line 79: | Line 80: | ||
local denom = root / gcd | local denom = root / gcd | ||
table.insert(root_interval_links, "[[" .. numer .. "/" .. denom .. "]]") | table.insert(root_interval_links, "[[" .. numer .. "/" .. denom .. "]]") | ||
local cents_ln2 = 1731.234 | |||
table.insert(root_cents_steps, utils.round_dec(cents_ln2 * math.log(numer / denom)) .. "¢") | |||
end | end | ||
Line 123: | Line 127: | ||
table.insert(infobox_data, {"Harmonics", frame.args["Harmonics"]}) | table.insert(infobox_data, {"Harmonics", frame.args["Harmonics"]}) | ||
table.insert(infobox_data, {"Intervals from root", table.concat(root_interval_links, " ‒ ")}) | table.insert(infobox_data, {"Intervals from root", table.concat(root_interval_links, " ‒ ")}) | ||
table.insert(infobox_data, {"Cents from root", table.concat(root_cents_steps, " ")}) | |||
if (not utils.value_provided(frame.args["Root"])) and (utonal_odd_limit <= otonal_odd_limit or utonal_odd_limit < 1000) then | if (not utils.value_provided(frame.args["Root"])) and (utonal_odd_limit <= otonal_odd_limit or utonal_odd_limit < 1000) then | ||
table.insert(infobox_data, {"[[Utonal]] Ratios", table.concat(utonal_intervals, " ‒ ")}) | table.insert(infobox_data, {"[[Utonal]] Ratios", table.concat(utonal_intervals, " ‒ ")}) |