Module:Diatonic interval tuning
Documentation for this module may be created at Module:Diatonic interval tuning/doc
local p = {}
local u = require("Module:Utils")
local rat = require("Module:Rational")
local yesno = require("Module:Yesno")
function p.diatune(frame)
local fifthspan = tonumber(frame.args["fifthspan"])
local fifth1 = (4/7)*1200
local fifth2 = (15/26)*1200
local fifth3 = (11/19)*1200
local fifth4 = (18/31)*1200
local fifth5 = (7/12)*1200
local fifth6 = (17/29)*1200
local fifth7 = (10/17)*1200
local fifth8 = (13/22)*1200
local fifth9 = (3/5)*1200
local tuning1 = fifth1*fifthspan % 1200
local tuning2 = fifth2*fifthspan % 1200
local tuning3 = fifth3*fifthspan % 1200
local tuning4 = fifth4*fifthspan % 1200
local tuning5 = fifth5*fifthspan % 1200
local tuning6 = fifth6*fifthspan % 1200
local tuning7 = fifth7*fifthspan % 1200
local tuning8 = fifth8*fifthspan % 1200
local tuning9 = fifth9*fifthspan % 1200
local out = '{| class="wikitable"|-!Tuning!Step ratio!Edo!Cents|-|Equalized|1:1|[[7edo|7]]|' .. tuning1
.. 'c|-|Supersoft|4:3|[[26edo|26]]|' .. tuning2
.. 'c|-|Soft|3:2|[[19edo|19]]|' .. tuning3
.. 'c|-|Semisoft|5:3|[[31edo|31]]|' .. tuning4
.. 'c|-|Basic|2:1|[[12edo|12]]|' .. tuning5
.. 'c|-|Semihard|5:2|[[29edo|29]]|' .. tuning6
.. 'c|-|Hard|3:1|[[17edo|17]]|' .. tuning7
.. 'c|-|Superhard|4:1|[[22edo|22]]|' .. tuning8
.. 'c|-|Equalized|1:0|[[5edo|5]]|' .. tuning9 .. '|}'
--return frame:preprocess(out)
return fifthspan
end
return p