HX6XV5DWSZUH6O5IRJGEOFBE3IFK247N7PFBIFG52CBC4YMTZAVQC
KCDFZVFMCAOSWY3C2AJARBC6EIWCBI76LPMASJYGVEV4M5TSB5JQC
3GBPEYPD42RVRUM5CGQ564MZ4ETQ5IL4QBMOF4YT3SRIJJG3WPEQC
H4L5BQAZF3EJ3MOFAJTBBIBZ2CVHDP3L2OI5FY6CDY5NMEH327RQC
tonic = strings.Title(tonic)
if v == strings.Title(tonic) {
if v == tonic {
result = append(result, scale[act]) for i := 0; i < len(interval)-1; i++ {
result = append(result, scale[act])
for i := 0; i < len(interval)-1; i++ {
result = make([]string, len(interval)) for i, step := range interval { result[i] = scale[act%12]
result = make([]string, len(interval))
for i, step := range interval {
result[i] = scale[act%12]
case interval[i] == 'm':
case step == 'm':
case interval[i] == 'M':
case step == 'M':
case interval[i] == 'A':
case step == 'A':
if act >= len(scale) { act = act - len(scale) } result = append(result, scale[act])
if act >= len(scale) {
act = act - len(scale)
}