Open main menu
Lua
CodeDiscussionLinksLink count Subpages:DocumentationTestsResultsSandboxLive code All modules


UsageEdit

This module can be used to generate code for making items in QuickStatements.

{{#invoke:Chords|qs|P1|M3|P5|L=en:major,en-gb:major,en-ca:major|A=,M}}

Code

local p = {}

local aeseses = "Q58303939"
local aeses = "Q3742795"
local aes = "Q3268067"
local a = "Q744346"
local ais = "Q3272691"
local aisis = "Q3742849"
local aisisis = "Q58303954"
local beseses = "Q58303940"
local beses = "Q3742830"
local bes = "Q13418258"
local b = "Q726738"
local bis = "Q3738742"
local bisis = "Q3742863"
local ceses = "Q3742880"
local ces = "Q3744377"
local c = "Q843813"
local cis = "Q3267651"
local cisis = "Q3742822"
local cisisis = "Q58303947"
local deseses = "Q58303942"
local deses = "Q3742844"
local des = "Q3268931"
local d = "Q1651121"
local dis = "Q3274226"
local disis = "Q3742870"
local disisis = "Q58303949"
local eeseses = "Q58303944"
local eeses = "Q3742786"
local ees = "Q633464"
local e = "Q1622022"
local eis = "Q3277554"
local eisis = "Q3742853"
local feses = "Q3739763"
local fes = "Q3744389"
local f = "Q775617"
local fis = "Q2652945"
local fisis = "Q3739836"
local fisisis = "Q58303951"
local geseses = "Q58303946"
local geses = "Q3739843"
local ges = "Q969284"
local g = "Q1440231"
local gis = "Q549905"
local gisis = "Q3742813"
local gisisis = "Q58303952"

local notes = {
	["aes"] = {
		["M"] = -4,
		["m"] = -7,
		["n"] = 8,
		["r"] = "A♭",
		["P1"] = aes,
		["A1"] = a,
		["d2"] = beseses,
		["m2"] = beses,
		["M2"] = bes,
		["A2"] = b,
		["d3"] = ceses,
		["m3"] = ces,
		["M3"] = c,
		["A3"] = cis,
		["d4"] = deses,
		["P4"] = des,
		["A4"] = d,
		["d5"] = eeses,
		["P5"] = ees,
		["A5"] = e,
		["d6"] = feses,
		["m6"] = fes,
		["M6"] = f,
		["A6"] = fis,
		["d7"] = geses,
		["m7"] = ges,
		["M7"] = g,
		["A7"] = gis,
		["d8"] = aeses
	},
	["a"] = {
		["M"] = 3,
		["m"] = 0,
		["n"] = 9,
		["r"] = "A",
		["P1"] = a,
		["A1"] = ais,
		["d2"] = beses,
		["m2"] = bes,
		["M2"] = b,
		["A2"] = bis,
		["d3"] = ces,
		["m3"] = c,
		["M3"] = cis,
		["A3"] = cisis,
		["d4"] = des,
		["P4"] = d,
		["A4"] = dis,
		["d5"] = ees,
		["P5"] = e,
		["A5"] = eis,
		["d6"] = fes,
		["m6"] = f,
		["M6"] = fis,
		["A6"] = fisis,
		["d7"] = ges,
		["m7"] = g,
		["M7"] = gis,
		["A7"] = gisis,
		["d8"] = aes
	},
	["ais"] = {
		["M"] = nil,
		["m"] = 7,
		["n"] = 10,
		["r"] = "A♯",
		["P1"] = ais,
		["A1"] = aisis,
		["d2"] = bes,
		["m2"] = b,
		["M2"] = bis,
		["A2"] = bisis,
		["d3"] = c,
		["m3"] = cis,
		["M3"] = cisis,
		["A3"] = cisisis,
		["d4"] = d,
		["P4"] = dis,
		["A4"] = disis,
		["d5"] = e,
		["P5"] = eis,
		["A5"] = eisis,
		["d6"] = f,
		["m6"] = fis,
		["M6"] = fisis,
		["A6"] = fisisis,
		["d7"] = g,
		["m7"] = gis,
		["M7"] = gisis,
		["A7"] = gisisis,
		["d8"] = a
	},
	["bes"] = {
		["M"] = -2,
		["m"] = -5,
		["n"] = 10,
		["r"] = "B♭",
		["P1"] = bes,
		["A1"] = b,
		["d2"] = ceses,
		["m2"] = ces,
		["M2"] = c,
		["A2"] = cis,
		["d3"] = deses,
		["m3"] = des,
		["M3"] = d,
		["A3"] = dis,
		["d4"] = eeses,
		["P4"] = ees,
		["A4"] = e,
		["d5"] = fes,
		["P5"] = f,
		["A5"] = fis,
		["d6"] = geses,
		["m6"] = ges,
		["M6"] = g,
		["A6"] = gis,
		["d7"] = aeses,
		["m7"] = aes,
		["M7"] = a,
		["A7"] = ais,
		["d8"] = beses
	},
	["b"] = {
		["M"] = 5,
		["m"] = 2,
		["n"] = 11,
		["r"] = "B",
		["P1"] = b,
		["A1"] = bis,
		["d2"] = ces,
		["m2"] = c,
		["M2"] = cis,
		["A2"] = cisis,
		["d3"] = des,
		["m3"] = d,
		["M3"] = dis,
		["A3"] = disis,
		["d4"] = ees,
		["P4"] = e,
		["A4"] = eis,
		["d5"] = f,
		["P5"] = fis,
		["A5"] = fisis,
		["d6"] = ges,
		["m6"] = g,
		["M6"] = gis,
		["A6"] = gisis,
		["d7"] = aes,
		["m7"] = a,
		["M7"] = ais,
		["A7"] = aisis,
		["d8"] = bes
	},
	["bis"] = {
		["M"] = nil,
		["m"] = nil,
		["n"] = 0,
		["r"] = "B♯",
		["P1"] = bis,
		["A1"] = bisis,
		["d2"] = c,
		["m2"] = cis,
		["M2"] = cisis,
		["A2"] = cisisis,
		["d3"] = d,
		["m3"] = dis,
		["M3"] = disis,
		["A3"] = disisis,
		["d4"] = e,
		["P4"] = eis,
		["A4"] = eisis,
		["d5"] = fis,
		["P5"] = fisis,
		["A5"] = fisisis,
		["d6"] = g,
		["m6"] = gis,
		["M6"] = gisis,
		["A6"] = gisisis,
		["d7"] = a,
		["m7"] = ais,
		["M7"] = aisis,
		["A7"] = aisisis,
		["d8"] = b
	},
	["ces"] = {
		["M"] = -7,
		["m"] = nil,
		["n"] = 11,
		["r"] = "C♭",
		["P1"] = ces,
		["A1"] = c,
		["d2"] = deseses,
		["m2"] = deses,
		["M2"] = des,
		["A2"] = d,
		["d3"] = eeseses,
		["m3"] = eeses,
		["M3"] = ees,
		["A3"] = e,
		["d4"] = feses,
		["P4"] = fes,
		["A4"] = f,
		["d5"] = geses,
		["P5"] = ges,
		["A5"] = g,
		["d6"] = aeseses,
		["m6"] = aeses,
		["M6"] = aes,
		["A6"] = a,
		["d7"] = beseses,
		["m7"] = beses,
		["M7"] = bes,
		["A7"] = b,
		["d8"] = ceses
	},
	["c"] = {
		["M"] = 0,
		["m"] = -3,
		["n"] = 0,
		["r"] = "C",
		["P1"] = c,
		["A1"] = cis,
		["d2"] = deses,
		["m2"] = des,
		["M2"] = d,
		["A2"] = dis,
		["d3"] = eeses,
		["m3"] = ees,
		["M3"] = e,
		["A3"] = eis,
		["d4"] = fes,
		["P4"] = f,
		["A4"] = fis,
		["d5"] = ges,
		["P5"] = g,
		["A5"] = gis,
		["d6"] = aeses,
		["m6"] = aes,
		["M6"] = a,
		["A6"] = ais,
		["d7"] = beses,
		["m7"] = bes,
		["M7"] = b,
		["A7"] = bis,
		["d8"] = ces
	},
	["cis"] = {
		["M"] = 7,
		["m"] = 4,
		["n"] = 1,
		["r"] = "C♯",
		["P1"] = cis,
		["A1"] = cisis,
		["d2"] = des,
		["m2"] = d,
		["M2"] = dis,
		["A2"] = disis,
		["d3"] = ees,
		["m3"] = e,
		["M3"] = eis,
		["A3"] = eisis,
		["d4"] = f,
		["P4"] = fis,
		["A4"] = fisis,
		["d5"] = g,
		["P5"] = gis,
		["A5"] = gisis,
		["d6"] = aes,
		["m6"] = a,
		["M6"] = ais,
		["A6"] = aisis,
		["d7"] = bes,
		["m7"] = b,
		["M7"] = bis,
		["A7"] = bisis,
		["d8"] = c
	},
	["des"] = {
		["M"] = -5,
		["m"] = nil,
		["n"] = 1,
		["r"] = "D♭",
		["P1"] = des,
		["A1"] = d,
		["d2"] = eeseses,
		["m2"] = eeses,
		["M2"] = ees,
		["A2"] = e,
		["d3"] = feses,
		["m3"] = fes,
		["M3"] = f,
		["A3"] = fis,
		["d4"] = geses,
		["P4"] = ges,
		["A4"] = g,
		["d5"] = aeses,
		["P5"] = aes,
		["A5"] = aes,
		["d6"] = beseses,
		["m6"] = beses,
		["M6"] = bes,
		["A6"] = b,
		["d7"] = ceses,
		["m7"] = ces,
		["M7"] = c,
		["A7"] = cis,
		["d8"] = deses
	},
	["d"] = {
		["M"] = 2,
		["m"] = -1,
		["n"] = 2,
		["r"] = "D",
		["P1"] = d,
		["A1"] = dis,
		["d2"] = eeses,
		["m2"] = ees,
		["M2"] = e,
		["A2"] = eis,
		["d3"] = fes,
		["m3"] = f,
		["M3"] = fis,
		["A3"] = fisis,
		["d4"] = ges,
		["P4"] = g,
		["A4"] = gis,
		["d5"] = aes,
		["P5"] = a,
		["A5"] = ais,
		["d6"] = beses,
		["m6"] = bes,
		["M6"] = b,
		["A6"] = bis,
		["d7"] = ces,
		["m7"] = c,
		["M7"] = cis,
		["A7"] = cisis,
		["d8"] = des
	},
	["dis"] = {
		["M"] = nil,
		["m"] = 6,
		["n"] = 3,
		["r"] = "D♯",
		["P1"] = dis,
		["A1"] = disis,
		["d2"] = ees,
		["m2"] = e,
		["M2"] = eis,
		["A2"] = eisis,
		["d3"] = f,
		["m3"] = fis,
		["M3"] = fisis,
		["A3"] = fisisis,
		["d4"] = g,
		["P4"] = gis,
		["A4"] = gisis,
		["d5"] = a,
		["P5"] = ais,
		["A5"] = aisis,
		["d6"] = bes,
		["m6"] = b,
		["M6"] = bis,
		["A6"] = bisis,
		["d7"] = c,
		["m7"] = cis,
		["M7"] = cisis,
		["A7"] = cisisis,
		["d8"] = d
	},
	["ees"] = {
		["M"] = -3,
		["m"] = -6,
		["n"] = 3,
		["r"] = "E♭",
		["P1"] = ees,
		["A1"] = e,
		["d2"] = feses,
		["m2"] = fes,
		["M2"] = f,
		["A2"] = fis,
		["d3"] = geses,
		["m3"] = ges,
		["M3"] = g,
		["A3"] = gis,
		["d4"] = aeses,
		["P4"] = aes,
		["A4"] = a,
		["d5"] = beses,
		["P5"] = bes,
		["A5"] = b,
		["d6"] = ceses,
		["m6"] = ces,
		["M6"] = c,
		["A6"] = cis,
		["d7"] = deses,
		["m7"] = des,
		["M7"] = d,
		["A7"] = dis,
		["d8"] = eeses
	},
	["e"] = {
		["M"] = 4,
		["m"] = 1,
		["n"] = 4,
		["r"] = "E",
		["P1"] = e,
		["A1"] = eis,
		["d2"] = fes,
		["m2"] = f,
		["M2"] = fis,
		["A2"] = fisis,
		["d3"] = ges,
		["m3"] = g,
		["M3"] = gis,
		["A3"] = gisis,
		["d4"] = aes,
		["P4"] = a,
		["A4"] = ais,
		["d5"] = bes,
		["P5"] = b,
		["A5"] = bis,
		["d6"] = ces,
		["m6"] = c,
		["M6"] = cis,
		["A6"] = cisis,
		["d7"] = des,
		["m7"] = d,
		["M7"] = dis,
		["A7"] = disis,
		["d8"] = ees
	},
	["eis"] = {
		["M"] = nil,
		["m"] = nil,
		["n"] = 5,
		["r"] = "E♯",
		["P1"] = eis,
		["A1"] = eisis,
		["d2"] = f,
		["m2"] = fis,
		["M2"] = fisis,
		["A2"] = fisisis,
		["d3"] = g,
		["m3"] = gis,
		["M3"] = gisis,
		["A3"] = gisisis,
		["d4"] = a,
		["P4"] = ais,
		["A4"] = aisis,
		["d5"] = b,
		["P5"] = bis,
		["A5"] = bisis,
		["d6"] = c,
		["m6"] = cis,
		["M6"] = cisis,
		["A6"] = cisisis,
		["d7"] = d,
		["m7"] = dis,
		["M7"] = disis,
		["A7"] = disisis,
		["d8"] = e
	},
	["fes"] = {
		["M"] = nil,
		["m"] = nil,
		["n"] = 4,
		["r"] = "F♭",
		["P1"] = fes,
		["A1"] = f,
		["d2"] = geseses,
		["m2"] = geses,
		["M2"] = ges,
		["A2"] = g,
		["d3"] = aeseses,
		["m3"] = aeses,
		["M3"] = aes,
		["A3"] = a,
		["d4"] = beseses,
		["P4"] = beses,
		["A4"] = bes,
		["d5"] = ceses,
		["P5"] = ces,
		["A5"] = c,
		["d6"] = deseses,
		["m6"] = deses,
		["M6"] = des,
		["A6"] = d,
		["d7"] = eeseses,
		["m7"] = eeses,
		["M7"] = ees,
		["A7"] = e,
		["d8"] = feses
	},
	["f"] = {
		["M"] = -1,
		["m"] = -4,
		["n"] = 5,
		["r"] = "F",
		["P1"] = f,
		["A1"] = fis,
		["d2"] = geses,
		["m2"] = ges,
		["M2"] = g,
		["A2"] = gis,
		["d3"] = aeses,
		["m3"] = aes,
		["M3"] = a,
		["A3"] = ais,
		["d4"] = beses,
		["P4"] = bes,
		["A4"] = b,
		["d5"] = ces,
		["P5"] = c,
		["A5"] = cis,
		["d6"] = deses,
		["m6"] = des,
		["M6"] = d,
		["A6"] = dis,
		["d7"] = eeses,
		["m7"] = ees,
		["M7"] = e,
		["A7"] = eis,
		["d8"] = fes
	},
	["fis"] = {
		["M"] = 6,
		["m"] = 3,
		["n"] = 6,
		["r"] = "F♯",
		["P1"] = fis,
		["A1"] = fisis,
		["d2"] = ges,
		["m2"] = g,
		["M2"] = gis,
		["A2"] = gisis,
		["d3"] = aes,
		["m3"] = a,
		["M3"] = ais,
		["A3"] = aisis,
		["d4"] = bes,
		["P4"] = b,
		["A4"] = bis,
		["d5"] = c,
		["P5"] = cis,
		["A5"] = cisis,
		["d6"] = des,
		["m6"] = d,
		["M6"] = dis,
		["A6"] = disis,
		["d7"] = ees,
		["m7"] = e,
		["M7"] = eis,
		["A7"] = eisis,
		["d8"] = f
	},
	["ges"] = {
		["M"] = -6,
		["m"] = nil,
		["n"] = 6,
		["r"] = "G♭",
		["P1"] = ges,
		["A1"] = g,
		["d2"] = aeseses,
		["m2"] = aeses,
		["M2"] = aes,
		["A2"] = a,
		["d3"] = beseses,
		["m3"] = beses,
		["M3"] = bes,
		["A3"] = b,
		["d4"] = ceses,
		["P4"] = ces,
		["A4"] = c,
		["d5"] = deses,
		["P5"] = des,
		["A5"] = d,
		["d6"] = eeseses,
		["m6"] = eeses,
		["M6"] = ees,
		["A6"] = e,
		["d7"] = feses,
		["m7"] = fes,
		["M7"] = f,
		["A7"] = fis,
		["d8"] = geses
	},
	["g"] = {
		["M"] = 1,
		["m"] = -2,
		["n"] = 7,
		["r"] = "G",
		["P1"] = g,
		["A1"] = gis,
		["d2"] = aeses,
		["m2"] = aes,
		["M2"] = a,
		["A2"] = ais,
		["d3"] = beses,
		["m3"] = bes,
		["M3"] = b,
		["A3"] = bis,
		["d4"] = ces,
		["P4"] = c,
		["A4"] = cis,
		["d5"] = des,
		["P5"] = d,
		["A5"] = dis,
		["d6"] = eeses,
		["m6"] = ees,
		["M6"] = e,
		["A6"] = eis,
		["d7"] = fes,
		["m7"] = f,
		["M7"] = fis,
		["A7"] = fisis,
		["d8"] = ges
	},
	["gis"] = {
		["M"] = nil,
		["m"] = 5,
		["n"] = 8,
		["r"] = "G♯",
		["P1"] = gis,
		["A1"] = gisis,
		["d2"] = aes,
		["m2"] = a,
		["M2"] = ais,
		["A2"] = aisis,
		["d3"] = bes,
		["m3"] = b,
		["M3"] = bis,
		["A3"] = bisis,
		["d4"] = c,
		["P4"] = cis,
		["A4"] = cisis,
		["d5"] = d,
		["P5"] = dis,
		["A5"] = disis,
		["d6"] = ees,
		["m6"] = e,
		["M6"] = eis,
		["A6"] = eisis,
		["d7"] = f,
		["m7"] = fis,
		["M7"] = fisis,
		["A7"] = fisisis,
		["d8"] = g
	}
}

local lilypond = {
	["aes"] = {
		["P1"] = "aes",
		["A1"] = "a",
		["d2"] = "beseses",
		["m2"] = "beses",
		["M2"] = "bes",
		["A2"] = "b",
		["d3"] = "ceses'",
		["m3"] = "ces'",
		["M3"] = "c'",
		["A3"] = "cis'",
		["d4"] = "deses'",
		["P4"] = "des'",
		["A4"] = "d'",
		["d5"] = "eeses'",
		["P5"] = "ees'",
		["A5"] = "e'",
		["d6"] = "feses'",
		["m6"] = "fes'",
		["M6"] = "f'",
		["A6"] = "fis'",
		["d7"] = "geses'",
		["m7"] = "ges'",
		["M7"] = "g'",
		["A7"] = "gis'",
		["d8"] = "aeses'"
	},
	["a"] = {
		["P1"] = "a",
		["A1"] = "ais",
		["d2"] = "beses",
		["m2"] = "bes",
		["M2"] = "b",
		["A2"] = "bis",
		["d3"] = "ces'",
		["m3"] = "c'",
		["M3"] = "cis'",
		["A3"] = "cisis'",
		["d4"] = "des'",
		["P4"] = "d'",
		["A4"] = "dis'",
		["d5"] = "ees'",
		["P5"] = "e'",
		["A5"] = "eis'",
		["d6"] = "fes'",
		["m6"] = "f'",
		["M6"] = "fis'",
		["A6"] = "fisis'",
		["d7"] = "ges'",
		["m7"] = "g'",
		["M7"] = "gis'",
		["A7"] = "gisis'",
		["d8"] = "aes'"
	},
	["ais"] = {
		["P1"] = "ais",
		["A1"] = "aisis",
		["d2"] = "bes",
		["m2"] = "b",
		["M2"] = "bis",
		["A2"] = "bisis",
		["d3"] = "c'",
		["m3"] = "cis'",
		["M3"] = "cisis'",
		["A3"] = "cisisis'",
		["d4"] = "d'",
		["P4"] = "dis'",
		["A4"] = "disis'",
		["d5"] = "e'",
		["P5"] = "eis'",
		["A5"] = "eisis'",
		["d6"] = "f'",
		["m6"] = "fis'",
		["M6"] = "fisis'",
		["A6"] = "fisisis'",
		["d7"] = "g'",
		["m7"] = "gis'",
		["M7"] = "gisis'",
		["A7"] = "gisisis'",
		["d8"] = "a'"
	},
	["bes"] = {
		["P1"] = "bes",
		["A1"] = "b",
		["d2"] = "ceses'",
		["m2"] = "ces'",
		["M2"] = "c'",
		["A2"] = "cis'",
		["d3"] = "deses'",
		["m3"] = "des'",
		["M3"] = "d'",
		["A3"] = "dis'",
		["d4"] = "eeses'",
		["P4"] = "ees'",
		["A4"] = "e'",
		["d5"] = "fes'",
		["P5"] = "f'",
		["A5"] = "fis'",
		["d6"] = "geses'",
		["m6"] = "ges'",
		["M6"] = "g'",
		["A6"] = "gis'",
		["d7"] = "aeses'",
		["m7"] = "aes'",
		["M7"] = "a'",
		["A7"] = "ais'",
		["d8"] = "beses'"
	},
	["b"] = {
		["P1"] = "b",
		["A1"] = "bis",
		["d2"] = "ces'",
		["m2"] = "c'",
		["M2"] = "cis'",
		["A2"] = "cisis'",
		["d3"] = "des'",
		["m3"] = "d'",
		["M3"] = "dis'",
		["A3"] = "disis'",
		["d4"] = "ees'",
		["P4"] = "e'",
		["A4"] = "eis'",
		["d5"] = "f'",
		["P5"] = "fis'",
		["A5"] = "fisis'",
		["d6"] = "ges'",
		["m6"] = "g'",
		["M6"] = "gis'",
		["A6"] = "gisis'",
		["d7"] = "aes'",
		["m7"] = "a'",
		["M7"] = "ais'",
		["A7"] = "aisis'",
		["d8"] = "bes"
	},
	["bis"] = {
		["P1"] = "bis",
		["A1"] = "bisis",
		["d2"] = "c'",
		["m2"] = "cis'",
		["M2"] = "cisis'",
		["A2"] = "cisisis'",
		["d3"] = "d'",
		["m3"] = "dis'",
		["M3"] = "disis'",
		["A3"] = "disisis'",
		["d4"] = "e'",
		["P4"] = "eis'",
		["A4"] = "eisis'",
		["d5"] = "fis'",
		["P5"] = "fisis'",
		["A5"] = "fisisis'",
		["d6"] = "g'",
		["m6"] = "gis'",
		["M6"] = "gisis'",
		["A6"] = "gisisis'",
		["d7"] = "a'",
		["m7"] = "ais'",
		["M7"] = "aisis'",
		["A7"] = "aisisis'",
		["d8"] = "b'"
	},
	["ces"] = {
		["P1"] = "ces'",
		["A1"] = "c'",
		["d2"] = "deseses'",
		["m2"] = "deses'",
		["M2"] = "des'",
		["A2"] = "d'",
		["d3"] = "eeseses'",
		["m3"] = "eeses'",
		["M3"] = "ees'",
		["A3"] = "e'",
		["d4"] = "feses'",
		["P4"] = "fes'",
		["A4"] = "f'",
		["d5"] = "geses'",
		["P5"] = "ges'",
		["A5"] = "g'",
		["d6"] = "aeseses'",
		["m6"] = "aeses'",
		["M6"] = "aes'",
		["A6"] = "a'",
		["d7"] = "beseses'",
		["m7"] = "beses'",
		["M7"] = "bes'",
		["A7"] = "b'",
		["d8"] = "ceses''"
	},
	["c"] = {
		["P1"] = "c'",
		["A1"] = "cis'",
		["d2"] = "deses'",
		["m2"] = "des'",
		["M2"] = "d'",
		["A2"] = "dis'",
		["d3"] = "eeses'",
		["m3"] = "ees'",
		["M3"] = "e'",
		["A3"] = "eis'",
		["d4"] = "fes'",
		["P4"] = "f'",
		["A4"] = "fis'",
		["d5"] = "ges'",
		["P5"] = "g'",
		["A5"] = "gis'",
		["d6"] = "aeses'",
		["m6"] = "aes'",
		["M6"] = "a'",
		["A6"] = "ais'",
		["d7"] = "beses'",
		["m7"] = "bes'",
		["M7"] = "b'",
		["A7"] = "bis'",
		["d8"] = "ces''"
	},
	["cis"] = {
		["P1"] = "cis'",
		["A1"] = "cisis'",
		["d2"] = "des'",
		["m2"] = "d'",
		["M2"] = "dis'",
		["A2"] = "disis'",
		["d3"] = "ees'",
		["m3"] = "e'",
		["M3"] = "eis'",
		["A3"] = "eisis'",
		["d4"] = "f'",
		["P4"] = "fis'",
		["A4"] = "fisis'",
		["d5"] = "g'",
		["P5"] = "gis'",
		["A5"] = "gisis'",
		["d6"] = "aes'",
		["m6"] = "a'",
		["M6"] = "ais'",
		["A6"] = "aisis'",
		["d7"] = "bes'",
		["m7"] = "b'",
		["M7"] = "bis'",
		["A7"] = "bisis'",
		["d8"] = "c''"
	},
	["des"] = {
		["P1"] = "des'",
		["A1"] = "d'",
		["d2"] = "eeseses'",
		["m2"] = "eeses'",
		["M2"] = "ees'",
		["A2"] = "e'",
		["d3"] = "feses'",
		["m3"] = "fes'",
		["M3"] = "f'",
		["A3"] = "fis'",
		["d4"] = "geses'",
		["P4"] = "ges'",
		["A4"] = "g'",
		["d5"] = "aeses'",
		["P5"] = "aes'",
		["A5"] = "aes'",
		["d6"] = "beseses'",
		["m6"] = "beses'",
		["M6"] = "bes'",
		["A6"] = "b'",
		["d7"] = "ceses''",
		["m7"] = "ces''",
		["M7"] = "c''",
		["A7"] = "cis''",
		["d8"] = "deses''"
	},
	["d"] = {
		["P1"] = "d'",
		["A1"] = "dis'",
		["d2"] = "eeses'",
		["m2"] = "ees'",
		["M2"] = "e'",
		["A2"] = "eis'",
		["d3"] = "fes'",
		["m3"] = "f'",
		["M3"] = "fis'",
		["A3"] = "fisis'",
		["d4"] = "ges'",
		["P4"] = "g'",
		["A4"] = "gis'",
		["d5"] = "aes'",
		["P5"] = "a'",
		["A5"] = "ais'",
		["d6"] = "beses'",
		["m6"] = "bes'",
		["M6"] = "b'",
		["A6"] = "bis'",
		["d7"] = "ces''",
		["m7"] = "c''",
		["M7"] = "cis''",
		["A7"] = "cisis''",
		["d8"] = "des''"
	},
	["dis"] = {
		["P1"] = "dis'",
		["A1"] = "disis'",
		["d2"] = "ees'",
		["m2"] = "e'",
		["M2"] = "eis'",
		["A2"] = "eisis'",
		["d3"] = "f'",
		["m3"] = "fis'",
		["M3"] = "fisis'",
		["A3"] = "fisisis'",
		["d4"] = "g'",
		["P4"] = "gis'",
		["A4"] = "gisis'",
		["d5"] = "a'",
		["P5"] = "ais'",
		["A5"] = "aisis'",
		["d6"] = "bes'",
		["m6"] = "b'",
		["M6"] = "bis'",
		["A6"] = "bisis'",
		["d7"] = "c''",
		["m7"] = "cis''",
		["M7"] = "cisis''",
		["A7"] = "cisisis''",
		["d8"] = "d''"
	},
	["ees"] = {
		["P1"] = "ees'",
		["A1"] = "e'",
		["d2"] = "feses'",
		["m2"] = "fes'",
		["M2"] = "f'",
		["A2"] = "fis'",
		["d3"] = "geses'",
		["m3"] = "ges'",
		["M3"] = "g'",
		["A3"] = "gis'",
		["d4"] = "aeses'",
		["P4"] = "aes'",
		["A4"] = "a'",
		["d5"] = "beses'",
		["P5"] = "bes'",
		["A5"] = "b'",
		["d6"] = "ceses''",
		["m6"] = "ces''",
		["M6"] = "c''",
		["A6"] = "cis''",
		["d7"] = "deses''",
		["m7"] = "des''",
		["M7"] = "d''",
		["A7"] = "dis''",
		["d8"] = "eeses''"
	},
	["e"] = {
		["P1"] = "e'",
		["A1"] = "eis'",
		["d2"] = "fes'",
		["m2"] = "f'",
		["M2"] = "fis'",
		["A2"] = "fisis'",
		["d3"] = "ges'",
		["m3"] = "g'",
		["M3"] = "gis'",
		["A3"] = "gisis'",
		["d4"] = "aes'",
		["P4"] = "a'",
		["A4"] = "ais'",
		["d5"] = "bes'",
		["P5"] = "b'",
		["A5"] = "bis'",
		["d6"] = "ces''",
		["m6"] = "c''",
		["M6"] = "cis''",
		["A6"] = "cisis''",
		["d7"] = "des''",
		["m7"] = "d''",
		["M7"] = "dis''",
		["A7"] = "disis''",
		["d8"] = "ees''"
	},
	["eis"] = {
		["P1"] = "eis'",
		["A1"] = "eisis'",
		["d2"] = "f'",
		["m2"] = "fis'",
		["M2"] = "fisis'",
		["A2"] = "fisisis'",
		["d3"] = "g'",
		["m3"] = "gis'",
		["M3"] = "gisis'",
		["A3"] = "gisisis'",
		["d4"] = "a'",
		["P4"] = "ais'",
		["A4"] = "aisis'",
		["d5"] = "b'",
		["P5"] = "bis'",
		["A5"] = "bisis'",
		["d6"] = "c''",
		["m6"] = "cis''",
		["M6"] = "cisis''",
		["A6"] = "cisisis''",
		["d7"] = "d''",
		["m7"] = "dis''",
		["M7"] = "disis''",
		["A7"] = "disisis''",
		["d8"] = "e''"
	},
	["fes"] = {
		["P1"] = "fes'",
		["A1"] = "f'",
		["d2"] = "geseses'",
		["m2"] = "geses'",
		["M2"] = "ges'",
		["A2"] = "g'",
		["d3"] = "aeseses'",
		["m3"] = "aeses'",
		["M3"] = "aes'",
		["A3"] = "a'",
		["d4"] = "beseses'",
		["P4"] = "beses'",
		["A4"] = "bes'",
		["d5"] = "ceses''",
		["P5"] = "ces''",
		["A5"] = "c''",
		["d6"] = "deseses''",
		["m6"] = "deses''",
		["M6"] = "des''",
		["A6"] = "d''",
		["d7"] = "eeseses''",
		["m7"] = "eeses''",
		["M7"] = "ees''",
		["A7"] = "e''",
		["d8"] = "feses''"
	},
	["f"] = {
		["P1"] = "f'",
		["A1"] = "fis'",
		["d2"] = "geses'",
		["m2"] = "ges'",
		["M2"] = "g'",
		["A2"] = "gis'",
		["d3"] = "aeses'",
		["m3"] = "aes'",
		["M3"] = "a'",
		["A3"] = "ais'",
		["d4"] = "beses'",
		["P4"] = "bes'",
		["A4"] = "b'",
		["d5"] = "ces''",
		["P5"] = "c''",
		["A5"] = "cis''",
		["d6"] = "deses''",
		["m6"] = "des''",
		["M6"] = "d''",
		["A6"] = "dis''",
		["d7"] = "eeses''",
		["m7"] = "ees''",
		["M7"] = "e''",
		["A7"] = "eis''",
		["d8"] = "fes''"
	},
	["fis"] = {
		["P1"] = "fis'",
		["A1"] = "fisis'",
		["d2"] = "ges'",
		["m2"] = "g'",
		["M2"] = "gis'",
		["A2"] = "gisis'",
		["d3"] = "aes'",
		["m3"] = "a'",
		["M3"] = "ais'",
		["A3"] = "aisis'",
		["d4"] = "bes'",
		["P4"] = "b'",
		["A4"] = "bis'",
		["d5"] = "c''",
		["P5"] = "cis''",
		["A5"] = "cisis''",
		["d6"] = "des''",
		["m6"] = "d''",
		["M6"] = "dis''",
		["A6"] = "disis''",
		["d7"] = "ees''",
		["m7"] = "e''",
		["M7"] = "eis''",
		["A7"] = "eisis''",
		["d8"] = "f''"
	},
	["ges"] = {
		["P1"] = "ges'",
		["A1"] = "g'",
		["d2"] = "aeseses'",
		["m2"] = "aeses'",
		["M2"] = "aes'",
		["A2"] = "a'",
		["d3"] = "beseses'",
		["m3"] = "beses'",
		["M3"] = "bes'",
		["A3"] = "b'",
		["d4"] = "ceses''",
		["P4"] = "ces''",
		["A4"] = "c''",
		["d5"] = "deses''",
		["P5"] = "des''",
		["A5"] = "d''",
		["d6"] = "eeseses''",
		["m6"] = "eeses''",
		["M6"] = "ees''",
		["A6"] = "e''",
		["d7"] = "feses''",
		["m7"] = "fes''",
		["M7"] = "f''",
		["A7"] = "fis''",
		["d8"] = "geses''"
	},
	["g"] = {
		["P1"] = "g'",
		["A1"] = "gis'",
		["d2"] = "aeses'",
		["m2"] = "aes'",
		["M2"] = "a'",
		["A2"] = "ais'",
		["d3"] = "beses'",
		["m3"] = "bes'",
		["M3"] = "b'",
		["A3"] = "bis'",
		["d4"] = "ces''",
		["P4"] = "c''",
		["A4"] = "cis''",
		["d5"] = "des''",
		["P5"] = "d''",
		["A5"] = "dis''",
		["d6"] = "eeses''",
		["m6"] = "ees''",
		["M6"] = "e''",
		["A6"] = "eis''",
		["d7"] = "fes''",
		["m7"] = "f''",
		["M7"] = "fis''",
		["A7"] = "fisis''",
		["d8"] = "ges''"
	},
	["gis"] = {
		["P1"] = "gis'",
		["A1"] = "gisis'",
		["d2"] = "aes'",
		["m2"] = "a'",
		["M2"] = "ais'",
		["A2"] = "aisis'",
		["d3"] = "bes'",
		["m3"] = "b'",
		["M3"] = "bis'",
		["A3"] = "bisis'",
		["d4"] = "c''",
		["P4"] = "cis''",
		["A4"] = "cisis''",
		["d5"] = "d''",
		["P5"] = "dis''",
		["A5"] = "disis''",
		["d6"] = "ees''",
		["m6"] = "e''",
		["M6"] = "eis''",
		["A6"] = "eisis''",
		["d7"] = "f''",
		["m7"] = "fis''",
		["M7"] = "fisis''",
		["A7"] = "fisisis''",
		["d8"] = "g''"
	}
}

local chords = {
	["aes"] = {
		"Q24083108"
	},
	["a"] = {
		"Q24075048"
	},
	["ais"] = {
		"Q24075047"
	},
	["bes"] = {
		"Q24075050"
	},
	["b"] = {
		"Q24076660"
	},
	["bis"] = {
		"Q59418209"
	},
	["ces"] = {
		"Q59418225"
	},
	["c"] = {
		"Q24075913"
	},
	["cis"] = {
		"Q24076679"
	},
	["des"] = {
		"Q24076671"
	},
	["d"] = {
		"Q24075937"
	},
	["dis"] = {
		"Q24076670"
	},
	["ees"] = {
		"Q24082851"
	},
	["e"] = {
		"Q24082829"
	},
	["eis"] = {
		"Q59418241"
	},
	["fes"] = {
		"Q59418246"
	},
	["f"] = {
		"Q24083045"
	},
	["fis"] = {
		"Q24083046"
	},
	["ges"] = {
		"Q24083049"
	},
	["g"] = {
		"Q24083047"
	},
	["gis"] = {
		"Q24083112"
	}
}

local degrees = {
	["I"] = {
		"Q58506623"
	},
	["II"] = {
		"Q58506679"
	},
	["III"] = {
		"Q58506878"
	},
	["IV"] = {
		"Q58507009"
	},
	["V"] = {
		"Q58507058"
	},
	["VI"] = {
		"Q58507145"
	},
	["♭VII"] = {
		"Q58507244"
	},
	["VII"] = {
		"Q58507496"
	}
}

local slashchords = {
	["II"] = {
		"Q58626502"
	},
	["III"] = {
		"Q58626503"
	},
	["IV"] = {
		"Q58511079"
	},
	["V"] = {
		"Q58626711"
	},
	["VI"] = {
		"Q58626743"
	},
	["VII"] = {
		"Q58626920"
	}
}

function p.chord(frame)
	local args = frame.args
	local chord = {}
	if not args.key then
		args.key = args[1]
		table.remove(args, 1)
	end
	for i, v in ipairs(args) do
		table.insert(chord, notes[args.key][args[i]])
	end
	return table.concat(chord, ", ")
end

function p.qs(frame)
	local args = frame.args
	local keys = args.keys and string.lower(args.keys) or 'aes,a,ais,bes,b,bis,ces,c,cis,des,d,dis,ees,e,eis,fes,f,fis,ges,g,gis'
	keys = mw.text.split(keys, '%s*,%s*')
	local L = mw.text.split(args.L, '%s*,%s*')
	local labels = {}
	for k, v in ipairs(L) do
		local tmp = mw.text.split(v, '%s*:%s*')
		labels[tmp[1]] = tmp[2]
	end
	local A = mw.text.split(args.A or '', '%s*,%s*')
	local result = {}
	for i, v in ipairs(keys) do
		table.insert(result, 'CREATE')
		for m, n in pairs(labels) do
			table.insert(result, 'LAST|L'..m..'|"'..notes[v].r..' '..n..'"')
			for _, x in ipairs(A) do
				table.insert(result, 'LAST|A'..m..'|"'..notes[v].r..x..'"')
			end
		end
		table.insert(result, 'LAST|Den|"musical chord"\nLAST|P279|'..chords[v][1])
		if args["type"] then table.insert(result, 'LAST|P279|'..args["type"]) end
		local notation = {}
		for _, x in ipairs(args) do
			if _ == 1 then
				table.insert(result, 'LAST|P527|'..notes[v][x]..'|P3831|Q2879974')
			else
				table.insert(result, 'LAST|P527|'..notes[v][x])
			end
			table.insert(notation, lilypond[v][x])
		end
		notation = table.concat(notation, " ")
		if not (string.match(notation, 'isisis') or string.match(notation, 'eseses')) then -- LilyPond doesn't support triple flats or sharps
			table.insert(result, "LAST|P5482|\"{\\override Score.BarLine.break-visibility = ##(#f#t#t)\\once\\override Staff.TimeSignature#'stencil = ##f<"..string.gsub(notation, "' ([a-g])", "'%1")..'>1}"')
		end
	end
	return '<pre>', frame:extensionTag('nowiki', table.concat(result, '\n')), '</pre>'
end

return p