0:00/0:00
// It Ain't Me Babe — Turtles
// 117 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: Full arrangement: all 64 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): guitar program 27.
setcpm(117/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 · acoustic bass
const bass = note(`<
A B C B C D B@2 C D E F G@5 H I J K L@2 M N O P@3 Q@2 R@8 S@8 T@3 U V W X Y Z@2 AA AB@2 AC ~@3
>`.pickRestart({
A: "~@3 d2", B: "g1", C: "a1", D: "b1 a1", E: "g1@24 g1@3 ~ a1@3 ~", F: "b1@3 ~ b1@6 ~@2 b1@3 ~ b1@16",
G: "[a1@3 ~ a1@6 ~@2 a1@3 ~ a1@15 b1@3 ~ b1@6 ~@2 b1@3 ~ b1@16 a1@3 ~ a1@6 ~@2 a1@3 ~ a1@16 b1@3 ~ b1@6 ~@2 b1@3 ~ b1@16 a1@3 ~ a1@6 ~@2 a1@3 ~ a1@15 b1@2]/5",
H: "~@2 b1@6 ~@2 b1@3 ~ b1@16 a1@2", I: "~@2 a1@6 ~@2 a1@3 ~ a1@16 c2@2", J: "~@2 c2@6 ~@2 c2@3 ~ c2@16 d2@2",
K: "~ d2@6 ~@2 d2@3 ~ d2@16 f#1@3",
L: "[~ g1@3 ~ g1@3 g1@3 ~ f#1@3 ~ g1@3 ~ g1@3 ~ g1@3 c2@8 c2@3 ~ c2@3 ~ d2@7 d2@3 ~ a1@3 ~ f#1@3 ~ g1@2]/2",
M: "~@2 g1@3 g1@3 ~ f#1@3 ~ g1@3 ~ g1@3 ~ b1@3 c2@8", N: "c2@3 ~ c2@3 ~ d2@7 d2@3 ~ a1@3 ~ g1@3 ~ g1@3 g1@2",
O: "~@2 g1@3 ~ g1@3 ~ g1@3 ~ g1@3 g1@3 ~ g1@3 ~ g1@3 ~ g1@3",
P: "[~ g1@3 g1@3 ~ g1@3 ~ g1@3 ~ a1@3 ~ b1@30 a1@30 ~ b1@15]/3", Q: "[a1@15 g1@32 g1@16 ~]/2",
R: "[~@6 d2@8 g1@32 a1@32 b1@16 a1@16 g1@31 g1@32 a1@32 b1@16 a1@16 g1@19]/8",
S: "[~@4 g1@3 ~ a1@3 ~ b1@3 ~ b1@6 ~@2 b1@3 ~ b1@16 a1@3 ~ a1@6 ~@2 a1@3 ~ a1@16 b1@3 ~ b1@6 ~@2 b1@3 ~ b1@15 a1@3 ~ a1@6 ~@2 a1@3 ~ a1@16 b1@3 ~ b1@6 ~@2 b1@3 ~ b1@16 a1@3 ~ a1@6 ~@2 a1@3 ~ a1@16 b1@3 ~ b1@6 ~@2 b1@3 b1@16 a1@3 ~ a1@6 ~@2 a1@3 ~ a1@6]/8",
T: "[~@10 c2@3 ~ c2@6 ~@2 c2@3 ~ c2@16 d2@3 d2@6 ~@2 d2@3 ~ d2@16 f#1@3 ~ g1@3 ~ g1@3 g1@3 ~ f#1@3 ~ g1@3 ~]/3",
U: "g1@3 g1@3 ~ c2@8 c2@3 ~ c2@3 d2@8 d2@2", V: "~@2 a1@3 f#1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ f#1@3 g1@3 ~ g1@3 ~",
W: "b1@3 ~ c2@7 c2@3 ~ c2@3 ~ d2@7 d2@3 ~ a1@2", X: "~@2 g1@3 ~ g1@3 g1@3 ~ g1@3 ~ g1@3 ~ g1@3 g1@3 ~ g1@3 ~",
Y: "c2@8 c2@3 c2@3 ~ d2@8 d2@3 a1@3 ~ f#1@2",
Z: "[~@2 g1@3 ~ g1@3 ~ g1@3 f#1@3 ~ g1@3 ~ g1@3 ~ b1@3 c2@8 c2@3 ~ c2@3 d2@8 d2@3 ~ a1@3 ~ g1@3 g1@2]/2",
AA: "~@2 g1@3 ~ g1@3 ~ g1@3 g1@3 ~ g1@3 ~ g1@3 ~ c2@7",
AB: "[c2@3 ~ c2@3 ~ d2@7 d2@3 ~ a1@3 ~ f#1@3 ~ g1@3 ~ g1@3 g1@3 ~ f#1@3 ~ g1@3 ~ g1@3 b1@3 ~ c2@8 c2@3]/2",
AC: "c2@3 ~ d2@8 ~@20",
})).s("gm_acoustic_bass").gain(0.62)
// bass · acoustic bass · soft notes
const bass_soft = note("<~@60 A@2 B@2>".pickRestart({
A: "[~@12 d2@3 ~ a1@3 g1@3 ~ g1@3 ~ g1@3 ~ g1@3 g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ c2@7 c2@3 ~ c2@3]/2",
B: "[~ d2@7 d2@3 ~ a1@3 ~ g1@3 ~ g1@3 g1@3 ~ g1@3 ~ g1@3 ~ g1@3 g1@3 ~ g1@3 ~@19]/2",
})).s("gm_acoustic_bass").gain(0.23)
// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
~ A B A B C A@2 B C D E F G@8 H@3 I@2 J@2 K L@7 M N O P Q R S@7 T U@2 V@2 W@2 X@2 Y@2 Z@2 AA@2
>`.pickRestart({
A: "[g2,b2,d3,g3,b3]@3 [g3,b3,d4] [d3,g3,b3,d4]@2 [d3,g3,b3,d4]@2 [d3,g3,b3,d4]@2 [d3,g3,b3,d4]@2 [d3,g3,b3,d4]@2 [d3,g3,b3,d4]@2", // G
B: "[a2,c3,e3,a3,c4]@3 [a3,c4,e4] [e3,a3,c4,e4]@2 [e3,a3,c4,e4]@2 [e3,a3,c4,e4]@2 [e3,a3,c4,e4]@2 [e3,a3,c4,e4]@2 [e3,a3,c4,e4]@2", // Am
C: "[b2,d3,f#3,b3,d4]@3 [b3,d4,f#4] [f#3,b3,d4,f#4]@2 [f#3,b3,d4,f#4]@2 [e3,a3,c4,e4]@2 [e3,a3,c4,e4]@2 [e3,a3,c4,e4]@2 [e3,a3,c4,e4]@2", // Bm Am
D: "[g2,b2,d3,g3,b3]@3 [g3,b3,d4] [d3,g3,b3,d4]@2 [d3,g3,b3,d4]@2 [d3,g3,b3,d4]@2 [d3,g3,b3,d4]@2 [d3,g3,b3,d4]@2 [e3,a3,c4,e4]@2", // G Am
E: "[b2,d3,f#3,b3,d4]@3 [b3,d4,f#4] [f#3,b3,d4,f#4]@2 [f#3,b3,d4,f#4]@2 [f#3,b3,d4,f#4]@2 [f#3,b3,d4,f#4]@2 [f#3,b3,d4,f#4]@2 [f#3,b3,d4,f#4]@2", // Bm
F: "[a2,c3,e3,a3,c4]@6 [a3,c4,e4]@2 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@3 ~ [e3,a3,c4]@3 b2, ~@27 e4@4 ~", // Am
G: "[d4@5 ~ b3 ~ [d4,f#4]@3 ~ f#3@3 ~ f#4@3 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@4 [a2,c3,e3,a3,c4]@6 [a3,c4,e4]@2 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [b2,d3,f#3,b3,d4]@6 [b3,d4,f#4]@2 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@4 [a2,c3,e3,a3,c4]@6 [a3,c4,e4]@2 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@3 ~ [e3,a3,c4]@3 ~ [a3,c4,e4]@3 ~ [e3,a3]@3 ~ [f#3,b3,d4]@5 [b3,d4,f#4]@2 ~ f#4@3 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@4 [a2,c3,e3,a3,c4]@6 [a3,c4,e4]@2 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [c3,e3,g3,c4]@6 [g3,c4,e4]@2 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 ~@8 [d4,f#4]@3 ~ f#3@3 [f#3,a3,d4,f#4]@4 [f#3,a3,d4,f#4]@4 [f#3,a3,d4,f#4]@4 [f#3,a3,d4,f#4]@4 [g3,b3,d4]@3, [d3,f#3,b3]@8 ~@7 [f#3,b3,d4]@4 ~@99 e3@4 ~@4 [b2,d3]@8 ~@88 [d3,f#3,a3,d4]@6 [a3,d4]@2 ~@3 [a3,d4,f#4]@4 ~@19, ~@5 [d4,f#4]@2 [f#3,b3]@4 [b3,d4,f#4]@4 ~@99 e4@4 ~@4 [c4,e4]@4 ~@8 [f#3,b3,d4]@4 ~@89 f#4@2 [f#3,a3]@4 ~@23]/8", // D Bm Am Bm Am A5 Bm Am …
H: "[~ [g3,b3,d4]@4 [g3,b3,d4]@3 ~ [g3,b3]@3 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@3 ~ [e3,g3,c4]@3 [c3,e3,g3,c4]@4 [c3,e3,g3,c4]@4 [c3,e3,g3,c4]@4 [d3,f#3,a3,d4]@3 ~ [d3,f#3,a3]@3 [d3,f#3,a3,d4]@4 [d3,f#3,a3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@3 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@3 ~ c4@3 [c3,e3,g3,c4]@4, ~@8 d4@4 ~@15 c3@4 ~@15 d4@4 ~@38 [c3,e3,g3]@4 ~@4]/3", // G C D G C
I: "[[c3,e3,g3,c4]@4 [c3,e3,g3,c4]@4 [d3,f#3,a3,d4]@3 ~ d3@3 [d3,f#3,a3,d4]@4 [d3,f#3,a3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@3 ~ d4@3 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@3 ~ g3@3 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@3, ~@11 [f#3,a3,d4]@4 ~@15 [g3,b3]@4 ~@15 [b3,d4]@4 ~@11]/2", // C D G D G Bm
J: "[~ [g3,b3,d4]@3 ~ [b3,d4]@3 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@4 [b2,d3,f#3,b3]@7 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@15 [a2,c3,e3,a3]@8 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@2, ~@4 g3@4 ~@12 d4@5 ~@25 c4@5 ~@9]/2", // G Bm G Bm Am
K: "~@2 e4@15 [b2,d3,f#3,b3,d4]@7 [f#3,b3,d4,f#4]@4 ~@4, ~ [e3,a3,c4]@15 ~@16", // Bm Am
L: "[[e3,a3,c4,e4]@7 [e3,a3,c4,e4]@4 ~@4 [g2,b2,d3,g3,b3]@6 [g3,b3,d4]@2 [d3,g3,b3,d4]@4 [d3,g3,b3,d4]@4 [d3,g3,b3,d4]@4 [d3,g3,b3,d4]@4 [d3,g3,b3,d4]@4 [d3,g3,b3,d4]@4 [g2,b2,d3,g3,b3]@6 [g3,b3,d4]@2 [d3,g3,b3,d4]@4 [d3,g3,b3,d4]@4 [d3,g3,b3,d4]@4 [d3,g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [d3,g3,b3]@3 ~ [d3,g3,b3]@5 ~ g3 ~ d4@3 ~ d3@3 [d3,g3,b3,d4]@4 [d3,g3,b3,d4]@4 [d3,g3,b3,d4]@4 [d3,g3,b3,d4]@4 [a2,c3,e3,a3,c4]@6 [a3,c4,e4]@2 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [b2,d3,f#3,b3,d4]@6 [b3,d4,f#4]@2 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [g2,b2,d3,g3,b3]@6 [g3,b3,d4]@2 [d3,g3,b3,d4]@4 [d3,g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [d3,g3,b3]@3 ~ [b3,d4]@3 ~ [d3,g3]@3 ~ [g3,b3]@5 [g3,b3,d4]@2 [d3,g3,b3,d4]@4 [d3,g3,b3,d4]@4 [d3,g3,b3,d4]@3, ~@70 d3@4 d4@4 [g2,b2]@6 [b3,d4]@2 [d3,g3,b3]@4 [g3,b3,d4]@4 ~@95 d3@4 d4@4 [d3,g3]@4 [b3,d4]@4 [g2,b2,d3]@8 ~@11]/7", // Am G Am Bm Am G Bm G5 …
M: "~ [d3,g3,b3,d4]@4 [d3,g3,b3,d4]@4 [d3,g3,b3,d4]@4 [a2,c3,e3,a3,c4]@6 [a3,c4,e4]@2 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@3", // G Am
N: "~ [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [b2,d3,f#3,b3,d4]@6 [b3,d4,f#4]@2 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@4 [e3,a3,c4,e4]@3", // Am Bm Am
O: "~ [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 ~@8 [g3,b3,d4]@3 ~ [d3,g3]@3 ~ [b3,d4]@3, ~@13 [g2,b2,d3,g3,b3]@6 [g3,b3]@2 ~@3 [b3,d4]@4 ~@4, ~@9 d4 d3@2 ~@2 [d3,g3]@2", // Am G G5 Bm G Bm G5
P: "~ d3@3 ~ d4@3 [e3,a3,c4,e4]@4 ~ d4@5 [b3,d4,f#4]@2 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@4, [g3,b3,d4] [d3,g3,b3] ~ [b2,d3,f#3,b3]@2 ~@3", // Am Bm G Bm
Q: "[f#3,b3,d4,f#4]@2 [f#3,b3,d4,f#4]@2 [f#3,b3,d4,f#4]@2 [a2,c3,e3,a3,c4]@3 [a3,c4,e4] [e3,a3,c4,e4]@2 [e3,a3,c4,e4]@2 [e3,a3,c4,e4]@2", // Bm Am
R: "[e3,a3,c4,e4]@2 [e3,a3,c4,e4]@2 [e3,a3,c4,e4]@2 [b2,d3,f#3,b3,d4]@3 [b3,d4,f#4] [f#3,b3,d4,f#4]@2 [f#3,b3,d4,f#4]@2 [f#3,b3,d4,f#4]@2", // Am Bm
S: "[[f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@3 ~ [f#3,b3,d4]@3 ~ c4@5 ~ a3 ~ [c4,e4]@3 ~ e3@3 ~ e4@3 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [b2,d3,f#3,b3,d4]@6 [b3,d4,f#4]@2 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@4 [a2,c3,e3,a3,c4]@6 [a3,c4,e4]@2 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [b2,d3,f#3,b3,d4]@6 [b3,d4,f#4]@2 [f#3,b3,d4,f#4]@4 [f#3,b3,d4,f#4]@3 ~ [b3,d4,f#4]@3 ~ [f#3,b3,d4]@3 ~ [d4,f#4]@3 ~ [f#3,b3]@3 ~ [a3,c4]@5 [a3,c4,e4]@2 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [e3,a3,c4,e4]@4 [c3,e3,g3,c4]@6 [g3,c4,e4]@2 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@4 ~@8 [d4,f#4]@3 ~ f#3@3 [f#3,a3,d4,f#4]@4 [f#3,a3,d4,f#4]@3, ~@7 f#4@4 a2@6 [c4,e4]@2 [e3,a3]@4 [a3,c4,e4]@4 ~@99 f#4@4 ~@4 [d4,f#4]@4 ~@69 f#4@2 [f#3,a3]@4 ~@11, ~@12 [c3,e3,a3]@8 ~@7 [e3,a3,c4]@4 ~@91 f#3@4 ~@4 [f#3,b3]@4 ~@4 [a2,c3,e3]@8 ~@56 [d3,f#3,a3,d4]@6 [a3,d4]@2 ~@3 [a3,d4,f#4]@4 ~@7]/7", // Bm C Am Bm Am Bm D B5 …
T: "~ [f#3,a3,d4,f#4]@4 [f#3,a3,d4,f#4]@4 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@3 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@4", // D G
U: "[[g3,b3,d4]@3 ~ g3@3 [c3,e3,g3,c4]@4 [c3,e3,g3,c4]@4 [c3,e3,g3,c4]@4 [c3,e3,g3,c4]@3 [d3,f#3,a3,d4]@4 [d3,f#3,a3,d4]@4 [d3,f#3,a3,d4]@4 [d3,f#3,a3,d4]@3 ~ d4@3 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@3 [g3,b3,d4]@4 [g3,b3,d4]@4, ~@3 [b3,d4]@4 ~@30 [g3,b3]@4 ~@23]/2", // G C D G Bm G
V: "[[g3,b3,d4]@4 [c3,e3,g3,c4]@3 ~ c3@3 [c3,e3,g3,c4]@4 [c3,e3,g3,c4]@4 [d3,f#3,a3,d4]@3 ~ [d3,f#3,a3]@3 [d3,f#3,a3,d4]@4 [d3,f#3,a3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@3 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@3 ~ d4@3 [g3,b3,d4]@4, ~@7 [e3,g3,c4]@4 ~@11 d4@4 ~@30 [g3,b3]@4 ~@4]/2", // G C D G C G
W: "[[c3,e3,g3,c4]@4 [c3,e3,g3,c4]@4 [c3,e3,g3,c4]@3 [c3,e3,g3,c4]@4 [d3,f#3,a3,d4]@4 [d3,f#3,a3,d4]@4 [d3,f#3,a3,d4]@3 ~ [d3,f#3]@3 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@3 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@3 ~ c4@3, ~@13 [a3,d4]@2 ~@15 [c3,e3,g3]@2]/2", // C D G D5 C
X: "[[c3,e3,g3,c4]@4 [c3,e3,g3,c4]@4 [c3,e3,g3,c4]@3 ~ [f#3,a3,d4]@3 [d3,f#3,a3,d4]@4 [d3,f#3,a3,d4]@4 [d3,f#3,a3,d4]@4 [g3,b3,d4]@3 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@3 ~ g3@3 [g3,b3,d4]@4 [g3,b3,d4]@4 [c3,e3,g3,c4]@4 [c3,e3,g3,c4]@3, ~@11 d3@4 ~@30 [b3,d4]@4 ~@15]/2", // C D G C Bm
Y: "[[c3,e3,g3,c4]@4 [c3,e3,g3,c4]@4 [d3,f#3,a3,d4]@4 [d3,f#3,a3,d4]@3 ~ [a3,d4]@3 [d3,f#3,a3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@3 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@3 [g3,b3,d4]@4 [c3,e3,g3,c4]@4 [c3,e3,g3,c4]@4 [c3,e3,g3,c4]@3, ~@15 [d3,f#3]@4 ~@45]/2", // C D D5 D G C D
Z: "[~ [c3,e3,g3]@3 [d3,f#3,a3,d4]@4 [d3,f#3,a3,d4]@4 [d3,f#3,a3,d4]@4 [d3,f#3,a3,d4]@3 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@3 ~ d4@3 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@4 [c3,e3,g3,c4]@3 [c3,e3,g3,c4]@4 [c3,e3,g3,c4]@4 [c3,e3,g3,c4]@3, c4@2 ~@15 [g3,b3]@2 ~@13]/2", // C D G C G
AA: "[~ [d3,f#3,a3,d4]@3 ~ [d3,f#3]@3 [d3,f#3,a3,d4]@4 [d3,f#3,a3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@3 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@4 [g3,b3,d4]@3 [g3,b3,d4]@4 [g3,b3,d4]@4 ~@18, ~ [a3,d4] ~@14]/2", // D G D5
})).s("gm_acoustic_guitar_steel").gain(0.12).pan(0.1)
// chords · electric guitar clean
const electric_guitar_clean = note(`<
~ A B A B C A@2 B C A D E F G F H I J ~@2 K ~@2 L ~ M N O@2 ~@2 P@3 Q@3 ~ R S R T U V W X ~@4 Y ~ Z ~@2 AA ~ AB ~@5
>`.pickRestart({
A: "~ [d4,g4]@31", B: "~ [e4,a4]@31", C: "~ [f#4,b4]@15 ~ [e4,a4]@15", D: "~ d4@2 ~@5", E: "~@4 c4@8 ~@15 a3@4 ~",
F: "~@3 d4@8 ~@21", G: "~@3 c4@8 ~@21", H: "~@3 c4@8 ~@15 a3@4 ~@2, ~@11 c4@4 ~", I: "~ d4@4 ~@11", J: "~ c4@4 ~@11",
K: "~@27 [e4,g4]@3 ~@2", L: "~@15 d4", M: "~@4 [b3,d4]@3 ~@16 d4@8 ~",
N: "~@7 b3@2 ~@2 c4@4 ~, ~@7 f#4@8 ~@17, ~@5 d4@4 ~@7",
O: "[~@13 a3@4 ~@3 d4@8 d4@8 e4@7 a3@4 ~@17, ~@5 e4@8 ~@51, ~@9 c4@8 ~@47]/2",
P: "[~@15 [e4,a4]@31 ~ b4@15 ~ a4@15 ~@18]/3", Q: "[~@14 d4@31 ~ [e4,a4]@31 ~ b4@15 ~@3]/3", R: "~@2 d4 ~",
S: "~@2 c4 ~", T: "~@7 b3@4 ~@4 c4@8 ~@9", U: "~@15 d4@8 ~@9", V: "~@15 c4@8 ~@9", W: "~@15 d4@8 ~@3 b4@6",
X: "~@3 b3@2 ~@2 c4@4 ~@5, ~ d4@4 ~@11", Y: "~@5 d4@3 ~@24", Z: "~@24 d4@3 ~@5", AA: "~@11 [f#4,a4]@3 ~@18",
AB: "~@15 a4@3 ~@14",
})).s("gm_electric_guitar_clean").gain(0.32).pan(0.9)
// chords · electric guitar clean · soft notes
const electric_guitar_clean_2 = note("<~@61 [~@2 d4@3 ~@27] ~@2>").s("gm_electric_guitar_clean").gain(0.12).pan(0.9)
// chords · electric guitar clean
const electric_guitar_clean_3 = note("<~@26 A@5 ~@33>".pickRestart({
A: "[~@20 b3@28 ~@2 a4@29 ~@2 b3@13 ~@2 a3@13 ~@2 g4@30 ~@19, ~@18 [f#4,b4]@30 ~ [c4,e4]@30 [f#4,b4]@15 [e4,a4]@15 ~ [b3,d4]@31 ~@19, ~@19 d4@29 a3@30 ~@2 d4@14 ~ c4@14 g3@32 ~@19]/5", // B5 C B5 A5 Bm
})).s("gm_electric_guitar_clean").gain(0.25).pan(0)
// drums · kick
const kick = s("bd").struct(`<
~@11 A B C@3 D E@3 F G H I J ~ K L M N ~@9 O@3 P@3 Q R@2 S T U V W X Q Y Z I J AA N ~@3
>`.pickRestart({
A: "x!2", B: "x ~@15 x ~@14 x", C: "~@15 x ~@15 x", D: "~@15 x ~@14 x ~", E: "~@7 x ~@7 x", F: "~@13 x ~@18",
G: "~@2 x!2", H: "~@7 x ~@14 x ~@9", I: "~@13 x ~@7 x ~@10", J: "~@4 x ~@14 x ~@12", K: "~@20 x ~@10 x",
L: "~@3 x ~@14 x ~@11 x ~", M: "~ x ~@15 x ~@14", N: "x", O: "~@3 x ~@3 x", P: "~@11 x ~@15 x ~@4",
Q: "~@11 x ~@14 x ~@5", R: "~@5 x ~@7 x ~@2", S: "~@10 x ~@14 x ~@6", T: "~@7 x", U: "~@3 x ~@15 x ~@12",
V: "~ x ~@10 x ~@3", W: "x ~@14 x ~@14 x ~", X: "~@21 x ~@6 x ~@3", Y: "~@17 x ~@7 x ~@6", Z: "~@8 x ~@14 x ~@8",
AA: "~@10 x ~@6 x ~@14",
})).gain(0.7)
// drums · kick · soft notes
const kick_soft = s("bd").struct("<~@60 [~ x] [~@6 x ~@7 x ~@14 x ~@2] [~@3 x ~@4] [~@3 x ~@6 x ~@21]>").gain(0.23)
// drums · snare
const snare = s("sd").struct(`<
~@11 A@2 B@3 C D@3 E F G H I J K L M N ~@9 O P@2 Q R@3 S@2 T U V W X H I Y Z AA AB J AC ~@3
>`.pickRestart({
A: "~ x ~ x", B: "~@7 x ~@15 x ~@8", C: "~@7 x ~@14 x ~@9", D: "~@3 x ~@7 x ~@4",
E: "~@5 x ~@11 x ~ x ~ x ~@3 x ~@3 x ~@2", F: "~@5 x ~@6 x ~@7 x ~@6 x ~@4", G: "~@3 x ~@7 x ~@6 x ~@7 x ~@5",
H: "~@2 x ~@6 x ~@7 x ~@6 x ~@7", I: "x ~@7 x ~@6 x ~@7 x ~@6 x ~", J: "~@6 x ~@7 x ~@6 x ~@7 x ~@2",
K: "~@4 x ~@7 x ~@3 x ~@10 x ~@4", L: "~@13 x ~@2", M: "~@3 x", N: "~@7 x ~@24", O: "~@5 x ~@2", P: "~ x ~@3 x ~@2",
Q: "~@4 x ~@14 x ~@12", R: "~@3 x ~@15 x ~@12", S: "~ x ~@7 x ~@6", T: "~@2 x ~@14 x ~@11 x ~ x",
U: "~ x ~@3 x ~@3 x ~@7 x ~@6 x ~@7", V: "x ~@6 x ~@7 x ~@6 x ~@7 x ~", W: "~@5 x ~@7 x ~@7 x ~@6 x ~@3",
X: "~@4 x ~@6 x ~@7 x ~@6 x ~@5", Y: "~@6 x ~@6 x ~@7 x ~@6 x ~@3", Z: "~@4 x ~@6 x ~@7 x ~@7 x ~@4",
AA: "~@2 x ~@7 x ~@6 x ~@7 x ~@6", AB: "x ~@7 x ~@6 x ~@7 x ~@7 x", AC: "~ x ~@6",
})).gain(0.7)
// drums · snare · soft notes
const snare_soft = s("sd").struct(`<
~@60
[~@12 x ~@6 x ~@7 x ~@4]
[~@2 x ~@7 x ~@7 x ~@6 x ~@6]
[~ x ~@6 x ~@7 x ~@6 x ~@7 x]
[~@3 x ~@12]
>`).gain(0.23)
// drums · open hat
const open_hat = s("oh").struct("<~@27 [~@3 x ~@28] [~ x ~@15 x ~@14] x ~@34>").gain(0.7)
// drums · mid tom
const mid_tom = s("mt").struct("<~@27 [~@5 x ~ x ~@8] [~@9 x ~@3 x ~@18] ~@35>").gain(0.7)
// drums · high tom
const high_tom = s("ht").struct("<~@26 [~@4 x!2 ~@10] [~@7 x ~ x ~@22] [~@5 x ~ x ~@24] ~@35>").gain(0.7)
// drums · ride
const ride = s("rd").struct("<~@11 A B C@3 D E@3 F ~@5 G H I ~@10 J A@2 K C@2 L E@2 M ~@15>".pickRestart({
A: "x!8", B: "x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2 x ~@3 x",
C: "~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x", D: "~@3 x ~@3 x ~@3 x ~@3 x ~@2 x ~@3 x ~@3 x ~@3 x ~",
E: "~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x", F: "~ x ~@3 x ~@3 x ~@3 x ~@18", G: "~@20 x ~@6 x ~@3 x", H: "~@9 x ~@3 x ~ x",
I: "~@3 x", J: "~@3 x!5", K: "x ~@3 x ~@2 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x",
L: "~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@3 x ~@2 x ~@3 x ~", M: "~@2 x ~@3 x ~@3 x ~@2 x ~@3 x ~@3 x ~@3 x ~@6",
})).gain(0.7)
// drums · tambourine
const tambourine = s("tb").struct(`<
~ A@12 B@3 C D@3 E F G H I J K L M B@2 D@4 N@3 O P@3 Q R@3 S@2 T U V W X H I Y Z AA AB J AC ~@3
>`.pickRestart({
A: "~ x ~ x", B: "~@7 x ~@15 x ~@8", C: "~@7 x ~@14 x ~@9", D: "~@3 x ~@7 x ~@4", E: "~@5 x ~@23 x ~@2",
F: "~@5 x ~@6 x ~@7 x ~@6 x ~@4", G: "~@3 x ~@7 x ~@6 x ~@7 x ~@5", H: "~@2 x ~@6 x ~@7 x ~@6 x ~@7",
I: "x ~@7 x ~@6 x ~@7 x ~@6 x ~", J: "~@6 x ~@7 x ~@6 x ~@7 x ~@2", K: "~@4 x ~@22 x ~@4", L: "~@5 x ~@7 x ~@2",
M: "~@9 x ~@14 x ~@7", N: "~@5 x ~@15 x ~@10", O: "~@5 x ~@14 x ~@11", P: "~ x ~@3 x ~@2", Q: "~@4 x ~@14 x ~@12",
R: "~@3 x ~@15 x ~@12", S: "~ x ~@7 x ~@6", T: "~@2 x ~@14 x ~@14", U: "~@9 x ~@7 x ~@6 x ~@7",
V: "x ~@6 x ~@7 x ~@6 x ~@7 x ~", W: "~@5 x ~@7 x ~@7 x ~@6 x ~@3", X: "~@4 x ~@6 x ~@7 x ~@6 x ~@5",
Y: "~@6 x ~@6 x ~@7 x ~@6 x ~@3", Z: "~@4 x ~@6 x ~@7 x ~@7 x ~@4", AA: "~@2 x ~@7 x ~@6 x ~@7 x ~@6",
AB: "x ~@7 x ~@6 x ~@7 x ~@7 x", AC: "~ x ~@6",
})).gain(0.7)
// drums · tambourine · soft notes
const tambourine_soft = s("tb").struct(`<
~@60
[~@12 x ~@6 x ~@7 x ~@4]
[~@2 x ~@7 x ~@7 x ~@6 x ~@6]
[~ x ~@6 x ~@7 x ~@6 x ~@7 x]
[~@3 x ~@12]
>`).gain(0.23)
stack(
bass, bass_soft, acoustic_guitar_steel, electric_guitar_clean, electric_guitar_clean_2, electric_guitar_clean_3, kick,
kick_soft, snare, snare_soft, open_hat, mid_tom, high_tom, ride, tambourine, tambourine_soft
)
More by Turtles
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.