0:00/0:00
// Moeder het is weer mis — De Deurzakkers
// 121 bpm, 4/4, key G# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 104 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(121/4)
// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.
// bass · tuba
const bass = note(`<
A@2 B C D E F G H I J K L M N O P Q R S T@2 U V W X Y Z AA AB AC AD AE AF AG AH D E F G H I J K L M N O P Q R S T@2 U
V W X Y Z AA AB AC AD AE AF AG AH D E F G H I J K L M N O P Q R S D E F G H I J K L M N O P Q R S T@2 U AI
>`.pickRestart({
A: "eb2 ~@3 eb2@2 ~@2 eb2@2 ~@6", B: "eb2 ~@7 bb2@2 ab2 ~ g2 ~ f2 ~", C: "eb2 ~@3 eb2!2 ~ eb2!2 ~@7",
D: "ab2 ~ eb2 ~ ab2 ~ eb2 ~", E: "ab2 ~@3 g2@2 ~@2 f2 ~@3 eb2@2 ~@2", F: "ab2 ~ eb2 ~ c3 ~ b2 ~",
G: "bb2 ~@3 eb2@2 ~@2 bb2 ~@3 eb2@2 ~@2", H: "bb2 ~ eb2 ~ bb2 ~ eb2 ~", I: "bb2 ~@3 g2@2 ~@2 f2 ~@3 eb2@2 ~@2",
J: "bb2 ~ eb2 ~ f2 ~ g2 ~", K: "ab2 ~@3 eb2@2 ~@2 ab2 ~@3 eb2@2 ~@2", L: "ab2 ~ eb2 ~ c2 ~ ab1 ~",
M: "db2 ~@3 ab1@2 ~@2 db2 ~ ab2@2 g2@2 ab2 ~", N: "bb2 ~ f2 ~ d2 ~ bb1 ~", O: "eb2 ~ eb2@2 f2@2 gb2 ~ g2 ~@7",
P: "ab2 ~ eb2 ~ ab2 ~ gb2 ~", Q: "f2 ~@3 c2@2 ~@2 f2 ~@3 a2@2 ~@2", R: "bb2@2 ~@2 bb2@2 ~@2 eb2@2 ~@2 eb2@2 g2 ~",
S: "ab2 ~ f2@2 eb2 ~ c2 ~ ab1 ~@3 ab1@2 ~@2", T: "eb2 ~ bb1 ~ eb2 ~ bb1 ~", U: "eb2 ~ bb1 ~ eb2 ~ g2 ~",
V: "ab2 ~ f2@2 eb2 ~ c2 ~ ab1@2 ~@6", W: "ab1 ~ eb2 ~ c2 ~ b1 ~", X: "bb1 ~@3 eb2@2 ~@2 bb2@2 ~@2 eb2@2 ~@2",
Y: "bb1 ~ eb2 ~ bb2 ~ eb2 ~", Z: "ab2 ~ g2 ~ f2 ~ eb2 ~", AA: "ab2 ~ eb2 ~ c2 ~ b1 ~",
AB: "bb1 ~@3 eb2@2 ~@2 bb1@2 ~@2 eb2@2 ~@2", AC: "bb1 ~ f2 ~ bb1 ~ bb1 ~", AD: "eb2@2 ~@2 bb2@2 g2@2 eb2 ~@7",
AE: "eb2 ~ eb2 ~ bb1 ~ bb1 ~", AF: "eb2 ~ bb1 ~ eb2 ~@3", AG: "eb2 ~ eb2 ~ gb2 ~ gb2 ~",
AH: "g2@2 ~@2 eb2!2 ~ eb2!2 ~@7", AI: "ab2 ~ f2@2 eb2 ~ c2 ~ ab1@2 ~@2 ab1@2 ~@2",
})).s("gm_tuba").gain(0.35)
// chords · trombone
const trombone = note(`<
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 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 E F G H I J K L M N O P Q R S T E F G H I J K L M N O P Q R S T U V W AK
>`.pickRestart({
A: "eb3@2 ~ f3 g3 ~ ab3 ~ bb3 ~@7", B: "[eb3,g3]@2 ~ [f3,ab3] [g3,bb3] ~ [ab3,c4] ~ [bb3,db4] ~@7",
C: "[db4,f4]@2 ~ [c4,eb4] [bb3,db4] ~ [ab3,c4] ~ [g3,bb3]@2 [f3,ab3] ~ [eb3,g3] ~ [db3,f3] ~", // Db Cm Bbm Ab Gm Fm Eb Db
D: "[eb3,g3] ~@3 [eb3,a3]!2 a3 eb3 [eb3,bb3] ~@7", E: "[eb3,c4] ~ [eb3,c4]@3 ~ [eb3,c4] ~ [f3,db4]@3 ~ [eb3,c4]@3 ~",
F: "[ab3,c4]@4 [ab3,c4] ~ [ab3,c4] ~ [ab3,c4]@3 ~ [ab3,c4]@3 ~", // Ab
G: "[ab3,c4]@3 ~ [ab3,c4]@3 ~ [ab3,c4]@3 ~ [ab3,d4]@3 ~", H: "[bb3,db4]@5 ~ [bb3,db4] ~ [bb3,db4]@2 db4@2 bb3 ~ g3 ~",
I: "[eb3,db4] ~ [eb3,db4]@3 ~ [eb3,db4] ~ [f3,db4]@3 ~ [eb3,db4]@3 ~", // Eb7 Db Eb7
J: "[bb3,db4]@2 bb3@2 [bb3,db4] ~ [bb3,db4] ~ [g3,db4]@2 ~@2 [g3,bb3]@3 ~", // Bbm Gdim Gm
K: "[ab3,db4]@3 ~ [g3,bb3]@2 ~@2 [g3,db4]@3 ~ [g3,b3]@3 ~", // Db5 Gm Gdim G
L: "ab3 ~ ab3@3 ~ [ab3,c4] ~ [ab3,c4]@2 f4@2 eb4 ~ [ab3,c4] ~, db4@4 ~@6 ab3 ~@5", // Ab
M: "[ab3,c4]@2 ~@2 [ab3,c4]@2 ~@2 [gb3,c4]@2 ~@2 [gb3,c4]@3 ~", // Ab Gbdim
N: "[f3,db4]@2 ~@2 [f3,db4]@2 ~@2 [f3,f4]@2 ~@4 [a3,db4] ~", // Db F A
O: "[bb3,d4]@3 ~ [bb3,d4]@2 ~@2 [ab3,d4]@2 ~@2 [ab3,d4]@2 ~@2", // Bb Abdim
P: "[g3,eb4]@3 ~ [ab3,eb4] ~ [a3,eb4] ~ [bb3,eb4] ~@7", // Cm Ab5 Adim Eb5
Q: "[ab3,c4] ~ c4@2 gb3@4 ~@2 c4 ~ gb3@2 c4 ~, ~@2 ab3 ~@9 c4 ~@3", // Ab
R: "f3@2 f3 ~ c4@2 [bb3,c4] ~ [a3,eb4]@4 ~@2 [a3,c4] ~, c4 ~@3", // Bbsus2 Adim Am
S: "[bb3,db4]@2 ~@2 [ab3,db4]@2 ~@2 [g3,bb3]@2 ~@2 [g3,db4]@3 ~", // Bbm Db5 Gm Gdim
T: "[ab3,c4]@3 ~ [ab3,c4] ~ [ab3,c4] ~ [ab3,c4] ~@3 [ab3,c4] ~@3", U: "~ [eb3,eb4]@2 ~",
V: "~@2 eb3!2 g3 ~ [g3,bb3] ~@3 [g3,bb3]!3 ~@3, ~ bb2@2 ~@13", W: "~@4 [eb3,eb4]@8 ~@2 [g3,db4] ~",
X: "[ab3,c4] ~ [ab3,c4] ~ [ab3,c4] ~ [ab3,c4] ~ [ab3,eb4] ~@7", Y: "[ab3,c4]@2 [c4,eb4] [b3,d4]",
Z: "[bb3,db4]@13 ~ [bb3,db4] ~", AA: "[bb3,db4]@2 [bb3,eb4] [bb3,db4]", AB: "[ab3,c4]@12 ~@2 [bb3,db4] ~",
AC: "[ab3,c4]@7 ~ [c4,eb4]@4 [b3,d4]@4", AD: "[bb3,db4]@4 [g3,eb4]@8 ~@2 [g3,eb4] ~", AE: "[ab3,d4]",
AF: "[g3,eb4] ~ [g3,db4] db4 [bb3,db4] ~ [g3,db4] ~ [eb3,db4] ~@3 eb3 ~@2 f3", AG: "g3@2 ~@2 g3@3 ~ f3@3 ~ f3@3 ~",
AH: "eb3@8 eb3 ~@3 eb3 ~@2 f3", AI: "[g3,eb4]@3 ~ [g3,eb4]@3 ~ [a3,eb4]@3 ~ [a3,eb4]@3 ~",
AJ: "[bb3,eb4]@4 [eb3,eb4]!3 ~ [eb3,eb4] ~@7", // Eb5 Eb
AK: "[ab3,c4] ~ [ab3,c4] ~ [ab3,c4] ~ [ab3,c4] ~ [ab3,eb4] ~@3 [ab3,c4] ~@3", // Ab Ab5 Ab
})).s("gm_trombone").gain(0.48).pan(0.7)
// chords · trumpet
const trumpet = note(`<
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 ~ AC 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 ~ AC E F G H I J K L M N O P Q R S T E F G H I J K L M N O P Q R S T U V W AD
>`.pickRestart({
A: "eb4@2 ~ f4 g4 ~ ab4 ~ bb4 ~@7", B: "[eb4,g4]@2 ~ [f4,ab4] [g4,bb4] ~ [ab4,c5] ~ [bb4,db5] ~@7",
C: "[db5,f5]@2 ~ [c5,eb5] [bb4,db5] ~ [ab4,c5] ~ [g4,bb4]@2 [f4,ab4] ~ [eb4,g4] ~ [db4,f4] ~", // Db Cm Bbm Ab Gm Fm Eb Db
D: "[bb3,eb4] ~@3 [eb4,eb5]!3 ~ [eb4,eb5] ~@7", // Eb5 Eb
E: "[eb4,c5] ~ [eb4,c5]@2 ~@2 [eb4,c5] ~ [f4,db5]@2 ~@2 [eb4,c5]@2 ~@2", // Cm Db Cm
F: "[eb4,c5] ~ [c4,eb4] ~ [eb4,ab4] ~ [ab4,c5] ~ [c5,eb5] ~@3 [g4,c5]@2 ~@2", // Cm Ab5 Ab Cm C5
G: "[bb4,c5]@2 ~@2 [ab4,c5]@2 ~@2 [eb4,eb5]@3 ~ [ab4,d5]@3 ~", // Bbsus2 Ab Eb Abdim
H: "[ab4,db5]@5 ~ [g4,db5] ~ [g4,db5] ~ db5@2 bb4 ~ g4 ~", // Db5 Gdim
I: "[eb4,db5] ~ [eb4,db5]@2 ~@2 [eb4,db5] ~ [f4,db5]@2 ~@2 [eb4,db5]@3 ~", // Eb7 Db Eb7
J: "[g4,db5] ~ eb4 ~ g4 ~ [bb4,db5] ~ [bb4,db5] ~@3 [ab4,f5]@3 ~", // Gdim Bbm Db
K: "[ab4,f5]@3 ~ [g4,eb5]@2 ~@2 [bb4,g5]@2 ~@2 [g4,eb5]@2 ~@2", L: "[f4,db5]@6 [eb4,c5] ~ [eb4,c5] ~ f5@2 eb5 ~ c5 ~",
M: "~@2 [ab4,c5] ~@3 [ab4,c5] ~@3 [ab4,c5] ~@3 [c5,eb5] ~", N: "~@2 [ab4,db5] ~@3 [ab4,db5] ~@3 [db5,f5]!3 ~@3",
O: "~@2 [bb4,d5] ~@3 [bb4,d5] ~@3 [ab4,d5] ~@3 [ab4,d5] ~", P: "g4 ~ [g4,eb5] eb5 [ab4,f5] ~ [a4,gb5] ~ [bb4,g5] ~@7",
Q: "[eb4,c5] ~ [eb4,c5]@6 ~@2 [eb4,c5]@2 [f4,db5]@2 [eb4,c5]@2", R: "[eb4,eb5]@8 ~@2 [a4,f5]!3 ~@3",
S: "~@2 ab4@2 [ab4,db5]@4 [g4,eb5]@3 ~ [bb4,db5]@4, ~@2 db5 ~@13", // Db5 Cm Bbm
T: "[ab4,c5]@2 [c4,ab4]@2 [eb4,c5] ~ [ab4,eb5] ~ [c5,ab5] ~@3 [c5,ab5] ~@3", // Ab Fm Cm Ab5 Fm
U: "[g4,eb5]@3 ~ [g4,eb5]@5 ~ [g4,eb5]@2 db5@2 [eb4,c5]@2, ~@12 f4 ~@3", // Cm
V: "[db4,bb4]@2 eb4@2 g4 ~ bb4 ~@3 [g4,eb5]!3 ~@3", W: "[f4,db5]@3 ~ [f4,db5]@5 ~ [f4,db5]@2 [eb4,c5]@2 [db4,bb4]@2",
X: "[c4,ab4]@2 ab4@2 [eb4,c5] ~ [eb4,eb5] ~ [ab4,ab5] ~@7, ~@2 eb4 ~@13", Y: "~@2 db5@2 bb4 ~ g4 ~ eb4 ~@7",
Z: "~@2 c5@2 ab4 ~ f4 ~ eb4 ~@7", AA: "~@2 bb4@2 g4 ~ [eb4,bb4] ~ [g4,eb5] ~@7",
AB: "~@2 [g3,eb4]!2 [bb3,g4] ~ [eb4,bb4] ~ [g4,eb5] ~@7", AC: "~@4 [g3,eb4] [bb3,g4] [eb4,bb4] ~ [g4,eb5] ~@7",
AD: "[c4,ab4]@2 ab4@2 [eb4,c5] ~ [eb4,eb5] ~ [ab4,ab5] ~@3 [ab4,ab5] ~@3, ~@2 eb4 ~@13", // Fm Cm Eb Ab
})).s("gm_trumpet").gain(0.48).pan(0.4)
// other · tinkle bell · "TINKLEBELL"
const tinkle_bell = note(`<
A B C D E F G H E I J K ~@3 L M N O P ~ Q ~ R ~@9 S ~ S E F G H E I J K ~@3 L M N O P ~ Q ~ R ~@9 S ~ S E F G H E I J
K ~@3 L M N O P E F G H E I J K ~@3 L M N O P ~ Q ~ T
>`.pickRestart({
A: "eb6 ~@2 f6 g6 ~ ab6 ~ bb6 ~@7", B: "g6 ~@2 ab6 bb6 ~ c7 ~ db7 ~@7",
C: "f7 ~@2 eb7 db7 ~ c7 ~ bb6 ~ ab6 ~ g6 ~ f6 ~", D: "eb6 ~@3 eb7!2 ~ eb7!2 ~@7",
E: "eb7 ~ eb7 ~@3 eb7 ~ f7 ~@3 eb7 ~@3", F: "c8 ~@11 g7 ~@3", G: "bb7 ~@3 ab7 ~@3 eb7 ~@3 ab7 ~@3",
H: "ab7 ~@5 g7 ~ g7 ~@7", I: "bb7 ~@11 ab7 ~@3", J: "ab7 ~@3 g7 ~@3 bb7 ~@3 g7 ~@3", K: "ab7 ~@5 ab7 ~ ab7 ~@7",
L: "~@12 eb7 ~@3", M: "ab7 ~ ab7 ~@7 gb7@2 gb7@2 gb7 ~", N: "c8 ~@9 f7 ~ a7 ~ c8 ~",
O: "db8 ~ f7 ~ f7 ~ ab7 ~ g7 ~ g7 ~ ab7 ~ bb7 ~", P: "ab7 ~@15", Q: "~@2 eb6 ~ g6 ~ bb6 ~@3 eb7!3 ~@3",
R: "~@2 ab6 ~ c7 ~ eb7 ~ ab7 ~@7", S: "~@4 eb6 g6 ~ bb6 eb7 ~@7", T: "~@2 ab6 ~ c7 ~ eb7 ~ ab7 ~@3 ab7 ~@3",
})).s("gm_tinkle_bell").gain(0.4)
// chords · clarinet
const clarinet = note(`<
~@4 A@2 B C@4 D E F G H A I J K L M N O P C Q A B R S T R T U V A@2 B C@4 D E F G H A I J K L M N O P C Q A B R S T R
T U V A@2 B C@4 D E F G H A I J K A@2 B C@4 D E F G H A I J K L M N W
>`.pickRestart({
A: "~@2 [c5,eb5] ~@3 [c5,eb5] ~@3 [c5,eb5] ~@3 [c5,eb5] ~", B: "~@2 [c5,eb5] ~@3 [c5,eb5] ~@3 [c5,eb5] ~@3 [b4,d5] ~",
C: "~@2 [bb4,db5] ~@3 [bb4,db5] ~@3 [bb4,db5] ~@3 [bb4,db5] ~", // Bbm
D: "~@2 [ab4,db5] ~@3 [c5,eb5] ~@3 [c5,eb5] ~@3 [c5,eb5] ~", // Db5 Cm
E: "~@2 [c5,eb5] ~@3 [c5,eb5] ~@3 [gb4,c5] ~@3 [gb4,c5] ~", // Cm Gbdim
F: "~@2 [ab4,db5] ~ [bb4,db5] ~ [ab4,db5] ~@3 [ab4,db5] ~@3 [ab4,db5] ~", // Db5 Bbm Db5
G: "~@2 [bb4,d5] ~@3 [bb4,d5] ~@3 [ab4,d5] ~@3 [ab4,d5] ~", // Bb Abdim
H: "[g4,eb5] ~ [g4,eb5] ~ [ab4,eb5] ~ [a4,d5] ~ [bb4,db5] ~@7", // Cm Ab5 D5 Bbm
I: "~@2 [a4,eb5] ~@3 [a4,eb5] ~@3 [a4,eb5] ~@3 [c5,eb5] ~", // Adim Cm
J: "~@2 [f4,db5] ~@3 [f4,db5] ~@3 [g4,eb5] ~@3 [bb4,db5] ~", K: "~@2 [ab4,c5] ~@3 [ab4,c5] ~ [ab4,c5] ~@7",
L: "[eb5,g5]@3 ~ [eb5,g5]@5 ~ [eb5,g5]@2 [db5,f5]@2 [c5,eb5]@2", M: "[bb4,db5] ~",
N: "[db5,f5]@3 ~ [db5,f5]@5 ~ [db5,f5]@2 [c5,eb5]@2 [bb4,db5]@2", O: "[ab4,c5] ~",
P: "~@2 [ab4,c5] ~@3 [ab4,c5] ~@3 [c5,eb5] ~@3 [b4,d5] ~", // Ab Cm Bm
Q: "~@2 [bb4,db5] ~@3 [bb4,db5] ~@3 [g4,db5] ~@3 [g4,db5] ~", // Bbm Gdim
R: "~@2 [bb4,eb5] ~@3 [bb4,eb5] ~@3 [bb4,eb5] ~@3 [bb4,eb5] ~", // Eb5
S: "~@2 [bb4,d5] ~@3 [bb4,d5] ~@3 [bb4,d5] ~@3 [bb4,d5] ~", T: "~@2 [bb4,eb5] ~@3 [bb4,eb5] ~ [bb4,eb5] ~@7",
U: "~@2 [bb4,eb5] ~@3 [bb4,eb5] ~@3 [a4,eb5] ~@3 [a4,eb5] ~", V: "[bb4,eb5] ~@3 [bb4,eb5]!2 ~ [bb4,eb5]!2 ~@7",
W: "[ab4,c5]@8 ~@4 [ab4,c5] ~@3", // Ab
})).s("gm_clarinet").gain(0.32)
// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note(`<
A@2 B A C@2 D E@2 F E C@2 G H I J K L M E@2 F N D F@2 C D F H I O I P Q C@2 D E@2 F E C@2 G H I J K L M E@2 F N D F@2
C D F H I O I P Q C@2 D E@2 F E C@2 G H I J K L M C@2 D E@2 F E C@2 G H I J K L M E@2 F M
>`.pickRestart({
A: "[bb3,eb4,g4] ~@3 [bb3,eb4,g4] ~@3 [bb3,eb4,g4] ~@7", B: "[bb3,eb4,g4] ~@7 [bb3,eb4,g4] ~@7",
C: "~@2 [c4,eb4,ab4] ~@3 [c4,eb4,ab4] ~@3 [c4,eb4,ab4] ~@3 [c4,eb4,ab4] ~", // Ab
D: "~@2 [c4,eb4,ab4] ~@3 [c4,eb4,ab4] ~@3 [c4,eb4,ab4] ~@3 [b3,d4,f4] ~", // Ab Bdim
E: "~@2 [bb3,eb4,g4] ~@3 [bb3,eb4,g4] ~@3 [bb3,eb4,g4] ~@3 [bb3,eb4,g4] ~", // Eb
F: "~@2 [bb3,db4,g4] ~@3 [bb3,db4,g4] ~@3 [bb3,db4,g4] ~@3 [bb3,db4,g4] ~", // Gdim
G: "~@2 [db4,f4,ab4] ~@3 [db4,f4,ab4] ~@3 [db4,f4,ab4] ~@3 [db4,f4,ab4] ~", // Db
H: "~@2 [d4,f4,ab4] ~@3 [d4,f4,ab4] ~@3 [d4,f4,ab4] ~@3 [d4,f4,ab4] ~", // Ddim
I: "~@2 [bb3,eb4,g4] ~@3 [bb3,eb4,g4] ~ [bb3,eb4,g4] ~@7", // Eb
J: "~@2 [c4,eb4,ab4] ~@3 [c4,eb4,ab4] ~@3 [c4,eb4,gb4] ~@3 [c4,eb4,gb4] ~", // Ab Cdim
K: "~@2 [a3,eb4,f4] ~@3 [a3,eb4,f4] ~@3 [c4,eb4,a4] ~@3 [c4,eb4,a4] ~", // F7 Adim
L: "~@2 [db4,f4,bb4] ~@3 [db4,f4,ab4] ~@3 [bb3,db4,g4] ~@3 [bb3,db4,g4] ~", // Bbm Db Gdim
M: "~@2 [c4,eb4,ab4] ~@3 [c4,eb4,ab4] ~ [c4,eb4,ab4] ~@3 [c4,eb4,ab4] ~@3", // Ab
N: "~@2 [c4,eb4,ab4] ~@3 [c4,eb4,ab4] ~ [c4,eb4,ab4] ~@7", // Ab
O: "~@2 [bb3,eb4,g4] ~@3 [bb3,eb4,g4] ~@3 [ab3,d4,f4] ~@3 [ab3,d4,f4] ~", // Eb Ddim
P: "~@2 [bb3,eb4,g4] ~@3 [bb3,eb4,g4] ~@3 [c4,eb4,a4] ~@3 [c4,eb4,a4] ~", // Eb Adim
Q: "[bb3,eb4,g4] ~@3 [bb3,eb4,g4]!2 ~ [bb3,eb4,g4]!2 ~@7", // Eb
})).s("gm_electric_guitar_clean").gain(0.32).pan(0.3)
// drums · kick
const kick = s("bd").struct("<A@2 B C@20 A C@7 A C A C@21 A C@7 A C A C@38>".pickRestart({
A: "x!3 ~", B: "x!2", C: "x!4",
})).gain(0.56)
// drums · snare
const snare = s("sd").struct(`<
A@2 B C D E F G D H F G F E F I D H F J K L M N D H E G F E O P Q R S C D E F G D H F G F E F I D H F J K L M N D H E
G F E O P Q R S C D E F G D H F G F E F I D H F J D E F G D H F G F E F I D H F J K L M T
>`.pickRestart({
A: "x!9 ~@7", B: "x!2", C: "x ~@3 x!2 ~ x!2 ~@7", D: "~@2 x ~@3 x ~@3 x ~@3 x!2", E: "x ~ x ~@3 x ~@3 x!3 ~ x!2",
F: "x ~ x ~@3 x ~@3 x ~@3 x!2", G: "x ~ x ~@3 x ~@3 x!6", H: "x ~ x ~@3 x ~@3 x ~ x!4", I: "x ~ x!2 ~@2 x!3 ~@7",
J: "x!5 ~@3", K: "~@2 x!2 ~@2 x!2 ~@2 x!2 ~ x!2 ~", L: "x ~ x!2 ~@2 x!2 ~@2 x!6",
M: "x ~ x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2", N: "x!3 ~ x ~ x ~ x ~@7", O: "x!2 ~ x ~ x ~ x", P: "x ~ x!3 ~ x ~ x ~@7",
Q: "~ x ~ x ~ x ~ x", R: "~@2 x!3 ~ x ~ x ~@7", S: "~@2 x ~@3 x ~@3 x!3 ~ x ~", T: "x!3 ~ x ~ x ~ x ~@3 x ~@3",
})).gain(0.24)
// drums · tambourine
const tambourine = s("tb").struct(`<
A@2 B A C@11 D C@3 D C@3 D C@7 D C D C E C@11 D C@3 D C@3 D C@7 D C D C A C@11 D C@3 D C@11 D C@3 D C@3 F
>`.pickRestart({
A: "x!3 ~", B: "x!2", C: "~ x ~ x ~ x ~ x", D: "~ x ~ x ~@4", E: "~ x!2 ~", F: "~ x ~ x!2 ~ x ~",
})).gain(0.4)
// drums · ride
const ride = s("rd").struct(`<
A@2 ~ B ~@8 C ~ C A ~@3 A ~@3 D ~@7 D ~ D ~ A ~@8 C ~ C A ~@3 A ~@3 D ~@7 D ~ D ~ A ~@8 C ~ C A ~@3 A ~@8 C ~ C A ~@3
A ~@3 E
>`.pickRestart({
A: "~@3 x", B: "~ x!3", C: "x", D: "~ x", E: "~@2 x!2",
})).gain(0.48)
// drums · congas
const congas = s("conga:13").struct("<~@35 x ~@68>").gain(1.28)
stack(bass, trombone, trumpet, tinkle_bell, clarinet, electric_guitar_clean, kick, snare, tambourine, ride, congas)
More by De Deurzakkers
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.