Strudelify

Any Way You Want Me

Elvis Presley

KeyC majorTempo84 bpm
0:00/0:00
// Any Way You Want Me — Elvis Presley
// 84 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: coarse tuning (RPN 2) transposes the affected channels
// note: Full arrangement: all 42 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(84/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("<A B C D E F G H A B I D J F K H L M N O P Q R S T U V W X Y Z AA AB AC@8 ~>".pickRestart({
  A: "[e4,g4,c5] ~ g4 ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [g4,c5] ~ [e4,g4,c5] ~, c3@5 e3 g3@3 e3@2 g3", // C C5 C C5 C
  B: "[e4,a4,c5] ~ [a4,c5] ~ [a4,c5] ~ [e4,a4,c5] ~ [a4,c5] ~ [e4,a4,c5] ~ [e4,a4,c5] ~ [a4,c5] ~ [e4,a4,c5] ~ [e4,a4,c5] ~ [e4,a4,c5] ~ [e4,a4,c5] ~, a2@5 c3 e3@3 c3@2 e3", // Am
  C: "[f4,a4,c5] ~ [f4,a4,c5] ~ [f4,a4,c5] ~ [f4,a4,c5] ~ [f4,a4,c5] ~ [f4,a4,c5] ~ [f4,b4,d5] ~ [b4,d5] ~ [b4,d5] ~ [e4,b4,d5] ~ [b4,d5] ~ [e4,b4,d5] ~, f2@5 a2 g2@3 b2@2 d3", // F Bdim Bm E7 Bm E7
  D: "[g4,c5,e5] ~ [c5,e5] ~ [c5,e5] ~ [g4,c5,e5] ~ [c5,e5] ~ [g4,c5,e5] ~ [g4,c5,e5] ~ [c5,e5] ~ [c5,e5] ~ [g4,c5,e5] ~ [c5,e5] ~ [c5,e5] ~, c3@5 e3 g3@3 e3@2 g3", // C
  E: "[g4,c5,e5] ~ [c5,e5] ~ [c5,e5] ~ [g4,c5,e5] ~ c5 ~ [c5,e5] ~ [g4,a#4,e5] ~ [a#4,e5] ~ [g4,a#4,e5] ~ [g4,a#4,e5] ~ [a#4,e5] ~ [g4,a#4,e5] ~, c3@5 e3 g3@3 e3@2 g3", // C Edim A#dim Edim A#dim Edim
  F: "[a4,c5,f5] ~ [c5,f5] ~ [c5,f5] ~ [a4,c5,f5] ~ c5 ~ [c5,f5] ~ [a4,c5,f5] ~ [c5,f5] ~ [c5,f5] ~ [a4,c5,f5] ~ [c5,f5] ~ [a4,c5,f5] ~, f2@5 a2 c3@3 a2@3", // F F5 F F5 F F5 F F5 …
  G: "[g4,c5,e5] ~ [c5,e5] ~ [g4,c5,e5] ~ [g4,c5,e5] ~ [c5,e5] ~ [c5,e5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [b4,d5] ~ [b4,d5] ~, c3@5 e3 g3@3 g2 a2 b2", // C Bdim Bm
  H: "[e4,g4,c5] ~ [e4,g4,c5] ~ [g4,c5] ~ [e4,g4,c5] ~ [g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [g4,c5] ~ [e4,g4,c5] ~ [e4,g4,c5] ~ [g4,c5] ~ [e4,g4,c5] ~, c3@5 e3 g3@3 e3@2 g3", // C C5 C C5 C C5 C C5 …
  I: "[f4,a4,c5] ~ [f4,a4,c5] ~ [f4,a4,c5] ~ [f4,a4,c5] ~ [f4,a4,c5] ~ [f4,a4,c5] ~ [g4,b4,d5] ~ [b4,d5] ~ [b4,d5] ~ [g4,b4,d5] ~ [b4,d5] ~ [g4,b4,d5] ~, f2@5 a2 g2@3 b2@2 d3", // F G Bm G Bm G
  J: "[g4,c5,e5] ~ [c5,e5] ~ [c5,e5] ~ [g4,c5,e5] ~ c5 ~ [c5,e5] ~ [g4,c5,e5] ~ [c5,e5] ~ [g4,c5,e5] ~ [g4,c5,e5] ~ [c5,e5] ~ [g4,c5,e5] ~, c3@5 e3 g3@3 e3@2 g3", // C
  K: "[g4,c5,e5] ~ [c5,e5] ~ [g4,c5,e5] ~ [g4,c5,e5] ~ [c5,e5] ~ [c5,e5] ~ [g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5] ~ [b4,d5] ~ [b4,d5] ~, c3@5 e3 g3@3 g2 a2 b2", // C G Bm
  L: "[a3,c4,f4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~ [c4,f4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~ [c4,f4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~, f2@5 a2 c3@3 a2@2 c3", // F F5 F F5 F
  M: "[g3,c4,e4] ~ [g3,c4,e4] ~ [g3,c4,e4] ~ [g3,c4,e4] ~ [c4,e4] ~ [g3,c4,e4] ~ [g3,c4,e4] ~ [c4,e4] ~ [g3,c4,e4] ~ [g3,c4,e4] ~ [g3,c4,e4] ~ [g3,c4,e4] ~, c2@5 e2 g2@3 e2@2 g2", // C
  N: "[a3,c4,f4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~ [c4,f4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~ [c3,a3,c4,f4] ~, f2@5 a2 c3@3 a2@2 ~", // F F5 F
  O: "[g3,c4,e4] ~ [c4,e4] ~ [g3,c4,e4] ~ [g3,c4,e4] ~ c4 ~ [g3,c4,e4] ~ [g3,c4,e4] ~ [g3,c4,e4] ~ [c4,e4] ~ [g3,c4,e4] ~ [g3,c4,e4] ~ [g3,c4,e4] ~, c2@5 e2 g2@3 e2@2 g2", // C
  P: "[a3,c4,f#4] ~ [a3,c4,f#4] ~ [c4,f#4] ~ [a3,c4,f#4] ~ [c4,f#4] ~ [a3,c4,f#4] ~ [a3,c4,f#4] ~ [c4,f#4] ~ [a3,c4,f#4] ~ [a3,c4,f#4] ~ a2@2 [a3,c4,f#4] ~, d2@10 f#2@2 a2@6 b2@2 c4 ~ f#2@2", // F#dim Cdim F#dim Cdim F#dim Cdim F#dim
  Q: "[a3,c4,f#4] ~ [a3,c4,f#4] ~ [a3,c4,f#4] ~ [a3,c4,f#4] ~ [c4,f#4] ~ [a3,c4,f#4] ~ [a3,c4,f#4] ~ [c4,f#4] ~ [a3,c4,f#4] ~ [a3,c4,f#4] ~ [c4,f#4] ~ [c4,f#4] ~, d2@5 f#2 a2@3 b2 a2 f#2", // F#dim Cdim F#dim Cdim F#dim Cdim
  R: "[a3,c4,f#4] ~ [c4,f#4] ~ [a3,c4,f#4] ~ [a3,c4,f#4] ~ [a3,c4,f#4] ~ [a3,c4,f#4] ~ [c4,f#4,a4] ~ [c4,f#4,a4] ~ [c4,f#4,a4] ~ [a3,c4,f#4] ~ [a3,c4,f#4] ~ [a3,c4,f#4] ~, d2@5 f#2 a2@3 b2 a2 f#2", // F#dim Cdim F#dim
  S: "[b3,d4,f4,g4] ~ [b3,d4,f4,g4] ~ [b3,d4,f4,g4] ~ [b3,d4,f4,g4] ~ [b3,d4,f4,g4] ~ [b3,d4,f4,g4] ~ [b3,d4,f4,g4] ~ [b3,d4,f4] ~ [b3,d4,f4] ~ [b3,d4,f4,g4] ~ [b3,d4,f4,g4] ~ [d4,f4,g4] ~, g2@5 d2 g2 a2 g2 f2 e2 d2", // G7 Bdim G7
  T: "[g3,c4,e4] ~ [c4,e4] ~ [g3,c4,e4] ~ [g3,c4,e4] ~ [g3,c4,e4] ~ [g3,c4,e4] ~ [g3,c4,e4] ~ [c4,e4] ~ [g3,c4,e4] ~ [g3,c4,e4] ~ [g3,c4,e4] ~ [g3,c4,e4] ~, c2@10 e2@2 g2@5 ~ e2@4 g2@2", // C
  U: "[a3,c4,e4] ~ [c4,e4] ~ [c4,e4] ~ [a3,c4,e4] ~ [c4,e4] ~ [c4,e4] ~ [a3,c4,e4] ~ [c4,e4] ~ [c4,e4] ~ [a3,c4,e4] ~ [c4,e4] ~ [a3,c4,e4] ~, a2@5 c3 e3@3 c3@2 e3", // Am C Am C Am C Am C …
  V: "[a3,c4,f4] ~ [c4,f4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~ [c4,f4] ~ [a3,c4,f4] ~ [b3,d4,f4,g4] ~ [b3,d4,f4] ~ [b3,d4,f4] ~ [b3,d4,f4,g4] ~ [b3,d4,f4] ~ [b3,d4,f4] ~, f2@10 a2@2 g2@5 ~ g2@2 a2@2 b2@2", // F F5 F F5 F G7 Bdim G7 …
  W: "[g3,c4,e4] ~ [g3,c4,e4] ~ [c4,e4] ~ [g3,c4,e4] ~ [c4,e4] ~ [g3,c4,e4] ~ [g3,c4,e4] ~ [c4,e4] ~ [g3,c4,e4] ~ [g3,c4,e4] ~ [g3,c4,e4] ~ [g2,g3,c4,e4] ~, c3@5 g2 a2@3 g2 e2 ~", // C
  X: "[g3,c4,e4] ~ [c4,e4] ~ [c4,e4] ~ [g3,c4,e4] ~ [c4,e4] ~ [g3,c4,e4] ~ [g3,c4,e4] ~ [c4,e4] ~ [g3,c4,e4] ~ [g3,c4,e4] ~ [g3,c4,e4] ~ [c4,e4] ~, c2@5 e2 g2@3 e2@2 g2", // C
  Y: "[a3,c4,f4] ~ [c4,f4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~ [a3,c4,f4] ~ [a2,c4,f4] ~, f2@5 a2 c3@3 d3 c3 ~", // F F5 F
  Z: "[g3,c4,e4] ~ [c4,e4] ~ [g3,c4,e4] ~ [g3,c4,e4] ~ [c4,e4] ~ [g3,c4,e4] ~ [f3,b3,d4] ~ [b3,d4] ~ [f3,b3,d4] ~ [f3,b3,d4] ~ [b3,d4] ~ [f3,b3,d4] ~, c2@5 e2 g2@3 f2 e2 d2", // C Bdim Bm Bdim Bm Bdim
  AA: "[e3,g3,c4] ~ [g3,c4] ~ [e3,g3,c4] ~ [e3,g3,c4] ~ [g3,c4] ~ [e3,g3,c4] ~ [f3,a3,c4] ~ [f3,a3,c4] ~ [f3,a3,c4] ~ [f3,a3,c4] ~ [f3,a3,c4] ~ [f3,a3,c4] ~, c2@10 e2@2 f2@6 a2@5 ~", // C C5 C C5 C F
  AB: "[e3,g3,c4]@8 ~ [f2,f3,a3,c4]@3, c2@3 ~", AC: "[[c2,c4], [e3,g3] ~@63]/8",
})).s("gm_piano").gain(0.4).pan(0.2)

// chords · piano · "A.PIANO 1" · soft notes
const piano_soft = note("<A B C D E F G H A B I D E F J H K L M N O P Q R S T U V W X Y Z ~@10>".pickRestart({
  A: "~@2 [e4,c5] ~@11 e4 ~@5 e4 ~@3", B: "~@2 e4 ~ e4 ~@3 e4 ~@5 e4 ~@9", C: "~@14 f4 ~ f4 ~@3 e4 ~@3",
  D: "~@2 g4 ~ g4 ~@3 g4 ~@5 g4 ~ g4 ~@3 g4 ~ g4 ~", E: "~@2 g4 ~ g4 ~@3 [g4,e5] ~ g4 ~@3 g4 ~@5 g4 ~@3",
  F: "~@2 a4 ~ a4 ~@3 [a4,f5] ~ a4 ~@3 a4 ~ a4 ~@3 a4 ~@3", G: "~@2 g4 ~@5 g4 ~ g4 ~@9 f4 ~ f4 ~",
  H: "~@4 e4 ~@3 e4 ~@5 e4 ~@5 e4 ~@3", I: "~@14 g4 ~ g4 ~@3 g4 ~@3", J: "~@2 g4 ~@5 g4 ~ g4 ~@9 g4 ~ g4 ~",
  K: "~@8 a3 ~@5 a3 ~@9", L: "~@8 g3 ~@5 g3 ~@9", M: "~@8 a3 ~@15", N: "~@2 g3 ~@5 [g3,e4] ~@7 g3 ~@7",
  O: "~@4 a3 ~@3 a3 ~@5 a3 ~@5 [a3,f#4] ~@3", P: "~@8 a3 ~@5 a3 ~@5 a3 ~ a3 ~", Q: "~@2 a3 ~@21",
  R: "~@14 g4 ~ g4 ~@5 b3 ~", S: "~@2 g3 ~@11 g3 ~@9", T: "~@2 a3 ~ a3 ~@3 a3 ~ a3 ~@3 a3 ~ a3 ~@3 a3 ~@3",
  U: "~@2 a3 ~@5 a3 ~@5 g4 ~ g4 ~@3 g4 ~ g4 ~", V: "~@4 g3 ~@3 g3 ~@5 g3 ~@9", W: "~@2 g3 ~ g3 ~@3 g3 ~@5 g3 ~@7 g3 ~",
  X: "~@2 a3 ~@19 a3 ~", Y: "~@2 g3 ~@5 g3 ~@5 f3 ~@5 f3 ~@3", Z: "~@2 e3 ~@5 e3 ~@15",
})).s("gm_piano").gain(0.24).pan(0.2)

// bass · acoustic bass · "ACOU BASS"
const bass = note("<A B C A@2 D E A@2 F C A@2 D E A G A G A H@3 I J K L M J N O P Q R ~@8>".pickRestart({
  A: "c2@5 e2 g2@3 e2@2 g2", B: "a1@5 c2 e2@3 c2@2 e2", C: "f1@5 a1 g1@3 b1@2 d2", D: "f1@5 a1 c2@3 a1@3",
  E: "c2@5 e2 g2@3 g1 a1 b1", F: "a1@5 c2 e2@3 c2 ~ e2", G: "f2@5 a2 c3@3 a2@2 c3", H: "d2@5 f#2 a2@3 b2 a2 f#2",
  I: "g2@9 ~ d2@2 g2@2 a2@2 g2@2 f2@2 e2@2 d2@2", J: "c2@10 e2@2 g2@6 e2@4 g2 ~", K: "a1@10 c2@2 e2@6 c2@4 e2 ~",
  L: "f1@9 ~ a1@2 g1@5 ~ g1@2 a1@2 b1@2", M: "c2@9 ~ g2@2 a2@6 g2@2 e2@2 g2@2", N: "f1@5 a1 c2@3 d2 c2 a1",
  O: "c2@5 e2 g2@3 f2 e2 d2", P: "c2@8 d2@2 e2@2 f2@5 ~ f1@6", Q: "c2@3 f1", R: "c2 ~@7",
})).s("gm_acoustic_bass").gain(0.3)

// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
  A B C D E F G H A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ~@8
>`.pickRestart({
  A: "[c3,e3,g3,c4]@3 ~ [c3,e3,g3,c4] ~ [c3,g3,c4]@3 ~ [c3,e3,g3,c4] ~ [c3,g3,c4]@3 ~ [c3,e3,g3,c4] ~ [c3,g3,c4]@3 ~ [c3,e3,g3,c4] ~", // C C5 C C5 C C5 C
  B: "[a2,a3,c4]@3 ~ [a2,a3,c4] ~ [a2,e3,a3,c4]@3 ~ [a2,a3,c4] ~ [a2,a3,c4]@3 ~ [a2,e3,a3,c4] ~ [a2,e3,a3,c4]@3 ~ [a2,e3,a3,c4] ~", // Am
  C: "[f2,a3,c4]@3 ~ [f2,f3,a3,c4] ~ [f2,f3,a3,c4]@3 ~ [f2,f3,a3,c4] ~ [g2,f3,b3,d4]@3 ~ [g2,b3,d4] ~ [g2,f3,b3,d4]@3 ~ [g2,f3,b3,d4] ~", // F G7 G G7
  D: "[c3,g3,c4,e4]@3 ~ [c3,g3,c4,e4] ~ [c3,g3,c4,e4]@3 ~ [c3,g3,c4,e4] ~ [c3,c4,e4]@3 ~ [c3,c4,e4] ~ [c3,c4,e4]@3 ~ [c3,g3,c4,e4] ~", // C
  E: "[c3,c4,e4]@3 ~ [c3,g3,c4,e4] ~ [c3,c4,e4]@3 ~ [c3,g3,c4,e4] ~ [c3,a#3,e4]@3 ~ [c3,g3,a#3,e4] ~ [c3,g3,a#3,e4]@3 ~ [c3,g3,a#3,e4] ~", // C C7
  F: "[f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@3 ~ [f3,c4,f4] ~ [f3,a3,c4,f4]@3 ~ [f3,c4,f4] ~ [f3,c4,f4]@3 ~ [f3,a3,c4,f4] ~", // F F5 F F5 F
  G: "[c3,c4,e4]@3 ~ [c3,c4,e4] ~ [c3,c4,e4]@3 ~ [c3,g3,c4,e4] ~ [g2,b3,d4]@3 ~ [g2,b3,d4] ~ [g2,b3,d4]@3 ~ [g2,f3,b3,d4] ~", // C G G7
  H: "[c3,g3,c4]@3 ~ [g3,c4] ~ [c3,g3,c4]@3 ~ [c3,e3,g3,c4] ~ [c3,e3,g3,c4]@3 ~ [c3,g3,c4] ~ [c3,g3,c4]@3 ~ [c3,e3,g3,c4] ~", // C5 C C5 C
  I: "[f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@3 ~ [f3,c4,f4] ~ [f3,a3,c4,f4]@3 ~ [f3,c4,f4] ~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4] ~", // F F5 F F5 F
  J: "[c3,g3,c4,e4]@3 ~ c4 ~ [c3,g3,c4,e4]@3 ~ [c3,g3,c4,e4] ~ [c3,c4,e4]@3 ~ [c3,c4] ~ [c3,c4,e4]@3 ~ [c3,c4,e4] ~", // C
  K: "[f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4] ~ [f3,a3,c4,f4]@4 [f3,c4,f4] ~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4] ~", // F F5 F
  L: "[c3,g3,c4,e4]@3 ~ [c3,g3,c4,e4] ~ [c3,g3,c4,e4]@3 ~ [c3,c4,e4] ~ [c3,g3,c4,e4]@3 ~ [c3,c4,e4] ~ [c3,g3,c4,e4]@3 ~ [c3,g3,c4,e4] ~", // C
  M: "[d3,a3,c4,f#4]@3 ~ [d3,a3,c4,f#4] ~ [d3,a3,c4,f#4]@3 ~ [d3,a3,c4,f#4] ~ [d3,a3,c4,f#4]@3 ~ [d3,a3,c4,f#4] ~ [d3,a3,c4,f#4]@3 ~ [d3,c4,f#4] ~", // D7
  N: "[d3,a3,c4,f#4]@3 ~ [d3,a3,c4,f#4] ~ [d3,a3,c4,f#4]@3 ~ [d3,c4,f#4] ~ [d3,a3,c4,f#4]@3 ~ [d3,a3,c4,f#4] ~ [d3,a3,c4,f#4]@3 ~ [d3,c4,f#4] ~", // D7
  O: "[d3,a3,c4,f#4]@3 ~ [d3,c4,f#4] ~ [d3,a3,c4,f#4]@3 ~ [d3,a3,c4,f#4] ~ [d3,c4,f#4]@3 ~ [d3,c4,f#4] ~ [d3,a3,c4,f#4]@3 ~ [d3,a3,c4,f#4] ~", // D7
  P: "[g3,b3,d4,f4,g4]@3 ~ [g3,b3,d4,f4,g4] ~ [g3,d4,f4,g4]@3 ~ [g3,b3,d4,f4,g4] ~ [g3,d4,f4,g4]@3 ~ [g3,b3,d4,f4,g4] ~ [g3,b3,d4,f4,g4]@3 ~ [g3,b3,d4,f4,g4] ~", // G7
  Q: "[c3,g3,c4,e4]@3 ~ [c3,g3,c4,e4] ~ [c3,c4,e4]@3 ~ [c3,g3,c4,e4] ~ [c3,c4,e4]@3 ~ [c4,e4] ~ [c3,g3,c4,e4]@3 ~ [c3,g3,c4,e4] ~", // C
  R: "[a2,a3,c4,e4]@3 ~ [a2,a3,c4,e4] ~ [a2,a3,c4,e4]@3 ~ [a2,a3,c4,e4] ~ [a2,a3,c4,e4]@3 ~ [a2,c4,e4] ~ [a2,a3,c4,e4]@3 ~ [a2,c4,e4] ~", // Am
  S: "[f3,a3,c4,f4]@3 ~ [f3,c4,f4] ~ [f3,a3,c4,f4]@3 ~ [f3,a3,c4,f4] ~ [g3,b3,d4,f4,g4]@3 ~ [g3,b3,d4,f4,g4] ~ [g3,d4,f4,g4]@3 ~ [g3,b3,d4,f4,g4] ~", // F F5 F G7
  T: "[c3,g3,c4,e4]@3 ~ [c3,g3,c4,e4] ~ [c3,g3,c4,e4]@3 ~ [c3,c4,e4] ~ [c3,g3,c4,e4]@3 ~ [c3,g3,c4,e4] ~ [c3,g3,c4,e4]@3 ~ [c3,g3,c4,e4] ~", // C
  U: "[c3,c4,e4]@3 ~ [c3,g3,c4,e4] ~ [c3,c4,e4]@4 [c3,g3,c4,e4] ~ [c3,c4,e4]@3 ~ [c3,c4,e4] ~ [c3,c4,e4]@3 ~ [c3,c4,e4] ~", // C
  V: "[f3,a3,c4,f4]@3 ~ [a3,c4,f4] ~ [f3,c4,f4]@3 ~ [f3,a3,c4,f4] ~ [f3,c4,f4]@3 ~ [c4,f4] ~ [f3,c4,f4]@3 ~ [f3,a3,c4,f4] ~, ~@18 g4 ~@5", // F F5 F F5 F
  W: "[c3,g3,c4,e4]@3 ~ [c3,g3,c4,e4] ~ [c3,c4,e4]@3 ~ [c3,g3,c4,e4] ~ [g2,f3,b3,d4]@3 ~ [g2,f3,b3,d4] ~ [g2,f3,b3,d4]@3 ~ [g2,f3,b3,d4] ~", // C G7
  X: "[c3,e3,g3,c4]@3 ~ [c3,e3,g3,c4] ~ [c3,g3,c4]@3 ~ [c3,e3,g3,c4] ~@2 c3@3 [f2,c3,f3,a3,c4] ~ [f2,c3,f3,a3,c4]@3 ~ [f3,a3,c4] ~, ~@4 [f2,f3,a3,c4] ~@3", // C C5 C F
  Y: "[c3,e3,g3,c4]@15 ~@3 [f2,c3,a3,c4]@5 ~", Z: "[c3,e3,g3,c4] ~@7",
})).s("gm_acoustic_guitar_steel").gain(0.12).pan(0.8)

// chords · acoustic guitar steel · "STEEL GTR" · soft notes
const acoustic_guitar_steel_2 = note(`<
  A B C D E F G H A B C D E F G H I J K L M N O P Q R S T U V W X Y ~@9
>`.pickRestart({
  A: "~@2 e3 ~ e3 ~ e3 ~", B: "e3@3 ~ e3 ~@5 e3 ~ e3@3 ~@9", C: "f3@3 ~@13 f3 ~@7", D: "~@12 g3@3 ~ g3 g3@4 ~@3",
  E: "g3 ~ g3 ~ g3 ~@3", F: "~@10 a3 ~@5 a3 ~ a3@3 ~@3", G: "g3@3 ~ g3 ~ g3@3 ~@3 f3@3 ~ f3 ~ f3@3 ~@3",
  H: "e3@3 ~ [c3,e3] ~ e3@3 ~@7 e3 ~ e3@3 ~@3", I: "~@10 a3 ~@5 a3 ~@7",
  J: "~@4 [c3,g3,e4] ~@7 g3@3 ~ [g3,e4] ~ g3@3 ~ g3 ~", K: "~@16 a3 ~@7", L: "~@10 g3 ~@5 g3 ~@7", M: "~@22 a3 ~",
  N: "~@10 a3 ~@11 a3 ~", O: "~@4 a3 ~@7 a3@3 ~ a3 ~@7", P: "~@2 b3 ~ b3 ~@3", Q: "~@6 g3@3 ~@3 g3@3 ~ [c3,g3] ~@7",
  R: "~@16 a3 ~@5 a3 ~", S: "~@4 a3 ~@13 b3@3 ~@3", T: "~@10 g3 ~@13", U: "g3@3 ~@3 g3@4 ~@2 g3@3 ~ g3 ~ g3@3 ~ g3 ~",
  V: "~@4 f3 ~ a3@3 ~@3 a3@3 ~ [f3,a3] ~ a3@3 ~@3", W: "~@2 g3 ~@5", X: "~@6 e3@3 ~@13 [f2,c3] ~", Y: "~@18 f3@5 ~",
})).s("gm_acoustic_guitar_steel").gain(0.08).pan(0.8)

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

// drums · kick · soft notes
const kick_soft = s("bd").struct("<[~@5 x ~@6]!7 ~ [~@5 x ~@6]!7 ~@8 [~@5 x ~@6]!4 ~@2 [~@5 x ~@6] ~@12>").gain(0.3)

// drums · snare
const snare = s("sd").struct("<[~ x ~ x]!32 ~@10>").gain(0.45)

// drums · low tom
const low_tom = s("lt").struct("<~@7 A ~@7 A ~@3 A ~@3 B ~@3 B ~@3 B C ~@9>".pickRestart({
  A: "~@11 x", B: "~@10 x!2", C: "~@22 x!2",
})).gain(0.4)

// drums · pedal hat
const pedal_hat = s("hh").struct("<A@3 B A B A B A@3 B A B A B ~@8 C B A@2 ~@14>".pickRestart({
  A: "x!12", B: "x!11 ~", C: "~ x!11",
})).gain(0.35)

// drums · mid tom
const mid_tom = s("mt").struct("<~@7 A ~@7 A ~@3 A ~@12 B ~@9>".pickRestart({
  A: "~@5 x", B: "~@11 x",
})).gain(0.35)

// drums · open hat
const open_hat = s("oh").struct("<~@3 A ~ A ~ A ~@3 A ~ A ~ A ~@9 A ~@16>".pickRestart({
  A: "~@11 x",
})).gain(0.35)

// drums · crash
const crash = s("cr").struct("<~@16 A ~@3 A ~@2 B A ~@3 A ~ C A@3 ~@8>".pickRestart({
  A: "x", B: "~@3 x", C: "x!2",
})).gain(0.45)

// drums · ride
const ride = s("rd").struct("<~@16 A B@3 A B@2 C ~@4 A B D A ~@10>".pickRestart({
  A: "~ x!11", B: "x!12", C: "x!9 ~ x!2", D: "~ x!5 ~ x!5",
})).gain(0.35)

stack(
  piano, piano_soft, bass, acoustic_guitar_steel, acoustic_guitar_steel_2, kick, kick_soft, snare, low_tom, pedal_hat,
  mid_tom, open_hat, crash, ride
)

More by Elvis Presley