0:00/0:00
// Take Me Don't Break Me — Arabesque
// 184 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 162 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(184/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.
// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
A B C@2 A@2 C D E@2 F@2 G@2 H I E@2 J@2 K@2 L I A B C@2 A M C@2 N C O C O P ~@2 A@2 Q C A B R C O S O C O T ~ U V W
A@2 X Y Z ~ A B C S A AA C AB E@2 J@2 G@2 AC I E@2 J@2 G@2 L I A B C@2 A B C@2 N S O S O AD ~@2 A B C S A B AE AF O S
O S O P ~ U X W A@2 X@2 AG ~ A B C@2 A B C S O C O C O P ~@2 A B C@2 A B C@2 O C O C O P ~ AH AI ~
>`.pickRestart({
A: "d2 ~ d2@2 b1@2 a1@2 d2 ~ d2@2 b1@2 a1@2", B: "d2 ~ d2@2 b1@2 a1@2 d2 ~ d2@2 b1@2 d2@2",
C: "a1 ~ a1@2 f#1@2 e1@2 a1 ~ a1@2 f#1@2 e1@2", D: "a1@2 a#1@3 ~ b1@3 ~ c2@3 ~ c#2 ~", E: "[d2@13 ~ d2@2]/2",
F: "[f2@27 ~ f2@4]/2", G: "[g1@13 ~ g1@2]/2", H: "a#1@7 ~", I: "a1@2 ~@2 a1 ~ a1@2 ~@2 a1 ~ a1@3 ~",
J: "[f1@13 ~ f1@2]/2", K: "[g1@15 ~]/2", L: "a1@5 ~@3 a1@6 ~@2", M: "d2 ~ d2 ~ b1@2 a1 ~ d2 ~ d2 ~ b1@2 b1 ~",
N: "g1 ~ g1@2 e1@2 d1@2 g1 ~ g1@2 e1@2 ~@2", O: "g1 ~ g1@2 e1@2 d1@2 g1 ~ g1@2 e1@2 d1@2", P: "a1 ~ a1@5 ~",
Q: "a1@2 a1 ~ f#1@2 e1 ~ a1 ~ a1@2 f#1 ~ e1 ~", R: "a1 ~ a1@2 f#1@2 e1 ~ a1 ~ a1@2 f#1@2 e1@2",
S: "a1 ~ a1@2 f#1@2 e1@2 a1 ~ a1@2 f#1@2 a1@2", T: "a1@2 ~@2 a1@5 ~@7", U: "d2@4 e2@4 f2@4 f#2@3 ~",
V: "g2 ~ g2@2 e2@2 d2 ~ g2@2 g2@2 e2@2 d2@2", W: "g2 ~ g2@2 e2@2 d2@2 g2 ~ g2@2 e2@2 g2@2",
X: "g2 ~ g2@2 e2@2 d2@2 g2 ~ g2@2 e2@2 d2@2", Y: "g2 ~ g2@2 e2@2 d2 ~ g2 ~ g2@2 e2@2 d2 ~", Z: "a2 ~@7",
AA: "d2 ~ d2@2 b1@2 a1@2 d2 ~ d2@2 b1@2 a1 ~", AB: "a1 a#1@2 b1@2 c2@2 c#2, ~@14 d#2 ~", AC: "a#1", AD: "a1 ~ a1@6",
AE: "a1 ~ a1 ~ f#1@2 e1@2 a1 ~ a1@2 f#1@2 e1 ~", AF: "a1 ~ a1@2 f#1@2 e1 ~ a1 ~ a1@2 f#1@2 a1@2", AG: "a1 ~@3",
AH: "a1@3 ~ a1@3 ~ a1@3 ~ a1@3 ~", AI: "d1@3 ~ d1@3 ~@9",
})).s("gm_electric_bass_finger").gain(0.5)
// chords · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
A@2 B@2 A C B D E@2 F@2 G@2 H I J@2 F@2 G@2 K L A C B@2 A@2 B@2 M B M B M N ~@2 A@2 B@2 A@2 B@2 M B M B M N ~ O M@2 A
C P Q R ~ A@2 B@2 S C B D E@2 F@2 G@2 H T E@2 F@2 G@2 U L A@2 B@2 A@2 V B M B M B M N ~@2 A@2 B W A@2 X B M B M B M N
~ O Y M A@2 Z M AA ~ A@2 B@2 A@2 B@2 M B AB B M N ~@2 A@2 B@2 A@2 B@2 M B M B M N ~ AC AD@2
>`.pickRestart({
A: "[d4,a4] ~ [d4,a4] ~ [d4,b4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,b4] ~ [d4,a4] ~", // D5 G D5 G D5
B: "[a3,e4] ~ [a3,e4] ~ [a3,f#4] ~ [a3,e4] ~ [a3,e4] ~ [a3,e4] ~ [a3,f#4] ~ [a3,e4] ~", // A5 D A5 D A5
C: "[d4,a4] ~ [d4,a4] ~ [d4,b4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,b4] ~ [d4,b4] ~", // D5 G D5 G
D: "[a3,e4] ~ [a#3,f4]@3 ~ [b3,f#4]@3 ~ [c4,g4]@3 ~ [c#4,g#4] ~", E: "[[d4,a4]@27 ~ [d4,a4]@4]/2",
F: "[[f3,c4]@27 ~ [f3,c4]@3 ~]/2", G: "[[g3,d4]@26 ~@2 [g3,d4]@3 ~]/2", H: "[a#3,f4]@15 ~",
I: "[a3,e4]@2 ~@2 [a3,e4] ~ [a3,e4]@3 ~ [a3,e4] ~ [a3,e4]@4", J: "[[d4,a4]@27 ~ [d4,a4]@4, g4 ~@31]/2",
K: "[a3,e4]@4 ~@4 [a3,e4]@5 ~@3", L: "[a3,e4]@2 ~@2 [a3,e4] ~ [a3,e4]@2 ~@2 [a3,e4] ~ [a3,e4]@2 ~@2",
M: "[g3,d4] ~ [g3,d4] ~ [g3,e4] ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ [g3,e4] ~ [g3,d4] ~", N: "[a3,e4] ~@3 [a3,e4]@12",
O: "[d3,d4] [e3,e4] [f3,f4] [f#3,f#4]", // D E F F#
P: "[g3,d4] ~ [g3,d4] ~ [g3,e4] ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ [g3,e4] ~ [g3,e4] ~", // G5 C G5 C
Q: "[g3,d4] ~ [g3,d4] ~ [g3,e4] ~ [g3,e4] ~ [g3,d4] ~ [g3,d4] ~ [g3,e4] ~ [g3,d4] ~", R: "[a3,e4]@3 ~@13",
S: "[d4,g4,a4] ~ [d4,a4] ~ [d4,b4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,b4] ~ [d4,a4] ~", // Dsus4 D5 G D5 G D5
T: "[a3,e4]@2 ~@2 [a3,e4] ~ [a3,e4]@3 ~ [a3,e4] ~ [a3,e4]@3 ~", U: "[a3,e4]@3 ~ [a3,e4]@3 ~",
V: "[a3,d4,e4] ~ [a3,d4,e4] ~ [a3,f#4] ~ [a3,e4] ~ [a3,e4] ~ [a3,e4] ~ [a3,f#4] ~ [a3,e4] ~", // Asus4 D A5 D A5
W: "[a3,e4] ~ [a3,e4] ~ [a3,f#4] ~ [a3,e4,f#4] ~ [a3,e4] ~ [a3,e4] ~ [a3,f#4] ~ [a3,e4] ~", // A5 D F#m7 A5 D A5
X: "[a3,e4] ~ [a3,e4] ~ [a3,f#4,g#4] ~ [a3,e4] ~ [a3,e4] ~ [a3,e4] ~ [a3,f#4] ~ [a3,e4] ~", // A5 D A5 D A5
Y: "[g3,d4,e4] ~ [g3,d4] ~ [g3,e4] ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ [g3,e4] ~ [g3,d4] ~", // Em7 G5 C G5 C G5
Z: "[g3,d4,e4] ~ [f#3,g3,d4] ~ [g3,e4] ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ [g3,e4] ~ [g3,d4] ~", AA: "[a3,e4] ~@7",
AB: "[g3,d4] ~ [g3,d4] ~ [g3,a3,e4] ~ [g3,d4] ~ [g3,d4] ~ [g3,d4] ~ [g3,e4] ~ [g3,d4] ~", // G5 A7 G5 C G5
AC: "[a3,e4]@3 ~ [a3,e4]@3 ~ [a3,e4]@3 ~ [a3,e4]@4", AD: "[[d3,a3,d4]@2 ~@2 a3@7 ~ a3 ~@19, ~@4 [d3,d4]@15 ~@13]/2",
})).s("gm_electric_guitar_muted").gain(0.35).pan(0.3)
// chords · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note(`<
~@7 A B@2 C@2 D@2 E F B@2 C@2 D@2 G F ~@15 H I@2 ~@13 J K@2 L M N O P ~@8 Q B@2 C@2 D@2 R S T@2 C@2 D@2 U F V@2 ~@13 H
W@2 X@2 W@2 Y@2 Z AA AB AC AD AE ~ J AF@6 AG ~@16 H W@2 X@2 AH@2 AI@3 AC AB AC AD AJ ~ AK AL ~
>`.pickRestart({
A: "[a2,e3]@2 [a#2,f3]@4 [b2,f#3]@3 ~ [c3,g3]@3 ~ [c#3,g#3]@2", B: "[d3,a3]/2", C: "[f2,c3]/2", D: "[g2,d3]/2",
E: "[a#2,f3]", F: "[a2,e3]@3 ~ [a2,e3] ~ [a2,e3]@3 ~ [a2,e3] ~ [a2,e3]@4", G: "[a2,e3]@6 ~@2 [a2,e3]@5 ~@3",
H: "~@2 a3 b3@2 a3 f#3@2", I: "[d3@15 ~]/2", J: "[d2,d3] [e2,e3] [f2,f3] [f#2,f#3]",
K: "[[g2,g3]@10 c#4@2 d4@2 ~@10 d4@7 ~, ~@14 g4@17 ~]/2", L: "~@4 [a4,d5]@2 ~@2 [a4,d5]@3 ~ b4 ~ [a4,d5]@2",
M: "~@2 [a4,d5]@2 b4 ~ [a4,d5] ~ d4 ~ d4 ~ e4 ~ f#4 ~", N: "~@2 [a4,d5]@2 ~@2 b4 ~ [a4,d5]@4 b4 ~ [b4,e5]@2",
O: "~@2 [a4,d5]@2 ~@2 b4 ~ [a4,d5] ~ [a4,d5]@2 b4@2 a4 ~", P: "[a3,a4]@3 ~@13",
Q: "[a2,e3] [a#2,f3]@2 [b2,f#3]@2 [c3,g3]@2 [c#3,g#3]", R: "f3@7 ~, a#2@5 ~@3",
S: "[a2,e3]@2 ~@2 [a2,e3] ~ [a2,e3]@3 ~ [a2,e3] ~ [a2,e3]@4", T: "[d2,d3]/2", U: "[a2,e3] ~ [a2,e3] ~",
V: "[[d2,d3]@11 ~@5]/2", W: "[d3@10 a3 b3@2 a3 f#3@2]/2", X: "[a2@10 a3 b3@2 a3 f#3@2]/2",
Y: "[a2@10 e3 f#3@2 e3 d3@2]/2", Z: "g2", AA: "a2", AB: "[g2,d3]", AC: "[a2,e3]", AD: "[g2,d3,g3]",
AE: "[a2,e3,a3]@2 ~@2 [a2,e3,a3]@3 ~@9", // A5
AF: "[g3@10 a#3@2 b3@2 [c#4,g4]@2 ~@2 g4@12 ~@4 [a4,d5] ~@5 [a4,d5]@5 ~@5 [a4,d5] ~@5 [a4,d5]@8 a#4@2 b4@2 d5@2 a#4@2 b4@2 d5@2 a#4@2 b4 ~ d5@2 a#4 ~ b4@2 e5@2 ~@2 d5@2 ~@4, g2@31 ~@65, ~@9 d4@38 ~]/6", // C#dim D5
AG: "[g#4,a4,d5] ~@7", AH: "[~@10 a3 b3@2 a3 f#3@2, d3@15 ~]/2",
AI: "[~@10 e3 f#3@2 e3 ~@2 g2@8, a2@2 ~, ~@7 d3@5]/3", AJ: "[a2,e3,a3] ~ [a2,e3,a3]@6", AK: "[a2,a3]",
AL: "[d2,d3]@3 ~ [d2,d3]@9 ~ d2 ~", // D
})).s("gm_overdriven_guitar").gain(0.48).pan(0.7)
// chords · piano · "A.PIANO"
const piano = note(`<
A@2 B@2 C@2 D E F@2 G@2 H@2 I J K@2 L@2 M@2 N O P@2 Q@2 R@2 S@2 T U V W V X@2 ~ K@2 Q@2 K@2 Y@2 Z AA AB AC AD AE@2 AF
AG@2 AH AI@2 AJ AK ~ AL@2 Y@2 AL@2 AM@2 AN@2 AO@2 AP@2 AQ J AR@2 AS@2 AT@2 AU AV AW@2 Q@2 AX@2 AY@2 AZ BA BB D BC BD@2
~ BE@2 Q@2 K@2 BF@2 T U Z BG BH BI ~ BJ BK@6 BL ~ K@2 BM@2 K@2 BN@2 BB BO BB W BB X@2 BP BQ@2 BR@2 BS@2 BT@2 Z AA Z AA
Z BU@2 ~ BV@2
>`.pickRestart({
A: "[[f#4,a4]@29 ~@3, [d3,d4]@27 ~@5]/2", B: "[[c#4,e4,a4]@13 ~@3, a3@3 ~]/2", C: "[[d3,d4,f#4,a4]@25 ~@7]/2",
D: "[a3,c#4,e4,a4]@11 ~@5", E: "[a2,a3] [a#2,a#3]@2 [b2,b3]@2 [c3,c4]@2 c#3, ~@14 c#4 ~", F: "[d3,d4]/2",
G: "[[f3,c4]@15 ~, a3@7 ~]/2", H: "[[g2,g3]@31 ~, [b3,d4]@29 ~@3]/2", I: "[a#2,f3,a#3,d4]@15 ~, e3 ~@15",
J: "[a2,a3,c#4,e4]@3 ~ [a2,a3,c#4,e4] ~ [a2,a3,c#4,e4]@3 ~ [a2,a3,c#4,e4] ~ [a2,a3,c#4,e4]@2 ~@2", // A
K: "[[d3,a3,d4,f#4]@15 ~]/2", L: "[[f2,a3,c4,f4]@15 ~]/2", M: "[[g2,g3,b3,d4]@31 ~]/2",
N: "[a2,a3,c#4,e4]@5 ~@3 [a2,a3,c#4,e4]@6 ~@2", // A
O: "[a2,a3,c#4,e4]@2 ~@2 [a2,a3,c#4,e4] ~ [a2,a3,c#4,e4]@2 ~@2 [a2,a3,c#4,e4] ~ [a2,a3,c#4]@2 ~@2, ~@12 e4 ~@3", // A
P: "[[a3,d4,f#4]@31 ~, d3@29 ~@3]/2", Q: "[[a2,a3,c#4,e4]@15 ~]/2", R: "[~ c#3 ~@30, d3, [a3,d4,f#4]@15 ~]/2",
S: "[[a3,c#4]@7 ~, e4@15 ~, a2@3 ~]/2", T: "[g3,b3,d4,g4]@7 ~", U: "[a3,c#4,e4]@15 ~", V: "[g3,g4]@7 ~, [b3,d4]@3 ~",
W: "[a3,c#4]@7 ~, [e4,a4]@3 ~", X: "[[a3,c#4,e4,a4] ~ [a3,c#4,e4,a4]@9 ~@5]/2", Y: "[[a2,a3,c#4,e4]@13 ~@3]/2",
Z: "[g2,g4]@15 ~, [b3,d4]@13 ~@3", AA: "[a2,a3,c#4,e4]@7 ~", AB: "[g2,b3,d4,g4]@11 ~@5",
AC: "[a3,c#4,e4]@13 ~@3, [a2,a4]@11 ~@5", AD: "[b3,d4,g4]@5 ~@3, g3 ~",
AE: "[[a2,a3,c#4,e4,a4] ~ [a2,a3,c#4,e4,a4]@11 ~@3]/2", AF: "[d3,d4] [e3,e4] [f3,f4] f#3, ~@6 f#4 ~",
AG: "[~@18 g5!2 ~@4 [d5,g5]@4 ~@4, g3@31 ~, g4@27 ~@5, ~@9 d5 ~@6]/2", // G5
AH: "~@2 f6 ~ [d6,f6] ~ [d6,f6] ~ [d6,f6] ~ [d6,f6] ~ [d6,f6] ~ [d6,f6] ~", // Dm
AI: "[d6,f6] ~ [d6,f6] ~ [d6,f6] ~ [d6,f6] ~ [d6,f6] ~ [d6,f6] ~ [d6,f6] ~ [d6,f6] ~", // Dm
AJ: "[d6,f6] ~ [d6,f6] ~ [d6,f6] ~ [d6,f6] ~ [d6,f6] ~ [a5,d6] ~ d6 ~ a5 ~", AK: "~ [a5,b5] ~@14",
AL: "[[a3,d4,f#4]@29 ~@3, d3@31 ~]/2", AM: "[[a2,a3,c#4,e4]@21 ~@11]/2", AN: "[[d3,d4]@15 ~]/2",
AO: "[[f2,f3,a3,c4]@15 ~]/2", AP: "[[g2,g3]@7 ~, [b3,d4]@13 ~@3]/2", AQ: "[a#2,f3,a#3,d4]@13 ~@3",
AR: "[~ c#4 ~@30, [d3,a3,d4,f#4]@29 ~@3]/2", AS: "[[c3,a3,c4,f4]@15 ~, f2@7 ~]/2",
AT: "[[g2,g3,b3]@7 ~, [d3,d4]@15 ~]/2", AU: "[a2,e3,a3,c#4,e4]@6 ~@2 [a2,e3,a3,c#4,e4]@5 ~@3",
AV: "[a2,a3,c#4,e4]@2 ~@2 [a2,a3,c#4,e4] ~ [a2,a3,c#4,e4]@3 ~ [a2,a3,c#4,e4] ~ [a2,a3,c#4,e4]@3 ~", // A
AW: "[~ d3@31, [a3,d4,f#4]@31 ~, ~ c#4 ~@30]/2", AX: "[~ d#4 ~@30, [d3,a3,d4,f#4]@31 ~]/2",
AY: "[~ c#4@28 ~@3, [a3,e4]@15 ~, a2@25 ~@7]/2", AZ: "[g3,d4,g4]@7 ~, b3@3 ~", BA: "~ a3@12 ~@3, [c#4,e4,a4]@13 ~@3",
BB: "[b3,d4,g4]@11 ~@5, g3@15 ~", BC: "[b3,d4,g4]@13 ~@3, g2@15 ~, f2 ~@15",
BD: "[[a2,a3,c#4,e4,a4]@2 ~@2 [a2,a3,c#4,e4,a4]@25 ~@3]/2", BE: "[[d3,f#4], [a3,d4]@15 ~]/2",
BF: "[[a3,e4]@15 ~, [a2,c#4]@7 ~]/2", BG: "[c#4,e4,a4]@13 ~@3, a2@15 ~", BH: "[b2,d4,g4,b4]@11 ~@5",
BI: "[a2,c#4,e4,a4]@2 ~@2 [a2,c#4,e4,a4]@11 ~", BJ: "[d3,d4]@4 [e3,e4]@3 ~ [f3,f4]@4 [f#3,f#4]@4",
BK: "[g4@13 ~@5 d5 ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ [d5,f5] ~ d5@2 ~@2, d4@95 ~, g3@5 ~@11]/6", // Dm
BL: "a4@5 ~@11", BM: "[[a2,a3,c#4,e4]@29 ~@3]/2", BN: "[[a2,a3,c#4,e4]@7 ~]/2", BO: "[a3,c#4,e4,a4]@3 ~",
BP: "~@12 [a2,a4]@3 ~", BQ: "[[d3,d4]@3 ~@13 [a3,f#4]@15 ~, ~ d3@7, ~@2 d4@13 ~]/2",
BR: "[[a2,a3,c#4,e4]@2 ~@7 f#4 ~@22, ~ [a2,e4]@3, ~@4 [a3,c#4]@11 ~]/2", // A A5 A
BS: "[[d3,a3,d4,f#4]@3 ~@5 [d3,f#4]@24, ~@4 a3@11 ~, ~@2 d4@5 ~]/2", // D
BT: "[~ a2@2 ~@5 [a3,c#4]@20 ~@4, [a3,c#4,e4]@3 ~@5 a2@17 ~@7, ~ f#4 ~@6 e4@22 ~@2]/2", // A
BU: "[[a3,c#4,e4] ~ [a2,a3,c#4,e4]@9 ~@5, a2 ~@31]/2", BV: "[[d3,a3,d4,f#4]@2 ~@2 [d3,a3,d4]@19 ~@9, ~ f#4 ~@6]/2",
})).s("gm_piano").gain(0.54).pan(0.4)
// other · drawbar organ · "ELEC ORGAN"
const drawbar_organ = note(`<
A B C@2 D E F G H ~@15 I B J@2 I B J@2 ~@6 K L M B N@2 O@2 P@2 ~@7 Q R ~@3 S@2 ~@2 I B T@2 I E U G V ~@15 O@2 W@2 I B
X@2 ~@6 Y L M B N@2 I B T@2 ~@7 Q Z@2 AA AB AA AB AC ~ I B T@2 I B T@2 ~@6 K L I B AD@2 I B P@2 ~@10
>`.pickRestart({
A: "a5@3 ~ a5@4", B: "~@2 a5 b5@2 a5 f#5@2", C: "[e5@9 ~@7]/2", D: "a5@7 ~ a5@5 ~@3",
E: "~@2 b5 d6@2 b5 a5@2, ~@3 a5@2 ~@11", F: "e5@13 ~@3", G: "a4 a#4@2 b4@2 c5@2 c#5", H: "d5@3 ~@5", I: "a5@7 ~ a5@8",
J: "[e5@7 ~ e5@13 ~@11]/2", K: "~ d6 b5 a5", L: "d6@4 a5@2 b5@3 ~ a5@2 f#5@2 ~@2", M: "d5@7 ~ a5@8",
N: "[e5@7 ~ e5@10 ~@14]/2", O: "[a5@7 ~ a5@10 ~@2 a5@2 b5@4 a5@2 f#5@4]/2", P: "[e5@7 ~ e5@15 ~@9]/2",
Q: "d5 e5 f5 f#5", R: "g5", S: "[~@4 f5@2 ~@2 f5@2 d5 ~@3 f5@4 d5 ~@3 f5@4 d5 ~ f5@2 ~@2]/2",
T: "[e5@7 ~ e5@22 ~@2]/2", U: "e5@7 ~ e5@6 ~@2", V: "d5@3 ~", W: "e5/2", X: "[e5@3 ~ e5@9 ~@3]/2",
Y: "~@5 d6@3 b5@4 ~ a5@3", Z: "g5/2", AA: "f5 d5 ~ d5 f5 d5 ~ d5", AB: "f5@2 d5@2 f5@2 d5@2 f5@2 d5@3 ~ d5@2",
AC: "a5 ~@7", AD: "[e5@7 ~ e5@21 ~@3]/2",
})).s("gm_drawbar_organ").gain(0.42).pan(0.6)
// other · alto sax
const alto_sax = note(`<
~@26 A B ~@2 A B ~@7 C D ~ E F ~@2 A G ~@7 H I ~@33 A J ~@2 A B ~@7 C D ~ A K ~@2 A K L ~@6 H M ~@9 E N ~@2 E O ~@7 C
D ~ A K ~@2 A B ~@7 P Q ~
>`.pickRestart({
A: "~@4 a3@2 ~@2 a3@5 ~@3", B: "a3@2 ~@2 a3 ~ a3@2 ~@2 a3 ~ a3@3 ~", C: "~@2 a4 b4@2 a4 f#4@2", D: "d4@7 ~",
E: "~@2 a3 ~ a3@2 ~ a3", F: "~@2 a3 ~ a3@3 ~ a3@5 ~@3", G: "a3@3 ~ a3 ~ a3@8 ~@2", H: "d4 e4 f4 f#4",
I: "g4@3 ~, f#4 ~@15", J: "a3@3 ~ a3 ~ a3@3 ~ a3 ~ a3@3 ~", K: "a3@3 ~ a3 ~ a3@3 ~ a3 ~ a3@4", L: "a3 ~@15",
M: "g4@7 ~@9", N: "~@2 a3 ~ a3@3 ~ a3@3 ~ a3@3 ~", O: "~@4 a3 ~ a3@3 ~ a3 ~ a3@4", P: "a4", Q: "d4@2 ~@2 d4@3 ~@9",
})).s("gm_alto_sax").gain(0.5).pan(0.4)
// drums · kick
const kick = s("bd").struct(`<
A@8 B ~ B ~ B ~ B@2 A@21 C ~ D A@13 C B A@7 B ~ A@8 B ~ B ~ B ~ B@2 A@21 C ~@2 A@13 C ~ A@7 B ~ A@13 C ~@2 A@13 C ~@2
C ~
>`.pickRestart({
A: "x!2", B: "x", C: "x!2 ~@2", D: "~@3 x",
})).gain(0.8)
// drums · snare
const snare = s("sd").struct(`<
A@7 B C D ~ D ~ E ~ F A@3 G A G A F A@3 G A@3 H A@4 G ~@2 F A@7 H A@4 G ~@2 I A@6 ~ D A@7 B ~ D ~ D ~ D ~ F A@7 F A@7
H A@4 G ~@2 F A@7 H A@4 G ~@2 J A@6 ~ D A@7 H A@5 ~@2 F A@7 H A@5 ~@2 K C ~
>`.pickRestart({
A: "~ x ~ x", B: "x!2 ~ x ~ x ~ x", C: "x", D: "~@11 x!2 ~@3", E: "~@5 x!2 ~", F: "x ~ x!2 ~ x!2 ~",
G: "~@2 x ~@2 x!2 ~", H: "~@2 x ~@2 x!3", I: "x ~ x!5 ~ x!3 ~ x ~@3", J: "x ~ x!4 ~ x!4 ~ x ~@3",
K: "x!2 ~ x!4 ~ x!4 ~ x!2 ~",
})).gain(0.8)
// drums · hihat
const hihat = s("hh").struct(`<
A@7 B C@8 D A@20 E C@2 A@13 E C@2 A@6 F C A@7 ~ C@8 A@7 G A@13 E C@2 A@13 E C@2 A@6 F C A@12 H I C@2 A@13 E C@2 E ~
>`.pickRestart({
A: "x!8", B: "x", C: "~ x ~ x", D: "x ~ x!6", E: "x!2 ~@2", F: "x ~@2 x", G: "x!5 ~@3", H: "x!7 ~", I: "x!2 ~ x",
})).gain(0.48)
// drums · crash
const crash = s("cr").struct(`<
A ~@6 A@2 ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@7 A ~@4 B ~@2 A ~@7 A ~@4 B ~ A@2 ~@7 A ~@7 A ~ A ~ A ~ A@3 ~@7 A ~@7 A
~@4 B ~@2 A ~@7 A ~@4 C ~@2 A ~@7 A ~@7 A ~@4 B ~@2 A ~@7 A ~@4 B ~@2 A ~
>`.pickRestart({
A: "x", B: "~ x ~@2", C: "x!2 ~@2",
})).gain(0.56)
stack(bass, electric_guitar_muted, overdriven_guitar, piano, drawbar_organ, alto_sax, kick, snare, hihat, crash)
More by
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.