Strudelify

I'll Never Love This Way Again

Tom Jones

KeyE majorTempo72 bpm
0:00/0:00
// I'll Never Love This Way Again — Tom Jones
// 72 bpm, 6/8, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 16 piano (copy of ch 5 choir aahs)
// note: Full arrangement: all 104 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(72/3)

// 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@2 F G H@3 I E@2 F G J K L M N@2 O@2 P@2 Q@2 R@2 S@2 A B C D E@2 F T U@3 I E@2 F T J V L M W@2 X@2 Y@2 Z@2
  AA@2 S@2 A B C D E@2 F G H@3 V E@2 F G J I AB AC AD AE AF AG AH AI AJ AK AL AM AN ~@2 A B AO@4
>`.pickRestart({
  A: "e3@13 ~@3 [g#5,b5]@4 ~ [a5,c#6]@4 ~ [e5,b5,d6]@3 ~@3, [e1,e2]@15 ~, ~@7 e3@8 ~, ~@15 e5@10 ~@7", // G#m A E7 E
  B: "[a2,e5,a5,c#6]@7 ~ [a5,b5] c#6@5 ~@2, a1@15 ~, ~@16 [a2,e6]@13 ~@3", C: "[e1,e2]@31 ~",
  D: "~@9 d#4@5 ~@2 [a3,b3,d#4,f#4]@11 ~@5, b1@13 ~ b1@13 ~@5", // B7
  E: "[[e1,e2]@11 e3 ~@4 b3@14 ~@18 e3@5 ~@6 e3@4 ~, ~@14 [e1,e2]@17 ~ e1@30 ~@2, ~@16 e3@10 ~@4 e3@14 ~@2 e2@4 ~@3 e2@9 ~@2, ~@24 b3@7 ~]/2", // E
  F: "~@8 b3@6 ~ b3, [g#1,g#2]@31 ~, ~@8 g#3@3 ~@5", // G#
  G: "~@9 [g#3,b3] ~@6 g#3@3 ~@8 g#3@5, g#1@27 ~@5, ~@7 g#2@7 ~@2, ~ b3", // G#m
  H: "[~@16 c#4@11 ~@21 a3 ~@42 c#4@5, [a1,a2]@30 c#4@13 a2@16 ~@37, ~@16 a3@7 ~@4 a3@18 ~@3 c#4@9 ~@2 c#4@8 ~@29, ~@16 a1@14 ~@2 [f#1,f#2]@15 ~, ~@53 a3@14 ~@13 [a3,f#4]@16]/3", // A F# D
  I: "[b1,b2]@9 [b3,d#4] ~@6 [a3,b3,d#4]@12 ~@4, ~@14 [b1,b2]@15 ~@3", J: "~@27 c#4@5, [f#1,f#2]@15 ~, ~ [a3,f#4]",
  K: "[b1,b2]@9 [a3,b3,d#4] ~@6 [a3,b3,d#4]@12 ~@4, ~@14 [b1,b2]@15 ~@3", // B B7 B
  L: "~@16 [b4,g#5,b5]@5 [a4,f#5,a5]@5 ~ [e3,g#4,e5,g#5]@4 ~, e1@15 ~, e3@25 ~@7, e2@20 ~ e2@10 ~", // E D E
  M: "c#5 ~@4 b1@3 ~@3 [b1,b2]@3 ~@2 [b1,b2]@3 ~@2 [b1,b2]@3 ~@3 [b1,b2]@2 ~@3, b4@7 ~@9, [b1,b2]@5 ~@27, ~@2 d#5@13 ~@17", // B
  N: "[~@21 [e4,b4]@6 f#4@5 e4@4 ~ e4@16 e3@7 ~@4, e2@15 ~, e3@49 ~@15, ~@37 g#4@20 ~@7]/2", // E5
  O: "[e2@11 ~@5 [b4,e5]@4 ~@7 [b4,f#5]@5 [b4,e5]@14 ~@7 e4@6 e2@3 ~@2, ~@14 e2@8 ~@3 e2@17 ~@6 e2@9 ~@7, ~@52 b3@11 ~]/2", // E5 B5 E5
  P: "[~@16 e5@4 ~ d#5@6 g#4@5 b4@14 ~@3 d#5@9 b4@4 ~@2, [g#2,g#3]@22 ~ g#2@8 ~, ~@15 d#5@2 ~@30 g#3@16 ~, ~@24 g#4@7 ~]/2", // G#
  Q: "[~@16 a#4@5 ~ g#4@5 a#4@5 ~ b4@4 ~@22 d#4@3 ~@2, g#2@46 ~@2 g#2@13 ~@3, ~@6 g#3@42 ~@6 g#3@9 ~, ~@19 g#4@12 ~, ~@19 d#4@9 ~@4]/2",
  R: "[~@14 a4@2 c#5@4 ~ e5@2 ~@4 a4@8 ~@2 a4@15 ~ a4@6 a2@3 ~@2, a2@55 ~@9, a3@33 ~@3 a3@27 ~, ~@27 e5@32 ~@5]/2",
  S: "[~@6 b4@4 ~ b4@3 ~@2 a4@12 ~@5 b4@23 ~@8, f#1@31 b3@25 ~@8, ~@4 f#2@9 ~ f#2@18 [d#4,f#4]@24 ~@8]/2", // D#m
  T: "~@9 b3 ~@6 g#3@3 ~@8 g#3@5, g#1@27 ~@5, ~@7 g#2@7 ~@2, ~ b3",
  U: "[~@16 c#4@11 ~@21 a3 ~@42 c#4@5, [a1,a2]@31 ~ a1@28 ~@4 [f#1,f#2]@30 ~@2, ~@16 a3@7 ~@7 c#4@13 a2@16 ~@37, ~@48 c#4@9 ~@2 c#4@8 ~@29, ~@53 a3@14 ~@13 [a3,f#4]@16]/3", // A F# D
  V: "[b1,b2]@9 d#4 ~@6 [a3,b3,d#4]@12 ~@4, ~@14 [b1,b2]@15 ~@3", // B B7 B
  W: "[~@27 e4@3 ~@2 g#4@5 b4@16 ~ e4@5 ~@5, [e1,e2]@57 ~@7, ~@8 e4@5 ~@3 e4@10 ~@6, ~@11 b4@5 ~@16]/2", // E
  X: "[~@15 f#4@2 g#4@4 [e4,g#4]@4 ~ g#4@5 ~ f#4@5 e4@20 ~@7, e2@7 ~, ~@3 e3@26 ~@3, ~@15 e4@5 ~@6 e4@9 ~@29]/2", // E
  Y: "[~@14 d#4@2 g#4@3 ~@2 g#4@6 ~@5 b4@4 ~ g#4@9 ~@13 g#2@5, g#1@44 ~@2 g#1@13 ~@5, g#2@23 ~@4 g#2@20 ~@7 d#4@9 ~, ~@31 d#4@15 ~@2 g#4@14 ~@2]/2",
  Z: "[~@16 [b4,d#5]@4 ~@2 [g#4,b4,d#5]@4 ~@6 c#5@5 ~@12 g#2@7 ~@8, g#1@23 ~@3 g#1@29 ~@9, ~@6 g#2@19 ~@12 b4@17 ~@10, ~@15 g#4@5 ~@11 g#4@7 ~@4 g#4@11 ~@11]/2", // B G#m
  AA: "[~@14 a4@2 c#5@4 ~ e5@2 ~@4 a4@8 ~@2 a4@15 ~ a4@6 a2@3 ~@2, a2@55 ~@9, a3@33 ~@3 a3@27 ~, ~@16 b4@2 ~@9 e5@32 ~@5]/2",
  AB: "[e1,e2]@4 [b3,e4] ~@6 [b3,e4]@5 [e1,e2]@4 [b3,e4] ~@6 [b3,e4]@3 ~@2, ~@9 [e1,e2]@5 ~@11 [e1,e2]@6 ~", // E E5 E E5 E
  AC: "~@5 b2@4 ~@2 b2@3 b1@2 b2@3 ~@2 b2@3 ~ b1@2 ~ b1@2 ~@2, b1@12 ~@8 b1@3 ~@4 b2@3 ~@2",
  AD: "e2@2 e1@2 [b3,e4,g#4] ~@4 e1@2 [b3,e4,g#4] ~@4 [e1,e2]@3 ~ [b3,e4,g#4] ~@6 [b3,g#4]@2 ~ b3 ~, ~@9 e2 ~@15 [e1,e2]@5 ~@2, ~@27 e4 ~@4", // E
  AE: "[e1,e2]@4 [b3,e4,g#4] ~@6 [e4,g#4] ~@4 [e1,e2]@4 [b3,e4,g#4] ~@4 [e1,e2]@2 [b3,e4,g#4] ~@4, ~@9 [e1,e2]@4 ~@19, ~@11 b3@2 ~@19", // E
  AF: "[e1,e2]@4 [b3,e4] g#4 ~@5 [b3,e4,g#4]@3 ~@2 [e1,e2]@3 ~ [b3,e4,g#4] ~@4 [e1,e2]@2 [b3,e4,g#4] ~@2 b3 ~, ~@9 [e1,e2]@4 ~@19", // E E5 E
  AG: "e1@3 ~ [b3,e4,g#4] ~@6 [b3,e4,g#4] ~@2 b3 ~ [e1,e2]@4 [b3,e4,g#4] ~@6 [e4,g#4]@2 ~ b3 ~, ~@9 [e1,e2]@5 ~@11 [e1,e2]@7, ~@27 b3 ~@4", // E
  AH: "g#1@4 [b3,d#4,g#4] ~@4 g#1 ~ [b3,d#4] ~@2 b3 ~ g#1@4 [b3,d#4,g#4] ~@4 g#1 ~ [b3,g#4]@2 ~@3, ~@11 g#4@2 ~@14 d#4 ~@4", // G#m B G#m E
  AI: "g#1@3 ~ [b3,d#4,g#4] ~@4 g#1 ~ [b3,d#4,g#4]@2 ~ b3 ~ g#1@3 ~ [b3,d#4,g#4] ~@4 g#1 ~ [b3,d#4] ~@2 b3 ~, ~@27 g#4@2 ~@3", // G#m B
  AJ: "g#1@3 ~ [b3,d#4,g#4] ~@4 g#1 ~ [b3,g#4]@2 ~@3 g#1@4 [b3,d#4,g#4] ~@4 g#1 ~ b3@5, ~@11 d#4 ~@15 d#4@2 ~@3, ~@27 g#4 ~@4", // G#m E G#m
  AK: "g#1@3 ~ [b3,d#4,g#4] ~@4 g#1 ~ [b3,d#4,g#4]@5 g#1@5 [b3,d#4,g#4]@3 ~ g#1 ~ [b3,d#4,g#4]@5", // G#m
  AL: "a1@3 ~ [a3,c#4,e4] ~@4 a1 ~ [c#4,e4]@3 a3@2 a1@3 ~ [a3,c#4,e4] ~@4 a1@2 a3@2 ~ a3@2, ~@11 a3@2 ~@14 [c#4,e4]@5", // A C#m A C#m
  AM: "a1@4 [a3,c#4,e4] ~@4 a1@2 [c#4,e4]@5 a1@5 [a3,c#4,e4] ~@3 a1@2 [a3,c#4,e4]@3 ~@2, ~@11 a3@2 ~@19", // A C#m A
  AN: "[f#1,f#2]@4 [a3,c#4,f#4] ~@4 [f#1,f#2] ~ [a3,c#4,f#4]@3 a3 ~ [f#1,f#2]@3 ~ [a3,c#4,f#4] ~@6 [a3,c#4,f#4]@3 ~@2, ~@25 [f#1,f#2]@6 ~", // F# F#m F# F#m F# F#m F#
  AO: "[~@14 e5@2 ~@2 f#5@2 ~ [e5,g#5]@2 ~@3 f#5@3 e5@2 ~ c#5@2 ~ b4@2 ~ b4@2 c#5@3 b4@2 ~@2 g#4@3 e4@3 ~@2 f#4@4 ~ g#4@46 ~@22, ~@14 [e2,e3]@93 ~@21, ~@14 b5@6 ~ b5@9 ~@24 e4@2 ~@3 e4@47 ~@22, ~@17 e5@2 ~@19 e5@6 ~@10 b4@52 ~@22]/4", // E
})).s("gm_piano").gain(0.53).pan(0.4)

// chords · piano · soft notes
const piano_soft = note(`<
  ~@2 A ~ B ~@2 C ~@4 D ~@2 C ~@3 E ~@2 F G ~ H ~ I ~ J ~@4 A ~ B ~@2 C K L@2 ~ D ~@2 C K ~ M E ~@5 N ~@3 O ~@4 A ~ B
  ~@2 C ~@4 M ~@2 C ~@2 D ~@3 P Q ~ R S ~@3 T ~@4 A U V ~@2
>`.pickRestart({
  A: "~@19 a5@9 ~@4", B: "~@9 [a3,b3,f#4]@6 ~@17", C: "~@27 g#3@3 ~@2", D: "~@9 a3 ~@22", E: "~@8 g#3@7 ~",
  F: "~@27 e4 ~@4", G: "~@21 [b4,e5]@4 ~@7", H: "~@15 a#4 ~@16", I: "~@15 g#4@2 ~@15", J: "~@16 b4@2 ~@2 a4@5 ~@7",
  K: "~@9 g#3 ~@22", L: "[~@27 a3@18 ~@19]/2", M: "~@9 [a3,b3] ~@22", N: "~@14 b3 ~@7 d#4@3 ~@7", O: "~@20 a4@5 ~@7",
  P: "~@16 b3 ~@13 b3@2", Q: "~@14 b3 ~@17", R: "~@30 [b3,d#4] ~", S: "~@14 d#4 ~@17", T: "~@7 a3 ~@8",
  U: "~@25 g#5@4 ~@3", V: "~@4 b4 ~@3",
})).s("gm_piano").gain(0.31).pan(0.4)

// other · timpani
const timpani = note("<~@20 A B ~@30 C B ~@30 D E ~@18>".pickRestart({
  A: "~@9 b2 ~@4 b2 g2 b2 g2 b2 g2 [g2,b2] b2 g2 b2 g2 b2 g2 b2 [g2,b2] g2 b2 g2", B: "b2 ~@31",
  C: "~@14 b2 g2 b2 g2 b2 g2 [g2,b2] b2 g2 b2 g2 b2 g2 b2 [g2,b2] g2 b2 g2", // G
  D: "~@15 b2 g2 b2 g2 b2 [g2,b2] g2 b2 g2 b2 g2 b2 g2 [g2,b2] b2 g2 b2", E: "g2 ~@31",
})).s("gm_timpani").gain(0.48).pan(0.7)

// other · timpani · soft notes · G
const timpani_soft = note(`<
  ~@20
  [~@6 g2 b2 g2 ~ g2 b2 [g2,b2] g2 ~@18]
  ~@31
  [~@6 g2 b2 g2 b2 g2 b2 [g2,b2] g2 ~@18]
  ~@31
  [~@7 g2 b2 g2 b2 g2 [g2,b2] b2 g2 ~@17]
  ~@19
>`).s("gm_timpani").gain(0.24).pan(0.7)

// chords · string ensemble 2
const string_ensemble_2 = note(`<
  ~@17 A@2 B C D@7 E F@3 G ~@4 H@4 I@4 ~@4 A@2 B C D@7 E F@3 G ~@4 J@4 K@3 L ~@4 A@2 B C D@7 E F@3 G ~@3 M@4
>`.pickRestart({
  A: "[[a3,c#4,e4] [f#3,b3,d#4], f#4]/2", B: "[g#3,e4]", C: "[b2,f#3,b3]",
  D: "[g#4@3 ~@3 b3, e4@4 d#4@3, ~@3 b3 ~@3, ~@112 g#4@79 ~@33]/7", E: "~@16 b4@15 ~, [b3,d#4,g#4]",
  F: "[[c#4,a4]@64 [c#4,f#4]@13 ~@19, e4@19 ~@5]/3", G: "[b3,d#4]", H: "[e4 d#4, [g#4,b4]]/4",
  I: "[e4@2 ~ [d#4,b4], a4, c#4@3 ~, ~ f#4]/4", J: "[[g#5,e6] [g#5,d#6], b5]/4", K: "[[a5,e6]@2 a5, c#6]/3",
  L: "[f#5,b5,d#6]", M: "[[e2,e3,g#3,e4]@53 ~@11]/4",
})).s("gm_string_ensemble_2").gain(0.31)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~ A B C D E F G H I J K L E F M H N L ~@2 O@4 P@2 Q@2 R@2 S T C B C D U F G H I J K L E F G V W X ~@2 Y@4 P@2 Q@2 Z@2
  S T C B A D U F M H I J AA AB U F G V K L ~@2 AC@4 P@2 AD@2 AE@2 S AF ~ AG AH ~@4
>`.pickRestart({
  A: "~@9 [b3,e4] ~ e4@3 ~@2 b3@7 ~@4 b3@5, [e2,b2]@6 ~ [e2,b2]@8 ~, ~ [e4,g#4]", // E5 E
  B: "~@16 a3@9 ~@2 a3@3 ~@2, a2@15 ~, ~@14 e3@9 ~@2 e3@5 ~@2, ~@8 [c#4,e4]@7 ~", // C#m
  C: "~@9 [b3,e4] ~@6 b3@7 ~@4 b3@5, [e2,b2]@6 ~ [e2,b2]@8 ~, ~ [e4,g#4]", // E5 E
  D: "b2@9 [b3,d#4,f#4] ~@6 [a3,b3,d#4,f#4]@11 [b2,f#3]@2 ~@3, b3 ~@8 a3@3 ~@2 [b2,f#3]@8 ~@10", // B B7 B5
  E: "~@9 [b3,e4,g#4] ~@6 [b3,e4]@8 ~@3 e4@5, e2@12 ~@2 e2@15 ~@3, ~ g#4, ~@25 b3@4 ~@3", // E E5
  F: "e2@3 ~@6 [b3,e4,g#4] ~@6 [e4,g#4]@9 ~@2 e4@5, ~@14 e2@15 ~@3, ~@16 b3@6 ~@3 b3@7", // E
  G: "g#2@9 [b3,d#4,g#4] ~@6 [d#4,g#4]@9 ~@7, ~@14 g#2@15 ~@3, ~@8 b3@3 ~@5", // G#m G#5
  H: "g#2@9 [b3,d#4,g#4] ~@6 d#4@10 ~ b3@5, ~@14 g#2@17 ~, ~@16 g#4@15 ~, ~@8 b3@3 ~@5", // G#m
  I: "a2@9 [a3,c#4,e4] ~@6 [c#4,e4]@14 a3@2, ~@7 a2@8 ~, ~@4 a3@3 ~", // A C#m
  J: "a2@12 ~@4 c#4@10 ~ a3@5, ~@7 a2@9, ~@8 e4@7 ~, ~@4 a3 ~@3",
  K: "f#2@9 [a3,c#4,f#4] ~@6 [c#4,f#4]@9 ~@2 [a3,f#4]@5, ~@14 f#2@17 ~, ~@8 a3@3 ~@5", // F#m F#5 D
  L: "b2@9 [d#4,f#4] ~@6 [a3,b3,d#4,f#4]@8 ~@3 [a3,b3,d#4]@2 ~@3, ~@14 b2@8 ~@3 b2@5 ~@2", // D#m B7
  M: "g#2@9 [b3,g#4] ~@6 [d#4,g#4]@9 ~@7, ~@14 g#2@15 ~@3, ~@8 b3@3 ~@5", // E G#5
  N: "f#2@9 [a3,c#4,f#4] ~@2 a3 ~@3 [c#4,f#4]@9 ~@2 [a3,f#4]@5, ~@14 f#2@17 ~, ~@8 a3@3 ~@5", // F#m F#5 D
  O: "[[b3,e4]@4 ~ [b3,e4]@3 ~ e3 ~@6 e4@8 ~@13 b3@2 ~@4 e4 ~@4 b3@3 ~@13 e2@9 e3 ~@6 b3@5 ~@11 e2@10 ~@6 e4@9 ~@2 [b3,e4]@5, [e2,g#4]@10 ~@4 [e2,e3]@16 ~@2 e2@9 ~@5 [e2,e3]@16 ~@16 e2@13 b3@13 ~@8 b3@5 ~@11, ~@16 g#4@23 ~@20 b3@13 ~@6 e3@17 ~@15 [e2,e3]@17 ~, ~@16 b3@3 ~@8 e4@12 ~@9 [e4,g#4]@24 ~@8 [e4,g#4]@25 ~@7 g#4@16]/4", // E5 E
  P: "[g#2@9 [b3,d#4,g#4] ~@6 d#4@9 ~@7 g#2@9 [b3,d#4,g#4] ~@6 d#4@10 ~ b3@5, ~@14 g#2@14 ~@18 g#2@15 ~@3, ~@16 g#4@19 ~@13 g#4@16, ~@16 b3@5 ~@6 b3@8 ~@13 b3@5 ~@11]/2", // G#m
  Q: "[g#2@9 [b3,d#4] ~@6 b3@9 ~@7 g#2@9 [b3,d#4,g#4] ~@17 g#2@5, ~@14 g#2@15 ~@17 g#2@9 ~@9, ~@8 [d#4,g#4]@11 ~@5 [b3,d#4,g#4]@8]/2", // B G#m G#5 G#m
  R: "[a2@9 [a3,e4] ~@6 a3@7 ~@9 a2@9 [a3,e4] ~@6 [c#4,e4]@11 a3@2 ~@3, ~@14 a2@13 a3@12 ~@7 a2@15 ~@3, ~@16 [c#4,e4]@23 ~@9 a3@4 ~@12]/2", // A5 C#m
  S: "~@5 a3 ~@3 [a3,c#4] ~@6 [a3,c#4]@10 ~ a3@4 ~, f#2@4 ~@3 f#2@9", // A
  T: "b2@9 [a3,c#4] ~@6 [a3,d#4]@11 b2@4 ~, ~@7 b2@5 ~@4", // A Adim
  U: "~@9 [b3,e4,g#4] ~ b3 ~@4 [b3,e4]@8 ~@3 e4@5, e2@12 ~@2 e2@15 ~@3, ~ g#4, ~@25 b3@4 ~@3", // E E5
  V: "g#2@9 [b3,d#4,g#4] ~@6 d#4@10 ~ [b3,d#4]@5, ~@14 g#2@17 ~, ~@16 g#4@15 ~, ~@8 b3@3 ~@5", // G#m B
  W: "~@5 a3 ~@3 [a3,c#4,f#4] ~@6 [c#4,f#4]@9 ~@2 [a3,f#4]@5, f#2@10 ~@4 f#2@17 ~, ~@8 a3@3 ~@5", // F#m F#5 D
  X: "b2@9 [d#4,f#4] ~@6 [a3,b3,d#4,f#4]@8 ~@3 [b3,d#4]@2 ~@3, ~@14 b2@8 ~@3 b2@5 ~@2", // D#m B7 B
  Y: "[[b3,e4]@4 ~ [b3,e4]@3 ~ e3 ~@6 e4@8 ~@8 e2@9 e3 ~ e4 ~@4 b3@3 ~@13 e2@9 e3 ~@6 b3@5 ~@11 e2@10 ~@6 e4@9 ~@2 [b3,e4]@5, [e2,g#4]@10 ~@4 [e2,e3]@16 ~@16 [e2,e3]@16 ~@16 e2@13 b3@13 ~@8 b3@5 ~@11, ~@16 g#4@23 ~@20 b3@13 ~@6 e3@17 ~@15 [e2,e3]@17 ~, ~@16 b3@3 ~@8 e4@12 ~@9 [e4,g#4]@24 ~@8 [e4,g#4]@25 ~@7 g#4@16]/4", // E5 E
  Z: "[a2@9 [a3,e4] ~@6 a3@7 ~@9 a2@9 e4 ~@6 [c#4,e4]@11 a3@2 ~@3, ~@14 a2@13 a3@12 ~@7 a2@15 ~@3, ~@16 [c#4,e4]@23 ~@9 a3@4 ~@12]/2", // A5 C#m
  AA: "~@5 a3 ~@3 [a3,c#4,f#4] ~@2 a3 ~@3 [c#4,f#4]@9 ~@2 [a3,f#4]@5, f#2@10 ~@4 f#2@17 ~, ~@8 a3@3 ~@5", // F#m F#5 D
  AB: "b2@9 [b3,d#4,f#4] ~@6 [a3,b3,d#4,f#4]@8 ~@3 [b3,d#4]@2 ~@3, ~@14 b2@8 ~@3 b2@5 ~@2", // B B7 B
  AC: "[[b3,e4]@4 ~ [b3,e4]@3 ~ e3 ~@6 e4@8 ~@8 e2@9 e3 ~ e4 ~@4 b3@3 ~@13 e2@9 e3 ~@6 b3@5 ~@11 e2@10 ~@6 e4@9 ~@2 [b3,e4]@5, [e2,g#4]@10 ~@4 [e2,e3]@16 ~@16 [e2,e3]@16 ~@16 e2@13 b3@13 ~@8 b3@5 ~@11, ~@16 g#4@23 ~@9 [e4,g#4]@24 ~@8 [e4,g#4]@25 ~@7 g#4@16, ~@16 b3@3 ~@40 b3@13 ~@6 e3@17 ~@15 [e2,e3]@17 ~]/4", // E5 E
  AD: "[g#2@9 [b3,d#4,g#4] ~@6 b3@9 ~@7 g#2@9 [b3,d#4,g#4] ~@17 g#2@5, ~@14 g#2@15 ~@17 g#2@9 ~@9, ~@8 [d#4,g#4]@11 ~@5 [b3,d#4,g#4]@8]/2", // G#m G#5 G#m
  AE: "[a2@9 [a3,e4] ~@6 a3@7 ~@9 a2@10 ~@6 [c#4,e4]@11 a3@2 ~@3, ~@14 a2@13 a3@12 ~@7 a2@15 ~@3, ~@16 [c#4,e4]@23 ~@9 a3@4 ~@12]/2", // A5 C#m
  AF: "[f#2,b2,f#3,b3,d#4]@7 ~", AG: "e2@4 [b3,e4] ~@4 e2@2 e4@5 e2@3 ~ [b3,e4] ~@4 e2@2 [b3,e4]@5, ~@11 b3@3 ~@18",
  AH: "a2@4 [a3,c#4] ~@6 [a3,c#4]@4 ~ [a3,e4]@10 ~ [a3,c#4]@3 ~@2, ~@9 a2@5 ~@2 a2@11 ~@5", // A A5 A
})).s("gm_acoustic_guitar_steel").gain(0.43).pan(0.4)

// chords · acoustic guitar steel · soft notes
const acoustic_guitar_steel_2 = note(`<
  ~ A B C D E ~ F G ~@2 H I E ~ J G K I ~@2 L@2 M N ~@2 O@2 ~@2 P Q C B C D R ~ F G ~@2 H I E ~ F ~ S T ~@2 U@2 M N ~@2
  O@2 ~ V P Q C B A D R ~ J G ~@2 W X R ~ F ~ H I ~@2 Y@2 M N ~@2 Z@2 ~ AA P ~@2 AB ~@5
>`.pickRestart({
  A: "~@11 b3@4 ~@17", B: "~@11 [a3,c#4,e4]@4 ~@17", C: "~@11 [b3,e4]@4 ~@17", D: "~@2 f#3@9 [b3,d#4,f#4] ~@20",
  E: "~@11 [b3,g#4] ~@18 b3@2", F: "~@12 b3 ~@17 d#4@2, ~@27 [b3,g#4]@5", G: "~@27 d#4@5",
  H: "~@5 a3 ~@6 a3 ~@14 c#4@5", I: "~@9 [a3,b3] ~@22", J: "~@9 d#4 ~@2 b3 ~@17 d#4@2, ~@27 [b3,g#4]@5",
  K: "~@5 a3 ~@21 c#4@5", L: "[~@21 b3 ~@3 b3@11 ~@5 e3 ~ [b3,g#4] ~@20]/2", M: "~@11 [b3,e4] ~@20",
  N: "~@9 e3 ~ b3 ~@20", O: "[~@9 g#4 ~ b3 ~@16 b3@9 ~@27]/2", P: "~@27 c#4@4 ~", Q: "~@5 a3 ~@3 d#4 ~@22",
  R: "~@11 g#4 ~@18 b3@2", S: "~@12 a3 ~@14 c#4@5", T: "~@9 [a3,b3] ~@17 a3@2 ~@3",
  U: "[~@21 b3 ~@3 b3@11 ~ b3@2 ~@4 [b3,g#4] ~@20]/2", V: "~@9 a3 ~@22", W: "~@27 c#4@5", X: "~@9 a3 ~@17 a3@2 ~@3",
  Y: "[~@21 b3 ~@5 e4@10 b3@2 ~@4 [b3,g#4] ~@20, ~@25 b3@11 ~@28]/2", Z: "[~@11 b3 ~@16 b3@9 ~@27]/2",
  AA: "~@9 [a3,e4] ~@22", AB: "~@14 b3 ~@17",
})).s("gm_acoustic_guitar_steel").gain(0.24).pan(0.4)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~@3 A B C D E F G H ~@2 C D E F ~@4 I J K L M N O P Q R S T ~@2 U B C D E F G V ~@2 C D E F ~@4 I J K L M N O P Q R S
  T ~@2 A B C D E F G H ~@2 C D E F ~@2 W ~ X Y Z AA AB AC AD AE AF AG ~ AH ~ AI AJ AK ~@3
>`.pickRestart({
  A: "~@16 [e4,g#4]@15 ~, e2@7 ~, ~@2 b3 ~", B: "~@16 [a3,b3,d#4,f#4]@11 ~@5", C: "~@8 [b3,e4,g#4] ~@7, e2@19 ~@13",
  D: "~@16 [b3,e4,g#4]@3 ~@13, e2@21 ~@11, ~@8 e3@3 ~@5", E: "~@8 [b3,d#4,g#4] ~@7, g#2@19 ~@13",
  F: "~@16 [b3,d#4,g#4]@3 ~@13", G: "~@16 [a3,c#4,e4]@5 ~@11, a2@25 ~@7", H: "~@16 [a3,c#4,e4,a4]@3 ~@13, a2@5 ~@3",
  I: "e3@16 [e4,g#4,b4] ~@4 e4 ~@10", J: "~@16 [e4,g#4,b4] ~@10 [e4,g#4]@5, ~@27 e2 ~@4",
  K: "~@16 [e4,g#4,b4] ~@15, e2@5 ~@3", L: "~@16 [e4,g#4,b4]@3 ~@8 e4@2 ~@3, e2@3 ~",
  M: "g#2@16 [b3,d#4,g#4] ~@10 b3@5", N: "~@16 [b3,d#4,g#4] ~@10 [b3,d#4]@5, g#2@19 ~@13",
  O: "g#2@16 [b3,d#4,g#4] ~@15", P: "~@16 [b3,d#4,g#4] ~@15, g#2@29 ~@3", Q: "~@16 [a3,c#4,e4] ~@15, a2@5 ~@3",
  R: "~@16 [c#4,e4,a4] ~@15, a2@5 ~@3", S: "~@16 [a3,c#4,f#4] ~@15, f#2@21 ~@11",
  T: "~@16 [a3,b3,d#4,f#4] ~@10 [d#4,f#4] ~@4, b2@11 ~@5", U: "~@16 b3@8 ~@3 b3@5, e2@7 ~, ~@16 [e4,g#4]@15 ~",
  V: "~@16 [a3,c#4,e4,a4]@3 ~@13", // A
  W: "e2@4 [b3,e4,g#4] ~@6 [b3,e4,g#4]@4 ~ e2@4 [b3,e4,g#4] ~@2 e2@4 [b3,e4,g#4]@3 ~@2, ~@9 e2@5 ~@18", // E
  X: "~@2 e2@3 [e4,g#4] ~@5 [e4,g#4] ~@6 e2 ~ e4 ~@4 e2 ~ [b3,e4,g#4] ~@4", // E
  Y: "~@2 e2 ~ e4 ~@4 e2 ~ [b3,e4,g#4] ~@4 e2@2 ~@2 [b3,e4,g#4] ~@6 [b3,e4,g#4] ~@4", // E
  Z: "e2@2 ~@2 [b3,e4,g#4] ~@4 e2@2 [b3,e4,g#4] ~@4 e2@3 ~ [b3,e4,g#4] ~@4 e2 ~ [b3,e4,g#4] ~@2 b3 ~", // E
  AA: "e2@4 [b3,e4,g#4] ~@4 e2@2 [b3,e4,g#4] ~@4 e2@3 ~ [b3,e4,g#4] ~@4 e2@2 [b3,e4,g#4]@2 ~ b3 ~", // E
  AB: "g#2@3 ~ b3 [d#4,g#4] ~@3 g#2 ~ [b3,d#4,g#4] ~@2 b3 ~ g#2@2 ~@2 [b3,d#4,g#4] ~@4 g#2 ~ [b3,d#4,g#4]@2 ~@3", // G#5 G#m
  AC: "g#2@2 ~@2 [b3,d#4,g#4] ~@4 g#2 ~ [b3,d#4,g#4] ~@2 b3 ~ g#2@2 ~@2 [b3,d#4,g#4] ~@4 g#2 ~ [b3,d#4,g#4] ~@4", // G#m
  AD: "g#2@2 ~@2 [b3,d#4,g#4] ~@4 g#2 ~ [b3,d#4,g#4] ~@4 g#2@2 ~@2 [b3,d#4,g#4] ~@4 g#2 ~ [b3,d#4,g#4]@2 ~@3", // G#m
  AE: "g#2@2 ~@2 [b3,d#4,g#4] ~@4 g#2 ~ [b3,d#4,g#4]@2 ~@3 g#2@3 ~ [b3,d#4,g#4] ~@4 g#2 ~ [b3,d#4,g#4] ~@4", // G#m
  AF: "a2@3 ~@2 [a3,e4] ~@3 a2 ~ [a3,c#4,e4]@2 ~ a3 ~ a2@3 ~ [a3,c#4,e4] ~@4 a2 ~ [a3,c#4,e4] ~@2 a3 ~", // A5 A
  AG: "a2@3 ~ [a3,c#4,e4] ~@4 a2@2 [a3,c#4,e4] ~@2 a3 ~ a2@4 [a3,c#4,e4] ~@4 a2@2 [a3,c#4,e4] ~@2 a2 ~", // A
  AH: "~ [b3,d#4]@8 ~@7, b2@17 ~@15", // B
  AI: "e2@4 [b3,e4,g#4] ~@4 e2 ~ b3@2 ~ b3@2 e2@4 [b3,e4,g#4] ~@4 e2@2 [e4,g#4]@5, ~@11 e4@5 ~@11 b3@2 ~@3, ~@11 g#4 ~@20", // E
  AJ: "a2@3 ~ [a3,c#4,e4] ~@4 a2 ~ [a3,c#4,e4]@5 a2@3 ~ [a3,c#4,e4] ~@6 [a3,c#4,e4]@3 ~@2, ~@25 a2@5 ~@2", // A
  AK: "[e2,b3,e4,g#4]@21 ~@11", // E
})).s("gm_electric_guitar_clean").gain(0.33).pan(0.6)

// chords · electric guitar clean · soft notes
const electric_guitar_clean_2 = note(`<
  ~@3 A ~ B ~@2 C ~@4 B ~@2 C ~@4 D E F ~ G ~@5 H I ~@4 B ~@2 C ~ J ~@2 B ~@2 C ~@4 D E F ~ G ~@5 H I ~@2 A ~ B ~@2 C
  ~@4 B ~@2 C ~@4 K L ~ M N ~ O P ~@5 Q ~@5
>`.pickRestart({
  A: "~@27 b3@5", B: "~@16 e3@2 ~@3 e4 ~@10", C: "g#2@5 ~@3", D: "~@27 e3 ~@4", E: "e2 ~", F: "~@27 [b3,e4]@5",
  G: "~@27 d#4@5", H: "~@27 [a3,f#4] ~@4", I: "~@27 [a3,b3] ~@4", J: "a2@5 ~@3", K: "~@20 g#4 ~@11", L: "~@4 g#4 ~@27",
  M: "~@14 b3 ~@17", N: "~@30 b3 ~", O: "~@12 d#4 ~ b3 ~@15 b3 ~", P: "~@14 b3 ~@15 b3 ~", Q: "~@12 g#4 ~@17 b3@2",
})).s("gm_electric_guitar_clean").gain(0.14).pan(0.6)

// other · string ensemble 1
const string_ensemble_1 = note(`<
  ~@3 A@2 ~@8 B C D E ~@3 F G@2 H I J@2 H K L@2 M N ~@2 A@2 ~@8 B C D E ~@3 F G@2 H I J@2 H K L@2 M N ~@2 A@2 ~@8 O P Q
  R S T ~ F G@2 H I J@2 H K L@2 M N ~ U@2 ~@2 V@2
// … 103 more lines

More by Tom Jones