0:00/0:00
// Fotografie — Pooh
// 124 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 118 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(124/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 · fretless bass
const bass = note(`<
~@11 A@2 B C D E F G H I@2 J K L@2 M N O@2 P Q O@2 P R S T U V W A@2 B C D E F G H I@2 J K L@2 M N O@2 P Q O@2 P R S T
U V W A@2 B C D E F G H I@2 J K L@2 M N O@2 P Q O@2 P R S T U X O@2 P Q O@2 P R S T U X Y@2 Z@2 AA@2
>`.pickRestart({
A: "[~@10 d2 ~ d2 ~ d2@14 d1@2 d#1@2, d1@27 ~@5]/2", B: "e1@11 ~ e1@2 f#1@2", C: "g1@6 g2 g1", D: "f#1 b1",
E: "~ b1!2 b1@2 f#2 b1 f#1", F: "e1@4 e2 b1 e1@2", G: "f#1@5 f#2 f#1@2", H: "g1@9 ~ g1@2 g1@2 g#1@2",
I: "[a1@10 e2@2 a2 ~ a2@10 a1@4 a1@4]/2", J: "b1@5 ~ b1 ~@5 f#1@2 b1 ~", K: "b1 ~ b1@2 ~@4 b1@7 ~",
L: "[g1@6 d2@2 d2@6 g2@4 d2@4 g1 ~ g1@4 d2@3 ~]/2", M: "b1@3 b1@4 ~", N: "b1@5 ~ b1@2 a1@4 b1@3 ~",
O: "[e1@6 b1 ~ b1@6 e2@8 b1@2 e1@3 ~ e1@4]/2", P: "a1@6 e2 ~ e2@6 a1 ~", Q: "a1@7 ~ a1@4 b1@3 ~",
R: "a1@5 ~ a1@2 a1@4 a1@3 ~", S: "f#1@6 c#2 ~ c#2@4 f#1@4", T: "g#1@6 d#2 ~ d#2@4 g#1@3 ~", U: "a1@6 a1 ~ a1@8",
V: "b1@6 b1 ~ b1@8", W: "g1@15 ~", X: "b1@5 ~ b1@2 a1@4 b1@4", Y: "[e1@6 b1 ~ b1@4 e1@6 b1 ~ b1@4 a1@4 b1@3 ~]/2",
Z: "[e1@6 b1 ~ b1@4 e1@6 b1 ~ b1@4 c2@3 ~ d2@2 ~@2]/2", AA: "[d2@2 e2@2 e2 ~ [e1,e2]@26]/2",
})).s("gm_fretless_bass").gain(0.46)
// chords · string ensemble 2
const string_ensemble_2 = note(`<
~@28 A@2 B@2 A@2 C@2 D E@2 F ~@18 A@2 B@2 A@2 C@2 D E@2 F ~@18 A@2 B@2 A@2 G@3 E@2 F A@2 B@2 A@2 G@3 E@2 F H@2 I@2 ~@2
>`.pickRestart({
A: "[e4 d#4, g#4]/2", B: "[[c#4,e4]@6 [c#4,e4] [d#4,f#4]]/2", C: "[c#4,e4]/2", D: "[a3,c#4]", E: "[b3 c#4, e4]/2",
F: "[d#4,f#4]", G: "[e4@2 a3, c#4]/3", H: "[[e4,g#4]@6 [a3,c#4] [b3,d#4]]/2",
I: "[[e4,g#4]@12 [c4,e4] ~ [d4,f#4] ~]/2", // E C D
})).s("gm_string_ensemble_2").gain(0.3)
// chords · electric guitar clean
const electric_guitar_clean = note(`<
~@27 A@3 B@4 C@6 D ~@16 E@3 F@4 G@6 D ~@16 H@3 I@4 J@8 I@4 K@6 L@2 M@2 N@2
>`.pickRestart({
A: "[~@8 e3@7 ~ [e3,b3]@8, ~@14 g#4@15 ~@19, ~@15 [b3,e4]@14 ~@2 [d#4,g#4]@17]/3", // E5 G#5
B: "[a3@5 ~@5 a4@2 ~@4 a2@6 a2 ~ [a2,a3,c#4]@4 [b2,b3,d#4]@2 ~@2 e3@14 ~@2 b3@16, a2@14 c#4@9 ~@8 [b3,e4]@14 ~@2 [d#4,g#4]@17, c#4@12 e4@10 ~@8 g#4@15 ~@19, ~@8 a3@7 ~ a3@4 ~@28 e3@14 ~@2]/4", // A B E5 G#5
C: "[a3@5 ~@5 a4@2 ~@2 c#4@2 c#4@6 a3@2 ~@2 c#4@2 a2@2 a3 ~@13 a3@3 ~ [d#4,f#4]@14 ~@2 [c#4,e4]@14 ~@2 [b3,d#4,f#4]@13 ~@3, a2@15 ~ a2@11 ~@4 f#2@9 ~@2 f#2@5 [g#2,b3]@15 ~ a2@16 b2@14 ~@3, c#4@12 e4@10 ~@2 a4@7 ~ a3@11 ~@20 a3@14 ~@19, ~@8 a3@7 ~ a3@3 ~@13 [c#4,e4]@14 ~@50, ~@33 f#4@14 ~@49]/6", // D#m C#m B G#m C#m
D: "[d4,f#4]@9 ~@7", E: "[~@8 e3@7 ~ b3@8, ~@14 g#4@15 ~@3 e3@14 ~@2, ~@15 [b3,e4]@14 ~@2 [d#4,g#4]@17]/3",
F: "[a3@5 ~@5 a4@2 ~@4 a2@6 a2 ~ [a2,a3,c#4]@4 [b2,b3,d#4]@2 ~@2 e3@14 ~@2 b3@16, a2@14 c#4@9 ~@8 [b3,e4]@14 ~@2 [d#4,g#4]@17, c#4@12 e4@10 ~@8 g#4@15 ~@19, ~@4 a3@4 a3@2 ~@14 e3@7 ~]/4", // A B E5 G#5
G: "[a3@5 ~@5 a4@2 ~@2 c#4@2 c#4@6 a3@2 ~@2 c#4@2 a2@2 a3 ~@13 a3@2 ~@2 [d#4,f#4]@14 ~@2 [c#4,e4]@14 ~@2 [b3,d#4,f#4]@13 ~@3, a2@15 ~ a2@11 ~@4 f#2@9 ~@2 f#2@5 [g#2,b3]@15 ~ a2@16 b2@14 ~@3, c#4@12 e4@10 ~@2 a4@7 ~ a3@11 ~@20 a3@14 ~@19, ~@8 a3@8 a3@3 ~@13 [c#4,e4]@14 ~@50, ~@33 f#4@14 ~@49]/6", // D#m C#m B G#m C#m
H: "[~@8 e3@7 ~ b3@8, ~@14 g#4@15 ~@3 e3@14 ~@2, ~@15 [b3,e4]@16 [d#4,g#4]@17]/3", // E5 G#5
I: "[a3@5 ~@5 a4@2 ~@4 a2@6 a2 ~ [a2,a3,c#4]@4 [b2,b3,d#4]@2 ~@2 e3@14 ~@2 b3@16, a2@14 c#4@9 ~@8 [b3,e4]@16 [d#4,g#4]@17, c#4@12 e4@10 ~@8 g#4@15 ~@19, ~@4 a3@4 a3@2 ~@14 e3@7 ~]/4", // A B E5 G#5
J: "[a3@5 ~@5 a4@2 ~@2 c#4 ~ c#4@6 a3@2 ~@2 c#4@2 a2@2 a3 ~@13 a3@3 ~@2 f#4@14 ~ [c#4,e4]@14 ~@2 [b3,d#4,f#4]@13 ~@3 e3@14 ~@2 b3@16, a2@15 ~ a2@11 ~@4 f#2@9 ~@2 f#2@5 g#2@15 ~ a2@16 b2@14 ~@19 e3@14 ~@2, c#4@11 ~ e4@10 ~@2 a4@7 ~ a3@11 ~@5 [b3,d#4]@14 ~ a3@14 ~@18 [b3,e4]@16 ~@17, ~@8 a3@8 a3@5 ~@11 [c#4,e4]@14 ~@65 [d#4,g#4]@17, ~@33 f#4@14 ~@47 g#4@15 ~@19]/8", // C#m B E5 C#m G#5
K: "[a3@5 ~@5 a4@2 ~@2 c#4@2 c#4@6 a3@2 ~@2 c#4@2 a2@2 a3 ~@13 a3@3 ~@2 f#4@14 ~ [c#4,e4]@14 ~@2 [b3,d#4,f#4]@13 ~@3, a2@15 ~ a2@11 ~@4 f#2@9 ~@2 f#2@5 g#2@15 ~ a2@16 b2@14 ~@3, c#4@12 e4@10 ~@2 a4@7 ~ a3@11 ~@5 [b3,d#4]@14 ~ a3@14 ~@19, ~@8 a3@7 ~ a3@3 ~@13 [c#4,e4]@14 ~@50, ~@33 f#4@14 ~@49]/6", // C#m B C#m
L: "[e3@11 ~ e3@12 [a2,a3,c#4]@4 [b2,b3,d#4]@3 ~]/2", M: "[e3@11 ~ e3@10 ~@2 [e4,g4,c5]@2 ~@2 [d4,f#4,a4]@2 ~@2]/2",
N: "[[d4,f#4,a4] ~ [e4,g#4,b4]@2 [e4,g#4,b4] ~ [e4,g#4,b4]@26]/2", // D E
})).s("gm_electric_guitar_clean").gain(0.24).pan(0.6)
// other · harmonica
const harmonica = note("<~@70 A B C D E F ~ G H I J K ~@36>".pickRestart({
A: "~@8 f#5@2 ~ a5 ~@2 d5@2", B: "c#5@3 ~", C: "~@8 f#5@2 ~ a5@2 ~ b5@2", D: "d6@6 ~ d5",
E: "f5 f#5@6 ~ f#5@2 a5 f#5 d5 ~ b4@2", F: "c#5 b4", G: "d5@7 ~ d5@2 ~ d5@2 d5@2 ~", H: "f#5@3 e5 d5@8 ~@2 b4@2",
I: "d5@2 ~ d5@2 ~ d5@2 d5@2 ~ d5@2 d5 ~@2", J: "f#5@2 a5@11 ~ b5@2, f5 ~@15", K: "a5@5 ~@3",
})).s("gm_harmonica").gain(0.43).pan(0.7)
// chords · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
~ A@2 B C D@2 E F G H A@2 B C D@2 I J K L@2 M@2 N@2 O P ~@13 A@2 B Q D@2 I J K L@2 M@2 N@2 R S ~@13 A@2 B Q D@2 I J K
T@2 U@2 N@2 O V ~@30
>`.pickRestart({
A: "[~@10 c#4 ~@4 c#4, d2@8 ~@2 d2@5 ~ d2@8 ~@2 d2@5 ~, ~@2 a3@9 ~ a3@5 ~ a3@8 ~@2 a3@4, ~@4 c#4@7 ~@3 c#4@4 ~@14, ~@3 f#4@7 ~ f#4@5]/2",
B: "~@6 g3 b3, e2@9 ~ e2@6, ~@2 g3@9 ~@5, ~@2 b3@3 ~@3, ~@3 d4@5",
C: "~@2 b3@2 ~@2 b3@4 ~@2 b3@2 d4 ~, g2@9 ~ g2@6, ~@4 d4@7 ~@5, ~@6 f#4@9 ~",
D: "[[f#2,a3,c#4]@7 ~ [b3,d4]@4 ~@2 c#4@2 ~@4 f#4@5 ~ b3@2 ~@2 b3@2, ~@8 b2@10 b2@9 ~ b2@4, ~@12 b3@13 ~@7, ~@16 d4@9 ~ [d4,f#4]@6]/2", // F#m Bm D
E: "~@5 g3 ~ g3, e2@3 d4@5, ~@2 g3@6 e2@7 ~, ~@4 b3@5 ~@3 b3@4",
F: "~@5 a3 ~ a3, f#2@8 f#2@7 ~, ~@2 a3@7 ~@7, ~@2 c#4@3 ~ c#4@2, ~@3 e4@5",
G: "~@6 [b3,f#4]@2 g2@2 ~@2 g2@2 b3 ~, g2@7 ~@9, ~@2 b3@4 ~@4 [b3,d4,e4]@5 ~, ~@4 d4@5 ~@7", H: "[g2,b3,d4,f#4] ~@7",
I: "~@5 g3 ~ g3, e2@3 d4@5, ~ g3@3 e2@4, ~@2 b3@3 ~ b3@2",
J: "~ a3 ~ a3@2 ~@2 d4, f#2@9 ~ f#2@5 ~, ~ d4@2 a3, ~@6 f#4@7 ~@3",
K: "~@7 d4, g2@4 ~ g2@3, ~@3 b3@8 ~ b3@4, ~@4 d4@7 ~@5, ~@6 f#4@9 ~",
L: "[~@20 e3@2 e4@2 [b3,d4]@3 ~ [c#4,e4]@3 ~, a4@15 ~ a4@7 ~@9, a2@8 ~@2 a2@5 ~ a2@14 ~@2, ~@4 e3@5 ~@3 e3@4 ~@16, ~@6 e4@7 ~ e4@6 ~@12]/2", // Bm C#m
M: "[[b3,d4]@4 b3@2 [b3,d4] ~@5 [a3,c#4]@2 ~@2 b3 ~ [b3,d4] ~@5 [b3,d4]@2 b3@2 d4@2 b3@2, b2@7 ~@7 d4@4 ~@14]/2", // Bm A Bm
N: "[~ b3 d4 ~@7 d4 ~@3 [b3,d4] ~, g2@8 ~@2 g2@4 g2@11 ~ g2@5 ~, ~@3 [b3,f#4]@3 [b3,d4]@3 b3@2 [b3,f#4]@3 ~@2]/2", // Bm B5 Bm B5
O: "[a3,c#4]@2 [b3,d4]@3 ~@7 b2@3 ~, b2@5 ~@3, ~@3 [b3,d4]@4 ~", // A Bm
P: "b2@3 ~ b2@2 d#4@2 [a2,c#4,e4]@3 ~ [b2,d#4,f#4]@3 ~, f#4 ~, d#4@3 ~@5", // A B
Q: "~ b3 ~ b3@2 ~ b3 d4, g2@9 ~ g2@6, ~@4 d4@7 ~@5, ~@6 f#4@9 ~",
R: "[a3,c#4]@2 [b3,d4]@4 ~@6 b2@3 ~, b2@5 ~@3, ~@3 [b3,d4]@4 ~", // A Bm
S: "b2@3 ~ b2@2 d#4 ~ [a2,c#4,e4]@3 ~ [b2,d#4,f#4]@2 ~@2, f#4 ~, d#4@3 ~@5", // A B
T: "[~@20 e3@2 e4 ~ [b3,d4]@3 ~ [c#4,e4]@3 ~, a4@15 ~ a4@7 ~@9, a2@8 ~@2 a2@5 ~ a2@14 ~@2, ~@4 e3@5 ~@3 e3@4 ~@16, ~@6 e4@7 ~ e4@6 ~@12]/2", // Bm C#m
U: "[[b3,d4]@4 b3@2 [b3,d4] ~@5 [a3,c#4]@2 ~@2 b3 ~ [b3,d4] ~@5 [b3,d4]@2 b3@2 d4@2 b3 ~, b2@7 ~@7 d4@4 ~@14]/2", // Bm A Bm
V: "b2@3 ~@3 d#4 ~ [a2,c#4,e4]@3 ~ [b2,d#4,f#4]@2 ~@2, f#4 ~, d#4@3 ~@5, ~ b2 ~@2", // A B
})).s("gm_acoustic_guitar_nylon").gain(0.32).pan(0.6)
// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
~ A@2 B C D@2 E F G H A@2 B C D@2 I J K L M N@2 O P Q R S@2 T@2 U@2 V W X Y Z AA AB A@2 B C D@2 AC J K AD AE AF@2 O P
Q AG S@2 AH@2 AI@2 V W AJ AK AL AA AB AM@2 B AN D@2 AC J AO AD AE AF@2 O P Q AG AP@2 AH@2 AP@2 V W X Y AQ AR AP@2 AS@2
AP@2 V W X Y Z AR AT@2 AU@2 AV@2
>`.pickRestart({
A: "[[a3,c#4,f#4]@4 ~@2 [a3,c#4,f#4]@3 ~ a3@3 ~@7 a3@2 [a3,c#4,f#4]@2 d3@2 a3@2 d2@2 a3@2, d2@14 a3@4 d3@5 ~@5 d3@4, ~@4 d3@12 d2@11 ~@5, ~@10 [c#4,f#4]@11 ~@5 [c#4,f#4]@5 ~]/2", // F#m F#5
B: "[d4,e4]@2 ~@2 e2 g3 ~ g3, [e2,b3]@3 [b3,d4,e4]@2 [b3,d4,e4]@3, g3@3 ~ g3@5 ~@3 e2@4", // Dsus2 E5 E7
C: "[d4,f#4]@4 b3@2 [b3,d4,f#4]@2 g2@2 b3@2 g2@2 b3 ~, g2@7 ~@9, b3@3 ~@7 [d4,f#4]@5 ~", // D Bm D
D: "[[f#2,a3,c#4,f#4]@7 ~ [b3,d4,f#4]@5 ~ c#4@2 d4@2 ~@2 b3@2 [b3,c#4]@2 d4 ~ b3@2 b2@2 [b3,d4] ~, ~@8 b2@9 ~ b2@9 ~@5, ~@14 f#4@11 ~@7, ~@14 b3@5 ~@7 [d4,f#4]@5 ~]/2", // F#m Bm Bsus2 Bm D
E: "[g3,b3,d4]@2 e3 ~ e2 e3 ~ e3, e2@7 ~@5 e2@4, e3@3 ~@3 [e3,g3,b3,d4]@4 [g3,b3,d4]@6", // G Em7 G
F: "[c#4,e4]@4 a3@2 [a3,c#4,e4]@2 f#2@2 a3@2 ~@2 a3 ~, f#2@7 ~@5 f#2@4, a3@3 ~@7 [c#4,e4]@5 ~", // C#m A C#m
G: "[d4,f#4]@4 [b3,d4] ~ [b3,d4,f#4]@2 g2@2 b3@2 b3@2 g2@2, g2@7 ~@3 g2 ~@5, b3@3 ~@7 [d4,e4]@5 ~", // D Bm Dsus2
H: "[g2,b3,d4,f#4] ~@7", // Gmaj7
I: "[b3,d4,e4]@4 g3@2 ~@2 e2@2 ~@2 e2 ~ g3 b3, e2@7 ~@3 [g3,b3]@4 ~@2, g3@3 ~@3 [g3,b3,d4,e4]@4 [d4,e4]@6", // E7 G Em7 Dsus2
J: "[d4,f#4]@4 a3 ~ [a3,d4,f#4]@2 f#2@2 ~@4 [a3,d4]@2, f#2@7 ~@3 [a3,d4]@4 ~@2, a3@3 ~@7 f#4@6, ~@3 f#2", // D D5
K: "[d4,g4]@2 b3 [b3,d4,f#4]@2 ~ [b3,d4,f#4] ~, g2@4 ~ g2@3, b3@3 ~@13", // G5 Bm
L: "[c#4,e4,a4]@4 a3@2 [a3,c#4,e4,a4]@2 a2@2 ~@2 a2@2 [a3,c#4] ~, a2@7 ~@3 [a3,c#4]@4 ~@2, a3@3 ~@7 [e4,a4]@6", // A A5
M: "[a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@2 a2 ~ [a2,b3,d4,g4]@3 ~ [a2,a3,c#4,e4,a4]@4, a2 ~@3", // A G A
N: "[[b3,d4]@2 f#4@2 [b3,d4]@2 [b3,d4,f#4] ~@3 [b2,a3] ~ [f#2,c#4,e4]@2 [b3,d4]@2 [b3,f#4]@2 [b3,d4,f#4]@2 ~@2 b3 ~ b3@3 ~ b3@2 ~@2, b2@7 ~@7 b2@6 ~@4 [b2,d4,f#4]@7 ~, f#4 ~@11 a3 ~ f#4 ~@17]/2", // Bm B7 F#7 Bm B5 Bm
O: "f#4@2 b3 [b3,d4,f#4] g2 b3 g2 b3, [g2,d4]@7 ~@9, b3@3 ~@7 [d4,f#4]@6", // Bm G5 D
P: "[b3,f#4]@4 b3@2 ~@2 g2@3 ~ [g2,b3,d4,f#4]@4, [g2,d4]@6 [b3,d4,f#4]@5 ~@5", // B5 Gmaj7 G5 Bm
Q: "[a3,e4] ~ b3@2 b3 ~ b3@4 ~@2 b3@2 b2 ~, b2@9 ~ b2@4 ~@2, c#4 [d4,f#4]@2 [d4,f#4]@4 ~", // A5 D
R: "[d#4,f#4]@4 b3@2 [b3,d#4,f#4] ~ [a2,a3,c#4,e4]@3 ~ [b2,b3,d#4,f#4]@2 ~@2, b2 ~, b3@3 ~@13", // D#m B A B
S: "[[b3,e4]@4 [e3,g#3]@2 ~@2 e2@2 [e3,g#3,e4]@2 ~@2 g#3 ~ d#4@4 e3@2 [e3,g#3,b3,d#4]@2 e2@2 e3@2 e2@2 e3@2, e2@7 ~@5 e2@4 [e2,g#3,b3]@7 ~@9, g#3@3 ~@3 [e3,g#3,b3,e4]@4 b3@6 ~@10 [g#3,b3,d#4]@6, ~@14 e3@5 ~@13]/2", // E5 E Emaj7 E G#m
T: "[[c#4,e4]@4 ~@2 [c#4,e4]@2 a2@2 e3@2 a2@2 e3@2 [a2,c#4]@4 [e3,c#4,e4]@2 a2 ~ [a2,a3,c#4,e4]@4 [b2,b3,d#4,f#4]@4, a3@9 ~ a3@14 ~@8, a2@7 ~@9 [e3,e4]@3 ~@13, e3@3 ~ e3@5 ~ [c#4,e4]@6 ~@16]/2", // C#m A C#m A B E C#m
U: "[[b3,e4]@4 [e3,g#3]@2 ~@2 e2@2 [e3,g#3,e4]@2 ~@2 g#3 ~ d#4@4 e3@2 [e3,g#3,b3,d#4]@2 e2@2 e3@2 ~@2 e3@2, e2@7 ~@5 e2@4 [e2,g#3,b3]@7 ~@5 e2@4, g#3@3 ~@3 [e3,g#3,b3,e4]@4 b3@6 ~@10 [g#3,b3,d#4]@6, ~@14 e3@5 ~@13]/2", // E5 E Emaj7 E G#m
V: "[c#4,e4]@2 ~ [c#4,e4] a2 e3 a2 e3, a3@9 ~ [a3,c#4,e4]@6, a2@7 ~@9, e3@3 ~ e3@5 ~@7", // C#m A
W: "[c#4,e4]@2 a3 [a3,c#4,e4] a2 [a3,c#4] ~ [a3,c#4], a2@7 ~@5 a2@4, a3 ~@4 e4@3", // C#m A
X: "[c#4,e4]@4 a3@2 ~@2 f#2@2 a3@2 ~@2 a3 ~, f#2@7 ~@5 f#2@4, a3@3 ~@3 [a3,c#4,e4]@4 [c#4,e4]@5 ~", // C#m A C#m
Y: "b3@3 ~ b3@2 ~@2 g#2@2 b3@2 ~@2 b3 ~, g#2@2 ~ g#2, [e4,g#4]@6 [b3,e4,g#4]@4 [e4,g#4]@5 ~", // E
Z: "[c#4,e4] ~@2 [a3,c#4,e4], a2@3 [c#4,e4]@3 ~@2, a3@3 ~ a3@6 a2@6", // C#m A C#m
AA: "[d#4,f#4]@2 b3 [b3,d#4,f#4] b2 ~ b2@2, b2@7 ~@9, b3@3 ~@7 [b3,d#4,f#4]@5 ~", AB: "[g2,b3,d4,f#4]@7 ~",
AC: "[b3,d4,e4]@4 g3@2 ~@2 e2@2 ~@2 e2@2 g3 b3, e2@7 ~@3 [g3,b3]@4 ~@2, g3@3 ~@3 [g3,b3,d4,e4]@4 [d4,e4]@6", // E7 G Em7 Dsus2
AD: "[c#4,e4,a4]@4 a3@2 [a3,c#4,e4,a4]@2 a2@2 [a3,c#4]@2 a2@2 [a3,c#4] ~, a2@7 ~@9, a3@3 ~@7 [e4,a4]@6", // A A5
AE: "[a3,c#4,e4,a4]@3 ~ [a3,c#4,e4,a4]@2 a2 ~ [a2,b3,d4,g4]@4 [a3,c#4,e4,a4]@4, a2@2 ~@4 a2 ~", // A G A
AF: "[[c#4,e4]@2 [b3,d4]@2 [b3,f#4]@2 [b3,d4,f#4]@2 ~@2 [b2,a3] ~ [f#2,a3,c#4,e4]@2 [b3,d4]@2 [b3,f#4]@2 [b3,d4,f#4]@2 ~@2 b3 ~ b3@3 ~ b3@2 ~@2, b2@7 ~@7 b2@6 ~@4 [b2,d4,f#4]@7 ~, a3 ~ f#4 ~@11 f#4 ~@17]/2", // C#m Bm B5 Bm B7 F#m7 Bm B5 …
AG: "[d#4,f#4]@4 b3@2 [b3,d#4,f#4] ~ [a2,a3,c#4,e4]@4 [b2,b3,d#4,f#4]@4, b2 ~, b3@3 ~@13", // D#m B A B
AH: "[[c#4,e4]@4 ~@2 [c#4,e4]@2 a2@2 e3@2 a2@2 e3@2 [a2,c#4]@4 [e3,c#4,e4]@2 a2 ~ [a2,a3,c#4,e4]@3 ~ [b2,b3,d#4,f#4]@3 ~, a3@9 ~ a3@14 ~@8, a2@7 ~@9 [e3,e4]@3 ~@13, e3@3 ~ e3@5 ~ [c#4,e4]@6 ~@16]/2", // C#m A C#m A B E C#m
AI: "[[b3,e4]@4 [e3,g#3]@2 ~@2 e2@2 [e3,g#3,e4]@2 ~@2 g#3 ~ d#4@4 e3@2 [e3,g#3,b3,d#4]@2 e2@2 ~@2 e2@2 e3@2, e2@7 ~@5 e2@4 [e2,g#3,b3]@7 ~@9, g#3@3 ~@3 [e3,g#3,b3,e4]@4 b3@6 ~@10 [b3,d#4]@6, ~@14 e3@5 ~@7 [e3,g#3]@4 ~@2]/2", // E5 E Emaj7 E B E
AJ: "[c#4,e4]@2 a3 ~ f#2 a3 f#2 a3, f#2@7 ~@9, a3@3 ~@3 [a3,c#4,e4]@4 [c#4,e4]@5 ~", // C#m A C#m
AK: "g#4@4 b3@2 ~@2 g#2@2 b3@2 ~@2 b3 ~, [g#2,e4]@7 ~@5 g#2@4, b3@3 ~@3 [b3,e4,g#4]@4 [e4,g#4]@5 ~", // C#m E
AL: "[c#4,e4] ~@2 [a3,c#4,e4], a2@3 [c#4,e4]@3 ~@2, a3@3 ~ a3@6 a2@5 ~", // C#m A C#m
AM: "[[a3,c#4,f#4]@4 ~@2 [a3,c#4,f#4]@3 ~ a3@3 ~@7 a3@2 [a3,c#4,f#4]@2 d3@2 a3@2 ~@2 a3@2, d2@14 a3@4 d3@5 ~@9, ~@4 d3@12 d2@11 ~ [d2,d3]@4, ~@10 [c#4,f#4]@11 ~@5 [c#4,f#4]@5 ~]/2", // F#m D F#5
AN: "[d4,f#4]@2 b3 [b3,d4,f#4] g2 b3 g2 b3, g2@7 ~@9, b3@3 ~@7 [d4,f#4]@5 ~", // D Bm D
AO: "[d4,g4]@2 b3 [b3,d4,f#4]@2 ~ [b3,d4,f#4]@2, g2@4 ~ g2@3, b3@3 ~@13", // G5 Bm
AP: "[[b3,e4]@4 [e3,g#3]@2 ~@2 e2@2 [e3,g#3,e4]@2 ~@2 g#3 ~ d#4@4 e3@2 [e3,g#3,b3,d#4]@2 e2@2 ~@4 e3@2, e2@7 ~@5 e2@4 [e2,g#3,b3]@7 ~@5 e2@4, g#3@3 ~@3 [e3,g#3,b3,e4]@4 b3@6 ~@10 [b3,d#4]@6, ~@14 e3@5 ~@7 [e3,g#3]@4 ~@2]/2", // E5 E Emaj7 E B E
AQ: "[c#4,e4]@4 ~@8 [a3,c#4,e4]@3 ~, a2@3 [c#4,e4]@3 ~@2, a3@3 ~ a3@6 a2@6", // C#m A C#m
AR: "[b2,d#4,f#4]@4 ~@2 [b2,d#4,f#4] ~ [a2,a3,c#4,e4]@4 [b2,b3,d#4,f#4]@4, b3 ~ b3@2 ~@4", // B A B
AS: "[[c#4,e4]@4 ~@2 [c#4,e4]@2 a2@2 e3@2 a2@2 e3@2 [a2,c#4]@4 [e3,c#4,e4]@2 a2 ~ [a2,a3,c#4,e4]@3 ~ [b2,b3,d#4,f#4]@4, a3@9 ~ a3@14 ~@8, a2@7 ~@9 [e3,e4]@3 ~@13, e3@3 ~ e3@5 ~ [c#4,e4]@6 ~@16]/2", // C#m A C#m A B E C#m
AT: "[[b3,e4]@2 [e3,g#3] ~ e2 [e3,g#3,b3,e4] [g#3,b3,e4]@2 [e3,g#3] ~ e2 [e3,g#3,b3,e4] [a2,a3,c#4,e4]@2 [b2,b3,d#4,f#4]@2, e2@7 ~@5 e2@7 ~@13, g#3@3 ~@3 [e3,g#3,b3,e4]@4 ~@8 [e3,g#3,b3,e4]@4 ~@10]/2", // E5 E A B E
AU: "[[b3,e4]@2 [e3,g#3] ~ e2 [e3,g#3,b3,e4] [g#3,b3,e4]@2 [e3,g#3] ~ e2 [e3,g#3,b3,e4] [c3,g3,c4,e4]@2 [d3,a3,d4,f#4]@2, e2@7 ~@5 e2@7 ~@13, g#3@3 ~@3 [e3,g#3,b3,e4]@4 ~@8 [e3,g#3,b3,e4]@4 ~@10]/2", // E5 E C D E
AV: "[[d3,a3,d4,f#4]@2 [e3,b3,e4,g#4]@2 [e3,b3,e4,g#4] ~ [e3,b3,e4,g#4]@26]/2", // D E
})).s("gm_acoustic_guitar_steel").gain(0.19).pan(0.4)
// drums · kick
const kick = s("bd").struct(`<
~ A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B
A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A C D C E F ~
>`.pickRestart({
A: "x!2 ~@5 x", B: "x", C: "x!2 ~@4 x!2", D: "~@2 x!2", E: "x ~ x!2", F: "~ x!3 ~@4",
})).gain(0.61)
// drums · snare
const snare = s("sd").struct("<~@116 x ~>").gain(0.69)
// drums · open hat
const open_hat = s("oh").struct("<~@115 [~@3 x] [x!3 ~@5] ~>").gain(0.61)
// drums · ride
const ride = s("rd").struct("<~@40 x ~@29 x ~@47>").gain(0.61)
// drums · splash
const splash = s("cr").struct("<~@115 [~ x] [~@3 x ~@4] ~>").gain(0.69)
// drums · congas
const congas = s("conga:13").struct("<~ [~@3 x ~@4]!39 ~ [~@3 x ~@4]!29 ~ [~@3 x ~@4]!44 [~ x ~@6] ~@2>").gain(0.98)
// drums · congas
const congas_2 = s("conga:18").struct(`<
~ A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A ~ A B A B A B A B A B A B A B A B A B
A B A B A B A B A B A ~ A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A@2 B C D ~@2
>`.pickRestart({
A: "~@2 x ~@4 x", B: "~@5 x ~ x", C: "~@5 x ~@2", D: "~@3 x ~@4",
})).gain(0.98)
// drums · congas
const congas_3 = s("conga:33").struct(`<
~ A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A ~ A B A B A B A B A B A B A B A B A B
A B A B A B A B A B A ~ A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A@2 B@2 C ~@2
>`.pickRestart({
A: "~ x ~@4 x ~", B: "~ x ~@2", C: "x",
})).gain(0.98)
// drums · congas · soft notes
const congas_soft = s("conga:33").struct(`<
~@2 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@3 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~
A ~ A ~ A ~ A ~ A ~@3 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@2 A ~@4
>`.pickRestart({
A: "~@7 x",
})).gain(0.73)
// drums · shaker
const shaker = s("sh").struct("<~ [x!8]!39 ~ [x!8]!29 ~ [x!8]!44 [x!4 ~@4] ~@2>").gain(0.23)
stack(
bass, string_ensemble_2, electric_guitar_clean, harmonica, acoustic_guitar_nylon, acoustic_guitar_steel, kick, snare,
open_hat, ride, splash, congas, congas_2, congas_3, congas_soft, shaker
)
More by Pooh
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.