Strudelify

(You're The) Devil in Disguise

Elvis Presley

KeyF majorTempo122 bpm
0:00/0:00
// (You're The) Devil in Disguise — Elvis Presley
// 122 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 61 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(122/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@4 D@2 E F G H I J K@2 L M N O P B Q@4 R@2 S T U V W X Y@2 Z AA AB AC AD AE AF@4 AG@2 AH AI AJ AK AL AM AN AO
  AP AQ AR B
>`.pickRestart({
  A: "~ [bb3,d4,f4]@2 ~ [bb3,d4,f4] ~ [bb3,d4,f4]@2 ~@2 [bb3,d4,f4] ~ [bb3,d4,f4] ~@4 [c4,e4,g4]@2 ~ [c4,e4,g4] ~@2 [e4,g4]@2 ~@2 [c4,e4,g4] [c4,e4] g4 ~@2, ~@23 c4 ~@8", // Bb C Em C
  B: "~ [f4,a4,c5]@2 ~@29", // F
  C: "[~@4 f3@4 ~@4 f3@5 ~@4 f3@4 ~@4 f3@4 ~@4 f3@3 ~@5 f3@4 ~@12 f3@4 ~@3 f3@4 ~@5 f3@4 ~@4 f3@3 ~@5 f3@3 ~@4 f3@4 ~@4 f3@5 ~@4 f3@4 ~@4 f3@3, f2@13 ~@4 f2@13 ~@3 f2@12 ~@4 f2@13 ~@3 f2@13 ~@3 f2@13 ~@2 f2@13 ~@4 f2@9 ~@6, ~@8 [a3,c4]@13 ~@4 [a3,c4]@13 ~@2 [a3,c4]@13 f3@5 ~@70, ~@56 [a3,c4]@12 ~@4 [a3,c4]@13 ~@3 [a3,c4]@12 ~@4 [a3,c4]@13 ~@4 [a3,c4]@7]/4", // Am
  D: "[~@13 bb3@4 ~@11 bb3@4 ~@4 bb3@4 ~@4 bb3@4 ~@4 bb3@4 ~@4 bb3@4, bb2@13 ~@4 bb2@12 ~@3 bb2@13 ~@3 bb2@9 ~@7, ~@5 bb3@5 ~@11 bb3@5 ~@38, ~@8 [d4,f4]@12 ~@4 [d4,f4]@12 ~@4 [d4,f4]@13 ~@3 [d4,f4]@8]/2", // Dm
  E: "~@2 c4@2 ~@2 c4@2 ~@2 c4@2 [e4,g4]@2 c4 ~, c3@13 ~@3 c3@13 ~@3, ~@8 [e4,g4]@13 ~@11", // Em
  F: "[c3,c4,e4,g4]@4 ~@15 c7@2 ~ a6 ~ d6 c6 [a5,b5] [f5,g5] [d5,e5] [b4,c5] [g4,a4] [e4,f4], ~@21 b6@2 f6@2 ~@7, ~@11 g6 e6 ~@3", // C Asus2 Fsus2 Dsus2 Cmaj7 Gsus2 Fmaj7
  G: "[d4,f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~@2 [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f3,a3,c4]@2 [f5,a5,c6], f2@5 [f3,a3,c4]@4 f2@3 c4@5 f2@4 [a3,c4]@6 ~@2 [f5,a5,c6] ~@2, ~@13 [f3,a3]@5 ~@2 f3@5 f2@5 ~@2", // Dm7 F Am F
  H: "~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] a5 [d5,f5] d5 [f5,a5] [d5,f5,a5] ~ d5 [f5,a5] ~ [d5,f5,a5] [d5,a5] f5 [d5,f5,a5] [d3,f3,a3]@2 [d5,f5,a5], ~ d2@4 [d3,f3,a3]@4 d2@4 [d3,f3,a3]@4 d2@4 [d3,f3,a3]@4 d2@4 ~@3", // Dm F Dm F Dm D5 Dm
  I: "~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f3,a3,c4]@2 [f5,a5,c6], ~ f2@4 [f3,a3,c4]@4 f2@4 [f3,a3,c4]@4 f2@4 [f3,a3,c4]@4 f2@4 [f5,a5,c6] ~@2", // F
  J: "~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5]!2 ~ [d5,a5] f5 [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~, ~ d2@4 [d3,f3,a3]@4 d2@4 [d3,f3,a3]@4 d2@4 [d3,f3,a3]@4 d2@4 [d3,f3,a3]@3", // Dm D5 Dm
  K: "[[f5,a5] c6 [f5,c6] a5 [f5,a5,c6] ~ [f5,a5,c6] ~@2 [f5,a5,c6] ~ [f5,a5,c6] f5 [a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] f5 [a5,c6] [f5,a5,c6] ~ f5 [a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~, ~ f2@4 [f3,a3,c4]@4 f2@4 [f3,a3,c4]@4 f2@4 [f3,a3,c4]@4 f2@4 [f3,a3,c4]@4 f2@3 f3@5 f2@4 ~@4 f2@4 ~@4 f2@4 ~@3, ~@37 [a3,c4]@5 ~@3 [f3,a3,c4]@5 ~@2 [f3,a3,c4]@5 ~@4 [f3,a3,c4]@3]/2", // F F5 F Am F Am F Am …
  L: "[d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~, ~ d2@4 [d3,f3,a3]@4 d2@3 d3@5 d2@5 ~@3 d2@4 ~@3, ~@13 [f3,a3]@5 ~@3 [d3,f3,a3]@5 ~@3 [d3,f3,a3]@3", // Dm F Dm
  M: "[d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~, ~ d2@3 d3@5 d2@4 [f3,a3]@5 ~@2 [d3,f3,a3]@5 ~@3 d3@3 ~, ~@5 [f3,a3]@5 ~@2 d3@5 d2@4 ~@4 d2@4 [f3,a3]@3", // Dm F Dm F
  N: "[f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~, ~ f2@4 [f3,a3,c4]@4 f2@4 [f3,a3,c4]@4 f2@4 [f3,a3,c4]@4 f2@4 [f3,a3,c4]@3", // F
  O: "[d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~, ~ d2@4 [d3,f3,a3]@4 d2@3 [d3,f3]@5 d2@4 ~@4 d2@4 ~@3, ~@13 a3@5 ~@3 [d3,f3,a3]@4 ~@4 [d3,f3,a3]@2 ~", // Dm
  P: "bb3 f4@2 ~@2 [bb3,d4,f4] ~ [bb3,d4,f4]@2 ~@2 [bb3,d4,f4] ~ d4@2 ~@2 [c4,e4,g4]@2 ~@2 [c4,e4,g4] ~ [c4,e4,g4]@2 ~@2 [c4,e4,g4] ~ [c4,e4,g4] ~@2, d4 ~@5 bb3 ~@9, ~@13 f4 ~@18", // Bb C
  Q: "[~@4 f3@4 ~@4 f3@5 ~@4 f3@4 ~@4 f3@4 ~@12 f3@4 ~@4 f3@4 ~@3 f3@5 ~@3 f3@4 ~@5 f3@4 ~@3 f3@4 ~@4 f3@4 ~@4 f3@4 ~@4 f3@4 ~@5 f3@4 ~@4 f3@3, f2@13 ~@4 f2@13 ~@3 f2@13 ~@3 f2@13 ~@3 f2@12 ~@4 f2@13 ~@2 f2@13 ~@3 f2@10 ~@6, ~@8 [a3,c4]@13 ~@4 [a3,c4]@12 f3@5 ~@86, ~@40 [a3,c4]@13 ~@4 [a3,c4]@12 ~@3 [a3,c4]@13 ~@3 [a3,c4]@13 ~@3 [a3,c4]@13 ~@4 [a3,c4]@7]/4", // Am
  R: "[~@4 bb3@4 ~@5 bb3@4 ~@4 bb3@4 ~@3 bb3@4 ~@5 bb3@3 ~@5 bb3@3 ~@5 bb3@4 ~@4 bb3@3, ~ bb2@13 ~@3 bb2@13 ~@2 bb2@13 ~@3 bb2@10 ~@6, ~@8 [d4,f4]@11 ~@6 [d4,f4]@11 ~@4 [d4,f4]@12 ~@5 [d4,f4]@7]/2", // Dm
  S: "~@4 c4@4 ~@5 c4@3 ~@5 c4@4 [e4,g4]@4 c4@3, ~ c3@12 ~@3 c3@13 ~@3, ~@2 e4@3 ~@3, ~@9 g4@11 ~@12", // Em
  T: "~ [c3,c4,e4,g4]@3 ~@17 b6 a6 [f6,g6] [d6,e6] c6 [g5,a5,b5] [e5,f5] [c5,d5] [a4,b4] [f4,g4] e4, ~@10 c7 ~@5", // C Fsus2 Dsus2 G Fmaj7 Csus2 Asus2 Fsus2
  U: "~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f3,a3,c4]@2 [f5,a5,c6], ~ f2@4 [f3,a3,c4]@4 f2@4 [f3,a3,c4]@4 f2@4 [f3,a3,c4]@5 f2@3 [f5,a5,c6] ~@2", // F
  V: "~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] d5 [f5,a5] [d5,a5] f5, ~ d2@4 [d3,f3,a3]@4 d2@4 [d3,f3,a3]@4 d2@4 [d3,f3,a3]@4 d2@4 [d3,f3,a3]@3", // Dm F D5 Dm
  W: "~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] f5 [a5,c6] [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,c6] a5, ~ f2@4 [f3,a3,c4]@4 f2@4 [f3,a3,c4]@4 f2@4 [f3,a3,c4]@4 f2@4 [f3,a3,c4]@3", // F Am F F5 F
  X: "~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] a5 [d5,f5] a5 [d5,f5] ~ [d5,f5,a5] ~ [d5,f5,a5]!2 ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5] a5 [d5,a5] f5, ~ d2@4 [d3,f3,a3]@4 d2@4 [d3,f3,a3]@4 d2@4 [f3,a3]@5 ~@2 d3@4, ~@20 d3@5 d2@4 [f3,a3]@3", // Dm D5 Dm F
  Y: "[~ [f5,a5,c6] f5 [a5,c6] [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ f5 [a5,c6] [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ f5 [a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] c6 [f5,a5] [f5,c6] a5 [f5,a5,c6] ~ [f5,c6] a5 ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6]!2 ~ c6 [f5,a5] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6]!2 ~, ~ f2@4 [f3,a3,c4]@4 f2@5 ~@3 f2@5 ~@3 f2@4 ~@4 f2@5 ~@3 f2@5 ~@3 f2@4 f3@5 ~ f3@5, ~@12 [f3,a3,c4]@5 ~@4 [f3,a3,c4]@5 ~@3 [f3,a3,c4]@5 ~@3 [f3,a3,c4]@5 ~@3 [f3,a3,c4]@4 ~ c4@5 f2@4 ~@5, ~@51 a3@6 ~@4 [a3,c4]@3]/2", // F Am F Am F Am F F5 …
  Z: "~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] d5 [f5,a5] [d5,f5,a5] ~ [d5,a5] f5 ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5]!2 ~ [d5,a5] f5 [d5,f5,a5] ~, ~ d2@4 [d3,f3,a3]@4 d2@4 [d3,f3,a3]@4 d2@4 [d3,f3,a3]@4 d2@3 [d3,f3,a3]@4", // Dm F Dm D5 Dm D5 Dm
  AA: "[d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~, d2@2 [d3,f3,a3]@2 d2@2 [d3,f3,a3]@2 d2@2 [d3,f3,a3]@2 d2 a3@2 ~, ~@27 f3@3 ~@2, ~@14 d3 ~", // Dm
  AB: "[f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ c6 [f5,a5], f2@4 [f3,a3,c4]@4 f2@4 [f3,a3,c4]@4 f2@4 [a3,c4]@4 f2@5 ~@3, ~@21 f3@4 ~@3 [f3,a3,c4]@4", // F Am F
  AC: "~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5]!2 ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~, ~ d2@4 [d3,f3,a3]@4 d2@4 [d3,f3,a3]@3 d2@4 ~ [d3,f3,a3]@3 d2@2 a3@2 d3@2 ~@2, ~@27 f3@3 ~@2", // Dm
  AD: "[bb3,d4,f4]@3 ~ [bb3,d4,f4] ~@2 [bb3,d4]@2 ~@2 [bb3,d4,f4] ~ [bb3,d4,f4] ~@3 [c4,e4,g4]@2 ~@2 [c4,e4,g4] ~ [e4,g4]@2 ~@2 [c4,e4,g4] ~ [e4,g4]@2 ~, ~@7 f4 ~@15 c4 ~@5 c4 ~@2", // Bb C Em C Em
  AE: "~@2 [f3,a3,c4]@3 ~@27", // F
  AF: "[~@4 f3@4 ~@5 f3@4 ~@4 f3@4 ~@4 f3@4 ~@12 f3@4 ~@4 f3@4 ~@4 f3@4 ~@4 f3@4 ~@4 f3@4 ~@4 f3@4 ~@4 f3@4 ~@3 f3@4 ~@5 f3@4 ~@4 f3@4 ~@4 f3@3, f2@13 ~@4 f2@12 ~@4 f2@13 ~@3 f2@13 ~@3 f2@13 ~@3 f2@12 ~@4 f2@12 ~@4 f2@10 ~@5, ~@8 [a3,c4]@13 ~@4 [a3,c4]@12 f3@5 ~@86, ~@40 [a3,c4]@12 ~@5 [a3,c4]@13 ~@3 [a3,c4]@13 ~@3 [a3,c4]@12 ~@3 [a3,c4]@13 ~@4 [a3,c4]@7]/4", // Am
  AG: "[~@4 bb3@4 ~@4 bb3@4 ~@5 bb3@4 ~@3 bb3@4 ~@4 bb3@4 ~@5 bb3@3 ~@4 bb3@4 ~@4 bb3@4, bb2@13 ~@3 bb2@13 ~@3 bb2@13 ~@3 bb2@9 ~@7, ~@8 [d4,f4]@11 ~@6 [d4,f4]@11 ~@4 [d4,f4]@12 ~@4 [d4,f4]@8]/2", // Dm
  AH: "~@4 c4@4 ~@5 c4@3 ~@4 c4@4 [e4,g4]@4 c4@3 ~, c3@12 ~@4 c3@13 ~@3, ~@2 [e4,g4]@3 ~@3", // Em
  AI: "[c3,c4,e4,g4]@3 ~@18 b6 [g6,a6] [e6,f6] d6 [b5,c6] [g5,a5] [e5,f5] [c5,d5] [a4,b4] g4 [e4,f4], ~@10 c7 ~@5", // C Gsus2 Fmaj7 Cmaj7 Gsus2 Fmaj7 Csus2 Asus2 …
  AJ: "[d4,c6] [f5,a5] f5 [a5,c6] [f5,a5,c6] ~ [f5,a5,c6] ~ c6 [f5,a5] f5 [a5,c6] ~ [f5,a5,c6] f5 [a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f3,a3,c4]@2 [f5,a5,c6], ~ f2@4 [f3,a3,c4]@4 f2@3 [f3,a3,c4]@5 f2@3 c4@5 f2@4 ~@3, ~@21 [f3,a3]@5 ~@3 [f5,a5,c6] ~@2", // D7 F Am F Am F Am F
  AK: "~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5], ~ d2@4 [d3,f3,a3]@4 d2@4 [d3,f3,a3]@4 d2@4 [d3,f3,a3]@4 d2@2 f3@3 ~@2, ~@26 a3@2 d3@3 ~", // Dm
  AL: "~ [f5,a5,c6] f5 [a5,c6] [f5,a5,c6] ~ [f5,c6] a5 ~ [f5,a5,c6] f5 [a5,c6] [f5,c6] a5 [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ f5 [f3,a3]@2 [f5,a5,c6], f2@4 [f3,a3,c4]@5 f2@5 ~@2 f2@5 ~@4 f2@4 [a5,c6] ~@2, ~@12 [f3,a3,c4]@5 ~@3 [f3,a3,c4]@5 ~@3 c4@3 ~", // F Am F F5 F Am F5 F …
  AM: "~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] [d5,a5] f5 d5 [f5,a5] d5 [f5,a5] [d5,f5,a5] ~@2 [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] [d5,a5] f5, ~ d2@4 [d3,f3,a3]@4 d2@3 d3@5 d2@5 ~@2 d2@4 f3@4, ~@13 [f3,a3]@4 ~@4 [d3,f3,a3]@4 ~@2 a3@3 d3@2", // Dm D5 F Dm D5 Dm F Dm
  AN: "~ [f5,a5,c6] c6 [f5,a5] f5 [a5,c6] [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~, f2@4 [f3,a3,c4]@5 f2@3 [a3,c4]@4 f2@4 ~@4 f2@5 ~@3, ~@13 f3@4 ~@3 [f3,a3,c4]@5 ~@3 [f3,a3,c4]@4", // F Am F Am F
  AO: "[d5,f5,a5] ~@2 [d5,f5,a5] d5 [f5,a5] ~ [d5,f5,a5] [d5,a5] f5 [d5,a5] f5 a5 [d5,f5] ~ [d5,f5,a5] d5 [f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] d5 [f5,a5], d2@5 [d3,f3,a3]@4 d2@3 [d3,a3]@4 ~ d2@4 ~@4 d2@2 ~@2 f3@3, ~@13 f3@4 ~@4 [d3,f3,a3]@4 ~@3 a3@2 d3@2", // Dm F Dm D5 Dm F Dm F …
  AP: "~ [f5,a5,c6] ~ [f5,a5,c6] f5 [a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] f5 [a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] f5 [a5,c6] [f5,c6] a5 c6 [f5,a5], ~ f2@3 c4@5 f2@4 [f3,c4]@4 f2@4 a3@4 ~@3 [f3,a3]@3 ~, ~@5 [f3,a3]@5 ~@2 a3@5 ~@3 [f3,c4]@4 ~ f2@4 c4@3", // F Am F Am F Am F5 F …
  AQ: "~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5]!2 ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5] a5 d5 [f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5] ~ [d5,f5,a5], ~ d2@4 [d3,f3,a3]@4 d2@3 [d3,f3,a3]@4 ~ d2@4 [d3,f3,a3]@4 d2@2 ~ a3@2 d3@2, ~@29 f3@3", // Dm F Dm
  AR: "~ [bb3,d4,f4]@2 ~@2 [bb3,d4,f4] ~ [bb3,d4,f4]@2 ~@2 [bb3,d4,f4] ~ [bb3,f4] ~@3 g4@2 ~@2 [c4,e4,g4] ~ [c4,g4] ~@3 [c4,e4,g4] c4 [e4,g4] ~@2, ~@13 d4@2 ~ e4@2 ~@5 e4@2 ~@7, ~@17 c4 ~@14", // Bb Bb5 C C5 C Em
})).s("gm_piano").gain(0.19)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~ A B C D E F@2 G H I ~@10 J B K L M N O P Q R ~@10 S B T@4 U V W I ~@8 X Y
>`.pickRestart({
  A: "~ f3@3 ~ [bb2,d3,f3] ~ [bb2,d3,f3]@2 ~@2 [bb2,d3,f3] ~ f3@2 ~@2 c3@2 ~ c3 [e3,g3] ~ [c3,e3,g3]@2 ~@2 [c3,e3,g3] [c3,e3,g3]@2 ~@2, [bb2,d3]@3 ~@9 [bb2,d3]@2 ~@2 [e3,g3]@2 ~@14", // Bb Em C Bb Em
  B: "~ [f2,a2,c3]@3 ~@28", C: "f2@2 ~@4 f2@2 a2@4 c3@4 ~@4 c3@5 a2@3 c3@4, ~@8 f3@5 ~@3",
  D: "~ f2@2 ~@4 f2@2 a2@4 c3@4 ~@4 c3@4 a2@3 c3@4, ~@17 f3@10 ~@5",
  E: "~ f2@2 ~@4 f2@2 a2@4 c3@4 ~@3 c3@4 a2@4 c3@4, ~@17 f3@9 ~@6",
  F: "[~ f2@2 ~@3 f2@2 a2@4 c3@4 ~@4 c3@5 a2@4 c3@4 bb2@2 ~@3 bb2@3 d3@4 f3@4 ~@4 f3@4 d3@3 f3@4, ~@16 f3@10 ~@23 bb3@8 ~@7]/2",
  G: "bb2@2 ~@4 bb2@3 d3@3 f3@4 ~@4 f3@4 d3@4 f3@4, ~@16 bb3@9 ~@7",
  H: "c3@2 ~@4 c3@2 ~@4 g3@5 c4@4 ~@3 e3@4 g3@4, ~@8 e3@12 ~ g3@5 ~@6, ~@17 d4 ~@14", I: "c3@3 ~@29",
  J: "[bb2,d3,f3]@3 ~ [bb2,d3] f3 [bb2,d3,f3]@2 ~@2 [bb2,d3,f3] ~ [bb2,d3,f3]@2 ~@3 c3@2 ~ [c3,e3] g3 ~ [c3,e3,g3]@2 ~@2 [c3,e3,g3] ~ [c3,e3,g3]@2 ~, ~@8 [e3,g3] ~@7", // Bb C Em
  K: "f2 ~@2 f2 a2@2 c3@2 ~@4 a2@2 c3@2, ~@8 f3@5 ~@3, ~@21 c3@5 ~@6",
  L: "~ f2@2 ~@5 a2@5 ~@7 c3@4 a2@4 c3@4, ~@7 f2@2 ~@4 c3@5 ~@14, ~@16 f3@9 ~@7",
  M: "~ f2@2 ~@3 f2@2 a2@4 c3@4 ~@4 c3@4 a2@4 c3@4, ~@16 f3@9 ~@7",
  N: "f2@3 ~@3 f2@2 a2@4 c3@5 ~@7 a2@4 ~ c3@3, ~@17 f3@9 ~@6, ~@21 c3@5 ~@6",
  O: "~ bb2@2 ~@3 bb2@3 d3@4 f3@4 bb3@4 f3@4 d3@3 f3@4",
  P: "~ bb2@2 ~@3 bb2@2 d3@4 f3@4 ~@5 f3@4 d3@4 f3@3, ~@16 bb3@11 ~@5",
  Q: "~ c3@2 ~@3 c3@2 ~@12 g3@5 ~@3 g3@4, ~@8 e3@13 ~@4 e3@5 ~@2, ~@13 g3@5 ~@14, ~@16 c4@9 ~@7", R: "~ c3@3 ~@28",
  S: "[bb2,d3,f3]@2 ~@2 [bb2,d3,f3] ~@2 [bb2,d3,f3]@2 ~@2 [bb2,d3,f3] ~ [d3,f3]@2 ~@2 g3@2 ~ [c3,e3,g3] ~@2 g3@2 ~@2 [c3,e3,g3] ~ [c3,e3,g3] ~@2, ~@6 bb2 ~ [c3,e3] ~@2 [c3,e3] ~@4", // Bb Dm C
  T: "[f2@2 ~@4 f2@2 a2@4 c3@5 ~@4 c3@4 a2@4 c3@4 f2@2 ~@4 f2@2 a2@3 ~ c3@4 ~@4 c3@4 a2@4 c3@4 f2@2 ~@4 f2@2 a2@4 c3@4 ~@4 c3@4 a2@3 ~ c3@4 f2@2 ~@3 f2@3 a2@3 ~ c3@4 ~@3 c3@4 a2@4 c3@4, ~@17 f3@10 ~@22 f3@9 ~@23 f3@9 ~@23 f3@9 ~@6]/4",
  U: "bb2@2 ~@4 bb2@3 d3@4 f3@4 ~@4 f3@3 d3@4 f3@4, ~@17 bb3@7 ~@8",
  V: "bb2@2 ~@4 bb2@2 ~ d3@3 f3@4 ~@4 f3@4 d3@4 f3@3 ~, ~@8 bb3@5 ~@3",
  W: "c3@2 ~@4 c3@3 ~@11 g3@4 e3@4 g3@4, ~@9 e3@10 ~@13, ~@13 g3@5 ~@14, ~@16 c4@9 ~@7",
  X: "~ [bb2,d3,f3]@2 ~ [bb2,d3] f3 ~ [bb2,d3,f3]@2 ~@2 [bb2,d3,f3] ~ [bb2,d3,f3]@2 ~@2 [c3,e3,g3]@2 ~@2 [c3,e3,g3] ~ [c3,e3,g3]@2 ~@2 [c3,e3,g3] ~ [c3,e3,g3] ~@2", // Bb C
  Y: "~ [f2,a2,c3]@3 ~@28, ~ b2 ~@30", // F
})).s("gm_electric_guitar_clean").gain(0.22)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~ A B C@4 D@2 E F G H I J K@2 L M N O P Q R@4 S@2 T U V W X Y Z AA AB AC AD AE AF AG AH@4 AI@2 AJ U AK AL AM AN AO AP
  AQ AR AS AT
>`.pickRestart({
  A: "~ [bb2,d3,f3]@2 ~@2 [bb2,d3,f3] ~ [bb2,d3,f3]@2 ~@2 [bb2,d3,f3] ~ [bb2,d3,f3]@2 ~@2 [c3,e3,g3]@2 ~@2 [c3,e3,g3] ~ [c3,e3,g3]@2 ~@2 [c3,e3,g3] ~ [c3,e3,g3]@2 ~", // Bb C
  B: "~ [f2,a2,c3]@3 ~@28", // F
  C: "[~@4 f3@4 ~@4 f3@4 ~@4 f3@4 ~@5 f3@4 ~@3 f3@4 ~@4 f3@4 ~@4 f3@5 ~@4 f3@4 ~@3 f3@4 ~@4 f3@4 ~@4 f3@4 ~@4 f3@4 ~@4 f3@4 ~@4 f3@4 ~@4 f3@4 ~@4 f3@3 ~, f2@13 ~@3 f2@13 ~@4 f2@13 ~@3 f2@13 ~@3 f2@12 ~@3 f2@12 ~@4 f2@13 ~@3 f2@9 ~@7, ~@8 [a3,c4]@13 ~@3 c4@13 ~@91, ~@25 a3@13 ~@2 [a3,c4]@13 ~@4 [a3,c4]@12 ~@3 [a3,c4]@13 ~@3 [a3,c4]@13 ~@3 [a3,c4]@13 ~@3 [a3,c4]@8]/4", // Am
  D: "[~@3 bb3 ~ bb3 ~ bb3 ~ bb3 ~ bb3 ~ bb3 ~ bb3, bb2@13 ~@3 bb2@13 ~@3 bb2@13 ~@3 bb2@10 ~@6, ~@5 bb3@5 ~@54, ~@2 [d4,f4]@3 ~ [d4,f4]@3 ~ [d4,f4]@3 ~ [d4,f4]@2]/2", // Dm
  E: "~@2 c4@2 ~@2 c4@2 ~@2 c4@2 [e4,g4]@2 c4 ~, c3@13 ~@3 c3@13 ~@3, ~@8 [e4,g4]@13 ~@11", F: "[c3,c4,e4,g4]@3 ~@29",
  G: "f2@5 [f3,a3,c4]@4 ~@4 [a3,c4]@4 f2@4 [f3,a3,c4]@4 f2@4 [f3,a3,c4]@3, ~@9 f2@5 ~@18, ~@12 f3@5 ~@15", // F Am F
  H: "~ d2@4 [d3,f3,a3]@4 d2@3 ~ [f3,a3]@4 ~@3 [d3,f3,a3]@5 d2@4 [d3,f3,a3]@3, ~@12 d3@5 d2@5 ~@10", // Dm F Dm
  I: "~ f2@4 [f3,a3,c4]@4 f2@3 ~ a3@4 f2@4 [f3,a3,c4]@4 f2@4 [f3,a3,c4]@3, ~@12 [f3,c4]@5 ~@15", // F F5
  J: "~ d2@4 [d3,f3,a3]@4 d2@3 [f3,a3]@5 d2@3 [d3,f3,a3]@5 d2@3 [d3,f3,a3]@4, ~@3 d3@2 ~@3", // Dm F Dm
  K: "[f2@5 [f3,a3,c4]@4 f2@4 [f3,a3,c4]@4 ~@3 [f3,a3,c4]@5 f2@3 ~ a3@4 f2@3 [f3,a3,c4]@4 f2@4 [f3,a3,c4]@4 f2@4 [f3,a3,c4]@4 f2@4 [f3,a3,c4]@4, ~@17 f2@5 ~@6 [f3,c4]@5 ~@31]/2", // F F5
  L: "~@4 [d3,f3,a3]@4 ~ d2@3 [d3,f3,a3]@4 d2@4 [d3,f3,a3]@4 d2@4 [d3,f3,a3]@4, ~ d2@5 ~@26", // Dm
  M: "d2@4 [d3,f3,a3]@4 d2@4 [d3,f3,a3]@4 d2@4 ~@4 d2@4 [d3,f3,a3]@3 ~, ~@20 [d3,a3]@5 ~@7, ~@21 f3@5 ~@6", // Dm D5
  N: "f2@4 [f3,a3,c4]@5 f2@3 [f3,a3,c4]@4 f2@4 ~ a3@4 ~@3 [f3,a3,c4]@4, ~@20 [f3,c4]@5 f2@5 ~@2", // F F5
  O: "~@4 [d3,f3,a3]@4 d2@4 [d3,f3,a3]@4 d2@4 [d3,f3,a3]@4 d2@4 [d3,f3,a3]@3 ~, ~ d2@5 ~@26", // Dm
  P: "[bb2,d3,f3]@2 ~@2 [bb2,d3,f3] ~@2 [bb2,d3,f3] ~@3 [bb2,d3,f3] ~ [bb2,d3,f3] ~@3 [c3,e3,g3] ~@3 [c3,e3,g3] ~ [c3,e3,g3] ~@3 [c3,e3,g3] ~ [c3,e3,g3] ~@2", // Bb C
  Q: "~@2 [f2,a2,c3]@3 ~@27", // F
  R: "[~@4 f3@4 ~@4 f3@5 ~@4 f3@4 ~@11 f3@4 ~@4 f3@4 ~@4 f3@4 ~@5 f3@4 ~@3 f3@4 ~@4 f3@4 ~@4 f3@4 ~@4 f3@4 ~@4 f3@4 ~@4 f3@5 ~@3 f3@4 ~@4 f3@4, f2@13 ~@4 f2@12 f3@5 ~@87 a3@7, ~@8 [a3,c4]@12 ~@5 [a3,c4]@12 ~@3 [a3,c4]@13 ~@3 [a3,c4]@12 ~@4 [a3,c4]@12 ~@4 [a3,c4]@13 ~@3 [a3,c4]@13 ~@3 c4@8, ~@32 f2@13 ~@4 f2@13 ~@3 f2@13 ~@3 f2@12 ~@4 f2@13 ~@3 f2@10 ~@5]/4", // Am
  S: "[~@12 bb3@4 ~@4 bb3@4 ~@4 bb3@4 ~@4 bb3@4 ~@4 bb3@4 ~@4 bb3@4 ~@4 bb3@3 ~, ~ bb2@13 ~@2 bb2@13 ~@3 bb2@13 ~@3 bb2@9 ~@7, ~@5 bb3@4 f4@11 ~@44, ~@8 d4@11 ~@5 [d4,f4]@11 ~@5 [d4,f4]@12 ~@4 [d4,f4]@8]/2", // Dm
  T: "~@4 c4@4 g4@4 c4@8 ~ [c3,e4,g4]@3 ~ [c3,e4,g4]@3 [c3,c4,e4,g4]@4, c3@21 ~@11, ~@2 e4@3 c4!2 ~", // C
  U: "[c3,c4,e4,g4] ~@15", V: "~ f2@4 [f3,a3,c4]@4 f2@3 [f3,a3,c4]@5 f2@4 [f3,a3,c4]@4 f2@4 [f3,a3,c4]@3",
  W: "~ d2@4 [d3,f3,a3]@4 d2@4 [d3,f3,a3]@4 d2@4 [d3,f3,a3]@4 ~@4 [f3,a3]@3, ~@25 d2@5 ~@2, ~@7 d3", // Dm F
  X: "~@5 a3@4 ~@3 [f3,a3,c4]@5 ~@7 f2@4 [f3,a3,c4]@4, ~ f2@5 ~@3 f2@5 ~@3 f2@4 [a3,c4]@5 ~@6, ~@4 [f3,c4]@5 ~@11 f3@5 ~@7", // F Am F5
  Y: "~@5 [d3,f3]@4 ~@3 [d3,f3,a3]@5 d2@3 ~@4 d2@4 [d3,f3,a3]@4, ~ d2@5 ~@3 d2@5 ~@7 [f3,a3]@5 ~@6, ~@4 a3@5 ~@11 d3@5 ~@7", // Dm F
  Z: "f2@4 ~ a3@3 f2@4 [f3,a3,c4]@5 ~@4 a3@4 ~@3 [f3,a3,c4]@4, ~@4 [f3,c4]@5 ~@8 f2@5 ~@3 f2@5 ~@2, ~@20 [f3,c4]@5 ~@7", // F F5
  AA: "~@4 [f3,a3,c4]@4 f2@4 ~ a3@4 f2@3 ~ a3@4 ~@4 [a3,c4]@3, ~ f2@5 ~@6 [f3,c4]@5 ~@3 [f3,c4]@5 f2@5 ~@2, ~@7 f3", // F Am F5
  AB: "~@5 f3@4 d2@4 [d3,f3,a3]@4 d2@3 ~@4 d2@4 [d3,f3,a3]@4, ~ d2@5 ~@15 f3@5 ~@6, ~@4 [d3,a3]@5 ~@11 [d3,a3]@5 ~@7", // Dm D5
  AC: "d2 [d3,f3,a3] d2 [d3,f3,a3] d2 [d3,f3,a3] d2 [d3,f3,a3]", // Dm
  AD: "f2@4 [f3,a3,c4]@4 f2@4 [f3,a3,c4]@4 f2@4 [f3,a3,c4]@5 ~@3 [f3,a3,c4]@4, ~@25 f2@5 ~@2", // F
  AE: "~@5 [f3,a3]@4 d2@3 ~@4 d2@4 ~@4 d2@4 [d3,f3,a3]@3 ~, ~ d2@5 ~@7 [f3,a3]@5 ~@3 [f3,a3]@5 ~@6, ~@4 d3@5 ~@3 d3@5 ~@3 d3@5 ~@7", // F Dm F
  AF: "[bb2,d3,f3]@2 ~@2 [bb2,d3,f3] ~ [bb2,d3,f3]@2 ~@2 [bb2,d3,f3] ~ [bb2,d3,f3] ~@4 g3@2 ~ [c3,e3] g3 ~ [c3,e3,g3] ~@3 [c3,e3,g3] ~ [c3,e3,g3]@2 ~, ~@8 [c3,e3] ~@7", // Bb C
  AG: "~ [f3,a3,c4]@2 ~@29", // F
  AH: "[~@4 f3@4 ~@4 f3@4 ~@4 f3@4 ~@5 f3@4 ~@3 f3@5 ~@4 f3@4 ~@3 f3@5 ~@4 f3@4 ~@4 f3@4 ~@4 f3@4 ~@4 f3@4 ~@4 f3@4 ~@3 f3@4 ~@4 f3@4 ~@4 f3@5 ~@3 f3@3 ~, f2@13 ~@3 f2@13 ~@4 f2@13 ~@3 f2@13 ~@3 f2@13 ~@3 f2@12 ~@4 f2@13 ~@3 f2@9 ~@6, ~@8 [a3,c4]@13 ~@3 c4@12 ~@92, ~@25 a3@13 ~@3 [a3,c4]@13 ~@3 [a3,c4]@13 ~@3 [a3,c4]@13 ~@3 [a3,c4]@12 ~@3 [a3,c4]@13 ~@4 [a3,c4]@7]/4", // Am
  AI: "[~@4 bb3@4 ~@4 bb3@4 ~@4 bb3@4 ~@4 bb3@4 ~@4 bb3@4 ~@4 bb3@4 ~@4 bb3@4 ~@4 bb3@3 ~, bb2@13 ~@3 bb2@13 ~@3 bb2@13 ~@3 bb2@9 ~@7, ~@8 [d4,f4]@12 ~@4 [d4,f4]@13 ~@3 [d4,f4]@13 ~@3 [d4,f4]@7 ~]/2", // Dm
  AJ: "~@3 c4 [c3,c4,e4,g4]!4, c3 ~, ~ c4@2 ~@5, ~ [e4,g4] ~@2", // C Em
  AK: "~ f2@3 [f3,a3,c4]@5 f2@3 [f3,a3,c4]@4 f2@4 ~ [a3,c4]@4 ~@4 a3@3, ~@20 f3@5 f2@7, ~@7 [f3,c4]", // F Am F5
  AL: "~@5 [f3,a3]@4 d2@4 ~@3 d2@4 ~ [f3,a3]@4 d2@3 [d3,f3,a3]@3 ~, ~ d2@5 ~@26, ~@4 d3@5 ~@4 [d3,f3,a3]@5 ~@2 d3@5 ~@7", // F Dm
  AM: "f2@4 ~ a3@3 f2@4 [f3,a3,c4]@4 f2@4 [f3,a3,c4]@5 ~@3 [f3,a3,c4]@3 ~, ~@4 [f3,c4]@5 ~@16 f2@5 ~@2", // F F5
  AN: "~@5 [f3,a3]@4 d2@3 ~ f3@3 d2@4 [d3,f3,a3]@5 d2@3 [d3,f3,a3]@4, ~ d2@5 ~@26, ~@4 d3@5 ~@3 [d3,a3]@5 ~@15", // F Dm D5
  AO: "f2@4 [f3,a3,c4]@4 f2@4 [f3,a3,c4]@5 f2@3 [f3,a3,c4]@4 f2@4 [f3,a3,c4]@4", // F
  AP: "~ d2@3 [d3,f3,a3]@4 ~ d2@3 [d3,f3,a3]@5 d2@3 ~@4 d2@4 [d3,f3,a3]@4, ~@20 d3@5 ~@7, ~@21 [f3,a3]@5 ~@6", // Dm F
  AQ: "f2@4 ~ c4@4 f2@3 ~@4 f2@4 [f3,a3,c4]@4 f2@4 [f3,a3,c4]@4, ~@4 [f3,a3]@5 ~@3 f3@5 ~@15, ~@13 [a3,c4]@5 ~@14", // F Am
  AR: "~@4 [d3,f3,a3]@4 d2@4 [d3,f3,a3]@4 d2@4 ~ f3@4 d2@3 ~ [f3,a3]@3, ~ d2@5 ~@14 [d3,a3]@5 ~@3 d3@3 ~", // Dm F D5
  AS: "[bb2,d3,f3]@3 ~@2 [bb2,d3,f3] ~ [bb2,d3,f3] ~@3 [bb2,d3,f3] ~ [bb2,d3,f3]@2 ~@2 [c3,e3,g3]@2 ~@2 [c3,e3,g3] ~ [c3,e3,g3]@2 ~@2 [c3,e3,g3] ~ [c3,e3,g3] ~@2", // Bb C
  AT: "~@2 d4 ~@29, ~ [f3,a3,c4]@2 ~@29", // F
})).s("gm_acoustic_guitar_steel").gain(0.19)

// bass · acoustic bass
const bass = note(`<
  ~ A B C D E F G H I J K L M N K O P Q R L S T U V F@2 G H W J X Y Z AA AB K AC AD AE P AF B U AG AH F AI AJ AK J AL AM
  AN AO AP L AQ L AR AS
>`.pickRestart({
  A: "~ bb1@2 ~@2 bb1 ~ bb1@2 ~ bb1 ~@2 bb1@3 ~ c2@2 ~ c2 ~@2 c2@3 ~ c2 ~ c2 ~@2", B: "~ f2@2 ~@29",
  C: "~ f1@9 ~@3 f1@4 c2@7 ~ c2@7", D: "~ f1@5 ~@7 f1@4 c2@7 ~@2 c2@6", E: "~ f1@3 ~@9 f1@4 c2@6 ~@2 c2@7",
  F: "~ f1@3 ~@9 f1@4 c2@7 ~ c2@7", G: "~ bb1@3 ~@9 bb1@4 f2@6 ~@2 f2@7", H: "~ bb1@3 ~@9 bb1@4 f2@7 ~ f2@5 ~@2",
  I: "~ c2@5 ~@7 c2@4 g1@7 ~ g1@7", J: "~ c2@3 ~@28", K: "~ f2@5 ~@3 c2@5 ~@3 f2@5 ~@3 c2@5 ~@2",
  L: "~ d2@5 ~@3 a1@5 ~@3 d2@5 ~@3 a1@5 ~@2", M: "~ f2@5 ~@3 c2@5 ~@4 f2@5 ~@2 c2@5 ~@2",
  N: "~@2 d2@5 ~@2 a1@5 ~@3 d2@5 ~@3 a1@5 ~@2", O: "~ f2@6 ~@2 c2@5 ~@3 f2@6 ~@2 c2@5 ~@2",
  P: "~ d2@6 ~@2 a1@5 ~@3 d2@5 ~@3 a1@5 ~@2", Q: "~ d2@5 ~@3 a1@5 ~@3 d2@6 ~ a1@5 ~@3",
  R: "~ f2@6 ~@2 c2@5 ~@3 f2@5 ~@3 c2@5 ~@2",
  S: "~ bb1@2 ~ bb1 ~@2 bb1@2 ~ bb1 ~@2 bb1@2 ~@2 c2@2 ~ c2 ~@2 c2@2 ~@2 c2 ~ c2@2 ~", T: "~ f2@3 ~@28",
  U: "f1@4 ~@8 f1@5 c2@6 ~@2 c2@7", V: "~ f1@2 ~@10 f1@4 c2@6 ~@2 c2@7", W: "~ c2@5 ~@7 c2@4 g1@6 ~@2 g1@7",
  X: "~@2 f2@4 ~@3 c2@5 ~@3 f2@5 ~@3 c2@4 ~@3", Y: "~ d2@6 ~@2 a1@6 ~@2 a1@5 ~@3 d2@5 ~@2",
  Z: "~ f2@6 ~@2 c2@6 ~@2 f2@6 ~@2 c2@5 ~@2", AA: "~ d2@5 ~@3 a1@6 ~@2 d2@6 ~@2 a1@5 ~@2",
  AB: "~ f2@5 ~@3 c2@5 ~@3 f2@6 ~@2 c2@5 ~@2", AC: "~ d2@5 ~@3 a1@4 ~@4 d2@5 ~@3 a1@5 ~@2",
  AD: "~ d2@6 ~@2 a1@5 ~@3 d2@5 ~@2 a1@5 ~@3", AE: "~ f2@5 ~@2 c2@5 ~@3 f2@5 ~@4 c2@5 ~@2",
  AF: "bb1@2 ~@2 bb1 ~ bb1@2 ~@2 bb1 ~ bb1@2 ~@3 c2@3 ~ c2 ~ c2@2 ~@2 c2 ~ c2@2 ~", AG: "~ f1@3 ~@9 f1@4 c2@6 ~@3 c2@6",
  AH: "~@2 f1@3 ~@8 f1@4 c2@6 ~@3 c2@6", AI: "~ bb1@2 ~@10 bb1@4 f2@6 ~@2 f2@7",
  AJ: "~ bb1@3 ~@9 bb1@4 f2@6 ~@2 f2@5 ~@2", AK: "~ c2@3 ~@9 c2@4 g1@6 ~@2 g1@7",
  AL: "~ f2@5 ~@3 c2@5 ~@3 f2@6 ~@2 c2@4 ~@3", AM: "~ d2@5 ~@3 a1@5 ~@3 d2@6 ~@2 a1@4 ~@3",
  AN: "~ f2@5 ~@3 c2@5 ~@2 f2@5 ~@4 c2@4 ~@3", AO: "~ d2@5 ~@3 a1@5 ~@2 d2@5 ~@4 a1@5 ~@2",
  AP: "~ f2@5 ~@3 c2@5 ~@3 f2@5 ~@3 c2@4 ~@3", AQ: "~ f2@5 ~@2 c2@5 ~@4 f2@6 ~@2 c2@4 ~@3",
  AR: "~ bb1@2 ~ bb1 ~@2 bb1 ~@3 bb1 ~ bb1@2 ~@2 c2@2 ~@2 c2 ~ c2@2 ~@2 c2 ~ c2@2 ~", AS: "~ f3@3 ~@28",
})).s("gm_acoustic_bass").gain(0.25)

// bass · electric bass pick
const bass_2 = note(`<
  ~@2
  [~@5 c2@4 c2@4 c2@3 c2@4 c2@4 c2@4 c2@2 ~@2]
  ~@19
  [~@5 c2@3 c2@4 c2@4 c2@4 c2@4 c2@4 c2@2 ~@2]
  ~@19
  [~@5 c2@4 c2@3 c2@4 c2@4 c2@4 c2@4 c2@2 ~@2]
  ~@18
>`).s("gm_electric_bass_pick").gain(0.34)

// drums · kick
const kick = s("bd").struct(`<
  ~ A B C@2 D C@3 E B F G F@8 H B I C J C@4 B K L F@6 M F N O I P D J C@3 B F@8 Q O
>`.pickRestart({
  A: "~ x ~@3 x ~ x ~@3 x ~ x ~@3 x ~@3 x ~ x ~@3 x ~ x ~@2", B: "~ x ~@30", C: "~ x ~@11 x ~@3 x ~@14",
  D: "~@2 x ~@10 x ~@4 x ~@13", E: "~ x ~@10 x ~@4 x ~@14", F: "~ x ~@7 x ~@7 x ~@7 x ~@6",
  G: "~@2 x ~@7 x ~@6 x ~@7 x ~@6", H: "x ~@4 x ~ x ~@3 x ~ x ~@3 x ~@3 x ~ x ~@3 x ~ x ~@2", I: "x ~@11 x ~@4 x ~@14",
  J: "~@2 x ~@10 x ~@3 x ~@14", K: "~ x ~@8 x ~@7 x ~@7 x ~@5", L: "~@2 x ~@7 x ~@7 x ~@6 x ~@6",
  M: "~ x ~@7 x ~@7 x ~@6 x ~@7", N: "x ~@3 x ~@2 x ~@3 x ~ x ~@3 x ~@3 x ~ x ~@3 x ~ x ~@2", O: "~ x ~@14",
  P: "~ x ~@11 x ~@4 x ~@13", Q: "x ~@4 x ~ x ~@3 x ~ x ~@4 x ~@2 x ~@2 x ~@2 x ~@2 x ~",
})).gain(0.25)

// drums · snare
const snare = s("sd").struct(`<
  ~ A B C D C@3 E@2 B F G H@5 I J K L B M D C E C@2 E B N G K H O H P@2 F H Q B C D@2 C E@3 R H@4 S H@3 T U
>`.pickRestart({
  A: "~ x ~@3 x ~ x ~@3 x ~ x ~@3 x ~@3 x ~ x ~@3 x ~ x ~@2", B: "~ x ~@30", C: "~@9 x ~@3 x ~@11 x ~@6",
  D: "~@9 x ~@3 x ~@12 x ~@5", E: "~@8 x ~@4 x ~@11 x ~@6", F: "~@4 x ~@7 x ~@8 x ~@7 x ~@2",
  G: "~@6 x ~@6 x ~@7 x ~@7 x ~@2", H: "~@5 x ~@7 x ~@7 x ~@7 x ~@2", I: "~@4 x ~@8 x ~@7 x ~@6 x ~@3",
  J: "~@4 x ~@8 x ~@7 x ~@7 x ~@2", K: "~@5 x ~@7 x ~@7 x ~@6 x ~@3",
  L: "x ~@4 x ~ x ~@3 x ~ x ~@3 x ~@2 x ~@2 x ~@3 x ~ x ~@2", M: "~@8 x ~@4 x ~@12 x ~@5",
// … 48 more lines

More by Elvis Presley