0:00/0:00
// Stare senza di te — Pooh
// 73 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 99 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(73/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@4 B@2 C D E F G H I J K L M N O P Q R@2 E F G H I J K L S T U V W X@3 ~@7 Y@7 Z@8 AA@8 ~@6 AB@7 AC@2 AD@8 AE@2 AF@4
~
>`.pickRestart({
A: "[g4@2 ~@3 c5@2 ~@3 g5@2 g5@3 ~@51 g5@2 ~@18 [e4,c5]@7 [d4,g4,b4]@21 [a1,g3,c4,e4,a4]@38 b4@19 [e4,c5]@21, ~@2 g4@13 [d2,d3,a4,f5]@53 [d2,f5]@15 d3@10 a1 ~@58 [g1,g2,d4]@40, ~@7 c5@9 ~@44 g4@7 ~@2 a4@25 ~@98, ~@63 c5@5 ~@3 d3@6 d3@3 [f4,d5]@14 ~@98, ~@74 [g4,e5]@19 a2@61 ~@38]/4", // C G Am7 C Dm G5 Dm C
B: "[[f3,a3,c4]@12 [f3,a3,c4]@9 ~@3 f3@6 ~@6 [f3,a3,c4]@3 [g3,b3,d4]@8 ~ [f3,a3,c4]@12 [f3,a3,c4]@9 ~@3 f3@6 ~@6 [f3,a3,c4]@3 [g3,b3,d4]@8 ~, f2@21 f2@9 f3@6 ~@36 [a3,c4]@9 f2@14 ~, ~@8 [a3,c4]@3 f2@8 ~@4 f2@3 f3@2 ~@4]/2", // F G F G Am
C: "[c3,e3,g3]@12 [e3,g3]@9 ~@3 c3@6 ~@6 [c3,e3,g3]@3 [c3,f3,a3]@8 ~, c2@7 c2@3 c3@2 ~@4, d3 ~@11 c3@6 ~@6 [e3,g3]@9 c2@14 ~", // C Em C F Em
D: "[c2,c3,e3,g3]@9 ~@3 [e3,g3]@9 ~@3 c3@6 ~@6 [c3,e3,g3]@3 [c3,f3,a3]@7 ~@2, ~@3 c2@4 c2@3 c3@2 ~@4, ~@12 c3@6 ~@6 [e3,g3]@9 c2@14 ~", // C Em C F Em
E: "[f3,a3,c4]@12 [f3,a3,c4]@9 ~@3 [a3,c4]@9 ~@3 [f3,a3,c4]@3 [g3,b3,d4]@8 ~, f2@21 f2@12 f2@14 ~, ~@4 f3 ~@3", // F Am F G
F: "[f3,a3,c4]@4 [a3,c4]@4 f3@2 ~@2 [f3,a3,c4] [g3,b3,d4]@3, f2@7 ~@3 f3@2 ~@4, ~@4 f3@2 ~@2 [a3,c4]@3 f2@5", // F Am F G Am
G: "[c3,e3,g3]@4 [e3,g3]@3 ~ [e3,g3]@4 [c3,e3,g3] [c3,f3,a3]@3, c2@7 c2@9, ~@2 c3 ~ c3 ~@3", // C Em C F
H: "[c3,e3,g3]@4 [e3,g3]@3 ~ c3@2 ~@2 [c3,e3,g3]@4, c2@7 c2@3 c3@2 ~@4, ~@4 c3@2 ~@2 [e3,g3]@3 c2@5", // C Em C Em
I: "[f3,a3,c4]@4 [a3,c4]@3 ~ [a3,c4]@3 ~ [f3,a3,c4] [g3,b3,d4]@3, f2@7 f2@4 f2@5, ~@2 f3 ~ f3 ~@3", // F Am F G
J: "[f2,f3,a3,c4]@4 [a3,c4]@3 ~ [a3,c4]@3 ~ [f3,a3,c4] [g3,b3,d4]@3, ~@4 f3@2 ~ f2@4 f2@5, ~@4 f3 ~@3", // F Am F G
K: "[c3,e3,g3]@4 c3@2 ~@2 [e3,g3]@3 ~ [c3,e3,g3] [c3,f3,a3]@3, c2@3 c3!2 ~@3, ~@4 [e3,g3]@3 c2@4 c2@5", // C Em C F Em
L: "[c2,c3,e3,g3]@12 [e3,g3]@12 [e3,g3]@9 ~@3 [c3,e3,g3]@11 ~, ~@12 c3@6 ~@6 c3@6 ~@3 c2@14 ~", // C Em C
M: "[a3,c4,f4]@2 a3!2 [a3,c4,f4]@4, d2, d3 ~, ~ [c4,f4] ~@2", // F F5
N: "[a3,c4]@2 ~@5 f3, [g1,g2], d4@3 d4, f3 ~ c4@2 [g3,b3]@4, ~@3 f3@4 ~", // Am G
O: "e3 ~@3 g3@2 g3@2, c2, c3 [c3,c4], [g3,d4]!2 ~@2, ~ e3@2 e3@3 ~@2", // C G5
P: "[g3,c4] ~ g3@2, [a1,a2,e4], ~ c4@3, ~ g3 ~@2, ~@3 e3@5", // C5 A5
Q: "~ f3 ~@4 c4@2, [d2,d3], f4@2 f3 f4@5, [a3,c4] c4@2 ~, ~@2 a3@3 ~@3", // D Am
R: "[f3@6 ~@12 d4@29 ~@2 g5@44 ~@3, g1@47 ~, [g2,c4]@47 g4@46 ~@3, d4@4 a3@12 d5@15 ~, a3@6 f3@43 ~@47]/2", // C5
S: "[a3,c4,f4]@12 [a3,c4,f4]@6 [c4,f4]@18 a3@6 [d3,a3]@5 ~, d2@47 ~, d3@5 ~@3, ~@18 a3@12 ~@6 [c4,f4]@11 ~", // F F5 D5 F5
T: "[f3,a3,c4]@12 [a3,c4]@12 g3@6 ~@12 d4@5 ~, g2@47 ~, d4@4 d4@3 ~, ~@12 f3@6 ~@6 b3@12 b3@11 ~, ~@30 g3@17 ~", // F Am
U: "e3 ~ g3 e3@2 ~@2 c4, c3@7 ~, d4@19 ~@11 e3@18, g3@2 ~ c4@4 ~, ~ e3@2 g3@3 g3@2",
V: "e3 ~@6 e4, a2, d4@3 e4@4 ~, g3@2 g3@3 e3@3, ~ e3@3 c4@2 [g3,c4]@2", // C5
W: "c4@3 ~@4 a3, d3, f4@5 c4@3, a3@2 ~ e4@5, ~@3 c4 a3@2 f4@2",
X: "[~@12 c4@6 [c4,f4]@18 [c4,f4]@10 ~@2 g5@49 ~@47, g2@97 ~@47, [f4,a4]@3 a4@5 ~@16, c4@6 ~@17 g4@25 ~@24, ~@6 a3@24 ~@17 d5@49 ~@48]/3", // F5 F
Y: "[~@35 a3@6 a3@6 [a3,b3]@6 [b3,d4,a4]@12 [d4,a4]@12 ~@6 b3@6 ~@6 a4@6 [b3,d4,g4]@12 b3@6 b3@6 b3@6 b3@6 ~@6 c4@6 [a3,c4,g4]@12 [c4,g4]@12 g4@6 [d4,g4]@6 a3@6 a3@5 ~ [c4,f4]@12 a3@6 a3@6 [a3,c4]@6 [a3,c4]@6 a3@6 a3@4 ~@2 c4@12 c4@6 ~@12 a3@6 [a3,c4,f4]@12 [g2,g4,d5,g5]@43, ~@5 [c4,f4,a4]@12 [c4,f4,a4]@12 a4@24 ~@24 a4@18 ~@126 f4@12 ~@12 f4@18 a4@30 ~@43, ~@11 a3@12 a3@12 ~@48 f3@18 ~@120 d3@24 ~@91, ~@29 [c4,f4]@12 [c4,f4]@13 ~@11 b3@6 ~@6 d4@12 [b3,d4]@12 ~@12 [d4,g4]@12 [d4,g4]@12 [b3,d4,g4]@12 ~@12 a3@6 ~@6 [a3,c4]@12 [c4,e4,g4]@11 ~ a3@6 ~@6 [c4,f4]@12 ~@12 [c4,f4]@10 ~@2 a3@6 ~@12 [c4,f4]@18 ~@55]/7", // Asus2 Bm7 D5 G Am7 C5 G5 F5 …
Z: "[~@5 [f3,a3,c4]@12 [f3,a3,c4]@9 ~@3 [a3,c4]@9 ~@3 [f3,a3,c4]@3 [g3,b3,d4]@8 ~ [f3,a3,c4]@12 [a3,c4]@12 f3@6 ~@6 [f3,a3,c4]@3 [g3,b3,d4]@9 [c3,e3,g3]@12 [e3,g3]@9 ~@3 [e3,g3]@12 [c3,e3,g3]@3 [c3,f3,a3]@9 [c3,e3,g3]@12 [e3,g3]@9 ~@3 c3@6 ~@6 [c3,e3,g3]@12 [f3,a3,c4]@12 [a3,c4]@9 ~@3 [a3,c4]@9 ~@3 [f3,a3,c4]@3 [g3,b3,d4]@9 [f2,f3,a3,c4]@12 [a3,c4]@9 ~@3 [a3,c4]@9 ~@3 [f3,a3,c4]@3 [g3,b3,d4]@9 [c3,e3,g3]@12 c3@6 ~@6 [e3,g3]@9 ~@3 [c3,e3,g3]@3 [c3,f3,a3]@9 [c2,c3,e3,g3]@12 [e3,g3]@12 [e3,g3]@9 ~@3 [c3,e3,g3]@7, ~@5 f2@21 f2@12 f2@14 ~ f2@21 ~@9 f3@6 ~@24 c3@6 ~@6 c3@6 ~@30 c3@6 ~@6 [e3,g3]@9 c2@15 f2@21 f2@12 f2@15 ~@21 f2@12 f2@15 c2@18 c3@6 c3@6 ~@30 c3@6 ~@6 c3@6 ~@13, ~@29 f3@6 ~@30 f3@6 ~@6 [a3,c4]@9 f2@15 c2@21 c2@27 c2@21 c2@9 c3@6 ~@24 f3@6 ~@6 f3@6 ~@30 f3@6 ~@6 f3@6 ~@30 [e3,g3]@9 c2@12 c2@15 ~@33 c2@10]/8", // F Am F G F Am F G …
AA: "[~@5 [a3,c4,f4]@12 [a3,c4,f4]@6 [c4,f4]@18 a3@6 [d3,a3]@5 ~ [f3,a3,c4]@12 [a3,c4]@12 g3@6 ~@12 d4@5 ~ e3@6 ~@6 g3@6 e3@12 ~@12 c4@6 e3@6 ~@36 e4@6 c4@18 ~@24 a3@6 ~@12 c4@6 [c4,f4]@18 [c4,f4]@11 ~ g5@49 ~@42, ~@5 d2@47 ~ g2@47 ~ c3@42 ~@6 a2@48 ~@18 c4@6 a3@12 f4@12 [f4,a4]@18 a4@30 ~@91, ~@5 d3@30 ~@30 f3@6 ~@6 b3@12 b3@11 ~@7 e3@12 g3@18 g3@12 g3@12 g3@18 e3@18 d3@48 g2@97 ~@42, ~@23 a3@12 ~@6 [c4,f4]@11 ~ d4@24 d4@18 ~@6 d4@19 ~@11 e3@18 ~@6 e3@18 c4@12 [g3,c4]@12 a3@12 ~@6 e4@30 ~@6 a3@24 ~@109, ~@83 g3@17 ~ g3@12 ~@6 c4@24 ~@6 d4@18 e4@24 ~@6 f4@30 c4@18 c4@12 ~@35 [g4,d5]@50 ~@42]/8", // F F5 D5 F Am F5 F F5 …
AB: "[~@10 [a#3,d4]@11 ~@13 g3@22 ~@2 [c4,f4,a4]@12 ~@18 a3@6 ~@6 f4@5 ~ [b3,d4,a4]@12 b3@6 f2@6 ~@6 b3@6 b3@6 b3@5 ~ [b3,d4,g4]@12 ~@6 e2@6 ~@6 b3@6 b3@6 b3@6 [g3,c4]@12 c4@12 ~@12 [b3,g4]@6 ~@6 c4@12 a3@6 d3@6 ~@6 a3@6 a3@6 a3@6 [c4,f4]@12 ~@6 [g2,a3]@5 ~ [b3,d4]@12 g4@2, ~@10 [c3,f4]@46 ~@14 [c4,a4]@24 [a3,c4,a4]@11 ~@13 d4@12 f2@23 ~@25 e2@24 ~@12 g3@6 ~@6 a2@23 ~ d3@18 a3@12 ~@18 a3@18 ~@6 g3@6 ~@8, ~@22 [f3,a#3,d4]@34 ~@14 f4@30 ~@18 a4@24 ~@24 b3@18 ~@30 e4@33 ~@27 d3@24 ~@38, ~@82 f2@23 ~@19 b3@12 ~@6 [d4,a4]@11 ~@13 [d4,g4]@24 [d4,g4]@12 g4@36 ~@6 f4@42 ~@50, ~@232 [a3,f4]@12 a3@18 c4@24 [c4,f4]@12 ~@12 [c4,f4,a4]@11 ~@15]/7", // A# F Bm7 G C5 Em F5 Gsus2 …
AC: "[~@4 g3@5 ~ [c4,e4]@12 g3@6 c3@6 ~@6 g3@6 g3@6 g3@5 ~@19 f3@5 ~ c4@6 c4@6 [c4,e4]@2, ~@10 g3@6 ~@6 [c4,e4]@24 [c4,e4]@11 ~ [a#3,d4,f4]@12 [a#3,d4,f4]@11 ~ [e4,g4]@14, ~@7 g3@3 ~@6 f3@3 ~@5, ~@34 c3@23 ~@39]/2", // C A# Em
AD: "[~@4 g4@4 ~@8 c3@5 ~ a3@5 ~@13 a3@5 ~ a3@5 ~ a3@5 ~@37 b3@5 ~@49 g3@5 ~ g3 ~@17 c4@5 ~ [g3,c4]@5 ~ [a3,c4,f4]@6 [b3,g4]@6 ~@36 f3@4 ~@8 f3@5 ~ f3@10 ~@20 c4@4 ~@2 [c4,f4,a4]@12 [g3,d4,g4]@50 ~@3 [f3,a3,c4]@12 [f3,a3,c4]@12 [f3,a3,c4]@9, ~@10 a4@47 ~ a4@35 ~@13 g4@58 ~@2 g3@11 ~@19 f4@42 f4@48 ~@98, ~@10 f4@10 ~@2 f4@23 ~@19 f3@21 ~@3 f3@16 ~@8 e3@12 b3@17 ~ [b3,d4]@12 e4@24 e4@22 ~@2 d3@41 ~@19 f3@22 ~@100, ~@22 c4@10 ~@2 c4@11 ~ [c4,f4]@12 d4@16 ~@2 d4@17 ~ [d4,a4]@12 d4@30 e3@22 ~@2 e3@16 ~@20 a3@18 f3@16 ~@20 a3@16 ~@2 a3@29 ~@87, ~@28 a3@12 ~@18 b3@10 ~@2 b3@23 ~@7 b3@18 g3@29 ~@7 c4@16 ~@20 c4@28 ~@2 [a3,c4]@28 ~@2 c4@28 ~@106]/8", // C5 F Em F G5 F Bm F5 …
AE: "[~ [f3,a3,c4] [g3,b3,d4]@3 [f3,a3,c4]@4 [f3,a3,c4]@4 f3@2 ~@3 [g3,b3,d4]@3 [f3,a3,c4]@4 [f3,a3,c4]@3 ~ [f3,a3,c4]@3, ~@13 [a3,c4]@3 f2@5 ~@7 f2@4, ~@15 f3@2 [f3,a3,c4]@4 ~@11]/2", // F G F G F Am F
AF: "[~@3 [f3,a3,c4]@3 [g3,b3,d4]@9 [f3,a3,c4]@12 f3@6 ~ f3@6 f3@7 ~@8 [f3,a3,c4]@18 [e3,g3,c4,d4]@96 ~@23, f2@7 ~@20 [a3,c4]@13 [a3,c4]@11 f2@23 ~@118, ~@47 f3@7 ~@138]/4", // F G F C Am
})).s("gm_piano").gain(0.48)
// chords · piano · soft notes
const piano_soft = note(`<
~@5 A B@2 C D E B F G H I J K L M N ~@2 C D E B F G H I O P Q ~ R S ~@10 T U@2 V W ~ X Y Z AA AB AC AD AE AF AG AH@2
AI AJ@2 ~@7 AK@2 AL ~ AM@2 AN@2 ~@8 AO@2 AP@2 ~@4
>`.pickRestart({
A: "~@3 f2@4 ~@9", B: "~@3 c3 ~@4", C: "~@5 f3 ~@2", D: "~@7 f2@4 ~@5, ~@3 f3 ~@4", E: "~@3 c3 ~ c3 ~@2",
F: "~@3 f3 ~ f3 ~@2", G: "~@9 f2@9 f3@6 ~@6 f3@6 ~@3 f3 ~@8", H: "~@5 c3 ~@2",
I: "~@3 c2@3 ~ c2@3 c3@2 ~@4, ~@3 c3 ~@4", J: "~ d3", K: "~ a3 ~@2, ~ f3@2 ~@5", L: "~@3 e3", M: "~ e3@2 ~@5",
N: "~@5 a3@3, ~ f3", O: "~@5 d3@2 ~, ~@5 a3 ~@2", P: "~@3 f3 ~@4", Q: "~@7 c3", R: "~ a3 ~@2", S: "~@5 a3@3",
T: "~@23 b3@6 b3@6 ~@13", U: "[~@35 e3@18 ~@18 a3@6 ~@19]/2", V: "~@11 a3@6 ~@31", W: "~@11 a3@24 ~@13",
X: "~@35 f3@6 ~@7", Y: "~@13 f2@6 ~@5, ~@23 f3@6 ~@19", Z: "~@23 c3@6 ~@6 c3@6 ~@7", AA: "~@23 c3@6 ~@19",
AB: "~@23 f3@6 ~@6 f3@6 ~@7", AC: "~@14 f2@9 f3@6 ~@6 f3@6 ~@3 f3 ~@3", AD: "~@35 c3@6 ~@7",
AE: "~@14 c2@9 ~@3 c2@9 c3@6 ~@7, ~@23 c3@6 ~@19", AF: "~@35 d3@12 ~, ~@35 a3@6 ~@7", AG: "~@23 f3@6 ~@19",
AH: "[~@47 c3@6 ~@43]/2", AI: "~@17 a3@12 ~@19", AJ: "[~@35 a3@18 ~@43]/2", AK: "[~@23 c4@5 ~@10 a3@6 ~@4]/2",
AL: "~@17 d4@6 ~", AM: "[~@28 a2@6 c4@21 ~@41, ~@28 g3@27 ~@41]/2", AN: "[~@20 g3@6 ~@6 g3@3 ~@13]/2",
AO: "[~@36 f2@19 ~@29 f2@12]/2", AP: "[~@15 f3@2 ~@15]/2",
})).s("gm_piano").gain(0.24)
// other · distortion guitar
const distortion_guitar = note("<~@82 A@5 B@4 C D@7>".pickRestart({
A: "[~@11 d4@3 c4@4 g3@4 e4 f4@3 e4@6 c4@2 ~ a4@3 g4@4 e4@4 c5@12 g5@2 ~ c5@2 ~@2 c5@2 ~@2 c5@2 ~@2 c5@2 ~@2 c5@2 ~@2 c5@2 ~@2 e5@2 ~@4 c5@2 ~ g5 e5@2 ~ g5@4 e5 d5 [a4,b4,c5] [e4,f4,g4] g4@5 d5@3 c5@2 a4@2 c5@5 ~ c4@3 g4@2 f4@10 a3@4 d4@2 c4@11 b3@4 g4@3 f4@3 b4@3 a4@3 e5@3 d5@3 a5@12 b5@11 ~@8 g5@2 ~ b3 ~ b4 d5@2 ~ b3 ~ g4 ~ g4@2 b3 ~ e4@14, ~@10 c4@2 ~@22 g4@2 ~@24 e5@2 ~ g5@2 ~@2 g5@2 ~@2 g5@2 ~@2 g5@2 ~@2 g5@2 ~@2 c6@2 ~@3 c6@2 e5@2 ~@116 e5@2 ~ e5@2 ~@4 b4@2 ~@2 a4@2 ~@17, ~@64 e5@2 ~@2 e5@2 ~@2 e5@2 ~@2 e5@2 ~@2 e5@2 ~@2 g5@2 ~ c5@2 g5@2 ~@2 c6@2 ~@2 c6@2 ~@141]/5", // Am Em
B: "[~@4 d4@3 e4@2 d4 c4@12 a4@4 ~@2 a4@24 ~@6 d5@22 ~@2 d5@7 f5@2 g5@3 d5@10 c5@2 d5@3 g4@3 g4@37 ~@5 d5@3 e5@2 ~ e5@3 ~@3 d5@3 ~ e5@2 ~ e5@3 ~@2 d5@3 ~ e5@3 ~ e5@3 ~@3]/4",
C: "~ e5@11 ~ c5@2 a4@33",
D: "[~@3 c5@2 a4@56 g4 [d4,e4]@2 a3@18 ~ a3 g3@2 a3@9 c4@2 a3 ~ a3@12 c4 a3 ~ a3 ~@2 a3@15 ~ a3@2 g3@2 a3@33 g3@142 ~@24, ~@82 c4@2 ~@14 g3@2 ~@13 g3@2 ~ c4@2 ~@14 c4@2 ~@202]/7", // Dsus2
})).s("gm_distortion_guitar").gain(0.49).pan(0.6)
// chords · string ensemble 1
const string_ensemble_1 = note("<~ A@3 ~@12 B@7 C@2 D@2 E@2 F@2 G@6 ~@9 H@7 I@8 J@7 ~@8 K@8 L@7 M@8>".pickRestart({
A: "[~@21 a4@5 [g4,e5]@6 [f4,d5]@6 [e4,c5]@6 ~ [a1,d4,g4,b4]@20 ~ [a1,g3,c4,e4,a4]@38 [d4,b4]@19 [e4,c5]@21, ~@20 d2@20 ~@5 a2@42 ~@17 [g1,g2]@40, ~@20 f5@5 ~@119]/3", // C Dm C G Am7 G C G
B: "[~ a3@47 ~@26 b3@22 e4@96 ~@48 g4@58 ~@38, f4@48 g3@143 ~ [f3,a3]@98 ~@46, ~ c4@71 ~@24 c4@196 ~@44, ~@48 d4@49 ~@95 d4@105 ~@39]/7", // F
C: "[~ [f3,c4]@46 ~, ~ a3@94 ~]/2", D: "[e3,g3,c4]/2", E: "[f3,a3,c4]/2", F: "[[e3,g3,c4]@47 ~]/2",
G: "[f4@48 f3@22 ~@2 [b3,d4]@23 c4@49 d4@17 ~@31 f4@48 [f3,c4]@43 ~@5, [a3,c4]@72 g3@119 ~ a3@91 ~@5, ~@95 e4@97 ~@96, ~@161 c4@76 ~@51]/6", // Bm F5 Am
H: "[~@5 c4@48 ~@144 f4@47 ~ [a3,c4,f4]@48 [d4,g4]@41 ~@2, ~@5 a4@95 ~ g4@96 ~@139, ~@53 b3@95 ~ c4@95 ~@92]/7", // F G5
I: "[~@7 [f3,a3,c4]@94 [e3,g3,c4]@96 [f3,a3,c4]@96 ~ [e3,c4]@90, ~@293 g3@91]/8", // F C F C
J: "[~@5 f4@48 f3@22 ~@2 [b3,d4]@23 c4@49 d4@17 ~@31 f4@48 c4@43 ~@48, ~@5 [a3,c4]@72 g3@119 ~ a3@94 ~@45, ~@100 e4@97 ~@139, ~@83 c4@38 ~@47]/7", // Bm Am
K: "[~@10 c4@46 ~@128 f4@6 g4@5 ~@79 [b3,d4]@24 e4@48 [a#3,d4]@24 [c4,e4]@14, ~@10 a4@94 ~@2 g4@78 ~@12 f4@78 g4@71 ~@39, ~@58 d4@97 c4@118 ~@111, ~@155 g3@45 ~@50 a3@24 ~@110, ~@251 g3@95 ~@38]/8", // Bm A# C
L: "[~@10 f4@49 b3@47 ~ b3@46 ~ [a3,c4,e4]@48 c4@46 ~@3 [a3,c4]@47 [d4,g4]@38, ~@10 a4@95 ~ g4@48 ~@48 f4@96 ~@38, ~@59 d4@96 ~@181]/7", // Am G5
M: "[~@16 [f3,a3]@38 [b3,d4]@9 [a3,c4]@39 [b3,d4]@10 [f3,a3]@38 [b3,d4]@9 a3@59 [e3,g3,d4]@144 ~@22, ~@8 f1@101 ~@83, ~@159 c4@203 ~@22]/8", // F Bm Am Bm F Bm Em7
})).s("gm_string_ensemble_1").gain(0.22)
// chords · distortion guitar
const distortion_guitar_2 = note(`<
~@4 A ~ B ~ A ~ B ~ A ~ B ~ C D E F C G ~ A ~ B ~ A ~ B ~@15 H ~@7 I ~ J ~ I ~ J ~@15 K ~@23
>`.pickRestart({
A: "[f2,c3,f3] ~@7", B: "[c3,g3] ~@7", C: "[d3,a3] ~@15", D: "[g2,d3] ~@47", E: "[c3,g3] ~@47", F: "[a2,e3] ~@15",
G: "[g2,d3] ~@23", H: "~@5 [c3,g3,c4]@4 ~@39", I: "~@5 [f2,c3,f3]@6 ~@37", J: "~@5 [c3,g3]@6 ~@37",
K: "~@5 [c3,g3,c4]@2 ~@17", // C5
})).s("gm_distortion_guitar").gain(0.17)
// chords · clavinet
const clavinet = note("<~@5 A B@2 ~@3 C ~@11 D@2 E@4 F@2 G H@4 I ~@16 J@8 K@7 ~@31>".pickRestart({
A: "~ c4", B: "[g3@9 ~@4 c4@3, ~@66 g3@29 ~, ~@72 g4@23 ~]/2", C: "~@2 c4@13 ~, g3@23 ~",
D: "[c4@12 f4 c4@3, a3@95 ~]/2", E: "[e3@12 e4 ~@18 a3, g3@8 a3@7 c4, ~@13 c4@16 f4@2 ~]/4",
F: "[~@22 c4@9 ~, g3@23 ~, e3@11 ~@5, ~@16 e4@15 ~]/2", G: "~@18 c4@29 ~, d3@12 f4@35 ~, ~@6 a3@41 ~",
H: "[~@9 a3@3 ~@30 c4@6 ~@12 e3@3 e4@8 ~@10 f3@15, a3@16 ~@20 b3@11 ~@55 g3@10 ~@2 g3@27 ~@51, ~@6 f4@17 ~ g4@22 ~@2 e4@55 ~@53 d4@35 ~, ~@12 c4@12 ~@6 d4@63 ~@15 c4@41 ~ c4@40 ~@2, ~@21 g3@26 ~ e3@11 ~@13 f3@8 ~@16]/4",
I: "~@3 a3@5, a3 ~@2, ~ c4@7, ~ g4@3",
J: "[~@5 c4@72 f4@6 c4@18 e3@72 e4@6 ~@108 a3@6 ~@66 c4@25, ~@5 a3@95 ~ g3@96 a3@84 c4@12 g3@91, ~@179 c4@96 f4@12 ~@6 e3@66 ~@25, ~@341 e4@43]/8",
K: "[~@23 c4@29 ~@19 a3@6 ~@60 c4@12 ~@24 e3@6 e4@16 ~@20 f3@30 ~@12 g4@37 ~@42, ~@5 d3@12 f4@35 ~@7 f4@17 ~ g4@22 ~@2 e4@55 ~@53 d4@35 ~@92, ~@11 a3@41 ~ a3@16 ~@20 b3@11 ~@55 g3@10 ~@2 g3@27 ~@51 a3@16 ~@75, ~@65 c4@12 ~@6 d4@63 ~@15 c4@41 ~ c4@40 ~@8 c4@43 ~@42, ~@95 g3@52 ~@2 e3@22 ~@26 f3@16 ~@123]/7",
})).s("gm_clavinet").gain(0.22).pan(0.3)
// chords · string ensemble 2
const string_ensemble_2 = note(`<
~@6 A@2 ~@8 B@2 C@2 ~@11 D@2 E@2 ~@3 F@2 G@2 H@4 I@7 ~@8 J@2 K@2 ~@3 L@2 M@6 N@4 O@8 P@3 Q@8
>`.pickRestart({
A: "[~@6 [c6,d6,g6]@17 ~]/2", B: "[[f5,g5,c6]@43 ~@5]/2", C: "[[c6,d6,g6]@15 ~]/2", D: "[[c6,f6,g6,c7]@5 ~]/2",
E: "[[c6,d6,g6]@83 ~@13]/2", F: "[~@5 [c6,f6,g6,c7]@84 ~@7]/2", G: "[~@5 [c6,d6,g6]@90 ~, ~@5 g5@85 ~@6]/2",
H: "[~@5 [c6,f6,g6,c7]@94 ~@2 [c6,d6,g6]@87 ~@4]/4", I: "[~@5 [a5,a6]@96 [g5,g6]@96 [f5,f6]@99 ~@40]/7",
J: "[~@5 [c6,f6,g6,c7]@80 ~@11]/2", K: "[~@5 [c6,d6,g6]@83 ~@8]/2", L: "[~@5 [c6,f6,g6,c7]@42 ~]/2",
M: "[~@5 [c6,d6,g6]@45 ~@3 [c6,f6,g6,c7]@47 ~ [c6,d6,g6]@43, ~@10 g5@85 ~@193]/6", // Csus2 Csus4 Csus2
N: "[~@10 [a5,a6]@95 ~ [g5,g6]@78 [f5,f6]@6 [g5,g6]@2]/4", // A G F G
O: "[~@4 [f5,f6]@78 [g5,g6]@24 [c6,c7]@95 ~ [a5,a6]@84 [b5,b6]@12 [g5,g6]@86]/8", P: "[~@5 [f5,f6]@36 [g5,g6]@31]/3",
Q: "[~@15 [g5,g6]@349 ~@20]/8", // G
})).s("gm_string_ensemble_2").gain(0.03)
// bass · fretless bass
const bass = note(`<
~@16 A B C D E F G H I J K L M N O P Q R S T U V ~@7 W@8 X Y@4 Z@2 AA@8 ~@7 AB@3 AC@3 AD AE@2 AF@4 AG AH AI@3 AJ@6
>`.pickRestart({
A: "d2@47 ~", B: "g1@13 ~ g1 a1", C: "c2@47 ~", D: "a1@41 ~ a1@2 ~ c2@3", E: "d2@17 ~ a2@6 d3@6 a2@6 d2@12",
F: "g1@7 d2", G: "g2@23 ~", H: "f1@13 ~@5 f1 ~@5 f1@21 ~@3", I: "f1@15 ~@3 f1@2 ~@4 f1@15 ~@3 g1@2 ~ a1@3",
J: "c2@14 ~@4 c2 ~@5 c2@17 ~ g1@2 ~ a1@3", K: "c2@15 ~@3 c2@2 ~@4 c2@17 ~ e1@5 ~", L: "f1@15 ~@3 f1 ~@5 f1@20 ~@4",
M: "f1@13 ~@5 f1 ~@5 f1@16 ~@2 g1@3 a1@3", N: "c2@15 ~@3 c2 ~@5 c2@18 ~@3 g1@3",
O: "c2@14 ~@4 c2 ~@5 c2@11 ~ g1@3 a1@3 c2@6", P: "d2@15 ~@3 d2@2 ~@4 d2@17 ~ a1@6",
Q: "g1@15 ~@3 g1 ~@5 g1@11 ~ d2@6 g2@6", R: "c2@14 ~@4 c2 ~@5 c2@11 ~ b1@12",
S: "a1@14 ~@4 a1@2 ~@4 a1@5 ~ e2@6 a2@6 a1@6", T: "d2@13 ~@5 d2@24 a2@6", U: "g2@18 g1@17 ~ g2@12", V: "g3@23 ~",
W: "[~@5 c2@8 ~ c2@9 c2@5 ~ a#2@3 c3@2 ~ c3@3 c3@3 c3@6 c3@5 ~ f1@15 ~@3 f1@2 ~@4 f1@17 ~ c2@5 ~ f2@14 ~@4 f2 ~@5 f2@17 ~ f1@6 e1@13 ~@5 e1@2 ~@4 e1@11 ~ a1@2 ~ b1@2 ~ e2@6 a1@14 ~@4 a1@2 ~@4 a1@17 ~ c2@2 ~ c#2@3 d2@15 ~@3 d2@2 ~@4 d2@11 ~ g1@3 a1@3 c2@5 ~ g1@16 ~@2 g1@6 c2@3 d2@2 ~ g2@6 c3@3 d3@3 g3@6 g2@43]/8",
X: "~@5 f1@13 ~@5 f1 ~@5 f1@19",
Y: "[~@5 f1@15 ~@3 f1@2 ~@4 f1@15 ~@3 g1@2 ~ a1@3 c2@14 ~@4 c2 ~@5 c2@17 ~ g1@2 ~ a1@3 c2@15 ~@3 c2@2 ~@4 c2@17 ~ e1@5 ~ f1@15 ~@3 f1 ~@5 f1@19]/4",
Z: "[~@5 f1@13 ~@5 f1 ~@5 f1@16 ~@2 g1@3 a1@3 c2@15 ~@3 c2 ~@5 c2@18 ~]/2",
AA: "[~@2 g1@3 c2@14 ~@4 c2 ~@5 c2@11 ~ g1@3 a1@3 c2@6 d2@15 ~@3 d2@2 ~@4 d2@17 ~ a1@6 g1@15 ~@3 g1 ~@5 g1@11 ~ d2@6 g2@6 c2@14 ~@4 c2 ~@5 c2@11 ~ b1@12 a1@14 ~@4 a1@2 ~@4 a1@5 ~ e2@6 a2@6 a1@6 d2@13 ~@5 d2@24 a2@6 g2@18 g1@17 ~ g2@12 g3@43]/8",
AB: "[~@10 c2@8 ~ c2@9 c2@5 ~ a#2@3 c3@2 ~ c3@3 c3@3 c3@6 c3@5 ~ f1@14 ~@4 f1 ~@5 f1@18 b1@3 c2@3 f2@16 ~@2 f2@2 ~@4 f2@14]/3",
AC: "[~ c2@3 d2@3 f2@3 e2@17 ~ e1@2 ~@4 e1@18 g1@2 ~ g#1@3 a1@15 ~@3 a1 ~@5 a1@5 ~ d2@3 e2@3 a2@6 e2@5 ~ d2@15 ~@3 d2@2 ~@4 d2@14]/3",
AD: "~@4 e2@3 f2@3 g2@2 ~ d2@3 g1@10 ~@2 g1@2 ~@4 g1@14",
AE: "[~ d2@3 e2@3 g2@3 c2@14 ~@4 c2@2 ~@4 c2@18 g1@3 a1@3 c2@11 ~ c2@6 g2@3 a2@3 c3@2 ~ c3@2 ~ c3@6 a2@2]/2",
AF: "[~ g2@3 c2@6 f1@15 ~@3 f1 ~@5 f1@18 c2@3 d2@3 f2@15 ~@3 f2 ~@5 f2@18 d2@3 e2@3 e1@15 ~@3 e1@2 ~@4 e1@5 ~ a1@3 b1@3 e2@6 e1@5 ~ a1@15 ~@3 a1@6 g2@3 a2@3 a2@5 ~ a2@2]/4",
AG: "~ e2@3 a1@6 d2@16 ~@2 d2 ~@5 d2@14", AH: "~@4 a1@3 g#1@3 g1@18 g1@3 ~@3 g1@14",
AI: "[~@10 g1@12 c2@3 d2@3 ~ g2@6 c3@3 d3@4 ~@21 f1@81, ~@7 g3@5 ~@12]/3", AJ: "[~@15 f1@105 ~ [c1,c2]@145 ~@22]/6",
})).s("gm_fretless_bass").gain(0.68)
// other · synth drum
const synth_drum = note("<~@38 A B C@2 D@2 E ~@23 F G H I F J K ~@24>".pickRestart({
A: "~@5 b0@3 ~@3 b0@3 b0@3 ~@6 b0@3 ~@22", B: "~@2 b0@3 b0@3 ~@3 b0@3 b0@3 ~@6 b0@3 b0@3 ~@19",
C: "[~@5 b0@3 ~@3 b0@3 b0@3 ~@6 b0@3 b0@3 ~@18 b0@3 b0@3 b0@3 b0@3 b0@3 ~@6 b0@3 ~@25]/2",
D: "[~@5 b0@3 ~@3 b0@3 b0@3 ~@6 b0@3 ~@21 b0@3 b0@3 b0@3 b0@3 ~@12 b0@3 ~@22]/2", E: "~@5 b0@3 ~@40",
F: "~@10 b0@3 ~@3 b0@3 b0@3 ~@6 b0@3 ~@17", G: "~@7 b0@3 b0@3 ~@3 b0@3 b0@3 ~@6 b0@3 b0@3 ~@14",
H: "~@10 b0@3 ~@3 b0@3 b0@3 ~@6 b0@3 b0@3 ~@14", I: "~@4 b0@3 b0@3 b0@3 b0@3 b0@3 ~@6 b0@3 ~@20",
J: "~@4 b0@3 b0@3 b0@3 b0@3 ~@12 b0@3 ~@17", K: "~@10 b0@3 ~@35",
})).s("gm_synth_drum").gain(0.16)
// other · distortion guitar
const distortion_guitar_3 = note("<~@46 A@7 ~@23 B@8 C@7 ~@8>".pickRestart({
A: "[~@5 f2@95 ~ e2@47 ~ a2@47 ~ d3@47 ~ g2@48 ~@43]/7",
B: "[~@10 f2@96 e2@48 a2@47 ~ d3@48 g2@47 ~ c3@47 ~ c3@38]/8", C: "[~@10 f2@95 ~ e2@48 a2@48 d3@47 ~ g2@78 ~@8]/7",
})).s("gm_distortion_guitar").gain(0.7).pan(0.4)
// drums · kick
const kick = s("bd").struct(`<
~@23 A@14 ~ B C D B E B@2 ~ F@6 B F@7 G F@6 ~ H I H J K J H ~ L@3 M N O P Q L@2 N L@3 R S ~ S ~@5
>`.pickRestart({
A: "x ~@2 x!2 ~@3", B: "~@5 x ~@42", C: "~@2 x ~@2 x ~@42", D: "~@5 x ~@41 x", E: "~@5 x ~@5 x ~@35 x",
F: "~@5 x ~@17 x ~@5 x ~@18", G: "~@5 x ~@23 x ~@5 x ~@12", H: "~@5 x ~@18", I: "~@7 x ~@2 x ~@37",
J: "~@2 x ~@2 x ~@18", K: "~@5 x ~@2 x ~@15", L: "~@5 x ~@8 x ~@2 x ~@6", M: "~@10 x ~@17 x ~@11 x ~@2 x ~@4",
N: "~@2 x ~@2 x ~@8 x ~@2 x ~@6", O: "~@10 x ~@17 x ~@14 x ~@4", P: "~@7 x ~@2 x ~@17 x ~@5 x ~@13",
Q: "~@2 x ~@2 x ~@11 x ~@6", R: "~@10 x ~@18 x ~@5 x ~@12", S: "~@5 x ~@10",
})).gain(0.72)
// drums · kick · soft notes
const kick_soft = s("bd").struct("<~@38 A B@2 C D E ~@16 F ~@7 G H@2 I J K ~@4 L ~@2 M ~@17>".pickRestart({
A: "~@11 x ~@2 x ~@8 x ~@24", B: "~@11 x ~@2 x ~@8 x ~@2 x ~@21", C: "~@2 x ~@5 x ~@2 x ~@8 x ~@27",
D: "~@14 x ~@8 x ~@24", E: "~@2 x ~@5 x ~@14 x ~@24", F: "~@13 x ~@10", G: "~@16 x ~@2 x ~@8 x ~@19",
H: "~@16 x ~@2 x ~@8 x ~@2 x ~@16", I: "~@7 x ~@5 x ~@2 x ~@8 x ~@22", J: "~@19 x ~@8 x ~@19",
K: "~@7 x ~@5 x ~@14 x ~@19", L: "~ x ~@10", M: "~@5 x",
})).gain(0.32)
// drums · snare
const snare = s("sd").struct("<~@23 A@7 ~ B@5 C ~@9 D@6 ~ D@13 E ~@9 F@14 G ~@8>".pickRestart({
A: "~@3 x", B: "~ x ~ x", C: "~ x ~@2", D: "~@17 x ~@23 x ~@6", E: "~@17 x ~@30", F: "~@11 x ~@11 x",
G: "~@11 x ~@12",
})).gain(0.8)
// drums · low tom
const low_tom = s("lt").struct("<~@26 A ~@9 B ~@8 C D ~@5 E ~@7 E ~@5 F ~@8 G H ~@7 I J ~@13>".pickRestart({
A: "~@3 x", B: "~@13 x ~@2", C: "~@39 x ~@2 x ~@4 x", D: "x ~ x!2 ~@44", E: "~@41 x ~@6", F: "~@11 x",
G: "~@38 x ~@2 x ~@2 x ~@2 x", H: "~@2 x ~@2 x ~@2 x ~@39", I: "~@4 x ~@2 x ~@40", J: "~@23 x",
})).gain(0.8)
// drums · hihat
const hihat = s("hh").struct("<~@23 A B C D E C B F A C@2 G B F ~@16 H I J K L I M N O P@2 Q I R ~@32>".pickRestart({
A: "~ x!3", B: "x ~ x!3 ~ x ~", C: "x!4", D: "x ~ x!4 ~@2", E: "~@2 x!3 ~ x ~", F: "x ~ x!3 ~@3", G: "x ~ x!5 ~",
// … 83 more lines
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.