Module:Diatonic interval tuning: Difference between revisions

From Xenharmonic Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 6: Line 6:
function p.diatune(frame)
function p.diatune(frame)
local fifthspan = frame.args["fifthspan"]
local fifthspan = frame.args["fifthspan"]
--[[local fifth1 = (4/7)*1200
local fifth1 = (4/7)*1200
local fifth2 = (15/26)*1200
local fifth2 = (15/26)*1200
local fifth3 = (11/19)*1200
local fifth3 = (11/19)*1200
Line 23: Line 23:
local tuning7 = fifth7*fifthspan % 1200
local tuning7 = fifth7*fifthspan % 1200
local tuning8 = fifth8*fifthspan % 1200
local tuning8 = fifth8*fifthspan % 1200
local tuning9 = fifth9*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 .. '|}'
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 frame:preprocess(out)
return frame:preprocess(fifthspan)

Revision as of 22:57, 17 March 2025

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 = 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)
	
	
end

return p