Module:Svara/sandbox
Appearance
![]() | This is the module sandbox page for Module:Svara (diff). See also the companion subpage for test cases (run). |
local mSep = require('Module:Separated entries')
local getArgs = require('Module:Arguments').getArgs
local p = {}
function p.convertCarnaticHindustani(input)
local svaras = {
["'S"] = 'Ṣ', -- sa (one octave below)
['S'] = 'S',
['R1'] = 'Ṟ', -- Komal re
['R2'] = 'R', -- Shuddha re
['R3'] = 'G̱', -- Shuddha ga
['G1'] = 'R', -- Komal ga
['G2'] = 'G̱', -- Shuddha ga
['G3'] = 'G', -- Shuddha ga
['M1'] = 'M', -- ma
['M2'] = 'M̄', -- Tivra ma
['P'] = 'P',
['D1'] = 'Ḏ',
['D2'] = 'D', -- Komal dha
['D3'] = 'Ṉ', -- Komal ni
['N1'] = 'D', -- shuddha dha
['N2'] = 'Ṉ', -- Komal ni
['N3'] = 'N', -- shuddha ni
["S'"] = 'Ṡ', -- sa (one octave above)
}
for key, value in pairs(input) do
input[key] = svaras[value];
end
return input
end
function p.resolveCarnatic(input)
local svaras = {
["'S"] = 'Ṣ', -- sa (one octave below)
['S'] = 'S', -- Ṣhaḍja
['R1'] = 'R₁', -- Shuddha Rishabha
['R2'] = 'R₂', -- Chatushruti Rishabha
['R3'] = 'R₃', -- Shatshruti Rishabha
['G1'] = 'G₁', -- Shuddha Gandhara
['G2'] = 'G₂', -- Sadharana Gandhara
['G3'] = 'G₃', -- Antara Gandhara
['M1'] = 'M₁', -- Shuddha Madhyama
['M2'] = 'M₂', -- Prati Madhyama
['P'] = 'P', -- Pancham
['D1'] = 'D₁', -- Shuddha Dhaivata
['D2'] = 'D₂', -- Chatushruti Dhaivata
['D3'] = 'D₃', -- Shatshruti Dhaivata
['N1'] = 'N₁', -- Shuddha Nishadha
['N2'] = 'N₂', -- Kaishiki Nishadha
['N3'] = 'N₃', -- Kakali Nishadha
["S'"] = 'Ṡ', -- sa (one octave above)
}
for key, value in pairs(input) do
input[key] = svaras[value];
end
return input
end
function p.carnatic(frame)
local args = getArgs(frame)
args = p.resolveCarnatic(args)
return p._main(args)
end
function p.resolveHindustani(input)
local svaras = {
["'s"] = 'Ṣ', -- sa (one octave below)
["'S"] = 'Ṣ', -- sa (one octave below)
['s'] = 'S',
['S'] = 'S',
['r'] = 'Ṟ', -- Komal re
['R'] = 'R', -- Shuddha re
['g'] = 'G̱', -- Komal ga
['G'] = 'G', -- Shuddha ga
['m'] = 'M', -- ma
['M'] = 'M̄', -- Tivra ma
['p'] = 'P',
['P'] = 'P',
['d'] = 'Ḏ', -- Komal dha
['D'] = 'D', -- Shuddha dha
['n'] = 'Ṉ', -- Komal ni
['N'] = 'N', -- shuddha ni
["S'"] = 'Ṡ', -- sa (one octave above)
}
for key, value in pairs(input) do
input[key] = svaras[value];
end
return input
end
function p.hindustani(frame)
local args = getArgs(frame)
args = p.resolveHindustani(args)
return p._main(args)
end
function p.main(frame)
local args = getArgs(frame)
return p._main(args)
end
function p._main(args)
args['separator'] = " "
return mSep.main(args)
end
return p