0:00/0:00
// Fight Fire With Fire — Kansas
// 64 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 56 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(64/4)
// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once · [...]/2 spreads a riff over 2 bars.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.
// bass · electric bass finger · "new"
const bass = note(`<
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL@2 AM AN AO AP AQ AR AS AT AU@2
AV AW AX AY AZ@2 ~
>`.pickRestart({
A: "~@18 b2!2 ~@2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~",
B: "b2 a2 b2 ~ b2 ~ b2 ~@2 b2 ~ b2 ~ b2 ~ b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2",
C: "~ b2 a2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~",
D: "~@2 b2 a2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~",
E: "b2 ~ b2 ~ b2 ~ a2 ~ a2 ~@2 g2@6 ~@4 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2",
F: "~ b2 ~@2 [a2,b2] b2 ~@2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~", // Asus2
G: "b2 ~ b2 ~ b2 ~ a2 ~ a2 ~ a2 ~ g2@6 ~@5 b2 ~ b2 ~ b2 ~ b2 ~ b2",
H: "~ b2 ~ b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~@2 b2 a2 b2 ~ b2 ~ b2 ~ b2 ~",
I: "b2 ~ b2 ~ b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~@2 c3 ~ c3 ~ c3 ~ c3",
J: "~ c3 ~ c3 ~ c3 ~ c3 b2 c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 b2 c3 ~ c3 ~ c3 ~ c3",
K: "~ c3 ~ c3 ~ c3 ~ c3 b2 c3 ~@3 c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~@2 d3!2 ~@2 d3 ~",
L: "d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3!2 d3 ~ d3 ~ d3 ~",
M: "d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ b2 ~ b2 ~ c3 ~",
N: "c3 ~ c3 ~ c3 ~ c3 ~ c3 b2 c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 b2 c3 ~ c3 ~ c3 ~",
O: "c3 ~ c3 ~ c3 ~ c3 ~@2 [b2,c3] c3 ~ c3 ~ c3 ~@2 c3 ~ c3 ~ c3!2 ~@2 c3 ~ d3 ~ d3 ~ d3", // Cmaj7
P: "~ d3 ~ d3 ~ d3 ~ d3 ~ d3 [c#3,d3] ~@2 d3 ~ [c#3,d3] ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ d3 ~ d3 ~ d3", // Dmaj7
Q: "~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~@3 b2 ~ b2 ~ b2",
R: "~ b2 ~ b2 ~ b2 ~ b2 ~@2 [a2,b2] b2 ~ b2 ~@2 b2!2 ~@2 b2 ~ b2 ~ b2 ~ b2 a2 b2 ~ b2 ~", // Asus2
S: "b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ a2 ~ a2 ~ a2 ~ g2@6 ~@4 b2 ~ b2 ~",
T: "b2 ~ b2 ~@2 b2 ~ b2 ~ b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 a2 b2 ~ b2",
U: "~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ a2 ~ a2 ~ a2 ~ g2@7 ~@4 b2 ~",
V: "b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ c3 ~",
W: "c3 ~ c3 ~@2 c3!2 ~@2 c3 ~ c3 ~ c3 [b2,c3] ~@2 c3!2 ~@2 c3 ~ c3 ~ c3 ~ c3 ~ c3 b2 c3", // Cmaj7
X: "~@3 c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 b2 c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ d3",
Y: "~ d3 ~ d3 ~@2 d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~",
Z: "d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~",
AA: "c3 ~ c3 ~ c3 ~ c3 ~ c3 ~@2 c3 ~ c3 ~ c3 [b2,c3] ~@4 c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3", // Cmaj7
AB: "b2 c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 b2 c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3",
AC: "~ d3 ~ d3 ~ d3 ~@2 d3!2 ~@2 d3 ~ d3 ~ d3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~",
AD: "c#3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3!2 ~@2 c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~",
AE: "~@2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~",
AF: "~ b2 a2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ a2 ~ a2 ~ a2 ~ g2@6 ~",
AG: "~@4 b2!2 ~@2 b2 ~ b2!2 ~@2 b2 ~ b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~",
AH: "b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ a2 ~ a2 ~ a2 ~ g2@6",
AI: "~@5 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2",
AJ: "~ b2 ~@2 [a2,b2] b2 ~ b2 ~ b2 ~ b2 ~ b2 ~@2 b2 ~ b2 ~ b2 ~ a2 ~ a2 ~ a2 ~ g2@4", // Asus2
AK: "~@6 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~@2 b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2 ~ b2",
AL: "[~ b2 ~ b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ a2 ~ a2 ~ a2 ~ g2@6 ~@5 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2 ~]/2",
AM: "b2 ~ b2 ~ b2 ~ b2 ~ [a2,b2] ~ b2 ~ b2 ~ b2 ~@2 b2 ~ b2 ~ b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2", // Asus2
AN: "~ b2 ~ b2 ~ b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~@2 b2 ~",
AO: "b2!2 ~ b2 ~ b2 ~@2 b2 ~ a2@2 a2 a2@3 ~@2 a2!2 ~ a2 ~ a2 ~ a2 ~ a2 ~ a2 ~ a2",
AP: "~ a2 ~ a2 ~ a2 ~ a2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2",
AQ: "~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2!2 ~@2 b2!2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~",
AR: "b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~",
AS: "b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2!2 ~ b2 ~ b2",
AT: "~ b2 ~ b2 ~@4 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2 ~",
AU: "[b2 ~ b2 ~ b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~@2 b2 ~ a2 ~ a2!2 ~@2 g2@7 ~@3 b2 ~ b2 ~ b2 ~ b2 ~@2 b2 ~ b2 ~ b2 ~ b2 [a2,b2] ~ b2 ~@2 b2 ~]/2", // Asus2
AV: "b2!2 ~@2 b2 ~ b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ a2 ~ a2 ~ a2 ~",
AW: "g2@6 ~@5 b2 ~@2 b2!2 ~@2 b2 ~ b2 ~ b2 ~ b2 ~ b2 a2 b2 ~ b2 ~",
AX: "b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~@2 b2!2 ~@2 a2 ~ a2",
AY: "~ a2 ~ g2@6 ~@4 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~@2 b2!2 ~@2 b2 [a2,b2] ~@2", // Asus2
AZ: "[~@2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2@9 ~@2 a2@5 ~ g2@8 ~@19]/2",
})).s("gm_electric_bass_finger").gain(0.48)
// chords · synth drum · "new"
const synth_drum = note(`<
A B C D E F G H I@2 J@8 K L M N O P Q@6 R@2 S T U V W X Y@8 Z@2 AA@3 AB AC AD AE AF
>`.pickRestart({
A: "~@18 f2 ~ f2 ~ [c3,f3] ~ f2 ~ f2 ~ f2@2 [c3,f3] ~", // F5
B: "f2 ~ f2 ~ f2 ~@2 [c3,f3] ~ f2!2 ~ f2 e2 ~ [c3,f3] ~ f2 ~ f2 ~ f2 ~ [c3,f3] ~ f2 ~ f2 ~ f2 ~ [c3,f3]", // F5
C: "~ f2 ~ f2 ~ f2 ~@2 [c3,f3] ~ f2 ~ f2 ~ f2 ~ [c3,f3] ~ f2 ~ f2 ~ f2 ~ [c3,f3] ~ f2 ~ f2 ~ f2 ~", // F5
D: "[c3,f3] ~ f2 ~ f2 ~ f2 ~ [c3,f3] ~ f2 ~ f2 ~ f2 ~ [c3,f3] ~ f2 ~ f2 ~ f2 ~ [c3,f3] ~ f2 ~ f2 ~ f2 ~", // F5
E: "~@2 d2 ~ d2 ~ d2@2 e3@2 d2@2 ~@2 d2 ~ [d2,c3,f3] ~ d2 ~ d2 ~ d2 ~ d2 ~@2 d2 ~ d2 ~ d2, ~@8 [c3,f3]@7 ~@3 [c3,f3]@5 ~ f3@8, ~@25 c3@7", // Dm7 F5
F: "~@3 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~@2 d2 ~ d2!2 ~ d2 ~@2 d2 ~ d2 ~ d2!2, ~ [c3,f3]@7 ~ [c3,f3]@8 [c3,f3]@7 ~@2 [c3,f3]@6", // F5
G: "~@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2@3 ~ d2 ~ [c3,f3] d2 ~ d2 ~ d2!2 ~@2 [c3,f3]@4 d2, ~@2 [c3,f3]@7 ~ [c3,f3]@7 ~@3 [c3,f3]@5 ~@2 d2@2 ~@3", // F5
H: "~ d2 ~ d2@2 ~ d2 ~@2 d2 ~ d2@2 ~@3 d2!2 ~@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~, ~@3 [c3,f3]@8 [c3,f3]@8 ~ c3@7 [c3,f3]@5, ~@3 g3 ~@15 f3@7 ~@6", // F5
I: "[d2!2 ~@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2@2 d2 ~@2 d2!2 ~@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ [c3,f3]@2 d2, ~@3 [c3,f3]@8 ~ [c3,f3]@8 [c3,f3]@8 ~ [c3,f3]@8 [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@7 ~ d2 ~@2]/2", // F5
J: "[~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ [c2,d2] ~ d2 ~ d2 ~ d2 ~ d2 ~@2 d2 ~ d2 ~ d2!2 ~@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ [d2,e2] ~ d2 ~@2 d2!2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~@2 d2!2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2!2 ~ d2 ~ d2 ~ d2 ~ d2 ~@2 d2!2 ~ d2 ~ d2 ~@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ [d2,c3,f3] ~ d2 ~ d2@3 ~@2 d2!2 ~ d2 ~ d2 ~ d2 ~ d2 ~@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2!2 ~@2 d2 ~, ~@5 [c3,f3]@8 [c3,f3]@7 ~ [c3,f3]@7 ~@2 [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@8 [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@8 [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@7 ~@2 [c3,f3]@7 ~ [c3,f3]@8 [c3,f3]@7 ~ [c3,f3]@8 [c3,f3]@7 ~ [c3,f3]@7 ~@3 [c3,f3]@5 ~ [c3,f3]@7 ~ [c3,f3]@8 ~ [c3,f3]@7 [c3,f3]@8 ~]/8", // Csus2 Dsus2 Dm7 F5
K: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2@3 ~ [d2,c3,f3] ~ [d2,c3,f3] ~ d2 ~ d2 ~ d2 ~, [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@5 ~@5 [c3,f3]@5 ~", // Dm7 F5
L: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~@2 d2!2 ~@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2, [c3,f3]@7 ~ [c3,f3]@8 ~ [c3,f3]@7 ~ [c3,f3]@7", // F5
M: "~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ [d2,c3,f3] ~ [d2,c3,f3]@3 ~ d2 ~ [d2,c3,f3] ~ d2 ~ d2 ~ d2, ~ [c3,f3]@7 ~ [c3,f3]@6 ~@12 [c3,f3]@5", // Dm7 F5
N: "~@2 d2 ~ d2!2 ~ d2 ~@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~, ~ [c3,f3]@7 ~ f3@7 ~@16, ~@10 c3@7 ~ [c3,f3]@7 ~ [c3,f3]@6", // F5
O: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~@2 d2 ~ d2 ~ d2 ~ d2 ~ d2, ~@2 [c3,f3]@8 [c3,f3]@7 ~ [c3,f3]@8 f3@6, ~@27 c3@5", // F5
P: "~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2, ~@3 [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@5", // F5
Q: "[~ d2 ~ d2 ~ d2 ~@2 [c2,d2] d2 ~@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ [d2,c3,f3] ~ d2 ~ [d2,e2] ~ d2 ~ [c2,d2] ~ d2 ~@2 d2!2 ~@2 d2!2 ~ d2 ~ d2 ~@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2!2 ~@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~@2 d2!2 ~ [d2,b2] ~@2 d2 ~ d2 ~ d2 ~ d2@3 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ [d2,c3,f3] ~ [d2,c3,f3] ~, ~@3 [c3,f3]@7 ~@2 [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@7 ~@3 [c3,f3]@5 ~ [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@8 f3@7 ~@42 e3@3 ~@48, ~@93 c3@6 ~@2 [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@8 [c3,f3]@7 ~ [c3,f3]@7 ~@2 [c3,f3]@7 ~ [c3,f3]@8 [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@5 ~@5]/6", // Csus2 Dm7 Dsus2 Csus2 G Dm7 F5
R: "[d2 ~ d2@3 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2@3 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~@2 d2 ~ d2!2 ~@2 d2 ~ d2 ~ [d2,c3]@4 d2 ~ d2@3 ~ [d2,f3] ~ [d2,c3,f3], [c3,f3]@6 [c3,f3]@7 ~ [c3,f3]@8 [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@7 ~ f3@8 ~@10, ~@46 c3@4 ~@5 [c3,f3]@5 ~@4]/2", // D7 Dm Dm7 F5
S: "~ d2@2 d2@3 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2@3 ~ d2 ~@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~, ~ [c3,f3]@6 [c3,f3]@7 ~ [c3,f3]@8 ~ [c3,f3]@7 ~", // F5
T: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ [c3,f3]@5 ~ [d2,c3,f3] ~, [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@7 ~ d2@2 ~@6", // F5 Dm7 F5
U: "[d2,c3,f3] ~ d2 ~ d2 ~ d2 ~@2 d2!2 ~ d2 ~@2 d2 ~ d2 ~ d2 ~ [c#2,d2] ~ d2 ~ d2 ~ d2 ~ d2 ~ d2, ~@2 [c3,f3]@5 ~ [c3,f3]@7 ~ [c3,f3]@8 ~ [c3,f3]@7", // Dm7 Dmaj7 F5
V: "~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 [c3,f3]@2 d2 ~ d2 ~ d2@3 ~, ~ [c3,f3]@7 ~ [c3,f3]@8 [c3,f3]@4 ~@5 [c3,f3]@6", // F5
W: "d2 ~ [d2,c3,f3] ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~@2 d2 ~ d2!2 ~ d2 ~ d2 ~ d2 ~, ~@4 [c3,f3]@5 ~ [c3,f3]@7 ~ [c3,f3]@6 ~@2 [c3,f3]@6", // Dm7 F5
X: "~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ [c2,d2] ~ [c3,f3]@2 d2 ~ [d2,c3,f3]@3 ~ [d2,c3] ~ [d2,c3]@3, ~@3 [c3,f3]@7 ~ [c3,f3]@7 ~ d2 ~@7 f3@5", // Csus2 F5 Dm7 D7 F5
Y: "[~ d2 ~ d2 ~ d2@2 ~ c2 ~@7 d2 ~ d2 ~ d2@2 d2 ~ d2!2 ~@2 d2@3 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~@2 c3 ~ d2@3 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ [d2,c3,f3]@6 ~@2 d2@3 ~ d2 ~ d2 ~ d2@2 ~@3 d2 ~ d2 ~ d2@3 d2 ~@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2@2 ~@2 d2 ~ d2 ~ [d2,c3] [d2,f3] c3 ~ d2!2 ~@2 d2 ~ d2 ~ d2@3 ~ d2 ~ d2 ~ d2 ~@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~@3 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~@2 [d3,g3] ~ d2 ~ d2 ~ d2 ~@2 d2 ~ d2!2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ e3@2 d2 ~ [d2,e2] ~ d2 ~ d2 ~@2 d2!2 ~ d2 ~ d2 ~ [d2,d#2] ~ d2 ~ d2 ~ d2 ~@3 [c2,d2] ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~, ~@3 [c3,f3]@7 ~@2 [c3,f3]@7 ~ [c3,f3]@6 ~@2 [c3,f3]@8 [c3,f3]@7 ~@2 [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@7 ~@9 [c3,f3]@7 ~ [c3,f3]@8 [c3,f3]@7 ~@2 [c3,f3]@8 [c3,f3]@13 ~@3 [c3,f3]@7 f3@7 ~@32 [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@8 [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@4, ~@7 d2@7 ~@28 d2@2 ~@90 c3@7 [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@6 d2@2 ~@31 d2 ~@51]/8", // Dm7 D7 Dm G5 Dsus2 D#maj7 Csus2 F5
Z: "[d2!2 ~ f3 [d2,c3] [d2,c3,f3]@5 ~@2 d2 ~ d2 ~ [c2,d2] ~ d2 ~ d2!2 ~@2 d2!2 ~@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ [d2,c3] ~ d2 ~ d2 ~ d2 ~ d2 ~ d2@2, ~@11 f3@7 ~@34 f3@7 ~@5, ~@12 c3@7 ~ [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@8 ~@2 c3@6 [c3,f3]@4]/2", // D7 Dm7 Csus2 D7 F5
AA: "[~@2 f3 [d2,c3] d2 [c3,f3] d2@2 ~ d2 ~ d2 ~ d2 ~ d2 ~ [d2,e2] ~ d2 ~ d2 ~ d2 ~ d2 ~@2 d2 ~ d2 ~ d2 ~ [d2,e2] ~ d2 ~ d2 ~ [c2,d2] ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ [d2,c3] ~ c3@2 [c3,f3]@2 d2 ~ d2 ~ d2@3 ~ [d2,c3,f3] ~ [d2,c3,e3,f3] ~@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~, ~@6 [c3,f3]@6 ~ [c3,f3]@7 ~ [c3,f3]@8 ~ [c3,f3]@7 ~ [c3,f3]@7 ~ [c3,f3]@7 ~ f3@2 d2 ~ d2 ~@3 [c3,f3]@5 ~@5 [c3,f3]@6 ~ [c3,f3]@8 ~ [c3,f3]@7 ~]/3", // D7 F5 Dsus2 Csus2 D7 F5 Dm7 F5
AB: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~@2 d2!2 ~@2 d2!2 ~@2 d2 ~ d2, [c3,f3]@7 ~ [c3,f3]@8 [c3,f3]@7 ~ [c3,f3]@3 ~ [c3,f3]@3 ~", // F5
AC: "[c3,f3] d2 d2@3 ~ [c3,f3] d2 [c3,f3] d2!2 ~@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~@2 d2!2 ~ d2, ~@10 [c3,f3]@5 ~@2 [c3,f3]@7 ~ [c3,f3]@7", // F5
AD: "~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~@2 d2!2 ~@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ [c3,f3]@2, ~ [c3,f3]@7 ~ [c3,f3]@8 ~ [c3,f3]@7 ~ [c3,f3]@4 d2 ~", // F5
AE: "d2 ~ [d2,c3] ~ d2@4 ~ [c3,f3]@2 ~@2 e3 ~@2 [b2,c3,d3]@2 [a2,b2,c3,d3,e3] ~@2 [g2,a2,b2,c3] ~@2 [f2,g2,a2] ~ [e2,f2] ~ d2@2 ~@2, ~@2 f3@2 ~@5 d2 ~@2 [c3,f3]@2 ~ f3@2 ~@15, ~@16 e3 ~@15", // D7 F5 Bm Am Cmaj7 F Fmaj7 F5
AF: "c2 ~@31",
})).s("gm_synth_drum").gain(0.22)
// other · distortion guitar · "new"
const distortion_guitar = note("<A B C D E F G H I ~@7 J K L M@2 N ~@8 O@2 P Q R@5 ~@17>".pickRestart({
A: "~@17 b2 ~ b2 ~@2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~",
B: "b2 a2 b2 ~ b2 ~ b2 ~@2 b2 ~ b2 ~ b2 ~ b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2",
C: "~ b2 a2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~",
D: "~@2 b2 a2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~",
E: "b2 ~ b2 ~ a2 ~ a2 ~ a2 ~ g2@6 ~@5 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2",
F: "~ b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~@2 b2 ~ [a2,b2] b2 ~@2 b2 ~ b2 ~ b2 ~ b2 ~", // Asus2
G: "b2 ~ b2 ~ b2 ~ a2 ~ a2 ~ a2 ~ g2@6 ~@4 b2 ~ b2 ~@2 b2 ~ b2 ~ b2",
H: "~ b2 ~ b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~@2 b2 ~ b2 ~ b2 [a2,b2] ~ b2 ~ b2 ~ b2 ~@2", // Asus2
I: "b2 ~ b2 ~ b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~@9", J: "~@27 a2@5",
K: "~ b2@6 f#2@4 a2@7 b2@6 f#2@4 a2@4", L: "~ b2@3 f#2@2 a2@3 g2@4 ~ a2@2",
M: "[~@2 b2@6 f#2@5 a2@6 b2@6 f#2@4 a2@6 b2@6 f#2@4 a2@6 g2@7 ~@5 a2]/2",
N: "~ b2!2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~@3",
O: "[~@2 a2@6 b2@6 f#2@4 a2@7 b2@5 f#2@4 a2@7 b2@5 f#2@4 ~ a2@6 g2@7]/2", P: "~@3 a2@7 b2@5 f#2@5 a2@6 b2@6",
Q: "f#2@2 a2@3 b2@3 f#2@2 a2@3 g2@3",
R: "[~@4 a2@7 b2@6 f#2@4 a2@7 b2@6 f#2@4 a2@6 b2@6 f#2@3 a2@7 g2@7 ~@3 a2@6 b2@6 f#2@4 a2@7 b2@6 f#2@4 a2@6 b2@6 f#2@4 a2@6 g2@5 ~@30]/5",
})).s("gm_distortion_guitar").gain(0.48)
// other · distortion guitar · "new"
const distortion_guitar_2 = note("<~@38 A B C ~ D E F G H@3 I J K@3 L ~>".pickRestart({
A: "~@8 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2 ~",
B: "b2 ~ b2 ~ b2 ~ b2 a2 b2 ~@2 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 a2 b2 ~ b2 ~ b2 ~ b2", C: "~ b2 ~ b2 ~ b2 ~ b2 ~@24",
D: "~@9 b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2",
E: "~ b2!2 ~ b2 ~ b2 ~@2 b2 ~ b2!2 ~@2 b2 ~ b2!2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~",
F: "b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~",
G: "b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2 ~ b2!2",
H: "[~@3 b2 ~@3 a2@6 ~ b2@6 f#2@4 a2@6 b2@6 f#2@4 a2@7 b2@6 f#2@4 a2@6 g2@7 ~@3 a2@7 b2@6 f#2@4 a2@6]/3",
I: "b2@5 f#2@4 ~ a2@6 b2@6 f#2@4 a2@6", J: "~ g2@8 ~@2 a2@6 ~ b2@6 f#2@4 a2@4",
K: "[~@2 b2@6 f#2@4 a2@6 b2@6 f#2@4 a2@6 g2@7 ~@5 a2@5 b2@6 f#2@4 a2@6 b2@7 f#2@4 a2@6 b2@6 f#2@2 ~@4]/3",
L: "~@2 a2@4 g2@15 ~@11",
})).s("gm_distortion_guitar").gain(0.48)
// other · string ensemble 1 · "new"
const string_ensemble_1 = note(`<
~@2 A@2 B C@2 ~ D E@8 F G H@2 I@4 J K L M N O@2 P@2 Q R S@3 ~ T U V W@6 X Y Z@4 ~
>`.pickRestart({
A: "[~@19 a4@6 b4@6 ~@5 a4@5 b4@6 ~@5 a4@6 b4@6, ~@31 e4@10 ~@6 e4@13 ~@4]/2", B: "f#4@2 a4@3 g4@4 ~ a4@3 b4@3",
C: "[~ f#4@4 a4@6 b4@6 f#4@4 a4@7 b4@6 f#4@4 a4@6 g4@6 ~@14]/2", D: "~@3 [c4,e4]",
E: "[~@9 [c4,e4]@14 ~ [c4,e4]@31 ~@2 [d4,f#4]@16 [c#4,e4]@17 [d4,f#4]@16 [c#4,e4]@15 ~ [c4,e4]@15 ~ [c4,e4]@15 ~ c4@11 ~@4 c4@16 ~ [d4,f#4]@16 ~ e4@16 [d4,f#4]@16 [c#4,e4]@14 ~@2 a4@5, ~@154 e4@32 ~@16 c#4@17 ~@37]/8", // C D C#m D C#m C D C#m
F: "~@7 e4@4 a4@6 ~ b4@6 a4@2 ~@2 a4@4, ~ b4@10 f#4@11 ~@10", G: "~ b4@3 f#4@2 a4@3 f4 g4@4 a4@2",
H: "[~@2 b4@6 f#4@4 a4@7 b4@6 f#4@4 a4@6 b4@6 f#4@4 a4@6 g4@7 ~@6]/2",
I: "[~@30 [c4,e4]@16 ~ [c4,e4]@14 ~@2 [c4,e4]@15 ~ [c4,e4]@14 ~@2 [d4,f#4]@16 ~ e4@16, ~@111 c#4@16 ~]/4", // C D
J: "[d4,f#4]@16 [c#4,e4]@15 ~", K: "~@7 a4@2 ~@8 e4@15, [c4,e4]@14 ~@2 c4@15 ~", L: "~ [c4,e4]@15 ~ [c4,e4]@15",
M: "~ [d4,f#4]@16 ~ e4@14, ~@17 c#4@15", N: "~@2 [d4,f#4]@15 ~ e4@14, ~@17 c#4@15",
O: "[~@2 a4@6 b4@6 e4@4 a4@6 b4@6 ~@4 a4@6 b4@6 f#4@5 a4@6 g4@7, ~@15 f#4@4 ~@13]/2",
P: "[~@3 a4@6 b4@6 f#4@4 a4@7 b4@5 f#4@5 a4@6 b4@6 f#4@4 a4@6 g4@6]/2", Q: "~@4 a4@6 b4@6 f#4@5 a4@6 b4@5",
R: "~ f#4@4 a4@6 b4@6 f#4@4 a4@6 g4@5",
S: "[~@19 f#4@3 a4@6 b4@7 f#4@4 a4@6 b4@6 f#4@4 a4@6 g4@5 ~@30, ~@16 b4@5 ~@75]/3",
T: "~@13 g#4@11 g4@8, ~@13 d#2@3 ~@16", U: "~@4 f#4@3 ~@3 f#4@12 ~@3 g4@7", V: "~@2 a4@7 b4@21 c5@2, ~@2 g#4 ~@29",
W: "[~@2 b4@5 ~ b4@31 ~@2 a4@15 [g#4,a4] ~@3 g#4@2 ~@3 g4@6 ~ [g4,b4]@27 ~@4 a4@6 ~ b4@5 f#4@5 a4@6 b4@6 ~@4 a4@5 b4@7 f#4@4 a4@6 g4@7 ~@3 a4@6 b4@7 f#4@4 a4@7, ~@7 a4@2 ~@31 f#4@20 ~@2 a4@9 ~@61 e4@7 ~@53]/6", // Amaj7 G
X: "b4@6 e4@3 a4@7 b4@6 f#4@4 a4@6", Y: "g4@7 ~@3 b4@5 ~@2 b4@6 f#4@5 a4@4, ~@28 b4 ~@3",
Z: "[~@2 b4@6 f#4@4 a4@6 b4@6 f#4@4 a4@7 g4@6 ~@8 b4@8 a4@3 ~ a4@6 b4@6 f#4@4 a4@7 b4@5 f#4@4 a4@7 g4@7 ~@21]/4",
})).s("gm_string_ensemble_1").gain(0.48)
// chords · electric bass finger · "new"
const electric_bass_finger = note("<~@11 A@2 ~@43>".pickRestart({
A: "[~@34 f3@2 a3 ~ b3 ~ d4@4 b3@2 a3@2 b3@2 d3@2 f3@3 ~@9, ~@26 d3@23 ~@15]/2",
})).s("gm_electric_bass_finger").gain(0.48)
// other · alto sax · "new"
const alto_sax = note(`<
~@10 A@3 ~@2 B@2 C D E ~@3 F@3 G H I J K ~ L ~ M ~ N ~@5 O@2 P@2 Q R S@2 T U V@3 ~
>`.pickRestart({
A: "[~@19 [e4,f4]@2 ~@2 e4@4 f#4@14 e4@4 ~@9 e4@2 e4@4 d4@19 ~@17]/3", // Fmaj7
B: "[~@25 e4@4 d4@12 ~@6 a4@2 ~@2 a4@2 f#4@2 a4@3 ~ a4@5, ~@23 f#4@7 ~@17 b4 ~@16]/2",
C: "~ b4@3 ~@3 f#4@3 ~ e4@6 f#4@4 ~@4 b4 ~ b4@2 a4 ~@2", D: "a4 ~ a4@4 ~@22 a4@4",
E: "~@2 b4@3 ~@3 f#4@3 ~ e4@6 f#4@5 ~@9", F: "[~@25 e4@3 ~ e4@4 f#4@19 ~@8 f#4@2 e4@4 d4@9 ~@21]/3",
G: "~@11 f#4 e4 d4@2 ~", H: "~@9 f#4@3 ~@9 f#4@2 ~@6 f#4@2 ~", I: "~@15 f#4@3 e4@7 ~@7",
J: "~@6 e4@10 d4@3 ~@3 a4@2 ~@2 a4@2 ~@4, ~@22 b4 ~@9", K: "~ a4@7 b4@3 ~@3 f#4@3 ~ e4@6 f#4@5 ~@3",
L: "~@3 a4@6 b4@4 ~@2 f#4@3 ~ e4@7 f#4@3 ~@3", M: "~@17 a4@2 ~@2 e4@6 f#4@4 ~",
N: "~@6 a4@6 b4@3 ~@3 f#4@3 ~ e4@6 f#4@3 ~", O: "[~@15 d5@20 ~@29]/2",
P: "[~@8 d5@16 c#5@11 ~ c#5@4 b4@24, ~@35 d5@2 ~@27]/2", Q: "~@7 a4@7 b4@2 ~@3 f#4@3 ~@2 e4@5 f#4@3",
R: "~@6 b4 ~ b4@2 a4 ~ a4 ~@19", S: "[~@8 a4@6 b4@3 ~@4 f#4@3 ~ e4@6 f#4@4 ~@29]/2",
T: "~@10 c#5@7 b4@3 ~@3 a4@3 ~@2 f#4@4", U: "~ a4@3 ~@12",
V: "[~@13 a4@6 b4@3 ~@3 f#4@3 ~ e4@6 f#4@5 ~@22 d5@6 c#5@10 ~@18]/3",
})).s("gm_alto_sax").gain(0.3)
// drums · mid tom
const mid_tom = s("mt").struct("<~@20 [~@29 x ~@2] ~@35>").gain(0.64)
stack(
bass, synth_drum, distortion_guitar, distortion_guitar_2, string_ensemble_1, electric_bass_finger, alto_sax, mid_tom
)
More by Kansas
Not in the database
That song isn't here.
Nothing in the database matches this link. It may have been renamed, or the address was mistyped. The closest songs to :
Real transcriptions · Editable patterns · Instrumental
Type a song.
Get Strudel code.
Chords, structure, melody, bass and drums compiled from open transcriptions into Strudel live-coding patterns. Play it here, scrub through the bars, then open it in strudel.cc and start hacking.
Smells Like Teen SpiritNirvana
The JokerSteve Miller Band · 1973
Love Me DoThe Beatles · 1964
I Don't MindJames Brown · 1961
- Real transcriptionsMcGill chord charts, Lakh MIDI and quality-filtered PDMX scores. The library includes alternate transcriptions of some songs.
- One bar, one cycleEvery layer follows the same bar timeline, keeping the code, playback and song structure aligned.
- Instrumental by designDetected vocal parts are removed. Guitar riffs, harmonica and other instrumental leads stay.