0:00/0:00
// Obsession — Animotion
// 115 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 5 "Pad 3 (polysynth)" pad poly (copy of ch 4 "Synth Brass 1" synth brass 1)
// note: Full arrangement: all 114 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(115/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.
// chords · distortion guitar
const distortion_guitar = note(`<
~@36 A B C D@2 E F G ~@3 H@2 ~@3 I ~@7 J@7 K@2 ~@11 L ~@11 M N O P Q R S T U V@3 W@4 X@5 Y
>`.pickRestart({
A: "~@7 [c3,g3]@6 [d3,a3]@6 [c3,g3]@4 [d3,a3]@4 ~@5", B: "~@8 [c3,g3]@5 [d3,a3]@6 ~ [c3,g3]@4 [d3,a3]@4 ~@4",
C: "~@8 [f3,c4]@5 [g3,d4]@6 ~ [f3,c4]@4 [g3,d4]@4 ~@4", // F5 G5 F5 G5
D: "[~@8 [f3,c4]@6 [g3,d4]@6 [f3,c4]@4 [g3,d4]@15 ~ [c3,g3]@6 [d3,a3]@6 ~ [c3,g3]@4 [d3,a3]@4 ~@3]/2", // F5 G5 F5 G5 C5 D5 C5 D5
E: "~@9 [c3,g3]@5 [d3,a3]@6 ~ [c3,g3]@4 [d3,a3]@4 ~@3", F: "~@9 [f3,c4]@5 [g3,d4]@6 ~ [f3,c4]@4 [g3,d4]@4 ~@3",
G: "~@9 [f3,c4]@6 [g3,d4]@6 [f3,c4]@4 [g3,d4]@7", H: "[~@31 [c4,f4]@3 ~@3 [b3,e4]@3 ~@3 [a3,d4]@10 ~@11]/2",
I: "[c4,f4]@3 ~@3 [b3,e4]@3 ~@23", // F5 E5
J: "[~@14 [c3,g3]@5 [d3,a3]@6 ~ [c3,g3]@4 [d3,a3]@4 ~@12 [c3,g3]@5 [d3,a3]@6 ~ [c3,g3]@4 [d3,a3]@4 ~@12 [f3,c4]@5 [g3,d4]@6 ~ [f3,c4]@4 [g3,d4]@4 ~@12 [f3,c4]@5 [g3,d4]@6 ~ [f3,c4]@4 [g3,d4]@10 ~@6 [c3,g3]@5 [d3,a3]@6 ~ [c3,g3]@4 [d3,a3]@4 ~@12 [c3,g3]@5 [d3,a3]@6 ~ [c3,g3]@4 [d3,a3]@4 ~@12 [f3,c4]@5 [g3,d4]@6 ~ [f3,c4]@4 [g3,d4]@2]/7", // C5 D5 C5 D5 C5 D5 C5 D5 …
K: "[~@14 [f3,c4]@5 [g3,d4]@6 ~ [f3,c4]@4 [g3,d4]@8 ~@26]/2", L: "~@5 [c4,f4]@3 ~@3 [b3,e4]@3 ~@3 [a3,d4]@10 ~@5",
M: "~@21 [c3,g3]@5 [d3,a3]@6", N: "~ [c3,g3]@4 [d3,a3]@4 ~@12 [c3,g3]@5 [d3,a3]@6",
O: "~ [c3,g3]@4 [d3,a3]@4 ~@12 [f3,c4]@6 [g3,d4]@5", P: "~ [f3,c4]@4 [g3,d4]@4 ~@13 [f3,c4]@5 [g3,d4]@5",
Q: "~@2 [f3,c4]@4 [g3,d4]@10 ~@6 [c3,g3]@5 [d3,a3]@5", R: "~ [c3,g3]@2 [d3,a3]@2 ~@6 [c3,g3]@3 [d3,a3]@2",
S: "~ [c3,g3]@2 [d3,a3]@2 ~@6 [f3,c4]@3 [g3,d4]@2", T: "~@3 [f3,c4]@4 [g3,d4]@4 ~@12 [f3,c4]@5 [g3,d4]@4",
U: "~@3 [f3,c4]@4 [g3,d4]@8 ~@8 [c3,g3]@5 [d3,a3]@4", // F5 G5 C5 D5
V: "[~@3 [c3,g3]@4 [d3,a3]@4 ~@12 [c3,g3]@6 [d3,a3]@6 [c3,g3]@4 [d3,a3]@4 ~@13 [f3,c4]@5 [g3,d4]@6 ~ [f3,c4]@4 [g3,d4]@4 ~@12 [f3,c4]@5 [g3,d4]@3]/3", // C5 D5 C5 D5 C5 D5 F5 G5 …
W: "[~@4 [f3,c4]@4 [g3,d4]@15 ~ [c3,g3]@6 [d3,a3]@6 [c3,g3]@4 [d3,a3]@4 ~@12 [c3,g3]@6 [d3,a3]@6 ~ [c3,g3]@4 [d3,a3]@4 ~@12 [f3,c4]@5 [g3,d4]@6 ~ [f3,c4]@4 [g3,d4]@4 ~@12 [f3,c4]@5 [g3,d4]@2]/4", // F5 G5 C5 D5 C5 D5 C5 D5 …
X: "[~@5 [f3,c4]@4 [g3,d4]@8 ~@8 [c3,g3]@6 [d3,a3]@6 [c3,g3]@4 [d3,a3]@4 ~@13 [c3,g3]@5 [d3,a3]@6 ~ [c3,g3]@4 [d3,a3]@4 ~@12 [f3,c4]@5 [g3,d4]@6 ~ [f3,c4]@4 [g3,d4]@4 ~@12 [f3,c4]@5 [g3,d4]@6 ~ [f3,c4]@4 [g3,d4]@4 ~@12 [c3,g3]@6]/5", // F5 G5 C5 D5 C5 D5 C5 D5 …
Y: "[d3,a3]@6 [c3,g3]@5 [d3,a3]@4 ~@17", // D5 C5 D5
})).s("gm_distortion_guitar").gain(0.32)
// bass · synth bass 2 · "Synth Bass2"
const bass = note(`<
~@4 A@2 B C A@2 B C D@4 E F G H I@3 J K L M@4 N O P Q@4 R S T U@4 V W X Y Z@4 AA AB AC@5 AD AE AF AG AD AE AF AG AD AE
AF AH@4 AI AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS
BT BU ~
>`.pickRestart({
A: "d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2",
B: "g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ f2@2 g2@2 f2@2 g2@2 a2@2 g2@2 f2@2 g2@2",
C: "g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g1@2 g2@2 g2 ~ g2 ~ a1@2 a2@2 a2 ~ a2 ~",
D: "[~ d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ f2@2 g2@2 f2@2 g2@2 a2@2 g2@2 f2@2 g2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~@2 g2 ~ g2 ~ g1@2 g2@2 g2 ~ g2 ~ a1@2 a2@2 a2 ~]/4",
E: "a2 ~ d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2",
F: "d2@2 d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2",
G: "d2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ f2@2 g2@2 f2@2 g2@2 a2@2 g2@2 f2@2",
H: "~ g2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g1@2 g2@2 g2 ~ g2 ~ a1@2 a2@2 a2",
I: "[~ a2 ~ d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~@2 f2@2 g2@2 f2@2 g2@2 a2@2 g2@2]/3",
J: "f2@2 g2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g1@2 g2@2 g2 ~ g2 ~ a1@2 a2@2",
K: "a2 ~ a2 ~ d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2",
L: "c2@2 d2@2 d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2",
M: "[c2@2 d2@2 g1@2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ f2@2 g2@2 f2@2 g2@2 a2@2 g2@2 f2@2 g2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g1@2 g2@2 g2 ~ g2 ~ a1@2 a2@2 a2 ~ a2 ~ d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ c2@2 d2@2 ~ c2@2 d2@2 e2@2]/4",
N: "d2@2 c2@2 d2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ f2@2 g2@2 f2@2 g2@2 a2@2",
O: "g2@2 f2@2 g2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g1@2 g2@2 g2 ~ g2 ~ a1@2",
P: "a2@2 a2 ~ a2 ~ d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2",
Q: "[d2@2 c2@2 d2@2 d1@2 d2 ~ d2 ~@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ f2@2 g2@2 f2@2 g2@2 a2@2 g2@2 f2@2 g2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g1@2 g2@2 g2 ~ g2 ~ a1@2 a2@2 a2 ~ a2 ~ d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 ~]/4",
R: "e2@2 d2@2 c2@2 d2@2 d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2",
S: "e2@2 d2@2 c2@2 d2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ f2@2 g2@2 f2@2 g2@2",
T: "a2@2 g2@2 f2@2 g2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g1@2 g2@2 g2 ~ g2 ~",
U: "[a1@2 a2@2 a2 ~ a2 ~ d1@2 d2 ~ d2 ~ d2 ~ d2 ~@2 d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ f2@2 g2@2 f2@2 g2@2 a2@2 g2@2 f2@2 g2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g1@2 g2@2 g2 ~ g2]/4",
V: "~ a1@2 a2@2 ~ a2 ~ a2 ~ d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2",
W: "d2@2 e2@2 d2@2 c2@2 d2@2 d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2",
X: "d2@2 e2@2 d2@2 c2@2 d2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ f2@2 g2@2 f2@2",
Y: "g2@2 a2@2 g2@2 f2@2 g2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~@2 g2 ~ g1@2 g2@2 g2",
Z: "[~ g2 ~ a1@2 a2@2 a2 ~ a2 ~ d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ f2@2 g2@2 f2@2 g2@2 a2@2 g2@2 f2@2 g2@2 ~ g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g1@2 g2@2]/4",
AA: "g2 ~ g2 ~ a1@2 a2@2 a2 ~ a2 ~ d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ c2@2 d2@2",
AB: "c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ c2@2 d2@2",
AC: "[c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ f2@2 ~ g2@2 f2@2 g2@2 a2@2 g2@2 f2@2 g2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g1@2 g2@2 g2 ~ g2 ~ a1@2 a2@2 a2 ~ a2 ~ d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 g1@2 g2 ~@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ f2@2]/5",
AD: "g2@2 f2@2 g2@2 a2@2 g2@2 f2@2 g2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g1@2",
AE: "g2@2 g2 ~ g2 ~ a1@2 a2@2 a2 ~ a2 ~ d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ c2@2",
AF: "d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ c2@2",
AG: "d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ f2@2",
AH: "[d2@2 c2@2 ~ d2@2 e2@2 d2@2 c2@2 d2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ f2@2 g2@2 f2@2 g2@2 a2@2 g2@2 f2@2 g2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g1@2 g2@2 g2 ~ g2 ~ a1@2 a2@2 a2 ~ a2 ~ d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 d1@2 d2 ~ d2 ~ d2 ~@2 d2 ~ d2 ~ d2 ~ d2 ~]/4",
AI: "c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~",
AJ: "f2@2 g2@2 f2@2 g2@2 a2@2 g2@2 f2@2 g2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~",
AK: "g1@2 g2@2 g2 ~ g2 ~ a1@2 a2@2 a2 ~ a2 ~ d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~",
AL: "c2@2 d2@2 c2@2 d2@2 e2@2 ~ d2@2 c2@2 d2@2 d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2",
AM: "~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2",
AN: "~ f2@2 g2@2 f2@2 g2@2 a2@2 g2@2 f2@2 g2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2",
AO: "~ g1@2 g2@2 g2 ~ g2 ~ a1@2 a2@2 a2 ~ a2 ~ d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~@2 d2 ~",
AP: "d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~",
AQ: "d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~",
AR: "g2 ~ f2@2 g2@2 f2@2 g2@2 a2@2 g2@2 f2@2 g2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~",
AS: "g2 ~ g1@2 g2@2 g2 ~ g2 ~ a1@2 a2@2 a2 ~@2 a2 ~ d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2",
AT: "~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2",
AU: "~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2",
AV: "~ g2 ~ f2@2 g2@2 f2@2 g2@2 a2@2 g2@2 f2@2 g2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2",
AW: "~ g2 ~@2 g1@2 g2@2 g2 ~ g2 ~ a1@2 a2@2 a2 ~ a2 ~ d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~",
AX: "d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~",
AY: "d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2 ~",
AZ: "g2 ~ g2 ~ f2@2 g2@2 f2@2 g2@2 a2@2 g2@2 f2@2 g2@2 g1@2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2",
BA: "~ g2 ~ g2 ~ g1@2 g2@2 g2 ~ g2 ~ a1@2 a2@2 a2 ~ a2 ~ d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2",
BB: "~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 d1@2 d2 ~ d2 ~ d2 ~ d2 ~ d2",
BC: "~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~ g2",
BD: "~ g2 ~ g2 ~ f2@2 g2@2 ~ f2@2 g2@2 a2@2 g2@2 f2@2 g2@2 g1@2 g2 ~ g2 ~ g2 ~ g2 ~",
BE: "g2 ~ g2 ~ g2 ~ g1@2 g2@2 g2 ~ g2 ~ a1@2 a2@2 a2 ~ a2 ~ d1@2 d2 ~ d2 ~ d2 ~ d2 ~",
BF: "d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 d1@2 d2 ~ d2 ~ d2 ~ d2 ~",
BG: "d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 g1@2 g2 ~ g2 ~@2 g2 ~ g2",
BH: "~ g2 ~ g2 ~ g2 ~ f2@2 g2@2 f2@2 g2@2 a2@2 g2@2 f2@2 g2@2 g1@2 g2 ~ g2 ~ g2 ~ g2",
BI: "~ g2 ~ g2 ~ g2 ~ g1@2 g2@2 g2 ~ g2 ~ a1@2 a2@2 a2 ~ a2 ~ d1@2 d2 ~ d2 ~ d2 ~ d2",
BJ: "~ d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 d1@2 d2 ~ d2 ~ d2 ~ d2",
BK: "~ d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 ~ e2@2 d2@2 c2@2 d2@2 g1@2 g2 ~ g2 ~ g2 ~",
BL: "g2 ~ g2 ~ g2 ~ g2 ~ f2@2 g2@2 f2@2 g2@2 a2@2 g2@2 f2@2 g2@2 g1@2 g2 ~ g2 ~ g2 ~",
BM: "g2 ~ g2 ~ g2 ~ g2 ~ g1@2 g2@2 g2 ~ g2 ~ a1@2 a2@2 a2 ~ a2 ~ d1@2 d2 ~ d2 ~ d2 ~",
BN: "d2 ~ d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 d1@2 d2 ~ d2 ~ d2 ~",
BO: "d2 ~@2 d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 g1@2 g2 ~ g2 ~ g2",
BP: "~ g2 ~ g2 ~ g2 ~ g2 ~ f2@2 g2@2 f2@2 g2@2 a2@2 g2@2 f2@2 g2@2 g1@2 g2 ~ g2 ~ g2",
BQ: "~ g2 ~ g2 ~ g2 ~ g2 ~ g1@2 g2@2 g2 ~ g2 ~ a1@2 a2@2 a2 ~ a2 ~ d1@2 d2 ~ d2 ~ d2",
BR: "~ d2 ~ d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 ~ c2@2 d2@2 d1@2 d2 ~ d2 ~",
BS: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ c2@2 d2@2 c2@2 d2@2 e2@2 d2@2 c2@2 d2@2 g1@2 g2 ~ g2 ~",
BT: "g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ f2@2 g2@2 f2@2 g2@2 a2@2 g2@2 f2@2 g2@2 g1@2 g2 ~ g2 ~",
BU: "g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g1@2 g2@2 g2 ~ g2 ~ a1@2 a2@2 a2 ~ a2 ~@7",
})).s("gm_synth_bass_2").gain(0.4)
// bass · slap bass 1
const bass_2 = note(`<
~@36 A@3 B C@3 D E ~@3 F@2 ~@10 G@3 H G@3 I@7 J K L ~@15 M@4 N O P Q R S T U V W X@4 Y Z AA ~
>`.pickRestart({
A: "[~@7 c1@2 d1@4 d2@2 ~@2 d2@2 d1@4 d2@15 ~@2 c1@2 d1@4 d2@2 ~@2 d2@2 d1@4 d2@15 ~ f1@2 g1@4 g2@2 ~@2 g2@2 g1@4 g2@3 ~@5]/3",
B: "~@8 f1@2 g1@4 g2@2 ~@2 g2@2 g1@4 g2@3 ~@5",
C: "[~@8 c1@2 d1@4 d2@2 ~@2 d2@2 d1@4 d2@15 ~@2 c1@2 d1@4 d2@2 ~@2 d2@2 d1@4 d2@15 ~ f1@2 g1@4 g2@2 ~@2 g2@2 g1@4 g2@3 ~@4]/3",
D: "~@9 f1@2 g1@4 g2@2 ~@2 g2@2 g1@2 ~@2 g1@4 g2@2 ~", E: "~ a1@5 a2@2 ~@24",
F: "[~@31 c2@2 ~@2 c2@2 ~@2 c2@4 ~@21]/2",
G: "[~@14 c1@2 d1@4 d2@2 ~@2 d2@2 d1@4 d2@15 ~ c1@2 d1@4 d2@2 ~@2 d2@2 d1@4 d2@15 ~ f1@2 g1@4 g2 ~@3 g2@2 g1@4 g2@2]/3",
H: "~@14 f1@2 g1@4 g2 ~@3 g2@2 g1@4 g2@2",
I: "[~@14 f1@2 g1@4 g2@3 ~ g2@2 g1@2 ~@2 g1@4 g2@2 ~@2 a1@4 a2@3 ~ c1@2 d1@4 d2 ~@3 d2@2 d1@4 d2@15 ~ c1@2 d1@4 d2@2 ~@2 d2@2 d1@4 d2@15 ~@2 f1@2 g1@4 g2@2 ~@2 g2@2 g1@4 g2@3 ~@13 f1@2 g1@4 g2@2 ~@2 g2@2 g1@3 ~ g1@4 g2@2 ~@2 a1@4 a2@2 ~@2 c1@2 d1@4 d2 ~@3 d2@2 d1@4 d2@15 ~ c1@2 d1@4 d2 ~@4 d2@2 d1@4]/7",
J: "d2@15 ~ f1@2 g1@4 g2@2 ~@2 g2@2 g1@4", K: "g2@3 ~@13 f1@2 g1@4 g2@2 ~@2 g2@2 g1@2 ~@2",
L: "g1@2 g2 ~ a1@2 a2 ~@9",
M: "[~@21 c1@2 d1@4 d2@2 ~@2 d2@2 d1@4 d2@15 ~ c1@2 d1@4 d2@2 ~@2 d2@2 d1@4 d2@15 ~ f1@2 g1@4 g2@2 ~@2 g2@2 g1@4 g2@3 ~@14 f1@2 g1@4 g2@2 ~@2]/4",
N: "g2 g1@2 g2 ~@7 c1 d1@2 d2 ~", O: "d2@2 d1@4 d2@15 ~ c1@2 d1@4 d2@2 ~@2", P: "d2@2 d1@4 d2@15 ~ f1@2 g1@5 g2@2 ~",
Q: "~ g2@2 g1@4 g2@3 ~@13 f1@2 g1@4 g2@2 ~", R: "~ g2@2 g1@2 ~@2 g1@4 g2@2 ~@2 a1@4 a2@2 ~@2 c1@2 d1@4 d2@2 ~",
S: "~ d2@2 d1@4 d2@15 ~ c1@2 d1@4 d2@2 ~", T: "~ d2@2 d1@4 d2@15 ~@2 f1@2 g1@4 g2@2",
U: "~@2 g2@2 g1@4 g2@3 ~@13 f1@2 g1@4 g2@2", V: "~ g2 g1 ~ g1@2 g2 ~ a1@2 a2 ~ c1 d1@2 d2",
W: "~@2 d2@2 d1@4 d2@15 ~ c1@2 d1@4 d2@2",
X: "[~@3 d2@2 d1@4 d2@15 ~ f1@2 g1@4 g2@2 ~@2 g2@2 g1@4 g2@3 ~@13 f1@2 g1@4 g2@2 ~@2 g2@2 g1@2 ~@2 g1@4 g2@2 ~@2 a1@4 a2@2 ~@2 c1@2 d1@4 d2@2 ~@2 d2@2 d1@4 d2@15 ~@2 c1@2 d1@4]/4",
Y: "d2@2 ~@2 d2@2 ~@3 d2@15 ~@2 f1@2 g1@4, ~@3 d1@3 ~@10", Z: "g2@2 ~@2 g2@2 g1@4 g2@3 ~@13 f1@2 g1@4",
AA: "g2 ~ g2 g1 ~ g1@2 g2 ~ a1@2 a2 ~@4",
})).s("gm_slap_bass_1").gain(0.8)
// chords · synth brass 1
const synth_brass_1 = note("<~@4 A B C D A B C E F ~@55 G H I@3 J K L M ~@23 N O P Q R S T U V W@4 ~>".pickRestart({
A: "[a4,d5,a5,d6]@5 ~@15 [a4,c5,a5,c6]@3 ~@3 [a4,c5,a5,c6]@3 ~@3", // D5 Am
B: "[a4,c5,a5,c6]@3 ~@2 [a4,d5,a5,d6]@4 ~@15 [a4,d5,a5,d6]@4 ~@4", // Am D5
C: "[a4,c5,a5,c6]@4 ~ [g4,b4,g5,b5]@3 ~@3 [g4,b4,g5,b5]@3 ~@2 [g4,b4,g5,b5]@14 ~@2", // Am G
D: "[g4,b4,g5,b5]@4 ~ [f4,a4,f5,a5]@3 ~@3 [f4,a4,f5,a5]@3 ~@2 [f4,a4,f5,a5]@4 ~@4 [a4,c5,a5,c6]@3 ~@5", // G F Am
E: "[g4,b4,g5,b5]@4 ~@2 [f4,a4,f5,a5]@3 ~@2 [f4,a4,f5,a5]@3 ~@2 [f4,a4,f5,a5]@4 ~@4 [a4,c5,a5,c6]@3 ~@5", // G F Am
F: "~ [a4,d5,a5,d6]@4 ~@27", G: "~@6 [a4,c5,a5,c6]@4 ~@4 [a4,d5,a5,d6]@5 ~@13",
H: "~@2 [a4,c5,a5,c6]@3 ~@3 [a4,c5,a5,c6]@3 ~@3 [a4,c5,a5,c6]@3 ~@2 [a4,d5,a5,d6]@4 ~@9", // Am D5
I: "[~@7 [a4,d5,a5,d6]@4 ~@4 [a4,c5,a5,c6]@4 ~ [g4,b4,g5,b5]@3 ~@2 [g4,b4,g5,b5]@3 ~@3 [g4,b4,g5,b5]@14 ~@2 [g4,b4,g5,b5]@4 ~ [f4,a4,f5,a5]@3 ~@3 [f4,a4,f5,a5]@3 ~@2 [f4,a4,f5,a5]@4 ~@4 [a4,c5,a5,c6]@3 ~@5 [a4,d5,a5,d6]@5 ~@12]/3", // D5 Am G F Am D5
J: "~@3 [a4,c5,a5,c6]@3 ~@3 [a4,c5,a5,c6]@3 ~@3 [a4,c5,a5,c6]@3 ~@2 [a4,d5,a5,d6]@3 ~@9", // Am D5
K: "~@8 [a4,d5,a5,d6]@3 ~@5 [a4,c5,a5,c6]@4 ~ [g4,b4,g5,b5]@3 ~@2 [g4,b4,g5,b5]@3 ~@3", // D5 Am G
L: "[g4,b4,g5,b5]@14 ~@2 [g4,b4,g5,b5]@4 ~ [f4,a4,f5,a5]@3 ~@3 [f4,a4,f5,a5]@3 ~@2", // G F
M: "[f4,a4,f5,a5]@4 ~@4 [a4,c5,a5,c6]@3 ~@5 [a4,d5,a5,d6]@4 ~@12", N: "~@15 [a4,c5,a5,c6]@4 ~@4 [a4,d5,a5,d6]@5 ~@4",
O: "~@11 [a4,c5,a5,c6]@3 ~@3 [a4,c5,a5,c6]@3 ~@3 [a4,c5,a5,c6]@3 ~@2 [a4,d5,a5,d6]@4", // Am D5
P: "~@16 [a4,d5,a5,d6]@4 ~@4 [a4,c5,a5,c6]@4 ~ [g4,b4,g5,b5]@3", // D5 Am G
Q: "~@2 [g4,b4,g5,b5]@3 ~@3 [g4,b4,g5,b5]@14 ~@2 [g4,b4,g5,b5]@4 ~ [f4,a4,f5,a5]@3", // G F
R: "~@3 [f4,a4,f5,a5]@3 ~@2 [f4,a4,f5,a5]@4 ~@4 [a4,c5,a5,c6]@3 ~@5 [a4,d5,a5,d6]@5 ~@3", // F Am D5
S: "~@12 [a4,c5,a5,c6]@3 ~@3 [a4,c5,a5,c6]@3 ~@3 [a4,c5,a5,c6]@3 ~@2 [a4,d5,a5,d6]@3", // Am D5
T: "~@17 [a4,d5,a5,d6]@3 ~@5 [a4,c5,a5,c6]@4 ~ [g4,b4,g5,b5]@2", // D5 Am G
U: "~@3 [g4,b4,g5,b5]@3 ~@3 [g4,b4,g5,b5]@14 ~@2 [g4,b4,g5,b5]@4 ~ [f4,a4,f5,a5]@2", // G F
V: "~@4 [f4,a4,f5,a5]@3 ~@2 [f4,a4,f5,a5]@4 ~@4 [a4,c5,a5,c6]@4 ~@4 [a4,d5,a5,d6]@5 ~@2", // F Am D5
W: "[~@13 [a4,c5,a5,c6]@3 ~@3 [a4,c5,a5,c6]@3 ~@4 [a4,c5,a5,c6]@3 ~ [a4,d5,a5,d6]@4 ~@16 [a4,d5,a5,d6]@4 ~@4 [a4,c5,a5,c6]@4 ~ [g4,b4,g5,b5]@3 ~@3 [g4,b4,g5,b5]@3 ~@2 [g4,b4,g5,b5]@14 ~@2 [g4,b4,g5,b5]@4 ~ [f4,a4,f5,a5]@3 ~@3 [f4,a4,f5,a5]@3 ~@2 [f4,a4,f5,a5]@4 ~@4 [a4,c5,a5,c6]@3 ~@5 [a4,d5,a5,d6]@5 ~]/4", // Am D5 Am G F Am D5
})).s("gm_synth_brass_1").gain(0.24)
// other · pad metallic · "Pad 6 (metallic)"
const pad_metallic = note("<~@20 A@8 ~@16 B@4 C@5 ~@23 D E F G H I J@3 ~@29>".pickRestart({
A: "[~@7 f#5@7 d5@5 c5@20 f#5@7 d5@5 c5@20 f5@7 c5@5 ~ b4@20 f5@6 c5@5 ~ b4@20 f#5@7 d5@5 c5@20 f#5@7 d5@5 c5@20 ~ f5@6 c5@5 ~ b4@20 f5@7 c5@5 b4@11]/8",
B: "[~@14 f#5@6 d5@5 ~ c5@20 f#5@6 d5@5 ~ c5@20 f5@7 c5@5 b4@20 f5@7 c5@5 b4@6]/4",
C: "[~@15 f#5@6 d5@5 ~ c5@20 f#5@7 d5@5 c5@20 f5@7 c5@5 b4@20 f5@7 c5@5 b4@20 ~@17]/5", D: "~@20 f#5@7 d5@5",
E: "c5@20 ~ f#5@6 d5@5", F: "~ c5@20 f5@7 c5@4", G: "~ b4@20 f5@7 c5@4", H: "~ b4@19 ~ f#5@7 d5@4",
I: "~ c5@10 f#5@3 d5@2", J: "[~@2 c5@19 ~ f5@7 c5@5 b4@20 f5@7 c5@5 b4@18 ~@12]/3",
})).s("gm_pad_metallic").gain(0.32)
// other · distortion guitar
const distortion_guitar_2 = note("<~@44 A@2 ~@6 B@3 C@6 ~@22 D@2 E@3 F G@2 H I ~@21>".pickRestart({
A: "[~@26 f#4@15 ~@23]/2", B: "[~@16 a3@5 ~ d4@4 ~@2 f#4@15 ~@5 a3@5 ~ d4@4 ~@2 f#4@15 ~@5 g3@3 ~@3 c4@5 ~ f4@4]/3",
C: "[~@17 g3@4 ~@2 c4@3 ~@3 f4@15 ~@5 a3@4 ~@2 d4@3 ~@3 f#4@15 ~@5 a3@4 ~@2 d4@3 ~@3 f#4@15 ~@5 g3@4 ~@2 c4@3 ~@3 f4@15 ~@6 g3@4 ~@2 c4@3 ~@3 f4@15 ~@19]/6",
D: "~@8 d4@3 ~@13 d4@3 ~@5", E: "~@9 d4@2 c4@2 a3@3 ~@9 d4@2 ~@5", F: "~@6 d4@2 ~@2 d4@2 c4@2 a3@3 ~@9 d4@2 ~@4",
G: "~@10 d4@2 c4@2 a3@3 ~@9 d4@2 ~@4", H: "~@10 d4@2 c4@2 a3@3 ~@6 [c4,f4]@4 ~@2 [b3,e4]@3",
I: "~@2 [c4,f4]@4 ~@3 [b3,e4]@5 ~@18", // F5 E5
})).s("gm_distortion_guitar").gain(0.55)
// other · guitar harmonics
const guitar_harmonics = note(`<
~@83
[~@12 d3 ~ d3 ~@13 d3 ~ d3 ~]!2
[~ d3 ~@27 d3 ~ d3]!3
[~@30 d3 ~]
[d3 ~ d3 ~@27 d3 ~]!2
[d3 ~ d3 ~@29]
~@22
>`).s("gm_guitar_harmonics").gain(0.15)
// drums · kick
const kick = s("bd").struct(`<
A@12 B@4 C@3 D@3 E F@3 G@4 H@4 I@3 J@4 K@3 L@4 M@3 N O@3 P@3 Q@12 R@3 S T@4 U@3 V@4 W@3 X@4 Y@4 Z@3 AA@4 AB@3 AC@4
AD@2 AE ~
>`.pickRestart({
A: "x ~@3 x!2 ~ x", B: "~ x ~@15 x ~@3 x ~@7 x ~@2", C: "~ x ~@7 x ~ x ~@3 x", D: "~@3 x ~@15 x ~@3 x ~@7 x",
// … 62 more lines
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.