0:00/0:00
// No Limits — 2 Unlimited
// 120 bpm, 4/4, key G# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 5 trombone (copy of ch 3 lead 2 sawtooth); ch 14 lead 8 bass lead (copy of ch 3 lead 2 sawtooth); ch 12 synth strings 1 (copy of ch 13 pad poly)
// note: Full arrangement: all 110 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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 · synth bass 2
const bass = note(`<
[~@7 g#2@3 g#3@3 ~ g#2@3 g#3@3 g#2@3 ~ g#3@3 g#2@3 g#3@2]
[g#3@2 c#2@3 c#3@3 c#2@3 ~ c#3@3 e2@3 e3@3 ~ e2@3 e3@3 g#2@3 ~]
[g#3@3 g#2@3 g#3@3 ~ g#2@3 g#3@3 g#2@3 ~ g#3@3 c#2@3 ~ c#3@3 c#2@2]
[~ c#3@3 ~ e2@3 e3@3 e2@3 ~ e3@3 ~@14]
~@106
>`).s("gm_synth_bass_2").gain(0.48)
// other · lead 2 sawtooth
const lead_2_sawtooth = note(`<
~@3 A@2 B@2 C D E F G H@2 I@2 J K ~@6 L M N@2 ~@6 O P@2 Q ~@6 R S T U ~@27 L V W@2 X Y Z AA ~@9 AB AC AD AE@2 T U ~@6
AF AG AH@2 ~
>`.pickRestart({
A: "[~@18 g#2@3 ~@4 g#2@3 ~@3 g#2@3 ~ f#2@3 g#2@3 b2@3 ~ g#2@3 ~@3 g#2@3 ~@4 g#2@3 f#2@3]/2",
B: "[~ g#2@3 b2@3 g#2@3 ~@4 g#2@3 ~@4 g#2@3 f#2@3 ~ g#2@3 b2@3 c#2@3 ~@4 c#2@3 ~@4 e2@3 c#2@3 e2@3 ~ f#2@3 g#2@3]/2",
C: "~@4 g#2@3 ~@3 g#2@3 ~ f#2@3 g#2@3 b2@3 ~ g#2@3 ~@3 g#2@2", D: "~@5 g#2@3 f#2@3 ~ g#2@3 b2@3 g#2@3 ~@4 g#2@3 ~@4",
E: "g#2@3 f#2@3 ~ g#2@3 b2@3 c#2@3 ~@4 c#2@3 ~@4 e2@3 c#2@2", F: "~ e2@3 ~ f#2@3 ~@24",
G: "~@3 g#2@3 ~@3 g#2@3 ~@4 g#2@3 ~ f#2@3 g#2@3 b2@3 ~ g#2@2",
H: "[~@4 g#2@3 ~@4 g#2@3 f#2@3 ~ g#2@3 b2@3 g#2@3 ~@4 g#2@3 ~@4 g#2@3 f#2@3 g#2@3 ~ b2@3 c#2@3 ~@4 c#2@3 ~@3]/2",
I: "[e2@3 ~ c#2@3 e2@3 ~ f#2@3 g#2@3 ~@3 g#2@3 ~@4 g#2@3 ~ f#2@3 g#2@3 b2@3 ~ g#2@3 ~@3 g#2@3 ~@4 g#2@3 f#2@3 ~ g#2@3]/2",
J: "b2@3 g#2@3 ~@4 g#2@3 ~@4 g#2@3 f#2@3 g#2@3 ~ b2@3 c#2@2", K: "~@5 c#2@3 ~@3 e2@3 ~ c#2@3 e2@3 ~ f#2@3 ~@7",
L: "~@15 g#2@3 ~@4 g#2@3 ~@3 g#2@3 ~", M: "f#2@3 g#2@3 b2@3 ~ g#2@3 ~@3 g#2@3 ~@4 g#2@3 f#2@3 ~ g#2@2",
N: "[~ b2@3 g#2@3 ~@4 g#2@3 ~@4 g#2@3 f#2@3 g#2@3 ~ b2@3 c#2@3 ~@4 c#2@3 ~@4 e2@3 c#2@3 e2@3 ~ f#2@3 ~@6]/2",
O: "~@16 g#2@3 ~@4 g#2@3 ~@3 g#2@3",
P: "[~ f#2@3 g#2@3 b2@3 ~ g#2@3 ~@3 g#2@3 ~@4 g#2@3 f#2@3 ~ g#2@3 b2@3 g#2@3 ~@4 g#2@3 ~@4 g#2@3 f#2@3 ~ g#2@3 b2@3]/2",
Q: "c#2@3 ~@4 c#2@3 ~@4 e2@3 c#2@3 e2@3 ~ f#2@3 ~@5", R: "~@17 g#2@3 ~@4 g#2@3 ~@3 g#2@2",
S: "~@2 f#2@3 g#2@3 b2@3 ~ g#2@3 ~@3 g#2@3 ~@4 g#2@3 ~ f#2@3",
T: "g#2@3 b2@3 ~ g#2@3 ~@3 g#2@3 ~@4 g#2@3 f#2@3 ~ g#2@3 b2@2",
U: "~ c#2@3 ~@4 c#2@3 ~@4 e2@3 c#2@3 e2@3 ~ f#2@3 ~@4",
V: "f#2@3 g#2@3 b2@3 ~ g#2@3 ~@3 g#2@3 ~@4 g#2@3 ~ f#2@3 g#2@2",
W: "[~ b2@3 g#2@3 ~@4 g#2@3 ~@4 g#2@3 f#2@3 ~ g#2@3 b2@3 c#2@3 ~@4 c#2@3 ~@4 e2@3 c#2@3 e2@3 ~ f#2@3 g#2@3 ~@3]/2",
X: "~ g#2@3 ~@3 g#2@3 ~ f#2@3 g#2@3 b2@3 ~ g#2@3 ~@3 g#2@3 ~@2",
Y: "~@2 g#2@3 ~ f#2@3 g#2@3 b2@3 ~ g#2@3 ~@3 g#2@3 ~@4 g#2@3",
Z: "f#2@3 ~ g#2@3 b2@3 c#2@3 ~@4 c#2@3 ~@4 e2@3 c#2@3 e2@2", AA: "~@2 f#2@3 ~@27",
AB: "~@6 g#2@3 ~@4 g#2@3 ~@3 g#2@3 ~ f#2@3 g#2@3 ~ b2@2",
AC: "~ g#2@3 ~@4 g#2@3 ~@3 g#2@3 ~ f#2@3 g#2@3 b2@3 ~ g#2@3 ~",
AD: "~@2 g#2@3 ~@4 g#2@3 f#2@3 ~ g#2@3 b2@3 c#2@3 ~@4 c#2@3",
AE: "[~@4 e2@3 c#2@3 e2@3 ~ f#2@3 g#2@3 ~@4 g#2@3 ~@4 g#2@3 f#2@3 g#2@3 ~ b2@3 g#2@3 ~@4 g#2@3 ~@3 g#2@3 ~ f#2@3]/2",
AF: "~@18 g#2@3 ~@4 g#2@3 ~@4", AG: "g#2@3 f#2@3 g#2@3 ~ b2@3 g#2@3 ~@4 g#2@3 ~@3 g#2@3 ~ f#2@2",
AH: "[~ g#2@3 b2@3 ~ g#2@3 ~@3 g#2@3 ~@4 g#2@3 f#2@3 ~ g#2@3 b2@3 c#2@3 ~@4 c#2@3 ~@4 e2@3 c#2@3 ~ e2@3 f#2@3 g#2@3]/2",
})).s("gm_lead_2_sawtooth").gain(0.8)
// bass · synth bass 2
const bass_2 = note(`<
~ A B C ~@7 D E@4 F G H I@2 J@2 K L M N@2 O@2 P Q H R@2 S@3 ~@6 T U V W X Y@2 Z AA AB AC@2 AD@2 AE@2 AB AF AG ~@2 AH@2
AI AJ ~@6 AK AL AM@2 AN@2 AO AP ~@9 AQ@3 AR@2 AB AS ~@6 AT AU AV@2 ~
>`.pickRestart({
A: "~@14 g#2!2", B: "g#3@3 g#2@3 g#3@2 g#3@2 g#2 g#2@2 g#3@3 g#2@3 ~ g#3 g#3@2 c#2@2 c#2@2 c#3@3 c#2@2",
C: "~ c#3@2 c#3@2 e2 e2@2 e3@3 e2@3 ~ e3 e3@2 ~@14",
D: "~@3 g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 ~ g#3@3 g#2@3 g#3@2 g#3@2 g#2@2",
E: "[~ g#2@3 g#2@3 ~ g#2@3 g#2@3 g#3@3 ~ g#2@3 g#3@2 ~ g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#3@3 g#2@3 ~ g#3 g#3@2 c#2@3 c#2@3 ~ c#2@3 c#3@2 ~ e2@3 ~ e3@3 e2@3 ~@2 e2@2 g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 ~ g#3@3 g#2@3 g#3@2 g#3@2 g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#3@3 ~ g#2@3, ~@23 g#3@2 ~@38 c#2@3 ~@9 e3@3 ~@50]/4",
F: "g#3@2 ~ g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#3@3 g#2@3 ~ g#3 g#3@2 c#2@2, ~ g#3 ~@14",
G: "~ c#2@3 ~ c#2@3 c#3@2 ~ e2@3 ~ e3@3 e2@3 ~@2 e2@2 g#2@3 g#2@3 ~, ~@10 c#2@3 ~@9 e3@3 ~@7",
H: "g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@2",
I: "[~ g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 c#3@3 c#3@3 ~ c#3@3 c#3@3 d#3@3 ~ d#3@3 d#3@3]/2",
J: "[~ d#3@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3]/2",
K: "g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 c#3@3 c#3@3 ~ c#3@3 c#3@2",
L: "~ d#3@3 ~ d#3@3 d#3@3 ~ d#3@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~",
M: "g#3@3 g#2@3 g#3@2 g#3@2 g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#3@3 ~ g#2@2",
N: "[~ g#3@2 ~ g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#3@3 g#2@3 ~ g#3@2 ~ c#2@3 ~ c#2@3 c#2@3 c#3@2 c#2@2 e2@3 e3@3 e2@3 ~@2 e2@2 g#2@3 g#2@3, ~@3 g#3@2 ~@25 g#3@2 ~@23 e3@3 ~@6]/2",
O: "[~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3]/2",
P: "g#2@3 g#2@3 ~ g#2@3 c#3@3 ~ c#3@3 c#3@3 c#3@3 ~ d#3@3 d#3@3 d#3@2",
Q: "~@2 d#3@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~",
R: "[~ g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 c#3@3 ~ c#3@3 c#3@3 c#3@3 ~ d#3@3 d#3@3 d#3@3 ~ d#3@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3]/2",
S: "[~ g#3@3 g#2@3 g#3@2 g#3@2 g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#3@3 ~ g#2@3 g#3@2 ~ g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#3@3 ~ g#2@3 g#3@2 ~ c#2@3 ~ c#2@3 c#2@3 c#3@2 c#2@2 e2@3 e3@3 e2@3 ~@2 e2@3 ~@4, ~@36 g#3@2 ~@25 g#3@2 ~@23 e3@3 ~@5]/3",
T: "~@17 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@2", U: "~@2 g#3@3 g#2@3 ~ g#3 g#3@2 g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 ~ g#3@3",
V: "g#2@3 g#3@2 g#3@2 g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#3@3 ~ g#2@3 g#3@2",
W: "~ c#2@3 ~ c#2@3 c#2@3 c#3@2 c#2@2 e2@3 e3@3 e2@3 ~@2 e2@3 ~@3, g#3@2 ~@23 e3@3 ~@4", X: "~@23 g#2@3 g#2@3 g#2@3",
Y: "[~ g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3]/2",
Z: "g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 c#3@3 d#3@2",
AA: "~@2 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3",
AB: "g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@2",
AC: "[~ g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 c#3@3 d#3@3 ~ g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@2]/2",
AD: "[~ g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 c#3@3]/2",
AE: "[c#3@3 ~ c#3@3 c#3@3 d#3@3 ~ d#3@3 d#3@3 ~ d#3@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3]/2",
AF: "~ g#2@3 ~ g#2@3 c#3@3 c#3@3 ~ c#3@3 c#3@3 ~ d#3@3 d#3@3 d#3@3 ~", AG: "d#3@3 ~@29",
AH: "[~@14 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3]/2",
AI: "g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 c#3@2",
AJ: "~@2 c#3@3 c#3@3 c#3@3 ~ d#3@3 d#3@3 d#3@3 ~ d#3@3 ~@7", AK: "~@15 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~",
AL: "g#3@3 g#2@3 g#3@2 g#3@2 g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 ~ g#3@3 g#2@2",
AM: "[~ g#3@2 g#3@2 g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#3@3 ~ g#2@3 g#3@2 ~ c#2@3 ~ c#2@3 c#2@3 c#3@2 c#2@2 e2@3 e3@3 e2@3 ~@2 e2@2 g#2@3 g#2@3, ~@30 g#3@2 ~@23 e3@3 ~@6]/2",
AN: "[~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3]/2",
AO: "g#2@3 ~ g#2@3 g#2@3 c#2@3 ~ c#2@3 c#2@3 c#2@3 ~ e2@3 e2@3 e2@2", AP: "~@2 e2@3 ~@27",
AQ: "[~@6 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#3@3 g#2@3 ~ g#3 g#3@2 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#3@3 g#2@3 g#3@2 g#3@2 g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#3@3 ~ g#2@3 g#3@2 ~ c#2@3 ~ c#2@3 c#2@3, ~@85 g#3@2 ~@9]/3",
AR: "[c#3@2 c#2@2 e2@3 e3@3 ~ e2@3 ~ e2@2 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#2@3, ~@14 e3@3 ~@47]/2",
AS: "~ c#2@3 ~ c#2@3 c#2@3 c#2@3 ~ e2@3 e2@3 e2@3 ~ e2@3 ~@4", AT: "~@18 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~",
AU: "g#2@3 g#3@3 g#2@3 ~ g#3 g#3@2 g#2@3 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ g#3@2",
AV: "[~ g#2@3 g#3@2 g#3@2 g#2@3 g#2@3 g#2@3 ~ g#2@3 g#2@3 ~ g#3@3 g#2@3 g#3@2 ~ c#2@3 ~ c#2@3 c#2@3 ~@2 c#2@2 e2@3 e3@3 ~ e2@3 e3@2 ~ g#2@3, ~@33 g#3@2 ~@10 c#3@3 ~@12 e2@3 ~]/2",
})).s("gm_synth_bass_2").gain(0.72)
// chords · pad sweep
const pad_sweep = note("<~@37 A@8 ~@23 B@8 ~@22 C@8 ~@4>".pickRestart({
A: "[~@27 [g#2,g#3,g#4,b4,d#5,g#5]@53 [f#2,f#3,f#4,a#4,c#5,f#5]@27 [c#2,c#3,c#4,g#4,c#5,f5]@27 ~ g#5@51 ~ f#5@27 [c#2,c#3,c#4,g#4,c#5,f5]@27 ~@15, ~@134 [g#2,g#3,b4,d#5]@52 [f#2,f#3,f#4,a#4,c#5]@27 ~@43]/8", // G#m F# C# G#m F#
B: "[~@26 g#5@52 [f#2,f#3,f#4,a#4,c#5,f#5]@27 [c#2,c#3,c#4,g#4,c#5,f5]@27 ~ g#5@52 [f#2,f#3,f#4,a#4,c#5,f#5]@27 [c#2,c#3,c#4,g#4,c#5,f5]@27 ~@17, ~@12 [g#2,g#3,g#4,b4,d#5]@27 ~@27 [g#2,g#3,g#4,b4,d#5]@26 ~@36]/8", // F# C# F# C# G#m
C: "[~@29 g#5@51 ~ f#5@27 [c#2,c#3,c#4,g#4,c#5,f5]@27 ~ g#5@52 [f#2,f#3,f#4,a#4,c#5,f#5]@27 [c#2,c#3,c#4,g#4,c#5,f5]@27 ~@14, ~@28 [g#2,g#3,g#4,b4,d#5]@52 [f#2,f#3,f#4,a#4,c#5]@27 ~@28 [g#2,g#3,b4,d#5]@52 ~@69]/8", // C# F# C# G#m F# G#m
})).s("gm_pad_sweep").gain(0.48)
// other · pad poly
const pad_poly = note("<~@17 A@2 B@4 C D ~@37 E@3 F@2 G@2 ~@41>".pickRestart({
A: "[~@25 g#2@5 ~ g#2@5 ~@6 b2@5 ~ b2@4 g#2@5 ~ g#2@5 ~]/2",
B: "[~@4 b2@5 ~@5 g#2@5 ~@2 g#2@5 ~@5 b2@5 ~@5 c#3@5 ~@2 c#3@5 ~ d#3@5 ~@2 d#3@5 ~@2 g#2@5 ~@2 g#2@5 ~@5 b2@5 ~ b2@4 g#2@5 ~ g#2@5 ~@5 b2@5 ~@5 g#2@5 ~@2, ~@11 b2@5 ~@22 g#2@5 ~@75 b2@5 ~@5]/4",
C: "g#2@5 ~@5 b2@5 ~@5 c#3@5 ~@2 c#3@5, ~@17 g#2@5 ~@10", D: "~ d#3@5 ~@2 d#3@5 ~@19",
E: "[~@3 g#2@5 ~@2 g#2@5 ~@5 b2@5 ~ b2@4 g#2@5 ~ g#2@5 ~@5 b2@5 ~@5 g#2@5 ~@2 g#2@5 ~@5 b2@5 ~@5 c#3@5 ~@2 c#3@5 ~, ~@53 b2@5 ~@22 g#2@5 ~@11]/3",
F: "[~ d#3@5 ~ d#3@5 ~@2 g#2@5 ~@2 g#2@5 ~@5 b2@5 ~ b2@4 g#2@5 ~ g#2@5 ~@5 b2@5 ~@2]/2",
G: "[~@3 g#2@5 ~@2 g#2@5 ~@5 b2@5 ~@5 c#3@5 ~@2 c#3@5 ~@2 d#3@5 ~ d#3@5 ~@9, b2@5 ~@22 g#2@5 ~@32]/2",
})).s("gm_pad_poly").gain(0.72)
// other · piano
const piano = note("<~@108 [~@29 c#3@3] ~>").s("gm_piano").gain(0.8)
// drums · kick
const kick = s("bd").struct(`<
~@11 A B C D E F G H I J K L M N O B P Q E R S T I U K V D W O G P Q J X S M Y Z B C D AA F G H I J AB L M AC O B AD
AE E F S T I U K L D W O G P Q J X AF AG AH AI K C D AA F AJ P I J AB L M AC O B C AK E F S T I AL ~
>`.pickRestart({
A: "~@3 x ~@5 x ~@6 x ~@6 x ~@6 x ~", B: "~@4 x ~@6 x ~@6 x ~@5 x ~@6 x", C: "~@6 x ~@5 x ~@6 x ~@6 x ~@5",
D: "x ~@6 x ~@6 x ~@5 x ~@6 x ~@4", E: "~@2 x ~@6 x ~@5 x ~@6 x ~@6 x ~@2", F: "~@3 x ~@6 x ~@6 x ~@5 x ~@6 x ~",
G: "~@5 x ~@5 x ~@6 x ~@6 x ~@5 x", H: "~@6 x ~@6 x ~@6 x ~@5 x ~@5", I: "~ x ~@6 x ~@5 x ~@6 x ~@6 x ~@3",
J: "~@2 x ~@6 x ~@6 x ~@5 x ~@6 x ~@2", K: "~@4 x ~@6 x ~@5 x ~@6 x ~@6 x", L: "~@5 x ~@6 x ~@6 x ~@5 x ~@6",
M: "x ~@6 x ~@5 x ~@6 x ~@6 x ~@4", N: "~ x ~@6 x ~@6 x ~@6 x ~@5 x ~@3", O: "~@3 x ~@6 x ~@5 x ~@6 x ~@6 x ~",
P: "~@6 x ~@6 x ~@5 x ~@6 x ~@5", Q: "~ x ~@5 x ~@6 x ~@6 x ~@5 x ~@4", R: "~@3 x ~@6 x ~@6 x ~@6 x ~@5 x ~",
S: "~@5 x ~@6 x ~@5 x ~@6 x ~@6", T: "x ~@5 x ~@6 x ~@6 x ~@5 x ~@5", U: "~@3 x ~@5 x ~@6 x ~@6 x ~@5 x ~@2",
V: "~@5 x ~@6 x ~@6 x ~@6 x ~@5", W: "~@2 x ~@5 x ~@6 x ~@6 x ~@5 x ~@3", X: "~@4 x ~@5 x ~@6 x ~@6 x ~@5 x ~",
Y: "~ x ~@6 x ~@6 x ~@5 x ~@10", Z: "~@23 x ~@5 x ~@2", AA: "~@2 x ~@5 x ~@6 x ~@6 x ~@6 x ~@2",
AB: "~@4 x ~@5 x ~@6 x ~@6 x ~@6 x", AC: "~ x ~@6 x ~@6 x ~@5 x ~@6 x ~@3", AD: "~@6 x ~@5 x ~@6 x ~@12",
AE: "~@14 x ~@6 x ~@5 x ~@4", AF: "~@5 x ~@22 x ~@3", AG: "x ~@26 x ~@4", AH: "~@18 x ~@2 x ~@10",
AI: "~@16 x ~@6 x ~@5 x ~@2", AJ: "~@5 x ~@5 x ~@20", AK: "x ~@6 x ~@6 x ~@6 x ~@5 x ~@4",
AL: "~@2 x ~@6 x ~@6 x ~@6 x ~@5 x ~@2",
})).gain(0.5)
// drums · clap
const clap = s("cp").struct(`<
~ A B C ~@2 D E F G H I J K L M N O ~@7 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 AQ AR
AS AT AU AV AW AX AY AZ ~@6 BA BB BC BD BE BF BG BH Q BI ~@3 BJ BK BL BM BN BO BP BQ B BR BS BT AH AI ~@3 BU AM AN BV
AP AQ BW BX BY BZ ~
>`.pickRestart({
A: "~@7 x", B: "~@10 x ~@12 x ~@8", C: "~@5 x ~@26", D: "~@29 x ~@2", E: "~@4 x ~@5 x ~@6 x ~@6 x ~@5 x ~",
F: "~@5 x ~@6 x ~@5 x ~@6 x ~@6", G: "x ~@6 x ~@5 x ~@6 x ~@6 x ~@4", H: "~ x ~@30", I: "~@10 x ~@2 x!2 ~",
J: "~@14 x ~@6 x ~ x ~@8", K: "~@9 x ~@6 x!2 ~@14", L: "~@4 x ~@6 x!2 ~@18 x", M: "~@5 x ~ x ~@17 x ~@6",
N: "x ~ x ~@17 x ~@6 x!2 ~@3", O: "~@15 x ~@6 x!2 ~@8", P: "x ~@2 x!2 ~@8 x ~@2", Q: "~ x ~ x ~@17 x ~@6 x ~ x ~",
R: "~@16 x ~@6 x!2 ~ x ~@2 x ~@2", S: "~@11 x ~@5 x ~ x ~ x ~@2 x ~@7", T: "~@5 x ~@6 x ~ x ~ x ~@2 x ~@12",
U: "x ~@6 x!2 ~ x ~@3 x ~@12 x ~@4", V: "~@2 x!2 ~ x ~@2 x ~@13 x ~@5 x ~ x ~",
W: "x ~@2 x ~@12 x ~@6 x ~ x!2 ~@3 x ~", X: "~@11 x ~@6 x!2 ~ x ~@3 x ~@6", Y: "~@6 x ~@6 x!2 ~@17",
Z: "~ x ~@5 x ~ x ~@17 x ~@4", AA: "~@2 x ~ x ~@17 x ~@6 x ~ x", AB: "~@17 x ~@6 x!2 ~@6", AC: "~@6 x ~@2 x!2 ~@5",
AD: "~@6 x ~@6 x ~ x ~@16", AE: "~ x ~@6 x ~ x ~@17 x ~@3", AF: "~@3 x!2 ~@18 x ~@5 x ~ x",
AG: "~@17 x ~@6 x ~ x ~@5", AH: "~@12 x ~@6 x ~ x ~@10", AI: "~@7 x ~@6 x!2 ~@16", AJ: "~@2 x ~@6 x!2 ~@18 x ~@2",
AK: "~@3 x ~ x ~@17 x ~@6 x ~", AL: "x ~@17 x ~@6 x!2 ~@5", AM: "~@4 x ~@2 x!2 ~@7", AN: "~@2 x ~@6 x ~ x ~@17 x ~@2",
AO: "~@4 x!2 ~@18 x ~@5 x ~", AP: "x ~@18 x ~@5 x ~ x ~@4", AQ: "~@13 x ~@6 x ~ x ~@9", AR: "~@8 x ~@6 x!2 ~@15",
AS: "~@3 x ~@5 x ~ x ~ x ~@2 x ~@13 x ~", AT: "~@4 x ~ x ~ x ~@2 x ~@12 x ~@6 x",
AU: "~ x!2 ~@3 x ~@12 x ~@6 x!2 ~ x ~@2", AV: "x ~@13 x ~@6 x!2 ~ x ~@2 x ~@4", AW: "~@9 x ~@5 x ~ x ~ x ~@2 x ~@9",
AX: "~@3 x ~@6 x ~ x!2 ~@3 x ~@12 x ~", AY: "~@5 x!2 ~ x ~@3 x ~@12 x ~@6", AZ: "x!2 ~@30", BA: "~@5 x ~@2 x!2 ~@6",
BB: "~@4 x ~@6 x ~ x ~@17 x", BC: "~@3 x!2 ~@8 x ~@2", BD: "~ x!2 ~@18 x ~@5 x ~ x ~@2", BE: "~@15 x ~@6 x ~ x ~@7",
BF: "~@10 x ~@6 x ~ x ~@12", BG: "~@5 x ~@6 x!2 ~@18", BH: "x ~@5 x ~ x ~@18 x ~@4", BI: "~@16 x ~@6 x!2 ~@7",
BJ: "~@5 x ~@6 x ~@5 x ~@6 x ~@4 x ~", BK: "~@6 x ~@6 x ~@6 x ~@6 x ~@4", BL: "~ x ~@6 x ~@6 x ~@4 x ~@7 x ~@3",
BM: "~@3 x ~@5 x ~@13 x ~@8", BN: "~@4 x ~@12 x ~@13 x", BO: "~@6 x ~@6 x ~@2", BP: "~@7 x ~@12 x ~@11",
BQ: "~@2 x ~@12 x ~@13 x ~@2", BR: "~@5 x ~@12 x ~@12 x", BS: "~@23 x ~@6 x!2", BT: "~@9 x ~@2 x!2 ~@2",
BU: "~@13 x ~@6 x!2 ~@10", BV: "~@4 x ~ x ~@17 x ~@6 x", BW: "~@8 x ~@6 x ~ x ~@14", BX: "~@3 x ~@6 x!2 ~@18 x ~",
BY: "~@4 x ~ x ~@18 x ~@5 x", BZ: "~ x ~@17 x ~@6 x ~ x ~@3",
})).gain(0.45)
// drums · snare
const snare = s("sd").struct("<~@3 A ~@60 B C ~@12 D E F G H ~@12 I J K L ~@11>".pickRestart({
A: "~@3 x ~@2 x ~@3 x!2 ~ x ~ x!2 ~@15", B: "~@21 x ~@2 x ~ x ~@2 x ~@2", C: "~ x ~@2 x ~@2 x ~ x ~ x ~@20",
D: "~@29 x ~@2", E: "~@4 x ~@6 x!2 ~@4 x ~@6 x ~@6 x", F: "~@6 x!2 ~@4 x ~@6 x ~@6 x ~@5",
G: "x ~ x ~@4 x ~@6 x ~@5 x ~@3 x ~@2 x ~@2 x ~", H: "x ~ x!2 ~@28", I: "~@21 x ~@5 x ~@4",
J: "~@2 x ~ x ~@4 x ~@5 x ~@6 x ~@6 x!2 ~", K: "~@3 x ~@6 x ~@6 x ~@5 x ~ x ~@4 x ~",
L: "~@5 x ~@5 x ~@3 x ~@2 x ~@2 x ~ x ~ x ~ x ~@4",
})).gain(0.45)
// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@2 A B ~@60 C ~@16 D ~@16 E ~@11>".pickRestart({
A: "~@23 x ~@3 x ~@2 x ~", B: "x!2 ~@30", C: "~@19 x ~@12", D: "~@29 x ~@2", E: "~@5 x ~@2",
})).gain(0.25)
// drums · hihat
const hihat = s("hh").struct(`<
~@7 A B C D E F G H I J K L M G N O J P Q R S G O T J Q U M G V O J W X M G Y O Z AA AB AC F G O AD J Q AE M G AF O J
K AG AH AI AJ O AK J Q M F G O AL J W AM M G AN O AO AP AQ AR AS AT AU AV AW AX AY M G AF O J W L M G Y O J AZ Q BA BB
~
>`.pickRestart({
A: "x ~@6 x ~@6 x ~@5 x ~ x ~@4 x ~@4", B: "~@2 x ~@5 x ~@6 x ~ x ~@4 x ~@6 x ~@2",
C: "~@3 x ~@6 x ~ x ~@4 x ~@5 x ~@6 x ~", D: "~@5 x!2 ~@25",
E: "~@3 x!2 ~ x ~ x!2 ~ x ~ x!2 ~ x ~ x ~ x!2 ~ x!2 ~ x ~ x ~ x!2",
F: "~ x!2 ~ x ~ x ~ x!2 ~ x ~ x!2 ~ x ~ x!2 ~ x ~ x!2 ~ x ~ x!2 ~ x",
G: "~ x!2 ~ x ~ x!2 ~ x ~ x!2 ~ x ~ x!2 ~ x ~ x!2 ~ x ~ x!2 ~ x ~ x",
H: "x ~ x ~ x!2 ~ x ~ x ~ x!2 ~ x!2 ~ x ~ x!2 ~ x ~ x!2 ~ x ~ x ~ x",
I: "x ~ x!2 ~ x ~ x ~ x!2 ~ x ~ x!2 ~ x ~ x!2 ~ x ~ x!2 ~ x ~ x!2 ~",
J: "x ~ x!2 ~ x ~ x!2 ~ x ~ x!2 ~ x ~ x!2 ~ x ~ x!2 ~ x ~ x!2 ~ x ~",
K: "x!2 ~ x ~ x!2 ~ x ~ x!2 ~ x ~ x!2 ~ x ~ x ~ x!2 ~ x!2 ~ x ~ x ~",
// … 181 more lines
More by 2 Unlimited
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.