0:00/0:00
// Proud Mary — Ike & Tina Turner
// 120 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 100 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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, A@4 for four bars: edit a riff to change every repeat.
// bass · acoustic bass · "ACOU BASS"
const bass = note(`<
~ A@2 B C D@2 E@2 D@2 F@3 G H I J K F D@2 L@2 D@2 L F M@2 G H I J N F D@2 L A@2 O P Q@2 R@2 S@2 T U V G H I J K W@3 V
A@2 O C X@2 Y@2 Z@2 AA@2 V G H I J K AB@2 AC U T@2 V@2 AD T V AE AF Q@2 T A@2 B AG@2
>`.pickRestart({
A: "c3@5 ~ a2 ~ a2@7 ~", B: "c3@6 a2@4 g2@3 ~ f2@2", C: "~@2 f2 ~ f2 ~ f2 ~ f2@3 ~ f2@3 ~",
D: "[d3@5 ~ d3 ~ d3@2 a2@2 b2@2 d3@7 ~ d3 ~ d3@2 a2@2 b2@2 d3 ~]/2",
E: "[d3@5 ~ d3 ~ d3@2 a2@2 b2@2 d3@7 ~ d3 ~ d3@2 a2@2 b2@2 d3 ~, ~@10 b2 ~@21]/2",
F: "d3@5 ~ d3 ~ d3@2 a2@2 b2@2 d3 ~", G: "d3@5 ~ d3 ~ d3@2 f#2@2 g2@2 g#2@2", H: "a2@5 ~ a2@2 e2@5 ~ e2@2",
I: "a2@5 ~ a2@4 e2@2 f#2@2 a2@2", J: "b2@5 ~ b2@2 f#2@5 ~ f#2@2", K: "b2@5 ~ b2@4 f#2@2 a2@2 b2@2",
L: "d3@5 ~ d3 ~ d3@2 a2@2 b2@2 a2@2", M: "[d3@5 ~ d3 ~ d3@2 a2@2 b2@2 d3@7 ~ d3 ~ d3@2 a2@2 b2@2 a2@2]/2",
N: "b2@5 ~ b2@4 a2@2 b2@2 a2@2", O: "c3@6 a2@3 ~ g2@3 ~ f2@2", P: "~@2 f2 ~ f2 ~ f2 ~ f2@2 ~@2 f2@3 ~",
Q: "[d3@5 ~ d3@4 a2@2 b2@2 d3@7 ~ d3@4 a2@2 b2@2 a2@2]/2",
R: "[d3@5 ~ d3@4 a2@2 b2@2 d3@7 ~ d3 ~ d3@2 a2@2 b2@2 d3 ~]/2",
S: "[d3@5 ~ d3@4 a2@2 b2@2 d3@7 ~ d3@4 a2@2 b2@3 ~]/2", T: "d3@5 ~ d3@4 a2@2 b2@2 d3 ~", U: "d3@5 ~ d3@4 a2@2 b2@4",
V: "d3@5 ~ d3@4 a2@2 b2@2 a2@2", W: "[d3@5 ~ d3@4 a2@2 b2@2 d3@7 ~ d3@4 a2@2 b2@2 d3@7 ~ d3@4 a2@2 b2@2 a2@2]/3",
X: "[d3@5 ~ d3@4 a2@2 b2@2 d3@7 ~ d3@2 a2@2 b2@2 d3@2 b2@2]/2",
Y: "[d3@5 ~ d3 ~ d3@2 a2@2 b2@2 d3@7 ~ d3@4 a2@2 b2@2 a2@2]/2",
Z: "[d3@5 ~ d3 ~ d3@2 a2@2 b2@2 d3@7 ~ d3@4 a2@2 b2@3 ~]/2",
AA: "[d3@5 ~ d3 ~ d3@2 a2@2 b2@2 d3@7 ~ d3@6 ~@2 d3 ~]/2", AB: "[d3@5 ~ d3@4 a2@2 b2@2 d3@7 ~ d3@4 a2@2 b2@2 d3 ~]/2",
AC: "d3@5 ~ d3@3 ~ d3@2 a2@2 b2@2", AD: "d3@5 ~ d3@4 a2@2 b2@2 d3@2", AE: "d3@5 ~ d3@4 b2@2 a2@2 b2@2",
AF: "d3@5 ~ d3@4 a2@2 b2@2 a2 ~", AG: "[~@2 f2 ~ f2 ~ f2 ~ f2@2 ~@2 d2@13 ~@7]/2",
})).s("gm_acoustic_bass").gain(0.48)
// chords · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note(`<
~@18 A@2 ~ B C ~@11 A@2 ~ B C ~@6 D E F G H I J K L M N O ~@2 B C ~@17 P Q ~ B R ~@2 B S@2 ~ B C ~@2 B T U V W X@2
>`.pickRestart({
A: "[~@2 b4@2 d5@2 e5 ~ [e5,f#5]@2 e5@2 d5@2 e5@4 f#5@11 ~@3]/2", B: "~@7 [f#5,a5]",
C: "~@2 [f#5,a5]@2 [e5,g5]@2 [d5,f#5]@2 [e5,g5]@4 [d5,f#5]@3 ~", // F#m Em D Em D
D: "~@2 f#4 d5@2 f#4 d5 ~ [g4,e5] ~ [f#4,d5]@3 ~ [g4,e5] ~", E: "[g#4,f5] ~ [a4,f#5]@13 ~",
F: "~@2 f#4 d5@2 f#4 d5 f#4 [g4,e5]@2 [f#4,d5]@4 [g4,e5]@2", G: "[f#4,d5]@3 ~",
H: "~@2 f#4 d5@2 ~ d5 ~ [g4,e5]@2 [f#4,d5]@4 [g4,e5] ~, ~@5 f#4@2 ~@9", I: "[g#4,f5]@3 [a4,f#5]@10 ~@3",
J: "~@2 f#4 d5@2 f#4 d5 ~ [g4,e5]@2 ~ [f#4,d5]@2 ~ [g4,e5] ~", K: "~ f#4@12 ~@3, d5@13 ~@3",
L: "a4 ~@2 a4!2 ~ b4 ~ c#5!2 ~ c#5!2 ~ d5 ~", M: "c#5!2 ~ c#5!2 ~ b4 ~ a4@8",
N: "b4!2 ~ b4!2 ~ c#5 ~ d5!2 ~ d5!2 ~ e5 ~", O: "d5!2 ~ d5 d5@2 c#5@2 b4@6 ~@2", P: "~ b4 d5 e5 f5 e5 d5 b4",
Q: "e5@2 f#5@11 ~@3", R: "~ [f#5,a5] [e5,g5] [d5,f#5] [e5,g5]@2 [d5,f#5]@2",
S: "[~@2 [f#5,a5]@2 [e5,g5]@2 [d5,f#5]@2 [e5,g5]@4 [d5,f#5]@7 ~@13]/2", // F#m Em D Em D
T: "~@2 [f#5,a5]@2 [e5,g5]@2 [d5,f#5]@2 [e5,g5]@4 [d5,f#5] ~@3", U: "[e4,g4,c5]@5 ~ [c#4,e4,a4]@8 ~@2",
V: "[e4,g4,c5]@5 ~ [c#4,e4,a4]@7 ~@3", W: "[e4,g4,c5]@5 ~ [c#4,e4,a4] ~@3 [b3,d4,g4]@2 ~@2 [a3,c4,f4]@2",
X: "[~@2 [a3,c4,f4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~@3 [d3,a3,d4]@20]/2", // F D5
})).s("gm_overdriven_guitar").gain(0.44)
// chords · brass section · "BRASS 1"
const brass_section = note(`<
~ A@2 B@2 C ~@15 D E ~@14 D F G H I@2 J@2 ~@14 D K L H M@2 N@2 ~@14 D E ~@2 D E ~@2 D E ~@2 D O H P Q@3
>`.pickRestart({
A: "[e5,g5,c6]@3 ~ [e5,g5,c6] ~ [c#5,e5,a5]@9 ~", // C A
B: "[[e5,g5,c6]@3 ~ [e5,g5,c6] ~ [c#5,e5,a5]@3 ~ [d5,g5,b5]@3 ~ [f5,a5,c6]@9 ~ [f5,a5,c6]@2 ~@2 [f5,a5,c6]@2 ~@2, ~@28 b5 ~@3]/2", // C A G F
C: "[f#5,a5,d6]", D: "~@7 [a4,f#5]", E: "~ f#5 [g4,e5] [f#4,d5] [g4,e5]@2 [f#4,d5]@2, ~@2 a4 ~@13",
F: "~@2 f#5@2 [g4,e5]@2 [f#4,d5]@2 [g4,e5]@4 [f#4,d5]@3 ~, ~@2 a4 ~@13", // C D C D
G: "[e5,g5,c6] ~ [e5,g5,c6] [e5,a5]@4 ~, ~@3 c#5@3 ~@2", // C A5
H: "[e5,g5,c6]@2 ~@2 [e5,g5,c6]@2 [e5,a5]@9 ~, ~@6 c#5@7 ~@3", // C A5
I: "[[e5,g5,c6] ~ [e5,g5,c6] ~ [e5,g5,c6] ~ [c#5,e5,a5]@2 ~@2 [d5,g5,b5]@2 ~@2 [f5,a5,c6]@12 ~@2 [f5,a5,c6]@2 ~@2]/2", // C A G F
J: "[[f#5,a5,d6]@3 ~]/2", K: "~@2 [a4,f#5]@2 [g4,e5]@2 [f#4,d5]@2 [g4,e5]@4 [f#4,d5]@3 ~",
L: "[e5,g5,c6]@5 ~ [c#5,e5,a5]@8 ~@2", // C A
M: "[[e5,g5,c6] ~ [e5,g5,c6] ~ [e5,g5,c6] ~ [c#5,e5,a5]@2 ~@2 [d5,g5,b5]@2 ~@2 [f5,a5,c6]@12 ~@2 [f5,a5,c6]@3 ~]/2", // C A G F
N: "[[f#5,a5,d6]@21 ~@11]/2", O: "~ [a4,f#5] [g4,e5] [f#4,d5] [g4,e5]@2 f#4 ~, ~@12 d5 ~@3",
P: "[e5,g5,c6]@2 ~@2 [e5,g5,c6]@2 [c#5,e5,a5]@9 ~", // C A
Q: "[[e5,g5,c6] ~ [e5,g5,c6] ~ [e5,g5,c6] ~ [c#5,e5,a5]@2 ~@2 [b4,d5,g5]@2 ~@2 [f5,a5,c6]@9 ~ [f5,a5,c6]@2 ~@2 [d5,f#5,d6]@7 ~@13]/3", // C A G F D
})).s("gm_brass_section").gain(0.45)
// chords · piano · "A.PIANO 2"
const piano = note(`<
~ A@2 B C D@2 E@7 F G@2 H@5 I@2 E@6 J K@8 L@2 M@2 N@2 O E@3 P E P Q R@4 S@3 T L@2 U@2 V@2 W E@6 X Y Z AA@2 AB@3 AC@4
AD@4 AE@4 AF L@2 AG@3
>`.pickRestart({
A: "[c3,e4]@5 ~ [a2,c#4,e4,a4]@7 ~@3, [g4,c5]@3 ~@13", // C A C5
B: "[c3,e4]@5 ~ [a2,e4]@2 ~@2 [g2,d4,g4,b4]@3 ~ [f2,f4,a4,c5]@2, [g4,c5]@3 ~@3 [c#4,a4] ~@9", // C A5 G F C5 F#m
C: "~@2 [f2,f4,a4,c5] ~ [f2,f4,a4,c5] ~ [f2,f4,a4,c5] ~ [f2,c5]@2 ~@2 [f2,f4,a4,c5] ~@3, ~@8 [f4,a4] ~@7", // F F5 F
D: "[[f#4,a4,d5]@4 ~@17 e4 ~@2 d5@6 ~@2, d2@6 d4@4 a3@5 ~, ~@4 d3@10 f#4@6 ~@2 f#4@9 ~, ~@10 a3@8 d3@13 ~]/2", // D
E: "~@4 [a3,d4,f#4] ~ [a3,d4,f#4] ~@5 [a3,d4,f#4] ~ [a3,d4,f#4] ~", // D
F: "~@4 [a3,d4,f#4] ~ [a3,d4,f#4] ~ [d4,f#4] ~ [a3,d4,f#4] ~@3 a3 ~", // D
G: "[~@4 a3@2 ~ a2@3 ~ b3 ~ a4@3, [c#4,e4]@15 ~@9 c#4@8, a3@4 e3@10 ~@7 e3@9 ~@2, ~ a2@5 ~@4 a2@4 ~@2]/2", // C#m
H: "[~@10 f4 ~@3 d4@15 ~@13 d4@3 ~@13 d4@2 ~@2 [f#4,a4]@3 ~ [f#4,a4]@2 [e4,g4]@2 [d4,f#4]@2 [e4,g4]@4 d4@2 [f#4,a4]@2, ~ f#3@13 ~@2 [d3,f#4]@7 ~ d3@6 ~@10, ~@4 b3@22 ~@4 d4@10 ~@6 d4@11 ~@5 a3@14 ~@4, ~@11 f#4@19 ~@4 [f#3,a4]@12 ~@6 a3@8 f#3@16 ~@4, ~@12 b4@18 ~@8 a3@9 ~@3 a4@11 ~@15 f#4 ~@3]/5", // F#m Em D Em F#m D F#m
I: "[~@2 [f#4,a4]@2 [e4,g4]@2 [d4,f#4] ~ [e4,g4]@4 [a3,d4,f#4]@6 d4 ~@9 [a3,d4,f#4] ~ [a3,d4,f#4] ~, d3@17 ~@15, ~@4 f#3@5 ~@7]/2", // F#m Em D Em D
J: "~@4 [a3,d4,f#4] ~ [a3,d4,f#4] ~@9", // D
K: "[~@4 [a3,c#4,e4]@6 ~@4 a3@3 ~@5 a4@8 ~@4 [f3,f#3] ~@5 [f4,b4]@2 [f#4,b4]@4 [f4,b4]@2 ~@10 d3@3 ~@21 d4@4 f#4@6 d4 ~ [d4,f#4]@2 ~@2 [d4,f#4]@2 e4@2 d4@2 e4@4 d4 ~ [f#4,a4]@2 ~@2 [f#4,a4]@2 [e4,g4]@2 [d4,f#4] ~ [e4,g4]@4 [d4,f#4] ~@3, ~@10 a2@17 ~@27 b3@7 ~@3 f#3@6 d4@8 f#3@15 d3@13 ~@4 d3@11 ~@7, ~@12 e3@5 ~ e3@10 ~@8 f#3@25 ~ d3@8 f#4@10 a3@13 ~ f#3@12 ~@6 f#3@9 ~@7, ~@19 b3@2 ~@9 b3@4 ~@4 b3@9 ~@5 d4@14 a3@10 d3@10 d4@5 ~@5 a3@10 ~@10 a3@5 ~@7, ~@20 c#4@10 ~@2 [d4,f#4]@5 ~@9 f#4 ~ [f#4,b4]@12 ~@10 a4@39 ~@19]/8", // A F#maj7 Fdim B5 Fdim D F#m Em …
L: "[c4,e4,g4,c5]@2 ~ [a3,c#4,e4,a4]@3 ~@2", // C A
M: "[[c4,e4,g4,c5]@4 ~@2 [a3,c#4]@2 ~@2 [g3,b3,d4,g4]@2 ~@2 [f3,c4,f4,a4]@4 [f3,c4,f4,a4] ~ [f3,c4,f4,a4] ~ [f3,c4,f4,a4] ~ [f3,c4,f4,a4] ~@3 [f3,c4,f4,a4] ~@3, ~@6 [e4,a4] ~@25]/2", // C A G F A5
N: "[a3@4 ~@6 d4@2 ~@4 e4 ~ d5@4 ~@3 e4 ~@2 d4@4, [f#4,a4]@13 ~@4 f#4@8 ~ f#4@6, d3@11 ~ d3@9 ~ d3@10, d4@3 a3@3 ~ a3@4 ~ a3@4, ~ f#3@2 ~@5]/2", // F#m
O: "~@2 [d4,f#4] ~ [a3,b3,d4,f#4] ~ [a3,d4,f#4] ~@5 [a3,d4,f#4] ~ [a3,d4,f#4] ~", // D Bm7 D
P: "~@4 [a3,d4,f#4] ~ [a3,d4,f#4] ~@5 [a3,d4,f#4] ~@3", Q: "~@4 [a3,d4,f#4] ~ [a3,d4,f#4] ~@3 [a3,d4,f#4]@4 a3 ~",
R: "[~@2 a2 ~@5 a3@3 ~@9 a4@10 ~@6 b3 ~ d4@2 [f4,b4]@2 ~@18 [d4,f#4]@2 ~@2, [c#4,e4]@14 ~@3 b3@2 ~@11 b3@6 ~@10 d4@10 ~@2 b3@4 ~@2, a3@6 e3@8 ~@2 e3@13 ~@6 f#3@16 ~@5 f#3@7 ~, ~@4 a2@8 ~@2 a2@14 ~@3 b2@3 ~@20 d3@8 ~@2, ~@18 c#4@12 ~@2 d4@5 ~@5 [f#4,b4]@13 ~@9]/4", // Fdim D C#m B5
S: "[d4@10 ~@2 d4 ~ d4@5 ~@3 d3@2 ~@6 [f#4,a4]@3 ~ [f#4,a4]@2 [e4,g4]@2 [d4,f#4] ~ [e4,g4]@4 [d4,f#4] ~ [a3,f#4,a4]@2, [a3,f#4]@13 ~ f#4@14 ~@20, ~@10 f#3@12 ~@2 f#3@13 ~@11, ~@14 a3@9 ~@5 a3@9 ~@11, ~@20 d4@5 ~ d4@4 ~@18]/3", // F#m Em D Em D
T: "~@2 [f#4,a4]@2 [g3,g4] ~ [f#3,d4,f#4] ~ [g3,e4,g4]@4 [f#3,d4,f#4] ~@3, ~@2 a3 ~ e4@2 ~@10", // F#m G D C D
U: "[[c4,e4,g4,c5]@3 ~@3 [a3,c#4,e4,a4]@2 ~@2 [g3,b3]@2 ~@2 [f3,a3,c4,f4]@5 ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@2 ~@2 [f3,c4]@2 ~@2, ~@10 [d4,g4] ~@17 [a3,f4] ~@3]/2", // C A G F F5 G5 Dm
V: "[[a3,d4,f#4]@2 ~@2 a3@6 ~@8 e4 ~@7 e4 ~ d4@4, d3@9 ~ d3@10 d5@9 ~@3, ~@2 f#3@8 ~@2 f#3@11 ~@9, ~@14 a3@9 ~@9, ~@19 f#4@7 ~ f#4@3 ~@2]/2", // D
W: "~@2 f#4 ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~@5 [a3,d4,f#4] ~ [a3,d4,f#4] ~", // D
X: "~@4 [a3,d4,f#4] ~ [a3,d4,f#4] ~@5 [a3,d4,f#4]@3 ~", Y: "~@4 [a3,c#4,e4] ~ [a3,c#4,e4]@10",
Z: "~@4 b3 ~ a4@10, a2@3 ~, ~@2 e3@11 ~@3, ~@5 c#4@11",
AA: "[~@8 [f4,b4]@2 a#4 ~@11 b3@8 ~@2, b2@10 [f#4,b4]@13 ~@9, ~@2 d3@9 ~@3 d4@8 ~@10, ~@6 f#3@12 d3@9 ~@5, ~@20 f#3@11 ~]/2", // Fdim B5
AB: "[~@4 f#3@6 ~@2 e4@2 ~@8 d4@3 ~ d4@2 ~@2 [d4,f#4]@3 ~ [d4,f#4]@2 e4@2 d4@2 e4@4 d4@2 [a3,f#4,a4]@2, ~@4 [a3,d4,f#4]@8 a4@33 ~@3, ~@10 d3@27 ~@11, ~@14 f#4@15 ~ a3@7 ~@11, ~@14 d4@4 f#3@2 a3@7 ~ f#3@9 ~@11]/3", // D
AC: "[~@2 [a3,f#4] ~ [g3,e4,g4]@2 [f#3,d4] ~ [g3,e4,g4]@4 [f#3,d4,f#4] ~ [f#3,a3]@6 ~@6 d4@2 ~@2 d4@7 ~@9 [d4,f#4]@3 ~ [d4,f#4]@2 e4@2 d4@2 e4@4 d4@2 [a3,f#4,a4]@2, ~@2 a4@2 ~@2 f#4@2 ~@6 f#4@14 ~@2 f#4@15 ~@19, ~@14 d4@10 a3@5 ~ a3@12 f#3@20 ~@2, ~@14 d3@5 ~ d3@9 ~@35, ~@11 f#3@3 f#3@4 ~ d4@3 a3@8 ~@2]/4", // D C D C D F#m D
AD: "[~@2 [a3,f#4] ~ [e4,g4]@2 [d4,f#4] ~ [g3,e4,g4]@4 [f#3,d4,f#4] ~ d4@7 ~ d4@3 ~ d4@3 ~ d4@6 ~@6 d4@3 ~ [d4,f#4]@3 ~ [d4,f#4]@2 [g3,e4]@2 [f#3,d4]@2 [g3,e4]@4 f#3@2 [a3,f#4,a4]@2, ~@2 a4@2 g3 ~ f#3@2 ~@6 [f#3,a3,f#4]@15 ~ [f#3,a3]@15 ~ [f#3,a3]@6 ~@12, ~@30 f#4@8 f#4@7 ~@19, ~@36 d4@5 ~@19 d4 ~@3]/4", // D Em D C D C D C …
AE: "[~@2 [a3,a4]@2 [g3,e4,g4]@2 [d4,f#4] ~ [g3,e4,g4]@4 [f#3,d4,f#4] ~ [f#3,a3,d4,f#4]@15 ~ [f#3,d4,f#4]@15 ~ [d4,f#4]@3 ~ d4@2 e4@2 d4@2 e4@4 d4 ~ [a3,f#4,a4]@2, ~@2 f#4 ~@3 f#3@2 ~@22 a3@12 ~@4 [f#3,a3]@14 ~@2 f#3 ~, ~@50 f#4@11 ~@3]/4", // A C D C D F#m
AF: "~@2 [a3,f#4,a4] ~ [g3,e4,g4] ~ [f#3,d4,f#4] ~ [g3,e4,g4]@3 ~ [f#3,d4,f#4] ~@3", // D C D C D
AG: "[[c4,e4,g4,c5]@4 ~@2 [a3,c#4,e4,a4]@2 ~@2 [g3,b3,d4,g4]@2 ~@2 [f3,c4,f4,a4]@7 ~ [f3,c4,f4,a4] ~ [f3,c4,f4,a4] ~ a3 ~ [d3,a3,f#4,a4,d5]@20]/3", // C A G F D
})).s("gm_piano").gain(0.4)
// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
~ A@2 B@2 C@8 ~@2 D@2 E@2 C@8 ~@4 D@2 E@2 F@4 A@2 B@2 C@8 ~@2 D@2 E@2 F@4 A G H@2 C@8 ~@2 D@2 E@2 C@8 ~@8 A@2 I@3
>`.pickRestart({
A: "[e4,g4,c5]@5 ~ [c#4,e4,a4]@9 ~", B: "[[e4,g4,c5]@5 ~ [c#4,e4,a4]@4 [b3,d4,g4]@3 ~ [a3,c4,f4]@16 ~@2]/2",
C: "[a3,d4,f#4]/8", D: "[a3,c#4,e4]/2", E: "[[b3,d4,f#4]@31 ~]/2", F: "[[a3,d4,f#4]@61 ~@3]/4",
G: "[e4,g4,c5]@6 [c#4,e4,a4]@9 ~, c#4 ~@15", // C A
H: "[[e4,g4,c5]@6 [c#4,e4,a4]@4 [b3,d4,g4]@3 ~ [a3,c4,f4]@12 ~@2 [a3,c4,f4]@3 ~]/2", // C A G F
I: "[[e4,g4,c5]@6 [c#4,e4,a4]@4 [b3,d4,g4]@3 ~ [a3,c4,f4]@12 ~@2 [d3,a3,d4,f#4]@19 ~]/3", // C A G F D
})).s("gm_string_ensemble_1").gain(0.4)
// chords · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
~ A B C D E F G H E@6 I@2 J@2 E@10 K F I@2 J@2 E@3 L M B C D E@5 N E@3 O I P J@2 E@3 Q B A R D E@9 S I@2 J@2 E@13 T F
Q B A R U ~
>`.pickRestart({
A: "[e5,g5,c6]@5 ~ [c#5,e5,a5]@9 ~", B: "[e5,g5,c6]@3 ~ [e5,g5,c6] ~ [c#5,e5,a5]@9 ~",
C: "[e5,g5,c6]@5 ~ [c#5,e5,a5]@2 ~@2 [b4,d5,g5]@2 ~@2 [a4,c5,f5]@2", // C A G F
D: "~@2 [a4,c5,f5] ~ [a4,c5,f5] ~ [a4,c5,f5] ~ [a4,c5,f5]@2 ~@2 [a4,c5,f5] ~@3", // F
E: "[a4,d5,f#5] ~ [a4,d5,f#5]@2 ~@2 [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5]@2 ~@2 [a4,d5,f#5] ~", // D
F: "[a4,d5,f#5] ~ [a4,d5,f#5]@2 ~@2 [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~", // D
G: "[a4,d5,f#5] ~ [a4,d5,f#5] ~@3 [a4,d5,f#5]@2 [a4,d5,f#5] ~ [a4,d5,f#5] ~@3 [a4,d5,f#5] ~", // D
H: "[a4,d5,f#5] ~ [a4,d5,f#5] ~@3 [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~@3 [a4,d5,f#5] ~", // D
I: "[a4,c#5,e5] ~ [a4,c#5,e5]@3 ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5]@3 ~ [a4,c#5,e5] ~", // A
J: "[b4,d5,f#5] ~ [b4,d5,f#5]@2 ~@2 [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5]@2 ~@2 [b4,d5,f#5] ~", // Bm
K: "~@2 [a4,d5,f#5]@2 ~@2 [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5]@3 ~ [a4,d5,f#5] ~", // D
L: "[a4,d5,f#5] ~ [a4,d5,f#5]@2 ~@2 [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5]@3 ~@3", // D
M: "[e5,g5,c6] ~ [e5,g5,c6]@3 ~ [c#5,e5,a5]@9 ~", // C A
N: "[a4,d5,f#5] ~ [a4,d5,f#5]@2 ~@2 [a4,d5,f#5]@3 ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~", // D
O: "[a4,d5,f#5] ~ [a4,d5,f#5]@2 ~@2 [a4,d5,f#5]@3 ~ [a4,d5,f#5]@3 ~ [a4,d5,f#5] ~", // D
P: "[a4,c#5,e5] ~ [a4,c#5,e5]@3 ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5]@2 ~@2 [a4,c#5,e5] ~", // A
Q: "[a4,d5,f#5] ~ [a4,d5,f#5]@3 ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5]@4 ~@2", // D
R: "[e5,g5,c6]@3 ~ [e5,g5,c6] ~ [c#5,e5,a5]@3 ~ [b4,d5,g5]@2 ~@2 [a4,c5,f5]@2", // C A G F
S: "[a4,d5,f#5] ~ [a4,d5,f#5]@2 ~@2 [a4,d5,f#5] ~@3 [a4,d5,f#5]@2 ~@2 [a4,d5,f#5] ~", // D
T: "[a4,d5,f#5] ~ [a4,d5,f#5] ~@3 [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5]@2 ~@2 [a4,d5,f#5] ~", // D
U: "~@2 [a4,c5,f5] ~ [a4,c5,f5] ~ [a4,c5,f5] ~ [a4,c5,f5] ~@3 [a4,d5,f#5]@4", // F D
})).s("gm_electric_guitar_muted").gain(0.32)
// drums · kick
const kick = s("bd").struct("<~ A@3 B C@34 A@3 B C@18 A@4 C@30 A@3 B ~>".pickRestart({
A: "x ~@2 x!2 ~@3", B: "x ~@2 x!2 ~ x ~", C: "x ~@3 x!2 ~ x",
})).gain(0.48)
// drums · snare
const snare = s("sd").struct(`<
A B C D E C F D C D C@4 G D H D C D C D I C D C@3 D@2 J D K D@5 L C@3 M D H C@3 D C@2 D N D O D@3 C@2 P Q C@2 F D R
D@2 C@2 D@3 R D H D@2 C D C S C D C T D@3 I D@3 I Q B C U ~
>`.pickRestart({
A: "~@8 x ~@2 x!2 ~@3", B: "~@4 x ~@7 x ~@2 x", C: "~ x ~ x", D: "~@4 x ~@2 x ~@4 x ~@3", E: "~@4 x ~@6 x!5",
F: "~@4 x ~@2 x!5 ~@4", G: "~ x ~@2", H: "~@4 x ~@2 x!4 ~@5", I: "~@4 x ~@2 x!4 ~ x!2 ~@2",
J: "~@4 x ~@2 x ~ x!2 ~@5", K: "~@4 x ~@2 x ~@8", L: "~@4 x ~@2 x!2 ~ x ~ x!2 ~@2", M: "~@4 x ~ x!7 ~@3",
N: "~@4 x ~@2 x ~@2 x ~ x!2 ~@2", O: "~@4 x ~@5 x ~ x!2 ~@2", P: "~@4 x ~@2 x ~@4 x!3 ~", Q: "~@4 x ~@7 x!3 ~",
R: "~@4 x ~@2 x ~@2 x!2 ~@4", S: "~@4 x ~@5 x!3 ~ x!2", T: "~@4 x ~@2 x ~@2 x ~ x!2 ~ x", U: "~@4 x ~ x!3 ~@3 x ~@3",
})).gain(0.48)
// drums · snare · soft notes
const snare_soft = s("sd").struct(`<
~@4 A B ~@2 B ~ B@5 ~@3 B ~ B ~@2 B ~ B@3 ~@2 C ~@14 B@3 ~ B@2 ~@3 B ~@3 B@2 ~@4 D ~@4 B@2 ~@8 B ~ B@3 ~ B ~@14
>`.pickRestart({
A: "~@5 x ~@2", B: "~@7 x ~@8", C: "~ x", D: "~@3 x ~@4",
})).gain(0.32)
// drums · low tom
const low_tom = s("lt").struct("<~@6 A ~@7 B ~ A ~@13 A ~ C ~@11 A ~@21 A ~@7 A ~ B ~@23>".pickRestart({
A: "~@15 x", B: "~@7 x", C: "~@14 x!2",
})).gain(0.48)
// drums · hihat
const hihat = s("hh").struct(`<
~ A@3 B A C A@7 D A D A@5 D A@7 C A@7 D A@3 B A C A@7 D A D A@9 B A E A@7 D A E A F A@7 G A@3 D A@3 D A@3 B ~
>`.pickRestart({
A: "x!8", B: "x!5 ~ x ~", C: "x!6 ~@2", D: "x!4 ~@4", E: "x!5 ~@3", F: "x!6 ~ x", G: "x!4 ~ x ~@2",
})).gain(0.4)
// drums · mid tom
const mid_tom = s("mt").struct(`<
A ~@5 A ~@7 B ~ A ~@5 A ~@7 A ~ C ~@11 A ~@21 A ~@7 A ~ D ~@13 A ~@3 A ~@5
>`.pickRestart({
A: "~@7 x", B: "~@12 x!2 ~@2", C: "~@3 x", D: "~@13 x ~@2",
})).gain(0.48)
// drums · high tom
const high_tom = s("ht").struct("<~@6 A ~@7 B ~ A ~@13 C ~ B ~@11 C ~@7 D ~ D ~@11 C ~@7 C ~ C ~@23>".pickRestart({
A: "~@12 x!2 ~@2", B: "~@4 x!2 ~@2", C: "~@3 x", D: "~@7 x",
})).gain(0.48)
// drums · crash
const crash = s("cr").struct(`<
~ A@3 ~ B ~ B ~@7 B ~ B ~@5 B ~@7 B ~ B ~@5 A@3 ~ B ~ B ~@7 B ~@7 A@3 ~ B ~ B ~@7 B ~ B ~@5 B ~@3 B ~@3 B ~@3 A@3 C ~
>`.pickRestart({
A: "x ~@2 x ~@4", B: "x", C: "~@3 x",
// … 6 more lines
More by Ike & Tina Turner
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.