0:00/0:00
// Fantasia — Pooh
// 102 bpm, 4/4, key D 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: Full arrangement: all 84 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(102/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.
// other · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
A B@2 C@6 ~@3 D ~ E F G H I ~ J K L M ~@2 N ~@3 O P ~@2 Q ~@2 R S T U V W X U ~@3 Y ~ Z F G H AA ~ J AB AC AD ~@2 AE
~@3 AF AG ~@2 AH ~ AI@2 AJ AK AL AM@2 AN AO@4
>`.pickRestart({
A: "~@13 d4@3", B: "[~@2 f#4@3 ~ f#4@7 ~ f#4@7 ~ d4@4 c#4@2 b3@2 ~ a3@7 ~ c#4@7 ~ c#4@7 ~ a3@3 ~ g3@5]/2",
C: "[~@3 a3@4 b3@7 ~ d4@7 ~@2 d4@3 ~ c#4@7 ~ d4@4 e4@6 ~@2 f#4@7 ~ a3@3 ~ d4@7 ~ f#4@3 ~ f#4@7 ~@2 f#4@7 ~ d4@4 c#4@2 b3@2 a3@7 ~ c#4@7 ~ c#4@7 ~ a3@3 ~ g3@6 ~@2 a3@4 b3@7 ~ d4@6 ~@2 d4@3 ~ c#4@7 ~ d4@4 e4@6 ~@3 f#4@7 ~ a3@3 ~@3]/6",
D: "~@11 e4@8 c#4@11 ~@2", E: "~@11 c#4@5 ~@3 c#4@8 ~@5", F: "~@5 e4@3", G: "~@3 c#4@2 ~@3", H: "~@20 d4@11 ~",
I: "~@21 c#4@11", J: "~@9 c#4@4 e4@8 ~@11", K: "~@14 f#4@5 ~@3 f#4@7 ~@3", L: "~@26 a4@5 ~",
M: "~@18 e4@3 ~@5 e4@4 ~@2", N: "~@11 c#4@2 ~@3", O: "~@19 a4@3 ~@4 a4@4 ~@2", P: "~@14 f#4@3 ~@9 f#4@4 ~@2",
Q: "~@21 c#4@9 ~@2", R: "~ d4@7 ~ f#4@3 ~ f#4@7 ~ f#4@7 ~ d4@3", S: "~ c#4@2 b3@2 a3@7 ~ c#4@7 ~ c#4@7 ~ a3@3",
T: "~ g3@6 ~ a3@3 ~ b3@7 ~ d4@6 ~@2 d4@3 ~", U: "c#4@7 ~ d4@4 e4@6 ~@2 f#4@7 ~ a3@3 ~",
V: "d4@7 ~ f#4@3 ~ f#4@7 ~ f#4@7 ~ d4@4", W: "c#4@2 b3@2 a3@7 ~ c#4@7 ~ c#4@7 ~ a3@3 ~",
X: "g3@6 ~@2 a3@3 ~ b3@7 ~ d4@6 ~@2 d4@3 ~", Y: "~@12 e4@8 c#4@11 ~", Z: "~@12 c#4@5 ~@3 c#4@8 ~@4", AA: "~@5 c#4@3",
AB: "~@12 f#4@5 ~@3 f#4@7 ~@5", AC: "~@24 a4@5 ~@3", AD: "~@16 e4@3 ~@5 e4@4 ~@4", AE: "~@9 c#4@2 ~@5",
AF: "~@14 a4@3 ~@5 a4@4 ~@6", AG: "~@5 f#4@2 ~@4 f#4@2 ~@3", AH: "~@18 c#4@9 ~@5",
AI: "[~@29 d4@7 f#4@3 ~ f#4@7 ~ f#4@7 ~ d4@4 c#4@2 b3@2]/2", AJ: "a3@7 ~ c#4@7 ~ c#4@7 a3@3 ~ g3@5",
AK: "~@3 a3@3 ~ b3@7 ~ d4@6 ~@2 d4@3 ~ c#4@5", AL: "~@3 d4@3 e4@6 ~@2 f#4@7 ~ a3@3 ~ d4@6",
AM: "[~@2 f#4@3 ~ f#4@7 ~ f#4@7 ~ d4@4 c#4@2 b3@2 a3@7 ~ c#4@7 ~ c#4@7 ~ a3@3 ~ g3@6]/2",
AN: "~@2 a3@3 ~ b3@7 ~ d4@6 ~@2 d4@3 ~ c#4@6",
AO: "[~@2 d4@4 e4@6 ~@2 f#4@7 ~ a3@2 ~@4 a4@80 ~@20, ~@25 a3@83 ~@20, ~@26 d4@81 ~@21, ~@27 f#4@81 ~@20]/4",
})).s("gm_acoustic_guitar_nylon").gain(0.44)
// other · acoustic guitar nylon
const acoustic_guitar_nylon_2 = note(`<
A B C D@2 E@3 F@7 G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP G H AQ AR AS
L AT AU AV@8 AW@7 AX AY AZ BA@7
>`.pickRestart({
A: "~@13 d3@3", B: "~@10 d3@7 ~ d3@6 ~@2 f#2@6", C: "~@11 f#2@6 ~@2 f#2@7 ~ e2@5",
D: "[~@11 b2@6 ~@3 b2@7 ~ a2@8 g2 ~@3 a2@7 ~@5 a2@7 ~ d3@4]/2",
E: "[~@13 d3@6 ~@2 d3@7 ~ f#2@11 ~@5 f#2@6 ~@2 f#2@7 ~ e2@13 ~@3 e2@6 ~@2 b2@7 ~ a2@3]/3",
F: "[~@9 a2@11 ~@2 a2@7 ~ d3@13 ~@3 d3@6 ~@2 d3@6 ~@2 f#2@14 ~@2 f#2@6 ~@2 f#2@6 ~@2 e2@16 d3@5 ~@4 d3@6 ~@2 a2@14 ~@2 e3@6 ~@2 e3@6 ~@2 d3@14 ~@2 d3@6 ~@2 d3@6 ~@2 f#2@13 ~@3 f#2@7 ~ f#2@6 ~@3]/7",
G: "e2@14 ~@2 b2@6 ~@2 b2@7 ~", H: "a2@7 ~ e3@3 ~ e3@3 ~", I: "d3@15 ~ b2@6 ~@2 b2@6 ~@2",
J: "f#2@14 ~@3 f#2@7 ~ f#2@5 ~@2", K: "~ e2@16 b2@7 ~ b2@6 ~", L: "~ a2@15 ~ e3@6 ~@2 e3@6 ~",
M: "~ d3@12 ~ d3@11 ~ d3@6", N: "~@2 d3@11 ~ d3@7 ~ d3@7 ~ d3@2",
O: "~@2 d3@3 ~ d3@2 ~@2 d3@7 ~ d3@3 ~ d3@2 ~@2 d3@6", P: "~ a2@15 ~ a#2@4 f#2@9 ~@2",
Q: "~ b2@13 ~@3 b2@6 ~@2 b2@6 ~", R: "~ f#2@13 ~@4 f#2@6 ~@2 f#2@6", S: "~@2 g2@15 ~ b2@7 ~ b2@6",
T: "~@2 a2@15 ~ a2@14", U: "~@2 d3@14 ~@3 d3@7 ~ d3@5", V: "~@3 d3@11 ~ d3@12 ~@3 d3@2",
W: "~@2 d3@10 ~@2 d3@8 d3@7 ~ d3@2", X: "~@2 a2@15 ~ a#2@14", Y: "~@2 b2@14 ~@2 b2@7 ~ b2@6",
Z: "~ f#2@14 ~@2 f#2@7 ~ f#2@6 ~", AA: "~ g2@6 ~@2 a2@7 ~ b2@7 ~ d3@6 ~", AB: "~ a2@6 ~@2 b2@6 ~@2 c#3@7 ~ e3@7",
AC: "~ d3@6 ~@10 d3@6 ~@2 d3@6 ~", AD: "~ f#2@6 ~@10 f#2@6 ~@2 f#2@7", AE: "~ e2@7 ~@8 b2@6 ~@2 b2@7 ~",
AF: "a2@7 ~ g2 ~@3 a2@7 ~@5 a2@7 ~", AG: "d3@7 ~@9 d3@6 ~@2 d3@7 ~", AH: "f#2@11 ~@5 f#2@6 ~@2 f#2@7 ~",
AI: "e2@13 ~@3 e2@6 ~@2 b2@7 ~", AJ: "a2@10 ~@2 a2@11 ~ a2@7 ~", AK: "d3@13 ~@3 d3@6 ~@2 d3@6 ~@2",
AL: "f#2@7 ~ f#2@3 ~ f#2@3 ~", AM: "e2@16 d3@5 ~@3 d3@6 ~@2", AN: "a2@14 ~@2 e3@6 ~@2 e3@5 ~@3",
AO: "d3@7 ~ d3@3 ~ d3@3 ~", AP: "f#2@13 ~@3 f#2@6 ~@2 f#2@6 ~@2", AQ: "d3@7 ~ b2@3 ~ b2@3 ~",
AR: "f#2@14 ~@2 f#2@7 ~ f#2@5 ~@3", AS: "e2@16 b2@7 ~ b2@6 ~@2", AT: "~ d3@11 d3@11 ~ d3@6 ~@2",
AU: "d3@10 ~@2 d3@7 ~ d3@7 ~ d3@3 ~",
AV: "[d3@3 ~ d3@2 ~@2 d3@7 ~ d3@3 ~ d3@2 ~ d3@6 ~@2 a2@15 ~ a#2@4 f#2@9 ~@3 b2@13 ~@2 b2@6 ~@2 b2@6 ~@2 f#2@13 ~@3 f#2@6 ~@2 f#2@6 ~@2 g2@15 ~ b2@7 ~ b2@6 ~@2 a2@15 ~ a2@16 d3@14 ~@2 d3@7 ~ d3@6 ~@2 d3@11 ~ d3@12 ~@4 d3@3 ~ d3@2]/8",
AW: "[~@10 d3@8 d3@7 ~ d3@3 ~ a2@16 a#2@15 ~ b2@14 ~@2 b2@7 ~ b2@6 ~@2 f#2@14 ~@2 f#2@7 ~ f#2@6 ~ g2@6 ~@2 a2@6 ~@2 b2@7 ~ d3@6 ~@2 a2@6 ~@2 b2@6 ~@2 c#3@6 ~@2 e3@7 ~ d3@6 ~@9 d3@6 ~@2 d3@6 ~@2 f#2@4]/7",
AX: "~@12 f#2@6 ~ f#2@6 ~@2 e2@5", AY: "~@11 b2@6 ~@2 b2@7 ~ a2@5", AZ: "~@3 g2 ~@2 a2@7 ~@5 a2@7 ~ d3@6",
BA: "[~@10 d3@6 ~@2 d3@7 ~ f#2@11 ~@5 f#2@6 ~@2 f#2@7 ~ e2@13 ~@3 e2@6 ~@2 b2@7 ~ a2@10 ~@2 a2@11 ~ a2@7 ~ d3@76 ~@26]/7",
})).s("gm_acoustic_guitar_nylon").gain(0.44)
// chords · acoustic guitar nylon
const acoustic_guitar_nylon_3 = note(`<
A B C@2 D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB@3 AC AD AE R AF AG AH R AI AJ AK AL AM AJ AK AL AN AO AK
AL AN P Q AL AP T AQ AR AS AT AU J AV AW I AX AY AZ BA J BB BC BD BE@3 BF BG@3 ~@3
>`.pickRestart({
A: "~@30 [f#3,a3,d4] ~", B: "~@2 [f#3,a3,d4] ~@3 [f#3,a3,d4]@5 ~@3 [f#3,a3,d4]@5 ~@3 a3@2 ~@7 [f#3,a3,c#4]",
C: "[~@3 [f#3,a3,c#4] ~@3 [f#3,a3,c#4]@4 ~@4 [f#3,a3,c#4]@6 ~@2 f#3@3 ~@5 g3@4 e3@4 g3@5 ~@3 g3@4 ~ e3@4 g3@4 ~@4]/2", // F#m
D: "e3 a3 ~ e3 a3 e3 a3 ~", E: "[f#3,a3,d4] ~@3 [f#3,a3,d4] ~@3 [f#3,a3,d4]@5 ~@4 [f#3,a3,d4]@5 ~@3 a3@2 ~@5",
F: "~ [f#3,a3,c#4] ~@3 [f#3,a3,c#4] ~@3 [f#3,a3,c#4]@4 ~@4 [f#3,a3,c#4]@6 ~@2 f#3@3 ~@4", // F#m
G: "~ g3@4 e3@4 g3@5 ~@3 g3@4 e3@4 g3@4 ~@3", H: "~ e3@4 a3@4 ~@4 e3@4 ~ a3@4 e3@4 a3@4 ~@2",
I: "~@2 [f#3,a3,d4] ~@3 [f#3,a3,d4] ~@3 [f#3,a3,d4]@5 ~@3 [f#3,a3,d4]@5 ~@3 a3@2 ~@4", // D
J: "~@2 [f#3,a3,c#4] ~@3 [f#3,a3,c#4] ~@3 [f#3,a3,c#4]@4 ~@4 [f#3,a3,c#4]@6 ~@2 f#3@3 ~@3", // F#m
K: "~@2 b2@4 e3@4 g3@6 ~@2 e3@5 ~@4 g3@4 ~", L: "~@3 e3@3 ~ a3@4 ~@12 a3@3 ~ e3@3 ~@2",
M: "~@3 [f#3,a3,d4] ~@3 [f#3,a3,d4] ~@3 [f#3,a3,d4]@5 ~@3 [f#3,a3,d4]@5 ~@3 a3@2 ~@3", // D
N: "~@3 [f#3,a3,c#4] ~@3 [f#3,a3,c#4] ~@3 [f#3,a3,c#4]@4 ~@4 [f#3,a3,c#4]@6 ~@3 f#3@3 ~", // F#m
O: "~@4 b2@4 e3@4 g3@6 ~@2 e3@5 ~@3 g3@4", P: "~@4 e3@3 ~ a3@4 ~@8 a3@3 ~@5 a3@3 ~",
Q: "~@4 [f#3,b3,d4] ~@3 [f#3,b3,d4] ~@3 [f#3,b3,d4]@5 ~@3 [f#3,b3,d4]@5 ~@3 b3@2 ~@2", // Bm
R: "~@5 [f#3,a3,c#4] ~@3 [f#3,a3,c#4] ~@3 [f#3,a3,c#4]@4 ~@4 [f#3,a3,c#4]@6 ~@2 f#3@3", // F#m
S: "~@5 b2@4 e3@4 g3@6 ~@2 e3@5 ~@3 g3@3", T: "~@5 e3@3 ~@5 a3@4 ~@4 c#4@3 ~@5 a3@3",
U: "~@5 [f#3,a3,d4] ~@4 [f#3,a3,d4] ~@3 [f#3,a3,d4]@5 ~@3 [f#3,a3,d4]@5 ~@3 a3@2", // D
V: "~@6 [b3,d4,g4] ~@3 [b3,d4,g4]@7 ~ d4@6 ~@8", W: "~@6 d4@3 ~ f#4@4 a4@4 ~@14",
X: "~@5 e3@4 a3@4 c#4@3 ~@5 e3@4 g3@4 a#3@3",
Y: "~@5 [f#3,b3,d4] ~@3 [f#3,b3,d4] ~@3 [f#3,b3,d4]@5 ~@3 [f#3,b3,d4]@5 ~@3 b3@2 ~", // Bm
Z: "~@5 [f#3,a3,c#4] ~@4 [f#3,a3,c#4] ~@3 [f#3,a3,c#4]@4 ~@4 [f#3,a3,c#4]@6 ~@2 f#3@2", // F#m
AA: "~@10 [b3,d4] ~@3 [b3,d4]@5 ~@3 [b3,d4]@9 ~", // Bm
AB: "[~@6 e4@3 ~ a3@4 c#4@6 ~@2 e4@3 ~ c#4@3 ~ a3@4 ~@4 [f#3,a3,d4] ~@3 [f#3,a3,d4] ~@4 [f#3,a3,d4]@5 ~@3 [f#3,a3,d4]@5 ~@3 a3@2 ~@6 [g3,b3] ~@3 [g3,b3]@5 ~@7 b3@3 ~@4 b3@2]/3", // D G
AC: "~@6 a3@4 d4@4 f#4@5 ~@3 a3@4 d4@3 ~ f#4@2", AD: "~@6 e3@4 a3@4 c#4@3 ~@5 e3@4 g3@3 ~ a#3@2",
AE: "~@6 [f#3,b3,d4] ~@3 [f#3,b3,d4] ~@3 [f#3,b3,d4]@4 ~@4 [f#3,b3,d4]@5 ~@3 b3@2", // Bm
AF: "~@5 g3@4 ~@4 g3@4 ~@4 g3@4 ~@4 g3@3", AG: "~@5 a3@4 ~@4 a3@4 ~@4 a3@4 ~@4 a3@3",
AH: "~@5 [f#3,a3,d4] ~@3 [f#3,a3,d4] ~@3 [f#3,a3,d4]@4 ~@4 [f#3,a3,d4]@5 ~@3 a3@2 ~", // D
AI: "~@5 g3@3 e3@4 g3@4 ~@4 g3@4 e3@4 g3@4", AJ: "~ e3 a3 ~ e3 a3 e3 a3",
AK: "~@4 [f#3,a3,d4] ~@3 [f#3,a3,d4] ~@3 [f#3,a3,d4]@5 ~@3 [f#3,a3,d4]@5 ~@3 a3@2 ~@2", // D
AL: "~@4 [f#3,a3,c#4] ~@3 [f#3,a3,c#4] ~@3 [f#3,a3,c#4]@4 ~@4 [f#3,a3,c#4]@6 ~@2 f#3@3 ~", // F#m
AM: "~ g3 e3 g3 ~ g3 e3 g3", AN: "~@2 b2@2 e3@2 g3@3 ~ e3@2 ~@2 g3@2", AO: "~@4 e3@3 ~ a3@4 ~@12 a3@3 ~ e3@3 ~",
AP: "~@4 b2@4 e3@4 g3@6 ~@2 e3@5 ~@4 g3@3",
AQ: "~@5 [f#3,a3,d4] ~@2 [f#3,a3,d4] ~@3 [f#3,a3,d4]@4 ~@4 [f#3,a3,d4]@5 ~@3 a3@2 ~@2", // D
AR: "~@4 [b3,d4,g4] ~@3 [b3,d4,g4]@7 ~ d4@6 ~@10", AS: "~@4 d4@3 ~ f#4@4 a4@4 ~@16",
AT: "~@3 e3@4 a3@4 c#4@3 ~@5 e3@4 g3@4 a#3@3 ~@2",
AU: "~@3 [f#3,b3,d4] ~@3 [f#3,b3,d4] ~@2 [f#3,b3,d4]@4 ~@4 [f#3,b3,d4]@5 ~@3 b3@2 ~@4", // Bm
AV: "~@6 [b3,d4] ~@3 [b3,d4]@5 ~@3 [b3,d4]@9 ~@5", AW: "~@2 e4@3 ~ a3@3 ~ c#4@6 ~@2 e4@3 ~ c#4@3 ~ a3@4 ~@2",
AX: "~@2 [g3,b3] ~@3 [g3,b3]@6 ~@6 b3@3 ~@5 b3@3 ~@3", AY: "~@2 a3@4 d4@4 f#4@5 ~@3 a3@4 d4@3 ~ f#4@3 ~@3",
AZ: "~@2 e3@4 a3@4 c#4@3 ~@5 e3@4 g3@3 ~ a#3@3 ~@3",
BA: "~@2 [f#3,b3,d4] ~@3 [f#3,b3,d4] ~@3 [f#3,b3,d4]@4 ~@4 [f#3,b3,d4]@5 ~@3 b3@2 ~@4", // Bm
BB: "~ g3@4 ~@4 g3@4 ~@4 g3@4 ~@4 g3@3 ~@4", BC: "~ a3@4 ~@4 a3@4 ~@4 a3@4 ~@4 a3@3 ~@4",
BD: "[f#3,a3,d4] ~@3 [f#3,a3,d4] ~@3 [f#3,a3,d4]@4 ~@4 [f#3,a3,d4]@5 ~@3 a3@2 ~@6", // D
BE: "[[f#3,a3,c#4] ~@3 [f#3,a3,c#4] ~@3 [f#3,a3,c#4]@4 ~@4 [f#3,a3,c#4]@6 ~ f#3@3 ~@5 g3@4 e3@4 g3@4 ~@4 g3@4 e3@4 g3@4 ~@4 e3@4 a3@4 ~@3 e3@4 a3@4 e3@4 a3@4 ~@4 [f#3,a3,d4] ~]/3", // F#m D
BF: "~@2 [f#3,a3,d4] ~@3 [f#3,a3,d4]@5 ~@3 [f#3,a3,d4]@5 ~@3 a3@2 ~@6 [f#3,a3,c#4] ~", // D F#m
BG: "[~@2 [f#3,a3,c#4] ~@3 [f#3,a3,c#4]@4 ~@4 [f#3,a3,c#4]@6 ~@2 f#3@3 ~@5 g3@4 e3@4 g3@4 ~@4 g3@4 e3@4 g3@4 ~@4 e3@4 a3@4 ~@4 e3@4 a3@4 e3@4 a3@4 ~@6]/3", // F#m
})).s("gm_acoustic_guitar_nylon").gain(0.36)
// drums · bongos
const bongos = s("bongo:18").struct(`<
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ T AK AL AM AN@2 AO AP AQ AN AR AN AS
AT AU P Q R@2 AV U AW AX AY AZ BA BB BC BD BE BC BF BG BH BI BJ H BK BL BM BN BO BP BN BQ ~@3
>`.pickRestart({
A: "~@15 x", B: "~@2 x ~@11 x ~@11 x ~@4 x", C: "~@7 x ~@7 x ~@7 x ~@3 x ~@3 x", D: "~@15 x ~@8 x ~@7", E: "x!4",
F: "x ~@7 x ~@8 x ~@14", G: "~ x ~@3 x ~@3 x ~@7 x ~@7 x ~@6", H: "~ x ~@7 x ~@7 x ~@7 x ~@6",
I: "~ x ~@16 x ~@7 x ~@5", J: "~ x ~@3 x ~@3 x ~@3 x ~@2", K: "~ x ~ x ~ x ~@5 x ~@4",
L: "~@2 x ~@7 x ~@7 x ~@8 x ~@3 x", M: "~@3 x ~@3 x ~@11 x ~@7 x ~@4", N: "~@3 x ~@7 x ~@7 x ~@12",
O: "~@3 x ~@7 x ~@7 x ~@3 x ~@8", P: "~ x!3 ~ x ~ x", Q: "~ x ~@3 x ~ x", R: "~ x!2 ~@2 x ~ x",
S: "~@5 x ~@3 x ~@11 x ~@7 x ~@2", T: "~@5 x ~@7 x ~@7 x ~@7 x ~@2", U: "~@13 x ~@7 x ~@7 x ~@2",
V: "~@5 x ~@4 x ~@11 x ~@7 x ~", W: "~@3 x ~@5 x ~@3 x ~@2", X: "~@6 x ~@7 x ~@7 x ~@6 x ~@2", Y: "~@5 x ~@19 x ~@6",
Z: "~@9 x ~@3 x ~@7 x ~@7 x ~@2", AA: "~@5 x ~@4 x ~@3 x ~@7 x ~@7 x ~", AB: "~@3 x ~@3 x ~@5 x ~@2",
AC: "~@3 x ~@3 x ~@5 x ~ x", AD: "~@6 x ~@3 x ~@12 x ~@7 x", AE: "~@7 x ~@7 x ~@10 x ~@5",
AF: "~@3 x ~ x ~@5 x ~ x ~@2", AG: "~ x ~@3 x ~@5 x ~ x ~ x", AH: "~ x ~@5 x ~@3 x ~@3 x",
AI: "~@5 x ~@7 x ~@7 x ~@3 x ~@6", AJ: "~@5 x ~@15 x ~@7 x ~@2", AK: "~@5 x ~@7 x ~@7 x ~@10",
AL: "~ x ~@3 x ~@15 x ~@7 x ~@2", AM: "~@5 x ~@6 x ~@7 x ~@7 x ~@3", AN: "~ x ~ x ~ x ~ x", AO: "~ x!3 ~@3 x",
AP: "~ x ~ x ~@4", AQ: "x ~ x ~@2 x!2 ~", AR: "~ x!3 ~@2 x ~", AS: "x!3 ~@2 x ~ x", AT: "~ x ~ x ~ x ~@2",
AU: "~ x ~ x ~ x!2 ~", AV: "~@4 x ~@7 x ~@7 x ~@8 x ~@2", AW: "~@5 x ~@2 x ~@11 x ~@7 x ~@3", AX: "~ x ~@2 x ~ x ~",
AY: "~@4 x ~@7 x ~@7 x ~@6 x ~@4", AZ: "~@3 x ~@19 x ~@8", BA: "~@7 x ~@2 x ~@7 x ~@7 x ~@5",
BB: "~ x ~ x ~ x ~@3 x ~@3 x ~@2", BC: "~ x ~@3 x ~@5 x ~@4", BD: "~ x ~@3 x ~@5 x ~ x ~@2",
BE: "~ x ~ x ~@5 x ~@3 x ~@2", BF: "~ x ~ x ~@5 x ~ x ~@3 x", BG: "~@3 x ~@5 x ~ x ~ x ~ x",
BH: "~@5 x ~@3 x ~@3 x ~@2", BI: "~ x ~@3 x ~@3 x ~ x ~@4", BJ: "~ x ~@15 x ~@7 x ~@6", BK: "x!2 ~@2 x ~@2 x",
BL: "x ~@7 x ~@7 x ~@6 x ~@3 x ~@3 x", BM: "~@15 x ~@7 x ~@7 x", BN: "~@3 x ~@3 x ~@3 x ~@3 x",
BO: "~@3 x ~@3 x ~@7 x", BP: "~ x ~ x ~@3 x ~@3 x ~@3 x", BQ: "~@7 x ~@3 x ~@4",
})).gain(1.05)
// drums · congas
const congas = s("conga:13").struct(`<
~ A ~ B C D ~@2 E ~@2 F ~@6 D ~ G ~@6 H@2 ~ I ~@4 J D@2 J K ~@3 L ~@3 K ~@6 K ~ G ~@6 M@2 ~ N ~@4 E O K ~ B P A ~@2 Q
~@3
>`.pickRestart({
A: "~@11 x ~@4", B: "~@7 x ~@24", C: "~@3 x ~@4", D: "~@25 x ~@6", E: "~@9 x ~@22", F: "~@23 x ~@8", G: "~@5 x ~@26",
H: "~@9 x ~@6", I: "~@15 x", J: "~@13 x ~@18", K: "~@3 x", L: "~@2 x!2", M: "~@7 x ~@8", N: "~@13 x ~@2",
O: "~@21 x ~@10", P: "~@5 x ~@10", Q: "~@3 x ~@12",
})).gain(1.28)
// drums · congas
const congas_2 = s("conga:18").struct(`<
~ A B C D E F G H I J K L M N O P@2 Q R@2 S T U V W X Y Z AA AB AC AD X AE R AF AE R AG AH AI AJ AK AL AI AM AG P AN
AK O P@2 AO AI R P AP AQ AR AS AT AU K AV AW U Z AT AX G AY AZ BA B BB BC BD BC@2 ~@3
>`.pickRestart({
A: "~@3 x ~@5 x ~@6", B: "~@3 x ~@15 x ~@12", C: "~@3 x ~@16 x ~@11", D: "~ x ~@3 x ~@2", E: "~@4 x ~@16 x ~@10",
F: "~@21 x ~@10", G: "~@5 x ~@15 x ~@10", H: "~@5 x ~@16 x ~@9", I: "~@3 x ~@7 x ~@4", J: "~@9 x ~@3 x ~@2",
K: "~@3 x ~@12", L: "~@11 x ~@11 x ~@8", M: "~@7 x ~@15 x ~@3 x ~@4", N: "~@7 x ~@20 x ~@3", O: "~@3 x",
P: "~@3 x ~@2 x ~", Q: "~@13 x ~@18", R: "~@9 x ~@15 x ~@6", S: "~@7 x ~@5 x ~@2", T: "~@7 x ~@3 x ~@3 x",
U: "~@5 x ~@7 x ~@2", V: "~@9 x ~@3 x ~@7 x ~@7 x ~@2", W: "~@5 x ~@19 x ~@6", X: "~@13 x ~@2",
Y: "~@5 x ~@5 x ~@3 x", Z: "~@5 x ~@10", AA: "~@15 x ~@11 x ~@4", AB: "~@11 x ~@7 x ~@12", AC: "~@7 x ~@7 x",
AD: "~@7 x ~@8", AE: "~@9 x ~@19 x ~@2", AF: "~@9 x ~@22", AG: "~ x ~@2", AH: "x!2 ~ x", AI: "~ x ~ x",
AJ: "~@5 x!2 ~", AK: "~@2 x ~@4 x", AL: "~@3 x ~@3 x", AM: "~@5 x ~ x", AN: "~@2 x ~@3 x!2", AO: "~@3 x ~@4",
AP: "~@3 x ~ x ~ x", AQ: "~@8 x ~@14 x ~@8", AR: "~@7 x ~@3 x ~@7 x ~@7 x ~@4", AS: "~@3 x ~@18 x ~@9",
AT: "~@11 x ~@4", AU: "~@3 x ~@5 x ~@3 x ~@2", AV: "~@5 x ~@5 x ~@4", AW: "~@3 x ~@3 x ~@8", AX: "~@3 x ~@9 x ~@2",
AY: "~@5 x ~@26", AZ: "~@2 x ~@2 x ~@2", BA: "~@4 x ~@14 x ~@12", BB: "~@3 x ~@14 x ~@13", BC: "~ x ~@7 x ~@6",
BD: "~@9 x ~@6",
})).gain(1.28)
stack(acoustic_guitar_nylon, acoustic_guitar_nylon_2, acoustic_guitar_nylon_3, bongos, congas, congas_2)
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.