Strudelify

Lawdy Miss Clawdy

Elvis Presley

KeyA majorTempo107 bpm
0:00/0:00
// Lawdy Miss Clawdy — Elvis Presley
// 107 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 57 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(107/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
const piano = note(`<
  A B C D E F G H I J K L M N O P Q R S T U N O P Q R S T U F G H I J K L M N O P Q R S V W B C D E F G H I J X Y Z
>`.pickRestart({
  A: "~@18 [a4,c#5] ~ [b4,d5] ~ [a4,c5,d#5] ~", // A Bm Adim
  B: "[a3,c#4,e4,a4,c#5,e5] ~ [a3,c#4,e4,a4,c#5,e5] ~ [a3,c#4,e4,a4,c#5,e5] ~ [a3,c#4,e4,a4,c#5,e5] ~ [a3,c#4,e4,a4,c#5,e5] ~ [a3,c#4,e4,a4,c#5,e5] ~ [a3,c#4,e4,a4,c#5,e5] ~ [a3,c#4,e4,a4,c#5,e5] ~ [a3,c#4,e4,a4,c#5,e5] ~ [a3,c#4,e4,d5,f#5] ~ [a3,c#4,e4,d5,e5,g5] ~ [c#4,e4,d5,f5,g#5] ~, ~@11 a3", // A Dmaj7 A7 C#
  C: "[d4,f#4,d5,f#5,a5] ~ [d4,f#4,d5,f#5,a5] ~ [d4,f#4,d5,f#5,a5] ~ [a3,d4,f#4,d5,f#5,a5] ~ [a3,d4,f#4,d5,f#5,a5] ~ [a3,d4,f#4,d5,f#5,a5] ~ [a3,d4,f#4,d5,f#5,a5] ~ [a3,d4,f#4,d5,f#5,a5] ~ [a3,d4,f#4,d5,f#5,a5] ~ [a3,d4,f#4,a4,c#5] ~ [d4,b4,d5] ~ [a4,c5,d#5] ~, ~ a3 ~@8 [a3,f#4] d4", // D Dmaj7 G Adim D
  D: "[a3,e4,a4,c#5,e5] ~ [a3,e4,a4,c#5,e5] ~ [a3,c#4,e4,a4,c#5,e5] ~ [a3,c#4,e4,a4,c#5,e5] ~ [a3,c#4,e4,a4,c#5,e5] ~ [a3,c#4,e4,a4,c#5,e5] ~ [a3,c#4,e4,a4,c#5,e5] ~ [a3,c#4,a4,c#5,e5] ~ [a3,c#4,a4,c#5,e5] ~ [a3,c#4,e4,f#4,a4] ~ [a3,c#4,e4,f#4,a4] ~ [a3,c#4,e4,f#4,a4] ~, c#4 ~@11", // A F#m7
  E: "[e3,g#3,b3,e4,g#4] ~ [e3,g#3,b3,e4,g#4] ~ [e3,g#3,b3,e4,g#4] ~ [e3,g#3,b3,e4,g#4] ~ [e3,g#3,b3,e4,g#4] ~ [e3,g#3,b3,e4,g#4] ~ [e3,g#3,b3,e4,g#4] ~ [e3,g#3,b3,e4,g#4] ~ [e3,g#3,b3,e4,g#4] ~ [e3,g#3,b3,e4,g#4] ~ [e3,g#3,b3,e4,g#4] ~ [e3,g#3,b3,e4,g#4] ~", // E
  F: "a2@4 [a3,c#4,e4,g4] ~ g2@4 [a3,c#4,e4,g4] ~ e2@4 [a3,c#4,e4,g4] ~ g2@4 [a3,c#4,e4,g4] ~", // A7
  G: "a2@4 [e2,a3,c#4,e4,g4] ~ b2@4 [a3,c#4,e4,g4] ~ c#3@4 [a3,c#4,e4,g4] ~ a2@3 ~ [a1,a3,c#4,e4,g4] ~", // A7
  H: "d2@4 [c4,d4,f#4,a4] ~ f#2@4 [c4,d4,f#4,a4] ~@5 [c4,d4,f#4,a4] ~ b2@4 [a2,c4,d4,f#4,a4] ~, ~@2 a2 ~", // D7
  I: "~@4 [c4,d4,f#4,a4] ~ b2@4 [c4,d4,f#4,a4] ~ a2@4 [c4,d4,f#4,a4] ~ f#2@4 [a1,c4,d4,f#4,a4] ~, c3 ~@3", // D7
  J: "a1@4 [g3,c#4,e4] ~ c#2@4 [a1,g3,c#4,e4] ~@5 [a3,c#4,e4,g4] ~ a2@3 ~ [a3,c#4,e4,g4] ~, ~@2 e2 ~", // C#dim A7
  K: "~@4 [a3,c#4,e4,g4] ~ g#2@4 [d4,e4,g#4] ~ b2@4 [b1,d4,e4,g#4] ~ e3@4 [b1,d4,e4,g#4] ~, e2 ~@3", // A7 E7
  L: "a2@4 [a3,c#4,e4,g4] ~ a2@4 [a3,c#4,e4,g4] ~ g2@4 [a3,c#4,e4,g4] ~ f#2@4 [b1,a3,c#4,e4,g4] ~", // A7
  M: "e2@4 [b3,d4,e4,g#4] ~ d2@4 [b1,b3,d4,e4,g#4] ~ c#2@4 [b1,b3,d4,e4,g#4] ~ b1@3 ~ [b3,d4,e4,g#4] ~", // E7
  N: "~@4 [g3,a3,c#4,e4] ~ f#2@4 [g3,a3,c#4] ~ e2@4 [g3,a3,c#4,e4] ~ f#2@4 [g3,a3,c#4,e4] ~, a2@3 ~@8 e2", // A7
  O: "~@4 [g3,a3,c#4] ~@5 [g3,a3,c#4] ~@5 [g3,a3,c#4] ~@5 [g3,a3,c#4] ~, a2 b2 c#3 a2", // A7
  P: "~@4 [f#3,a3,c4,d4] ~@5 [f#3,a3,c4,d4] ~ a2@4 [f#3,a3,c4,d4] ~ b2@4 [a2,f#3,a3,c4,d4] ~, d2 f#2 ~@2", // D7
  Q: "~@4 [f#3,a3,c4,d4] ~@5 [f#3,a3,c4,d4] ~@5 [f#3,a3,c4,d4] ~ f#2@4 [f#3,a3,c4,d4] ~, c3 b2 a2 ~", // D7
  R: "~@4 [g3,a3,c#4,e4] ~ c#2@4 [g3,a3,c#4,e4] ~@5 [g3,a3,c#4,e4] ~@5 [g3,a3,c#4,e4] ~, a1 ~ e2 f#2", // A7
  S: "e2@4 [g#3,b3,d4,e4] ~@5 [g#3,b3,d4,e4] ~@5 [g#3,b3,d4,e4] ~ b1@3 ~ [g#3,b3,d4] ~, ~ d2 c#2 ~", // E7 G#dim
  T: "a1@4 [a3,c#4,e4] ~ c#2@4 [a3,c#4] ~@5 [a3,c#4,e4] ~ g2@4 [a3,c#4,e4] ~, ~@2 e2 ~", // A
  U: "~@4 [g#3,b3,d4,e4] ~ d2@4 [g#3,b3,d4,e4] ~@5 [g#3,b3,d4,e4] ~ b1@4 [g#3,b3,d4,e4] ~, e2 ~ c#2 ~", // E7
  V: "a1@4 [a3,c#4,e4] ~ c#2@4 [a3,c#4] ~ e2@4 [a3,c#4,e4] ~ b2@3 ~ a2@2, ~@8 a2 ~@3", // A
  W: "[c3,g#3]@2 ~@2 [e4,b4,e5] ~ [e4,b4,e5] ~ [e4,b4,e5] ~ [e4,b4,e5] ~ [e2,e3,b3] ~ [e2,e3,b3] ~ [e2,e3,b3] ~ [a4,c#5] ~ [b4,d5] ~ [a4,c5,d#5] ~, e3 ~@23", // Fm E5 A Bm Adim
  X: "~@4 [a3,c#4,e4,g4] ~ g#2@4 [d4,e4,g#4] ~ b2@4 [b1,d4,e4,g#4] ~ e3@3 b1 [d4,e4,g#4] ~, e2 ~@3", // A7 E7
  Y: "[c#3,c#4,a4,c#5] ~ [c#3,c#4,a4,c#5] ~ [c#3,c#4,a4,c#5] ~ [c#3,c#4,a4,c#5] ~ [c#3,c#4,a4,c#5] ~ [c#3,c#4,a4,c#5] ~ [d3,d4,b4,d5] ~ [d3,d4,b4,d5] ~ [d3,d4,b4,d5] ~ [d#3,d#4,c5,d#5] ~ [d#3,d#4,c5,d#5] ~ [d#3,d#4,c5,d#5] ~", // F#m G Cm
  Z: "[e3,e4,a4,c#5,e5] ~@3 [c#3,a3,a4,f#5] ~ [b2,d3,b3]@3 ~ [a2,c#3,c#4,c#5,a5]@12 ~@2, ~@4 e3@2 [b4,g#5] ~@17", // A F#m Bm A E
})).s("gm_piano").gain(0.33)

// bass · acoustic bass
const bass = note(`<
  ~ A B C D E F G H I J K L M N O P Q R S T U N O P Q R S T E F G H I J K L M N O P Q R S T A B C D E F G H I J V W
>`.pickRestart({
  A: "a1@5 ~ g1@5 ~ a1@5 ~ g1@5 ~", B: "d1@5 ~ f#1@6 a1@5 ~ f#1@5 ~", C: "a1@5 ~ g1@5 ~ a1@6 g1@5 ~",
  D: "e1@6 g#1@5 ~ b1@6 e2@4 e2 ~", E: "a2@5 ~ g2@4 ~@2 e2@4 ~@2 g2@4 ~@2", F: "a2@4 e2 ~ b2@5 ~ c#3@5 ~ a2@3 ~ a1 ~",
  G: "d2@5 ~ f#2@4 ~@2 a2@6 b2@4 a2 ~", H: "c3@6 b2@5 ~ a2@5 ~ f#2@4 a1 ~", I: "a1@5 ~ c#2@4 a1 ~ e2@6 a2@3 ~@3",
  J: "e2@6 g#2@5 ~ b2@4 b1 ~ e3@3 b1 ~@2", K: "a2@4 ~@2 a2@5 ~ g2@5 ~ f#2@4 b1 ~",
  L: "e2@5 ~ d2@4 b1 ~@4 b1 ~ b1@3 ~@4, ~@12 c#2@5 ~@7", M: "a2@6 f#2@5 ~ e2@5 ~ f#2@4 e2@2", N: "a2 b2 c#3 a2",
  O: "d2@6 f#2@6 a2@5 ~ b2@4 a2 ~", P: "c3@3 b2@3 a2@3 f#2@2 ~", Q: "a1@6 c#2@5 ~ e2@6 f#2@6",
  R: "e2@5 ~ d2@6 c#2@6 b1@3 ~@3", S: "a1@5 ~ c#2@5 ~ e2@6 g2@5 ~", T: "e2@6 d2@5 ~ c#2@6 b1@4 ~@2",
  U: "a2@6 f#2@5 ~ e2@5 ~ f#2@4 e2 ~", V: "a2@4 ~@2 f#2@5 ~ e2@5 ~ g#2@5 ~", W: "a2@2 ~@2 e2 ~ g#2@3 a2@11 ~@4",
})).s("gm_acoustic_bass").gain(0.45)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~@4 A B C D E F G H I J K L M N O P Q ~@7 A B C D E F G H I R K L M N O P S ~@3 A B C D E F G ~@2
>`.pickRestart({
  A: "~@22 e3 ~", B: "[c#4,e4,a4]@3 ~ e3 ~ [d4,f#4,b4]@4 ~@2 [c#4,e4,a4]@3 ~@3 [d4,f#4,b4]@3 ~ e3 ~",
  C: "[c#4,e4,a4]@3 ~@3 [d4,f#4,b4]@3 ~@3 [c#4,e4,a4]@3 ~@3 [d4,f#4,b4]@3 ~ e3 ~", // A Bm A Bm
  D: "[c4,f#4,a4]@3 ~@3 [d4,f#4,b4]@3 ~@3 [c4,f#4,a4]@4 ~@2 [d4,f#4,b4]@3 ~@3", // F#dim Bm F#dim Bm
  E: "[c4,f#4,a4]@3 ~ e3 ~ [a3,c4,f#4]@3 ~ e3 ~ [g#3,c4,e4]@3 ~@3 [a3,c4,f#4]@3 ~@3", // F#dim G#aug F#dim
  F: "[c#4,e4,a4]@3 ~@3 [d4,f#4,b4]@4 ~@2 [c#4,e4,a4]@4 ~@2 [d4,f#4,b4]@3 ~ g#3 ~", // A Bm A Bm
  G: "[e4,g#4,c5] ~ b4 ~@3 [e4,g#4,c#5]@3 ~@3 [d4,f#4,b4]@4 ~@2 [e4,g#4,c#5]@3 ~@3", // Eaug C#m Bm C#m
  H: "[c#4,e4,a4]@3 ~ f#3 ~ [d4,f#4,b4]@4 ~@2 [c#4,e4,a4]@3 ~@3 [d4,f#4,b4]@3 ~ b3 ~", // A Bm A Bm
  I: "[d4,f#4,b4]@3 ~ f#3 ~ [e4,g#4,c#5]@3 ~@3 [d4,f#4,b4]@3 ~@3 [e4,g#4,c#5]@3 ~@3", // Bm C#m Bm C#m
  J: "[c#4,e4,a4]@2 ~@4 [d4,f#4,b4]@2 ~@4 [c#4,e4,a4]@2 ~@4 [d4,f#4,b4]@3 ~@3, ~@4 f#4@5 ~@3", // A Bm A Bm
  K: "[c#4,e4,a4]@2 ~@2 [f#3,b3] ~ [d4,f#4,b4]@3 ~ f#3 ~ [c#4,e4,a4]@3 ~@3 [d4,f#4,b4]@3 ~@3", // A B5 Bm A Bm
  L: "[c4,f#4,a4]@4 ~@2 [d4,f#4,b4]@3 ~ f#3 ~ [c4,f#4,a4]@3 ~@3 [d4,f#4,b4]@3 ~ b3 ~", // F#dim Bm F#dim Bm
  M: "[c4,f#4,a4] ~ [d4,f#4,b4] ~ [c4,f#4,a4] ~ [d4,f#4,b4] ~", // F#dim Bm F#dim Bm
  N: "[c#4,e4,a4]@3 ~@3 [d4,f#4,b4]@4 ~@2 [c#4,e4,a4]@3 ~@3 [d4,f#4,b4]@3 ~@3", // A Bm A Bm
  O: "[d4,g#4,b4]@3 ~@3 [e4,g#4,c#5]@3 ~@3 [d4,g#4,b4]@3 ~@3 [e4,g#4,c#5]@2 ~@2 f#3 ~", // G#dim C#m G#dim C#m
  P: "[c#4,e4,a4]@3 ~@3 [d4,f#4,b4]@3 ~ f#3 ~ [c#4,e4,a4]@3 ~@3 [d4,f#4,b4]@2 ~@2 f#3 ~", // A Bm A Bm
  Q: "[d4,g#4,b4]@2 ~@4 [e4,g#4,c#5]@3 ~@3 [d4,g#4,b4]@3 ~@3 [e4,g#4,c#5]@2 ~@4", // G#dim C#m G#dim C#m
  R: "[c#4,e4,a4]@2 ~@4 [d4,b4]@2 ~@4 [c#4,e4,a4]@2 ~@4 [d4,f#4,b4]@3 ~@3, ~@6 f#4 ~ f#4@6 ~@10", // A G A Bm
  S: "[d4,g#4]@3 ~@3 [e4,g#4,c#5]@3 ~@3 [d4,g#4,b4]@3 ~@3 [e4,g#4,c#5]@2 ~@4", // Ddim C#m G#dim C#m
})).s("gm_electric_guitar_clean").gain(0.32).pan(0.6)

// chords · electric guitar jazz
const electric_guitar_jazz = note(`<
  ~@5 A B C D@6 E F G H I J K ~@8 A B C D@6 E F G H I J K L M N O A B C P Q R S T
>`.pickRestart({
  A: "[g3,a3,c#4]@2 ~@2 [a3,c#4] ~ [g3,a3,d4]@3 ~ [g3,a3,d4] ~ [g3,a3,c#4]@2 ~@2 [g3,a3,c#4] ~ [a3,d4]@3 ~ [g3,a3,d4] ~", // A7 A Gsus2 A7 D5 Gsus2
  B: "[g3,a3,c#4]@3 ~ [a3,c#4] ~ [g3,a3,d4]@3 ~ [g3,a3,d4] ~ [g3,a3,c#4]@2 ~@2 c#4 ~ [g3,a3,d4]@2 ~@2 [g3,a3,d4] ~", // A7 A Gsus2 A7 Gsus2
  C: "[f#3,a3,c4]@2 ~@2 c4 ~ [f#3,a3,d4]@3 ~ [f#3,a3,d4] ~ [f#3,a3,c4]@2 ~@2 [f#3,a3,c4] ~ [f#3,a3,d4]@3 ~ [f#3,a3,d4] ~", // F#dim D F#dim D
  D: "[[f#3,a3,c4]@3 ~ [f#3,a3,c4] ~ [f#3,a3,d4]@3 ~ [f#3,a3,d4] ~ [f#3,a3,c4]@2 ~@2 [a3,c4] ~ [f#3,a3,d4]@2 ~@2 [f#3,a3,d4] ~ [g3,a3,c#4]@3 ~ [a3,c#4] ~ [g3,a3,d4]@3 ~ [a3,d4] ~ [g3,a3,c#4]@2 ~@2 [a3,c#4] ~ [g3,a3,d4]@2 ~@2 [g3,d4] ~ [g#3,b3,d4]@2 ~@2 [g#3,b3,d4] ~ [g#3,b3,e4]@2 ~@2 [g#3,e4] ~ [g#3,b3,d4]@2 ~@2 [b3,d4] ~ [g#3,b3,e4]@2 ~@2 d4 ~ [g3,a3,c4]@3 ~ [g3,a3,c#4] ~ [g3,a3,d4]@3 ~ [g3,a3,d4] ~ [g3,a3,c#4]@2 ~@2 [a3,c#4] ~ [g3,a3]@2 ~@2 c#4 ~ [g#3,b3,d4]@3 ~ [g#3,b3,d4] ~ [g#3,b3,e4]@3 ~ [g#3,b3,e4] ~ [g#3,b3,d4]@2 ~@2 [g#3,b3,d4] ~ [g#3,b3,e4]@3 ~ [g#3,b3,d4] ~ [g3,a3,c#4]@2 ~@2 d3 ~ [g3,a3,d4]@4 ~@2 [g3,a3,c#4]@2 ~@2 c#3 ~ [g3,a3,d4]@4 ~@2, e6@61 ~@11, ~@45 d4@2 ~@25]/6", // F#dim D F#dim Am D A7 A Gsus2 …
  E: "[g3,a3,c#4]@2 ~@4 [g3,a3,d4]@4 ~@2 [g3,a3,c#4]@2 ~@4 [g3,a3,d4]@3 ~ d3 ~", // A7 Gsus2 A7 Gsus2
  F: "[f#3,a3,c4]@2 ~@4 [f#3,a3,d4]@3 ~@3 [f#3,a3,c4]@2 ~@2 c#3 ~ [f#3,a3,d4]@4 ~@2", // F#dim D F#dim D
  G: "[f#3,a3,c4] ~@3 d3 ~ [f#3,d4]@5 ~ [f#3,a3,c4]@2 ~@4 [f#3,a3,d4]@3 ~ [a2,c#3] ~, ~@2 a3 ~@5", // F#dim D F#dim D A
  H: "[g3,a3,c#4]@2 ~@4 [g3,a3,d4]@4 ~@2 [g3,a3,c#4]@2 ~@4 [g3,a3,d4]@3 ~@3", // A7 Gsus2 A7 Gsus2
  I: "[g#3,b3,d4]@2 ~@2 [a2,c#3] ~ [g#3,b3,e4]@3 ~ c#3 ~ [g#3,b3,d4]@2 ~@4 [g#3,b3,e4]@3 ~ [a2,c#3,d3] ~", // G#dim A E G#dim E Dmaj7
  J: "[g3,a3,c#4]@2 ~@4 [g3,a3,d4]@3 ~@3 [g3,a3,c#4]@2 ~@4 [g3,a3,d4]@2 ~@2 [a2,d3] ~", // A7 Gsus2 A7 Gsus2 D5
  K: "[g#3,b3,d4]@2 ~@4 [g#3,b3,e4]@3 ~@3 [g#3,b3,d4] ~@3 c#3 ~ [g#3,b3,e4]@3 ~@3", // G#dim E G#dim E
  L: "[g3,a3,c#4]@2 ~@4 [g3,a3,d4]@3 ~ e3 ~ [g3,a3,c#4]@2 ~@2 e3 ~ [g3,a3,d4]@3 ~ [a2,e3] ~", // A7 Gsus2 A7 Gsus2 A5
  M: "[f#3,a3,c4]@2 ~@2 e3 ~ [f#3,a3,d4]@3 ~ e3 ~ [f#3,a3,c4] ~@3 e3 ~ [f#3,a3,d4]@3 ~@3", // F#dim D F#dim D
  N: "[g3,a3,c#4] ~@5 [g3,a3,d4]@3 ~ [c#3,e3] ~ [g3,a3,c#4] ~@5 [g3,a3,d4]@3 ~@3", // A7 Gsus2 C#m A7 Gsus2
  O: "[g#3,b3,d4]@2 ~@4 [g#3,b3,e4]@3 ~ e3 ~ [g#3,b3,d4] ~@3 e3 ~ [g#3,b3,e4]@3 ~@3", // G#dim E G#dim E
  P: "[f#3,a3,c4]@2 ~@2 [f#3,a3,c4] ~ [f#3,a3,d4]@3 ~ [f#3,a3,d4] ~ [f#3,a3,c4]@2 ~@2 [a3,c4] ~ [f#3,a3,d4]@2 ~@2 [f#3,a3,d4] ~", // F#dim D F#dim Am D
  Q: "[g3,a3,c#4]@3 ~ [a3,c#4] ~ [g3,a3,d4]@3 ~ [a3,d4] ~ [g3,a3,c#4]@2 ~@2 [a3,c#4] ~ [g3,a3,d4]@2 ~@2 [g3,d4] ~", // A7 A Gsus2 D5 A7 A Gsus2 G5
  R: "[g#3,b3,d4]@2 ~@2 [g#3,b3,d4] ~ [g#3,b3,e4]@2 ~@2 [g#3,e4] ~ [g#3,b3,d4]@2 ~@2 [b3,d4] ~ [g#3,b3,e4]@2 ~@2 d4 ~", // G#dim E C#m G#dim Bm E
  S: "a3 e3 [e3,a3] ~ [e3,a3] ~ [e3,a3] ~ [e3,a3] ~ [e3,a3] ~ [g3,b3] ~ [g3,b3] ~ [g3,b3] ~ [g#3,c4] ~ [g#3,c4] ~ [g#3,c4] ~", // A5 G G#
  T: "[a3,c#4] ~@3 [g3,b3]@2 [g#3,c4]@2 ~@2 [a3,c#4]@11 ~@3", // A G G# A
})).s("gm_electric_guitar_jazz").gain(0.13).pan(0.4)

// chords · overdriven guitar
const overdriven_guitar = note("<~@20 A B C D E F G H I ~@28>".pickRestart({
  A: "~@18 e3@2 f#3 ~ a3@2", B: "c#4 ~ e4@2 f#4@2 a4 ~ a4@2 c5@2 a4@2 g#4@2 g4@2 f#4@2 e4@2 f#4@2",
  C: "c#4@3 ~ a3 ~ a3@2 f#3 ~ a3@2 f#3@2 a3@4 ~@6, c4 ~@23",
  D: "e3@2 f#3@2 a3@2 c4@2 ~ a3@2 ~ c4@2 b3@2 a3@2 ~ b3@2 ~ a3@2, ~@4 b3 ~@4 c4 ~@2",
  E: "~ b3@2 ~ a3@2 c4@2 b3@2 a3@2 c4@2 b3@2 a3@2 c4@2 b3 ~ a3@2, c4 ~@11", F: "[c#4,e4]!7 [c#4,f#4] [c#4,e4]!4",
  G: "[c#4,e4]@2 [b3,d4]@2 [b3,d4]@2 [b3,d4]@2 [b3,d4]@2 [b3,d4]@2 [b3,d4]@2 b3 ~ [b3,d4]@2 [b3,d4]@2 [b3,e4]@2 [b3,d4]@2", // C#m Bm E5 Bm
  H: "[a3,c#4]!12", // A
  I: "[g#3,b3]@2 [g#3,b3]@2 [g#3,b3]@2 [g#3,b3]@2 [g#3,b3]@2 [g#3,b3]@2 [g#3,b3]@2 [g#3,b3]@2 [g#3,b3]@2 [g#3,b3]@2 [g#3,b3]@2 [g#3,b3] ~", // G#m
})).s("gm_overdriven_guitar").gain(0.44).pan(0.4)

// chords · overdriven guitar
const overdriven_guitar_2 = note("<~@20 A B C D E F G H I ~@28>".pickRestart({
  A: "~@20 e3@2 f#3 ~", B: "a3@2 c#4 ~ e4@2 f#4@2 a4 ~ a4@2 c5@2 a4@2 g#4@2 g4@2 f#4@2 e4@2",
  C: "f#4@2 c#4@3 ~ a3 ~ a3@2 f#3 ~ a3@2 f#3@2 a3@4 ~@4, ~@2 c4 ~@21",
  D: "~@2 e3@2 f#3@2 a3@2 c4@2 ~ a3@2 ~ c4@2 b3@2 a3@2 ~ b3@2 ~, ~@5 b3 ~@4 c4 ~",
  E: "a3@2 ~ b3@2 ~ a3@2 c4@2 b3@2 a3@2 c4@2 b3@2 a3@2 c4@2 b3 ~, ~ c4 ~@10", F: "a3 [c#4,e4]!7 f#4 e4 [c#4,e4]!2",
  G: "[c#4,e4]@2 [c#4,e4]@2 d4@2 [b3,d4]@2 [b3,d4]@2 [b3,d4]@2 [b3,d4]@2 [b3,d4]@2 b3 ~ [b3,d4]@2 [b3,d4]@2 [b3,e4]@2", // C#m Bm E5
  H: "[b3,d4] [a3,c#4]!2 c#4 [a3,c#4]!4 c#4!2 [a3,c#4] c#4", I: "[a3,c#4] [g#3,b3]!10 ~",
})).s("gm_overdriven_guitar").gain(0.31).pan(0.6)

// chords · overdriven guitar · soft notes
const overdriven_guitar_soft = note("<~@25 [~@8 c#4!2 ~@2] [~@2 b3 ~@9] [~@3 a3 ~@4 a3!2 ~ a3] ~@29>")
  .s("gm_overdriven_guitar").gain(0.23).pan(0.6)

// drums · snare
const snare = s("sd").struct("<~ A B C D E@7 F E@7 G E ~@6 H E@7 G E@7 G E@3 F E@6 I J>".pickRestart({
  A: "x ~@2 x!4 ~@2 x ~@2", B: "x!2 ~@2", C: "x ~@2 x ~@2 x!6", D: "x!7 ~ x!2 ~ x", E: "~ x ~ x",
  F: "~@3 x ~@4 x!2 ~ x", G: "~@3 x ~@4 x!2 ~@2", H: "~@9 x ~ x", I: "x!12", J: "x",
})).gain(0.37)

// drums · snare · soft notes
const snare_soft = s("sd").struct("<~ [~ x!2 ~@4 x!2 ~ x!2] [~ x!2 ~ x!8] [~ x!2 ~ x!2 ~@6] [~@7 x ~@4] ~@52>")
  .gain(0.26)

// drums · hihat
const hihat = s("hh").struct("<~@5 A@7 B A@7 B ~@8 C D E@3 F E@2 C D E@3 F E@2 D E@3 C D E@3 F ~@2>".pickRestart({
  A: "x ~@2 x ~ x!2 ~@2 x ~ x", B: "x!2 ~ x ~@2", C: "x ~ x ~@2 x!2 ~ x ~@3", D: "x ~ x ~@2 x!2 ~ x!2 ~ x",
  E: "x ~ x!2 ~ x!2 ~ x!2 ~ x", F: "x ~ x!2 ~@2 x ~ x!2 ~ x",
})).gain(0.37)

// drums · mid tom
const mid_tom = s("mt").struct("<~@28 [~ x] ~@28>").gain(0.53)

// drums · high tom
const high_tom = s("ht").struct("<~@12 A ~@7 A ~ B@2 C D B@2 E ~@7 A ~@7 A ~@12>".pickRestart({
  A: "~ x ~@2", B: "~@3 x!3 ~@3 x!3", C: "~@6 x ~ x!2 ~@8 x ~ x ~ x ~", D: "~ x ~ x", E: "~@5 x ~@6",
})).gain(0.32)

// drums · crash
const crash = s("cr").struct("<~@29 x ~@26 [~@3 x ~@4]>").gain(0.42)

// drums · ride
const ride = s("rd").struct("<~ A@3 B ~@16 C@7 D ~@16 C@3 E ~@7 F>".pickRestart({
  A: "x!12", B: "x!10 ~@2", C: "x ~@2 x ~ x!2 ~@2 x ~ x", D: "x ~@2 x ~ x!2 ~@2 x ~@2", E: "x ~@2 x ~ x!2 ~@5",
  F: "~@2 x!2 ~ x ~@6",
})).gain(0.37)

stack(
  piano, bass, electric_guitar_clean, electric_guitar_jazz, overdriven_guitar, overdriven_guitar_2,
  overdriven_guitar_soft, snare, snare_soft, hihat, mid_tom, high_tom, crash, ride
)

More by Elvis Presley