0:00/0:00
// E bello riaverti — Pooh
// 67 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 1 "EBELLORIA" named as a mallet, played on tubular bells (its piano patch is not one)
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 84 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: The whole transcription plays 13 ms behind the beat; the grid follows it, so its parts stay together.
setcpm(67/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.
// chords · tubular bells · "EBELLORIA"
const tubular_bells = note(`<
A B C D E F G H@2 I J@2 I J@2 H@2 I J@2 I J@2 K L M N O P Q R S T U V W@2 X@6 Y Z AA N O AB Q AC AD AE Y Z AA N O P Q
AC AD AE Y Z AA N O P Q AC AD AE Y Z AA N O P Q AC AD AF@2
>`.pickRestart({
A: "~@12 c4@11 ~@13 c4@11 ~, ~@24 g4@23 ~",
B: "~@18 d4@5 ~@13 g#3@11 ~, g2@23 ~ [g#2,e4]@23 ~, ~@12 b3@11 ~@7 e3@17 ~", // C#m
C: "c4@12 ~@6 e4@5 ~@19 a3@6, a2@23 ~ [g2,a4]@24, ~@12 c4@11 ~@7 e4@17 ~, ~@36 c4@11 ~", // Gsus2
D: "~@18 c4@5 ~@13 a3@12, f2@47 ~, ~ f3@6 ~, ~@12 a3@11 ~ f4@24",
E: "~@18 c4@5 ~@19 c#4@5 ~, e2@24 [c#2,e4]@23 ~, ~@6 e3@18 ~@6 e3@17 ~, ~@12 g3@11 ~@13 a3@11 ~", // C#m
F: "~@18 d4@5 ~@13 a3@11 ~, d2@47 ~, d4@18 ~@6 f4@23 ~, ~@12 a3@11 ~@25",
G: "~@12 d4@11 ~@13 d4@11 ~, d2, ~@24 a4@23 ~",
H: "[~@42 f3@5 ~@43 a3@5 ~, ~@6 f3@36 ~@24 e4@6 g4@23 ~, ~@12 a3@24 a3@11 ~@7 a3@30 c#4@11 ~, ~@18 c4@12 c4@17 ~@13 c#4@18 e4@17 ~, ~@24 f4@71 ~]/2",
I: "~@18 d4@5 ~@19 f3@5 ~, ~ f3@6 ~, ~@12 a3@11 ~@7 d4@17 ~, ~@3 a3",
J: "[~@42 g3@5 ~@43 a3@5 ~, ~@6 g3@36 ~@24 e4@12 e4@17 ~, ~@12 a#3@24 a#3@11 ~@7 a3@36 ~@6, ~@18 e4@12 e4@17 ~@13 c#4@24 c#4@11 ~, ~@24 g4@48 g4@23 ~]/2",
K: "f#3@2 f#3@2 ~@3 d3 ~@2 a3 f#3 ~ f#3 [a3,d4]@2, d2, [a3,d4]@4 [a3,d4]@4 d4@3 a3@2 ~@3, ~@18 f#3@5 ~ a3@6 ~@3 e4@14 ~, ~@27 d3@9 d3@11 ~", // D5
L: "e3@6 ~@3 c#3@2 ~@7 e3@6 [f#2,a#3]@12 f#3@6 [f#2,f#3]@6, c#2@23 ~ f#1@24, [a3,c#4]!2 ~ a#3, ~@6 e3@5 ~ e3@6 ~@6 f#3@6 ~@18, ~@5 c#3@3 ~@8", // F# A
M: "[b3,d4]@12 ~@6 [b2,f#3]@6 ~@3 a2@6 [f#3,b3]@3 ~@3 f#3@3 d4@5 ~, b1 a1, f#3@6 ~@6 [b3,d4]@12 d4@11 ~ a2@11 ~, ~@8 b3@2 ~ c#4@2 c#4@3", // Bm B5 Bm
N: "g3@6 g3@5 ~ [a3,b3]@6 ~@3 g2@3 ~@6 [a3,d4]@3 ~@9 [a3,d4]@6, g1@47 ~, g2@18 g3@5 ~ [g3,b3]@12 ~@3 g3@9, [b3,d4]@12 d4@11 ~ [a3,d4]@6 ~@3 [a3,d4]@9 ~@6, ~@27 g2@8 ~ g2@12", // Asus2 D5 G Bm D5
O: "[f#2,a3,d4]@4 ~@2 f#3@2 f#3@2 ~ b2 ~@2 f#3@2, f#1@23 ~ b1@23 ~, f#3 ~ [a3,d4]@2 ~@2 [b3,d#4]@2, ~@2 f#3 ~@2 f#3!2 ~, ~@15 f#2@8 ~ [b2,b3,d#4]@12 ~@3 b2@8 ~", // D D5 B
P: "g3@6 ~@3 e3@3 ~@6 g3@6 g3@6 g3@3 [g3,b3]@3 ~@3 g3@3 [g3,b3,d4]@5 ~, e2 d2, [e3,b3,e4]@2 g3 ~@5, ~@2 g3@2 [b3,e4]@4 ~@3 d4@3 ~@2, ~@5 e3@3 [d3,b3,d4]@4 d3@4", // G E5 G
Q: "a3@2 a3@2 a3@2 ~ c#3 ~@2 [a3,b3,e4] a3 ~@2 c#3@2, c#2@47 ~, c#3@18 a3@5 ~ [a3,e4]@6 ~@3 [b3,e4]@14 ~, [c#4,e4]@12 [c#4,e4]@12 c#4@12 ~@3 a3@8 ~, ~@9 c#3@3 c#3@2 ~@2", // Asus2 A5 E5 C#m
R: "f#3@6 f#3@6 ~@9 d3@3 ~@6 a3@3 [f#3,a3]@3 ~@3 [f#3,a3]@3 [f#3,a3,d4]@5 ~, d2, d3@18 f#3@5 ~ [f#3,a3]@6 ~@3 e4@14 ~, [a3,d4]@12 [a3,d4]@12 d4@11 ~@13, ~@27 d3@9 d3@11 ~", // F#m D F#m D5
S: "e3@2 ~ a2 ~@2 [e3,a3]@2 e3@2 ~ a#2 ~@2 e3@2, a1@23 ~ a#1@24, [a2,a3,c#4]@4 ~ a2@3 [a#2,a#3,c#4]@4 [e3,a#3]@2 ~@2, ~@6 e3@6 [e3,a3,c#4]@6 ~@12 e3@5 ~ c#4@12, ~@13 a#2@3", // A5 A A#m Edim A
T: "f#3@2 ~@6 [f#3,a3,b3,d4]@2 ~@5 b2, b1, [b2,b3,d4]@3 b2@3 f#3@2 ~@2 [f#3,a3]@2 [a3,d4]@2 [f#3,a3,b3,d4]@2, ~@6 f#3@5 ~ [b3,d4]@9 b2@12 b2@6 b2@6 ~@3", // Bm7 Bm F#m D5 Bm7 Bm
U: "e3@6 e3@6 ~@6 e3@5 ~@19 e3@5 ~, e2, b3@12 b3@11 ~@13 e3@6 ~@6, ~@13 b2@3",
V: "~ a4, d2@47 ~, a3 a3@7, ~ a2@3 d4@12, ~@4 a2 e4 f#4 a2@9",
W: "[~@42 a3@5 ~@43 c#4@5 ~, a2@47 ~ g#2@36 f4@11 ~, ~@6 a3@30 c#4@11 ~@7 c#4@24 g#4@17 ~, ~@12 c#4@18 e4@17 ~@13 f4@6 g#4@6 b4@23 ~, ~@18 e4@6 a4@71 ~]/2",
X: "[~@18 f#4@5 ~@19 a3@6 ~@42 b3@5 ~@43 c#4@6, f#2@23 ~ e2@23 ~ d2@36 d4@11 ~ c#2@47 ~, ~@6 a3@30 c#4@11 ~@7 b3@24 g#4@17 ~@7 c#4@30 f4@11 ~, ~@12 c#4@12 a4@71 ~@13 f4@18 g#4@17 ~, ~@30 f#4@18 ~@12 d4@6 g#4@6 b4@42 g#4@6 b4@23 ~]/3",
Y: "f#3@2 ~@5 d3 ~@2 [a3,e4] f#3 ~ f#3 [f#3,a3,d4]@2, d2, [a3,d4]@9 d3@9 f#3@6 a3@6 ~@3 e4@14 ~, ~@6 f#3@6 [a3,d4]@11 ~ d4@9 a3@6 ~@9, ~@27 d3@9 d3@11 ~", // A5 D D5
Z: "e3@2 ~ c#3 ~@2 e3@2 f#3@2 f#3@2 f#3@2 [f#2,f#3]@2, c#2@24 f#1@23 ~, [c#3,a3,c#4]@11 ~ e3@6 ~@30, ~@6 e3@6 [a3,c#4]@12 ~@12 a#3@11 ~, ~@15 c#3@8 ~ [f#2,a#3,c#4]@12 ~@12", // F# F#m A F#
AA: "f#3@6 [b2,f#3]@5 ~ f#3@6 [b2,f#3]@6 ~@6 [f#3,b3]@3 [f#3,b3]@3 ~@3 f#3@3 d4@6, b1@24 a1@23 ~, [b3,d4]!2 d4 ~, ~@8 b3@2 ~ c#4@2 c#4@3, ~@27 a2@9 a2@11 ~", // B5 Bm
AB: "g3@2 ~ e3 ~@2 g3@2 g3@2 g3!2 ~ g3 [g3,b3,d4]@2, e2 d2, [e3,b3,e4]@2 g3 ~@5, ~@2 g3@2 [b3,e4]@4 ~@3 [b3,d4]@3 ~@2, ~@15 e3@9 [d3,b3,d4]@11 ~ d3@12", // G E5 Bm G
AC: "f#3@6 f#3@6 f#3@6 ~@3 d3@3 ~@6 [a3,e4]@3 [f#3,a3]@3 ~@3 [f#3,a3]@3 [f#3,a3,d4]@5 ~, d2, d3@18 f#3@5 ~ [f#3,a3]@6 ~@3 e4@15, [a3,d4]@12 [a3,d4]@12 d4@11 ~@13, ~@27 d3@8 ~ d3@11 ~", // A5 F#m D F#m D5
AD: "e3@2 ~ a2 ~@2 [e3,a3,c#4]@2 e3@2 ~ a#2 ~@2 e3@2, a1 a#1, [a2,a3,c#4]@4 ~ a2@3 [a#2,a#3,c#4]@4 [e3,a#3]@2 ~@2, ~ e3 [e3,a3,c#4] ~@2 e3 c#4@2, ~@13 a#2@3", // A A#m Edim A
AE: "f#3@2 ~@2 f#3@2 ~@2 [f#3,b3,d4]@2 ~@5 b2, b1, [b2,b3,d4]@9 b2@9 f#3@5 ~@7 [f#3,d4]@5 ~ [f#3,d4]@6 [f#3,b3,d4]@6, ~@2 f#3@2 [b3,d4]@3 b2@4 b2@2 b2@2 ~", // Bm D Bm
AF: "[f#3@6 ~@6 f#3@6 ~@6 [f#3,b3,d4]@6 ~@15 b2@16 ~@35, b1 ~, [b2,b3,d4]@9 b2@9 f#3@5 ~@7 [f#3,d4]@6 [f#3,d4]@6 [f#3,b3,d4]@6 ~@48, ~@6 f#3@5 ~ [b3,d4]@9 b2@12 b2@6 b2@6 ~@51]/2", // Bm D Bm
})).s("gm_tubular_bells").gain(0.46).pan(0.4)
// chords · tubular bells · "EBELLORIA" · soft notes
const tubular_bells_soft = note(`<
A B C D ~ E F G H I@2 J I@2 J G H I@2 J I@2 J K L M N O P ~ Q R S T ~@9 U V W N O P ~ X Y Z U V W N O P ~ X Y Z U V W
N O P ~ X Y Z U V W N O P ~ X Y Z ~
>`.pickRestart({
A: "~@18 e4@5 ~@19 g3@5 ~, c3@47 ~, ~ g3@6 ~, ~@30 e4@17 ~", B: "~@6 g3@17 ~@19 b3@5 ~", C: "~@6 a3@17 ~@25",
D: "~@42 f3@5 ~, ~@5 c4@3", E: "~@42 f3@5 ~, ~ f3@6 ~, ~@30 d4@17 ~",
F: "~@18 f4@5 ~@19 a3@5 ~, ~ a3@6 ~, ~@30 f4@17 ~", G: "f2@47 ~", H: "e2@47 ~",
I: "[d2@23 ~ c2@23 ~ a#1@47 ~, ~@24 f4@71 ~]/2", J: "a1@47 ~",
K: "~@4 f#3@2 ~@2 f#3@2 [f#3,e4] ~@2 a3 f#3@2, ~@3 d3@4 ~@9", L: "c#3@3 ~@7 f#3@2 c#4@4, ~@2 c#4 ~",
M: "~@2 [b2,f#3]@2 f#3@2 ~@2 f#3@2 [f#3,b3] ~@3 f#3@2", N: "~@3 [a3,b3] ~@4", O: "~@3 f#2 ~@12, ~ f#3 ~@6",
P: "~@7 b3 ~@8", Q: "~@4 f#3@2 ~@4 [f#3,e4] ~@5", R: "~@3 c#4 ~@3 a#3", S: "~@2 f#3 ~@2 [b3,d4] f#3 ~",
T: "g#3@3 ~ g#3@3 ~ e3@2 ~@2 [g#3,b3]@4, ~@3 b2@4 b2@3 e3@2 ~@4, ~@4 e3@2 ~@2 [g#3,b3]@3 b2@2 ~@3", // G#m
U: "~@4 f#3@2 ~@2 f#3@2 f#3 ~@2 a3 ~@2", V: "~@3 c#4", W: "~@4 f#3 ~@2 f#3", X: "~@10 f#3 ~@5", Y: "~@7 a#3",
Z: "~@5 b3 ~@2",
})).s("gm_tubular_bells").gain(0.31).pan(0.4)
// bass · electric bass finger
const bass = note(`<
~@15 A B C D E F D E G H I J K L M N O P Q R S T U V W U X Y Z AA AB AC AD AE AF AG AH AI Z AA AB AC AD AE AF AG AH AI
Z AA AB AC AD AE AF AG AH AI Z AA AB AC AD AE AF AG AH AI ~
>`.pickRestart({
A: "f2", B: "e2", C: "d2@24 c2 ~@5 c2@18", D: "a#1", E: "a1", F: "d2 c2", G: "d2@19 ~@2 d2 ~@2 d2 ~@5 d2@18",
H: "c#2@19 ~@2 c#2@2 ~ f#1@2 ~@4 f#1@14 ~ f#1@3", I: "b1@20 ~ b1@2 ~ a1 ~@5 a1@12 b1@6",
J: "g1@19 ~@2 g1 ~@2 g1 ~@5 g1@17 ~", K: "f#1@19 ~@2 f#1@3 b1@12 ~@3 b1@3 d#2@6",
L: "e2@19 ~@2 e2@3 d2 ~@5 d2@13 ~@2 d2@3", M: "c#2@19 ~@2 c#2@2 ~ a1@2 ~@4 a1@18", N: "d2@21 a1@2 ~ d2@2 ~@4 d2@17 ~",
O: "a1@19 ~@2 a1 ~@2 a#1@23 ~", P: "b1@19 ~@2 b1@2 ~ a1 ~@5 a1@5 ~ f#1@3 a1@3 b1@5 ~", Q: "e1", R: "d1@47 ~",
S: "a1@16 ~@2 a1 ~@5 a1@18 e2@3 a2@3", T: "g#2@11 c#2 g#2@2 c#2 g#2", U: "f#2@19 ~@2 f#2@2 ~ e2 ~@5 e2@12 ~@3 e2 ~@2",
V: "d2@19 ~@2 d2 ~@2 d2@15 d3@3 d2@5 ~", W: "c#2@23 ~ c#2@6 c#3@3 c#3@3 c#3@3 g#2@3 c#2@6",
X: "d2@19 ~@2 d2 ~@2 d2 ~@5 d2@14 ~ d2@2 ~", Y: "c#2@16 ~@5 c#2 ~@2 c#2@6 g#2@3 c#2@3 c#3@3 g#2@3 c#2@4 ~@2",
Z: "d2@12 d2@9 d2 ~@2 d2@9 d2 ~@2 d3@3 a2@3 d2@6", AA: "c#2@11 ~ c#2@8 ~ c#2@2 ~ f#1@9 f#1@3 f#1@3 f#1@3 f#1@6",
AB: "b1@4 b1@2 f#1 b1 a1!2 a1@2 a1!2 a1@2", AC: "g1@6 g1@6 g1@9 g1 ~@2 g1 ~@2 g1@3 g1@18",
AD: "f#1@2 f#1@2 f#1@3 f#1 b1@2 b1@3 b1 d#2@2", AE: "e2@6 e2@3 e2@3 e3@6 b2@3 e2@3 d2 ~@5 d2@6 d3@6 a2@3 d2@3",
AF: "c#2@6 c#2@3 c#2@3 c#2@9 c#2@2 ~ a1@2 ~@4 a1@6 a2@3 a1@3 c#2@6",
AG: "d2@6 d2@3 d2@3 d3@9 a1@2 ~ d2@2 ~@4 d2@6 d3@3 a2@3 d2@6",
AH: "a1@3 a1@3 a1@3 a1@3 a1@9 a1 ~@2 a#1 ~@5 a#1@6 a#1@3 a#1@3 a#1@6",
AI: "b1@2 ~@4 b1@6 b2@3 f#2@3 b1@3 b1@2 ~ b1 ~@5 b1@5 ~ f#1@3 b1@6 b1@3",
})).s("gm_electric_bass_finger").gain(0.47)
// chords · string ensemble 2
const string_ensemble_2 = note("<A@7 ~@7 B C@8 D@4 E@5 F@2 G@8 H@5 I@7 J@3 I@7 J@3 I@7 J@3 K@6 ~>".pickRestart({
A: "[[e4,c5]@47 [d4,b4]@47 ~ [e4,c5]@47 ~ [f4,c5]@47 ~ c5@23 ~ c#5@23 ~ [f4,d5]@71 ~@26, ~@191 e4@47 ~@98]/7", // C G C F5 Dm
B: "~@47 [f3,a3,c4]", // F
C: "[~@47 [e3,c#4]@47 ~@25 c4@23 ~ [g3,a#3]@47 ~ c#4@47 ~@25 c4@23 ~ [g3,a#3]@47 ~ [a3,c#4]@47 ~ [a3,d4], ~@47 a3@95 ~ e4@96 f3@47 ~@98, ~@95 d4@95 ~@49 d4@96 ~@49, ~@95 f3@47 ~@49 a3@96 e4@96 ~]/8", // C#m Gm A D5
D: "[~@71 a#3@23 ~ b3@23 ~ a3@23 ~ b3@47 ~ a3, ~@47 c#4@47 ~ d4@97]/4",
E: "[~@23 d#4@23 ~ e4@24 d4@23 ~ c#4@47 ~ d4@47 ~@25 a#3@24 [b3,d4], ~@23 b3@71 ~ a3@119 ~@26, ~@191 c#4@47 ~@2]/5", // Bm
F: "[~@23 a3@23 ~ [b3,e4]@47 ~ [a3,d4]]/2", // E5 D5
G: "[~@47 [a3,c#4,e4]@47 ~ [g#3,f4]@47 ~@25 e4@23 ~ [b3,d4]@48 f4@47 ~@25 e4@24 [b3,d4,g#4]@48 [c#4,f4], ~@95 c#4@95 ~ g#4@96 a3@47 ~@50, ~@143 f#4@96 ~@48 f#4@96 ~, ~@143 a3@47 ~@49 c#4@95 ~@50]/8", // A C# Bm G#dim C#
H: "[~@47 d4@47 ~@25 a#3@23 ~ b3@23 ~ a3@23 ~ b3@47 ~ a3, ~@47 a3@71 ~@122, ~@95 c#4@47 ~ d4@97]/5",
I: "[~@23 d#4@23 ~ e4@24 d4@23 ~ c#4@47 ~ d4@47 ~@25 a#3@23 ~ [b3,d4]@47 ~ [a3,d4]@48 c#4, ~@23 b3@71 ~ a3@119 ~@122, ~@191 c#4@47 ~@98]/7", // Bm D5
J: "[~@23 a#3@23 ~ b3@23 ~ a3@23 ~ b3@47 ~ a3, ~@47 d4@97]/3",
K: "[~@23 d#4@23 ~ e4@24 d4@23 ~ c#4@47 ~ d4@47 ~@25 a#3@23 ~ [b3,d4]@47 ~@2, ~@23 b3@71 ~ a3@119 ~@74, ~@191 c#4@47 ~@50]/6", // Bm
})).s("gm_string_ensemble_2").gain(0.4)
// other · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
~@6 A B C D@2 E@3 F B G H@2 E@3 I J K L M N@2 O P Q R S T U V W V X Y@2 Z J K L M N@2 O P Q R J K L M N@2 O P Q R ~@21
>`.pickRestart({
A: "~@9 a3!2 g3", B: "a3@8 ~@5 a3!2 g3", C: "a3@9 ~ a3@2 g3@23 ~@13, ~@9 a#3@2 ~@37",
D: "[~@15 a3@3 a3@3 a3@3 f4@18 a3@3 a3@12 a#3 a3@2 g3@24 ~@12]/2",
E: "[~@15 g3@3 g3@3 g3@3 e4@15 g3@6 g3@12 ~ g3@2 f3@18 ~@3 a3@3 a3@6 a#3@3 g3@24 ~@15 g3@4 g3@4 a3@4, ~@57 a3@2 ~@85]/3",
F: "e3@6 ~@3 a3!2 g3", G: "a3@9 a#3@2 a3@2 g3@23 ~@12",
H: "[~@15 a3@3 a3@3 a3@3 f4@18 a3@3 a3@12 a#3@2 ~ g3@24 ~@12, ~@59 a3@2 ~@35]/2", I: "e3 ~", J: "f#4 ~",
K: "~@2 g4@2 e4@2 d4 e4@2 f#4@3 d4@2 c#4@2", L: "d4 ~", M: "b4 ~",
N: "[~@2 c5@2 a4@2 g4 a4@2 b4@3 g4@2 f#4 g4@7 ~@10]/2", O: "~@4 a4@3 a4 a4@2 g4@3 ~ g4@2", P: "g4 f#4@3 ~@4",
Q: "~@4 g4@3 g4 g4@2 e4@6", R: "e4 d4@3 ~@4", S: "~@4 e4 ~ e4 ~ e4@2 b3@4 b3@2", T: "b3@3 a3@9 ~@6 a3@2 a3@2 d4@2",
U: "c#4@8 ~@5 c#4!2 b3", V: "c#4@9 d4@2 ~ b3@23 ~@13, ~@11 c#4@2 ~@35", W: "~@2 c#4@2 c#4@2 c#4 a4@6 ~ c#4@2",
X: "~@2 b3@2 b3@2 b3 g#4@5 ~ b3@3",
Y: "[b3@9 c#4@2 ~ a3@18 ~@3 c#4@3 c#4 ~@5 d4@3 b3@24 ~@9 b3@3 b3@9 c#4@6, ~@11 b3@2 ~@83]/2", Z: "g#3 ~",
})).s("gm_acoustic_guitar_nylon").gain(0.64)
// other · string ensemble 1
const string_ensemble_1 = note("<A@7 ~@10 B@3 ~ C@5 D@6 E@3 ~@2 F@3 ~ G@5 H@6 I@8 J@3 ~@21>".pickRestart({
A: "[g3@23 a3@24 b3@24 g#3@24 a3@36 b3@6 a3@30 d4@6 c4@6 a3@6 f3@6 g3@24 a3@24 a3@72 ~@25]/7",
B: "[~@47 g5@95 ~@2]/3",
C: "[~@47 [c#4,c#5]@48 f#5@24 f#5@6 g5@6 a5@6 b5@6 e5@36 f#5@6 e5@6 f#5@24 e5@6 d5@6 c#5@6 a4@6 b4]/5", // C#
D: "[~@23 b5@6 c6@6 d6@6 e6@6 a5@30 b5@12 a5@3 b5@31 ~@2 b5@6 c#6@6 d6@6 e6@30 a5@6 b5@6 c#6@6 d6@24 a5@6 b5@6 c#6@6 d6@6 e6@30 a#5@6 b5@6 c#6@6 c#6]/6",
E: "[~@5 b5@18 a5@12 b5@12 g#5@48 a5@42 ~@7]/3", F: "[~@47 b5@95 ~@2]/3",
G: "[~@47 [f4,f5]@48 f#5@24 f#5@6 g5@6 a5@6 b5@6 e5@36 f#5@6 e5@6 f#5@24 e5@6 d5@6 c#5@6 a4@6 b4]/5", // F
H: "[~@23 b5@6 c6@6 d6@6 e6@6 a5@30 b5@12 a5@3 b5@31 ~@2 b5@6 c#6@6 d6@6 ~@30 a5@6 b5@6 c#6@6 d6@24 a5@6 b5@6 c#6@6 d6@6 e6@30 a#5@6 b5@6 c#6@6 c#6, ~@143 e6@48 ~@97]/6",
I: "[~@5 b5@22 ~@2 b5@6 a5@6 g5@6 f#5@24 f#5@6 g5@6 a5@6 b5@6 e5@36 f#5@6 e5@6 f#5@24 e5@6 d5@6 c#5@6 a4@6 b4@24 b5@6 c6@6 d6@6 e6@6 a5@30 b5@12 a5@3 b5@31 ~@2 b5@6 c#6@6 d6@6 ~@30 a5@6 b5@6 c#6@6 d6, ~@335 e6@48 ~]/8",
J: "[~@23 a5@6 b5@6 c#6@6 d6@6 e6@30 a#5@6 b5@6 c#6@6 c#6@6 b5@22 ~@2 b5@6 a5@6 g5@6 ~]/3",
})).s("gm_string_ensemble_1").gain(0.27).pan(0.9)
// other · string ensemble 1
const string_ensemble_1_2 = note("<A@7 ~@7 B@6 C@3 ~@11 D@6 E@3 ~@19 F@8 G@7 H@6 ~>".pickRestart({
A: "[c3@47 b2@24 g#2@24 a2@24 g2@24 f2@48 e2@48 d2@48 d3@24 ~@25]/7",
B: "[~@47 f3@48 e3@48 d3@24 c3@24 a#2@48 a2@48 d3]/6", C: "[~@23 c3@24 a#2@48 a2@48 ~]/3",
D: "[~@47 a3@48 g#3@48 f#3@24 e3@24 d3@48 c#3@48 f#3]/6", E: "[~@23 e3@24 d3@48 c#3@48 ~]/3",
F: "[~@47 f#5@54 g5@6 e5@6 d5@6 e5@6 f#5@6 d5@6 c#5@6 d5@48 b5@54 c6@6 a5@6 g5@6 a5@6 b5@6 g5@6 f#5@6 g5@60 a5@6 a5@6 a5@18 g5@6 g5]/8",
G: "[~@5 f#5@51 ~@3 g5@6 g5@6 g5@18 e5@6 e5@6 d5@39 ~@3 f#5@54 g5@6 e5@6 d5@6 e5@6 f#5@6 d5@6 c#5@6 d5@48 b5@49]/7",
H: "[~@5 c6@6 a5@6 g5@6 a5@6 b5@6 g5@6 f#5@6 g5@60 a5@6 a5@6 a5@18 g5@6 g5@6 f#5@51 ~@3 g5@6 g5@6 g5@18 e5@6 e5@6 d5@39 ~@4]/6",
})).s("gm_string_ensemble_1").gain(0.31)
// other · tremolo strings
const tremolo_strings = note("<A@2 B C@2 D@2 ~@77>".pickRestart({
A: "[e4@9 f4 d4 c4 d4 e4 c4 b3]/2", B: "c4", C: "[a4@9 a#4 g4 f4 g4 a4 f4 e4]/2", D: "[[d4,f4]@5 ~@3]/2",
})).s("gm_tremolo_strings").gain(0.25).pan(1)
// chords · harpsichord
const harpsichord = note("<A B C D E F G H@2 I@6 H@2 I@6 ~@12 J@2 K@6 ~@41>".pickRestart({
A: "~@3 e4 ~@3 g3, c3, ~ g3@5 c4@2, ~ c4 g4@2, ~@5 e4@3",
B: "~@3 d4 ~@3 b3, g2@24 [g#2,e4]@23 ~, ~ g3@3 ~ e3@3, ~@12 b3@12 ~@12 g#3@11 ~", // C#m
C: "~@3 e4 ~@3 a3, a2 [g2,a4], c4@2 c4@2 ~ e4@3, ~ a3@3 ~@2 c4@2", // Gsus2
D: "~@3 c4 ~@3 f3, f2, ~ f3@5 a3@2, ~ a3 f4@2, ~@5 c4@3",
E: "~@3 c4 ~@3 c#4, e2 [c#2,e4], ~@6 e3@18 ~@6 e3@17 ~, ~@12 g3@11 ~@13 a3@12", // C#m
F: "~@3 d4 ~@3 f3, d2, d4@3 ~ f4@4, ~ f3@5 a3@2, ~@2 a3@2 ~ d4@3",
G: "~@3 f4 ~@3 a3, d2, ~ a3@5 d4@2, ~ d4 a4@2, ~@5 f4@3",
H: "[~@7 f3 ~@7 a3, f2 e2, ~ f3@5 a3@2 ~ a3@4 e4@3, ~@2 a3@3 c4@3 ~@2 c#4 e4 g4@4, ~@3 c4 f4@10 c#4@2]/2",
I: "[~@3 d4 ~@3 f3 ~@7 g3 ~@7 a3, d2 c2 a#1@2 a1@2, ~ f3@5 a3@2 ~ g3@4 e4@3 ~@2 c#4@3 e4@3, ~@2 a3@2 f4@10 a#3@2 ~ a3@5 c#4@2, ~@5 d4@3 ~@2 a#3 e4 g4@7 e4 g4@4]/3",
J: "[~@7 a3 ~@7 c#4, a2 g#2, ~ a3@5 c#4@2 ~ c#4@4 g#4@3, ~@2 c#4@3 e4@3 ~@2 f4 g#4 b4@4, ~@3 e4 a4@10 f4@2]/2",
K: "[~@3 f#4 ~@3 a3 ~@7 b3 ~@7 c#4, f#2 e2 d2@2 c#2@2, ~ a3@5 c#4@2 ~ b3@4 g#4@3 ~@2 f4@3 g#4@3, ~@2 c#4@2 a4@10 d4@2 ~ c#4@5 f4@2, ~@5 f#4@3 ~@2 d4 g#4 b4@7 g#4 b4@4]/3",
})).s("gm_harpsichord").gain(0.22).pan(0.8)
// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
~@22 A@2 B C D E F G H I J@3 ~@8 K B C L E F G H I M K B C D E F G H I M K B C D E F G H I M K B C D E F G H I M ~
>`.pickRestart({
A: "[~@48 f#4@8 ~ [a3,d4,f#4]@2 ~ [a3,d4,f#4]@8 ~ [a3,d4]@5 ~ [a3,d4]@2 ~ [a3,d4]@5 ~ [a3,d4,f#4]@2 ~ [a3,d4,f#4]@5 ~ [a3,d4,f#4]@2 ~, ~@47 [a3,d4]@10 ~@12 f#4@14 ~@13]/2", // D D5 D D5
B: "[a3,c#4,e4]@8 ~ [a3,c#4,e4]@2 ~ [c#4,e4]@6 a3@2 ~ [a#3,c#4,e4]@5 ~ [a#3,c#4,e4]@2 ~ [a#3,c#4,e4]@5 ~ [a#3,c#4,e4]@2 ~ [a#3,c#4]@2 ~ [a#3,c#4]@2 ~ [a#3,c#4]@2 ~, ~@12 a3@5 ~@22 e4@8 ~", // A C#m A#dim A#m
C: "b3@5 ~ b3@5 ~ [b3,d4]@5 ~ [b3,d4]@2 ~ [a3,d4,f#4]@5 ~ [a3,d4]@2 ~ [a3,d4]@5 ~ [a3,d4,f#4]@2 ~ [a3,d4]@5 ~ [a3,d4]@2 ~, [d4,f#4]@11 ~ f#4@6 ~@9 f#4@8 ~@4 f#4@6 ~@3", // Bm D D5 D D5 D
D: "[g3,b3,g4]@8 ~ [g3,b3,g4]@3 [g3,b3,g4]@8 ~ [g3,b3]@2 ~ g3@2 ~ g3@2 ~ [g3,b3,g4]@5 ~ [g3,b3,g4]@3 [g3,b3]@5 ~ [g3,b3]@2 ~, ~@21 g4@8 ~@10 g4@6 ~@3, ~@24 b3@5 ~@19", // G
E: "[a3,d4,f#4]@9 [a3,d4]@2 ~ [a3,d4]@5 ~ [a3,d4]@2 ~ a3@2 ~ a3@2 ~ a3@2 ~ [a3,b3,f#4]@5 ~ [a3,b3,f#4]@5 ~ [a3,b3,f#4]@2 ~ [a3,b3,f#4]@2 ~, ~@12 f#4@6 ~@3 [d4,f#4]@8 ~@19", // D D5 B7 D
F: "g3@5 ~ g3@2 ~ [g3,b3]@2 ~ [g3,b3]@5 ~ [g3,b3]@3 [g3,b3,g4]@5 ~ [g3,b3]@2 ~ [g3,b3]@5 ~ [g3,b3]@5 ~ g3@3 g3@2 ~, [b3,e4]@11 ~ e4@6 ~@9 g4@8 ~ g4@11 ~, ~@42 b3@5 ~", // G E5
G: "[g3,c#4]@5 ~ [g3,c#4]@5 ~ [g3,c#4]@5 ~ [g3,c#4]@3 g3@2 ~ g3@2 ~ [g3,c#4]@3 [g3,c#4,e4]@5 ~ [g3,c#4]@5 ~ g3@2 ~ g3@2 ~, e4@11 ~ e4@6 ~@3 e4@8 ~@7 e4@11 ~, ~@21 c#4@5 ~@16 c#4@5 ~", // Gdim C#dim Gdim
H: "[a3,d4,f#4]@9 a3@2 ~ [a3,d4,f#4]@8 ~ [a3,d4]@2 ~ [a3,d4]@2 ~ [a3,d4,f#4]@2 ~ [a3,d4,f#4]@5 ~ [a3,d4,f#4]@2 ~ [a3,d4]@5 ~ [a3,d4]@2 ~, ~@21 f#4@5 ~@13 f#4@6 ~@3", // D D5 D D5
I: "[a3,c#4,e4]@11 ~ [a3,c#4,e4]@8 ~ [a3,c#4]@5 ~ [a#3,c#4]@3 [a#3,c#4,e4]@5 ~ [c#4,e4]@6 a#3@3 [a#3,c#4,e4]@2 ~, ~@21 e4@6 ~@9 a#3@5 ~@7", // A A#m A#dim C#m A#dim
J: "[[b3,d4,f#4]@11 ~ [b3,d4,f#4]@8 ~ [a3,d4]@2 ~ [a3,d4]@2 ~ [a3,d4]@2 ~ [a3,d4]@5 ~ [a3,d4,f#4]@2 ~ [a3,d4,f#4]@5 ~@4 e4@9 [g#3,d4]@2 ~ [g#3,d4]@5 ~ [g#3,d4]@2 ~ g#3@5 ~ g#3@2 ~ g#3@5 ~ [g#3,d4]@2 ~ [g#3,d4]@6 ~@12 [a3,d4]@5 ~ [a3,d4]@6 ~@3 f#4@23 ~, ~@21 f#4@14 ~@12 [g#3,d4]@10 ~@3 e4@6 ~@3 [d4,e4]@14 ~ e4@9 ~ a3@10 ~@14 a3@23 ~@3, ~@95 d4@9 ~@15 d4@23 ~@2, ~@96 f#4@23 ~@25]/3", // Bm D5 D G#dim D5 G#dim Dsus2
K: "[a3,d4,f#4]@8 ~ [a3,d4,f#4]@2 ~ [a3,d4,f#4]@8 ~ [a3,d4]@5 ~ [a3,d4]@2 ~ [a3,d4]@5 ~ [a3,d4,f#4]@2 ~ [a3,d4,f#4]@5 ~ [a3,d4,f#4]@2 ~, ~@21 f#4@14 ~@13", // D D5 D
L: "[g3,b3,g4]@8 ~ [g3,b3,g4]@2 ~ [g3,b3,g4]@8 ~ [g3,b3]@3 g3@2 ~ g3@2 ~ [g3,b3,g4]@5 ~ [g3,b3,g4]@2 ~ [g3,b3]@5 ~ [g3,b3]@2 ~, ~@21 g4@8 ~@10 g4@6 ~@3, ~@24 b3@5 ~@19", // G
M: "[b3,d4,f#4]@11 ~ [b3,d4,f#4]@8 ~ [b3,d4]@3 [b3,d4]@2 ~ [b3,d4]@2 ~ [b3,d4]@5 ~ [b3,d4,f#4]@2 ~ [b3,d4,f#4]@2 ~ [b3,d4,f#4]@5 ~, ~@21 f#4@14 ~@13", // Bm
})).s("gm_acoustic_guitar_steel").gain(0.11).pan(0.6)
// drums · kick
const kick = s("bd").struct(`<
~@35 A B A B A B C D E@2 F E@2 G E@3 F E@2 F E@2 G E@3 F E@2 F E@2 G E@3 F E@2 F E@2 G E@3 F ~
>`.pickRestart({
A: "x ~@2 x!2 ~@2 x", B: "x ~@6 x!2 ~ x ~@3 x ~", C: "x ~@6 x!2 ~@5 x ~", D: "x ~@6 x!2 ~ x ~@2 x ~ x",
E: "x ~@6 x!2 ~@2 x ~ x!2 ~", F: "x ~@7 x ~@2 x ~ x!2 ~", G: "x ~@2 x ~@4 x ~@2 x ~ x!2 ~",
})).gain(0.48)
// drums · snare
const snare = s("sd").struct(`<
~@35 A@10 B A@2 B A@3 C A@2 B A@2 B A@3 C A@2 B A@2 B A@3 C A@2 B A@2 B A@3 C ~
>`.pickRestart({
A: "~ x ~ x", B: "~@4 x ~@2 x ~ x ~@2 x ~@2 x", C: "~@4 x ~@2 x ~ x ~@2 x ~@3",
})).gain(0.64)
// drums · hihat
// … 33 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.