Module:Powharmonic series: Difference between revisions
Jump to navigation
Jump to search
ArrowHead294 (talk | contribs) No edit summary |
ArrowHead294 (talk | contribs) Condense |
||
| Line 7: | Line 7: | ||
"{| class=\"wikitable center-all\"\n" .. | "{| class=\"wikitable center-all\"\n" .. | ||
"|+ Intervals of the " .. expo .. "-Powharmonic series\n" .. | "|+ Intervals of the " .. expo .. "-Powharmonic series\n" .. | ||
"! rowspan=\"2\" | Pitch | "! rowspan=\"2\" | Pitch !! colspan=\"2\" | Frequency multiplier !! colspan=\"3\" | Pitch\n" .. | ||
"|-\n" .. | "|-\n" .. | ||
"! Definition | "! Definition !! Decimal !! [[Cent]]s !! Change (cents) !! Octave-reduced (cents)\n" | ||
local fmt_cent = string.format("%%.%df", tonumber(frame.args["prec"])) | local fmt_cent = string.format("%%.%df", tonumber(frame.args["prec"])) | ||
local p_prev = 0 | local p_prev = 0 | ||
| Line 24: | Line 18: | ||
out_str = out_str .. | out_str = out_str .. | ||
"|-\n" .. | "|-\n" .. | ||
"| " .. i | "| " .. i .. | ||
"| " .. i .. "<sup>" .. expo .. "</sup> | "|| " .. i .. "<sup>" .. expo .. "</sup>" .. | ||
"| " .. string.format(fmt_cent, i^expo) | "|| " .. string.format(fmt_cent, i^expo) .. | ||
"| " .. string.format(fmt_cent, p_current) | "|| " .. string.format(fmt_cent, p_current) .. | ||
"| " .. string.format(fmt_cent, p_current - p_prev) | "|| " .. string.format(fmt_cent, p_current - p_prev) .. | ||
"| " .. string.format(fmt_cent, math.fmod(p_current, 1200)) .. "\n" | "|| " .. string.format(fmt_cent, math.fmod(p_current, 1200)) .. "\n" | ||
p_prev = p_current | p_prev = p_current | ||
end | end | ||
Revision as of 18:53, 9 July 2024
- This module should not be invoked directly; use its corresponding template instead: Template:Powharmonic series.
This module generates a table showing the intervals of a powharmonic series for a given exponent, which is used to model timbres involving stretched or compressed harmonics.
| Introspection summary for Module:Powharmonic series | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
| |||||||||
No function descriptions were provided. The Lua code may have further information.
local p = {}
function p.powharmonic(frame)
local n = tonumber(frame.args["n"])
local expo = tonumber(frame.args["expo"])
local out_str =
"{| class=\"wikitable center-all\"\n" ..
"|+ Intervals of the " .. expo .. "-Powharmonic series\n" ..
"! rowspan=\"2\" | Pitch !! colspan=\"2\" | Frequency multiplier !! colspan=\"3\" | Pitch\n" ..
"|-\n" ..
"! Definition !! Decimal !! [[Cent]]s !! Change (cents) !! Octave-reduced (cents)\n"
local fmt_cent = string.format("%%.%df", tonumber(frame.args["prec"]))
local p_prev = 0
local p_current = 0
for i = 1, n do
p_current = 1200 * math.log(i) / math.log(2) * expo
out_str = out_str ..
"|-\n" ..
"| " .. i ..
"|| " .. i .. "<sup>" .. expo .. "</sup>" ..
"|| " .. string.format(fmt_cent, i^expo) ..
"|| " .. string.format(fmt_cent, p_current) ..
"|| " .. string.format(fmt_cent, p_current - p_prev) ..
"|| " .. string.format(fmt_cent, math.fmod(p_current, 1200)) .. "\n"
p_prev = p_current
end
out_str = out_str .. "|}"
return out_str
end
return p