0:00/0:00
// korobeiniki — Alpha Templarus
// 160 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 3/4 at bar 24, 4/4 at bar 24, 3/4 at bar 122, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: ch 1 "Piano" named as a piano, played on piano (its cello patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/206451; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 147 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(160/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.
// chords · piano
const piano = note(`<
A@6 B C D@2 E@4 F@4 G@2 H@2 I J K L M N O P Q R S T U V S T W X K Y M N O P Q Z K L M N O P Q R S T U V S T W X K Y M
N O P Q Z AA K L M N O P Q R S T U V S T W X K Y M N O P Q Z AA AB@7 AC AD@8 AE@4 AF@2 AG AH@5 AI@3 AJ@7 AK@6 AL@4 AM
>`.pickRestart({
A: "[~@6 e4 f4 ~ g#4 a4 ~ g4 f4 ~ [e1,e2,e4]@5 [e3,g#3,b3]@6 ~@3 e5 ~ f5 g#5 a5 ~ g5 f5 ~ [e1,e2]@6 [e3,g#3,b3]@5 ~@3 a4 ~ a#4 [f1,f2]@2 d5 [g#1,g#2]@2 a4 [a1,a2]@6 [a3,c4,e4]@6 ~@3 e5 f5 ~ g#5 a5 [f1,f2]@2 f5 [e1,e2]@6 [e3,g#3,b3]@6, ~@26 [e1,e2]@12 e5@11 [e1,e2]@6 c#5 ~@2 c5 ~@2 a4@12 [a1,a2]@6 [g1,g2]@2 g5 ~@2 e5@12]/6", // E F G# A Am F E A …
B: "~@3 e5 f5 ~ g#5 f5 ~ g5 a5 ~ b5 a5 ~ b5, [e1,e2]@3 ~", C: "c6 d6 ~ c6 b5 ~ a5 g#5 ~ a5 g5 ~ f5 g5 ~ a5",
D: "[b5 a5 ~ g#5 f5 ~ e5 f5 ~ e5@3 d5@3 [e1,e2,e4,e5]@5 b4@3 c5@3 [e1,e2,d5]@6, ~@10 [e3,g#3,b3]@3 ~@3]/2", // E E7 E
E: "[c5@3 b4@3 [a1,a2]@6 ~@3 c5@2 [a1,a2,e5]@6 d5@3 c5@3 [g#1,g#2]@6 ~@3 c5@3 [g#1,g#2,d5]@6 [g#3,b3,e4,e5]@5 [a1,a2,c5]@6 [a3,c4,e4,a4]@6, [e3,g#3,b3]@6 a4@9 ~@14 b4@9 ~@26, ~@12 [a3,c4,e4]@6 ~@5 [a3,c4,e4]@6 ~@6 [g#3,b3,e4]@6 ~@23]/4", // A A5 G# G#dim E Am E Am …
F: "[a1@4 b1@4 ~ c2@3 d2@5 ~@3 f5@3 [d2,a5]@6 g5@3 f5@3 c2@6 ~@3 c5@3 e5@2 f5 ~ e5 d5@3 c5@3 [b1,b4]@6, a4@12 d5@9 ~@14 e5@9 ~@8 [c4,e4,g4]@6 ~@6, ~@17 [f3,a3,d4]@6 ~@6 [d4,f4]@6 ~@6 [e3,g3,c4]@6 c2@6 ~@11]/4", // D5 B C Dm C
G: "[b4@3 c5@3 [g#1,d5]@6 [g#3,b3,e4,e5]@5 [a1,a2,c5]@4 ~ [g1,g2]@4 [f1,f2]@3 e5 f5 [g#5,a5], [f#3,b3,d#4]@6 ~@16 a4@7 [e1,e2]@3]/2", // G#dim E Am G F Amaj7 B E
H: "[b5 [g5,a5] f5 e5 [f5,g5] a5 b5 [g5,a5] f5 [e5,f5] g#5 a5 [a5,b5] g5 f5 [e5,f5] g5 [e5,a5,e6] ~ [f5,f6] [d2,d3]@2 [e5,e6] [c2,c3]@2 [d5,d6] [b1,b2]@2 [c5,c6] [a1,a2]@2 [b4,b5], [f1,f2]@3 [g#1,g#2]@3 [a1,a2]@3 [b1,b2]@3 [c2,c3]@3 [d2,d3]@2 [e2,e3]@2 ~ [d5,d6] ~@2 [c5,c6] ~@2 [b4,b5] ~@2 [a4,a5] ~@2]/2", // Gsus2 Fsus2 Gsus2 Fmaj7 Asus2 Fmaj7 A5 F …
I: "[g4,g5] [a4,a5] ~ [f4,f5] [g4,g5] ~ [e1,e2,e4,e5] [f1,d#2,d#4,d#5] ~ [e1,e2,e4,g#4,b4,e5]@6 [e3,e4,e5,g#5,b5,e6], [g1,g2]@3 [f1,f2]@3 ~@10", // G A F G E F7 E G …
J: "~@4 [e2,e3,e4,g#4,b4,e5] ~@2 e4@3 e5 ~@2 e5 ~@2, ~@7 e5 ~@8", // E
K: "e2@2 b2@2 [g#2,e4,b4]@2 [b2,e4,c5]@2 [e2,e4,d5]@2 e5 d5 [g2,c5]@2 [b2,b4]@2, [e4,e5]@2 ~@3 b2 ~@2", // E Cmaj7 E7 C5 B E
L: "[a2,a4] [e3,e4] [c3,a4] [e3,c5] a2 e3 [c3,e4,a4,d5] [e3,e4,a4,c5], ~@2 [e4,a4,c5,e5] ~", // A E F C Am
M: "g#2 e3 b2 [e3,e4,g4,c5] g2 e3 b2 e3, [e4,g#4,b4]@3 ~ [e4,g4,d5]@2 [e4,g4,b4,e5]@2", // C E Em7 Em
N: "a2 e3 c3 e3 a2 e3 b2 c3, [e4,a4,c5] [e4,a4] [e4,a4]@2", // Am A5
O: "[d2,d5] [d3,a4] [d2,d5] [d3,f5] d2 d3 [d2,g5] [d3,f5], ~@2 [a4,d5,f5,a5] [a4,d5]", // D D5 D Dm G5 Dm D5
P: "c2@2 c3@2 c2@2 [c3,c5]@2 [c2,g4,c5,e5]@2 f5 e5 [c2,d5]@2 [c3,c5]@2, [g4,c5,e5]@3 ~@2 c3 ~@2", // C Csus2 C
Q: "b1 b2 b1 [b2,e4,g4,c5] g#1 g#2 g1 g2, [e4,g#4,b4]@3 ~ [e4,g4,d5]@2 [e4,g4,b4,e5]@2", // Cmaj7 E Em7 Em
R: "a1 c2 e2 a2 [c4,e4,a4]@2 e5@2, [e4,a4,c5] [c4,e4,a4] a1@2", S: "a2 e3 c3 e3 a2 e3 c3 e3, [c5,e5]@2 [a4,c5]!2",
T: "g#2 e3 b2 e3 g2 e3 b2 e3, [b4,d5]@2 [g#4,b4] [g4,b4]", U: "a2 e3 c3 e3 a2 e3 c3 e3, [a4,c5]@2 [e4,a4]!2",
V: "g#2 e3 b2 e3 g2 e3 b2 e3, [e4,g#4] ~", W: "[a2,c5] [e3,a4] [c3,c5] [e3,d5] a2 e3 c3 e3, ~@2 [a4,c5,e5,a5]!2",
X: "g#2 e3 b2 e3 ~@2 [e4,e5]@2, [g#4,b4,e5,g#5]@3 ~, ~ g2", // E
Y: "[a2,a4] [e3,e4] [c3,a4] [e3,c5] a2 e3 [c3,f4,a4,d5] [e3,f4,a4,c5], ~@2 [e4,a4,c5,e5] ~", // A E F C Dm7 Fmaj7 Am
Z: "a1 c2 e2 g2 [a1,c4,e4,a4]@2 ~@2, [e4,a4,c5] [c4,e4,a4] ~@2", // Am
AA: "[a4,a6] [a#4,a#6] [a4,a6] [g4,g6] [a4,a6] [a#4,a#6] [a4,a6] [g4,g6] [a4,a6]@4 ~@4", // A A# A G A A# A G …
AB: "[~@3 e4 f4 ~ g#4 a4 ~ g4 f4 ~ [e1,e2,e4]@5 [e3,g#3,b3]@6 ~@3 e5 ~ f5 g#5 ~ a5 g5 f5 ~ [e1,e2]@6 [e3,g#3,b3]@6 ~@2 a4 ~ a#4 [f1,f2]@2 d5 [g#1,g#2]@2 a4 [a1,a2]@6 [a3,c4,e4]@6 ~@3 e5 f5 ~ g#5 a5 ~ g5 f5 [e1,e2]@6 [e3,g#3,b3]@6 ~@3 e5 f5 ~ g#5 f5 ~ g5 a5 ~ b5 a5 ~ b5 c6 ~ d6, ~@23 [e1,e2]@12 e5@12 [e1,e2]@5 c#5 ~@2 c5 ~@2 a4@12 [a1,a2]@6 [g1,g2]@3 [f1,f2]@2 e5@12 [e1,e2]@12 ~@7]/7", // E F G# A Am E A G …
AC: "c6 b5 ~ a5 g#5 ~ a5 g5 ~ f5 g5 ~ a5 b5 ~ a5",
AD: "[g#5 f5 ~ e5 f5 ~ e5@3 d5@3 [e1,e2,e4,e5]@5 b4@3 c5@3 [e1,e2,d5]@6 c5@3 b4@3 [a1,a2]@6 ~@3 c5@3 [a1,a2,e5]@5 d5@3 c5@3 [g#1,g#2]@6 ~@3 c5@3 [g#1,g#2,d5]@6 [g#3,b3,e4,e5]@5 [a1,a2,c5]@6 [a3,c4,e4,a4]@6 a1@4 b1@4 ~ c2@3 d2@6 ~@2 f5@3 [d2,a5]@6 g5@3 f5@3, ~@17 [e3,g#3,b3]@6 ~@6 [e3,g#3,b3]@6 a4@9 ~@14 b4@9 ~@26 a4@12 d5@9 ~@14, ~@41 [a3,c4,e4]@6 ~@5 [a3,c4,e4]@6 ~@6 [g#3,b3,e4]@6 ~@41 [f3,a3,d4]@6 ~@5 [d4,f4]@6]/8", // E E7 A A5 G# G#dim E Am …
AE: "[c2@6 ~@3 c5@3 e5@3 f5 e5 d5@3 c5@3 [b1,b4]@6 b4@3 c5@3 [g#1,d5]@6 [g#3,b3,e4,e5]@6 [a1,a2,c5]@4 [g1,g2]@4 [f1,f2]@3 e5 f5 [g#5,a5] b5 a5 [f5,g5], e5@9 ~@8 [c4,e4,g4]@6 ~@6 [f#3,b3,d#4]@6 ~@16 a4@7 ~@6, ~@6 [e3,g3,c4]@6 c2@6 ~@40 [e1,e2]@3 [f1,f2]@3]/4", // B G#dim E Am G F Amaj7 Fsus2 …
AF: "[e5 [f5,g5] a5 b5 [g5,a5] f5 e5 [f5,g#5] a5 [a5,b5] g5 f5 [e5,f5] g5 a5 [e5,e6] [f5,f6] [d2,d3]@2 [e5,e6] [c2,c3]@2 [d5,d6] [b1,b2]@2 [c5,c6] [a1,a2]@2 [b4,b5] [g1,g2]@2 [a4,a5], [g#1,g#2]@3 [a1,a2]@3 [b1,b2]@3 [c2,c3]@3 [d2,d3]@3 [e2,e3]@2 [d5,d6] ~@2 [c5,c6] ~@2 [b4,b5] ~@2 [a4,a5] ~@2 [g4,g5] ~@2]/2", // Fsus2 Gsus2 Fm Asus2 Fmaj7 E F D …
AG: "[f4,f5] [g4,g5] ~ [e1,e2,e4,e5] [f1,d#2,d#4,d#5] ~ [e1,e2,e4,g#4,b4,e5]@6 [e3,e4,e5,g#5,b5,e6] ~@3, [f1,f2]@3 ~@13", // F G E F7 E F
AH: "[~ [e2,e3,e4,g#4,b4,e5] ~@2 e4@3 e5 ~@2 e5 ~@2 e2@2 b2@2 [g#2,e4,b4]@2 [b2,e4,c5]@2 [e2,e4,d5]@2 e5 d5 [g2,c5]@2 [b2,b4]@2 [a2,a4]@2 [e3,e4]@2 [c3,a4]@2 [e3,c5]@2 a2@2 e3@2 [c3,e4,a4,d5]@2 [e3,e4,a4,c5]@2 g#2@2 e3@2 b2@2 [e3,e4,g4,c5]@2 g2@2 e3@2 b2@2 e3@2 a2@2 e3@2 c3@2 e3@2 a2@2 e3@2 b2@2 c3@2 [d2,d5]@2 [d3,a4], ~@4 e5 ~@8 [e4,e5]@4 ~@6 b2@2 ~@12 [e4,a4,c5,e5]@4 ~@4 [e4,g#4,b4]@6 ~@2 [e4,g4,d5]@4 [e4,g4,b4,e5]@4 [e4,a4,c5]@4 [e4,a4]@4 [e4,a4]@8 ~@3]/5", // E Cmaj7 E7 C5 B A E F …
AI: "[~ [d2,d5]@2 [d3,f5]@2 d2@2 d3@2 [d2,g5]@2 [d3,f5]@2 c2@2 c3@2 c2@2 [c3,c5]@2 [c2,g4,c5,e5]@2 f5 e5 [c2,d5]@2 [c3,c5]@2 b1@2 b2@2 b1@2 [b2,e4,g4,c5]@2 g#1@2 g#2@2 g1@2 g2@2 [a1,e4,a4,c5]@2 c2, ~@5 [a4,d5,f5,a5]@4 [a4,d5]@4 [g4,c5,e5]@6 ~@4 c3@2 ~@4 [e4,g#4,b4]@6 ~@2 [e4,g4,d5]@4 [e4,g4,b4,e5]@4 ~@3]/3", // D Dm G5 Dm C Csus2 C Cmaj7 …
AJ: "[~ e2@2 a2@2 [c4,e4,a4]@4 e5@4 a2@2 e3@2 c3@2 e3@2 a2@2 e3@2 c3@2 e3@2 g#2@2 e3@2 b2@2 e3@2 g2@2 e3@2 b2@2 e3@2 a2@2 e3@2 c3@2 e3@2 a2@2 e3@2 c3@2 e3@2 g#2@2 e3@2 b2@2 e3@2 g2@2 e3@2 b2@2 e3@2 a2@2 e3@2 c3@2 e3@2 a2@2 e3@2 c3@2 e3@2 g#2@2 e3@2 b2@2 e3@2 g2@2 e3@2 b2@2 e3@2 [a2,c5]@2 [e3,a4], ~ [c4,e4,a4]@4 a1@8 [c5,e5]@8 [a4,c5]@4 [a4,c5]@4 [b4,d5]@8 [g#4,b4]@4 [g4,b4]@4 [a4,c5]@8 [e4,a4]@4 [e4,a4]@4 [e4,g#4]@8 ~@8 [c5,e5]@8 [a4,c5]@4 [a4,c5]@4 [b4,d5]@8 [g#4,b4]@4 [g4,b4]@4 ~@3]/7", // Am A5 Am C Am Bm G#m G …
AK: "[~ [c3,c5]@2 [e3,d5]@2 a2@2 e3@2 c3@2 e3@2 g#2@2 e3@2 b2@2 e3@2 ~@4 [e4,e5]@4 e2@2 b2@2 [g#2,e4,b4]@2 [b2,e4,c5]@2 [e2,e4,d5]@2 e5 d5 [g2,c5]@2 [b2,b4]@2 [a2,a4]@2 [e3,e4]@2 [c3,a4]@2 [e3,c5]@2 a2@2 e3@2 [c3,f4,a4,d5]@2 [e3,f4,a4,c5]@2 g#2@2 e3@2 b2@2 [e3,e4,g4,c5]@2 g2@2 e3@2 b2@2 e3@2 a2@2 e3@2 c3@2 e3@2 a2@2 e3@2 b2@2 c3@2 [d2,d5]@2 [d3,a4], ~@5 [a4,c5,e5,a5]@4 [a4,c5,e5,a5]@4 [g#4,b4,e5,g#5]@12 ~@4 [e4,e5]@4 ~@20 [e4,a4,c5,e5]@4 ~@4 [e4,g#4,b4]@6 ~@2 [e4,g4,d5]@4 [e4,g4,b4,e5]@4 [e4,a4,c5]@4 [e4,a4]@4 [e4,a4]@8 ~@3, ~@21 g2@8 ~@10 b2@2 ~@55]/6", // C E7 E Cmaj7 E7 C5 B A …
AL: "[~ [d2,d5]@2 [d3,f5]@2 d2@2 d3@2 [d2,g5]@2 [d3,f5]@2 c2@2 c3@2 c2@2 [c3,c5]@2 [c2,g4,c5,e5]@2 f5 e5 [c2,d5]@2 [c3,c5]@2 b1@2 b2@2 b1@2 [b2,e4,g4,c5]@2 g#1@2 g#2@2 g1@2 g2@2 a1@2 c2@2 e2@2 g2@2 [a1,c4,e4,a4]@4 ~@4 [a4,a6] [a#4,a#6] [a4,a6], ~@5 [a4,d5,f5,a5]@4 [a4,d5]@4 [g4,c5,e5]@6 ~@4 c3@2 ~@4 [e4,g#4,b4]@6 ~@2 [e4,g4,d5]@4 [e4,g4,b4,e5]@4 [e4,a4,c5]@4 [c4,e4,a4]@4 ~@11]/4", // D Dm G5 Dm C Csus2 C Cmaj7 …
AM: "[g4,g6] [a4,a6] [a#4,a#6] [a4,a6] [g4,g6] [a4,a6]@4 ~@7", // G A A# A G A
})).s("gm_piano").gain(0.32).pan(1)
// chords · overdriven guitar · "Electric Guitar"
const overdriven_guitar = note(`<
A@2 B@3 C D E F@2 G@4 H@2 I@2 J@2 K L M N O P Q R S T Q U V W X Y V W Z AA O AB Q R S T Q AC O P Q R S T Q U V W X Y V
W Z AA O AB Q R S T Q AC AD O P Q R S T Q U V W X Y V W Z AA O AB Q R S T Q AC AD AE@2 AF AG@2 AH AI AJ AK@2 AL@4 AM@2
AN AO AP@2 AQ AR AS AT AU@3 AV@4 AW@7 AX@2 AY@3 AV@4 AZ BA
>`.pickRestart({
A: "[~@6 e3 f3 ~ g#3 a3 ~ g3 f3 ~ e3@6 ~@8 e4 ~ f4]/2",
B: "[g#4 a4 ~ g4 f4 ~ e4@12 ~@2 a3 ~ a#3 c#4 ~ d4 c4 ~ a3 a3@12 ~@3 e4 f4 ~ g#4]/3", C: "a4 g4 ~ f4 e4@12",
D: "~@3 e4 f4 ~ g#4 f4 ~ g4 a4 ~ b4 a4 ~ b4", E: "c5 d5 ~ c5 b4 ~ a4 g#4 ~ a4 g4 ~ f4 g4 ~ a4",
F: "[b4 a4 ~ g#4 f4 ~ e4 f4 ~ e4@3 d4@3 [e3,e4]@5 b3@3 c4@3 d4@6]/2", // E
G: "[c4@3 b3@3 a3@9 c4@2 e4@6 d4@3 c4@3 b3@9 c4@3 d4@6 e4@5 c4@6 a3@6]/4", H: "[a3!12 d4@8 f4@3 a4@6 g4@3]/2",
I: "[f4@3 e4@9 c4@3 e4@2 f4 ~ e4 d4@3 c4@3 b3@6]/2", J: "[b3@3 c4@3 d4@6 e4@5 c4@4 ~ a3@7 e4 f4 [g#4,a4]]/2",
K: "b4 [g4,a4] f4 e4 [f4,g4] a4 b4 [g4,a4] f4 [e4,f4] g#4 a4 [a4,b4] g4 f4 [e4,f4]", // Gsus2 Fsus2 Gsus2 Fmaj7 Asus2 Fmaj7
L: "g4 [e4,a4,e5] ~ [f4,e5] [d4,d5] ~ [e4,e5] [c4,c5] ~ [d4,d5] [b3,b4] ~ [c4,c5] [a3,a4] ~ [b3,b4]", // A5 Fmaj7 D E C D B C …
M: "[g3,g4] [a3,a4] ~ [f3,f4] [g3,g4] ~ [e3,e4] [d#3,d#4] ~ [e3,g#3,b3,e4]@6 [e4,g#4,b4,e5]", // G A F G E D# E
N: "~@4 [e3,g#3,b3,e4] ~@2 e3@3 e4 ~@2 e4 ~@2, ~@7 e4 ~@8", // E
O: "[e3,e4]@4 [e3,b3]@2 [e3,c4]@2 [e3,d4]@2 e4 d4 c4@2 b3@2", P: "a3 e3 a3 c4 [e3,a3,c4,e4]@2 [e3,a3,d4] [e3,a3,c4]",
Q: "[e3,g#3,b3]@3 [e3,g3,c4] [e3,g3,d4]@2 [e3,g3,b3,e4]@2", R: "[e3,a3,c4] [e3,a3] [e3,a3]@2",
S: "d4 a3 d4 f4 [a3,d4,f4,a4]@2 g4 f4, ~@3 [a3,d4]", T: "[g3,c4,e4]@6 c4@2 [g3,c4,e4]@2 f4 e4 d4@2 c4@2",
U: "[e3,a3,c4] [c3,e3,a3]!2 e4", V: "[c4,e4]@2 [a3,c4]!2", W: "[b3,d4]@2 [g#3,b3] [g3,b3]", X: "[a3,c4]@2 [e3,a3]!2",
Y: "[e3,g#3] ~", Z: "c4 a3 c4 d4 [a3,c4,e4,a4]@2 [a3,c4,e4,a4]@2", AA: "[g#3,b3,e4,g#4]@3 [e3,e4]",
AB: "a3 e3 a3 c4 [e3,a3,c4,e4]@2 [f3,a3,d4] [f3,a3,c4]", AC: "[e3,a3,c4] [c3,e3,a3]!2 ~",
AD: "a5 a#5 a5 g5 a5 a#5 a5 g5 a5@4 ~@4", AE: "[~@3 e3 f3 ~ g#3 a3 ~ g3 f3 ~ e3@6 ~@8 e4 ~ f4 g#4 ~ a4]/2",
AF: "g4 f4 ~ e4@12 ~", AG: "[~ a3 ~ a#3 c#4 ~ d4 c4 ~ a3 a3@12 ~@3 e4 f4 ~ g#4 a4 ~ g4]/2", AH: "f4 e4@12 ~@3",
AI: "e4 f4 ~ g#4 f4 ~ g4 a4 ~ b4 a4 ~ b4 c5 ~ d5", AJ: "c5 b4 ~ a4 g#4 ~ a4 g4 ~ f4 g4 ~ a4 b4 ~ a4",
AK: "[g#4 f4 ~ e4 f4 ~ e4@3 d4@3 [e3,e4]@5 b3@3 c4@3 d4@6 c4@3]/2", // E
AL: "[b3@3 a3@9 c4@3 e4@5 d4@3 c4@3 b3@9 c4@3 d4@6 e4@5 c4@6 a3@6 a3!3]/4", AM: "[a3!9 d4@8 f4@3 a4@6 g4@3 f4@3]/2",
AN: "e4@9 c4@3 e4@3 f4", AO: "e4 d4@3 c4@3 b3@6 b3@3",
AP: "[c4@3 d4@6 e4@6 c4@4 a3@7 e4 f4 [g#4,a4] b4 a4 [f4,g4]]/2", // Amaj7 Fsus2
AQ: "e4 [f4,g4] a4 b4 [g4,a4] f4 e4 [f4,g#4] a4 [a4,b4] g4 f4 [e4,f4] g4 a4 [e4,e5]", // Fsus2 Gsus2 Fm Asus2 Fmaj7 E
AR: "[f4,e5] [d4,d5] ~ [e4,e5] [c4,c5] ~ [d4,d5] [b3,b4] ~ [c4,c5] [a3,a4] ~ [b3,b4] [g3,g4] ~ [a3,a4]", // Fmaj7 D E C D B C A …
AS: "[f3,f4] [g3,g4] ~ [e3,e4] [d#3,d#4] ~ [e3,g#3,b3,e4]@6 [e4,g#4,b4,e5] ~@3", // F G E D# E
AT: "~ [e3,g#3,b3,e4] ~@2 e3@3 e4 ~@2 e4 ~@2 [e3,e4]@3, ~@4 e4 ~@11", // E
AU: "[~ [e3,b3]@2 [e3,c4]@2 [e3,d4]@2 e4 d4 c4@2 b3@2 a3@2 e3@2 a3@2 c4@2 [e3,a3,c4,e4]@4 [e3,a3,d4]@2 [e3,a3,c4]@2 [e3,g#3,b3]@6 [e3,g3,c4]@2 [e3,g3,d4]@4 [e3,g3,b3,e4]@4 [e3,a3,c4]@3]/3", // E5 C E7 Am Dsus2 Am E C …
AV: "[~ [e3,a3]@4 [e3,a3]@8 d4@2 a3@2 d4@2 f4@2 [a3,d4,f4,a4]@4 g4@2 f4@2 [g3,c4,e4]@6 c4@2 [g3,c4,e4]@2 f4 e4 d4@2 c4@2 [e3,g#3,b3]@6 [e3,g3,c4]@2 [e3,g3,d4]@4 [e3,g3,b3,e4]@4 [e3,a3,c4]@3, ~@25 [a3,d4]@4 ~@35]/4", // A5 Dm C E C Em7 Em Am …
AW: "[~ [c3,e3,a3]@4 [c3,e3,a3]@4 e4@4 [c4,e4]@8 [a3,c4]@4 [a3,c4]@4 [b3,d4]@8 [g#3,b3]@4 [g3,b3]@4 [a3,c4]@8 [e3,a3]@4 [e3,a3]@4 [e3,g#3]@8 ~@8 [c4,e4]@8 [a3,c4]@4 [a3,c4]@4 [b3,d4]@8 [g#3,b3]@4 [g3,b3]@4 c4@2 a3]/7", // Am C Am Bm G#m G Am A5 …
AX: "[~ c4@2 d4@2 [a3,c4,e4,a4]@4 [a3,c4,e4,a4]@4 [g#3,b3,e4,g#4]@12 [e3,e4]@4 [e3,e4]@3]/2", // Am E
AY: "[~ [e3,b3]@2 [e3,c4]@2 [e3,d4]@2 e4 d4 c4@2 b3@2 a3@2 e3@2 a3@2 c4@2 [e3,a3,c4,e4]@4 [f3,a3,d4]@2 [f3,a3,c4]@2 [e3,g#3,b3]@6 [e3,g3,c4]@2 [e3,g3,d4]@4 [e3,g3,b3,e4]@4 [e3,a3,c4]@3]/3", // E5 C E7 Am Dm F E C …
AZ: "~ [c3,e3,a3]@4 [c3,e3,a3]@4 ~@4 a5 a#5 a5", BA: "g5 a5 a#5 a5 g5 a5@4 ~@7",
})).s("gm_overdriven_guitar").gain(0.35).pan(0)
// bass · electric bass pick · "Bass Guitar"
const bass = note(`<
A@6 B ~ C@2 D@4 E@4 F@2 G@2 H I J K L M N O P Q K L K L K L K R J K L S N O P T J K L M N O P Q K L K L K L K R J K L
S N O P T U J K L M N O P Q K L K L K L K R J K L S N O P T U V@4 W@3 ~ X@4 Y@2 Z@2 AA@4 AB@2 AC AD@8 AE@8 AF@8 AG AH
>`.pickRestart({
A: "[~@15 [a0,e1]@5 [e2,g#2,b2]@6 [a0,e1]@12 [a0,e1]@6 [e2,g#2,b2]@5 [a0,e1]@6 [a0,f1]@3 [a#0,g#1]@3 [a0,a1]@6 [a2,c3,e3]@6 [a0,a1]@6 [a0,g1]@2 [a0,f1]@3 [a0,e1]@6 [e2,g#2,b2]@6]/6", // A5 E A5 E A5 Dm A#7 A …
B: "[a0,e1]@3 ~", C: "[~@15 [a0,e1]@5 [e2,g#2,b2]@6 [a0,e1]@6]/2",
D: "[[e2,g#2,b2]@6 [a0,a1]@6 [a2,c3,e3]@5 [a0,a1]@6 [a2,c3,e3]@6 [a#0,g#1]@6 [g#2,b2,e3]@6 [a#0,g#1]@6 [g#2,b2,e3]@5 [a0,a1]@6 [a2,c3,e3]@6]/4", // E A Am A Am A#7 E A#7 …
E: "[a0@4 b0@4 ~ c1@3 d1@5 [f2,a2,d3]@6 d1@6 [d3,f3]@6 c1@6 [e2,g2,c3]@6 c1@5 [c3,e3,g3]@6 b0@6]/4", // Dm C
F: "[[f#2,b2,d#3]@6 a#0@6 [g#2,b2,e3]@5 [a0,a1]@4 ~ [a0,g1]@4 [a0,f1]@3 [a0,e1]@3]/2", // B E A A7 Dm A5
G: "[[a0,f1]@3 [a#0,g#1]@3 [a0,a1]@3 [b0,b1]@3 [c1,c2]@3 [d1,d2]@2 [e1,e2]@3 [d1,d2]@3 [c1,c2]@3 [b0,b1]@3 [a0,a1]@3]/2", // Dm A#7 A B C D E D …
H: "[a0,g1]@3 [a0,f1]@3 [a0,e1] [a0,d#1] ~ [a0,e1]@6 [e2,e3]", I: "~@4 [e1,e2] ~@11", J: "e1 b1 g#1 b1 e1 b1 g1 b1",
K: "a1 e2 c2 e2 a1 e2 c2 e2", L: "g#1 e2 b1 e2 g1 e2 b1 e2", M: "a1 e2 c2 e2 a1 e2 b1 e2",
N: "d1 d2 d1 d2 d1 d2 d1 d2", O: "c1 c2 c1 c2 c1 c2 c1 c2", P: "b0 b1 b0 b1 a#0 g#1 a0 g1", Q: "a0 c1 e1 a1 a0@4",
R: "g#1 e2 b1 e2 g1@4", S: "a1 e2 c2 e2 a1 e2 b1 c2", T: "a0 c1 e1 g1 a0@2 ~@2",
U: "a3 a#3 a3 g3 a3 a#3 a3 g3 a3@4 ~@4",
V: "[~@12 [a0,e1]@5 [e2,g#2,b2]@6 [a0,e1]@12 [a0,e1]@6 [e2,g#2,b2]@6 [a0,e1]@5 [a0,f1]@3 [a#0,g#1]@3 [a0,a1]@6]/4", // A5 E A5 E A5 Dm A#7 A
W: "[[a2,c3,e3]@6 [a0,a1]@6 [a0,g1]@3 [a0,f1]@2 [a0,e1]@6 [e2,g#2,b2]@6 [a0,e1]@12 ~@7]/3", // Am A A7 Dm A5 E A5
X: "[~@12 [a0,e1]@5 [e2,g#2,b2]@6 [a0,e1]@6 [e2,g#2,b2]@6 [a0,a1]@6 [a2,c3,e3]@6 [a0,a1]@5 [a2,c3,e3]@6 [a#0,g#1]@6]/4", // A5 E A5 E A Am A Am …
Y: "[[g#2,b2,e3]@6 [a#0,g#1]@6 [g#2,b2,e3]@5 [a0,a1]@6 [a2,c3,e3]@6 a0@3]/2", // E A#7 E A Am
Z: "[~ b0@4 ~ c1@3 d1@6 [f2,a2,d3]@5 d1@6 [d3,f3]@6]/2", // Dm
AA: "[c1@6 [e2,g2,c3]@6 c1@5 [c3,e3,g3]@6 b0@6 [f#2,b2,d#3]@6 a#0@6 [g#2,b2,e3]@6 [a0,a1]@4 [a0,g1]@4 [a0,f1]@3 [a0,e1]@3 [a0,f1]@3]/4", // C B E A A7 Dm A5 Dm
AB: "[[a#0,g#1]@3 [a0,a1]@3 [b0,b1]@3 [c1,c2]@3 [d1,d2]@3 [e1,e2]@2 [d1,d2]@3 [c1,c2]@3 [b0,b1]@3 [a0,a1]@3 [a0,g1]@3]/2", // A#7 A B C D E D C …
AC: "[a0,f1]@3 [a0,e1] [a0,d#1] ~ [a0,e1]@6 [e2,e3] ~@3", // Dm A5 Adim A5 E
AD: "[~ [e1,e2] ~@11 e1@2 b1@2 g#1@2 b1@2 e1@2 b1@2 g1@2 b1@2 a1@2 e2@2 c2@2 e2@2 a1@2 e2@2 c2@2 e2@2 g#1@2 e2@2 b1@2 e2@2 g1@2 e2@2 b1@2 e2@2 a1@2 e2@2 c2@2 e2@2 a1@2 e2@2 b1@2 e2@2 d1@2 d2@2 d1@2 d2@2 d1@2 d2@2 d1@2 d2@2 c1@2 c2@2 c1@2 c2@2 c1@2 c2@2 c1@2 c2@2 b0@2 b1@2 b0@2 b1@2 a#0@2 g#1@2 a0@2 g1@2 a0@2 c1]/8", // E
AE: "[~ e1@2 a1@2 a0@8 a1@2 e2@2 c2@2 e2@2 a1@2 e2@2 c2@2 e2@2 g#1@2 e2@2 b1@2 e2@2 g1@2 e2@2 b1@2 e2@2 a1@2 e2@2 c2@2 e2@2 a1@2 e2@2 c2@2 e2@2 g#1@2 e2@2 b1@2 e2@2 g1@2 e2@2 b1@2 e2@2 a1@2 e2@2 c2@2 e2@2 a1@2 e2@2 c2@2 e2@2 g#1@2 e2@2 b1@2 e2@2 g1@2 e2@2 b1@2 e2@2 a1@2 e2@2 c2@2 e2@2 a1@2 e2@2 c2@2 e2@2 g#1@2 e2]/8",
AF: "[~ b1@2 e2@2 g1@8 e1@2 b1@2 g#1@2 b1@2 e1@2 b1@2 g1@2 b1@2 a1@2 e2@2 c2@2 e2@2 a1@2 e2@2 c2@2 e2@2 g#1@2 e2@2 b1@2 e2@2 g1@2 e2@2 b1@2 e2@2 a1@2 e2@2 c2@2 e2@2 a1@2 e2@2 b1@2 c2@2 d1@2 d2@2 d1@2 d2@2 d1@2 d2@2 d1@2 d2@2 c1@2 c2@2 c1@2 c2@2 c1@2 c2@2 c1@2 c2@2 b0@2 b1@2 b0@2 b1@2 a#0@2 g#1@2 a0@2 g1@2 a0@2 c1]/8",
AG: "~ e1@2 g1@2 a0@4 ~@4 a3 a#3 a3", AH: "g3 a3 a#3 a3 g3 a3@4 ~@7",
})).s("gm_electric_bass_pick").gain(0.36)
// drums · kick
const kick = s("bd").struct(`<
A B C D E F G H I J K L M J N L M J K O P J Q ~ R@3 S@2 T S U V@16 R@3 S@2 T S U V@16 W R@3 S@2 T S U V@16 W X Y Z AA
AB AC AD H N L M J K L AE J K L AF AG AH L AI O AJ@3 AK@2 AL AM AN AO@15 AP AQ
>`.pickRestart({
A: "~@3 x ~@2 x!2 ~ x!2 ~ x!2 ~ x", B: "~@4 x ~@5 x ~@2 x ~ x", C: "x!2 ~ x!2 ~ x ~@5 x ~@3",
D: "~ x ~@5 x ~@2 x ~@2 x ~@2", E: "~@3 x ~@5 x!2 ~ x!2 ~ x", F: "x!2 ~ x!2 ~@5 x ~@5",
G: "x ~@2 x!2 ~ x!2 ~ x!2 ~ x ~@2 x", H: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2", I: "x ~@2 x ~@2 x ~@2 x ~@2 x ~@2 x",
J: "~@2 x ~@2 x ~@2", K: "x ~@2 x ~@2 x ~", L: "~ x ~@5 x ~@5 x ~@2", M: "~@3 x ~@5 x ~@5 x",
N: "x ~@2 x ~@2 x ~@2 x ~@2 x ~@3", O: "~@13 x ~@2", P: "~@9 x ~@6", Q: "x ~@2 x ~@4", R: "x ~@3 x!2 ~@2", S: "x!2",
T: "x ~ x!4 ~@2", U: "x!5 ~@3", V: "x!8", W: "~@3 x ~@3 x!2 ~@7", X: "x ~@2 x!2 ~ x!2 ~ x!2 ~ x ~@3",
Y: "~ x ~@5 x ~@2 x ~ x!2 ~ x", Z: "x!2 ~ x ~@5 x ~@5 x", AA: "~@4 x ~@2 x ~@2 x ~@5",
AB: "x ~@5 x!2 ~ x!2 ~ x!2 ~ x", AC: "x!2 ~@5 x ~@5 x ~@2", AD: "x!2 ~ x!2 ~ x!2 ~ x ~@2 x ~@2 x",
AE: "x ~@2 x ~@2 x ~@2 x ~@5 x", AF: "~@3 x ~@5 x ~@6", AG: "~@5 x ~@2", AH: "~@3 x ~@4", AI: "~@3 x ~@12",
AJ: "~@5 x ~ x ~@5 x ~@2", AK: "~@5 x ~@7 x ~@2", AL: "~ x ~ x ~ x ~ x ~@5 x ~@2", AM: "~@5 x ~@7 x ~ x",
AN: "~ x ~ x ~ x ~@7 x ~ x", AO: "~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x", AP: "~ x ~ x ~ x ~ x ~ x ~ x ~@4",
AQ: "x ~@3 x!2 ~@10",
})).gain(0.48)
// drums · snare
const snare = s("sd").struct(`<
A B C D E F G H I J K L M N O P ~ Q I R S T U ~ V@2 W V X Y V Q Z@3 ~ Z@2 AA AB V AC AD AE V W AF V@3 W V X Y V Q Z@3
~ Z@2 AA AB V AC AD AE V W AF V AG V@2 W V X Y V Q Z@3 ~ Z@2 AA AB V AC AD AE V W AF V AG U N AH Q AI D AJ AK U AL AM
J AN T AO F ~ AP AQ AR AS H AT ~ AU@2 AV AU AW AX AU AP AY@2 AZ B AY BA BB S AU BC BD BE AU BF AU BG BH
>`.pickRestart({
A: "~@3 x ~@2 x ~", B: "~@13 x ~@2", C: "~@3 x ~@12", D: "~@7 x ~@8", E: "~@3 x", F: "~ x ~@8 x ~@5",
G: "~@6 x ~@8 x", H: "~@2 x ~@2 x ~@2", I: "x ~@2 x ~@2 x ~", J: "~@4 x ~@2 x ~@8", K: "x ~@2 x ~@8 x ~@2 x",
L: "~@7 x ~@2 x ~@5", M: "~@3 x ~@2 x ~@8 x", N: "~@5 x ~@2", O: "x ~@5 x ~@2 x ~@6", P: "~@4 x ~@8 x ~@2",
Q: "~ x ~@2", R: "~ x ~@4 x ~@3 x ~@2 x ~@2", S: "~@9 x ~@6", T: "~@7 x ~@5 x ~@2", U: "~@3 x ~@5 x ~@6",
V: "~ x ~ x", W: "~@2 x ~@2 x!2 ~", X: "~@2 x ~@4 x", Y: "x ~ x!4 ~@2", Z: "x ~ x!2", AA: "x!5 ~ x ~", AB: "x ~@2 x",
AC: "~@2 x ~@2 x!3", AD: "~ x ~@2 x ~@3", AE: "x!3 ~", AF: "~ x!2 ~@3 x ~", AG: "x!2 ~@2", AH: "x", AI: "~@9 x ~@5 x",
AJ: "~@3 x ~@8 x ~@3", AK: "~ x ~@5 x ~@5 x ~@2", AL: "~ x ~@2 x ~@8 x ~@2", AM: "x ~@8 x ~@2 x ~@3",
AN: "x ~@2 x ~@8 x ~@3", AO: "~@3 x ~@2 x ~@9", AP: "~ x ~@11 x ~@2", AQ: "~@3 x ~@5 x ~@5 x",
AR: "~@3 x ~@3 x ~@2 x ~@5", AS: "~@3 x ~@4", AT: "x ~@2 x ~@4", AU: "~ x ~@7 x ~@6", AV: "~ x ~@5 x ~ x ~@6",
AW: "~ x ~@9 x ~ x ~@2", AX: "~ x ~ x ~ x ~ x ~@8", AY: "~@5 x ~@3 x ~@3 x ~@2", AZ: "~@5 x ~@3 x ~@6",
BA: "~@5 x ~@3 x ~@3 x ~ x", BB: "~ x ~ x ~ x ~@3 x ~@3 x ~@2", BC: "~ x ~@5 x ~ x ~ x ~@3 x", BD: "~@5 x ~@7 x ~@2",
BE: "~ x ~@3 x ~@10", BF: "~ x ~@5 x ~ x ~@5 x", BG: "~ x ~@7 x ~@3 x ~@2", BH: "~ x ~@14",
})).gain(0.48)
// drums · low tom
const low_tom = s("lt").struct("<A B C ~@3 D ~@9 E ~ F ~@53 G ~@24 G H I J ~@3 K ~@9 L ~ M ~@28 N F>".pickRestart({
A: "~@6 x!2 ~ x!2 ~ x!2 ~@2", B: "~@13 x ~ x", C: "x!2 ~ x!2 ~@11", D: "~@3 x!2 ~@2 x ~ x!2 ~@5", E: "~@12 x ~@2 x",
F: "~@3 x ~@12", G: "~ x ~ x ~@4", H: "~@3 x!2 ~ x!2 ~ x!2 ~@5", I: "~@10 x ~ x!2 ~ x", J: "x!2 ~@14",
K: "x!2 ~@2 x ~ x!2 ~@8", L: "~@9 x ~@2 x ~@3", M: "x", N: "~@15 x",
})).gain(0.48)
// drums · hihat
const hihat = s("hh").struct(`<
~@6 A B C ~@12 D E ~ F@7 G F@3 ~ F@7 G F@11 G F@3 ~ F@7 G F@4 ~ F@7 G F@3 ~ F@7 G F@4 ~@7 H B I ~@12 J K L M@7 N M@2 O
L M@7 N M@3 O ~
>`.pickRestart({
A: "~@12 x ~@2 x", B: "~ x ~@2 x ~@2 x ~@2 x ~@2 x ~@2", C: "x ~@2 x ~@2 x ~@2 x ~@2 x ~@3",
D: "~@4 x ~ x!2 ~ x!2 ~ x!2 ~ x", E: "x!2 ~ x!2 ~ x!2 ~ x!2 ~@5", F: "x!8", G: "x!4 ~@4", H: "~@9 x ~@2 x ~@2 x",
I: "x ~@2 x ~@2 x ~@2 x ~@6", J: "~ x ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~ x", K: "x!2 ~ x!2 ~ x!2 ~@8", L: "~@13 x ~ x",
M: "~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x", N: "~ x ~ x ~@9 x ~ x", O: "~ x ~ x ~ x ~ x ~ x ~ x ~@4",
})).gain(0.48)
// drums · mid tom
const mid_tom = s("mt").struct("<~@16 A B ~@54 C ~@24 C ~@15 D E F ~@29 G H>".pickRestart({
A: "x", B: "~ x ~@5 x ~@8", C: "~ x ~@3 x ~@10", D: "~@13 x ~@2", E: "~@15 x", F: "~ x ~@2", G: "~@7 x", H: "~ x ~@6",
})).gain(0.48)
// drums · open hat
const open_hat = s("oh").struct("<~@4 A B ~@11 C ~@84 D ~@12 E ~@31>".pickRestart({
A: "~@9 x ~@2 x ~@2 x", B: "~ x ~@14", C: "~@5 x ~@2", D: "~@6 x ~@2 x ~@2 x ~@2 x", E: "~@7 x ~@8",
})).gain(0.48)
// drums · high tom
const high_tom = s("ht").struct("<~@17 [~@3 x ~@12] ~@97 x ~@31>").gain(0.48)
// drums · crash
const crash = s("cr").struct(`<
A B C D E F G ~ A H I J K F L M E ~ N O P ~@2 D ~@7 Q ~@3 R ~@7 Q ~@11 Q ~@3 R ~@7 Q ~@12 Q ~@3 R ~@7 Q ~@5 C S P H R
T U ~ C V W H X Y G B R ~ Z AA AB ~@2 H ~@7 AC ~@2 O ~@8 AC ~@5
// … 16 more lines
More by
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.