0:00/0:00
// That's All I Need to Know — Joe Cocker
// 70 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 72 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(70/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 · fretless bass
const bass = note(`<
~@6 A@3 B@3 C@3 D@3 E@3 F@3 G H I J@3 K@3 L@3 M@3 N@3 O@2 P Q@2 R S@3 T@3 U@3 T@3 U@3 V@3 W@2 X@2 ~@2
>`.pickRestart({
A: "[~@36 c2@28 ~@2 e2@4 ~@2 f2@35 ~ g2@36]/3", B: "[a2@24 a2@5 ~ b2@5 ~ c3@35 ~ f2@36 g2@36]/3",
C: "[a2@23 ~ g1@11 ~ f1@34 ~@2 g1@29 ~ g1@5 ~ a1@34 ~@2]/3", D: "[g1@36 c2@28 ~@2 e2@4 ~@2 f2@35 ~ g2@36]/3",
E: "[a2@29 ~ b1@5 ~ c2@35 ~ f2@36 g2@36]/3", F: "[a2@23 ~ g2@11 ~ f2@34 ~@2 g1@29 ~ g1@3 a1@3 a2@29 ~ a2@6]/3",
G: "g2@21 g2 ~@2 g2@5 ~ g2@5 ~ g2@5 g2@6 ~", H: "g2@5 ~ g2@6 a2@6 g2@6 c2@24", I: "~@5 g1@5 ~@2 f1@28 ~ g1@5 ~@2",
J: "[c2@28 ~@2 g1@5 ~ f1@25 ~@5 g1@6 a1@29 ~ a1@5 ~ g1@28 ~@2 g1@5 ~]/3",
K: "[f1@16 ~ e1@17 ~@2 d1@17 g1@18 ~ c1@29 ~ e1@4 ~ f1@34 ~@3]/3",
L: "[g1@29 ~ d2@4 ~@2 g2@29 ~ d2@5 ~ c2@28 ~@2 e2@4 ~@2 f2@35 ~]/3", M: "[g2@36 a2@29 ~ b1@5 ~ c2@35 ~ f2@36]/3",
N: "[g2@36 a2@23 ~ g2@11 ~ f2@34 ~@2 g1@29 ~ g1@3 a1@3]/3",
O: "[a2@29 ~ a2@6 g2@21 g2 ~@2 g2@5 ~ g2@5 ~ g2@5 g2@6 ~ g2@5 ~ g2@6]/2", P: "a2@6 g2@6 c2@27 ~@2 g1@5 ~@2",
Q: "[f1@28 ~ g1@5 ~@2 c2@28 ~@2 g1@5 ~ f1@24]/2", R: "~@6 g1@6 a1@29 ~ a1@5 ~",
S: "[g1@28 ~@2 g1@5 ~ f1@16 ~ e1@17 ~@2 d1@17 g1@12 ~ g1@5 ~ c2@11 ~ c1@5 ~ c1@5 ~ c1@5 ~ c1@6]/3",
T: "[d2@27 ~@2 a1@5 ~@2 g1@28 ~ a1@5 ~@2 d2@28 ~@2 a1@5 ~ g1@25 ~@5 a1@6]/3",
U: "[b1@29 ~ b1@5 ~ a1@28 ~@2 a1@5 ~ g1@16 ~ f#1@17 ~@2 e1@17 a1@12 ~ a1@5 ~]/3",
V: "[d1@30 f#1@4 ~@2 g1@17 ~ a1@17 ~ d1@29 ~ f#1@5 ~ g1@17 ~ a1@18]/3", W: "[d2@28 ~@2 f#1@5 ~ g1@20 ~@2 a1@38]/2",
X: "[~@4 d1@79 ~@13]/2",
})).s("gm_fretless_bass").gain(0.49)
// chords · string ensemble 2
const string_ensemble_2 = note("<A@6 B@7 ~@2 C@8 D@4 E@6 F@2 ~@2 G@2 H@3 I@4 J@5 K@3 L@6 M@8 N@2 ~@2>".pickRestart({
A: "[~@36 c4@233 b3@19, ~ g4@7]/6", B: "[c4@18 b3@17 ~ [c4,g4]@288 ~@12]/7",
C: "[~@35 c4@36 g3@72 a3@36 ~ c4@34 g3@37 b3@36 a3@22 ~@3 g3@10 ~@2 [f3,a4]@35 ~@19 b4@6, ~@35 g4@275 ~@14 c5@55 ~@5, ~@359 [g3,d4]@25]/8", // F G5
D: "[~@11 [a3,f4]@36 ~@37 b4@36 [e3,c4]@36 [f3,a3]@36, ~@11 c5@73 ~@108, ~@47 [b3,g4]@72 ~@73]/4", // Dm C F Em
E: "[[e3,c4]@35 [f3,a3]@36 [e3,c4]@37 [g3,b3]@35 [f3,a3]@18 [e3,g3]@18 [f3,a3]@18 ~ [g3,b3]@18 [e3,c4]@36 [f3,a3]@36]/6", // C F C G F Em F G …
F: "[[g3,c4]@35 [g3,b3]@36 ~@25]/2", G: "[~@24 g4@53 c5@12 g4@6 ~]/2",
H: "[b4@30 c5@3 d5@3 c5@31 ~@5 [a3,f4]@35 ~ g4@36, ~@107 b3@37]/3", // Dm
I: "[~ [c4,a4]@34 b4@34 ~@3 [b4,d5]@2 ~ [b4,d5]@2 ~ e5@3 [d5,f5]@2 ~ g5@2 ~ a5@2 ~ b5@2 [a5,c6]@3 [b5,d6]@3 [c6,e6]@3 [d6,f6]@3 ~ g6@3 [c6,e6]@17 ~ c6@14 ~@2 [c6,e6]@7 [b5,d6]@6 [a5,c6]@5 ~@2 [a5,c6]@5 [b5,d6]@13 [c6,e6]@12, ~@35 d4@73 ~@84, ~@77 c5@3 ~@3 e5@3 f5@3 g5@2 ~@13 e6@3 ~@18 e6@15 ~@52]/4", // F Bm Dm Am Bm C Dm C …
J: "[~@5 [c6,e6]@14 ~@2 [c6,e6]@8 [b5,d6]@6 [a5,c6]@5 ~ [a5,c6]@12 [b5,d6]@6 ~ [c6,e6]@35 [b5,d6]@36 a5@17 g5@19 f5@18 d5@16 ~@2 [e5,c6]@37, ~@131 c6@70 ~@39]/5", // C Bm Am Bm C Bm C
K: "[[d5,f#5]@17 ~ d5@14 ~@2 [d5,f#5]@7 [c#5,e5]@6 [b4,d5]@5 ~@2 [b4,d5]@5 [c#5,e5]@13 [d5,f#5]@16 ~ [d5,f#5]@14 ~@2 [d5,f#5]@8 [c#5,e5]@6 [b4,d5]@5 ~ [b4,d5]@12 [c#5,e5]@6 ~, ~@17 f#5@15 ~@112]/3", // D C#m Bm C#m D C#m Bm C#m
L: "[[d6,f#6]@35 [c#6,e6]@36 b5@17 a5@19 g5@18 e5@16 ~@2 d6 [d6,f#6]@17 ~ d6@14 ~@2 f#6@7 [c#6,e6]@6 [b5,d6]@5 ~@2 [b5,d6]@5 [c#6,e6]@13 [d6,f#6]@16 ~ [d6,f#6]@14 ~@2 [d6,f#6]@8 [c#6,e6]@6 [b5,d6]@5 ~ [b5,d6]@12 [c#6,e6]@6 ~, ~@71 d6@70 ~@2 f#5@37 ~@108, ~@161 f#6@15 ~@2 d6@2 ~@108]/6", // D C#m D C#m Bm C#m D C#m …
M: "[[d6,f#6]@35 [c#6,e6]@36 b5@17 a5@19 g5@18 e5@16 ~@2 [f#4,d5]@241, ~@71 d6@70 ~@243]/8", // D C#m D
N: "[~@4 [d4,e4,f#4]@79 ~@13]/2", // D
})).s("gm_string_ensemble_2").gain(0.25)
// other · oboe
const oboe = note("<~@34 A B C D E@2 F G H@2 I@3 J@2 K@2 ~@8 L@5 ~ M@2 ~@5>".pickRestart({
A: "~@42 c4@5 ~", B: "g4@5 c5@6 ~ g4@13 ~@14 f4@3 g4@6", C: "g4@8 ~@13 g4 ~@2 a4@6 g4@3 e4@12 ~@3", D: "~@21 e4@2 ~",
E: "[g4@6 c5@8 ~ g4@13 ~@6 a4@5 g4@2 ~@2 e4@2 g4@9 d4@5 ~@9 g4@2 ~ a4@7 g4 ~@2 d4@9 ~@6]/2", F: "~@21 a4@2 ~",
G: "b4@4 ~@2 c5@4 ~@2 c5@9 ~@3 b4@3 ~@2 a4@5 g4@8 ~@6", H: "[~@18 a4@5 ~ c5@4 ~@2 e5@5 c5@6 a4@26 ~@23 c5@4 ~@2]/2",
I: "[d5@4 ~ d5@6 ~ e5@11 ~@7 e5@4 ~@2 d5@5 c5@4 ~@2 c5@8 ~@17 c5@6 d5@4 ~ d5@5 ~ e5@5 ~ e5@5 ~ e5@6 ~ d5@5 ~ d5@5 c5@7 ~@18]/3",
J: "[~@3 c5@4 ~ d5@3 d5@5 ~ d5@2 ~@2 d5@2 d5@9 ~@8 d5@4 ~ e5@8 ~ e5@2 ~ e5@2 e5@11 ~@13 e5@5 ~ e5@2 ~ e5@3 ~]/2",
K: "[e5@2 ~ e5@3 d5@11 ~ c5@4 ~@2 a4@4 ~ b4@8 ~ c5@2 ~ e5@4 d5@6 c5@2 ~ c5@12 ~@30]/2",
L: "[~@39 d5@4 ~ e5@3 e5@5 ~ e5@2 ~@2 e5@2 e5@9 ~@8 e5@4 ~ f#5@8 ~ f#5@2 ~ f#5@2 f#5@11 ~@13 f#5@5 ~ f#5@2 ~ f#5@3 ~ f#5@2 ~ f#5@3 e5@11 ~ d5@4 ~@2 b4@4 ~ c#5@8 ~ d5@2 ~ f#5@4 e5@6 d5@2 ~ d5@15 b4@8 ~@31]/5",
M: "[~@9 d4@2 ~ b4@4 ~ c#5@8 ~ d5@2 ~ f#5@4 e5@6 d5@2 ~ d5@15 b4@8 ~@31]/2",
})).s("gm_oboe").gain(0.57)
// chords · rock organ
const rock_organ = note("<~@3 A@6 ~@3 B@4 ~@5 C@3 D@6 E@3 F@2 ~@5 G@2 H@6 I@4 ~@5 J@6 K@5 L@2 ~@2>".pickRestart({
A: "[~@72 f5@17 ~ e5@17 ~@19 b5@18 c6@18 b5@17 ~ [g5,c6]@72 ~@36, ~@36 g6@143 ~@109, ~@2 c6@5 ~@9, ~@107 d5@72 ~@109]/6", // C5
B: "[~@36 [a5,f6]@35 ~@19 b5@18 [f6,a6]@36 ~@18 b5@16 ~@14, ~@36 c6@53 ~@19 c6@54 ~@30, ~@24 [d6,g6]@12 ~@12 [d6,g6]@11 ~@5]/4", // Dm F G5
C: "[~@36 [a5,f6]@35 ~@19 b5@18 [c6,f6,a6]@36, ~@36 c6@53 ~@55, ~@2 [d6,g6] ~]/3", // Dm F G5
D: "[~@36 b5@35 ~ [e6,g6]@36 [f6,a6]@36 [e6,g6]@36 [f6,a6]@36 [e6,a6]@36 [d6,g6,b6]@36, [d6,g6]@2 c7@5 ~]/6", // Em F Em F A5 G G5
E: "[[c6,f6,a6]@18 [e6,g6]@18 [d6,f6]@18 [b5,g6]@17 ~ [e6,g6]@54 ~@18]/3", // F Em Dm Em
F: "[~@18 b5@18 c6@17 ~ b5@18 ~@24, g5@35 ~ g5@36 ~@24, c6@3 ~@13, ~ d5@71 ~@24]/2",
G: "[~@24 [a5,f6]@35 ~@19 b5@18, ~@24 c6@53 ~@19, ~@5 [d6,g6]@3]/2", // Dm G5
H: "[[f6,a6]@36 ~@36 b5@35 ~ [e6,g6]@36 [f6,a6]@36 [e6,g6]@36 [f6,a6]@36 [e6,a6]@36, c6@71 ~@217, ~ [d6,g6]@2 c7@5]/6", // F Em F Em F A5 G5
I: "[[d6,g6,b6]@36 [c6,f6,a6]@18 [e6,g6]@18 [d6,f6]@18 [b5,g6]@17 ~ [e6,g6]@54 ~@30]/4", // G F Em Dm Em
J: "[[f#5,a5]@36 [g5,b5]@36 [f#5,a5]@36 [g5,b5]@36 [f#5,b5]@36 [e5,a5,c#6]@36 [d5,g5,b5]@18 [f#5,a5]@18 [e5,g5]@18 [c#5,a5]@17 ~, d6@5 ~@3]/6", // F#m G F#m G B5 A G F#m …
K: "[[f#5,a5]@36 [g5,b5]@18 [a5,c#6]@17 ~ [f#5,a5]@35 [g5,b5]@18 ~ [a5,c#6]@18 [f#5,a5]@35 g5@22 ~@2 [a5,c#6]@25 ~@12, e6@19 ~, d6@53 ~@19 d6@54 ~@18 d6@57 ~@39, ~@179 b5@49 ~@12]/5", // F#m G A F#m G A F#m A
L: "[~@5 [a5,d6,f#6]@78 ~@13]/2", // D
})).s("gm_rock_organ").gain(0.24).pan(0.3)
// chords · distortion guitar
const distortion_guitar = note("<~@25 A@2 B@3 C@2 D@4 ~@8 E F@6 G@2 H I ~@2 J@3 K@3 ~@9>".pickRestart({
A: "[~@24 [c3,g3]@35 ~ [f2,c3]@36]/2", B: "[[c3,g3]@35 [f2,c3]@36 ~ [a2,e3]@35 [g2,d3]@37]/3",
C: "[[f2,c3]@3 [e2,b2]@3 [d3,a3]@3 [g2,d3]@3 c3@2 [g4,c5]@2]/2", // F5 E5 D5 G5 C5
D: "[e4@6 c4@6 d4@11 ~ c4@6 d4@3 ~@9 g3@36 d3@3 e3@2 g3@18 a3@7 ~@6 a3@6 c3@35 ~@37, ~@54 c4@5 ~@37]/4",
E: "~@12 [c3,g3]@35 ~", // C5
F: "[[f2,c3]@36 [c3,g3]@35 [f2,c3]@36 ~ [a2,e3]@35 [g2,d3]@37 [f2,c3]@18 [e2,b2]@18 [d3,a3]@18 [g2,d3]@18 c4@3 ~@6 g3@3 d4@5 ~ d4@6 g4@3 e4@3 g4@3 a4@3, ~@255 g3@5 ~@28, ~@43 c4 ~@4]/6", // F5 C5 F5 A5 G5 F5 E5 D5 …
G: "[c5@12 e5@3 d5@2 ~ e5@11 ~ e5@3 d5@3 e5@3 b4@3 d5@11 ~ g2@9 b4@6 d5@3 a5@18 a5@6]/2",
H: "f#5@3 a5@3 e5@6 f5@2 ~ g5@2 e5@3 ~ d5@2 ~ d5@3 b4@2 ~ c5@3 b4@3 a4@3 f#4@3 d4@3 d4@3",
I: "b3@16 ~ a3@6 f#3@12 ~@13", J: "[[d3,a3]@35 ~ [g2,d3]@36 [d3,a3]@35 [g2,d3]@36 ~]/3",
K: "[[b2,f#3]@35 [a2,e3]@37 [g2,d3]@18 [f#2,c#3]@18 [e3,b3]@18 [a2,e3]@18]/3", // B5 A5 G5 F#5 E5 A5
})).s("gm_distortion_guitar").gain(0.39).pan(1)
// other · acoustic guitar nylon
const acoustic_guitar_nylon = note("<~ A B@3 C@2 ~@65>".pickRestart({
A: "~@6 d#4 e4@5 c5@6 g4@6 a4@24, ~@5 d4@2 ~@41",
B: "[~@3 g4 ~@2 [g4,c5]@2 a4@2 ~ g4@28 ~ e4@4 ~@2 d#4 e4@32 ~@5 e4@16 ~@2 g4@4 ~ g4 f4@6 e4@5 c4@25, ~@39 d4@2 ~@42 d4@2 ~@21 a4@2 ~@36]/3", // C5
C: "[~@3 a3@3 c4@2 d4@2 e4@2 d4@57 ~@27]/2",
})).s("gm_acoustic_guitar_nylon").gain(0.52)
// chords · piano
const piano = note(`<
A@3 B@3 C@3 D@3 E@3 F@3 D@3 E@3 G@3 H I@2 J@3 K@3 L@3 M@3 N@6 O@3 P@3 Q@3 R S@2 Q@3 T@3 U@3 V ~@2
>`.pickRestart({
A: "[~ [c2,e3,g3,c4] [f2,f3,a3,c4] [g2,d3,g3,b3]]/3", // C F G
B: "[[a2,e3,a3,c4]@29 ~ [b2,g3,d4]@5 ~ [c3,g3,c4,e4]@34 ~@2 [f2,a3,c4]@36 [d3,g3,c4]@17 ~ [d3,g3,b3]@17 ~, ~@72 f3@32 ~@4 g2@35 ~]/3", // Am G C F Csus2 G
C: "[g2@12 g1@5 ~ g1@9 ~@3 g1@5 ~ [e3,g3,c4]@32 ~@4 [f3,a3,c4]@32 ~@4 [d3,g3]@20 ~@10 [g2,d3]@6, [d3,g3,c4]@18 [d3,g3,b3]@17 ~ c2@36 f2@36 b3@34 ~@2, ~@108 g2@24 g3@11 ~]/3", // C F G5 Csus2 G
D: "[[a2,e3,a3,c4]@23 ~ [a2,a3,c4]@6 [b2,g3,b3]@6 [c3,e3,g3,c4]@36 [f2,a3]@36 [g2,g3,b3]@36, ~@72 [f3,c4]@33 ~@3 d3@31 ~@5]/3", // Am Em C F G F5
E: "[[e3,a3,c4]@18 ~ a3@2 ~@3 [g2,d3,g3,b3]@12 [f2,f3,a3,c4]@36 g2@28 ~@2 g2@3 g#2@3 [a2,f3,c4]@36, a2 ~@5, ~@9 e3 ~@26 [g3,b3]@18 ~@18, ~@19 c4 ~@124]/3", // Am G F G
F: "[g2@16 ~@2 g2@4 ~@2 g2@2 ~ a2@3 g2@6 [c2,e3,g3,c4]@26 ~@10 [f3,a3,c4]@32 ~@4 [d3,g3]@20 ~@10 [g2,d3]@6, [g3,b3]@18 ~@36 b3@17 ~, d3@31 ~@41 f2@36 g2@24 g3@11 ~]/3", // C F G5 G
G: "[[c4,d4,g4]@4 ~@2 [c4,d4,g4]@12 ~@6 g2@3 ~@3 g2@5 ~ g2@3 ~@3 g2@4 ~@2 g2@3 ~@3 g2@16 ~@2 e4 [g3,c4,e4]@27 ~@2 [g3,c4,e4]@5 ~ [c4,f4]@30 [a3,c4,f4]@5 ~, g2@22 ~@85 a3@29 ~@8, ~@18 [c4,d4,g4]@17 ~ [b3,d4,g4]@33 ~@3 g4@36 a4@36]/3", // Csus2 C F5 F Csus2 G
H: "[g3,c4,e4]@18 [g3,c4,e4]@17 ~ [a3,c4,f4]@11 ~, g4@3 ~", // C F
I: "[[c3,c4]@2 ~ [d3,d4]@2 ~ [c3,c4]@11 ~ [b3,d4,g4]@5 ~@13 a3@4 ~@2 [c5,e5,a5]@14 ~@15 g3@5 ~@2 [g3,b4,d5,g5]@16 ~@2, ~@24 a2@33 ~@3 g2@34 ~@2, ~@24 [c4,e4,a4]@17 a3@15 ~@4 [b3,d4,g4]@18 ~@18, ~@30 e3@27 ~@8 d3@27 ~@4]/2", // C D C G Am G Am G
J: "[~@6 c3@6 f3@4 ~@8 b2@6 e3@4 ~@8 a2@6 d3@6 ~@12 g3@6 [e3,g3,c4]@13 ~@6 g3@12 ~@5 f3@23 ~ [g4,c5]@6 [a4,d5]@6, [f2,c4,e4,a4]@17 ~ [e2,b3,e4,g4]@16 ~@2 [d2,c4,f4,a4]@16 ~@2 [g2,c4,f4,g4]@18 c2@36 f2@31 ~@5, ~@30 d3@6 ~@9 e4@20 ~@7, ~@90 [c4,d4]@13 ~@4 [a3,c4]@23 ~@2 f3@12]/3", // C C5 D5 Fmaj7 Em Dm7 Csus4 Csus2 …
K: "[g4@10 ~@2 d4@6 g4@5 ~@31 g4 ~@17 [e3,c4]@32 ~@4 [f3,a3,c4]@32 ~@4, g3@30 d4@42 g3 ~@71, [c5,d5]@23 ~ [c5,d5]@48 ~@72, ~@4 g4@5 ~@15, ~ g3 c2 f2]/3", // C F Csus2
L: "[[d3,g3]@20 ~@10 [g2,d3]@6 [a2,e3,a3,c4]@23 ~ [a2,a3,c4]@6 [b2,g3,b3]@6 [c3,e3,g3,c4]@36 [f2,a3,c4]@36, b3@17 ~@55, g2@24 g3@11 ~@73 f3@32 ~@4]/3", // G5 Am Em C F
M: "[[g2,g3,b3]@36 [e3,a3,c4]@18 ~ a3@2 ~@3 [g2,d3,g3,b3]@12 [f2,f3,a3,c4]@36 g2@28 ~@2 g2@3 g#2@3, d3@31 ~@5 a2@24 ~@84, ~@27 e3 ~@26 [g3,b3]@18, ~@55 c4 ~@88]/3", // G Am G F G
N: "[[a2,f3,c4]@36 [c4,d4,g4]@4 ~@2 [c4,d4,g4]@12 ~@6 g2@3 ~@3 g2@5 ~ g2@3 ~@3 g2@4 ~@2 g2@3 ~@3 g2@16 ~@3 [g3,c4,e4]@27 ~@2 [g3,c4,e4]@5 ~ [c4,f4]@29 ~ [a3,c4,f4]@5 ~ [g3,c4,e4]@17 ~ [g3,c4,e4]@17 ~ [a3,c4,f4]@11 ~ [c3,c4]@2 ~ [d3,d4]@2 ~ [c3,c4]@11 ~ [b3,d4,g4]@5 ~@13 a3@4 ~@2 [c5,e5,a5]@14 ~@4, ~@36 g2@22 ~@194 a2@33 ~@3, ~@54 [c4,d4,g4]@17 ~ [b3,d4,g4]@33 ~@38 a3@29 ~@80 [c4,e4,a4]@17 a3@15 ~@4, ~@86 e3@9 ~]/6", // F Csus2 C F5 F C F C …
O: "[~@11 g3@5 ~@2 [g3,b4,d5,g5]@16 ~@8 c3@6 f3@4 ~@8 b2@6 e3@4 ~@8 a2@6 d3@6 ~@12 g3@6 ~@12 c2@4 ~@2 c2@10 ~ c2@4 ~@3, g2@34 ~@2 [f2,c4,e4,a4]@17 ~ [e2,b3,e4,g4]@16 ~@2 [d2,c4,f4,a4]@16 ~@2 [g2,c4,f4,g4]@18 ~ g4@33 ~@2, [b3,d4,g4]@6 ~@30 [c4,e4]@11 ~, ~@5 d3@27 ~@64 d3@12 c3@11 ~@25]/3", // G Fmaj7 Em Dm7 Csus4 G C
P: "[~@18 [a4,d5,f#5]@5 ~ [b4,d5,g5]@4 ~@2 [a4,d5,f#5]@3 ~@3 [g4,b4,d5]@17 ~@2 [b4,d5]@11 ~@24 [a4,d5,f#5]@5 ~ [b4,d5,g5]@4 ~@2 [a4,d5,f#5]@3 ~@3 [g4,b4,d5]@17 ~@2 [b4,d5]@11 [c#4,e4,a4]@5 ~, ~ [d2,d3]@35 ~@18 [g2,g3,g4]@12 ~@6 [d2,d3]@35 ~@19 [g2,g3,g4]@12 ~@6]/3", // D G D G Bm D G D …
Q: "[~@12 b3@4 ~@2 [d5,f#5,b5]@14 ~@15 a3@5 ~@8 [f#5,a5,c#6]@4 ~@2 [c#5,a5]@5 ~@7 d3@6 g3@4 ~@8 c#3@6 f#3@4 ~@8 b2@6 e3@6 ~@12 a3@6, b2@33 ~@3 a2@34 ~@2 [g2,d4,f#4,b4]@17 ~ [f#2,c#4,f#4,a4]@16 ~@2 [e2,d4,g4,b4]@16 ~@2 [a2,d4,g4,a4]@18, [d4,f#4,b4]@17 b3@15 ~@4 [c#4,e4,a4]@17 [a5,c#6,f#6]@5 ~@7 f#5@5 ~@74, ~@6 f#3@27 ~@8 e3@27 ~@64 e3@12, ~@27 a3@7 ~@38]/3", // Bm F#m Gmaj7 F#m Em7 Dsus4 Bm A …
R: "~@18 [a4,d5,f#5]@5 ~ [b4,d5,g5]@4 ~@2 [a4,d5,f#5]@3 ~@3 [d4,g4,b4]@10 ~@2, ~ [d2,d3]@35 ~@12", // D G D G D
S: "[[d4,g4,b4]@3 ~ [e4,g4,c5] ~@2 d4@13 ~@4 [f#4,a4,d5]@17 ~ [a4,d5,f#5]@5 ~ [b4,d5,g5]@4 ~@2 [a4,d5,f#5]@3 ~@3 [d4,g4,b4]@10 ~ [d4,g4,b4]@3 ~@2 [e4,g4,c5] ~ [g2,g3,d4,g4,b4]@12 [c#4,e4,a4]@5 ~, ~@6 [g2,g3,g4,b4]@14 ~@4 [d2,d3]@35 ~@37]/2", // G C D G D G C G …
T: "[[a3,d4]@18 e4@6 d4@6 a3@4 ~@2 [g2,g3,b3]@18 c#4@6 ~@5 c#4@5 ~@2 a3@16 ~@7 a3@11 ~@32 e3@6, d2@36 ~@18 [a2,e3]@16 ~@2 [d2,f#3,d4]@34 ~@2 g2@17 a2@18 ~, f#3@31 ~@4 d4@16 ~@3 a3@4 ~@2 a3@10 ~@19 d3@16 ~@4 [g3,b3,d4]@22 [a3,c#4]@13]/3", // D5 G A5 D G A
U: "[a3 ~@5 a3@5 ~@7 d4@5 e4@6 f#4@7 ~@7 a3@7 g3@8 ~ [a2,a3,b3,d4]@41 ~@26 d4@2 ~ f#4@2 d4@2 f#5 ~ d5@2 a5@2 f#5 ~ d6 ~ a5, d2@36 [g2,b3]@21 ~@65 d3@10 ~@12, [f#3,d4]@11 d3@24 ~@2 d4@21 ~@70 e4@2 ~@14, ~@17 a3@18 ~ a3@4 ~@84 a3@7 ~@13]/3", // Bm7 G D
V: "f#6 ~ d6@2 a6@2 f#6 ~ d7 ~@2 f#7@2 ~@2 a7@2 ~@31",
})).s("gm_piano").gain(0.41).pan(0.1)
// chords · electric guitar clean
const electric_guitar_clean = note("<~@6 A@3 B@3 C@3 D@3 E@3 F@3 G H ~@8 I@6 J@2 K@3 ~@18 L@7 ~@2>".pickRestart({
A: "[~@48 g3@6 ~@6 g3@6 e3@6 ~@12 c4@6 ~@12 a3@5 ~@12 d4@6 ~@13 b3@5 ~, ~@37 c3@36 ~@5 a3@18 c4@11 ~@6 b3@18 d4@11 ~@2, ~@42 e3@12 c4@18 f3@35 g3@35 ~@2, ~@90 f4@17 ~@18 g4@17 ~@2]/3",
B: "[[a2,c4,e4]@22 ~@2 [b3,d4]@13 ~@11 g3@6 ~@6 g3@6 e3@6 ~@12 c4@6 ~@12 a3@5 ~@12 d4@6 ~@13 b3@5 ~, ~@23 b2@13 ~ c3@36 ~@5 a3@18 c4@11 ~@6 b3@18 d4@11 ~@2, ~@42 e3@12 c4@18 f3@35 g3@35 ~@2, ~@90 f4@17 ~@18 g4@17 ~@2]/3", // Am Bm
C: "[[a2,c4,e4]@11 ~@2 d4@3 ~@2 [f3,a3]@4 ~@2 [d3,g3,b3]@9 ~@15 c4@6 ~@11 a3@5 ~@25 g4@7 d4@3 b3@3 ~@12 c4@6 ~@11 a3@5 ~@2, ~@2 a3 ~@3 f3@5 ~ g3@6 f3@5 ~, ~@12 c4@2 ~@2 c4@6 ~@20 a3@18 c4@13 ~@11 d4@12 ~@30 f4@18, ~@54 f4@19 ~@4 g4@13 b3@11 ~@13 a3@18 c4@12]/3", // Am F G
D: "[~@30 d3@3 e3@3 ~@12 g3@6 ~@6 g3@6 e3@6 ~@12 c4@6 ~@12 a3@5 ~@12 d4@6 ~@13 b3@5 ~, g3@36 ~ c3@36 ~@23 c4@11 ~@6 b3@20 ~@11, ~@5 g4@13 b3@16 ~@8 e3@12 ~@18 f3@35 g3@35 ~@2, ~@12 d4@21 ~@21 c4@18 ~@6 a3@20 ~@33 d4@11 ~@2, ~@23 g4@12 ~@55 f4@17 ~@18 g4@17 ~@2]/3",
E: "[[a2,c4,e4]@17 ~ c4@5 a3@6 ~ b2@6 ~@12 g3@6 ~@6 g3@6 e3@6 ~@12 c4@6 ~@12 a3@5 ~@12 d4@6 ~@13 b3@5 ~, ~@37 c3@36 ~@5 a3@18 c4@11 ~@6 b3@18 d4@11 ~@2, ~@42 e3@12 c4@18 f3@35 g3@35 ~@2, ~@90 f4@17 ~@18 g4@17 ~@2]/3", // Am
F: "[[a2,c4,e4]@11 ~@2 d4@3 ~@2 [f3,a3]@4 ~@2 [d3,g3,b3]@9 ~@15 c4@6 ~@11 a3@5 ~@32 d4@3 b3@3 ~@12 c4@6 ~@12 a3@5 ~, ~@12 a3@6 ~@18 f3@30 ~@7 g3@36 ~@5 a3@18 c4@12, ~@12 c4@2 ~@2 c4@6 ~@20 a3@18 c4@13 ~@11 d4@12 g4@10 ~@20 f4@18, ~@54 f4@19 ~@5 g4@12 b3@11 ~@7 f3@30 ~@6]/3", // Am F G
G: "~@30 d3@3 e3@3 [g3,b3]@11 ~, g3@3 ~, ~@3 g4@6 b3@8 ~@7, ~@4 d4@7 ~@5, ~@2 g4 ~", // G
H: "[g3,b3]@5 ~ [g3,b3]@11 ~ [g3,b3]@4 ~@26", // G
I: "[~@36 g3@6 ~@6 g3@6 e3@6 ~@12 c4@6 ~@12 a3@5 ~@12 d4@6 ~@13 b3@5 ~ [a2,c4,e4]@17 ~ c4@5 a3@6 ~ b2@6 ~@12 g3@6 ~@6 g3@6 e3@6 ~@12 c4@6 ~@12 a3@5 ~@12 d4@6 ~@13 b3@5 ~ [a2,c4,e4]@11 ~, ~@25 c3@36 ~@5 a3@18 c4@11 ~@6 b3@18 d4@11 ~@44 e3@12 ~@18 f3@35 g3@35 ~@14, ~@30 e3@12 c4@18 f3@35 g3@35 ~@39 c3@36 ~@17 f4@17 ~@18 g4@17 ~@14, ~@78 f4@17 ~@18 g4@17 ~@56 c4@18 ~@6 a3@18 c4@11 ~@6 b3@18 d4@11 ~@14]/6", // Am
J: "[~ d4@3 ~@2 [f3,a3]@4 ~@2 [d3,g3,b3]@9 ~@15 c4@6 ~@11 a3@5 ~@32 d4@3 b3@3, a3@6 ~@18 f3@30 ~@7 g3@35, c4@2 ~@2 c4@6 ~@20 a3@18 c4@13 ~@11 d4@12 g4@10 ~@2, ~@42 f4@19 ~@5 g4@12 b3@11 ~@7]/2", // F G
K: "[~@12 c4@6 ~@12 a3@5 ~@31 d3@3 e3@3 [g3,b3]@11 ~ [g3,b3]@5 ~ [g3,b3]@11 ~ [g3,b3]@4 ~@38, f3@5 ~ g3@6 ~@12, ~@6 a3@18 c4@13 ~@11 d4@21 ~@75, ~@18 f4@19 ~@5 g4@12 b3@16 ~@74, ~@5 g4 ~@6]/3", // G
L: "[~@12 a3@6 ~@6 a3@6 f#3@6 ~@12 d4@6 ~@12 b3@5 ~@13 a3@6 ~@6 a3@6 f#3@6 ~@12 d4@6 ~@12 b3@5 ~@13 a3@6 ~@6 a3@6 f#3@6 ~@13 b3@9 a2@13 ~@2 d4@27 ~@13 e4@65 ~@14, ~ d3@36 ~@5 b3@18 d4@11 ~@2 d3@36 ~@17 g4@17 ~@7 f#3@12 ~@18 g2@36 ~@31 e4@10 ~@79, ~@6 f#3@12 d4@18 g3@35 a3@13 ~@6 d4@18 ~@6 b3@18 d4@11 ~@2 d3@36 ~@5 d3@30 a3@27 ~@3 d4@77 ~@13, ~@54 g4@17 ~@7 f#3@12 ~@18 g3@35 a3@13 ~@6 d4@18 ~@35 e3@28 ~@2 d3@79 ~@12, ~@249 f#4@74 ~@13]/7",
})).s("gm_electric_guitar_clean").gain(0.31).pan(1)
// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
~@6 A@3 B C@2 D E F G@3 H C@2 D E F I J K L@2 M N O@2 P Q@2 R@3 S T U V W X Y@2 Z AA AB AC AD AE AF AG AH AI AD AE AF
AG AH AI AJ AK AL AM AN@3 ~@2
>`.pickRestart({
A: "[~@36 [g3,c4,e4]@9 [g3,c4,e4]@2 ~ [c4,e4]@6 [g3,c4,e4]@18 [a3,c4,e4]@9 [a3,c4,e4]@2 ~ [a3,c4,e4]@6 [a3,c4,e4]@18 [g3,b3,g4]@9 [b3,g4]@3 [g3,b3,g4]@5 ~ [g3,b3,g4]@18, ~@47 g3@6 ~@91]/3", // C Am G Em G
B: "[a3,c4,e4]@9 ~ [a3,c4,e4]@2 ~ [a3,c4,e4]@5 [a3,c4,e4]@11 [g3,b3,g4]@6 ~ [g3,c4,e4]@9 [g3,c4,e4]@2 ~", // Am G C
C: "[[g3,c4,e4]@5 ~ [c4,e4]@12 [g3,c4,e4]@5 ~ [a3,c4,e4]@9 ~ a3@2 [a3,c4,e4]@5 ~ [c4,e4]@9 [c4,e4]@9 [g3,b3,g4]@9 [b3,g4]@3 [b3,g4]@6 [g3,b3,g4]@9 b3@2 ~ [g3,b3]@6, ~@5 g3@13 ~@15 [c4,e4]@3 ~@6 a3@18 ~@9 g3@8 ~@10 g4@8 ~]/2", // C Am C G Em G C
D: "[a3,c4,e4]@9 [a3,c4,e4]@2 ~ [a3,c4]@5 ~ [a3,c4]@6 [g3,b3,g4]@12 [a3,c4,e4]@9 [a3,c4,e4]@2 ~, ~@12 e4@11 ~@25", // Am G Am
E: "[a3,c4,e4]@6 [a3,c4,e4]@5 ~ [c4,e4]@3 ~@3 a3@6 [g3,b3,g4]@9 [g3,b3,g4]@3 [g3,b3,g4]@6 ~ g4@2 [g3,b3,g4]@3, ~@12 a3@4 c4@9 ~@17 [g3,b3]@2 ~@4, ~@5 e4@3 ~@8", // Am C G
F: "[g3,b3]@5 ~ [g3,b3]@6 [a3,c4,f4]@8 ~ [a3,c4]@3 [a3,c4,f4]@6 [a3,c4,f4]@8 ~ [a3,c4,f4]@3 [a3,c4,f4]@2 ~ [a3,c4]@3, ~@5 g4@6 ~@9 f4@3 ~@21 f4@3 ~", // G F Am F Am
G: "[[g3,b3,g4]@9 [g3,b3,g4]@3 [g3,b3,g4]@6 [g3,b3]@5 ~@7 g4@5 ~@30 g3@5 ~@31 a3@5 ~@31 b3@5 ~@2, ~@23 g3@12 c4@13 e3@24 f3@36 g3@36, ~@23 g4@6 ~@6 g3@6 ~ g3@11 ~@7 c4@11 ~@7 c4@17 ~ c4@11 ~@7 c4@17 ~ d4@11 ~, ~@24 b3@12 c3@36 ~@18 f4@17 ~@19 g4@17 ~, ~@36 e4@18 e4@17 ~@13 a3@16 ~@20 b3@16 ~@8]/3", // G
H: "~@18 e4@10 ~ [g3,b3,g4]@6 ~ [g3,c4,e4]@9 [g3,c4,e4]@2 ~, e3@29 ~@19, ~@5 c4@22 ~@21, ~@11 a3@16 ~@21", // G C
I: "[g3,c4,g4]@9 [g3,c4,g4]@3 [g3,c4,g4]@6 [g3,c4]@5 ~@7 g4@6 [g3,b3,g4]@11 ~, ~@23 g3@12 ~@13, ~@23 g4@6 ~@19, ~@2 c4 ~", // C5 G
J: "[g3,b3,g4]@6 [g3,b3,g4]@5 ~ [g3,b3,g4]@6 [g3,b3,g4]@5 ~@2 [c4,e4]@5 ~ e4@2 ~ [g3,c4,e4]@2 ~ e4@5 [g3,c4,e4]@5 ~, ~@8 g3@2 [g3,c4] ~ [g3,c4]@2 ~@2", // G C C5
K: "[g3,c4,e4]@2 ~ [g3,c4,e4]@2 [g3,c4,e4]@2 ~ [g3,c4,e4]@3 ~ [a3,c4,f4]@9 [a3,c4,f4]@3 ~ f4@2 ~ a3@2 ~ f4@5 [a3,c4,f4]@3 ~ [a3,c4]@2 ~ f4@2 [a3,c4,f4]@3, ~@24 [a3,c4]@3 [c4,f4]@3 [a3,c4]@5 ~@4 f4@3 [a3,c4]@3 ~@3", // C F Am F Am F5 Am
L: "[[g3,c4,e4]@9 [g3,c4,e4]@6 [g3,c4,e4]@3 [g3,c4,e4]@3 [g3,c4,e4]@3 [g3,c4,e4]@6 [g3,c4,e4]@6 [a3,c4,f4]@8 ~ [a3,c4,f4]@2 ~ [c4,f4]@6 [a3,c4,f4]@3 [a3,c4,f4]@3 [a3,c4,f4]@6 [a3,c4,f4]@6 [a3,c4,e4]@6 [a3,c4]@3 ~ a3@2 ~ e4@5 [a3,c4,e4]@6, ~@47 a3@6 ~@28 [c4,e4]@3 [a3,c4]@6 ~@6]/2", // C F F5 F Am C Am
M: "[a3,c4,e4]@3 [a3,c4,e4]@3 [a3,c4,e4]@3 [a3,c4,e4]@3 [g3,b3,g4]@6 [g3,b3,g4]@2 ~ [g3,b3,g4]@3 [g3,b3,g4]@6 [g3,b3,g4]@3 [g3,b3,g4]@6 [g3,b3,g4]@3 ~ [b3,g4]@2 ~ g3@2, ~@14 g3 [b3,g4]", // Am G Em
N: "[a3,c4,f4]@6 ~ c4@2 ~ a3@2 [a3,c4,f4]@3 ~ [a3,c4]@2 [g3,b3,e4]@6 [g3,b3]@3 [g3,b3,e4]@3 ~ e4@2 ~ g3@2 [a3,d4,f4]@6 [a3,d4,f4]@3 [a3,d4,f4]@3, ~@2 a3 [c4,f4] ~ f4 ~@4 [g3,b3] [b3,e4] ~@4", // F Am Em G Em Dm F5 G …
O: "[[a3,d4,f4]@3 [a3,d4,f4]@3 [a3,d4,f4]@3 [g3,b3,g4]@3 [g3,b3,g4]@6 [g3,b3,g4]@5 ~ [g3,c4,e4]@19 [c4,e4]@11 [c4,e4]@6 ~@15 c4@3 ~@12 f3@6, ~@43 g3@17 [f3,f4]@9 f4@8 ~@7 a3@12, ~@11 c4 a3 [c4,f4]@3]/2", // Dm G C F F5
P: "[g3,c4,g4]@9 ~ [g3,c4]@8 [g3,b3,g4]@18 [g3,b3,g4]@9 ~ g3@2, ~@3 g4@3 ~@9 [b3,g4]", // C5 G Em
Q: "[[g3,b3,g4]@6 ~ g4@17 ~@29 g3@5 ~@31 a3@5 ~@2, ~@6 [g3,b3]@17 ~ c3@36 ~@18 f4@17 ~, ~@30 g3@18 c4@11 ~@7 c4@17 ~ c4@11 ~, ~@3 e3@2 f3@3, ~@42 e4@17 ~@13 a3@16 ~@8]/2", // G
R: "[~@29 b3@5 ~@20 e4@10 ~ [g3,b3,g4]@6 ~ [g3,c4,e4]@9 [g3,c4,e4]@2 ~ [g3,c4,e4]@5 ~ [c4,e4]@12 [g3,c4,e4]@5 ~ [a3,c4,e4]@9 ~ a3@2 [a3,c4,e4]@5 ~ [c4,e4]@9 [c4,e4]@9, g3@36 e3@29 ~@79, ~@6 c4@17 ~ d4@11 ~@12 a3@16 ~@26 g3@13 ~@24 a3@18, ~@12 b3@16 ~@13 c4@22 ~@54 [c4,e4]@3 ~@24, ~@18 g4@17 ~@109]/3", // G C Am C
S: "[g3,b3,g4]@9 [b3,g4]@3 [b3,g4]@6 [g3,b3,g4]@9 b3@2 ~ [g3,b3]@6 [a3,c4,e4]@9 [a3,c4,e4]@2 ~, ~@9 g3@8 ~@10 g4@8 ~@13", // G Em G Am
T: "[a3,c4]@5 ~ [a3,c4]@6 [g3,b3,g4]@12 [a3,c4,e4]@9 [a3,c4,e4]@2 ~ [a3,c4,e4]@6 [a3,c4,e4]@5 ~, e4@11 ~@37", // Am G Am
U: "[c4,e4]@3 ~@3 a3@6 [g3,b3,g4]@9 [g3,b3,g4]@3 [g3,b3,g4]@6 ~ g4@2 [g3,b3,g4]@3 [g3,b3]@5 ~ [g3,b3]@6, a3@4 c4@9 ~@17 [g3,b3]@2 ~@16, ~@3 e4@9 ~@29 g4@6 ~", // C G
V: "[a3,c4,f4]@8 ~ [a3,c4]@3 [a3,c4,f4]@6 [a3,c4,f4]@8 ~ [a3,c4,f4]@3 [a3,c4,f4]@2 ~ [a3,c4]@3 [g3,c4,g4]@9 [g3,c4,g4]@3, ~@8 f4@3 ~@21 f4@3 ~@13", // F Am F Am C5
W: "[g3,c4,g4]@6 [g3,c4]@5 ~@7 g4@6 [g3,b3,g4]@11 ~ [g3,b3,g4]@6 [g3,b3,g4]@5 ~, ~@11 g3@12 ~@25, ~@11 g4@6 ~@31, ~ c4 ~@2", // C5 G
X: "[g3,b3,g4]@6 [g3,b3,g4]@5 ~@2 [c4,e4]@5 ~ e4@2 ~ [g3,c4,e4]@2 ~ e4@5 [g3,c4,e4]@5 ~ [g3,c4,e4]@2 ~ [g3,c4,e4]@2 [g3,c4,e4]@2 ~ [g3,c4,e4]@3 ~, ~@4 g3@2 [g3,c4] ~ [g3,c4]@2 ~@6", // G C C5
Y: "[[a3,c4,f4]@9 [a3,c4,f4]@3 ~ f4@2 ~ a3@2 ~ f4@5 [a3,c4,f4]@3 ~ [a3,c4]@2 ~ f4@2 [a3,c4,f4]@3 [g3,c4,e4]@9 [g3,c4,e4]@6 [g3,c4,e4]@3 [g3,c4,e4]@3 [g3,c4,e4]@3 [g3,c4,e4]@6 [g3,c4,e4]@6 [a3,c4,f4]@8 ~ [a3,c4,f4]@2 ~ [c4,f4]@6 [a3,c4,f4]@3 [a3,c4,f4]@3, ~@12 [a3,c4]@3 [c4,f4]@3 [a3,c4]@5 ~@4 f4@3 [a3,c4]@3 ~@50 a3@6 ~@7]/2", // F Am F C F F5 F Am …
Z: "[a3,c4,f4]@6 [a3,c4,f4]@6 [a3,c4,e4]@6 [a3,c4]@3 ~ a3@2 ~ e4@5 [a3,c4,e4]@6 [a3,c4,e4]@3 [a3,c4,e4]@3 [a3,c4,e4]@3 [a3,c4,e4]@3, ~@7 [c4,e4] [a3,c4]@2 ~@6", // F Am C Am
AA: "[g3,b3,g4]@6 [g3,b3,g4]@2 ~ [g3,b3,g4]@3 [g3,b3,g4]@6 [g3,b3,g4]@3 [g3,b3,g4]@6 [g3,b3,g4]@3 ~ [b3,g4]@2 ~ g3@2 [a3,c4,f4]@6 ~ c4@2 ~ a3@2, ~@10 g3 [b3,g4] ~@2 a3 [c4,f4]", // G Em F Em F5
AB: "[a3,c4,f4]@3 ~ [a3,c4]@2 [g3,b3,e4]@6 [g3,b3]@3 [g3,b3,e4]@3 ~ e4@2 ~ g3@2 [a3,d4,f4]@6 [a3,d4,f4]@3 [a3,d4,f4]@3 [a3,d4,f4]@3 [a3,d4,f4]@3 [a3,d4,f4]@3 [g3,b3,g4]@3, ~ f4 ~@4 [g3,b3] [b3,e4] ~@8", // F Am Em G Em Dm G E5
AC: "[g3,b3,g4]@6 [g3,b3,g4]@5 ~ [g3,c4,e4]@19 [c4,e4]@11 [c4,e4]@6, ~@31 g3@17", // G C
AD: "~ [d4,f#4]@5 ~ f#4@2 ~ [a3,d4,f#4]@2 ~ f#4@5 [a3,d4,f#4]@5 ~ [a3,d4,f#4]@2 ~ [a3,d4,f#4]@2 [a3,d4,f#4]@2 ~ [a3,d4,f#4]@3 ~ [b3,d4,g4]@9 [b3,d4,g4]@3, a3@2 [a3,d4] ~ [a3,d4]@2 ~@10", // D G D5
AE: "~ g4@2 ~ b3@2 ~ g4@5 [b3,d4,g4]@3 ~ [b3,d4]@2 ~ g4@2 [b3,d4,g4]@3 [a3,d4,f#4]@9 [a3,d4,f#4]@6 [a3,d4,f#4]@3 [a3,d4,f#4]@3 [a3,d4,f#4]@3, [b3,d4]@3 [d4,g4]@3 [b3,d4]@5 ~@4 g4@3 [b3,d4]@3 ~@27", // G Bm G D Bm G5 Bm
AF: "[a3,d4,f#4]@6 [a3,d4,f#4]@6 [b3,d4,g4]@8 ~ [b3,d4,g4]@2 ~ [d4,g4]@6 [b3,d4,g4]@3 [b3,d4,g4]@3 [b3,d4,g4]@6 [b3,d4,g4]@6, ~@23 b3@6 ~@19", // D G G5 G
AG: "[b3,d4,f#4]@6 [b3,d4]@3 ~ b3@2 ~ f#4@5 [b3,d4,f#4]@6 [b3,d4,f#4]@3 [b3,d4,f#4]@3 [b3,d4,f#4]@3 [b3,d4,f#4]@3 [a3,c#4,a4]@6 [a3,c#4,a4]@2 ~ [a3,c#4,a4]@3, ~@3 [d4,f#4] [b3,d4]@2 ~@10", // Bm A D Bm
AH: "[a3,c#4,a4]@6 [a3,c#4,a4]@3 [a3,c#4,a4]@6 [a3,c#4,a4]@3 ~ [c#4,a4]@2 ~ a3@2 [b3,d4,g4]@6 ~ d4@2 ~ b3@2 [b3,d4,g4]@3 ~ [b3,d4]@2 [a3,c#4,f#4]@6, ~@6 a3 [c#4,a4] ~@2 b3 [d4,g4] ~ g4 ~@2", // A F#m G Bm F#m G5
AI: "[a3,c#4]@3 [a3,c#4,f#4]@3 ~ f#4@2 ~ a3@2 [b3,e4,g4]@6 [b3,e4,g4]@3 [b3,e4,g4]@3 [b3,e4,g4]@3 [b3,e4,g4]@3 [b3,e4,g4]@3 [a3,c#4,a4]@3 [a3,c#4,a4]@6 [a3,c#4,a4]@5 ~, ~@2 [a3,c#4] [c#4,f#4] ~@12", // A F#m Em A F#5
AJ: "[a3,d4,f#4]@19 [d4,f#4]@11 [d4,f#4]@6 [b3,d4,g4]@6 [b3,d4,g4]@3 [b3,d4,g4]@3, ~@19 a3@17 ~@12", // D G
AK: "[b3,d4,g4]@5 ~ [b3,d4,g4]@3 [b3,d4,g4]@3 [b3,d4,g4]@6 [b3,d4,g4]@5 ~ [a3,d4,f#4]@6 [a3,d4]@3 [a3,d4,f#4]@3 [a3,d4,f#4]@6 [a3,d4,f#4]@6", // G D D5 D
AL: "[a3,d4,f#4]@3 [a3,d4,f#4]@2 ~ [d4,f#4]@2 ~ [a3,d4]@3 [b3,d4,g4]@6 [b3,d4,g4]@3 [b3,d4,g4]@3 [b3,d4,g4]@5 ~ [b3,d4,g4]@3 [b3,d4,g4]@3 [b3,d4,g4]@6 [b3,d4,g4]@5 ~, ~@5 a3@3 f#4@3 ~@37", // D D5 G
AM: "[a3,d4]@6 [a3,d4]@3 [a3,d4,f#4]@3 [a3,d4,f#4]@6 [a3,d4] ~@5 [a3,d4,f#4]@3 [a3,d4,f#4]@2 ~ [d4,f#4]@2 ~ [a3,d4]@3 [b3,d4,g4]@6 ~ [d4,g4]@3 [b3,d4,g4]@2, ~@18 f#4@6 ~@5 a3@3 f#4@3 ~@7 b3@3 ~@3", // D5 D D5 D D5 G G5 G
AN: "[~@2 g4@7 ~ [b3,d4,g4]@42 ~ [a3,d4,f#4]@78 ~@13, ~ [b3,d4]@8 ~@43 d3@80 ~@12]/3", // G D Bm
})).s("gm_acoustic_guitar_steel").gain(0.23).pan(0.6)
// chords · electric guitar clean
const electric_guitar_clean_2 = note("<~@15 A@2 B C@6 D E ~@8 F@6 G@2 H@3 ~@27>".pickRestart({
A: "[~@6 e4@5 ~ f4@4, ~@35 [g3,c4]@31 ~@4 a3@26, ~@71 c4@25]/2", B: "~ d4@3, ~@11 [g3,b3]@37",
C: "[~@24 c4@6 a3@3 ~@4 e4@29 ~@6 f4@27 ~@9 d4@31 ~@5 e4@15 ~@3 [a3,c4,e4] ~@5 [g3,b3,d4]@11 ~@3 f4@34 ~@13 c4@6 ~@12 b3@5 ~@12 c4@6 a3@6 ~@6 a3@6, a2@35 ~@253, ~@6 e3@29 ~@200 b3@12 ~@5 f3@35 ~, ~@12 a3@13 ~@10 g3@30 ~@6 [a3,c4]@29 ~@6 g3@33 ~@4 [a3,c4]@16 ~@21 a3@35 ~@2 g3@36 ~@23 c4@11 ~, ~@18 e4@14 ~@4 c4@29 ~@42 b3@32 ~@42 c4@35 ~@7 g4@14 ~@4 g4@11 ~@6 f4@30]/6", // Am G Am
D: "~@12 d4@5 ~ c4@6 ~@6 d4@6 ~@6 [b3,d4,g4]@6, g3@3 ~, ~@3 g4@6 ~@3 g4@5 ~@7", // G
E: "~@6 [b3,d4,g4]@10 ~@2 [b3,d4,g4]@3 ~@27", // G
F: "[~@24 e4@30 ~@6 f4@27 ~@9 d4@36 ~@24 c4@6 a3@3 ~@4 e4@29 ~@6 f4@27 ~@9 d4@31 ~@5 e4@12, ~@23 [g3,c4]@31 ~@4 a3@29 ~@8 [g3,b3]@37 a2@35 ~@121, ~@59 c4@28 ~@51 e3@29 ~@121, ~@144 a3@13 ~@10 g3@30 ~@6 [a3,c4]@29 ~@6 g3@33 ~@4 [a3,c4]@13, ~@150 e4@14 ~@4 c4@29 ~@42 b3@32 ~@17]/6", // C5 G Am
G: "[~@6 [a3,c4,e4] ~@5 [g3,b3,d4]@11 ~@3 f4@34 ~@13 c4@6 ~@12 b3@5, ~@24 a3@35 ~@2 g3@35, ~@25 c4@35 ~@7 g4@12 b3@12 ~@5, ~@85 g4@11]/2", // Am G
H: "[~@12 c4@6 a3@6 ~@6 a3@6 ~@12 d4@5 ~ c4@6 ~@6 d4@6 ~@6 [b3,d4,g4]@9 ~@3 [b3,d4,g4]@10 ~@2 [b3,d4,g4]@3 ~@39, f3@35 ~ g3@36 ~@72, ~@3 f4@15 ~@3 g4@6 ~@3 g4@5 ~@37, ~@24 c4@11 ~@109]/3", // G
})).s("gm_electric_guitar_clean").gain(0.23).pan(0)
// drums · kick
const kick = s("bd").struct(`<
// … 99 more lines
More by Joe Cocker
With A Little Help From My Friends1968 · E major · 115 bpmUnchain My HeartA minor · 120 bpmYou Can Leave Your Hat OnD♭ major · 109 bpmSummer in the CityD major · 89 bpmCry Me a River (live)E minor · 130 bpmUp Where We BelongF major · 120 bpmDon't You Love Me Any MoreA major · 83 bpmDon't You Love Me AnymoreA♭ major · 82 bpm
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.