0:00/0:00
// Power Up — John Wallace
// 150 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, 6/4 at bar 10, 2/4 at bar 11, 4/4 at bar 12, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/4925080; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 84 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(150/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 · marimba · "Marimba (Grand Staff)"
const marimba = note(`<
A@3 B@5 C D E F G F G F G H I J K L M N M O P Q R S R S T U T U V ~@4 W X W Y Z@2 AA AB@2 AC AD AE@3 ~@2 AF@4 AG@5
AH@2 AI AJ@2 AK AL@4 AM@3 AN@2 AO@3
>`.pickRestart({
A: "[~@12 g4@10 g#4@10 a4@5 a4@5 a4@8 a4@2 ~@3 a4@4 ~@3 a4@2 ~@3 a4@5, ~@31 e5@5]/3",
B: "[g4@5 g4@5 g4@4 ~@4 g4@2 ~@3 g4@4 ~@3 g4@5 g4@5 a4@5 a4@5 a4@8 a4@2 ~@3 a4@4 ~@3 a4@2 ~@3 a4@5 g4@5 g4@5 g4@4 ~@4 g4@2 ~@3 g4@4 ~@3 g4@2 ~@3 g4@5, b4@2 ~@5 e5 b4@2 ~@2]/5",
C: "[g4,b4] ~", D: "~@2 [g4,g5] [g#4,g#5]",
E: "[f4,a4]@3 [f4,a4]@3 [f4,a4]@2 ~@3 [f4,a4] ~@2 [f4,a4]@2 ~@2 [f4,a4] ~@2 [f4,a4]@3, a5 ~@3", // F
F: "[e4,g4]@3 [e4,g4]@3 [e4,g4]@2 ~@3 [e4,g4] ~@2 [e4,g4]@2 ~@2 [e4,g4] ~@2 [e4,g4]@3", // Em
G: "[f4,a4]@3 [f4,a4]@3 [f4,a4]@2 ~@3 [f4,a4] ~@2 [f4,a4]@2 ~@2 [f4,a4] ~@2 [f4,a4]@3", // F
H: "[e4,g4]@3 [e4,g4]@3 [e4,g4]@2 ~@3 [e4,g4] g4@2 g4@4 [e4,g4] ~@2 [e4,g4]@3, ~@2 g5 ~, ~@7 e4 ~ [g#4,g#5]@3", // Em G#
I: "[f4,a4,c5]@3 [f4,a4,c5]@3 [f4,c5]@2 ~@3 [f4,a4,c5] ~@2 [f4,a4,c5]@2 ~@2 [f4,a4,c5] ~@2 [f4,a4,c5]@3, a5@2 ~ [e5,e6], ~@6 a4@5 ~@13", // F F5 F E
J: "[e4,g4,b4]@3 [e4,g4,b4]@3 [e4,g4]@2 ~@3 [e4,g4,b4] ~@2 [e4,g4,b4]@2 ~@2 [e4,b4] ~@2 [e4,g4,b4]@3, b5@2 ~ g5, ~@6 b4@5 ~@7 g4@3 ~@3", // Em E5 Em
K: "[f4,a4,c5]@3 [f4,a4,c5]@3 [f4,a4,c5]@2 ~@3 [f4,a4,c5] ~@2 [f4,a4,c5]@2 ~@2 [f4,a4,c5] ~@2 [f4,a4,c5]@3, a5 ~@2 [e5,e6]", // F E
L: "[e4,g4,b4]@3 [e4,g4,b4]@3 [e4,g4]@2 ~@3 [e4,g4,b4] b4@2 [e4,g4,b4]@2 ~@2 [e4,g4,b4] ~@2 [e4,g4,b4]@3, b5@3 b5 ~@2, ~@6 b4@5 ~@5 [c5,c6]@4 [c#5,c#6]@4", // Em C C#
M: "[f4,a4,c5]@3 [f4,a4,c5]@3 [f4,a4,c5]@2 ~@3 [f4,a4,c5] ~@2 [f4,a4,c5]@2 ~@2 [f4,a4,c5] ~@2 [f4,a4,c5]@3, [d5,d6]@2 ~ [a5,a6]", // F D A
N: "[e4,g4,b4]@3 [e4,g4,b4]@3 [e4,g4,b4]@2 ~@3 [e4,g4,b4] ~@2 [e4,g4,b4]@2 ~@2 [e4,g4,b4] ~@2 [e4,g4,b4]@3, [e5,e6]@2 ~ [c5,c6]", // Em E C
O: "[e4,g4,b4]@3 [e4,g4,b4]@3 [e4,g4,b4]@2 ~@3 [e4,g4,b4] ~@2 [e4,g4,b4]@2 ~@2 [e4,g4,b4] ~@2 [e4,g4,b4]@3, [e5,e6]@2 [b5,b6] [g5,g6]", // Em E B G
P: "[f4,a4,c5]@3 [f4,a4,c5]@3 [f4,a4,c5]@2 ~ [g5,g6]@2 [f4,a4,c5] ~@2 [f4,a4,c5]@2 ~@2 [f4,a4,c5] ~@2 [f4,a4,c5]@3, [a5,a6]@9 ~@3 [f5,f6]@4 [e5,e6]@4 [d5,d6]@4", // F G F A F E D
Q: "[e4,g4]@3 [e4,g4]@3 [e4,g4]@2 ~@3 [e4,g4] ~@2 [e4,g4]@2 ~@2 [e4,g4] ~@2 [e4,g4]@3, [b4,b5]", // Em B
R: "[f4,a4,c5]@3 [f4,a4]@2 ~ [f4,a4]@2 ~ d5 ~ [f4,a4] ~@3 c5@3 [f4,a4] ~@2 [f4,a4,d5]@3, ~@5 c#5@2 ~@7 [f4,a4]@2 ~@2 c#5@3 ~@3", // F Dm F
S: "[e4,g4]@3 [e4,g4]@2 ~ [e4,g4]@2 ~ a4 ~ [e4,g4] ~@2 g4 g4@3 [e4,g4] ~@2 [e4,g4,a4]@3, ~@5 g#4@2 ~@7 e4@2 ~@2 g#4@3 ~@3", // Em A7
T: "[c4,f4,a4,c5]@3 [f4,a4]@2 ~ [f4,a4]@2 ~ [d4,d5] ~ [f4,a4] ~@3 [c4,c5]@3 [c#4,c#5]@3 [d4,f4,a4,d5]@3, ~@5 [c#4,c#5]@2 ~@7 [f4,a4]@2 ~@2 [f4,a4] ~@5", // F D F C C# Dm C# F
U: "[g3,e4,g4]@3 [e4,g4]@2 ~ [e4,g4]@2 ~ [a3,a4] ~ [e4,g4] ~@2 g4 [g3,g4]@3 [g#3,g#4]@3 [a3,e4,g4,a4]@3, ~@5 [g#3,g#4]@2 ~@7 e4@2 ~@2 [e4,g4] ~@5", // C Em A Em G G# A7 G# …
V: "[c4,c5]@4 ~ [c#4,c#5]@2 ~@2 [d4,d5] ~@5 [c4,c5]@3 [c#4,c#5]@3 [d4,d5]@3", W: "a4@6 e5@6 d#5@3 ~@2 b4 ~@6",
X: "a4@6 b4@6 c#5@3 ~@2 e4 ~@6", Y: "a4@3 a4@3 b4@3 b4@3 c#5@3 ~@2 e4 ~@6",
Z: "[[a4,c#5]@3 [a4,c#5]@3 [a4,c#5]@2 ~@2 [a4,c#5] d#5@2 [a4,c#5]@2 b4 ~ [a4,c#5] ~@2 [a4,c#5]@3 [b4,d5]@2 [b4,d5]@3 b4@4 [b4,d5] ~@2 [b4,d5]@2 ~ e4 [b4,d5] ~@2 [b4,d5]@3 [a4,c#5]@3, ~@6 e5@6 ~@11 a4@5 d5@2 ~@4 c#5@3 ~@11]/2", // A Bm A
AA: "[a4,c#5]@3 [a4,c#5]@2 ~@2 [a4,c#5] d#5@2 [a4,c#5]@2 b4 ~ [a4,c#5] ~@2 [a4,c#5]@3 [a4,b4,d5]@2 [a4,b4,d5]@2, ~ e5@2 ~@5", // A Bm7
AB: "[~ [b4,d5]@3 b4 [b4,d5] ~@2 [b4,d5]@2 ~ e4 [b4,d5] ~@2 [b4,d5]@3 [a4,c#5]@3 [a4,c#5]@2 [a4,c#5]@2 ~@2 [a4,c#5] ~@2 [a4,c#5]@2 ~ b4 [a4,c#5] ~@2 [a4,c#5]@2 [b4,d5]@3 [b4,d5]@2 b4@4, ~@7 c#5@3 ~@13 e5@4 ~@2 d#5@3 ~@7 a4@5 d5@2 ~@2]/2", // Bm A Bm
AC: "[b4,d5] ~@2 [b4,d5]@2 ~ e4 [b4,d5] ~@2 [b4,d5]@2 [a4,c#5]@2 ~ [a4,c#5]@2 [a4,c#5]@2 ~@2 [a4,c#5] d#5@2, ~@2 c#5@3 ~@12 e5@4 ~@3", // Bm A
AD: "[a4,c#5]@2 b4 [a4,c#5] ~@2 [a4,c#5]@2 [a4,b4,d5]@2 ~ [a4,b4,d5]@2 [b4,d5]@2 ~ b4 [b4,d5] c#5@2 [b4,d5]@2 e4 [b4,d5]", // A Bm7 Bm
AE: "[~@2 [b4,d5]@2 [a4,c#5]@2 ~ [a4,c#5]@2 [a4,c#5]@2 ~@2 [a4,c#5] ~ [a4,c#5]@2 b4 ~ [a4,c#5] ~ [a4,c#5]@2 [b4,d5]@2 ~ [b4,d5]@2 b4@4 [b4,d5] ~ [b4,d5]@2 e4 ~ [b4,d5] ~ [b4,d5]@2 [a4,c#5]@2 [a4,c#5]@2 ~ [a4,c#5]@2 ~ [a4,c#5] ~ [a4,c#5]@2 ~ b4 [a4,c#5] ~ [a4,c#5]@2 [a4,b4,d5]@2 [a4,b4,d5]@2 ~ [b4,d5]@2 b4 [b4,d5] c#5@2 ~, ~@9 e5@4 ~ d#5@2 ~@7 a4@5 d5@2 ~@3 c#5@2 ~@12 e5@3 ~ d#5@2 ~@19]/3", // Bm A Bm A Bm7 Bm
AF: "[~@5 e5!2 ~@2 e5 ~@2 c5 ~ e5@3 g5@6 g4@6 [f4,a4,c5]@3 [f4,a4,c5]@2 [f4,c5]@2 ~@3 [f4,a4,c5] ~ [f4,a4,c5]@2 ~@3 [f4,a4,c5] ~ [f4,a4,c5]@3 [e4,g4,b4]@3 [e4,g4,b4]@3 [e4,g4]@2 ~@2 [e4,g4,b4] ~@2 [e4,g4,b4]@2 ~@2 [e4,b4] ~@2 [e4,g4,b4]@3 [f4,a4,c5]@3 [f4,a4,c5]@2 [f4,a4,c5]@2 ~@3 [f4,a4,c5] ~ [f4,a4,c5]@2 ~@3 [f4,a4,c5] ~ [f4,a4,c5]@3, ~@29 a5@11 ~@6 [e5,e6]@6 ~@5 b4@4 ~@7 g4@3 ~@25, ~@34 a4@4 ~@13 b5@11 ~@6 g5@6 a5@6 ~@11 [e5,e6]@5]/4", // F F5 F Em E5 Em F E
AG: "[[e4,g4,b4]@3 [e4,g4,b4]@3 [e4,g4]@2 ~@2 [e4,g4,b4] b4 ~ [e4,g4,b4]@2 ~@2 [e4,g4,b4] ~@2 [e4,g4,b4]@3 [f4,a4,c5]@3 [f4,a4,c5]@2 [f4,a4,c5]@2 ~@3 [f4,a4,c5] ~ [f4,a4,c5]@2 ~@3 [f4,a4,c5] ~ [f4,a4,c5]@3 [e4,g4,b4]@3 [e4,g4,b4]@3 [e4,g4,b4]@2 ~@2 [e4,g4,b4] ~@2 [e4,g4,b4]@2 ~@2 [e4,g4,b4] ~@2 [e4,g4,b4]@3 [f4,a4,c5]@3 [f4,a4,c5]@2 [f4,a4,c5]@2 ~@3 [f4,a4,c5] ~ [f4,a4,c5]@2 ~@3 [f4,a4,c5] ~ [f4,a4,c5]@3 [e4,g4,b4]@3 [e4,g4,b4]@3 [e4,g4,b4]@2 ~@2 [e4,g4,b4] ~@2 [e4,g4,b4]@2 ~@2 [e4,g4,b4] ~@2 [e4,g4,b4]@3 [f4,a4,c5]@3 [f4,a4,c5]@2 [f4,a4,c5]@2, b5@11 b5@4 ~@25 [a5,a6]@6 ~@39 [a5,a6]@6 ~@10 [b5,b6]@6 ~@6 [a5,a6]@7, ~@6 b4@4 ~@5 [c5,c6]@4 [c#5,c#6]@4 [d5,d6]@11 ~@11 [e5,e6]@11 ~@6 [c5,c6]@6 [d5,d6]@11 ~@11 [e5,e6]@11 ~@6 [g5,g6]@6 ~@7]/5", // Em F Em F Em F A B …
AH: "[~ [g5,g6]@2 [f4,a4,c5] ~ [f4,a4,c5]@2 ~@3 [f4,a4,c5] ~ [f4,a4,c5]@3 [e4,g4,b4]@3 [e4,g4,b4]@3 [e4,g4]@2 ~@2 [e4,g4,b4] g4 ~ [e4,b4]@2 ~@2 [e4,g4,b4] ~@2 [e4,g4,b4]@3 [f4,a4,c5]@3 [f4,a4,c5]@2 [f4,c5]@2 ~@3, ~@4 [f5,f6]@4 [e5,e6]@3 [d5,d6]@4 b5@11 g5@6 ~@6 a5@10, ~@21 b4@4 ~@3 g4@4 [g#4,g#5]@6 ~@5 a4@4 ~]/2", // G F Em E5 Em F F5 F …
AI: "[f4,a4,c5] ~ [f4,a4,c5]@2 ~@3 [f4,a4,c5] ~ [f4,a4,c5]@3 [e4,g4,b4]@3 [e4,g4,b4]@3 [e4,g4]@2 ~@2 [e4,g4,b4] ~, ~@7 [e5,e6]@5 b5@11 ~, ~@9 b4@2 ~", // F Em E
AJ: "[~ [e4,g4,b4]@2 ~@2 [e4,b4] ~@2 [e4,g4,b4]@3 [f4,a4,c5]@3 [f4,a4,c5]@2 [f4,a4,c5]@2 ~@3 [f4,a4,c5] ~ [f4,a4,c5]@2 ~@3 [f4,a4,c5] ~ [f4,a4,c5]@3 [e4,g4,b4]@3 [e4,g4,b4]@3 [e4,g4]@2 ~@2 [e4,g4,b4] b4 ~ [e4,g4,b4]@2, ~@5 g5@6 a5@6 ~@11 [e5,e6]@6 ~@5 b4@4 ~@5, ~@5 g4@3 ~@25 b5@11 b5@4]/2", // Em E5 Em F Em E
AK: "~@2 [e4,g4,b4] ~@2 [e4,g4,b4]@3 [f4,a4,c5]@3 [f4,a4,c5]@2 [f4,a4,c5]@2 ~@3 [f4,a4,c5] ~ [f4,a4,c5]@2 ~@2, [c5,c6]@4 [c#5,c#6]@4 [d5,d6]@11 ~@5", // Em F C C# D
AL: "[~ [f4,a4,c5] ~ [f4,a4,c5]@3 [e4,g4,b4]@3 [e4,g4,b4]@3 [e4,g4,b4]@2 ~@2 [e4,g4,b4] ~@2 [e4,g4,b4]@2 ~@2 [e4,g4,b4] ~@2 [e4,g4,b4]@3 [f4,a4,c5]@3 [f4,a4,c5]@2 [f4,a4,c5]@2 ~@3 [f4,a4,c5] ~ [f4,a4,c5]@2 ~@3 [f4,a4,c5] ~ [f4,a4,c5]@3 [e4,g4,b4]@3 [e4,g4,b4]@3 [e4,g4,b4]@2 ~@2 [e4,g4,b4] ~@2 [e4,g4,b4]@2 ~@2 [e4,g4,b4] ~@2 [e4,g4,b4]@3 [f4,a4,c5]@3 [f4,a4,c5]@2 [f4,a4,c5]@2 ~ [g5,g6]@2 [f4,a4,c5] ~ [f4,a4,c5]@2 ~@3 [f4,a4,c5] ~ [f4,a4,c5]@3, ~ [a5,a6]@5 [e5,e6]@11 ~@6 [c5,c6]@6 [d5,d6]@11 ~@6 [a5,a6]@5 [e5,e6]@11 [b5,b6]@6 [g5,g6]@6 [a5,a6]@8 ~@3 [f5,f6]@4 [e5,e6]@3 [d5,d6]@4]/4", // F Em F Em F G F A …
AM: "[[a5,a6]@12 [g5,g6]@4 [f5,f6]@5 [e5,e6]@5 [d5,d6]@5 ~ [b4,b5]@31 e5@4 e5@4 ~]/3", // A G F E D B
AN: "[~@3 e5@4 ~@3 c5@4 e5@8 g5@8 ~@8 g4@8 ~@2]/2", AO: "[~@5 [c4,c5]@63 ~@4]/3",
})).s("gm_marimba").gain(0.35)
// chords · steel drums
const steel_drums = note("<~@28 A B A B C D C D ~@16 E@3 ~@3 F G@2 H@2 I J K L M N O@3 P@2 Q@2 ~@8>".pickRestart({
A: "c5@4 ~ c#5@2 ~@2 d5 ~@5 c5@3 c#5@3 d5@3", B: "g4@4 ~ g#4@2 ~@2 a4 ~@5 g4@3 g#4@3 a4@3",
C: "[c4,c5]@4 ~ [c#4,c#5]@2 ~@2 [d4,d5] ~@5 [c4,c5]@3 [c#4,c#5]@3 [d4,d5]@3", // C C# D C C# D
D: "[g3,g4]@4 ~ [g#3,g#4]@2 ~@2 [a3,a4] ~@5 [g3,g4]@3 [g#3,g#4]@3 [a3,a4]@3", // G G# A G G# A
E: "[~@4 c#5@2 ~ c#5@2 c#5@2 ~@2 c#5 ~ c#5@2 ~@2 c#5 ~ c#5@2 d5@2 ~ d5@2 d5@2 ~@2 d5 ~ d5@2 ~@2 d5 ~ d5@2 c#5@2 c#5@2 ~ c#5@2 ~ c#5 ~ c#5@2 ~@2 c#5 ~ c#5@2 d5@2 d5@2 ~ d5@2 ~ d5 ~@3]/3",
F: "~@5 c5@4 c#5@2 ~@2 d5 ~@5 c5@3 c#5@2",
G: "[d5@3 g4@4 g#4@2 ~@3 a4 ~@4 g4@3 g#4@3 a4@3 c5@4 c#5@2 ~@2 d5 ~@5 c5@3 c#5@2 d5@3]/2",
H: "[g4@4 g#4@2 ~@3 a4 ~@4 g4@3 g#4@3 a4@3 c5@4 c#5@2 ~@2 d5 ~@5 c5@3 c#5@2 d5@3 g4@3]/2",
I: "~ g#4@2 ~@3 a4 ~@4 g4@3 g#4@3 a4@3 c5@4", J: "c#5@2 ~@2 d5 ~@5 c5@3 c#5@2 d5@3 g4@4 g#4@2",
K: "~@3 a4 ~@4 g4@3 g#4@3 a4@3 c5@4 c#5@2 ~", L: "~ d5 ~@5 c5@3 c#5@2 d5@3 g4@4 g#4@2 ~@3",
M: "a4 ~@4 g4@3 g#4@3 a4@3 [f4,a4,c5]@3 ~@2 [f4,a4]@2 ~ d5 ~, ~@17 [f4,a4]@2 ~@5, ~@9 c#5 ~@2", // F
N: "[f4,a4] ~ [f4,a4]@2 c5@3 [f4,a4] ~ [f4,a4,d5]@3 [e4,g4]@3 ~ g#4@2 [e4,g4]@2 ~ a4 [e4,g4] ~, ~@7 c#5@2 ~@6 [e4,g4]@3 ~@6", // F Dm Em
O: "[~ g4 g4@3 [e4,g4] ~@2 [e4,g4,a4]@3 [f4,a4,c5]@3 ~@2 [f4,a4]@2 ~ d5 ~ [f4,a4] ~ [f4,a4]@2 c5@3 [f4,a4] ~ [f4,a4,d5]@3 [e4,g4]@3 ~ g#4@2 [e4,g4]@2 ~ a4 [e4,g4] ~@2 g4 g4@3 [e4,g4] ~@2 [e4,g4,a4]@3 [f4,a4,c5]@3 ~@2 [f4,a4]@2 ~ d5 ~ [f4,a4] ~ [f4,a4]@2 c5@2, ~ e4@2 ~@2 g#4@3 ~@6 [f4,a4]@2 ~@20 [e4,g4]@3 ~@7 e4@2 ~@2 g#4@3 ~@6 [f4,a4]@2 ~@11, ~@15 c#5@2 ~@11 c#5@2 ~@30 c#5@2 ~@10]/3", // Em A7 F Dm Em A7 F Em …
P: "[~ [f4,a4] ~ [f4,a4,d5]@3 [e4,g4]@3 ~ g#4@2 [e4,g4]@2 ~ a4 [e4,g4] ~@2 g4 g4@3 [e4,g4] ~@2 [e4,g4,a4]@3 [f4,a4,c5]@3 ~@2 [f4,a4]@2 ~ d5 ~ [f4,a4] ~ [f4,a4]@2 c5@3 [f4,a4] ~, ~ c#5@2 ~@6 [e4,g4]@3 ~@7 e4@2 ~@2 g#4@3 ~@6 [f4,a4]@2 ~@14, ~@33 c#5@2 ~@11 c#5@2]/2", // F Dm Em A7 F Em F
Q: "[[f4,a4,d5]@3 [e4,g4,c5]@3 ~ c#5@2 [e4,g4]@2 ~ d5 [e4,g4] ~@3 c5@3 [e4,g4] ~@2 [e4,g4,d5]@3 [f4,a4,c5]@3 ~@2 [f4,a4]@2 ~ d5 ~ [f4,a4] ~ [f4,a4]@2 c5@3 [f4,a4] ~ [f4,a4,d5]@3, ~@6 [e4,g4]@3 ~@7 [e4,g4]@2 ~@2 c#5@3 ~@6 [f4,a4]@2 ~@17, ~@30 c#5@2 ~@11 c#5@2 ~@3]/2", // Dm C Em Em7 F Dm Em F
})).s("gm_steel_drums").gain(0.3)
// chords · piano
const piano = note(`<
~ A@2 B@2 C D@2 ~@5 E F G F G H I H I H I H I H I ~@4 F G F G J ~@11 K@2 L M N@3 ~@3 O@3 P@5 Q@2 R S@2 T U@4 ~@8
>`.pickRestart({
A: "[~@8 e5@2 ~ c5@2 a4@2 ~ f4@2 e5@2 ~ c5@2 a4@2 ~ f4@2 e5@2 ~ c5@2 a4@2 ~ f4@2 e5@2 ~ c5@2 a4@2 ~ f4@2]/2",
B: "[d5@2 ~ b4@2 g4@2 ~ e4@2 d5@2 ~ b4@2 g4@2 ~ e4@2 d5@2 ~ b4@2 g4@2 ~ e4@2 d5@2 ~ b4@2 g4@2 ~ e4@2 e5@2 ~ c5@2 a4@2 ~]/2",
C: "f4@2 e5@2 ~ c5@2 a4@2 ~ f4@2 e5@2 ~ c5@2 a4@2 ~ f4@2 e5@2",
D: "[~ c5@2 a4@2 ~ f4@2 d5@2 ~ b4@2 g4@2 ~ e4@2 d5@2 ~ b4@2 g4@2 ~ e4@2 d5@2 ~ b4@2 g4@2 ~ e4@2 d5@2 ~ b4@2 g4@2 ~ e4@2]/2",
E: "~@12 [b6,c7] a#6 [g6,g#6,a6] [f6,f#6] e6 [c#6,d6,d#6] [b5,c6] a#5 [g5,g#5,a5] [f5,f#5] e5 [c#5,d5,d#5]", // Cmaj7 F#maj7 Cmaj7 F#maj7
F: "c5@3 c5@3 c5@3 d4 ~ c5 ~@2 c5@3 d4 c5 ~ d4 c5@3", G: "b4@3 b4@3 b4@3 c4 ~ b4 ~@2 b4@3 c4 b4 ~ c4 b4@3",
H: "[f5,a5,c6]@3 [f5,a5,c6]@3 [f5,a5,c6]@3 [d4,d5] ~ [f5,a5,c6] ~@2 [f5,a5,c6]@3 [d4,d5] [f5,a5,c6] ~ [d4,d5] [f5,a5,c6]@3", // F D F D F D F
I: "[e5,g5,b5]@3 [e5,g5,b5]@3 [e5,g5,b5]@3 [c4,c5] ~ [e5,g5,b5] ~@2 [e5,g5,b5]@3 [c4,c5] [e5,g5,b5] ~ [c4,c5] [e5,g5,b5]@3", // Em C Em C Em C Em
J: "[c4,c5]@4 ~ [c#4,c#5]@2 ~@2 [d4,d5] ~@5 [c4,c5]@3 [c#4,c#5]@3 [d4,d5]@3", // C C# D C C# D
K: "[~@18 a4@5 e5@5 ~ d#5@3 ~ b4 ~@5 a4@5 b4@4]/2", L: "~@2 c#5@3 ~ e4 ~@5 a4@5 e5@5 d#5@2",
M: "~@2 b4 ~@5 a4@2 ~ a4@2 b4@2 ~ b4@2 c#5@2 ~@2 e4 ~",
N: "[~@4 a4@4 ~ e5@4 ~ d#5@2 ~ b4 ~@5 a4@4 ~ b4@4 ~ c#5@2 ~ e4 ~@5 a4@4 ~ e5@4 d#5@2 ~@2 b4 ~@4 a4@2 a4@2 ~ b4@2 b4@2 c#5@2 ~]/3",
O: "[~@5 [f5,a5,c6]@3 [f5,a5,c6]@2 [f5,a5,c6]@3 [d4,d5] ~ [f5,a5,c6] ~ [f5,a5,c6]@3 [d4,d5] ~ [f5,a5,c6] [d4,d5] [f5,a5,c6]@3 [e5,g5,b5]@3 [e5,g5,b5]@3 [e5,g5,b5]@3 [c4,c5] [e5,g5,b5] ~@2 [e5,g5,b5]@3 [c4,c5] [e5,b5] ~ [c4,c5] [e5,g5,b5]@3 [f5,a5,c6]@3 [f5,a5,c6]@2 [f5,a5,c6]@3 [d4,d5] ~ [f5,a5,c6] ~ [f5,a5,c6]@3 [d4,d5] ~ [f5,a5,c6] [d4,d5] [f5,a5,c6]@3, ~@5 a4@11 ~@6 [e5,e6]@5 b4@11 ~@6 g4@5 ~ a4@5 ~@17, ~@44 g5@2 ~@21 [e5,e6]@5]/3", // F D F D F D F Em …
P: "[[e5,g5,b5]@3 [e5,g5,b5]@3 [e5,g5,b5]@3 [c4,c5] [e5,g5,b5] b5 ~ [e5,g5,b5]@2 c5 c4 [e5,g5,b5] ~ [c4,c5] [e5,g5,b5]@3 [f5,a5,c6]@3 [f5,a5,c6]@2 [f5,a5,c6]@3 d5@2 [f5,a5,c6] ~ [f5,a5,c6]@3 [d4,d5] ~ [f5,c6] [d4,d5] [f5,a5,c6]@3 [e5,g5,b5]@3 [e5,g5,b5]@3 [e5,g5,b5]@3 [c4,c5] [e5,g5,b5] ~@2 [e5,g5,b5]@3 [c4,c5] [c5,e5,g5,b5] ~ c4 [e5,g5,b5]@3 [f5,a5,c6]@3 [f5,a5,c6]@2 [f5,a5,c6]@3 d5@2 [f5,a5,c6] ~ [f5,a5,c6]@3 [d4,d5] ~ [f5,c6] [d4,d5] [f5,a5,c6]@3 [e5,g5,b5]@3 [e5,g5,b5]@3 [e5,g5,b5]@3 [c4,c5] [e5,g5,b5] b5 ~ [e5,g5,b5]@3 [c4,c5] [e5,b5] ~ [c4,c5] [e5,g5,b5]@3 [f5,a5,c6]@3 [f5,a5,c6]@2 [f5,a5,c6]@2, b4@11 b4@4 c6@4 ~@4 d6@11 ~@6 a6@5 e6@11 ~@8 c5@4 d5@8 d4 ~@8 a5@2 ~@20 g5@2 ~@11, ~@16 c5@3 [c#5,c#6]@4 d5@8 d4 ~@8 a5@2 ~@20 c6@5 ~ d6@11 ~@6 a6@5 e6@11 b6@5 ~ g6@5 ~ a6@7]/5", // Em C Em C Em F D F5 …
Q: "[~ [g5,g6]@2 [f5,a5,c6] f5 [f5,a5,c6]@3 [d4,d5] ~ [f5,a5,c6] d4 [f5,a5,c6]@3 [e5,g5,b5]@3 [e5,g5,b5]@3 [e5,g5,b5]@3 [c4,c5] [e5,g5,b5] g5 ~ [e5,g5,b5]@3 [c4,c5] [e5,g5,g#5,b5] [f#5,g5] [c4,c5,e5,f5] [d5,d#5] [c5,c#5] [a#4,b4] [f5,a5,c6]@3 [f5,a5,c6]@2 [f5,a5,c6]@3 [d4,d5] ~, ~ [d4,d5] ~@2 f6@4 [e5,e6]@3 [d5,d6]@4 b4@11 g4@5 ~@4 [e5,g5,b5]@3 a4@10]/2", // G F D F Em C Em C …
R: "[f5,a5,c6] ~ [f5,a5,c6]@3 [d4,d5] ~ [f5,a5,c6] [d4,d5] [f5,a5,c6]@3 [e5,g5,b5]@3 [e5,g5,b5]@3 [e5,g5,b5]@3 [c4,c5] [e5,g5,b5] ~, ~@7 [e5,e6]@5 b4@11 ~", // F D F D F Em C Em …
S: "[~ [e5,g5,b5]@3 [c4,c5] [e5,b5] ~ [c4,c5] [e5,g5,b5]@3 [f5,a5,c6]@3 [f5,a5,c6]@2 [f5,a5,c6]@3 [d4,d5] ~ [f5,a5,c6] ~ [f5,a5,c6]@3 [d4,d5] ~ [f5,a5,c6] [d4,d5] [f5,a5,c6]@3 [e5,g5,b5]@3 [e5,g5,b5]@3 [e5,g5,b5]@3 [c4,c5] [e5,g5,b5] b5 ~ [e5,g5,b5]@2, ~@5 g4@5 ~ a4@5 ~@17 b4@11 b4@4, ~@5 g5@2 ~@21 [e5,e6]@5 ~@15]/2", // Em C E5 C Em F D F …
T: "c5 c4 [e5,g5,b5] ~ [c4,c5] [e5,g5,b5]@3 [f5,a5,c6]@3 [f5,a5,c6]@2 [f5,a5,c6]@3 d5@2 [f5,a5,c6] ~ [f5,a5,c6]@3 [d4,d5], c6@4 ~@4 d6@11 ~@5, ~ c5@3 [c#5,c#6]@4 d5@8 d4 ~@7", // Em C Em F D C#
U: "[~ [f5,c6] [d4,d5] [f5,a5,c6]@3 [e5,g5,b5]@3 [e5,g5,b5]@3 [e5,g5,b5]@3 [c4,c5] [e5,g5,b5] ~@2 [e5,g5,b5]@3 [c4,c5] [c5,e5,g5,b5] ~ c4 [e5,g5,b5]@3 [f5,a5,c6]@3 [f5,a5,c6]@2 [f5,a5,c6]@3 d5@2 [f5,a5,c6] ~ [f5,a5,c6]@3 [d4,d5] ~ [f5,c6] [d4,d5] [f5,a5,c6]@3 [e5,g5,b5]@3 [e5,g5,b5]@3 [e5,g5,b5]@3 [c4,c5] [e5,g5,b5] b5 ~ [e5,g5,b5]@3 [c4,c5] [e5,b5] ~ [c4,c5] [e5,g5,b5]@3 [f5,a5,c6]@3 [f5,a5,c6]@2 [f5,a5,c6]@3 [g5,g6]@2 [f5,a5,c6] f5 [f5,a5,c6]@3 [d4,d5] ~ [f5,a5,c6] d4 [f5,a5,c6]@3, ~ a6@5 e6@11 ~@8 c5@4 d5@8 d4 ~@8 a5@2 ~@20 g5@2 ~@12 [d4,d5] ~@9 [d5,d6]@4, ~ a5@2 ~@20 c6@5 ~ d6@11 ~@6 a6@5 e6@11 b6@5 ~ g6@5 ~ a6@8 ~@3 f6@4 [e5,e6]@4 ~@3]/4", // F5 D F Em C Em C Cmaj7 …
})).s("gm_piano").gain(0.35)
// drums · kick
const kick = s("bd").struct(`<
~@14 A@22 ~@5 B@4 C D E F G H I J K L ~@3 M N O P Q R S T U V W X Y Z AA M N O ~@8
>`.pickRestart({
A: "x!4", B: "x", C: "x ~@10 x ~@11 x", D: "~@10 x ~@10 x ~@2", E: "~@2 x ~@2 x", F: "~@7 x ~@10 x ~@5",
G: "~@5 x ~@9 x ~@8", H: "~ x ~@4 x ~@4 x", I: "~@4 x ~@4 x ~@2", J: "~@4 x ~@4 x ~@4 x ~@4 x ~@3 x",
K: "~@4 x ~@4 x ~@4 x ~@3 x ~@4 x", L: "~@3 x ~@4 x ~@3 x ~@4 x ~@6", M: "~@5 x ~@4 x ~@5 x ~@5 x ~",
N: "~@3 x ~@5 x ~@4 x ~@5 x ~@3", O: "~@2 x ~@4 x ~@5 x ~@5 x ~@4", P: "x ~@5 x ~@4 x ~@5 x ~@5 x",
Q: "~@4 x ~@5 x ~@5 x ~@4 x ~@2", R: "~@3 x ~@4 x ~@5 x ~@5 x ~@3", S: "~ x ~@5 x ~@5 x ~@4 x ~@5",
T: "x ~@4 x ~@5 x ~@5 x ~@4 x ~", U: "~@4 x ~@5 x ~@4 x ~@5 x ~@2", V: "~@2 x ~@5 x ~@5 x ~@4 x ~@4",
W: "~ x ~@5 x ~@4 x ~@5 x ~@4 x", X: "~@5 x ~@5 x ~@4 x ~@5 x ~", Y: "~@4 x ~@4 x ~@5 x ~@4 x ~@3",
Z: "~@2 x ~@5 x ~@4 x ~@5 x ~@4", AA: "~ x ~@4 x ~@5 x ~@4 x ~@5 x",
})).gain(0.4)
// drums · rim
const rim = s("rim").struct("<~@13 [x!4] ~@70>").gain(0.3)
// drums · hihat
const hihat = s("hh").struct("<~@28 [~ x ~ x]!8 ~@48>").gain(0.4)
// drums · crash
const crash = s("cr").struct("<~@32 x ~ x ~@49>").gain(0.4)
// drums · ride
const ride = s("rd").struct("<~@58 A ~ B C ~ D ~ E ~ F ~ G ~ H ~ A ~ B ~@8>".pickRestart({
A: "~@5 x ~@18", B: "~ x ~@10", C: "~@23 x", D: "~@5 x", E: "~@17 x ~@6", F: "~@7 x ~@4", G: "~@11 x ~@12",
H: "~ x ~",
})).gain(0.3)
// drums · bongos
const bongos = s("bongo:4").struct(`<
~@18 A@10 ~@9 B ~ B ~ B ~ B ~ C D E F G H I J K L ~@3 M N O P Q R S T U V W X Y Z AA M N O ~@8
>`.pickRestart({
A: "x ~@2 x ~@7 x ~@2 x ~@2 x ~@6", B: "x", C: "x ~@22 x", D: "~@7 x", E: "~@5 x", F: "~@3 x", G: "~@5 x ~@2",
H: "~ x", I: "~ x ~", J: "~@4 x ~@9 x ~@8 x", K: "~@3 x ~@2 x ~", L: "~ x ~@2 x ~@3",
M: "~@5 x ~@2 x ~@6 x ~ x ~@2 x ~@3", N: "~@3 x ~@2 x ~@6 x ~@2 x ~@2 x ~@4", O: "~@2 x ~@2 x ~@6 x ~ x ~@2 x ~@6",
P: "x ~@2 x ~@6 x ~@2 x ~@2 x ~@6 x", Q: "~@2 x ~@6 x ~ x ~@2 x ~@6 x ~@2", R: "x ~@6 x ~@2 x ~@2 x ~@6 x ~@2 x",
S: "~@6 x ~ x ~@2 x ~@6 x ~@2 x ~@2", T: "~@4 x ~@2 x ~@2 x ~@6 x ~@2 x ~@3", U: "~@3 x ~ x ~@2 x ~@6 x ~@2 x ~@5",
V: "~ x ~@2 x ~@2 x ~@6 x ~@2 x ~@6", W: "x ~ x ~@2 x ~@6 x ~@2 x ~@6 x ~", X: "~ x ~@2 x ~@6 x ~@2 x ~@6 x ~ x",
Y: "~@2 x ~@6 x ~@2 x ~@6 x ~@2 x ~", Z: "~ x ~@6 x ~@2 x ~@6 x ~ x ~@2 x", AA: "~@6 x ~@2 x ~@6 x ~@2 x ~@2 x ~",
})).gain(0.65)
// drums · bongos
const bongos_2 = s("bongo:18").struct(`<
~@18 A B A B A B A B A B ~@10 C ~ C ~ C ~ C D E F G H I J K L M ~@3 N O P Q R S T U V W X Y Z AA AB AC O P ~@8
>`.pickRestart({
A: "~@2 x!2 ~@2 x!2", B: "~@6 x ~@2 x ~@8 x ~ x!2 ~@2", C: "x", D: "~@11 x ~@12", E: "~@5 x ~@6", F: "~ x ~",
G: "~@7 x ~@16", H: "~@5 x ~@18", I: "~ x ~@9 x", J: "~@3 x", K: "~@9 x ~@9 x ~@4", L: "~@4 x ~@9 x ~@8 x",
M: "~@8 x ~@8 x ~@6", N: "~@10 x ~@2 x ~@8 x ~", O: "x ~@8 x ~@2 x ~@7 x ~ x!2", P: "~@7 x ~@2 x ~@8 x ~ x ~@2",
Q: "~@6 x ~@2 x ~@7 x ~ x!2 ~@3", R: "~@4 x ~@2 x ~@8 x ~ x ~@5", S: "~@3 x ~@2 x ~@7 x ~ x!2 ~@6",
T: "~ x ~@2 x ~@8 x ~ x ~@8", U: "x ~@2 x ~@7 x ~ x!2 ~@7 x ~", V: "~ x ~@8 x ~ x ~@8 x ~@2",
W: "x ~@7 x ~@2 x ~@7 x ~@2 x ~", X: "~@7 x ~ x ~@8 x ~@2 x ~@2", Y: "~@5 x ~ x!2 ~@7 x ~@2 x ~@4",
Z: "~@4 x ~ x ~@8 x ~@2 x ~@5", AA: "~@2 x ~ x!2 ~@7 x ~@2 x ~@7", AB: "~ x ~ x ~@8 x ~@2 x ~@7 x",
AC: "~ x!2 ~@7 x ~@2 x ~@8 x ~",
})).gain(0.65)
// drums · shaker
const shaker = s("sh").struct("<~ A B C D E F B ~@6 G@22 ~@22 H I J K L M N O P Q R S T@2 U@2 I J ~@8>".pickRestart({
A: "~@8 x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x", B: "~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~",
C: "x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x", D: "~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~@2",
E: "x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~", F: "~ x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x ~@2 x ~ x",
G: "x ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~ x", H: "~@5 x!2 ~ x!3 ~ x!2 ~ x!3 ~ x!2 ~ x!2",
I: "x ~ x!2 ~ x!3 ~ x!2 ~ x!3 ~ x!2 ~ x!2 ~ x!2", J: "x ~ x!2 ~ x!3 ~ x!2 ~ x!3 ~ x!2 ~ x!3 ~ x",
K: "x ~ x!3 ~ x!2 ~ x!3 ~ x!2 ~ x!2 ~ x!3 ~ x", L: "x ~ x!3 ~ x!2 ~ x!3 ~ x!2 ~ x!3 ~ x!2 ~ x",
M: "x!2 ~ x!2 ~ x!3 ~ x!2 ~ x!2 ~ x!3 ~ x!2 ~ x", N: "x!2 ~ x!2 ~ x!3 ~ x!2 ~ x!3 ~ x!2 ~ x!3 ~",
O: "x!2 ~ x!3 ~ x!2 ~ x!2 ~ x!3 ~ x!2 ~ x!3 ~", P: "x!2 ~ x!3 ~ x!2 ~ x!3 ~ x!2 ~ x!3 ~ x!2 ~",
Q: "x!3 ~ x!2 ~ x!2 ~ x!3 ~ x!2 ~ x!3 ~ x!2 ~", R: "x!3 ~ x!2 ~ x!3 ~ x!2 ~ x!3 ~ x!2 ~ x!3",
S: "~ x!2 ~ x!2 ~ x!3 ~ x!2 ~ x!3 ~ x!2 ~ x!3", T: "~ x!2 ~ x!3 ~ x!2 ~ x!3 ~ x!2 ~ x!3 ~ x!2",
U: "~ x!3 ~ x!2 ~ x!3 ~ x!2 ~ x!3 ~ x!2 ~ x!2",
})).gain(0.3)
// drums · bell tree
const bell_tree = s("marktrees:0").struct("<~@13 [~@3 x ~@4] ~@23 x ~@43 [~@5 x ~@18] ~@2>").gain(1.77)
stack(marimba, steel_drums, piano, kick, rim, hihat, crash, ride, bongos, bongos_2, shaker, bell_tree)
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.