Strudelify
My Way cover art

1978

My Way

Elvis Presley

KeyC majorTempo77 bpm
0:00/0:00
// My Way — Elvis Presley
// 77 bpm, 4/4, key C major. Source: mcgill + midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 87 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(77/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 · acoustic bass · "tk1"
const bass = note(`<
  ~ A@3 B C D E F G H I J K L M N O P A B C D E F G H I J K Q R N O S T U V W X Y Z AA AB AC AD AE A B C AF E F G H I J
  K Q R N O S T AG V AH AI Y Z AA AJ AK AL AM ~@12
>`.pickRestart({
  A: "d2@10 ~@2 d2@3 ~ d2@15 ~", B: "c#2@8 ~@4 c#2@3 ~ c#2@8 ~@8", C: "c2@11 ~ c2@2 ~@2 c2@15 ~",
  D: "b1@11 ~ b1@3 ~ b1@3 ~ b1@4 c#2 ~@3 d#2@3 ~", E: "e2@11 ~ e2@3 ~ e2@16", F: "d2@11 ~ d2@3 ~ d2@16",
  G: "c#2@8 ~@4 c#2@3 ~ c#2@8 a1@8", H: "d2@11 ~ d2@3 ~ d2@5 ~ d2@2 a1@3 ~ a1@4", I: "d2@8 d2@4 d2@2 ~@2 d2@15 ~",
  J: "d2@11 ~ d2@3 ~ d2@12 d2@2 ~@2", K: "g2@3 e2 d2@4", L: "e2@3 e2!3 f#2 a2", M: "a2@12 a1@3 ~ a1@12 a2@4",
  N: "a2@12 a1@3 ~ a1@8 a1@4 ~@4", O: "d2@10 ~@2 d2@3 ~ d2@14 ~@2", P: "d2@3 a1@2 a1!3",
  Q: "e2@12 e2@4 e2@7 ~ a#1@6 ~@2", R: "a1@12 a1@3 ~ a1@12 a2@4", S: "d2@6 a1@2 a1@2 a1@2 a1@2 a1 ~",
  T: "d2@13 ~@3 a1@3 ~ d2@6 ~@2 d2@2 ~@2", U: "d2@11 ~ a1@4 a1@4 d1@3 ~ d1@3 ~ d1@3 ~",
  V: "g1@12 d1@4 d1@3 ~ d1@6 ~@2 g2@4", W: "g2@12 g2@4 g2@3 ~ g2@3 ~ f#2@3 ~ f#2@3 ~",
  X: "e2@8 ~@7 e2 e2@2 ~@2 e2@4 f#2@4 g2@3 ~", Y: "a2@13 ~ a2 ~ g2@3 ~ g2@7 ~ g2@3 ~",
  Z: "f#2@15 ~ f#2@2 ~@2 f#2@7 ~ f#2@3 ~", AA: "b1@11 ~ b1@2 ~@2 b1@2 ~@2 b1@12",
  AB: "e2@4 ~@2 e2 ~ e2 ~ e2@2 f#2@2 g2@2", AC: "a2@4 a1@3 ~ a1@3 ~ a1@7 ~ a1@2 ~@2 a1@2 ~@2 a1@4",
  AD: "d2@11 ~ d2@3 ~ d2@2 ~@2 d2@2 ~@2 d2@2 ~@2 d2@4", AE: "a2@10 ~@2 a2@3 ~ a2@3 ~ a2@3 ~ a2@3 ~ a2@3 ~",
  AF: "b1@11 ~ b1@3 ~ b1@3 ~ b1@4 c#2 ~@3 d#2@4", AG: "d2@11 ~ a1@4 a1@3 ~ d1@3 ~ d1@3 ~ d1@3 ~",
  AH: "g2@11 ~ g2@4 g2@3 ~ g2@3 ~ f#2@3 ~ f#2@3 ~", AI: "e2@4 ~@2 e2 ~ e2 ~ f#2@2 g2@2 e2@2",
  AJ: "e2@3 ~ e2@3 ~ e2 ~@3 e2 ~@3 e2 ~@3 e2@3 ~ f#2@3 ~ g2@3 ~", AK: "a1!2", AL: "e2", AM: "d2@27 ~@5",
})).s("gm_acoustic_bass").gain(0.28)

// chords · brass section · "tk2"
const brass_section = note("<~@34 A B@2 C@2 D E@2 F G H I J ~@15 K L M N O P Q R S T U V W X Y Z AA ~@8>".pickRestart({
  A: "~@3 [a3,d4] [a3,g4]@4, ~@8 [d4,a4]@5 ~@3", B: "[a2,f#4]/2",
  C: "[a4@12 g4@4 g4@8 f#4@19 ~ e4@4 [g3,b4]@8 f#3@4 ~@4, g2@32 ~@12 f#3 ~@3 e4@16]/2", D: "d4@24 d4@7 ~, g3",
  E: "[a3@3 g3 c#4@4, a4, c#4@16 f#3 ~@15]/2", F: "[b3,f#4]@15 ~, d4 ~", G: "[d4,g4,b4,d5]", H: "[c#4,e4,a4], c#5@3 ~",
  I: "[b3,e4,g4,b4]", J: "[a3,d4,f#4,a4]@17 ~@15", K: "a5 ~@11 [a3,d4]@4 [d4,g4,a4]@8 a4 ~@7, ~ a3",
  L: "[d4,f#4,a4]@11 ~ d4@4 [c#4,f#4]@16, ~@12 f#4 ~@19", M: "[c4,e4]@3 c4 c4@4, ~@6 e4 ~ d#4@6 ~@2",
  N: "[f#4,a4]@11 ~ b4@3 ~ g4@15 ~, ~@12 g4 ~@3 b4@12 ~@4", // F#m
  O: "[f#4,a4]@11 ~ [g4,b4]!3 ~ [g4,b4]@8 [a3,f#4,a4]@3 ~ [g4,b4] ~@3, ~@14 b3 ~", // F#m G D G
  P: "~ b4@10 ~ [b4,d5]!2 d5@2 [g3,b4,d5]@7 ~ [b4,d5]@8, d5@12 ~@2 b4 ~@17", // Bm G Bm
  Q: "[a4,c#5]@12 [a4,c#5] a4!2 c#5 [a4,c#5]@8 [g3,a4]@8, ~@13 c#5@2 ~@9 c#5@4 ~@4", // A Gsus2
  R: "[a4,c#5]@10 ~@2 [a4,c#5]!2 ~ [a4,c#5] [a4,c#5,e5]@7 ~ [c#5,e5]@8, ~@24 a4@5 ~@3", // A C#m
  S: "[f#4,b4,d5]@5 ~ [e4,a4,c#5] ~ [d4,f#4,b4,d5]@6 ~@2, ~ b5", // Bm A Bm
  T: "[b4,g5]@20 e3@3 ~ e3@3 ~ [e2,e3]@3 ~, [d4,g4]@19 ~ e2 ~@3 [b3,g4,b4,e5]@7 ~, ~@24 e2 ~@7", // Em E G5 Em
  U: "[a3,c#4,e4,a4,a5], a2@7 ~", V: "~ g5 b4 e5, d3@7 ~, e5@3 ~, b4 ~",
  W: "f#5@6 ~@2 a3@7 ~ [f#4,f#5]@5 [g4,g5]@5 ~ [a4,a5]@5, d5@21 ~@11, a4@15 ~@17", // F# G A
  X: "[a4,a5]@4 ~ g#5 [a4,a5] [b4,b5], ~@17 c#4@15, ~@5 g#4@3", Y: "[a4,a5]@14 ~@2 [c4,a5]@5 ~ [c4,a5]@6 [b4,b5]@3 ~",
  Z: "[a4,a5]@11 [g4,g5]@4 [g4,g5]@9 [f#4,f#5]@8", AA: "a#3@23 ~@9",
})).s("gm_brass_section").gain(0.29)

// chords · string ensemble 1 · "tk4"
const string_ensemble_1 = note(`<
  ~@19 A B C D E F G@2 H I J K@2 L@2 M N@2 O@2 P Q R S T U V W ~@8 X Y Z AA@2 AB@2 AC AD AE@3 AF AG@2 AH@2 AI AJ AK AL
  AM AN AO AP@2 AQ@3 AR@3
>`.pickRestart({
  A: "~ a3 ~ a3 a4@3 ~, ~@2 f#4@3 ~@3", B: "~@4 f#4@2 ~@2 a4@7 ~, ~@4 a3@8 a3@17 ~@3",
  C: "~@4 e4@4 ~@8 a4@12 f#4@3 ~, ~@4 f#4@5 ~@7, ~@12 a3@13 ~@7", D: "b4@6 a4 g#4 a4@6 b3@2",
  E: "e4 b3 ~ e4 b4@3 ~, ~@8 g4@11 ~@13", F: "~ b3 ~ e4 b4@3 ~, ~@4 g4@7 ~@5",
  G: "[~@4 f#4@4 ~@4 a3@4 a4@7 ~ e5@16 d5@2 c#5@2 d5@2 a4@2 f#4@4 ~@12, ~@4 g4@7 ~@21]/2", H: "~@2 e4 f#4 a4@3 f#5",
  I: "[g3,e5]@8 a5@7 ~ f#3@7 ~ c5@8", J: "[g3,b4]@7 ~ g5@16 f#5@7 ~",
  K: "[[a#3,f#5]@8 e5@3 ~ g4@4 d5@8 ~@8 [a3,f#4]@31 ~, ~@16 a#3@3 ~@5 e4@24 ~@16]/2", // D#m D
  L: "[a3@14 ~@2 c#4@7 ~@8 g4@32 ~, ~@31 b3@7 ~@26]/2", M: "a3@6 ~@10 [e3,a3]@15 ~, ~@4 e5@3 ~",
  N: "[a5@11 d5@4 ~ d5@7 a5@20 ~ c5@3 ~ c5@7 ~ a5@4 b5@4]/2",
  O: "[a5@11 g5@5 g5@8 ~@8 [f#4,f#6]@11 ~ e5@3 ~ [e4,e5]@8 e5@2 f#5@2 g5@2 a5 ~, ~@24 f#5@19 [e4,e6]@4 e6@8 ~@9]/2", // F# E
  P: "d6@10 ~ g5@3 ~ g5@8 ~ d6@7 ~, g4, ~@15 d5@17",
  Q: "c#6@6 ~@3 b5@2 ~ c#6@2 d6@2 e6@8 a5@8, e4, c#5@27 ~@5, ~@4 c#6 ~@11",
  R: "e6@3 a5 ~@2 [e4,e6]@2, c#5@15 ~, f#4@3 ~, ~@16 a6@11 ~@5", // E
  S: "d6@3 b5 c#6 d6 f#6 a6 [b3,b5,b6]@4 [a3,a5,a6]@3 ~, d4@31 ~", // B A
  T: "~ g6@11 [e5,e6]@3 ~ [e5,e6]@8 [f#5,f#6]@4 [g5,g6]@4, g3, d5@19 ~@13, b5@3 ~@5", // E F# G
  U: "g5 [a4,a5]@2 [g5,g6], a3, a6@3 ~", V: "g5@8 [b4,b5]@12 ~@2 f#5@2 g5@3 ~@3 c#5@2, g3, ~@5 e5@3, ~@7 b4",
  W: "d5@21 ~@11, a4 ~", X: "~@2 e4 f#4 a4@3 f#5, ~@16 c#4@15 ~", Y: "e5 ~@2 c5, g3@7 ~ f#3@7 ~, ~ a5@2 ~",
  Z: "b4@8 g5@16 f#5@7 ~, g3",
  AA: "[[a#3,f#5]@8 e5@3 ~@5 d5@8 ~@8 f#4@19 ~@13, ~@6 g4@8 ~@2 a3@3 ~@13, ~@16 a#3@3 ~@5 e4@24 ~@16]/2", // D#m
  AB: "[a3@14 ~@2 c#4@14 ~ g4@32 ~, ~@31 b3@7 ~@26]/2",
  AC: "a3@6 ~@10 [a3,e5]@8 ~ b4 c#5 d5 e5 f#5 g5 a5, ~@16 e3@15 ~, ~@12 a4 ~@3", // A5
  AD: "[d4,a5]@12 c#5@3 ~ c#5@8 a5@7 ~, ~@8 c#4@7 ~", // D5
  AE: "[a5@16 c5@8 a5@3 ~@21 g5@7 ~ d6@7 ~ d6@15 ~@5 [b3,e5,e6]@4 [c#4,f#5,f#6]@4 [d4,g6]@4, c4@11 ~@17 d6@19 ~@45 g5@2 ~@2, ~@16 b3@25 ~@7]/3", // E5 F#5 G5
  AF: "[g5,g6]@10 ~ [f#5,f#6]@5 [e5,e6]@11 ~ [d5,d6]@4", // G F# E D
  AG: "[[e5,e6]@16 ~@8 a6@8 [a5,a6]@11 ~ [g5,g6]@3 ~ [f#5,f#6]@11 ~ [e5,e6]@3 ~, ~ a3@3, ~ a5 ~@2]/2", // E A G F# E
  AH: "[[f#5,f#6]@15 ~ f#6@8 ~@8 [b4,b5]@11 ~ [c#5,c#6,c#7]@4 [d5,d6,d7]@8 [b4,b5,b6]@8, b3@15 ~@17, ~@8 [b4,b5]@7 ~@17, ~@6 b6@5 ~@5]/2", // F# B C# D B
  AI: "[c#6,c#7]@31 ~, c#5@3 ~", AJ: "[b5,e6]", AK: "~@4 f#5@11 ~ [f#4,f#5]@5 [g4,g5]@5 [a4,a5]@5 ~, [a5,d6]@3 ~",
  AL: "[a4,f#5,a6] [f5,g#6], ~@2 g#4 ~", AM: "[e4,e5,e6]@16 [d#4,d#5,d#6]@15 ~",
  AN: "a5@11 ~ g5@3 ~@9 [d#4,b4,d#5,d#6]@8, g2@29 ~@3, [d4,d5,d6]@3 ~", // G#m D
  AO: "[f#4,a4,f#5,a5,a6]@4 [e4,g4,e5,g5,g6]@7 ~@5", // F#m Em
  AP: "[[e3,a#3,e4]@8 ~@12 f#4@4 ~@9 a3@8 ~ [b2,d4,f#4]@14 ~@8, ~@8 d4@15 ~@41, ~@8 g4@11 ~@45, ~@9 d3@16 [c#3,f#4]@17 ~@22]/2", // Edim Bm F#5
  AQ: "[~@8 [a2,e4,g4]@36 ~@12 g3@37 ~@3]/3", AR: "[~ [d3,f#3]@26 ~@5]/3",
})).s("gm_string_ensemble_1").gain(0.39)

// chords · string ensemble 1 · "tk4" · soft notes
const string_ensemble_1_soft = note(`<
  ~@30 A B C ~ D ~@11 E F G H@2 I@2 J K ~@3 A L M ~ N ~@15 O P@2 Q@3 R@3
>`.pickRestart({
  A: "~@3 a#4", B: "~@16 d4@15 ~", C: "e4@5 ~@3", D: "f#4 [d4,g4], d4@5 ~@11", E: "f#3 ~", F: "f#4@21 ~@11, d4 ~@3",
  G: "c#4@13 ~@3", H: "[e4@31 e4@5 ~@3 d#4@25, c4@21 ~@10 b3@32 ~]/2", I: "[e4@32 d4@31 ~, b4@63 ~, g4@17 ~@47]/2",
  J: "[c#4,e4]@21 ~@11, a4@29 ~@3", K: "[g4,e5]@4 d5@11 ~, d4, a4@7 ~, ~@4 f#4@9 ~@3", L: "~@16 d4@7 ~@9",
  M: "e4@5 ~@11", N: "f#4@2 [d4,g4] ~, d4@5 ~@11", O: "g2@7 ~", P: "[~@24 c#4@17 a3@16 ~@7, ~@8 a3@23 ~@33]/2",
  Q: "[~@8 g3@36 ~@12 e3@37 ~@3, ~@28 b3@5 ~@15]/3", R: "[~@3 d4@15 ~@30 [d2,a2]@32 ~@16, ~ a3@26 ~@5]/3",
})).s("gm_string_ensemble_1").gain(0.26)

// chords · orchestral harp · "tk5"
const orchestral_harp = note(`<
  ~ A B C D E F G H I J K L M N O P Q R S ~@6 T U ~@6 V S ~@2 W@2 ~@2 X ~@11 Y U ~@6 Z S ~@2 AA ~@3 AB ~@7 AC ~@4 AD
  AE@3
>`.pickRestart({
  A: "~@4 a4 ~@3 d5@2 ~@2 a4@4 f#5@4 a4 ~@3 d5@4 a4 ~@3, d4 ~@3",
  B: "~@4 a4 ~@3 d5 ~@3 a4@4 f#5@4 a4 ~@3 d5@4 a4 ~@3, d4",
  C: "~@4 a4@4 d5@2 ~@2 a4@4 f#5@4 a4 ~@3 d5@4 a4@4, d4@19 ~@13",
  D: "~@4 a4 ~@3 e5@4 a4@4 f#5@2 ~@2 a4@4 e5@4 a4@4, c#4",
  E: "~@4 a4 ~@3 e5@4 a4@4 f#5@4 a4 ~@3 e5@4 a4 ~@3, c4@21 ~@11", F: "~ a4 d#5 a4 f#5 a4 d#5 a4, b3!2",
  G: "~@4 b4 ~@3 e5 ~@3 b4@4 g5@4 b4 ~@3 e5@2 ~@2 b4@4, e4",
  H: "~@4 b4 ~@3 e5 ~@3 b4@4 g5@2 ~@2 b4@4 e5@2 ~@2 b4@4, d4",
  I: "a4@4 c#5 ~@3 e5 ~@3 c#5@4 g5@4 c#5 ~@3 e5@4 c#5@4, a3",
  J: "~@4 a4@4 d5@4 a4@4 f#5 ~@3 a4@4 d5 ~@3 a4@4, d4@5 ~@3",
  K: "~@4 d5 ~@3 a5@4 d5@4 a5@4 c#5@2 ~@2 f#5@4 a4@4, a4@19 ~@13",
  L: "~@4 c5 ~@3 a5@4 ~@4 f#5@4 a4@4 c5@4 b4@4, f#4@7 ~@5 c5@8 ~@12",
  M: "g4@4 d5 ~@3 g5@4 d5 ~@7 b4 ~@3 f#5 ~@3 a4@4, ~@16 d4@15 ~",
  N: "e4@4 a#4 ~@3 g5@4 a#4 ~@3 f#5@4 a#4 ~@3 e5@4 a#4 ~@3", O: "a4@4 a4@4 e5@4 a4@4 d5 ~@3 a4@4 a5 ~@3 a4@4",
  P: "~@4 a4@4 e5@4 a4@4 g5 ~@3 a4@4 c#5@4 a4@4", Q: "e4 b4 e5 b4 g4 b4 e5 b4",
  R: "d4@4 a4@4 f#5 ~@3 d5 ~@3 a5@4 ~@4 [d3,e3] [f#3,g3] [a3,b3] c#4 e5 g5 [b5,c#6] [d6,e6], ~@27 d4@4 ~, ~@7 f#5, ~@29 a5@3", // Dsus2 Gmaj7 Asus2 Bsus2 Dsus2
  S: "f#6 ~@31", T: "~@26 g4 a4 c#5 d5 e5 ~, ~@6 e4 ~, ~@25 f#4@3 ~@4", U: "f#5 ~@31",
  V: "~@24 e4 f#4 b4 [c#5,d5] f#5 [g5,a5] [b5,c#6] [d6,e6], ~@3 d4, ~@25 g4@2 ~ e5@2 ~@2, ~@26 a4@5 ~", // Dmaj7 Gsus2 Bsus2 Dsus2
  W: "[~@24 e2 b2 [e3,g3] [b3,e4] g4 [e5,g5] [b5,e6] [g6,b6] ~@32, ~@28 b4@27 ~@9]/2", // Em E5 Em E5 G
  X: "~@24 a2 c#3 e3 ~ c#4 e4 a4 d5, ~@27 a3@5", Y: "~@26 g4 ~ c#5 ~ e5 ~, ~@24 e4@3 a4@5, ~@25 f#4@3 ~ d5@3",
  Z: "~@24 e4 [f#4,g4] b4 [c#5,d5] [e5,f#5] [g5,a5] [b5,c#6] [d6,e6], ~@3 d4, ~@13 a4@3", // Gmaj7 Dmaj7 Esus2 Gsus2 Bsus2 Dsus2
  AA: "~@24 e2 b2 [e3,g3] [b3,e4] ~ e5 [b5,e6] [g6,b6], ~@14 [g4,b4] ~, ~@29 g5@2 ~", // Em E5 G
  AB: "~@24 a2 c#3 e3 a3 c#4 e4 a4 d5", AC: "~@17 d4@2 ~ a4@2 d6@2 ~@8, ~@19 g4@3 ~@10",
  AD: "~@8 g4@2 ~@4 b4@2 ~@2 e5@2 ~@3 g5@2 ~@3 b5@2 ~@2, b3@29 ~@3, ~ e4@7",
  AE: "[~@20 a4@2 ~@3 d5@2 ~@3 a5@2 ~@6 d6@2 ~@7 f#5@2 [a5,d6]@2 f#6@2 ~@43, ~@16 d4@28 d4@37 ~@15, ~@45 a4@2 ~@49, ~@23 d5 ~@24]/3", // D5
})).s("gm_orchestral_harp").gain(0.17)

// chords · harpsichord · "tk6"
const harpsichord = note("<~ A@2 B C D E F G H I J K L M N O P Q ~@68>".pickRestart({
  A: "[a4,d5,f#5,a5] ~@3 [d5,a5] ~@3 [a4,f#5,a5] ~@3 [a4,d5,f#5,a5]@6 ~@2 [d5,f#5,a5] ~@3 [d5,a5]@4 ~@4, ~ a4 d5 ~@2 a4 a4@2", // D D5 D D5
  B: "[a4,d5,f#5,a5] ~@3 [a4,d5,a5] ~@3 [a4,f#5,a5] ~@3 [a4,d5,f#5,a5]@6 ~@2 [d5,f#5,a5] ~@3 [a4,d5,a5]@4 ~@4, ~@2 d5 ~@2 a4 ~@2", // D D5 D D5
  C: "[a4,c#5,f#5,a5] ~@3 [c#5,a5] ~@3 [a4,c#5,f#5,a5] ~@3 [a4,c#5,f#5,a5]@8 [a4,c#5,f#5,a5] ~@3 [a4,c#5,f#5,a5]@4 ~@4, ~ a4 ~@6", // F#m
  D: "[a4,a5] ~@3 [f#5,a5] ~@3 [a4,f#5,a5] ~@3 [a4,f#5,a5]@5 ~@3 [f#5,a5] ~@3 [f#5,a5]@4 ~@4, ~ a4 ~@3 a4 a4@2", // A F#m D F#m
  E: "[b4,d#5,f#5]@6 f#5@2 d#5 ~@7 b5@4 ~@4 d#5@4 ~@4", // B
  F: "[b4,e5,g5] ~@3 b4@4 e5@4 [b4,e5,g5]@6 ~@2 b4@4 [b4,g5]@2 ~@6, ~@4 e5 ~@15 e5 ~@3 e5@4 ~@4", // Em
  G: "[b4,e5,g5] ~@3 [e5,g5] ~@3 e5@4 [b4,e5,g5]@8 [b4,e5] ~@3 e5@4 ~@4, ~@4 b4@4 g5 ~@15 b4@2 ~@6", // Em E5
  H: "[c#5,e5,a5] ~@3 [e5,a5] ~@3 [c#5,a5] ~@3 [c#5,e5,a5]@6 ~@2 [e5,a5] ~@3 [c#5,e5,a5]@3 ~@5, ~ c#5 e5 ~@5", // A A5 F#m A A5 A
  I: "[d5,g5]@6 ~@2 [d5,f#5]@6 ~@2 f#5@4 [d5,f#5] ~@3 d5@4 ~@4, ~@16 d5 ~@7 f#5 ~@7", // G5 D
  J: "[d5,f#5,a5] ~@3 [f#5,a5] ~@3 [d5,f#5,a5] ~@3 [d5,f#5,a5]@6 ~@2 c#5@4 [c#5,f#5,a5]@5 ~@3, ~@2 d5@2 ~@6 a5 ~@5, ~@20 f#5 ~@11", // D F#m D F#m
  K: "a5@2 ~@2 f#5 ~@3 [f#5,a5] ~@3 [f#5,a5]@5 ~@3 a5@2 ~@2 [c5,d#5,a5]@6 ~@2, f#5 ~@31", // F#m Adim
  L: "[b4,d5,g5] ~@3 [b4,g5] ~@3 [b4,d5,g5] ~@3 [g4,d5]@4 [b4,d5] ~@3 [g4,b4]@4 [g4,f#5]@4 [g4,b4,f#5] ~@3, ~@4 d5@4 ~@4 [b4,g5] ~@3 f#5@2 ~@2 f#5@2 ~@10, ~@20 d5 ~@3 [b4,d5] ~@3 d5@4", // G Em G G5 Bm G Gmaj7 Em …
  M: "e5@2 ~@2 e5@2 ~@2 [d5,e5] ~@3 e5@2 ~@2 d5@2 ~@2 [d5,e5] ~@3 [d5,e5,a#5]@5 ~@3, g4 ~@3 d5 ~@11 e5 ~@7 g4@8", // Dsus2 Em7b5
  N: "[d5,f#5,a5] ~@3 [d5,f#5,a5] ~@3 [d5,f#5,a5] ~@3 [d5,f#5,a5] ~@3 [f#5,a5] ~@3 [d5,f#5,a5] ~@3 [d5,f#5] ~@3 [d5,f#5] ~@3, ~@4 d5 ~ a5 ~", // D F#m D
  O: "[d5,g5,b5] ~@3 [d5,g5,b5] ~@3 [d5,g5,b5] ~@3 [d5,g5,b5] ~@3 [d5,b5] ~@3 [d5,g5,b5] ~@3 [d5,g5,b5] ~@3 [d5,g5,b5] ~@3, ~@4 g5 ~@3", // G
  P: "[d5,g5,b5] ~@3 [d5,g5] ~@3 [d5,g5,b5] ~@3 [d5,g5,b5] ~@3 [d5,g5,b5] ~@3 [d5,g5] ~@3 [d5,g5,b5] ~@3 [d5,g5,b5] ~@3", // G G5 G G5 G
  Q: "[d5,f#5,a5] ~@3 f#5 ~@3 [d5,a5] ~@3 [f#5,a5] ~@11 a5@4 a4@4, ~@4 f#5@2 d5@2 d5@7 ~, ~@7 d4@6 ~@3, ~@17 a4@9 ~@6, ~@20 f#5@9 ~@3", // D D5 F#m
})).s("gm_harpsichord").gain(0.03)

// chords · harpsichord · "tk6" · soft notes
const harpsichord_soft = note("<~ A@3 B C ~ D E F ~@2 G H I ~@2 J K ~@68>".pickRestart({
  A: "~@4 f#5 ~@19 f#5@4 ~@4", B: "~@4 f#5 ~@27", C: "[c5,f#5] ~@3 c5 ~@3 c5 ~@3 c5@5 ~@3 c5 ~@3 c5@4 ~@4",
  D: "~@4 g5 ~@15 g5 ~@11", E: "~@20 g5 ~@11", F: "~@5 c#5 ~@2",
  G: "c5 ~@3 c5@4 c5 ~@3 c5@5 ~@3 [c5,d#5]@2 ~@10, ~@4 a5 ~@27", H: "~@4 g4@2 ~@2 g4 ~@7 g4 ~@15",
  I: "a#4@2 ~@2 a#4@4 a#4 ~@3 a#4@4 g4@4 [g4,a#4]@4 a#4@8, ~@8 g4@8 a#4 ~@15, ~@12 d5 ~@3 a#5@2 ~@2 a#5 ~@11", // Gm
  J: "~@4 b5 ~@27", K: "~@4 d5 ~@11 f#4@16",
})).s("gm_harpsichord").gain(0.02)

// chords · acoustic guitar nylon · "tk7"
const acoustic_guitar_nylon = note(`<
  ~ A B C D@2 E F G@3 H@2 I J K L M N O@2 P Q R@3 S T@3 U@2 V@2 W ~@12 X Y@2 Z AA@3 AB AC@3 AD@2 AE@2 W ~@24
>`.pickRestart({
  A: "f#3@4 ~@4 f#3@5 ~ d4@2, a3@29 ~@3, ~@8 f#4@13 ~@11, ~@3 d4@4 ~",
  B: "f#3@4 ~@4 f#3@5 ~ d4@2, a3@5 ~@3 f#4@13 ~@11, ~@12 d4@7 ~@13",
  C: "f#3@4 ~@4 f#3@5 ~ d4@2, a3 ~@7 f#4@13 ~@11, ~@3 d4@4 ~",
  D: "[~@4 c#4@4 ~@8 f#3@8 ~@4 [f#3,c#4]@3 ~ f#3@8 ~@20 a3@3 ~, a3@27 ~@5 a3@24 ~@8, f#3@11 ~ c#4@14 ~@18 c4@12 ~@8, ~@8 f#4@10 ~@6 f#4@16 f#4@12 f#4@11 ~, ~@48 f#3@10 ~@2 f#3 ~@3]/2", // F#5
  E: "~@4 d#4@4 ~@16 [f#3,f#4]@7 ~, [f#3,a3]@3 d#4@2 ~@3, ~ f#4 b3@2", // F# F#m
  F: "~@2 [e4,g4]@3 ~ g4 e4, e3@15 ~@5 e3@9 ~@3, ~@2 b3@9 ~ b3@4", // Em
  G: "[~@8 [e4,g4]@12 ~@16 b3@3 ~ c#4@12 ~@8 c#4@4 ~@24 [d4,f#4]@8, d3@18 ~@2 d3@10 ~@2 c#3@17 ~@3 c#3@11 ~ d3@14 ~@2 d3@16, ~@24 g4@16 e4@16 g4@15 ~ [d4,f#4]@16 ~@8, ~@56 e4@8 ~@4 a3@13 ~@15]/3", // Em D
  H: "[~@8 [a3,d4]@4 ~@20 c4@8 [a3,e4]@7 ~ [a3,d#4]@6 ~@2 a3@6 ~@2, ~@12 f#4@11 ~ f#4@12 ~@28, ~@14 a3@13 ~@3 a3@8 ~@26, ~@16 c#4@13 ~@35]/2", // D5 A5 Adim
  I: "d4@8 g4@4 d4@2 ~@2 d4@9 ~@3 d4@4, b3@13 ~ b3@14 ~@4, g4@5 ~@27",
  J: "~@8 e4@6 ~@2 e4@4 ~@4 g4@3 ~@3 a3@2, g3@6 ~ g3@7 ~@2, ~@11 [a#3,e4]@4 ~", // A#dim
  K: "~@20 d4@3 ~@5 f#4@3 ~, f#4@13 ~@3 f#4@11 ~@5, ~@8 a3@16 [a3,d4]@7 ~", // D5
  L: "g4@3 ~ g4@4 ~@4 g4@2 ~@2 [c#4,e4]@6 ~@2 [a3,c#4]@4 e4@2 ~@2, a3@14 a3@7 ~@11, d4@7 ~ d4@7 ~@17", // C#m A
  M: "~@24 d4@7 ~, ~@8 b3@21 ~@3, ~@16 g4@15 ~", N: "~ f#4@3 ~@2 d4@5 a3 d4@3 ~, [a3,d4]@2 a3@3 ~@3",
  O: "[a3@4 d4@4 ~@4 f#3@2 ~@2 f#3@8 ~@4 d4@4 ~@4 c#4@4 ~@4 f#3@2 ~@6 f#4 ~@3 f#4@4 [f#3,c#4]@3 ~, f#3@8 f#4@13 ~@3 f#4@16 f#4@12 ~@12, ~@12 d4@7 ~@9 f#3 ~@3 f#3@11 ~@5 f#3@10 ~@6, ~@16 a3@4 ~@2 c#4@7 ~@3]/2", // F#5
  P: "~@4 c4@4 f#4@3 ~ f#3 ~@11 c4@4 a3@3 ~, a3@8 f#3@5 ~@3, f#3@5 ~ c4@4 f#4@6",
  Q: "~ d#4 ~@5 d#4, f#3@3 d#4@2 d#4@2 ~, ~ a3@14 ~ [f#3,b3]@16, ~@8 f#4@10 ~@6 f#4@7 ~", // B5
  R: "[~@9 g4@3 ~@16 e4@4 ~@9 g4@11 ~@8 e4@4 ~@4 b3@3 ~@2 g4@11 ~@8 c#4@4, e3@15 ~@5 e3@9 ~@3 d3@18 ~@2 d3@10 ~@2 c#3@17 ~@3 c#3@11 ~, ~@4 b3@18 ~@2 b3@9 ~@3 b3@17 ~@3 [b3,g4]@11 ~@5 [c#4,e4]@13 ~@3 c#4@2 ~@6, ~@8 e4@14 ~@2 g4@16 e4@13 ~@35 e4@8, ~@89 g4@7]/3", // Em C#m
  S: "~@3 [d4,f#4], d3@7 ~ d3@8, ~@4 a3@13 ~@15, ~ f#4@2 ~, ~@8 d4@11 ~@13", // D
  T: "[~ f#4@6 ~@2 f#4@3 ~@20 c4@7 ~@2 e4@6 ~ d#4@6 ~@2 d#4@6 ~@3 g4@7 g4@4 d4@3 ~@2 f#4@7 f#4@4 d4@3 ~, [a3,d4]@7 a3@5 f#4@11 ~ f#4@14 ~@26 d4@10 ~@6 d4@9 ~@7, ~@8 d4@6 ~ a3@13 ~@4 a3@15 a3@6 ~@2 a3@6 ~@35, ~@16 c#4@13 ~@11 c4@7 ~ c4@15 b3@13 ~@3 b3@15 ~@2]/3", // D5
  U: "[~@4 a#3@4 e4@6 ~@2 [a#3,e4]@4 ~@3 g4@7 ~@22 d4@3 ~ a3@4 f#4@4, g3@12 ~@2 g3@14 ~@3 d4@9 ~@4 d4@7 ~@5 d4@8, ~@20 a#3@9 ~ a3@7 ~@3 a3@14 ~@10, ~@22 e4@10 f#4@16 f#4@11 ~@5]/2", // A#dim
  V: "[g4@3 ~@9 g4@2 ~@2 [a3,c#4,e4]@8 [a3,c#4]@4 e4@2 ~@2 b3@8 ~@16 d4@7 ~, a3@16 ~@24 b3@23 ~, d4@7 ~ d4@7 ~@15 d4@9 ~@5 d4@12 ~@8, ~@4 e4@12 ~@16 g4@13 ~@3 g4@15 ~]/2", // A
  W: "[a3,d4,f#4]@8 d4@4 d4@11 ~@9, ~@4 a3@7 ~@5", // D
  X: "~@6 f#3 ~ f#3@4 f#4@2 d4@2, a3@26 ~@2 f#3 ~@3, f#3@8 f#4@13 ~@11, ~ d4@2 d4@4 ~",
  Y: "[~@4 c#4@4 ~@4 f#3@2 ~@6 f#4@4 ~@4 [f#3,c#4]@3 ~@5 c4@4 ~@4 f#3@3 ~@9 c4@4 a3@3 ~, a3@29 ~@3 a3@24 ~@8, f#3@11 ~ c#4@16 ~@4 f#3@10 ~@2 c4@12 ~@8, ~@4 f#4@4 f#3@4 f#4@7 ~ f#4@4 f#3@5 ~@3, ~@52 f#4@11 ~]/2", // F#5
  Z: "~@7 d#4, f#3@13 ~@3 [f#3,b3]@16, ~ a3@14 ~@17, ~ d#4@2 d#4@2 d#4@2 ~, ~@8 f#4@10 ~@6 f#4@7 ~", // B5
  AA: "[~@28 e4@4 ~@28 e4@4 ~@4 b3@3 ~@2 g4@11 ~@8 c#4@4, e3@15 ~@5 e3@9 ~@3 d3@18 ~@2 d3@10 ~@2 c#3@17 ~@3 c#3@11 ~, ~@4 b3@18 ~@2 b3@9 ~@3 b3@17 ~@3 b3@9 ~@7 [c#4,e4]@16 c#4@4 ~@4, ~@8 e4@14 ~@18 e4@13 ~@35 e4@8, ~@9 g4@15 g4@17 g4@15 g4@17 ~@16 g4@7]/3", // C#m
  AB: "~@3 [d4,f#4], d3@7 ~ d3@8, ~@4 a3@13 ~@15, ~@2 [d4,f#4]@3 ~@3", // D
  AC: "[~ f#4@6 ~@2 f#4@3 ~@20 [a3,c4]@8 ~ e4@6 ~ d#4@6 ~@2 d#4@6 ~@3 g4@7 ~@4 d4@3 ~@2 f#4@6 ~ f#4@4 d4@3 ~, [a3,d4]@7 a3@5 f#4@11 ~ f#4@14 ~@26 d4@10 ~@6 d4@9 ~@7, ~@8 d4@6 ~ a3@13 ~@19 a3@6 ~@2 a3@6 ~@11 g4@10 ~@14, ~@16 c#4@13 ~@11 c4@7 ~ c4@15 b3@13 ~@3 b3@14 ~@3]/3", // Am D5
  AD: "[~@4 a#3@4 e4@6 ~@2 [a#3,e4]@4 ~@3 g4@7 ~@22 d4@4 ~@4 f#4@4, g3@12 ~@2 g3@14 ~@3 d4@9 ~@4 d4@7 ~@13, ~@20 a#3@9 ~ a3@10 a3@16 [a3,d4]@8, ~@22 e4@10 f#4@13 ~@3 f#4@11 ~@5]/2", // A#dim D5
  AE: "[g4@3 ~@9 g4@2 ~@2 [a3,c#4]@8 [a3,c#4]@4 e4@2 ~@2 b3@8 ~@16 d4@7 ~, a3@16 ~@24 b3@23 ~, d4@7 ~ d4@7 ~@15 d4@9 ~@5 d4@12 ~@8, ~@4 e4@12 e4@4 ~@12 g4@13 ~@3 g4@15 ~]/2", // A
})).s("gm_acoustic_guitar_nylon").gain(0.16)

// chords · acoustic guitar nylon · "tk7" · soft notes
const acoustic_guitar_nylon_2 = note("<~ A@4 B C ~ D E F G H I J K L@2 M ~@7 F ~@27 F ~@32>".pickRestart({
// … 58 more lines

More by Elvis Presley