0:00/0:00
// Prison Sex — Tool
// 113 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: metre changes (4/4 at bar 1, 3/4 at bar 33, 4/4 at bar 33, 3/4 at bar 56, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 128 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(113/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 · distortion guitar · "Guitar1"
const distortion_guitar = note(`<
A B C D E F@3 G ~@8 H I@3 J ~@7 K@6 L M L N O P Q@2 R S ~@8 T U@5 V@2 W@2 X Y Z@5 AA@2 AB@4 AC@8 AD@8 AE AF@3 AG@4
AH@2 AI AJ AK@2 AL@2 AM AN@2 AO AP AQ AR AS AT AU AV AW AX@8
>`.pickRestart({
A: "~@7 b1", B: "~@2 b1@2 ~ b1@2 b1@6 b1@2 [b1,a2] ~ [b1,a2] ~ d3@2 e3@6 b1@5",
C: "~ b1@2 ~@2 b1@2 b1@4 [b1,a2] ~ [b1,a2] ~ [b1,a2] ~ [b1,a2] ~ d3@2 e3@6 b1@4 ~", // B7
D: "~ b1@2 ~@2 b1@2 b1@6 b1@2 [b1,a2] ~ [b1,a2] ~ d3@2 e3@6 ~ e3@4", E: "~ e3 d3@3 d3 b2@3 b2 a2 b2 d3@2 d3@2",
F: "d2@4 a2 ~@3 [a2,e3]@8 d2@4 a2@2 b2@6 d3@4", G: "~ d2@4 a2 ~@3 [a2,e3]@8 d2@4 a2@2 b2@6 ~@3",
H: "~ d2@4 d3@4 a2 ~@3 g3@12 ~ a2@2 b2@4", I: "b2@2 d2@4 d3@4 a2 ~@3 g3@12 a2@2 b2@4", J: "b2 ~@15",
K: "[~@7 d2@4 d3@4 a2 ~@3 g3@12 a2@2 b2@4 b2@2 d2@4 d3@4 a2 ~@3 g3@12 a2@2 b2@4 b2@2 d2@4 d3@4 a2 ~@3 g3@12 a2@2 b2@4 b2@2 d2@4 d3@4 a2 ~@3 g3@12 b1@8 b1@4 a2@8 b1@4 d2@8 b1@4 e2@8 ~ b1@4 e2@4 b1@4 d2@4 b1@4]/6",
L: "b1@2 b1 a2@2 b1 d2@2", M: "b1 e2@2 b1 e2 b1 d2 b1", N: "~ b1@4 e2@8 b1@4 e2@4 b1@4 d2@4 b1@3",
O: "~ [b2,f#3]@4 [b2,f#3]@4 [b2,f#3]@4 [e3,b3]@4 [e3,b3]@4 [e3,b3]@4 [d3,a3]@4 [d3,a3]@3", // B5 E5 D5
P: "~ [d3,a3]@4 [a3,e4]@4 [a3,e4]@4 [a3,e4]@4 [e3,b3]@4 [e3,b3]@4 [d3,a3]@4 [d3,a3]@3", // D5 A5 E5 D5
Q: "~ d3@4 d2@4 a2 ~@3 [a2,e3]@8 d2@4 a2@2 b2@5", R: "~ d3@4 d2@3 a2 ~@3 [a2,e3]@8 d2@4 a2@2 b2@6",
S: "d3@4 d2@4 a2 ~@3 [e3,b3]@8 d3@2 e3@2 d3@2 b2@2 a2@4", T: "d2@4 d3@4 a2 ~@3 g3@12 a2@2 b2@4 b2@2",
U: "[d2@4 d3@4 a2 ~@3 g3@12 ~ b2@4 b2@2 d2@4 d3@4 a2 ~@3 g3@12 a2@2 b2@4 b2@2 d2@4 d3@4 a2 ~@3 g3@12 b1@8 b1@4 a2@8 b1@4 d2@8 b1@4 e2@8 b1@4 e2@4 b1@4 d2@4 b1@4 ~ b1@8, ~@12 a2 ~@67]/5",
V: "[b1 a2@2 b1 d2@2 b1 e2@2 b1 e2 b1 d2 b1 b1@2]/2", W: "[b1 a2@2 b1 d2@2 b1 e2@2 b1 e2 b1 d2 b1 [b2,f#3]!2]/2",
X: "[b2,f#3] [e3,b3]!3 [d3,a3]!3 [a3,e4]", Y: "[a3,e4]!2 [e3,b3]!2 [d3,a3]!2 [b2,f#3]!2",
Z: "[[b2,f#3]@4 [e3,b3]@4 [e3,b3]@3 [e3,b3]@4 [d3,a3]@4 [d3,a3]@4 [d3,a3]@4 [a3,e4]@4 [a3,e4]@4 [a3,e4]@4 [e3,b3]@4 [e3,b3]@4 [d3,a3]@4 [d3,a3]@4 [b2,f#3]@4 [b2,f#3]@3 [b2,f#3]@4 [e3,b3]@4 [e3,b3]@4 [e3,b3]@4 [d3,a3]@4 [d3,a3]@4 [d3,a3]@4 [a3,e4]@4 [a3,e4]@4 [a3,e4]@3 [e3,b3]@4 [e3,b3]@4 [d3,a3]@4 [d3,a3]@4 b1@4 ~@2 b1@2 ~@2 b1@2 b1@6 b1@2 [b1,a2]!2 ~ d3@2 e3@2 g3@2 a3@2 b1@4 ~@2 b1@2 ~@2 b1@2]/5", // B5 E5 D5 A5 E5 D5 B5 E5 …
AA: "[b1@6 b1@2 [b1,a2] ~ [b1,a2] ~ d3@2 ~ g3@2 a3@2 b1@4 ~@2 b1@2 ~@2 b1@2 b1@6 b1@2 [b1,a2] ~ [b1,a2] ~ d3@2 e3@2 g3@2 a3@2 a3@5 a3@2 g3@6, ~@7 e3 ~@24]/2", // B7
AB: "[g3@2 e3@6 e3@2 d3@2 e3@2 g3@4 d2@4 d3@4 a2 ~@3 g3@12 a2@2 b2@3 b2@2 d2@4 d3@4 a2 ~@3 g3@12 a2@2 b2@4 b2@2 d2@4 d3@4 a2 ~@3 g3@12 a2@2 b2@4 b2@2 d2@4 d3@4 a2 ~@3 g3@3]/4",
AC: "[~@9 [b1,b2,f#3]@166 ~@71 e4@10, ~@175 b3@64 ~@17, ~@95 e4@28 ~@5, ~@205 f#4@25 ~ f#4@25, ~@215 b4@40 ~]/8", // B5
AD: "[~@40 b3@35 e3@2 ~@38 e3@3 ~@37 e3@3 ~@2 a3@35 f#3@3 ~@3 c#3@30 [f#4,b4]@5 e4@2 f#4@3 [f#4,b4]@7 [f#4,b4]@3 [f#4,b4]@5, d4@35 d4@45 b3@40 a#3@40 ~@38 g#3@33 ~@25, ~@15 a3@25 ~@37 f#3@38 ~@3 f#3@38 ~@2 f#3@37 ~@61]/8", // B5
AE: "[f#4,b4]@2 [f#4,b4]@5 [f#4,b4]@3 [f#4,b4]@5 [f#4,b4]@5 e4@2 f#4@3 [f#4,a#4]@7", // B5 F#
AF: "[[f#4,a#4]@3 [f#4,a#4]@5 [f#4,a#4]@2 [f#4,a#4]@5 [f#4,a#4]@3 [f#4,a#4]@5 [f#4,a#4]@3 [f#4,a#4]@2 e4@3 f#4@2 [f#4,a4]@10 [f#4,a4]@5 [f#4,a4]@3 [f#4,a4]@5 [f#4,a4]@2 [f#4,a4]@5 [f#4,a4]@5 e4@3 f#4@2 b3@3 b3@5 b3@2 b3@3 b3@5 b3@2 b3@3]/3", // F# F#m
AG: "[b3@5 b3@2 a3@10 ~@15 f#3@15 ~ e3@5 d3@5 ~@15 f#3@15 e3@5 f#3@5 g3@15 f#3@15, ~@17 b2@40 ~ b2@40 ~@30]/4",
AH: "[e3@5 d3@5 ~@15 f#3@15 g3@10 ~@14, ~@5 b2@20 ~@7]/2", AI: "~@8 g3@5 ~@3", AJ: "~@23 g3@9",
AK: "[~@15 g3@5 ~@12]/2",
AL: "[~@4 g3@10 ~@2 b3@2 ~ b3@2 e4@2 ~ b3@2 b3@2 d4@2 ~ b3@2 b3@2 a4@2 ~ b3@2 b3@2 ~ b4@2 b3@2 a4@2 ~ b3@2 d4@2 b3@2 ~ b3@2 e4@2 ~ b3@2]/2",
AM: "b3@2 d4@2 ~ b3@2 b3@2 a4@2 ~ b3@2 b3@2 b4@2 ~ b3@2 a4@2 b3@2 ~ d4@2 b3@2 b3@2",
AN: "[~ e4@2 b3@2 b3@2 ~ d4@2 b3@2 b3@2 ~ a4@2 b3@2 b3@2 ~ b4@2 b3@2 a4@2 ~ b3@2 d4@2 b3@2 ~ b3@2 e4@2 b3@2 ~ b3@2 d4@2 b3@2 ~ b3@2 a4@2 b3@2 ~ b3@2 b4@2 b3@2 ~]/2",
AO: "a4@2 b3@2 e5 ~ e5!6 ~ e5!6 ~ e5!7 ~ e5!4", AP: "e5!2 ~ e5!6 ~ e5!6 ~ e5!6 ~ e5!6 ~ e5",
AQ: "e5!5 ~ e5!6 ~ e5!6 ~ e5!6 ~ e5!5", AR: "e5 ~ e5!6 ~ e5!6 ~ e5!4 [d5,e5]@2 ~ e5@2 e5@2 [c#5,e5]@2 ~ e5@2",
AS: "e5@2 [b4,e5]@2 ~ e5@2 [d5,d#5]@2 d5@2 ~ d5@2 d5@2 d5@2 ~ e5@2 d5@2 e5@2 ~ d5@2 e5@2 d5@2, ~@13 [b2,g3]@3", // E5 D#maj7 Em
AT: "~ e5@2 d5@2 ~ e5@2 d5@2 e5@2 ~ d5@2 e5@2 ~ d5@2 e5@2 d5@2 ~@8", AU: "[b2,g3] ~@3", AV: "~@9 [b2,g3]@8 ~@15",
AW: "~@19 [b2,g3]@8 ~@5", AX: "[~@31 [b2,g3]@46 [c2,b2,g3]@49 [c2,b2,b3]@53 [b1,b2,f#3]@63 ~@14]/8",
})).s("gm_distortion_guitar").gain(0.64)
// bass · electric guitar muted · "Guitar2(Mute)"
const bass = note(`<
~@8 A B C@4 D E@3 ~@3 F@2 G H@3 I J@2 ~@15 D@8 ~@48 K L M N O P@2 Q R@2 S T@3 U V W@2 X Y ~@7
>`.pickRestart({
A: "~@29 d2@3", B: "~ b1@4 b1@4 e2@8 b1@4 a1@2 [b1,b2]@2 [b1,b2]@2 [b1,b2]@2 d2@3",
C: "[~ b1@4 b1@4 ~ e2@8 b1@4 a1@2 [b1,b2]@2 [b1,b2]@2 [b1,b2]@2 d2@4 b1@4 b1@4 e2@8 b1@4 a1@2 [b1,b2]@2 [b1,b2]@2 [b1,b2]@2 d2@4 ~ b1@4 b1@4 e2@8 b1@4 a1@2 [b1,b2]@2 [b1,b2]@2 [b1,b2]@2 d2@4 b1@4 b1@4 e2@8 b1@4 a1@2 ~ [b1,b2]@2 [b1,b2]@2 [b1,b2]@2]/4", // B
D: "d2@2 b1@2 b1@2 e2@4 b1@2 a1 [b1,b2]!3", // B
E: "[d2@4 b1@4 b1@4 e2@8 ~ b1@4 a1@2 [b1,b2]@2 [b1,b2]@2 [b1,b2]@2 d2@4 b1@4 b1@4 e2@8 b1@4 a1@2 [b1,b2]@2 [b1,b2]@2 [b1,b2]@2 ~@31]/3", // B
F: "[~@3 d2@4 b1@4 b1@4 e2@8 b1@4 a1@2 [b1,b2]@2 [b1,b2]@2 [b1,b2]@2 d2@4 b1@4 b1@4 e2@8 b1@4 ~ a1@2 [b1,b2]@2]/2", // B
G: "[b1,b2]!2 d2@2 b1@2 b1@2 e2@4 b1@2 a1 [b1,b2]", // B
H: "[[b1,b2]@2 [b1,b2]@2 d2@4 b1@4 b1@4 e2@8 ~ b1@4 a1@2 [b1,b2]@2 [b1,b2]@2 [b1,b2]@2 d2@4 b1@4 b1@4 e2@8 b1@4 a1@2 [b1,b2]@2 [b1,b2]@2 [b1,b2]@2 d2@4 b1@4 ~ b1@4 e2@8 b1@4 a1@2]/3", // B
I: "[b1,b2]!3 d2@2 b1@2 b1@2 e2@4 b1@2 a1", // B
J: "[[b1,b2]@2 [b1,b2]@2 ~ [b1,b2]@2 d2@4 b1@4 b1@4 e2@8 b1@4 a1@2 [b1,b2]@2 [b1,b2]@2 [b1,b2]@2 ~@25]/2", // B
K: "~@18 b1@7 b1@5 b1@2", L: "~ b1@7 b1@2 ~ b1@2 b1@2 ~@10 b1@7", M: "~ b1@5 b1@2 b1@7 ~ b1@2 b1@2 b1@2 ~@10",
N: "~ b1@7 b1@5 b1@2 b1@7 ~ b1@2 b1@2 b1@2 ~@3", O: "~@8 b1@7 b1@5 b1@2 b1@7 b1@2 ~",
P: "[b1@2 b1@2 ~@10 d2@2 b1@2 ~ b1@2 e2@2 ~ b1@2 b1@2 d2@2 ~ b1@2 b1@2 a2@2 ~ b1@2 b1@2 ~ b2@2 b1@2 a2@2 ~ b1@2 d2@2 b1@2 ~ b1@2 e2@2 ~ b1@2]/2",
Q: "b1@2 d2@2 ~ b1@2 b1@2 a2@2 ~ b1@2 b1@2 b2@2 ~ b1@2 a2@2 b1@2 ~ d2@2 b1@2 b1@2",
R: "[~ e2@2 b1@2 b1@2 ~ d2@2 b1@2 b1@2 ~ a2@2 b1@2 b1@2 ~ b2@2 b1@2 a2@2 ~ b1@2 d2@2 b1@2 ~ b1@2 e2@2 b1@2 ~ b1@2 d2@2 b1@2 ~ b1@2 a2@2 b1@2 ~ b1@2 b2@2 b1@2 ~]/2",
S: "a2@2 b1@2 d2@5 d2@2 e2@5 e2@2 d2@5 d2@2 a2@5 a2@2",
T: "[b2@2 ~ b1@2 a2@2 b1@2 ~ d2@4 d2@2 ~ e2@4 e2@2 ~ d2@4 d2@2 ~ a2@4 a2@2 ~ b2@2 b1@2 a2@2 ~ b1@2 d2@5 d2@2 e2@5 e2@2 d2@5 d2@2 a2@5 a2@2 b2@2 b1@2 ~ a2@2 b1@2 d2@5 d2@2 e2@5]/3",
U: "e2@2 d2@5 d2@2 a2@5 a2@2 b2@2 ~ b1@2 a2@2 b1@2 ~ b1@6",
V: "~ b1@5 b1@2 b1@5 ~@2 b1@5 b1@2 b1@2 ~ b1@2 b1@2 ~ b1@2",
W: "[~@8 b1@5 b1@2 b1@5 ~@3 b1@5 b1@3 b1@2 b1@3 b1@2 b1@3 ~@8 b1@5 b1@3 b1@5 ~@2]/2",
X: "~ b1@5 b1@3 b1@2 b1@3 b1@3 b1@3 ~@7 b1@5", Y: "~ b1@3 b1@6 ~@2 b1@5 b1@3 b1@3 b1@3 b1@3 b1@3",
})).s("gm_electric_guitar_muted").gain(0.64)
// bass · electric bass finger · "Bass"
const bass_2 = note(`<
~@4 A B@3 C D E@4 F G@3 H@3 I@2 J K@3 L M@7 N O N P Q R S@2 T U F@8 V W@5 X@2 Y@2 Z AA AB@5 AC@2 AD@5 AE@3 AF@2 AG@2
AH AI AJ@2 AK AL AM@2 AN AO@3 AP AQ@3 AR@2 AS AT AU@2 AV@2 AW AX@2 AY AZ@3 BA@2 BB@3 BC@8
>`.pickRestart({
A: "~@7 d2", B: "d1@4 a1 ~@3 a1@8 d1@4 a1@2 b1@6 d2@4", C: "~ d1@4 a1 ~@3 a1@8 d1@4 a1@2 b1@6 d2@3",
D: "~ b1@4 b1@4 e2@8 b1@4 a1@2 b1@2 b1@2 b1@2 d2@3",
E: "[~ b1@4 b1@4 ~ e2@8 b1@4 a1@2 b1@2 b1@2 b1@2 d2@4 b1@4 b1@4 e2@8 b1@4 a1@2 b1@2 b1@2 b1@2 d2@4 ~ b1@4 b1@4 e2@8 b1@4 a1@2 b1@2 b1@2 b1@2 d2@4 b1@4 b1@4 e2@8 b1@4 a1@2 ~ b1@2 b1@2 b1@2]/4",
F: "d2@2 b1@2 b1@2 e2@4 b1@2 a1 b1!3",
G: "[d2@4 b1@4 b1@4 e2@8 ~ b1@4 a1@2 b1@2 b1@2 b1@2 d2@4 b1@4 b1@4 e2@8 b1@4 a1@2 b1@2 b1@2 b1@2 d1@4 d2@4 b1 ~@3 g2@12 ~ a1@2 b1@4]/3",
H: "b1@2 d1@4 d2@4 b1 ~@3 g2@12 a1@2 b1@4",
I: "[b1@2 ~ d2@4 b1@4 b1@4 e2@8 b1@4 a1@2 b1@2 b1@2 b1@2 d2@4 b1@4 b1@4 e2@8 b1@4 ~ a1@2 b1@2]/2",
J: "b1!2 d2@2 b1@2 b1@2 e2@4 b1@2 a1 b1",
K: "[b1@2 b1@2 d2@4 b1@4 b1@4 e2@8 ~ b1@4 a1@2 b1@2 b1@2 b1@2 d2@4 b1@4 b1@4 e2@8 b1@4 a1@2 b1@2 b1@2 b1@2 d2@4 b1@4 ~ b1@4 e2@8 b1@4 a1@2]/3",
L: "b1!3 d2@2 b1@2 b1@2 e2@4 b1@2 a1",
M: "[b1@2 b1@2 ~ b1@2 d2@4 b1@4 b1@4 e2@8 b1@4 a1@2 b1@2 b1@2 b1@2 d1@4 d2@4 b1 ~@3 g2@12 a1@2 b1@4 b1@2 d1@4 d2@4 b1 ~@3 g2@12 a1@2 b1@4 b1@2 d1@4 d2@4 b1 ~@3 g2@12 a1@2 b1@4 b1@2 d1@4 d2@4 b1 ~@3 g2@12 b1@8 b1@4 a2@8 b1@4 d2@8 b1@4 e2@8 ~ b1@4 e2@4 b1@4 d2@4 b1@4]/7",
N: "b1@2 b1 a2@2 b1 d2@2", O: "b1 e2@2 b1 e2 b1 d2 b1", P: "~ b1@4 e2@8 b1@4 e2@4 b1@4 d2@4 b1@3",
Q: "~ b1@4 b1@4 b1@4 e2@4 e2@4 e2@4 d2@4 d2@3", R: "~ d2@4 a2@4 a2@4 a2@4 e2@4 e2@4 d2@4 d2@3",
S: "~ d2@4 d1@4 a1 ~@3 a1@8 d1@4 a1@2 b1@5", T: "~ d2@4 d1@3 a1 ~@3 a1@8 d1@4 a1@2 b1@6",
U: "d2@4 d1@4 a1 ~@3 [a1,a2,e3]@8 d2@2 e2@2 d2@2 b1@2 a1@4", V: "d1@4 d2@4 b1 ~@3 g2@12 a1@2 b1@4 b1@2",
W: "[d1@4 d2@4 b1 ~@3 g2@12 ~ b1@4 b1@2 d1@4 d2@4 b1 ~@3 g2@12 a1@2 b1@4 b1@2 d1@4 d2@4 b1 ~@3 g2@12 b1@8 b1@4 a2@8 b1@4 d2@8 b1@4 e2@8 b1@4 e2@4 b1@4 d2@4 b1@4 ~ b1@8, ~@12 a1 ~@67]/5",
X: "[b1 a2@2 b1 d2@2 b1 e2@2 b1 e2 b1 d2 b1 b1@2]/2", Y: "[b1 a2@2 b1 d2@2 b1 e2@2 b1 e2 b1 d2 b1!3]/2",
Z: "b1 e2!3 d2!3 a2", AA: "a2!2 e2!2 d2!2 b1!2",
AB: "[b1@4 e2@4 e2@3 e2@4 d2@4 d2@4 d2@4 a2@4 a2@4 a2@4 e2@4 e2@4 d2@4 d2@4 b1@4 b1@3 b1@4 e2@4 e2@4 e2@4 d2@4 d2@4 d2@4 a2@4 a2@4 a2@3 e2@4 e2@4 d2@4 d2@4 b1@4 ~@2 b1@2 ~@2 b1@2 b1@6 b1@2 b1!2 ~ d2@2 e2@2 g2@2 a2@2 b1@4 ~@2 b1@2 ~@2 b1@2]/5",
AC: "[b1@6 b1@2 b1 ~ b1 ~ d2@2 ~ g2@2 a2@2 b1@4 ~@2 b1@2 ~@2 b1@2 b1@6 b1@2 b1 ~ b1 ~ d2@2 e2@2 g2@2 a2@2 e2@5 e2@2 d2@6, ~@7 e2 ~@24]/2",
AD: "[d2@2 b1@6 b1@2 a1@2 b1@2 d2@4 d1@4 d2@4 b1 ~@3 g2@12 a1@2 b1@3 b1@2 d1@4 d2@4 b1 ~@3 g2@12 a1@2 b1@4 b1@2 d1@4 d2@4 b1 ~@3 g2@12 a1@2 b1@4 b1@2 d1@4 d2@4 b1 ~@3 g2@12 a1@2 b1@5 a1@3 b1@5 a1@3 b1@5]/5",
AE: "[a1@3 b1@5 a1@2 b1@3 b1@3 b1@2 a1@3 b1@5 a1@3 b1@5 a1@2 b1@5 ~ a1@2 b1@5 a1@3 b1@3 b1@2 b1@3 a1@2 b1@5 ~ a1@2 b1@5 a1@3 b1@5 a1@3 b1@5 a1@3 b1@2]/3",
AF: "[b1@3 b1@2 a1@3 b1@5 a1@3 b1@5 a1@3 b1@5 a1@2 b1@5 ~ a1@2 b1@3 b1@2 b1@3 a1@2 b1@5 a1@3 b1@5 a1@2]/2",
AG: "[~ b1@5 a1@2 b1@5 a1@3 b1@2 b1@3 b1@2 a1@3 b1@5 a1@2 b1@5 ~ a1@2 b1@5 a1@3 b1@5 a1@2 b1@3 b1@2 b1@3]/2",
AH: "a1@2 b1@5 a1@3 b1@5 a1@2 b1@5 a1@3 b1@5 a1@2", AI: "b1@3 b1@2 b1@3 a1@2 b1@5 a1@3 b1@5 a1@2 b1@5 a1@2",
AJ: "[~ b1@5 a1@2 b1@3 b1@2 b1@3 a1@2 b1@5 ~ a1@2 b1@5 a1@3 b1@5 a1@2 b1@5 a1@3 b1@2 b1@3 b1@2 a1@3 b1@5]/2",
AK: "a1@2 b1@5 a1@3 b1@5 a1@2 b1@5 a1@3 b1@2 b1@3 b1@2", AL: "a1@3 b1@5 a1@2 b1@5 a1@3 b1@5 a1@2 b1@5 a1@2",
AM: "[~ b1@2 b1@3 b1@3 a1@2 b1@5 a1@3 b1@5 a1@2 b1@5 a1@3 b1@5 a1@2 b1@3 b1@2 b1@3 a1@2 b1@5 a1@3 b1@5]/2",
AN: "a1@2 b1@5 a1@3 b1@5 a1@2 b1@3 b1@2 b1@3 a1@2 b1@5",
AO: "[a1@3 b1@5 a1@2 b1@5 a1@3 b1@5 a1@3 b1@2 b1@3 b1@2 a1@3 b1@5 a1@2 b1@5 a1@3 b1@5 a1@2 b1@5 a1@3 b1@2 b1@3 b1@2 a1@3 b1@5 a1@2 b1@5 a1@3 b1@5]/3",
AP: "a1@2 b1@5 a1@3 b1@2 b1@3 b1@2 b1@15",
AQ: "[f#2@15 ~ b1@5 a1@5 a1@5 a1@5 a1@5 a1@5 a1@5 a1@5 b1@5 a1@5 g1@2 g1@5 g1@3 g1@5 g1@2 g1@5 g1@3 g1@5]/3",
AR: "[g1@2 g1@5 ~@3 a1@5 a1@5 a1@5 a1@5 a1@5 a1@5 a1@5 a1@5 b1@7 b1@5 b1@2]/2",
AS: "~ b1@7 b1@2 ~ b1@2 b1@2 ~ g2@9 b1@7", AT: "~ b1@5 b1@2 b1@7 ~ b1@2 b1@2 b1@2 ~ g2@9",
AU: "[~ b1@7 b1@5 b1@2 b1@7 ~ b1@2 b1@2 b1@2 ~ g2@10 b1@7 b1@5 b1@2 b1@7 b1@2 ~]/2",
AV: "[b1@2 b1@2 g2@10 d2@2 b1@2 ~ b1@2 e2@2 ~ b1@2 b1@2 d2@2 ~ b1@2 b1@2 a2@2 ~ b1@2 b1@2 ~ b2@2 b1@2 a2@2 ~ b1@2 d2@2 b1@2 ~ b1@2 e2@2 ~ b1@2]/2",
AW: "b1@2 d2@2 ~ b1@2 b1@2 a2@2 ~ b1@2 b1@2 b2@2 ~ b1@2 a2@2 b1@2 ~ d2@2 b1@2 b1@2",
AX: "[~ e2@2 b1@2 b1@2 ~ d2@2 b1@2 b1@2 ~ a2@2 b1@2 b1@2 ~ b2@2 b1@2 a2@2 ~ b1@2 d2@2 b1@2 ~ b1@2 e2@2 b1@2 ~ b1@2 d2@2 b1@2 ~ b1@2 a2@2 b1@2 ~ b1@2 b2@2 b1@2 ~]/2",
AY: "a2@2 b1@2 d2@5 d2@2 e2@5 e2@2 d2@5 d2@2 a2@5 a2@2",
AZ: "[b2@2 ~ b1@2 a2@2 b1@2 ~ d2@4 d2@2 ~ e2@4 e2@2 ~ d2@4 d2@2 ~ a2@4 a2@2 ~ b2@2 b1@2 a2@2 ~ b1@2 d2@5 d2@2 e2@5 e2@2 d2@5 d2@2 a2@5 a2@2 b2@2 b1@2 ~ a2@2 b1@2 d2@5 d2@2 e2@5]/3",
BA: "[e2@2 d2@5 d2@2 a2@5 a2@2 b2@2 ~ b1@2 a2@2 b1@2 ~ [b1,b2]@14 [b1,b2]@14 [b1,g2]@10]/2", // B Em
BB: "[[b1,b2]@15 [b1,b2]@15 ~ [b1,g2]@10 [b1,b2]@16 [b1,b2]@16 [b1,g2]@10 [b1,b2]@13]/3", // B Em B Em B
BC: "[~@4 [b1,b2]@16 [b1,g2]@11 [b1,g2]@46 [c2,b2]@49 [c2,b2]@53 [b1,b2]@63 ~@14]/8", // B Em Cmaj7 B
})).s("gm_electric_bass_finger").gain(0.64)
// drums · kick
const kick = s("bd").struct(`<
~@4 A B@3 C D E F G H I J K L M@2 N O P Q R S T U V W X@2 Y Z AA AB AC AD AE AF AG AH@2 AI AJ I@7 AK AL AM AN AO AP AQ
AR AS AT AU@2 AV AW AX AY AZ BA BB BC BD BE BF@2 BG BH BI ~ BJ BK BL ~ BM BN BO BP AJ BQ BR BS BT AJ BU BV BW BX BY BZ
CA CB CC CD CE CF CG CH CI CJ CK CL CM CN CO CP CQ CR CS CT CU CV CW CX CY CZ DA ~
>`.pickRestart({
A: "~@5 x ~@2 x ~ x ~ x ~ x ~", B: "~ x ~@2 x ~@2 x ~ x ~@4 x ~", C: "~@29 x ~@2",
D: "~@3 x ~@7 x ~@3 x ~@9 x ~@3 x ~@2", E: "~@3 x ~@8 x ~@3 x ~@9 x ~@3 x ~", F: "~@2 x ~@3 x ~ x ~@4 x ~ x",
G: "~@5 x ~@7 x ~@3 x ~@9 x ~@3 x", H: "~@5 x ~@7 x ~@3 x ~@10 x ~@3", I: "x ~@2 x ~@3 x ~ x ~@4 x ~",
J: "x ~@5 x ~@7 x ~@4 x ~@9 x ~@2", K: "~ x ~@5 x ~@7 x ~@3 x ~@12", L: "~ x ~@5 x ~@5 x ~@6 x ~@3 x ~@7",
M: "~ x ~@2 x ~@2 x ~@2 x ~ x ~@3", N: "~ x ~@14", O: "~@3 x ~@5 x ~@7 x ~@3 x ~@9 x",
P: "~@3 x ~@5 x ~@7 x ~@3 x ~@10", Q: "x ~ x ~@2 x ~@3 x ~ x ~@4", R: "x ~@3 x ~@5 x ~@7 x ~@4 x ~@8",
S: "~ x ~@3 x ~@5 x ~@7 x ~@3 x ~@8", T: "~ x ~@3 x ~@6 x ~@7 x ~@3 x ~@7", U: "~ x ~ x ~@2 x ~@3 x ~ x ~@3",
V: "~@2 x ~@4 x ~@5 x ~@7 x ~@3 x ~@6", W: "~@5 x ~ x ~@5 x ~@5 x ~@5 x ~@3 x ~@2",
X: "~@7 x ~@5 x ~@5 x ~@5 x ~@3 x ~@2", Y: "~@7 x ~@5 x ~@5 x ~@11 x", Z: "~@7 x ~@11 x ~@3 x ~@7 x",
AA: "~@3 x ~ x ~ x", AB: "x ~@2 x ~ x ~@2", AC: "x ~@2 x ~ x ~ x", AD: "x ~ x!2 ~ x ~@2",
AE: "~ x ~@11 x ~@7 x ~@7 x ~@2", AF: "~@5 x ~@7 x ~@7 x ~@7 x ~@2", AG: "~@5 x ~@7 x ~@5 x ~ x ~ x ~@8",
AH: "~ x ~@11 x ~@3 x ~@9 x ~@4", AI: "~ x ~@10 x ~@3 x ~@9 x ~@5", AJ: "x", AK: "x ~@2 x ~@3 x ~ x ~@5 x",
AL: "x ~@2 x ~@2 x ~@2 x ~ x ~@4", AM: "x ~@5 x ~@5 x ~@5 x ~@3 x ~@8 x", AN: "~@5 x ~@5 x ~@5 x ~@3 x ~@9 x",
AO: "~@5 x ~@5 x ~@11 x ~@7 x", AP: "~@11 x ~@3 x ~@7 x ~@8", AQ: "~@3 x ~@7 x ~@7 x ~@4 x ~@7",
AR: "~ x ~ x ~@2 x ~", AS: "~ x ~ x ~ x!2 ~", AT: "x!2 ~ x ~@2 x ~", AU: "~ x ~ x ~ x ~ x",
AV: "~@2 x ~@2 x!3 ~ x!3 ~@2 x ~", AW: "~@4 x ~@6 x ~@7 x ~@7 x ~@4",
AX: "~@3 x ~@5 x ~ x ~ x ~@3 x ~@3 x ~ x ~ x ~ x ~ x ~@2", AY: "x ~ x!2 ~ x!2 ~ x!5 ~ x!2",
AZ: "~@2 x ~ x ~@2 x ~ x ~ x ~@9 x ~@5 x ~@4", BA: "~ x ~@7 x ~@6 x ~@3 x ~@5 x ~@5",
BB: "x ~@7 x ~@6 x ~@3 x ~@5 x ~@5 x", BC: "~@7 x ~@7 x ~@8 x!2 ~@6", BD: "x!3 ~@15 x ~@11 x ~",
BE: "~@2 x ~@9 x ~@4 x ~@11 x ~@2", BF: "~ x ~@9 x ~@5 x ~@11 x ~@2", BG: "~ x ~@7 x ~@22", BH: "~@9 x ~@6",
BI: "~@7 x", BJ: "~@5 x ~@26", BK: "~@15 x ~ x ~@4 x ~@9", BL: "~@23 x ~@2 x ~@4 x", BM: "x ~ x ~@4 x ~@24",
BN: "~@8 x ~ x ~@4 x ~@16", BO: "~@8 x!2 ~@2 x ~@3", BP: "~@24 x ~@2 x ~@4", BQ: "x ~@2 x ~@4 x ~@23",
BR: "~@9 x ~ x ~@4 x ~@15", BS: "~@17 x ~ x ~@4 x ~@7", BT: "~@25 x ~ x ~@4", BU: "~ x ~@2 x ~@4 x ~@22",
BV: "~@9 x ~@9 x ~@9 x ~@2", BW: "~@17 x ~@7 x ~@6", BX: "~@4 x ~@8 x ~@2", BY: "~ x ~@14 x ~@9 x!2 ~@4",
BZ: "~@2 x ~@6 x ~@14 x ~@7", CA: "~@10 x ~@6 x ~@7 x ~@6", CB: "~@13 x ~@4 x ~@6 x ~@2 x ~@3",
CC: "~@6 x ~@4 x ~@9 x ~@3 x ~@6", CD: "~ x ~ x ~@9 x ~@4 x ~@9 x ~@3", CE: "~ x ~@6 x ~ x ~@9 x ~@4 x ~@6",
CF: "~@3 x ~@4 x ~@6 x ~ x ~@9 x ~@4", CG: "x ~@8 x ~@4 x ~@13 x ~@3", CH: "~@11 x ~@8 x ~@11",
CI: "~ x ~@6 x ~@4 x ~@2", CJ: "~@8 x ~@13 x ~@8 x", CK: "~@13 x ~@13 x ~@4", CL: "~@9 x ~@6 x ~@6 x ~@6 x ~",
CM: "~@3 x ~@10 x ~@6 x ~@6 x ~@3", CN: "~@3 x ~@4 x ~@11 x ~@6 x ~@4", CO: "~@2 x ~@6 x ~@3 x ~@11 x ~@6",
CP: "x ~@6 x ~@6 x ~@4 x ~@6 x ~@5", CQ: "~@3 x ~@2 x ~ x ~@9 x ~@13", CR: "x ~@9 x ~@2 x ~ x ~@10 x ~@5",
CS: "~@9 x ~@9 x ~@2 x ~@2 x ~@6", CT: "~@3 x ~@15 x ~@10 x ~", CU: "~ x ~@2 x ~@10 x ~@15 x",
CV: "~@11 x ~ x ~@2 x ~@11 x ~@3", CW: "~@13 x ~@11 x ~@2 x ~@2 x", CX: "~@6 x ~@8 x",
CY: "~@11 x ~@3 x ~@2 x ~@12 x", CZ: "~@19 x ~@12", DA: "~@2 x ~@2 x ~@3 x ~@14 x ~@7",
})).gain(0.8)
// drums · snare
const snare = s("sd").struct(`<
~@4 A B@2 C D E F G H@2 I J K L M@2 N O P Q R S T@2 U@4 V W X I Y Z AA AB@2 K@2 I AC I@10 H AD AE AD AF AG AH AI AJ@2
AK AL AM AN AO AP AQ AR AS K@2 AT AU AV ~ AW AX AY AZ BA BB BC BD BE BA BF BG BH BI BJ ~ BK BL BM BN BO BP BQ BR BS BT
BU BV BW BX BY BZ CA CB CC CD CE CF CG CH CI CJ CK CL CM CN CO CP
>`.pickRestart({
A: "~@6 x ~@4 x ~@4", B: "~ x ~@3 x ~@2", C: "~@2 x ~@7 x ~@3 x!2", D: "~@5 x ~@3 x ~@7 x ~@3 x ~@10",
E: "~@5 x ~@15 x ~@10", F: "~@5 x ~@16 x ~@9", G: "~@3 x ~@7 x ~@4", H: "~@7 x ~@15 x ~@8", I: "~ x ~ x",
J: "~@8 x ~@16 x ~@6", K: "~@9 x ~@15 x ~@6", L: "~@9 x ~@16 x ~@5", M: "~@5 x ~@7 x ~@2",
N: "~ x!2 ~@2 x ~ x ~@3 x ~ x ~@2", O: "~@11 x ~@15 x ~@4", P: "~@11 x ~@16 x ~@3", Q: "~@3 x ~@3 x",
R: "~@12 x ~@16 x ~@2", S: "~@13 x ~@15 x ~@2", T: "~@7 x ~@7 x", U: "~@15 x ~@15 x", V: "~@15 x ~@7 x ~@8",
W: "~@11 x ~@20", X: "~@3 x ~@12 x ~@7 x ~@7", Y: "~ x ~@2 x ~ x ~", Z: "~ x ~@4 x ~", AA: "~@5 x ~@11 x ~@7 x ~@6",
AB: "~ x ~@7 x ~@7 x ~@7 x ~@6", AC: "x!2 ~@2 x ~ x ~@3 x ~ x ~@3", AD: "~@7 x ~@7 x ~@16", AE: "~@3 x ~@23 x ~@4",
AF: "x ~@3 x ~@2 x", AG: "~@2 x ~ x ~@2 x", AH: "~@4 x ~@2 x", AI: "~ x!3", AJ: "x!4",
AK: "x ~@7 x ~@6 x ~@7 x ~@7 x", AL: "~@7 x ~@7 x ~@3 x ~@10 x ~", AM: "~ x ~@2 x ~@2 x ~@5 x ~@2",
AN: "x ~@4 x ~@7 x ~ x ~ x ~ x ~@9 x ~@2", AO: "~@7 x ~@4 x ~@15 x ~@3", AP: "~@6 x ~@5 x ~@14 x ~@4",
AQ: "~@5 x ~@5 x ~@7 x ~@6 x ~@5", AR: "~@6 x ~@3 x!2 ~@14 x ~@5", AS: "~@10 x ~@14 x ~@6", AT: "~ x ~@9 x ~@20",
AU: "~@21 x ~@10", AV: "~@15 x", AW: "~ x ~@2", AX: "~@25 x ~@6", AY: "~@13 x ~@18", AZ: "~ x ~@20 x ~@9",
BA: "~@5 x ~@9 x", BB: "~@9 x ~@6", BC: "~@3 x ~@9 x ~@2", BD: "~@7 x ~@8", BE: "~ x ~@9 x ~@4", BF: "~@19 x ~@12",
BG: "~@6 x!2 ~@19 x ~@4", BH: "~@15 x ~@16", BI: "~@3 x ~@19 x ~@8", BJ: "~@11 x ~@19 x", BK: "~@7 x ~ x!3 ~@20",
BL: "x ~@15 x!2 ~ x ~@12", BM: "~@9 x ~@14 x ~@4 x ~ x", BN: "~@17 x ~@14", BO: "x ~ x!2 ~@11 x ~@6 x ~@7 x ~",
BP: "~@4 x ~@10 x", BQ: "~@16 x ~ x ~@4 x ~@8", BR: "~@6 x ~@16 x ~ x ~@4 x ~", BS: "~@13 x ~@16 x ~",
BT: "x ~@4 x ~@14 x ~@11", BU: "~@4 x ~@2 x ~@4 x ~@8 x ~@10", BV: "~@3 x ~@11 x ~@11 x ~@4", BW: "~@9 x ~@11 x ~@10",
BX: "~ x ~@13 x ~@10 x ~@5", BY: "~@3 x ~@6 x ~@5", BZ: "x ~@3 x ~@6 x ~@6 x ~@6 x ~@6",
CA: "x ~@4 x ~ x ~@2 x ~@6 x ~@6 x ~@6 x", CB: "~@6 x ~@3 x ~@2 x ~ x ~@6 x ~@6 x ~@2",
CC: "~@4 x ~@6 x ~@4 x ~ x ~ x ~@6 x ~@4", CD: "~@2 x ~@6 x ~@6 x ~@4 x ~ x ~@8", CE: "~ x ~@6 x ~@4 x ~@8 x ~@9",
CF: "~@8 x ~@6 x ~@4 x ~@9 x!2", CG: "~@17 x ~@7 x ~@4 x ~", CH: "~@8 x!2 ~@17 x ~@4", CI: "~@4 x ~@4 x ~@10 x ~@11",
CJ: "~@4 x ~@3 x ~@2 x ~@4", CK: "~ x!2 ~@19 x ~@8 x", CL: "~@5 x ~@12 x ~@13", CM: "~@4 x ~@4 x ~@2 x ~@3",
CN: "~@5 x!2 ~@23 x ~", CO: "~@9 x ~@6 x ~@15", CP: "x",
})).gain(0.8)
// … 106 more lines
More by Tool
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.