0:00/0:00
// Just Tell Her Jim Said Hello — Elvis Presley
// 124 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: duplicate parts dropped: ch 11 "Strings" synth strings 1 (copy of ch 5 "Melody 1" electric guitar jazz)
// note: Full arrangement: all 122 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(124/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 · electric bass finger · "Bass"
const bass = note(`<
A B A B A@2 C@4 A@2 D E F G D E A H A H C@4 A H I C F G D E A H J K L@2 J M F E N O P@3 Q N O F P R@2 F P N@3 S N@2 P
Q P@2 N@2 G P R@2 G Q N@3 O P@3 Q N@2 F Q R@2 G P N O T U V W X U Y Q N@2 P@4 N O G P R@2 G P N O N@2 Z ~
>`.pickRestart({
A: "a#1@5 ~ a#1 ~ a#1@7 ~", B: "a#1@5 ~ a#1 ~ a#1@6 f1@2", C: "f2@5 ~ f2 ~ f2@7 ~", D: "d#2@5 ~ d#2 ~ d#2@8",
E: "f2@5 ~ f2 ~ f2@8", F: "d2@5 ~ d2 ~ d2@7 ~", G: "d2@5 ~ d2 ~ d2@8", H: "a#1@5 ~ a#1 ~ a#1@8",
I: "d#2@5 ~ d#2 ~ d#2@7 ~", J: "c2@5 ~ c2 ~ c2@7 ~", K: "g#1@5 ~ g#1 ~ g#1@7 ~", L: "g1@5 ~ g1 ~ g1@7 ~",
M: "g#1@5 ~ g#1 ~ g#1@8", N: "a1@5 ~ a1 ~ a1@7 ~", O: "a1@5 ~ a1 ~ a1@8", P: "e2@5 ~ e2 ~ e2@7 ~",
Q: "e2@5 ~ e2 ~ e2@8", R: "c#2@5 ~ c#2 ~ c#2@7 ~", S: "a1@5 ~ a1 ~ a1@6 e1@2", T: "b1@5 ~ b1 ~ b1@8",
U: "g1@5 ~ g1 ~ g1@8", V: "f#1@5 ~ f#1 ~ f#1@7 ~", W: "f#1@5 ~ f#1 ~ f#1@8", X: "b1@5 ~ b1 ~ b1@7 ~",
Y: "c#2@5 ~ c#2 ~ c#2@8", Z: "a1@5 ~ a1 ~ a1@4 ~@4",
})).s("gm_electric_bass_finger").gain(0.27)
// chords · epiano1 · "Piano"
const epiano1 = note(`<
A@4 B@4 C@2 D@2 E F G@2 E H@3 I@4 J@2 K@2 E L M@2 N@2 O@2 P@2 Q@2 R S T@2 U@2 V@2 W@2 X@2 Y@2 Z@2 AA AB AC@4 X@2 AD@6
AA AE AF@2 AG AH@5 W@2 AI@2 U@2 AJ AK AL@3 AM AN@2 AO AP AQ@2 AR AS AT AK AU@4 AV@5 AW@3 AX@2 AY@4 AZ ~
>`.pickRestart({
A: "[~@12 a#4@3 ~, ~@2 [f3,d4,f4]@13 ~]/2", // Dm
B: "[~@12 a#4@3 ~@13 c5@4, ~@2 [f3,d4,f4]@13 a3@16 ~, ~@17 c4@15, ~@9 d#4@7, ~@19 f4@13]/4", C: "[a3,c4,d#4,f4]/2",
D: "[~@3 a#4, f3, ~ a#3@15, ~ d4@7, ~@3 f4@13]/2", E: "~@3 [a#3,g4]@5, ~ d#2@7, ~ g3@3",
F: "~@3 [a3,d#4,f4]@5, ~ f2@7, ~ f3@3", G: "[~@3 a4, f#3, ~ a3@15, ~ c4@7, ~@3 d4@13]/2",
H: "[~@3 [a3,d#4,f4]@4 ~@8 d4@9, ~ f2@6 [a#2,d3,f3,a#3]@16 ~, ~@2 f3@5 ~@5 d5@12, ~@13 a#4@11, ~@7 f4@5]/3", // F7 A#
I: "[~@12 a#4@3 [a3,c4,d#4,f4]@17, f3@15 ~@17, ~ a#3@14 ~@17, ~@2 d4@13 ~@17, ~@3 f4@12 ~@17]/4", // F7
J: "[~@7 a4, ~ [a3,d#4,f4]@7, ~@3 c5]/2", K: "[~@12 a#4@3 ~, f3@15 ~, ~ a#3@14 ~, ~@2 d4@13 ~, ~@3 f4@12 ~]/2",
L: "~ [a3,d#4,f4]@6 ~, f2@7 ~", M: "[~@7 a3, d2, f#3@3 d4@13, ~ a3@12 f#3@3, ~ c4@7]/2",
N: "[~@6 [a#3,g4] [a3,c4,d#4,f4]@9, [a#3,g4]@3 ~@5, ~@5 g3@2 ~@9]/2", // D# F7 D#
O: "[~@7 d4@9, [a#2,d3,f3,a#3], ~ d5@3, ~@5 a#4@11, ~@3 f4@5]/2", // A#
P: "[~@3 [c4,g4]@4 ~@7 [g#3,d#4] ~, ~ c3@6 ~@6 d#3@2 ~, ~@2 g3@5 [g#3,d#4]@7 ~@2]/2", // C5 G#5
Q: "[~@3 g4, d3, ~ g3@15, ~ b3@7, ~@3 d4@13]/2", R: "[g3,c4,d#4]", S: "~ [d#3,c4,d#4]@6 ~, g#2@7 ~",
T: "[~@3 [f#3,c4,d4]@4 [a3,c4,d#4,f4]@9, ~ d2@6 ~@9, ~@2 d3@5 ~@9]/2", // D7 F7
U: "[~@7 a3, a2, e3@3 e4@13, ~ a3@12 e3@3, ~ c#4@7]/2", V: "[g#3,b3,d4,e4]/2",
W: "[~@7 b3, e2, g#3@3 e4@13, ~ b3@12 g#3@3, ~ d4@7]/2",
X: "[~@7 c#4@9, [a2,c#3,e3,a3], ~ c#5@3, ~@5 a4@11, ~@3 e4@5]/2", Y: "[[f#3,a3,d4]@7 [g#3,b3,d4,e4]@9]/2",
Z: "[~@14 g#3 ~, c#2@15 ~, f3@3 c#4@12 ~, ~ g#3@12 f3@2 ~, ~@2 b3@13 ~]/2", AA: "~@3 [a3,f#4]@5, ~ d2@7, ~ f#3@3",
AB: "~@3 [g#3,d4,e4]@5, ~ e2@7, ~ e3@3", // E7
AC: "[~@14 a3 ~@13 a4@4, a2@15 ~@4 e4@13, e3@3 e4@12 ~@3 c#4@14, ~ a3@12 e3@2 e3@16 ~, ~@2 c#4@13 ~@2 a3@15]/4",
AD: "[~@12 b4@3 [g#3,b3,d4,e4]@16 ~@8 c#4@8 ~, g#3@15 ~@16 [a2,c#3,e3,a3]@16 ~, ~ b3@14 ~@23 e4@9 ~, ~@2 d4@13 ~@22 a4@10 ~, ~@3 e4@12 ~@21 c#5@11 ~]/6", // E7 A
AE: "[g#3,b3,d4,e4]@7 ~", AF: "[~@7 f4, ~ [f3,b3,c#4]@7, ~@3 g#4]/2", AG: "[f#3,a3,d4]",
AH: "[~@3 [g#3,d4,e4]@4 [e3,a3,c#4]@16 ~@13 a4@4, ~ e2@6 ~@18 a3@15, ~@2 e3@5 ~@16 e3@16 ~, ~@13 c#4@7, ~@27 e4@13]/5", // E7 A
AI: "[~@3 b4, g#3, ~ b3@15, ~ d4@7, ~@3 e4@13]/2", AJ: "~@6 [a3,f#4] ~, [a3,f#4]@3 ~, ~@5 f#3@2 ~",
AK: "~@6 [g#3,d4] ~, [g#3,d4]@3 ~, ~@5 e3@2 ~", // G#dim
AL: "[~@14 f4 ~@2 [f#3,d4,f#4]@6 ~, ~@2 [f3,b3,c#4]@13 d2@8 ~, ~@4 g#4 ~@3]/3", AM: "[g#3,b3,d4,e4]",
AN: "[~@3 a4, ~ [e3,c#4,e4]@7]/2", AO: "~@3 [b3,f#4]@5, ~ b2@7, ~ f#3@3", AP: "~@3 [g3,d4]@5, ~ g2@7, ~ d3@3",
AQ: "[~@3 f#4, ~ [c#3,a#3,c#4]@7]/2", AR: "~ [f#3,d4,f#4]@6 ~, b2@7 ~", AS: "~@6 [g3,d4] ~, [g3,d4]@3 ~, ~@5 d3@2 ~",
AT: "~@6 [f3,b3] ~, [f3,b3]@3 ~, ~@5 c#3@2 ~", // Fdim
AU: "[~@14 a3 ~@15 b3@2, a2@15 e2@17, e3@3 e4@12 ~@3 d4@14, ~ a3@12 e3@2 g#3@4 e4@13, ~@2 c#4@13 ~@2 b3@12 g#3@3]/4",
AV: "[~@12 b4@3 ~@8 c#4@8 ~@7 [a3,f#4] ~, g#3@15 [a2,c#3,e3,a3]@16 ~@6 f#3@2 ~, ~ b3@14 ~@7 e4@9 [a3,f#4]@7 ~@2, ~@2 d4@13 ~@6 a4@10 ~@9, ~@3 e4@12 ~@5 c#5@11 ~@9]/5", // D A D
AW: "[~@3 [g#3,d4,e4]@4 [g#3,b3,c#4,f4]@17, ~ e2@6 ~@17, ~@2 e3@5 ~@17]/3", // E7 C#7
AX: "[~ [f#3,d4,f#4]@6 [g#3,b3,d4,e4]@9, d2@7 ~@9]/2", // D E7
AY: "[~@7 c#4@8 ~@8 c#4@9, [a2,c#3,e3,a3]@15 [a2,c#3,e3,a3]@16 ~, ~@4 c#5@11 ~@5 c#5@12, ~@5 a4@10 ~@6 a4@11, ~@6 e4@9 ~@7 e4@10]/4", // A
AZ: "~@3 [a3,e4]@5, ~ a2@7, ~ e3@3", // A5
})).s("gm_epiano1").gain(0.2).pan(0.3)
// chords · acoustic guitar steel · "Guitar"
const acoustic_guitar_steel = note(`<
A B@5 C@2 D@3 E@3 F G@5 H I J@2 K@6 L M N O@2 P Q R S@3 T U@6 V@2 W@2 X@2 Y@3 Z AA AB@2 AC@7 AD@2 AE@2 AF AG@2 AH@5
AI@2 AJ AK AL@3 AM@2 AN AO@2 AP@3 AQ@3 AR AS@3 AT AU@4 AV@5 AW@2 AX@2 AA AY@3 AZ ~
>`.pickRestart({
A: "[d3,f3,a#3,d4]@2 [f3,a#3,d4] ~@4 f3, a#2, ~ d3!3, ~@3 [f3,a#3,d4]@2 [a#3,d4]@3, ~@5 f3@2 ~", // A#
B: "[f3 ~ [a#3,d4] ~@3 d3 [f3,a#3]@3 [f3,a#3,d4] [f3,a#3]@2 ~@2 f3 [a#3,d4]@2 [f3,a#3,d4] ~@3 d3 [a#3,d4]@3 [f3,a#3,d4] ~@4 f3 [a#3,d4]@2 a#3 ~@4 f3, a#2@14 a#2@18 a#2@14 a#2@33 ~, [a#3,d4]@4 ~@2 [a#3,d4]@4 [a#3,d4]@4 d4 ~@7 d4@10 ~@8 d3@4 ~@2 d3@10 d3@8 d3@8 d3@4 d3@4, ~ f3@2 ~ d3@2 ~@7 a#3@3 ~@3 [a#3,d4]@2 [a#3,d4]@2 ~@4 [a#3,d4]@2 [a#3,d4]@3 ~@2 d4@3 [a#3,d4]@3, ~@26 f3@2 d3@7 ~@3 f3@8 f3 ~@23 f3@8 ~@2]/5", // A# A#5 A# A#5 A#
C: "[[f3,a3,d#4]@2 [f3,a3,d#4] [f3,a3,d#4]@2 ~@2 f3 [f3,a3,d#4]@2 [f3,a3,d#4] a3@2 ~ f3!2, f2, d#3@4 ~ [a3,d#4]@3 ~@5 [a3,d#4]@3, ~@5 f3@2 ~@4 f3@3 ~@2, ~@3 d#3 d#3@3 d#3]/2", // F7 Adim
D: "[[f3,a3,d#4]@2 [f3,a3,d#4] [f3,a3]@2 ~@2 f3 [a3,d#4]@2 [f3,a3,d#4] ~@3 d#3 [a#3,d4]@3 [f3,a#3,d4] [f3,a#3,d4]@2 f3 ~ a#3, f2@8 f2@7 a#2@9, ~@3 d#4@5 ~@4 d#3@2 ~@10, ~@5 a3@3 ~@3 [a3,d#4]@2 [a3,d#4]@2 ~@6 [a#3,d4]@2 ~, ~@10 f3@2 d#3@7 ~@3 f3@8 f3 ~@13 f3@4]/3", // F7 F Adim F7 A# Adim A#
E: "[[f3,a#3]@2 a#3 [f3,a#3]@2 ~ d3@2 [g3,a#3,d#4]@2 [g3,a#3] ~@2 [g3,a#3,d#4]@2 [f3,a3,d#4]@3 [f3,a3,d#4] ~@2 [f3,a3]@2 [f3,a3], a#2@8 d#2@7 f2@9, ~@2 d4@3 d4@10 ~@6 d#4@3, ~@5 a#3@3 ~@2 d#4@2 d#3@3 d#3@5 d#3@4, ~@5 f3@2 ~@3 d#3 [g3,a#3]@2 ~@6 [a3,d#4]@2 ~@3]/3", // A#5 D# Gm D# F7 F Gm Adim
F: "[d3,f#3,a3,c4]@2 [d3,f#3,a3,c4] [d3,f#3,a3,c4]@2 d3 ~ f#3, d2, ~@5 a3@3, ~@5 [f#3,c4]@2 ~, ~@3 d3", // D7 F#dim
G: "[[d3,f#3]@2 f#3 [d3,f#3]@2 ~ c3@2 [g3,a#3,d#4]@2 [g3,a#3] ~@2 [g3,a#3,d#4]@2 [d#3,f3,a3,d#4]@3 [f3,a3,d#4] ~@3 d#3 f3@3 ~ [a#3,d4]@2 ~ d3@2 a#3@2 ~@5 d3, d2@5 d3@2 ~ d#2@7 f2@8 a#2@17, ~@2 a3@6 ~@2 d#4@2 d#3@3 ~@3 d#3@2 d#3@2 ~@10 d3@3 f3@3 f3@2, ~@2 c4@3 c4@10 ~@8 a#3@4 ~@2 d4@7 d3@3 ~, ~@5 f#3@3 ~@2 d#3 [g3,a#3]@2 ~@6 [f3,a3,d#4]@2 [f3,a3,d#4]@2 ~@3 f3@3 a#3@3 ~@2 a#3@3 [a#3,d4]@3]/5", // D D# Gm D# F7 A# Gm F7 …
H: "[f3,a#3,d4]@2 [f3,a#3,d4] [f3,a#3,d4]@2 f3 ~ a#3, a#2, ~@5 [a#3,d4]@2 ~, ~@3 f3", // A#
I: "[f3,a#3]@2 a#3 [f3,a#3]@2 ~ d3@2, a#2, ~@2 d4@3 [a#3,d4]@3, ~@5 f3@2 ~", // A#5 A#
J: "[[f3,a3,d#4]@2 [f3,a3,d#4] ~@4 f3 [a3,d#4]@2 a3 ~@4 f3, f2, d#3@2 d#3@2 d#3@2 d#3!2, ~@3 [a3,d#4]@2 [a3,d#4]@3 ~@2 d#4@3 [a3,d#4]@3, ~@11 f3@4 ~]/2", // F7 Adim
K: "[f3@2 ~ [a3,d#4]@2 ~ d#3@2 a3@2 ~@4 f3 [f3,a#3,d4]@3 [f3,a#3,d4] [f3,a#3]@2 ~@2 f3 [a#3,d4]@2 [f3,a#3,d4] ~@3 d3 [g3,a#3,d#4]@3 [g3,a#3] ~@2 [g3,a#3,d#4]@2 f3@3 ~ [a3,d#4]@2 ~ d#3@2, f2@15 a#2@9 a#2@7 d#2@8 f2@9, a3@6 ~@4 d#4@14 d#3@6 ~@12 f3@2 d3@7 ~@3 f3@8 ~@8 [g3,a#3]@4 ~@4 a3@8 ~@4 [a3,d#4]@6, ~@2 f3@3 a3@3 d#3@3 f3@3 ~@7 a#3@3 ~@3 [a#3,d4]@2 [a#3,d4]@2 ~@3 d#4@3 ~@11, ~@10 a3@3 [a3,d#4]@2 ~@4 d4@5 ~@4 d3@2 ~@4 d#3@2 d#3@3 ~@3 f3@3 ~@3]/6", // Adim A# A#5 A# D# Gm D# Adim …
L: "[c3,d3,f#3,c4]@2 [d3,f#3,c4] ~@4 d3, d2, ~ c3!3, ~@3 [d3,f#3,c4]@2 [f#3,c4]@3, ~@5 d3@2 ~", // D7 F#dim
M: "d3 ~ [f#3,c4] ~@3 c3@2, d2, [f#3,c4]@2 ~ [f#3,c4]@2 f#3@3, ~ d3@2 ~ c3@2 ~@2, ~@5 c4@2 ~", // F#dim
N: "[g3,a#3,d#4]@2 [g3,a#3] ~@2 [g3,d#4]@2 [d#3,g3,d#4], d#2, ~@2 d#4@3 ~@3, ~@2 d#3@2 d#3@3 ~, ~@3 [g3,a#3]@2 a#3@3", // D# Gm Cm D# Gm
O: "[[f3,a3,d#4]@2 [f3,a3,d#4] ~@2 [a3,d#4]@2 [d3,f3,a#3,d4]@3 [f3,a#3,d4] ~@4 f3, f2@7 a#2@9, d#3@4 d#3@3 ~@3 d3@2 d3@2 d3@2, ~@3 [a3,d#4]@2 ~@6 [f3,a#3,d4]@2 [a#3,d4]@3, ~@13 f3@2 ~]/2", // F7 Adim A# Adim A#
P: "f3 ~ [a#3,d4] ~@3 d3@2, a#2, [a#3,d4]@2 ~ [a#3,d4]@2 a#3@3, ~ f3@2 ~ d3@2 ~@2, ~@5 d4@2 ~", // A#
Q: "g3@2 ~ [c4,d#4]@2 ~ d#3@2, c3, c4@3 ~@2 [c4,d#4]@3, ~@2 g3@3 ~@3", // Cm
R: "[d#3,g#3,c4]@2 [d#3,g#3,c4] [d#3,g#3]@2 ~@2 d#3, g#2, ~@3 c4@5, ~@5 g#3@3, ~@5 d#3 c3@2", // G# G#5
S: "[[d3,g3,b3]@2 [d3,g3,b3] [d3,g3,b3]@2 ~@2 d3 [d3,g3,b3]@2 [d3,g3,b3] g3@2 ~ [b2,d3] g3@3 ~ [c4,d#4]@2 ~ d#3@2, g2@5 ~@3, b2@4 ~ [g3,b3]@3 ~@5 [g3,b3]@2 c4@4 ~@2 [c4,d#4]@3, ~@5 d3@2 ~@4 d3@3 ~@4 g3@3 ~@3, ~@6 b2@2 b2@6 ~ c3@9]/3", // G Bm Cm G Cm
T: "[c3,d#3,g#3,c4]@2 [d#3,g#3,c4] ~@4 d#3, g#2, ~ c3!3, ~@3 [d#3,g#3,c4]@2 [g#3,c4]@3, ~@5 d#3@2 ~", // G#
U: "[[d3,f#3,c4]@2 [d3,f#3,c4] ~@2 [d3,f#3,c4]@2 f3@3 ~ [a3,d#4]@2 ~ d#3 ~@4 [a3,c#4]@2 ~ c#3@2 a3@2 ~@4 e3 [e3,g#3,d4]@3 [e3,g#3,d4] ~@4 e3 [g#3,d4]@2 g#3 ~@4 e3, d2@14 f2@16 [a#2,f3,a#3]@32 e2@33 ~, c3@4 c3@3 ~@3 f3@3 ~@5 e3@3 a3@3 c#3@3 e3@3 ~@13 e3@4 ~, ~@3 [f#3,c4]@2 ~@2 a3@4 ~@2 [a3,d#4]@2 ~@6 c#4@7 c#3@3 d3@5 d3@4 d3@4 d3@2 d3@2, ~@26 a3@3 [a3,c#4]@2 ~@4 [g#3,d4]@2 [g#3,d4]@3 ~@2 d4@3 [g#3,d4]@3]/6", // D7 Adim A E7 G#dim A#5 F#dim Adim …
V: "[e3@2 ~ [g#3,d4]@2 ~ d3@2 g#3@2 ~@5 d3, e2, g#3@3 ~@2 d4@7 d3@3 ~, ~@2 e3@3 g#3@3 d3@3 e3@3 e3@2, ~@10 g#3@3 [g#3,d4]@3]/2", // G#dim
W: "[[e3,a3,c#4]@2 [e3,a3,c#4] [e3,a3]@2 ~@2 e3 [a3,c#4]@2 [e3,a3,c#4] ~@4 e3, a2 a2, ~@3 c#4@5 ~@4 c#3@2 c#3@2, ~@5 a3@3 ~@3 [a3,c#4]@2 [a3,c#4]@3, ~@10 e3@2 c#3@7 ~@3 e3@8 ~@2]/2", // A A5 A
X: "[[f#3,a3,d4]@2 [f#3,a3,d4] [f#3,a3,d4]@2 f#3!2 [d3,e3,g#3]@3 [e3,g#3,d4] ~@4 e3, d2@7 e2@9, ~@10 [a3,d4]@4 d4 ~@5 d3@4 d3@4 d3@4, ~@11 [e3,g#3,d4]@2 [g#3,d4]@3, ~@13 e3@2 ~]/2", // D E7 D5 E7 G#dim
Y: "[c#3@2 ~ [f3,b3]@2 ~ b2@2 f3@2 ~@4 c#3 [f#3,a3,d4]@3 [f#3,a3,d4] ~@2 [f#3,a3]@2 [f#3,a3], c#2@5 d2@3, f3@3 ~@2 b3@7 b2@3 ~@9, ~@2 c#3@3 f3@3 b2@3 c#3@3 ~ d3@5 d3@4, ~@10 f3@3 [f3,b3]@2 ~@4 [a3,d4]@2 d4@3]/3", // Fdim D F#m Fdim D5
Z: "e3@2 ~ [g#3,d4]@2 ~ d3@2, e2, g#3@3 ~@2 [g#3,d4]@3, ~@2 e3@3 ~@3", // G#dim
AA: "[e3,a3,c#4]@2 [e3,a3,c#4] [e3,a3,c#4]@2 e3 ~ a3, a2, ~@5 [a3,c#4]@2 ~, ~@3 e3", // A
AB: "[[e3,a3]@2 a3 [e3,a3]@2 ~ c#3 [a3,c#4]@3 [e3,a3,c#4] [e3,a3,c#4]@2 ~@2 e3, a2@7 a2@9, ~@2 c#4@3 [e3,a3,c#4]@2 c#3@5 ~ e3@2 ~, ~@14 e3 ~@11 [a3,c#4]@6, ~@7 c#3]/2", // A5 A
AC: "[[e3,a3,c#4]@2 [e3,a3,c#4] a3@2 ~ [c#3,e3] [c#3,a3,c#4]@3 [e3,a3,c#4] [e3,a3,c#4]@2 ~ c#3 ~ [a3,c#4]@2 [e3,a3,c#4] ~@3 a2 [d3,e3,g#3,d4]@3 [e3,g#3,d4] [e3,g#3,d4]@2 ~ d3 ~ [g#3,d4]@2 [e3,g#3,d4] ~@3 e2 e3@3 ~ [g#3,d4]@2 ~ d3@2 g#3@2 ~@5 d3, c#3@6 ~ a2@8 a2@7 ~ e2@8 e2@7 ~ e2@17, ~@6 e3@6 ~@2 e3 ~@5 c#3@4 ~@2 [e3,a3,c#4]@5 e3@5 ~@2 [a3,c#4]@4 [e3,a3,c#4]@4 ~@12 [e3,g#3,d4]@5 e3@5 ~@2 [g#3,d4]@4 [e3,g#3,d4]@4 g#3@8 ~@4 d4@14 d3@6 ~@2, ~@10 [a3,c#4]@4 ~@17 c#3@9 c#3@6 ~@6 d3@4 ~@7 d3@9 d3@6 ~@6 e3@6 g#3@6 d3@6 e3@6 e3@4, ~@50 g#3@3 [g#3,d4]@3]/7", // A C#m F#m A E7 G#dim E7 G#dim …
AD: "[[e3,a3,c#4]@2 [e3,a3,c#4] ~@4 e3 [a3,c#4]@2 a3 ~@4 e3, a2, c#3@2 c#3@2 c#3@2 c#3!2, ~@3 [a3,c#4]@2 [a3,c#4]@3 ~@2 c#4@3 [a3,c#4]@3, ~@11 e3@4 ~]/2", // A
AE: "[[f#3,a3,d4]@2 [f#3,a3] ~@2 [f#3,a3,d4]@2 [e3,g#3,d4]@3 [e3,g#3,d4] ~@4 e3, d2@7 e2@9, ~@2 d4@3 ~@11, ~@2 d3@2 d3@3 d3@5 d3@4, ~@3 [f#3,a3]@2 ~@6 [g#3,d4]@2 [g#3,d4]@3]/2", // D F#m D E7 F#m G#dim
AF: "[b2,c#3,f3,b3]@2 [c#3,f3,b3] ~@4 c#3, c#2, ~ b2!3, ~@3 [c#3,f3,b3]@2 [f3,b3]@3, ~@5 c#3@2 ~", // C#7 Fdim
AG: "[c#3 ~ [f3,b3] ~@3 b2 [f#3,a3,d4]@3 [f#3,a3,d4] ~@4 f#3, c#2@7 d2@9, [f3,b3]@2 ~ [f3,b3]@2 [f3,b3]@2 d3@5 d3@4, ~ c#3@2 ~ b2@2 ~@5 [a3,d4]@2 [a3,d4]@3]/2", // Fdim D Fdim D5
AH: "[[e3,g#3,b3,d4]@2 [e3,g#3,b3,d4] [e3,g#3,b3,d4]@2 e3!2 [e3,a3,c#4]@3 [e3,a3,c#4] [e3,a3,c#4]@2 ~@2 e3 [e3,a3,c#4]@2 [e3,a3,c#4] a3@2 ~ [c#3,e3] [a3,c#4]@3 [e3,a3,c#4] [e3,a3]@2 ~@2 e3 [a3,c#4]@2 [e3,a3,c#4] ~@4 e3, e2@7 a2@16 a2@9 a2@8, ~@5 [g#3,b3,d4]@2 c#3@5 ~ [a3,c#4]@3 ~@5 [a3,c#4]@2 ~@4 c#4@5 ~@4 c#3@2 c#3@2, ~@26 e3@4 ~@8 e3@6 ~@2 e3 ~@11 a3@6 ~@6 [a3,c#4]@4 [a3,c#4]@6, ~@28 c#3@4 c#3@12 ~@14 e3@2 c#3@7 ~@3 e3@8 ~@2]/5", // E7 A C#m A A5 A G#dim A
AI: "[[e3,g#3,d4]@2 [e3,g#3,d4] ~@4 e3 [g#3,d4]@2 g#3 ~@4 e3, e2, d3@2 d3@2 d3@2 d3!2, ~@3 [g#3,d4]@2 [g#3,d4]@3 ~@2 d4@3 [g#3,d4]@3, ~@11 e3@4 ~]/2", // E7 G#dim
AJ: "[e3,g#3,b3,d4]@2 [e3,g#3,b3,d4] [e3,g#3,b3,d4]@2 e3 ~ g#3, e2, ~@5 b3@3, ~@5 [g#3,d4]@2 ~, ~@3 e3", // E7 G#dim
AK: "[e3,g#3]@2 g#3 [e3,g#3]@2 ~ d3@2, e2, ~ b3@3, ~@2 d4@3 [g#3,d4]@3, ~@5 e3@2 ~", // E G#dim
AL: "[[e3,a3,c#4]@2 [e3,a3,c#4] [e3,a3]@2 ~@2 e3 [a3,c#4]@2 [e3,a3,c#4] ~@3 c#3 [d3,f#3,a3,d4]@3 [f#3,a3,d4] ~@4 f#3, a2@8 a2@7 d2@9, ~@3 c#4@5 ~@4 c#3@2 ~@4 d3@2 d3@2 d3@2, ~@5 a3@3 ~@3 [a3,c#4]@2 [a3,c#4]@2 ~@6 [a3,d4]@3, ~@10 e3@2 c#3@7 ~@3 e3@8 ~@8 [f#3,a3,d4]@4 f#3@4 ~@2]/3", // A A5 A D A D5 D
AM: "[[e3,g#3,d4]@2 [e3,g#3,d4] ~@2 [g#3,d4]@2 [c#3,f3,g#3,b3]@3 [c#3,f3,g#3,b3] [c#3,f3,g#3,b3]@2 c#3 ~ f3, e2@7 c#2@9, d3@4 d3@3 ~@6 [f3,b3]@2 ~, ~@3 [g#3,d4]@2 ~@8 g#3@3, ~@7 c#3]/2", // E7 G#dim C#7 Fdim G#dim
AN: "[c#3,f3]@2 f3 [c#3,f3]@2 ~ b2@2, c#2, ~ g#3@3, ~@2 b3@3 [f3,b3]@3, ~@5 c#3@2 ~", // C# Fdim
AO: "[[f#3,a3,d4]@2 [f#3,a3,d4] [f#3,a3]@2 ~ d3 [e3,g#3,d4]@3 [e3,g#3] ~@2 [e3,d4]@2 [d3,e3,d4], d2@7 e2@9, ~@3 d4@4 ~@3 d4@3 ~@3, ~@5 [f#3,a3]@2 ~@3 d3@2 d3@3 ~, ~@11 [e3,g#3]@2 g#3@3]/2", // D F#m E7 E E7 Dsus2 F#m E
AP: "[[e3,a3,c#4]@2 [e3,a3,c#4] [e3,a3,c#4]@2 ~@2 e3 [e3,a3,c#4]@2 [e3,a3,c#4] a3@2 ~ [c#3,e3] [f#3,b3,d4]@3 [f#3,b3,d4] [f#3,b3,d4]@2 f#3 ~ b3, a2@5 b2@3, c#3@4 ~ [a3,c#4]@3 ~@5 [a3,c#4]@2 ~@6 [b3,d4]@2 ~, ~@5 e3@2 ~@4 e3@3 ~@8 f#3@2, ~@3 c#3 c#3@3 ~@5]/3", // A C#m Bm A Bm
AQ: "[d3@2 ~ [g3,b3]@2 ~ b2 [c#3,f#3,a#3]@3 [c#3,f#3,a#3] [c#3,f#3]@2 ~@2 c#3 [f#3,a#3]@2 [c#3,f#3,a#3] ~@4 c#3, g2@7 f#2@9 f#2@8, g3@3 ~@2 [g3,b3]@2 ~@4 a#3@5 ~@4 a#2@2 a#2@2, ~@2 d3@3 ~@8 f#3@3 ~@3 [f#3,a#3]@2 [f#3,a#3]@3, ~@26 c#3@2 a#2@7 ~@3 c#3@8 ~@2]/3", // G F# F#5 F# G F#
AR: "f#3@2 ~ [b3,d4]@2 ~ d3@2, b2, b3@3 ~@2 [b3,d4]@3, ~@2 f#3@3 ~@3", // Bm
AS: "[[d3,g3,b3]@2 [d3,g3,b3] ~@2 [g3,b3]@2 [c#3,f3,b3]@3 [c#3,f3] ~@2 [c#3,f3,b3]@2 [d3,e3,g#3,d4]@3 [e3,g#3,d4] ~@4 e3, g2@7 c#2@8 e2@9, b2@4 b2@3 ~@3 b2@2 b2@3 ~@4 [e3,g#3,d4]@2 e3@2 ~, ~@3 [g3,b3]@2 ~@5 b3@3 ~@8 [g#3,d4]@3, ~@11 [c#3,f3]@2 ~@5 d3@2 d3@2 d3@2]/3", // G C#7 C# C#7 E7 G G#dim C#
AT: "[c#3,e3,a3,c#4]@2 [e3,a3,c#4] ~@4 e3, a2, ~ c#3!3, ~@3 [e3,a3,c#4]@2 [a3,c#4]@3, ~@5 e3@2 ~", // A
AU: "[e3 ~ [a3,c#4] ~@3 c#3 [d3,e3,g#3,d4]@3 [e3,g#3,d4] [e3,g#3,d4]@2 ~ d3 ~ [g#3,d4]@2 [e3,g#3,d4] ~@3 e2 [e3,g#3,d4]@3 [e3,g#3,d4] [e3,g#3]@2 ~@2 e3, a2@7 e2@8 e2@7 ~ e2@9, [a3,c#4]@4 ~@2 [a3,c#4]@4 [a3,c#4]@4 ~@17 d3@9 d3@6 ~@12 g#3@6, ~@2 e3@4 ~@2 c#3@4 ~@8 d3@4 ~@2 [e3,g#3,d4]@5 e3@5 ~@2 [g#3,d4]@4 [e3,g#3,d4]@4 ~@8 d4@10, ~@29 e3 d3@2]/4", // A E7 G#dim E7 E A E7 G#dim …
AV: "[[g#3,d4]@2 [e3,g#3,d4] ~@3 d3 [a3,c#4]@3 [e3,a3,c#4] [e3,a3,c#4]@2 ~@2 e3 [e3,a3,c#4]@2 [e3,a3,c#4] a3@2 ~ e3 ~ [f#3,a3,d4]@2 [f#3,a3] ~@2 [f#3,a3,d4]@2 e3@3 ~ [g#3,d4]@2 ~ d3@2, e2@7 a2@16 e3@8 g#3@4 ~@2 [g#3,d4]@3, ~@6 e3@8 e3 ~@11 e3@4 ~@8 e3@4 a3@6 ~@4 [d3,d4]@2 [f#3,a3]@2 d3@6 ~@6 e3@6 ~@6, ~@3 [g#3,d4]@2 [g#3,d4]@2 ~@6 [a3,c#4]@3 ~@5 c#4@10 ~@9, ~@4 d3@2 ~ c#3@5 ~@2 c#3@2 c#3@6 c#3@2 d2@7 e2@9]/5", // G#dim E7 A D F#m D G#dim D …
AW: "[[c#3,f3,b3]@2 [c#3,f3,b3] ~@4 c#3 [f3,b3]@2 f3 ~@4 c#3, c#2, b2@2 b2@2 b2@2 b2!2, ~@3 [f3,b3]@2 [f3,b3]@3 ~@2 b3@3 [f3,b3]@3, ~@11 c#3@4 ~]/2", // C#7 Fdim
AX: "[[f#3,a3,d4]@2 [f#3,a3,d4] ~@2 [a3,d4]@2 [d3,e3,g#3,d4]@3 [e3,g#3,d4] ~@4 e3, d2@7 e2@9, d3@4 d3@3 ~@3 d3@2 d3@2 d3@2, ~@3 [a3,d4]@2 ~@6 [e3,g#3,d4]@2 [g#3,d4]@3, ~@13 e3@2 ~]/2", // D D5 E7 D5 E7 G#dim
AY: "[[e3,a3]@2 a3 [e3,a3]@2 ~ c#3 [e3,a3,c#4]@3 [e3,a3,c#4] ~@4 e3 [a3,c#4]@2 a3 ~@4 e3, a2@14 a2@33 ~, ~@2 c#4@3 [e3,a3,c#4]@2 c#3@5 c#3@4 c#3@4 c#3@2 c#3@2, ~@11 [a3,c#4]@2 [a3,c#4]@3 ~@2 c#4@3 [a3,c#4]@3, ~@19 e3@4 ~]/3", // A5 A
AZ: "[e3,a3,c#4]@2 [e3,a3] ~@2 [e3,c#4]@3, a2, c#3@3 e3 c#3@4, ~@2 c#4@3 ~@3, ~@3 a3@5", // A A5 C#m
})).s("gm_acoustic_guitar_steel").gain(0.18).pan(0.6)
// chords · acoustic guitar steel · "Guitar" · soft notes
const acoustic_guitar_steel_2 = note(`<
~ A ~ B C D E F ~ G H@3 I J@3 ~ K L M@2 C N O L ~ P@2 O ~ Q R C ~ S T ~ U V T ~ W X Y Z AA AB AC Z ~ AD ~@2 AE AF AG
AC AH@2 AI AJ AI AK AL AK AC Z AA AM AN AA ~ AO AP ~ AI AJ ~ AD AA AB AQ@2 ~ AD ~ AA AR@2 AS@2 AI AJ AT AU ~ AV AW
AX@2 ~@2 AY AL AK ~ AZ AI AJ AN AC BA BB AP ~ AH@2 AA AM ~@2
>`.pickRestart({
A: "d3@3 f3@2 f3@2 ~", B: "f3@3 d3@5 ~@8", C: "~@3 f3@2 f3@2 ~", D: "f3@6 ~ a#3@3 ~@6", E: "~@2 d#3 ~",
F: "~@3 d#4@2 ~@3", G: "f3@3 d#3@5 ~@8", H: "[~@7 d4@3 f3 ~@5 d#3@2 ~@6, ~@15 f3@8 ~]/3", I: "~@3 f3@2 ~@3",
J: "[~@8 a3@2 d3 ~@5 d#3@2 ~@6, ~@7 c4@3 ~@5 d3@8 ~]/3", K: "~@5 f3@2 f3, ~ d3@2 ~", L: "f3 f3@2 ~@5",
M: "[~@7 d4@3 f3 ~@4 f3]/2", N: "f3@6 ~ a3@3 ~@6", O: "~@5 f3@2 f3, ~ d#3@2 ~", P: "[f3@3 d3@5 ~@6 d#3@6 ~@12]/2",
Q: "c3@3 d3@2 d3@2 [d3,c4]", R: "d#3 ~@3", S: "d3@3 f3@2 f3@2 [f3,d4]", T: "~@5 g3@2 g3, ~ d#3@2 ~", U: "~@2 b2 ~",
V: "~@3 b3@2 ~@3", W: "~@3 d3@2 ~@3", X: "~@5 f3@2 ~, ~ d#3@2 ~", Y: "~@5 e3@2 e3, ~ c#3@2 ~", Z: "e3 e3@2 ~@5",
AA: "~@3 e3@2 e3@2 ~", AB: "e3@6 ~ g#3@3 ~@6", AC: "~@5 e3@2 e3, ~ d3@2 ~", AD: "e3@3 c#3@5 ~@8",
AE: "~@5 c#3@2 c#3, ~ b2@2 ~", AF: "c#3 c#3@2 ~@5", AG: "~@3 f#3@2 ~@3", AH: "[~@7 c#4@3 e3 ~@5]/2", AI: "~@2 c#3 ~",
AJ: "~@3 c#4@2 ~@3", AK: "~@3 e3@2 ~@3", AL: "~@2 d3 ~", AM: "e3@6 ~ a3@3 ~@6", AN: "d3 ~@3",
AO: "b2@3 c#3@2 c#3@2 ~", AP: "~@3 f#3@2 f#3@2 ~", AQ: "[~@8 b3@2 e3 ~@4 e3, ~@7 d4@3 ~@6]/2",
AR: "[~@8 g#3@2 c#3 ~@4 c#3, ~@7 b3@3 ~@6]/2", AS: "[~@7 d3@3 ~@6]/2", AT: "~@7 d4", AU: "~@5 d3@2 ~, ~ b2@2 ~",
AV: "c#3@3 a#2@5 ~@8", AW: "~@5 f#3@2 f#3, ~ d3@2 ~", AX: "[~@3 d3@2 d3@2 b2@3 ~@6]/2", AY: "c#3@3 e3@2 e3@2 ~",
AZ: "e3@3 d3@5 ~@8", BA: "~@3 c#3@2 c#3@2 ~", BB: "c#3@6 ~ f3@3 ~@6",
})).s("gm_acoustic_guitar_steel").gain(0.09).pan(0.6)
// bass · electric bass finger · "Bass"
const bass_2 = note(`<
A B C B A B D E D E A F G H I@2 G J A B A B D E D E A F G H I@2 G J A B K L M N K L O P Q R S T S T Q U I V W@2 I X Q
R Q R Q R S T S T Q U I V W@2 I X Q R Q R S T S T Q U I V W@2 I X Q R Y N Z AA Y N AB AC Q R S T S T Q U I V W@2 I X Q
R@2 AD AE ~
>`.pickRestart({
A: "a#1 ~ f2 f1", B: "a#1 f2@2 f2 f1@2 f2@2", C: "a#1 ~ f2 ~", D: "c2 ~ f2 f1", E: "c2 f2@2 f2 f1@2 f2@2",
F: "a#1 f2@2 f2 f1@2 f2!2", G: "d#2 ~ g2 a#2", H: "f2 ~ a2 c3", I: "d2 ~ f#2 a2", J: "f2 ~ f1 f2", K: "c2 ~ d#2 g2",
L: "g#1@2 ~ g#1 c2@2 d#2@2", M: "g1 ~ b1 d2", N: "g1@2 ~ g1 b1@2 d2@2", O: "d2 ~ f#2 g2", P: "f2@2 ~ f2 g1@2 f2@2",
Q: "a1 ~ e2 e1", R: "a1 e2@2 e2 e1@2 e2@2", S: "b1 ~ e2 e1", T: "b1 e2@2 e2 e1@2 e2@2", U: "a1 e2@2 e2 e1@2 e2!2",
V: "e2 ~ g#2 b2", W: "c#2 ~ f2 g#2", X: "e2 ~ e1 e2", Y: "b1 ~ d2 f#2", Z: "f#1 ~ a#1 c#2",
AA: "f#1@2 ~ f#1 a#1@2 c#2@2", AB: "c#2 ~ f2 f#2", AC: "e2@2 ~ e2 f#1@2 e2@2", AD: "a1 e2@2 e2 f#2@2 e2@2",
AE: "a1 ~ [a1,a2] ~", // A
})).s("gm_electric_bass_finger").gain(0.31).pan(0.7)
// other · electric guitar clean · "Extra"
const electric_guitar_clean = note("<~@13 A ~ B ~@13 A ~ B ~@90>".pickRestart({
A: "g4 ~", B: "c5 ~",
})).s("gm_electric_guitar_clean").gain(0.31).pan(0.2)
// drums · kick
const kick = s("bd").struct(`<
A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A
B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B
A B A ~
>`.pickRestart({
A: "x ~@2 x!2 ~@3", B: "x ~@2 x!2 ~@2 x",
})).gain(0.31).pan(0.4)
// drums · snare
const snare = s("sd").struct("<[~ x ~ x]!120 [~ x ~@2] ~>").gain(0.36).pan(0.4)
// drums · low tom
const low_tom = s("lt").struct("<~@47 [~@3 x] ~@74>").gain(0.36).pan(0.4)
// drums · hihat
const hihat = s("hh").struct(`<
A B A B A@5 B A B A@14 C B A@7 B A@3 B A@3 B A B A@5 B A B A B A B A B A@5 B A@9 B A@5 B A B A@13 B A@2 C A@4 B A B A
B A@3 B A B A@4 D ~
>`.pickRestart({
A: "x!8", B: "x!7 ~", C: "x!5 ~ x!2", D: "x ~ x!2 ~@12",
})).gain(0.31).pan(0.4)
// drums · mid tom
const mid_tom = s("mt").struct("<~@120 [~@3 x ~@4] ~>").gain(0.36).pan(0.4)
// drums · open hat
const open_hat = s("oh").struct(`<
~ A ~ A ~@5 A ~ A ~@14 B A ~@7 A ~@3 A ~@3 A ~ A ~@5 A ~ A ~ A ~ A ~ A ~@5 A ~@9 A ~@5 A ~ A ~@13 A ~@2 B ~@4 A ~ A ~
A ~@3 A ~ A ~@3 C D ~
>`.pickRestart({
A: "~@7 x", B: "~@5 x ~@2", C: "~@15 x", D: "~ x ~@2",
})).gain(0.27).pan(0.4)
// … 25 more lines
More by Elvis Presley
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.