0:00/0:00
// Country Road — Taylor James
// 76 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 6 "JAZZ GTR" electric guitar jazz (copy of ch 3 "STEEL GTR" acoustic guitar steel)
// note: Full arrangement: all 65 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(76/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.
// chords · piano · "A.PIANO 1"
const piano = note(`<
~@3 A B C D C E F G H I J K L M C N O P Q R S T U V W X Y Z AA AB V AC AD C AE C AF AG AH AI AJ AK AL AM AN ~@2 AO AP
AQ AR AS AT AU AV AW AX AY AZ BA BB BC
>`.pickRestart({
A: "~@4 e4 f#4@11, [d2,a2], ~ [d4,a4]@3", B: "[c2,g3,c4,e4]!2 ~@2 [g1,g3,b3,d4] ~ [d2,a3,d4,f#4]@10",
C: "[d2,a3,d4,f#4]@15 ~", D: "[d2,g3,c4,e4]@15 ~", E: "[d2,g3,c4,e4]@3 [d2,a3,d4,f#4]",
F: "e2@2 d3 ~ [e2,d4,e4,g4,b4]@2 d3 ~@2 [e4,a4] e3 ~ a2@2 e3 ~, [b3,d4,e4,g4]@2 ~@2 [a2,c#4] ~ [c#4,e4,a4]@2", // Em7 A5 Em7 A
G: "e2@2 [d3,b3,d4,e4,g4] ~ [e2,d4,e4,g4,b4]@2 d3 ~@3 e3 [a3,c#4,e4,a4] [a2,a3,c#4,e4,a4]@2 e3 ~, ~@8 [a2,a3]@3 ~@5, ~@9 [c#4,e4,a4]@2 ~@5", // Em7 A
H: "e2@2 [d4,e4,g4,b4]@2 e2@2 d3 ~ a2@2 [c#4,e4,a4]@2 a2@2 e3 ~, ~@2 d3 ~ [d4,e4,g4,b4]@4 ~@2 e3 ~ [c#4,e4,a4]@4", // Em7 A Em7 A
I: "[b2,d4,f#4,b4]@4 [b2,d4,f#4] ~ [d2,g3,c4,e4]@10", J: "~@4 e4 f#4@10 ~, [d2,a2], ~ [d4,a4]@3",
K: "[c2,g3,c4,e4] [g3,c4,e4]@2 c2 [g3,c4,e4] ~ [g2,g3,b3,d4]@10, ~ c2 ~@14", // C G
L: "~@4 e4 f#4@6 ~ g4 ~ e4 d4, [d2,a2]@11 ~ [d2,a2]@4, ~@4 [d4,a4]@7 ~ d4@2 ~@2, ~@13 f#4@2 ~", // D5
M: "[g3,c4,e4]!2 ~@2 [g3,b3,d4] ~ [d2,a3,d4,f#4]@9 ~, c2@3 g1@3 ~@10", // C G D
N: "[g3,c4,e4]@10 ~ [g3,a3,b3] d4!2 ~ a2, d2@11 ~@3 d3@2", O: "e4 f#4@14 ~, [d2,d4,a4]",
P: "[d2,g3,c4,e4]@11 ~ [d2,a3,d4,f#4]@4", // C D
Q: "[e2,b3,d4,e4,g4]@2 e2 ~ [d4,e4,g4,b4]@2 e2@2 a2@2 [a2,c#4,e4,a4] [a2,c#4,e4,a4]@2 [a2,c#4,e4,a4] [a2,c#4,e4]@2, ~@4 e2 ~@9 a4 ~", // Em7 A
R: "[d4,e4,g4,b4]@2 e2 ~ [d4,e4,g4]@2 e2@2 ~@2 a2 ~ [c#4,e4,a4] a2 a2@2, e2 ~@3 e2 ~@3 a2@2 ~ a2@2 ~@3, ~@9 [c#4,e4,a4]@3 ~ [c#4,e4,a4]@3", // Em7 A
S: "e2 ~ e2@2 [d4,e4,g4]@2 e2@2 a2 ~ a2 ~ [c#4,e4,a4] a2!3, [d4,e4,g4,b4]@4 e2 ~@4 [c#4,e4,a4]@2 a2@2 [c#4,e4,a4]@2 ~", // Em7 A Em7 A
T: "[d4,f#4,b4]@2 f#3 ~ [b2,b3,d4,f#4] ~ [d2,g3,c4,e4]@10, b2 ~@15", // Bm C
U: "~@4 e4 f#4@11, [d2,a2]@15 ~, ~@4 [d4,a4]@11 ~", // D5
V: "[g3,c4,e4] [g3,c4,e4]@2 ~ [g3,c4,e4] ~ [g1,g3,b3,d4]@10, c2@2 ~ c2@2 ~@11", // C G
W: "~@4 e5 f#5@6 ~ g5 f#5 e5 d5, [d2,a2], ~@4 [a4,d5]@7 ~ [a4,d5]@4", // D5
X: "[c3,g4,c5,e5]!2 ~ [c3,g4,c5,e5] [g2,b4,d5] ~ [d3,a4,d5,f#5]@9 ~", // C G D
Y: "[d2,c4,d4,f4,a4] [c4,d4,f4,a4]@2 ~ [d4,f4,a4,c5]@2 d2!2 [d2,c4,d4,f4,a4]!2 [d2,c4,d4,f4,a4]@2 [d2,d4,f4,a4,c5]@4, ~ d2@5 ~@10", // Dm7
Z: "[b3,d4,g4]@2 [g2,b3,d4,g4]@2 [a2,b3,d4] ~ [d2,a3,d4]@10, g2 ~@15", AA: "[c3,c4,e4]@3 [b2,b3,d4]@3 [a2,a3,c4]@10",
AB: "~@4 e4 f#4@9 ~@2, [d2,a2]@7 ~, ~@2 [d4,a4]@5 ~", // D5
AC: "~@4 e4 f#4@5 ~@2 g4 f#4 e4 d4, [d2,a2], ~@2 [d4,a4]@3 ~ [a3,d4]@2", // D5
AD: "[g3,c4,e4] [g3,c4,e4]@2 ~ [g3,b3,d4] ~ [d2,a3,d4,f#4]@9 ~, c2@3 g1@3 ~@10", // C G D
AE: "[g3,c4,e4]@10 ~ b3 [b3,d4,g4] [b3,d4] d4 b3, d2, ~@13 g4@2 ~", AF: "[g3,c4,e4]@11 ~@2 d4 b3 a3, d2, ~@6 f#4 ~",
AG: "~ d4!2 d4@2 d4 e2@2 f#4 [a3,a4]!2 [a3,a4]@2 [a3,a4]@3, [e2,b2,b3]@3 [e2,b2]@3 b3 ~ [a1,a2]@3 [a1,a2]@5", // A E5 A
AH: "e2@2 b2@2 [e2,d4,e4,g4,b4]@2 e3@2 a2 e3!2 a2!2 e3!2 a2, [d4,e4,g4,b4]@4 ~@5 [c#4,e4,a4]@2 ~ [c#4,e4,a4]@3 ~", // Em7 A
AI: "[b3,d4,e4,g4] ~@5 e3@2 a2@2 [e3,c#4,a4]@2 [a2,c#4,e4,a4]@2 e3@2, e2 e3 e2 ~@5, ~ [b3,d4,e4,g4]@2 [b3,d4,e4,g4]@2 [b3,d4,e4,g4]@2 ~@3 e4 ~@5", // Em7 A Em7
AJ: "[b2,d4,f#4,b4]@4 [b2,d4,f#4] ~ [d2,g3,c4,e4]@9 ~", AK: "~@4 e4 f#4@8 ~@3, [d2,a2]@13 ~@3, ~@4 [d4,a4]@9 ~@3",
AL: "[c2,g3,c4,e4] [g3,c4,e4]@2 ~ [g3,c4,e4] ~ [g1,g3,b3,d4]@10, ~ c2 ~ c2@2 ~@11", // C G
AM: "~@4 e5 f#5@6 ~ g5 f#5 e5 d5, [d2,a2]@7 ~, ~@4 [a4,d5]@7 ~ [a4,d5]@3 ~", // D5
AN: "[c2,g4,c5,e5] [c5,e5]@2 [c2,g4] [g1,g4,b4,d5] ~ [d2,a4,d5,f#5]@9 ~, ~ [c2,g4] ~@14", // C C5 G D C5
AO: "~@12 [d2,a3,d4,f#4]@3 ~", AP: "[d2,g3,c4,e4]@11 ~ [c4,e4,g4,b4] [c4,e4,g4,b4]@3",
AQ: "~ f#4@10 ~@2 a4@3, d2, [a3,d4]@11 a3@4 ~, e4 ~@5 d4@2", // D5
AR: "[g3,c4,e4]@5 ~ [g3,c4,e4]@6 [b3,d4,g4] [b3,d4,g4]@3", // C G
AS: "a2@4 ~@4 g5 f#5@2 ~ e5 f#5@3, d2@6 d3@9 ~, ~@4 [d4,a4]@3 a2@8 ~, ~@8 d2@7 ~, ~@2 [a4,d5]!2", // D5
AT: "[c5,e5,g5] [c5,e5,g5]@2 c5 [c5,e5,g5] ~ [b4,d5,g5]@4 a4 b4 a4 ~ [d3,f#4] [a2,d4], d2@2 d2 d2@3 d2 ~, ~@10 d4@2 ~ [d4,a4]@2 ~", // C G D D5
AU: "~ d5 e5 [e5,f#5,a5] ~ [e5,a5] d3 a2 ~@2 [a3,d4,a4] ~@4 d2, d2@7 a2, ~@4 d3@2 ~@2 d3@3 [a3,d4,a4]@2 [a3,d4,a4]@2 ~, ~@3 d3", // F#m7 A5 D5
AV: "[d2,c5,e5,g5] [d2,e5,g5]@2 [d3,c5] [f#2,c5,e5,g5] ~ g2@6 d3@2 d3 a2, ~ c5 ~@4 [b4,d5,g5]@9 ~", // C Em7 D7 C G
AW: "d5 f#5 d5 ~ f#5 d5 [d3,g5] [a2,f#5] e5 d5 e5 f#5 d5 ~@2 [d3,d5], d2, [a4,e5]@3 [e5,a5]@2 ~ d5@2 ~@2 d5@2 ~ [e5,f#5,a5]@2 ~, ~@4 d3@2 ~@2 d3@3 ~ d3@2 a2@2", // G5 D A5 F#m7
AX: "[c5,e5,g5] [e5,g5]@2 c5 [c5,e5,g5] ~ [b4,d5,g5]@2 a4 b4 d5 ~@3 d3 a2, d2@6 g2@5 d5@2 d5@2 ~, ~ c5 ~@2 d3@2 ~@2 d3@4 d3@2 ~@2", // C Em C G
AY: "~@2 [d4,a4]@2 d3 ~@2 a2 c5 g4 d4 ~@4 a2, d2@6 ~@2 d2@3 ~ d2@4, ~@2 a2@4 d3@2 ~ d3@3 ~@2 d3@2, ~@2 c4 ~ [d4,a4]@4 ~@3 b4@2 a4@2 ~", // D5
AZ: "[d2,e4,g4,c5] [d3,e4,g4,c5]@2 e4 [e4,g4,c5] ~ [d4,g4,b4]@5 ~ a3 b3 d4 [a2,a3], ~@3 d2@2 ~ g2@8 ~@2, ~@2 d3 ~@5", // C G A
BA: "~ d4 [d4,a4] d4 d3 ~ d3 a2 ~ d4 [d4,a4]@2 g4 f#4 [d3,e4] [a2,d4], d2!2, ~@3 a4@2 d4@3 ~@2 d3 ~ [d3,d4]@2 ~@2, ~@3 [a4,d5] ~@4", // D5 Dsus2 D5 D D5
BB: "[e4,g4,c5] [g4,c5]@2 e4 [e4,g4,c5] ~ [g2,d4,g4,b4]@8 d3@2, d2@3 ~@5, ~ e4 ~@2 d3@2 ~@10", // C C5 C G
BC: "e4 f#4@11 ~@4, [d2,a2,d4,a4]@3 ~", // D5
})).s("gm_piano").gain(0.44).pan(0.3)
// bass · fretless bass · "FRETLESS"
const bass = note(`<
~@3 A B C@3 D E F G H I J K L C@3 M N O P H Q R S L T U V W X Y Z C@3 AA AB AC AD AE AF AG AH AI AJ ~ C AK AL AM AN AO
AP AQ AR AS AT AU AV AQ AW
>`.pickRestart({
A: "a3 d3@3", B: "c3!2 ~@2 g2 ~ d3@9 ~", C: "d2@15 ~", D: "d2@12 a2@3 ~", E: "e2@3 b1 e2@2 ~@2 a2 c#3 a2 ~ a2@2 ~ a2",
F: "e2@3 ~ e2@2 ~ a2 a1 a1@3 a1@2 a1@2", G: "e2@2 e2@2 e2@2 ~@2 a2 c#3 a2 ~ a2 ~ a2 ~", H: "b2 f#2 b2 ~ d3 ~ d2@9 ~",
I: "d2@7 ~", J: "c2 e2 ~ c2 f#2 ~ g2@6 e2 ~ g2 ~", K: "d2@4 d3@3 a2 d2!3 ~ d3@3 d2", L: "c2 e2 ~ c2 g2 ~ d2@9 ~",
M: "d2@12 a1@3 ~", N: "e1@4 e2@3 ~ a2 c#3 a2 ~ a2@3 a2", O: "e2 ~ e2 ~ e2@2 ~ e2 a2 c#3 a2 ~ a2@2 ~ a2",
P: "e2@2 ~@2 e2@2 ~ e2 a1@2 a1@2 a2@4", Q: "d2@6 ~ d2 d2@2 d2@2 d2@2 ~ d2", R: "c2 e2 ~ e2 f#2 ~ g2@8 ~@2",
S: "d2@7 ~ d2@2 d2@2 d2@2 ~ d2", T: "d2@4 d2@3 c2 d2 c2 d2@2 d2@3 d2", U: "g1 ~ a1 ~ b1 ~ d2@8 ~@2",
V: "c2@3 b1@3 a1@10", W: "d2@4 d3@3 a2 d2!2 ~ d2 d3@3 ~", X: "c2 e2 ~ e2 f#2 ~ g2@6 b1 c2 ~@2",
Y: "d2@4 d3@3 d2!2 ~ d2 ~ d3@3 d2", Z: "c2!2 ~ c2 g2 ~ d2@9 ~", AA: "d2@11 ~ a2@2 d2 ~",
AB: "e2@3 b1 e2 ~ e2 ~ a2 c#3 a2 ~ a2 e3 c#3 a2", AC: "e2@2 e2 ~ e2 ~ e2 ~ a1@2 a1 ~ a1 c#2 e2 e3",
AD: "e2 e2@2 ~ e2 ~@2 e2 a1@2 a1@2 a1@4", AE: "b2 f#2 f#3@2 d3 ~ d2@9 ~", AF: "d2@4 d3@3 d2!2 ~ d2@5 ~",
AG: "c2 e2 ~ f2 f#2 ~ g2@8 ~@2", AH: "d2@7 d2!3 d2@5 ~", AI: "c2!2 ~ c2 g2 ~ d2@8 ~@2", AJ: "d2",
AK: "d2 e2 ~@2 f#2 ~ g2@7 a2 g2 e2", AL: "~@2 a2@5 d2, d2@13 ~@3", AM: "~@6 g2!2 g2@2 g2@2 g2!3 a2, c2@15 ~",
AN: "d2 ~ d2@2 d3 ~ d3 a2 d2!3 ~ d3@2 a2 ~", AO: "d2 e2 ~@2 f#2 ~ g2@4 g2@2 ~@4",
AP: "d2 ~ d2@2 d3@4 d2!3 ~ d2@2 a2@2", AQ: "d2 e2 ~@2 f#2 ~ g2@10", AR: "d2@4 d3@3 d2!2 d2@3 d2@3 a2",
AS: "d2 e2 ~@2 f#2 ~ g2@4 g2@4 g2!2", AT: "d2 ~ d2@2 d3 ~ d3 d2!4 ~ d2@3 a2", AU: "d2 e2 ~@2 f#2 ~ g2@4 g2@6",
AV: "d2@4 d3@3 d2!4 ~ d2@3 a2", AW: "d2@3 ~",
})).s("gm_fretless_bass").gain(0.44)
// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
A B@4 C D E F G H I J K@2 L@2 M N O P G H I Q R S T@2 U V W X Y@3 Z AA@3 AB AC AD AE AF@2 AG@2 AH AI AJ@2 AK AL AM AN
AO@2 AP@2 AQ@4 AR
>`.pickRestart({
A: "~@12 a2 b2 d3 ~",
B: "[e4 ~@3 d2@2 ~@2 [a3,d4,g4] ~ e4 ~ e4 f#4 d2 ~ [g3,c4,e4] ~ d2 ~ g3 d2 d2@2 d2@2 ~@2 [b3,d4,g4] ~ [b3,d4,g4] ~ e4 ~@3 d2@2 ~@2 [a3,d4,g4] ~ e4 ~@2 f#4 d2 ~ [g2,g3,c4,e4] ~@3 [b3,d4,g4] ~ [d2,a2]@2 d2@2 a2 b2 ~ b2 d3@2, [d3,a3,d4]@7 d3@4 d3@3 ~@3 [g3,c4]@2 ~@3 [b3,d4,g4]@5 g2@2 a2@2 ~ [d3,a3,d4]@7 d3@4 d3@3 ~@4 g2@4 ~@6 d3@2 ~@2, d2@4 ~@2 d2@6 [d2,a3,d4]@3 d2@3 ~ d2@2 ~@5 d2@2 ~@3 d2@4 ~@3 d2@6 [d2,a3,d4,e4]@2 ~ d2@4 d2@3 ~@10, ~ f#4@6 ~@2 [a3,d4,f#4]@2 ~@6 e4@4 ~@12 f#4@5 ~@3 [a3,d4,f#4]@2 ~@6 [g3,c4,e4]@2 ~@3 [a3,d4,f#4]@10]/4", // Dsus4 C G Dsus4 C G D5 C5 …
C: "[d2,a3,d4,f#4]@13 ~@3", D: "[d2,g3,c4,e4]@8 ~@4 [b3,d4,g4] ~ d2!2, ~@11 d2@2 [b3,d4,g4]@2 ~",
E: "d2@6 d2 ~ d2@6 d2@2, [a3,d4,f#4]@15 ~", F: "d2@5 d2 [d2,a3,d4,f#4]@2, [g3,c4,e4]@3 ~",
G: "[e3,g3,d4]@3 ~ [e3,g3,d4]@3 ~@3 [g3,c#4] ~ e3 ~@2 a2, e2@6 ~ e2@2 e3@2 ~ [g3,c#4]@4, ~@3 b2@5 a2@3 ~@3 e3@2", // Em7 Gdim
H: "[e3,g3,d4]@3 ~ [e3,g3,d4]@3 e2 ~@2 g3 ~ [g3,c#4]@2 e3 a2, e2@6 ~@3 e3@2 ~ e3 ~@3, ~@3 b2@5 a2@3 ~@5", // Em7 Gdim
I: "[e2,e3,g3,d4]@2 ~@2 [e3,g3,d4]@2 ~ e2 ~@2 [g3,c#4] ~ e3 ~@2 a2, ~@3 b2@5 a2@3 ~@3 e3@2, ~@9 e3@2 ~ [g3,c#4]@4", // Em7 Gdim
J: "[d3,a3,d4,f#4] ~ [d3,a3,d4,f#4]@3 ~ d2@8 d2 ~, ~@3 [g3,c4,e4]@5", // D C
K: "[d2@4 d2@2 ~@2 [a3,d4,g4] f#4 ~ a3 e4 ~ d2!2 d2@2 d2 d2@2 d2 [d2,b3,d4,g4]@9 ~, [a3,d4,f#4]@6 d2@2 d2@5 f#4@2 ~@17, ~@7 d3@13 ~@12, ~@9 d4@6 ~@17, ~@9 a3 e4@2 a3@3 ~ [g3,c4,e4]@4 ~@12]/2", // Dsus4 G D C
L: "[e4 ~@3 d2@3 ~ [a3,d4] ~@2 [a3,d4] e4 f#4@2 ~ [d2,g3,c4,e4] [d2,g3,c4,e4]@2 ~ [d2,b3,d4,g4] ~@5 a2 b2 ~ b2 d3@2, [d3,a3,d4]@7 d3@11 ~@10 d3@2 ~@2, d2@4 ~@4 d2@4 [d2,a3,d4]@4 ~@3 [d2,d3]@2 ~ [d2,d4,f#4]@10, ~ f#4@5 ~@3 [a3,d4,f#4]@2 ~@11 a3@8 ~@2, ~@5 e4 ~@10]/2", // D5 C G D5 D
M: "[d2,d3,a3,d4,f#4]@7 d2", N: "[d2,g3,c4,e4]@10 d2 ~ [b3,d4,g4]!2 d2!2, ~@11 d2@3 ~@2",
O: "d2@3 d2 d2@2 d2!2, [d3,a3,d4,f#4]@7 ~", P: "d2@4 d2!4, [g3,c4,e4]@5 ~ [a3,d4,f#4]@2",
Q: "[a3,d4,f#4]@4 d3 ~ [d2,g3,c4,e4]@10, d3@3 ~@13", // D C
R: "d2@6 d2@2 d2 ~ d2 ~ [a3,d4,g4] ~ e4 ~, [a3,d4,f#4]@11 d2@4 ~, ~@13 [a3,d4,f#4]@2 ~", // Dsus4 D
S: "~ g3@2 c3 g3 ~ [b3,d4,g4]@6 ~@4, c3@3 ~@2 d3@7 ~@4, ~ [c4,e4]@4 ~@11", // G C
T: "[e4 f#4@3 ~@4 [d2,a3,d4] ~@2 [a3,d4] e4 f#4 d2!2 [d2,g3,c4,e4] [d2,g3,c4,e4]@2 d2 [d2,b3,g4] ~ d2@4 d2@2 d2@2 d2@2, [d2,a3,d4]@7 d3@8 e3@3 ~ d3@13, ~@9 [a3,d4,f#4]@2 ~@11 [a3,d4,f#4]@9 ~, ~@10 [d2,e4]@2 [d2,a3,d4]@3 ~@17]/2", // D5 C G D5 D Dsus2 D5
U: "[d2,c4,f4,a4]@2 [d2,c4,f4,a4]@2 [d2,c4,f4] [d2,c4,f4,a4]!3", // Dm7
V: "[b3,d4,g4] ~ [b3,d4,g4] ~ [b3,d4,g4] ~ [a3,d4,f#4]@9 ~", // G D
W: "~ [g3,c4,e4]@2 ~ [g3,b3,e4] ~ [g3,c4,e4]@10, c3@2 ~ b2@2 a2@11", // C Em C
X: "e4 f#4@3 d2@3 ~ [a3,d4,g4] ~ e4 ~ [d2,a3,d4,e4]@2 [d2,f#4] d2, [d3,a3,d4]@7 d3@2 [a3,d4,f#4]@2 d3@4 ~, d2 ~ d2 ~", // Dsus4 Dsus2 D D5 D
Y: "[[d2,d3,g3,c4,e4] ~ d2@2 d2 ~ [b3,d4,g4]@4 ~@2 [b3,d4,g4] ~ [b3,d4,g4] ~ e4 ~@3 d2@2 ~@2 [a3,d4,g4] ~ e4 ~ e4 f#4 ~@2 [d2,g3,c4] [d2,g3,c4,e4]@2 ~ [d2,b3,d4,g4] ~ d3@3 ~ a2 b2 d3 b2 d3@2, ~ [d3,g3,c4,e4]@3 ~ d2@10 d2@5 ~@2 d2@6 [d2,a3,d4]@3 ~@4 [d2,d3]@2 ~ [d2,a3,d4]@10, ~@5 d3@5 ~ g2@2 a2@3 [d3,a3,d4]@7 d3@4 d3@3 d2@2 ~@16, ~@18 f#4@5 ~@2 [a3,d4,f#4]@2 ~@4 d3@3 ~@4 f#4@8 ~@2]/3", // C G Dsus4 Csus2 C G C D5 …
Z: "d2!2, [a3,d4,f#4]@13 ~@3", // D
AA: "[[g3,c4,e4]@9 ~@3 [b3,d4,g4] ~ d2!2 d2@8 d2@4 d2@2 d2@2 [d2,c4]@8 d2@2 d2@2 [d2,a3,d4,f#4]@2 d2@2, d2@11 [d2,d3]@4 ~ [a3,d4,f#4]@13 ~@3 [g3,e4]@10 ~@6, ~@13 [b3,d4,g4]@2 d3@25 ~@8]/3", // C G D7 D C G
AB: "[e2,e3,g3,d4]@2 ~@2 [e2,e3,g3,d4]@2 ~@4 [g3,c#4] ~ [a2,e3,g3,c#4]@2 a2 ~, ~@8 a2@3 ~@5, ~@9 e3@2 ~@5", // Em7 Gdim A7
AC: "[e2,e3,g3,d4]@2 ~@2 [e2,e3,g3,d4]@2 ~@4 [g3,c#4] ~ e3@2 e3 ~, ~@8 a2@3 ~ [a2,g3,c#4]@4, ~@9 e3@2 ~@5", // Em7 Gdim A7
AD: "[e2,e3,g3,d4]@2 ~@2 [e2,e3,g3,d4]@2 ~@4 [g3,c#4] ~ [a2,g3,c#4]@2 a2 ~, ~@8 a2@3 ~@5, ~@9 e3@2 ~ e3@4", // Em7 Gdim A7
AE: "[d3,a3,d4,f#4] ~ [d3,a3,d4,f#4] ~ [d3,a3,d4,f#4] ~ [d3,g3,c4,e4]@10", // D C
AF: "[e4 ~@3 d2@2 ~@2 [a3,d4,g4] ~ e4 ~@2 f#4 d2!2 [g3,c4,e4] ~@2 c3 g3 ~@6 g2 ~ a2@2 d2, [a3,d4]@7 d3@4 d3@4 c3@3 ~@3 d3@10 ~, d2@4 ~@2 d2@2 d2@4 [d2,a3,d4,e4]@2 ~@2 d2@6 g4@7 ~@3, ~ f#4@5 ~@3 [a3,d4,f#4]@2 ~@6 [g3,c4,e4]@4 ~ [b3,d4]@9 ~]/2", // Dsus4 C D5 Dsus2 D C Bm
AG: "[e4 ~@3 d2@2 ~@2 [a3,d4,g4] ~ e4 ~ e4 f#4 d2 ~ [g3,c4,e4] [d2,g3,c4,e4]@2 ~ [d2,b3,d4,g4] ~ d3@4 a2 b2 ~ b2 [a2,d3]@2, [d3,a3,d4]@7 d3@3 ~ d3@3 ~@14 d3@2 ~@2, d2@4 ~@2 d2@2 d2@3 ~ [d2,a3,d4]@3 [d2,d3]@3 ~ [d2,d3]@2 ~ [d2,a3,d4,f#4]@10, ~ f#4@6 ~@2 [a3,d4,f#4]@2 ~@21]/2", // Dsus4 C G D5 D
AH: "d2@3 d2@2 d2!3, [a3,d4,f#4]@13 ~@3", AI: "[d2,g3,c4,e4]@3 d2 d2@2 d2!2, ~ [g3,c4,e4]",
AJ: "[e4 ~@3 d2@2 ~@2 [a3,d4] ~ e4 ~ e4 f#4 d2!2 [d2,g3,c4,e4]@4 ~@2 [g2,d4]@4 d2@4 d2@2, [d3,a3,d4]@7 d3@3 ~ d3@4 d3@6 ~ d3@10, d2@4 ~@2 d2@6 [d2,a3,d4]@3 ~@5 d2@6 ~@6, ~ f#4@5 ~@3 [a3,d4,f#4]@2 ~@11 [b3,g4]@6 ~@4]/2", // D5 C G5 D5 D Em
AK: "d2@4 d2@4 ~@2 [d2,a3,d4,g4]@2 [d2,a3,d4,f#4]@2 [d2,a3,d4] ~, [a3,d4,f#4]@4 d2 ~@3, ~@9 d3@6 ~", // Dsus4 D D5 D
AL: "[d2,g3,c4,e4]@5 ~ g2@2 g2@2 d2@2 d2@2 d2!2, ~@5 d3@9 ~@2, ~@5 d2@5 ~@6, ~@3 [c4,e4,g4]@4 ~", // C
AM: "d2@3 ~ d2@2 d2@2 g4 ~ d2@2 d2@2 d2@2, d3@15 ~, [a3,d4,f#4]@7 ~ [a3,d4]@7 ~, ~@4 d2 ~@3, ~@9 f#4@6 ~", // D D5
AN: "[d2,g3,c4,e4]@2 ~ g2!3 d2!2, ~@5 d2@2 ~@9, ~@6 [d3,b3,d4,g4]@9 ~", // C G
AO: "[[d3,a3,d4]@2 ~@2 [a3,d4,g4] ~@2 [a3,d4] [d2,a3,d4,g4] ~@2 [a3,d4] e4 ~ d2 ~ [g3,c4,e4] [g3,c4,e4]@3 ~@2 [b3,d4,g4]@5 ~@3 [b3,d4,g4]@2, [d2,f#4]@3 d3@12 ~@5 d3@7 d3@5, ~@4 d2@4 ~@2 [d2,e4]@2 [d2,a3,d4]@3 d2@12 g2@2 a2@3, ~@5 [a3,d4,f#4]@2 ~@2 [a3,d4,f#4]@2 ~@17 [b3,d4,g4]@2 ~@2, ~@6 e4@2 ~@5 f#4@2 ~@17]/2", // D5 Dsus4 D5 Dsus4 D5 C G D …
AP: "[e4 ~@3 d2@2 ~@2 [d2,a3,d4,g4] ~@3 [d2,a3,d4,e4]@2 d2 ~ [g3,c4,e4] [g3,c4,e4]@3 ~@7 g2@2 a2@2 d2, [d3,a3,d4]@6 ~ d3@4 a2@13 ~@8, d2@4 ~@2 d2@2 ~@2 [d2,e4]@2 ~@3 d2@13 ~@4, ~ f#4@5 ~@3 [a3,d4,f#4]@2 d3@3 ~ d3@5 ~ d3@4 ~@7, ~@11 [b3,d4,g4]@4 ~]/2", // Dsus4 Dsus2 C D5 Dsus2 D G
AQ: "[e4 ~@3 d2@2 ~@2 [d2,a3,d4,g4] ~@3 e4 f#4 d2 ~ [g3,c4,e4]@4 ~@2 [d3,g4]@5 g2@2 a2@2 d2, [a3,d4]@7 d3@4 d3@3 ~@18, d2@4 ~@2 d2@2 ~@2 [d2,e4]@2 [d2,a3,d4]@3 d2@16 ~, ~ f#4@5 ~@3 [a3,d4,f#4]@2 ~@11 [b3,d4]@8 ~@2]/2", // Dsus4 C G5 D5 Dsus2 D5 D Bm
AR: "e4 ~ d2@11 ~@3, [a3,d4]@15 ~, d2 ~@7, ~ f#4@14 ~", // D5
})).s("gm_acoustic_guitar_steel").gain(0.35).pan(0.7)
// drums · kick
const kick = s("bd").struct(`<
~@5 A@4 B C D E B F G F A@4 B H@2 E B F B F B E F B F B F A@4 I@3 E B F B F A ~@4 J K L K E K M K N K F A
>`.pickRestart({
A: "x", B: "x ~@7 x ~ x ~@4 x", C: "x ~ x ~@4 x!2 ~ x ~@4 x", D: "x ~ x ~@4 x!2 ~ x ~@5", E: "x ~@2 x ~@4",
F: "x ~@2 x ~@2 x ~@9", G: "x ~@6 x!2 ~ x ~@4 x", H: "x!2 ~@2 x!2 ~@2", I: "x ~@3 x!2 ~@2", J: "~@3 x",
K: "x ~@6 x!2 ~@6 x", L: "x!2 ~@2 x!4", M: "x ~@2 x ~@2 x ~@7 x ~", N: "x!4 ~@4",
})).gain(0.33)
// drums · snare
const snare = s("sd").struct(`<
~@8 A B@2 C D B E B E ~@3 A B@2 C D B E B F C G H B E B E ~@3 I B@2 C J B E B E ~@6 B K B L B M B K N E ~
>`.pickRestart({
A: "~@8 x ~@2 x!2 ~ x ~", B: "~ x ~ x", C: "~@4 x ~@7 x ~@2 x", D: "x!3 ~@5", E: "~ x ~@2 x ~@11",
F: "~ x ~@2 x ~@9 x ~", G: "x ~ x ~ x ~@5 x ~ x!3 ~", H: "~@2 x ~@2 x ~@10", I: "~@5 x!3", J: "x ~ x ~ x ~@10 x",
K: "~@5 x ~@10", L: "~ x ~ x!2 ~@11", M: "~ x ~@2 x ~@3 x!3 ~@5", N: "~@4 x ~@4 x ~@2 x ~@3",
})).gain(0.44)
// drums · hihat
const hihat = s("hh").struct(`<
~@9 A B@2 ~ B C B C ~@4 A B@2 ~ B C A D A ~@2 A C A C ~@4 A B@2 ~ A C A D ~@5 E A F A ~ A F A G A H ~
>`.pickRestart({
A: "~ x!7", B: "x!8", C: "x ~@7 x!2 ~@4 x ~", D: "x ~@7 x!2 ~@2 x ~@3", E: "~@3 x ~@4", F: "x!2 ~@2", G: "x!2",
H: "x",
})).gain(0.27)
// drums · low tom
const low_tom = s("lt").struct("<~@53 A ~ B ~ C ~ D ~@3 E ~>".pickRestart({
A: "~ x!2 ~ x ~@2 x!2 ~ x ~@2 x!2 ~", B: "~@6 x ~@2 x!2 ~ x!3 ~", C: "~@8 x!3 ~@2 x!2 ~", D: "~@13 x!2 ~",
E: "~@11 x ~@3 x",
})).gain(0.44)
// drums · mid tom
const mid_tom = s("mt").struct(`<
~@53
[~ x!2 ~ x ~@2 x!2 ~ x ~@2 x!2 ~]
~@7
[~@9 x!2 ~ x!3 ~]
~
[~@8 x!2 ~@2 x!2 ~@2]
~
>`).gain(0.38)
// drums · open hat
const open_hat = s("oh").struct("<~@14 A ~ A ~@9 A B A ~@4 A B A ~@9 A B A ~@17>".pickRestart({
A: "~@5 x ~@2", B: "x",
})).gain(0.33)
// drums · crash
const crash = s("cr").struct(`<
~@5 A@5 ~@2 B ~ B ~ B A@5 ~@2 B ~@4 A B C A B ~ B A@5 ~@2 B A B ~ B A ~@5 A D A B A B A E A B A
>`.pickRestart({
A: "x", B: "~@3 x ~@4", C: "x ~@2 x ~@2 x ~@9", D: "~ x ~@6", E: "~ x ~ x ~@4",
})).gain(0.27)
// drums · ride
const ride = s("rd").struct("<~@26 [~@3 x ~@4] ~ [~@3 x ~@4] ~@36>").gain(0.33)
stack(piano, bass, acoustic_guitar_steel, kick, snare, hihat, low_tom, mid_tom, open_hat, crash, ride)
More by James Taylor
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.