Strudelify

The Way You Do the Things You Do

The Temptations

KeyD majorTempo124 bpm
0:00/0:00
// The Way You Do the Things You Do — The Temptations
// 124 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 94 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(124/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 · "BASS-Elec."
const bass = note(`<
  ~@3 A B C D@3 E F E G H I J K D L D M N O P Q C F R D S C F E T D U V W X A E D C M Y Z AA Q D F B AB@2 AC@2 AD AC
  AD@2 AE AF AG AH AI AJ AK AI AL AM AN AC AL AM AO AP AQ AR AS AT AN AU AN AU AT AB AV AW AX AN AU AY AZ AB BA
>`.pickRestart({
  A: "d2@7 ~@3 d2@2 a1 ~@3 a1@2 b1@4 a1@2", B: "d2 ~@11", C: "d2@7 ~@3 d2@2 a1 ~@3 a1@2 b1 ~@3 b1@2",
  D: "d2@6 ~@4 d2@2 a1 ~@3 a1@2 b1 ~@3 b1@2", E: "d2@6 ~@4 d2@2 a1 ~@3 a1@2 b1@4 a1@2",
  F: "d2@6 ~@4 d2@2 a1 ~@3 a1@2 a2 ~@3 a2@2", G: "d2@7 ~@3 d2@2 e2 ~@3 e2 ~ f#2@2 ~@2 f#2@2",
  H: "g2@6 ~@4 g2@2 d2 ~@3 d2@2 e2@4 d2@2", I: "g2@6 ~@4 g2@2 d2 ~@3 d2@2 g2@6",
  J: "d2@6 ~@4 d2 ~ a1 ~@3 a1@2 b1@3 ~ a1@2", K: "d2@7 ~@3 d2@2 a1 ~@3 a1@2 b1@3 ~ a1 ~",
  L: "d2@6 ~@4 d2@3 ~@3 a1@2 b1 ~@3 b1@2", M: "d2 ~@5 a2@16 e2@2", N: "a2@7 ~@3 a2 ~ a2@5 ~ a2@3 ~ g#2@2",
  O: "g2@6 ~@4 g2 ~ g2@5 ~ g2@3 ~ g#2@2", P: "a2@6 ~@4 a2 ~ a2@4 ~@2 a2@4 g#2@2", Q: "g2 ~@11", R: "d2 ~@7",
  S: "d2@6 c2 ~@3 d2@2 a1 ~@3 a1@2 b1 ~@3 b1@2", T: "d2@7 ~@3 d2 ~ a1 ~@3 a1@2 b1@4 a1@2",
  U: "d2@6 ~@4 d2@2 e2 ~@3 e2@2 f#2 ~@3 f#2@2", V: "g2@6 ~@4 g2 ~ d2 ~@3 d2@2 e2 ~@3 e2@2",
  W: "g2@7 ~@3 g2@2 d2 ~@3 e2@2 g2@4 e2@2", X: "d2@5 ~@5 d2 ~ a1 ~@3 a1@2 b1@4 a1@2",
  Y: "a2@9 ~ e2@2 a2@4 ~@2 a2@3 ~ g#2@2", Z: "g2@5 ~ g2@4 d2@2 g2@4 ~@2 g2@4 g#2@2",
  AA: "a2@4 ~@2 a2@3 ~@3 a2@4 e2@2 a2@3 ~ g#2@2", AB: "d#2@7 ~@3 d#2@2 a#1 ~@3 a#1@2 c2@4 a#1@2",
  AC: "d#2@6 ~@4 d#2@2 a#1 ~@3 a#1@2 c2@4 a#1@2", AD: "d#2@6 ~@4 d#2@2 a#1 ~@3 a#1@2 c2@3 ~ a#1@2",
  AE: "a#2@3 ~@2 a#2 ~@2 f2 a#2@2 a2", AF: "g#2@6 ~@4 g#2@2 d#2 ~@3 d#2@2 g#2@4 a2@2",
  AG: "a#2@6 ~@4 a#2@2 f2 ~@3 f2@2 a#2@4 a2@2", AH: "g#2 ~@7", AI: "d#2@6 ~@4 d#2@2 a#1 ~@3 a#1@2 c2@4 a#1 ~",
  AJ: "d#2@7 ~@3 d#2@2 a#1 ~@3 a#1@2 ~@4 a#1@2, ~@3 c2", AK: "d#2 ~@7",
  AL: "d#2@6 ~@4 d#2@2 a#1 ~@3 a#1@2 a#2 ~@3 a#2@2", AM: "d#2@7 ~@3 d#2@2 a#1 ~@3 a#1@2 c2 ~@3 c2@2, ~@10 c#2 ~@13",
  AN: "d#2@7 ~@3 d#2@2 a#1 ~@3 a#1@2 c2@3 ~ a#1@2", AO: "d#2 ~@2 a#1@8 f1", AP: "a#1@7 ~@3 a#1 ~ a#1@5 ~ a#1@4 a1@2",
  AQ: "g#1@7 ~@3 g#1 ~ g#1@4 ~@2 g#1@4 a1@2", AR: "a#1@2 ~ a#1@2 ~ a#1@2 ~ a#1@2 a1", AS: "g#1 ~@11",
  AT: "d#2@7 ~@3 d#2@2 a#1 ~@3 a#1@2 c2@4 a#1 ~", AU: "d#1@9 ~ c2@2 a#1 ~@3 a#1@2 c2@4 a#1 ~",
  AV: "d#2@8 ~@2 d#2@2 a#1 ~@3 a#1@2 c2@4 a#1@2", AW: "d#2@6 ~@4 d#2@2 a#1 ~@3 a#1@2 c2@3 ~ a#1 ~",
  AX: "d#1@10 c2@2 a#1 ~@3 a#1@2 c2@4 a#1 ~", AY: "d#2@7 ~@3 d#2 ~ a#1 ~@3 a#1@2 c2@4 a#1@2",
  AZ: "d#1@9 ~ c2@2 a#1 ~@3 a#1@2 c2@4 a#1@2", BA: "d#2 ~@11",
})).s("gm_acoustic_bass").gain(0.56)

// chords · brass section · "BRASS"
const brass_section = note(`<
  ~@28 A B C B D E F G H I J B J B K L@2 M@2 N ~@3 O P O P Q R S P T U V W X Y Z AA AB AC AD AE AD AF AG AH AI AJ AK AL
  AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ BA
>`.pickRestart({
  A: "~@4 [d4,f#4,a4] ~ [d4,g4,b4] ~@3 [d4,g4] ~ [d4,f#4,a4] ~@3 [d4,f#4,a4] ~ [d4,g4,b4] ~@3 [d4,g4] ~", // D G G5 D G G5
  B: "[d4,f#4] ~@23, a4 ~@11", // D
  C: "~@4 [d4,f#4,a4] ~ [d4,g4,b4] ~@3 [d4,g4] ~ [d4,f#4,a4] ~@3 [d4,f#4,a4] ~ [g4,b4]@2 ~@2 [d4,g4] ~, ~@18 d4 ~@5", // D G G5 D G G5
  D: "~@4 [d4,f#4,a4] ~ [d4,g4,b4] ~@3 [d4,g4] ~ [d4,f#4] ~@3 [d4,f#4,a4] ~ [d4,g4,b4] ~@3 [d4,g4] ~, ~@6 a4 ~@5", // D G G5 D G G5
  E: "[d4,f#4,a4] ~@23", // D
  F: "~@4 [d4,f#4,a4] ~ [d4,g4,b4] ~@3 [d4,g4] ~ [d4,f#4,a4] ~@3 [d4,f#4,a4] ~ [d4,g4] ~@3 g4 ~, ~@9 b4 ~@2", // D G G5 D G5
  G: "[d4,a4] ~@11, f#4 ~@23", // D5
  H: "~@4 [g4,b4,d5] ~ [e4,g4,c5] ~@3 [c4,f#4,a4] ~ [d4,g4,b4] ~@3 [d4,d5]@2 [e4,g4] ~@3 [c4,f#4,a4] ~, ~@4 d4@2 ~@10 [g4,b4] ~ c5@2 ~@4", // G C F#dim G D Em F#dim G
  I: "[d4,g4] ~@23, b4 ~@11", // G5
  J: "~@4 [d4,f#4,a4] ~ [d4,g4,b4] ~@3 [d4,e4,g4] ~ [d4,f#4,a4] ~@3 [d4,f#4,a4] ~ [d4,g4,b4] ~@3 [d4,e4] ~, ~@11 g4", // D G Em7 D G Dsus2
  K: "~@4 [d4,f#4,d5] ~ [d4,f#4,g4,b4] ~@3 [d4,g4] ~ [d4,f#4,a4] ~@3 [d4,f#4,d5] ~ [d4,f#4,g4,b4] ~@3 [d4,g4] ~", // D Gmaj7 G5 D Gmaj7 G5
  L: "[[d4,f#4] ~@5 [a4,a5,c#6,e6]@15 ~ a4 ~ [e5,a5,e6]@22 g4 ~, a4@2 ~@4 e5@16 c#6@25 ~, ~@6 a4@5 ~]/2", // D A A5
  M: "[[g4,g5,d6]@21 ~ [a4,e5,a5,e6] ~ [a4,e5,a5]@24, [d5,b5]@11 c#6@13, ~@12 e6@11 ~]/2", N: "[g4,d5,g5,b5,d6] ~@11",
  O: "[d#5,g5,a#5,d#6] ~@2 [d#5,g#5,c6,d#6] ~ [d#5,g5,a#5,d#6] ~@3 [d#5,g#5,c6,d#6] ~@2", // D# G# D# G#
  P: "~@3 [d#5,g#5,c6,d#6] ~@2 [d#5,g5,a#5,d#6]@3 ~@3", // G# D#
  Q: "[d#5,g5,a#5,d#6]@2 ~@4 [d#5,g#5,c6,d#6]@2 ~@2 [d#5,a#5,d#6]@2 ~@4 [d#5,g5,a#5] ~ [d#5,g#5,d#6]@2 ~@4, ~@10 g5 ~@13", // D# G# D#5 D# G#5
  R: "~@4 d#5 ~ [d#5,g#5,c6,d#6]@3 ~@3 [d#5,g5,a#5,d#6]@7 ~@5", // G# D#
  S: "[d#5,g5,a#5,d#6]@2 ~@4 [d#5,g#5,c6]@2 ~@2 [d#5,g5,a#5,d#6]@2 ~@4 d#5 ~ [d#5,g#5,c6,d#6]@2 ~@4, ~@6 d#6 ~@17", // D# G# D# G#
  T: "[f5,a#5,d6] ~@2 [g5,a#5,d#6] ~ [f5,a#5,d6] ~@2 a#5 [g5,a#5,d#6] ~@2, ~@16 d6 ~@7", // A# D# A# D#
  U: "~@3 [f5,g#5,c#6] ~@2 [d#5,g#5,c6]@3 ~@3", // C# G#
  V: "[f5,a#5,d6]@2 ~@4 [g5,a#5,d#6]@2 ~@2 [f5,d6] ~@5 [f5,a#5] ~ [g5,a#5,d#6]@2 ~@4, ~@5 a#5 ~@6", // A# D# Dm A#5 D#
  W: "[d#5,g#5,c6] ~@11", // G#
  X: "[d#5,g5,a#5,d#6] ~@2 [d#5,g#5] ~ [d#5,a#5,d#6] ~@3 [g#5,c6,d#6] ~@2, ~@6 d#6 ~@3 g5 ~@7 d#5 ~@5", // D# G#5 D#5 G#
  Y: "~@4 [d#5,g#5] ~ [d#5,d#6] ~@9 [d#5,g#5,c6,d#6] ~ [d#5,a#5]@2 ~@4, ~@4 d#6@2 a#5@2 ~@10 [g5,d#6] ~@5", // G#5 D# G# D#5 Cm
  Z: "[a#5,d#6] ~@11, [d#5,g5] ~@23", // D#5 D#
  AA: "~@4 [a#5,d#6] ~ [g#5,e6,f6] ~@3 [d#5,d#6]@2 ~@4 [g5,a#5,d#6] ~ [f5,g#5,c6]@3 ~@3, ~@4 d#5@2 [f5,c6]@3 ~ [g5,a#5] ~@5 d#5@2 f6 ~@5", // D#5 C# D# Fm F5 Gm
  AB: "[d#5,g5,a#5,d#6]@3 ~, d6 ~@11", // D#
  AC: "~@4 d#5@2 [g#5,c6]@3 ~ [d#5,g5,a#5] ~@5 d#5@2 [g#5,c6,f6]@2 ~@4, ~@4 a#5 ~ [f5,f6] ~@3 d#6@2 ~@4 a#5 ~ f5 ~@5", // G# D# Fm F
  AD: "[d#5,g5,a#5,d#6]@19 ~@5", // D#
  AE: "~@4 d#5@2 [f5,g#5,c6]@2 ~@2 [d#5,d#6]@2 ~@4 [d#5,a#5] ~ [g#5,c6,f6]@2 ~@4, ~@4 a#5 ~ f6 ~@3 [g5,a#5] ~@7 f5 ~@5", // Fm D# D#5 Fm Gm
  AF: "~@4 d#5@2 [f5,g#5,c6,f6]@3 ~ [d#5,d#6]@2 ~@4 [g5,a#5,d#6] ~ [f5,g#5,f6] ~@5, ~@4 a#5 ~@5 [g5,a#5] ~@5 d#5@2 c6@2 ~@4", // Fm D# Fm Gm
  AG: "[d#5,g5,a#5,d#6]@4 ~@2 [f5,d6]@14 ~@2 a#5 ~, ~ a#5@2 ~", // D# Dm
  AH: "[f5,a#5,d6]@7 ~@3 [f5,a#5,d6] ~ [f5,a#5,d6]@9 ~ [d#5,g#5,c6]@2", // A# G#
  AI: "~@4 [d#5,g#5,c6]@2 ~@4 [d#5,g#5,c6] ~ [d#5,g#5,c6]@8 ~@2 a#5 ~", AJ: "[a#5,d6]@23 ~, f5@7 ~",
  AK: "[d#5,g#5,c6] ~@7", // G#
  AL: "[d#5,a#5,d#6]@2 ~@4 [d#5,g#5,c6,d#6]@2 ~@2 [d#5,a#5,d#6]@2 ~@4 [d#5,a#5,d#6] ~ [d#5,g#5,d#6]@2 ~@4, g5 ~@9 g5 ~@13", // D#5 G# D#5 G#5
  AM: "~@3 [g#5,c6,f6] ~@2 [g5,a#5,d#6]@5 ~", // Fm D#
  AN: "[d#5,g5,a#5,d#6]@2 ~@4 [d#5,g#5,c6]@3 ~ [a#5,d#6]@2 ~@4 [d#5,g5,a#5,d#6] ~ [g#5,c6,f6]@2 ~@4, ~@6 f6 ~@3 [d#5,g5] ~@7 f5 ~@5", // D# G# D#5 D# Fm D#
  AO: "~@6 [f5,g#5,c6,f6]@3 ~@3 [d#5,g5,a#5,d#6]@8 ~@4", // Fm D#
  AP: "[d#5,g5,a#5,d#6,e6]@2 ~@4 [f5,c6]@3 ~ [g5,a#5,d#6] ~@5 [g5,a#5] ~ [f5,c6,f6]@2 ~@2 [f5,g#5,c6] ~, ~@6 [g#5,f6] ~@3 d#5@2 ~@4 d#5@2 g#5 ~@3 f6@2", // D# F5 D# Gm F5 Fm C#
  AQ: "~@4 d#5 ~ [f5,f6] ~@5 [d#5,g5,a#5,d#6]@6 ~@6, ~@3 c6@2 ~@7, ~@3 g#5 ~@8", // F D#
  AR: "[d#5,g5,a#5,d#6]@2 ~@4 [f5,c6]@3 ~ [d#5,a#5,d#6]@2 ~@4 a#5 ~ [f5,g#5,c6,f6]@2 ~@4, ~@6 [g#5,f6] ~@3 g5 ~@13", // D# F5 D#5 Fm C#
  AS: "~@6 [f5,g#5,c6,f6]@3 ~@3 [d#5,g5,a#5,d#6]@7 ~@5", // Fm D#
  AT: "[d#5,a#5,d#6]@2 ~@4 [f5,c6]@2 ~@2 [d#5,a#5]@2 ~@4 [d#5,g5,a#5] ~ [g#5,c6,f6]@2 ~@4, g5 ~@5 [g#5,f6] ~@3 g5 ~@7 e5 ~@5", // D#5 F5 D#5 D# Fm C#
  AU: "~@6 [f5,g#5,c6,f6]@3 ~@3 [d#5,g5,d#6]@7 ~@5, ~@12 a#5@5 ~@7", // Fm D#
  AV: "[d#5,g5,a#5,d#6]@2 ~@4 [f5,c6]@3 ~ g5@2 ~@4 [g5,a#5] ~ [f5,g#5,c6,f6]@2 ~@4, ~@6 [g#5,f6] ~@3 a#5 ~@13", // D# F5 Gm Fm C#
  AW: "~@6 [f5,g#5,f6]@2 ~@4 [d#5,g5,a#5,d#6]@7 ~@5, ~@3 c6@2 ~ c#5 ~@5", // Fm D#
  AX: "[d#5,g5,a#5,d#6]@2 ~@4 [f5,c6]@3 ~ [d#5,g5,d#6,e6] ~@5 [g5,a#5,d#6] ~ [f5,g#5,c6,f6]@2 ~@4, ~@6 [g#5,f6] ~@3 a#5@2 ~@4 d#5@2 ~@6", // D# F5 D# Fm C#
  AY: "~@6 [f5,g#5,f6]@2 ~@4 [d#5,g5,a#5,d#6]@7 ~@5, ~@3 c6@2 ~@7", // Fm D#
  AZ: "[d#5,g5,a#5,d#6]@2 ~@4 [f5,g#5,c6,f6]@3 ~ [d#5,g5,a#5]@2 ~@4 [a#5,d#6] ~ [f5,c6,f6]@2 ~@4, ~@10 d#6 ~@5 d#5@2 g#5 ~@5", // D# Fm D# D#5 F5
  BA: "[d#4,a#4,d#5,g5,a#5,d#6] ~@7", // D#
})).s("gm_brass_section").gain(0.4)

// chords · brass section · "BRASS" · soft notes
const brass_section_soft = note(`<
  ~@36 A B ~@5 C ~@11 D ~ E ~ F ~ G ~ H I ~ J ~ K ~ L ~ M N ~@4 O ~@3 P ~ Q ~ R S T U ~ U V ~
>`.pickRestart({
  A: "~@4 a4 ~@19", B: "a4 ~@23", C: "~@22 [a5,e6] ~", D: "~@16 d#6 ~ c6 ~@5", E: "~@16 [g5,a#5,d#6] ~@7",
  F: "~@16 f5 ~@7", G: "~@16 d6 ~@7", H: "~@6 c6@2 ~@8 [d#5,g5,a#5,d#6] ~@7", I: "~@4 c6 ~ g5 ~@11 c#6 ~@5",
  J: "~@4 g5 ~@19", K: "~@4 [g5,d#6] ~@11 g5 ~@7", L: "~@4 [g5,d#6] ~@11 [g5,d#6] ~@7", M: "~@4 [g5,d#6] ~@19",
  N: "~@22 f5 ~", O: "~@16 g5 ~ c6 ~@5", P: "~@10 d6 ~@13", Q: "~@16 [d#5,g5,a5] ~@7", R: "~@10 d#6 ~@5 d#6 ~ f5 ~@5",
  S: "~@22 d#5 ~", T: "~@10 d#5@2 ~@4 [d#5,d#6] ~@7, ~@10 d#6 ~@13", U: "~@4 d#5 ~@19", V: "~@16 g5 ~@7",
})).s("gm_brass_section").gain(0.16)

// chords · brass section · "BRASS"
const brass_section_2 = note(`<
  ~@28 A B C B D E F G H I J B J B K L@2 M@2 N ~@3 O P O P Q R S P T U V W X Y Z AA AB AC AD AE AD AF AG AH AI AJ AK AL
  AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ BA
>`.pickRestart({
  A: "~@4 [d3,f#3,a3] ~ [d3,g3,b3] ~@3 [d3,g3] ~ [d3,f#3,a3] ~@3 [d3,f#3,a3] ~ [d3,g3,b3] ~@3 [d3,g3] ~", // D G G5 D G G5
  B: "[d3,f#3] ~@23, a3 ~@11", // D
  C: "~@4 [d3,f#3,a3] ~ [d3,g3,b3] ~@3 [d3,g3] ~ [d3,f#3,a3] ~@3 [d3,f#3,a3] ~ [g3,b3]@2 ~@2 [d3,g3] ~, ~@18 d3 ~@5", // D G G5 D G G5
  D: "~@4 [d3,f#3,a3] ~ [d3,g3,b3] ~@3 [d3,g3] ~ [d3,f#3] ~@3 [d3,f#3,a3] ~ [d3,g3,b3] ~@3 [d3,g3] ~, ~@6 a3 ~@5", // D G G5 D G G5
  E: "[d3,f#3,a3] ~@23", // D
  F: "~@4 [d3,f#3,a3] ~ [d3,g3,b3] ~@3 [d3,g3] ~ [d3,f#3,a3] ~@3 [d3,f#3,a3] ~ [d3,g3] ~@3 g3 ~, ~@9 b3 ~@2", // D G G5 D G5
  G: "[d3,a3] ~@11, f#3 ~@23", // D5
  H: "~@4 [g3,b3,d4] ~ [e3,g3,c4] ~@3 [c3,f#3,a3] ~ [d3,g3,b3] ~@3 [d3,d4]@2 [e3,g3] ~@3 [c3,f#3,a3] ~, ~@4 d3@2 ~@10 [g3,b3] ~ c4@2 ~@4", // G C F#dim G D Em F#dim G
  I: "[d3,g3] ~@23, b3 ~@11", // G5
  J: "~@4 [d3,f#3,a3] ~ [d3,g3,b3] ~@3 [d3,e3,g3] ~ [d3,f#3,a3] ~@3 [d3,f#3,a3] ~ [d3,g3,b3] ~@3 [d3,e3] ~, ~@11 g3", // D G Em7 D G Dsus2
  K: "~@4 [d3,f#3,d4] ~ [d3,f#3,g3,b3] ~@3 [d3,g3] ~ [d3,f#3,a3] ~@3 [d3,f#3,d4] ~ [d3,f#3,g3,b3] ~@3 [d3,g3] ~", // D Gmaj7 G5 D Gmaj7 G5
  L: "[[d3,f#3] ~@5 [a3,a4,c#5,e5]@15 ~ a3 ~ [e4,a4,e5]@22 g3 ~, a3@2 ~@4 e4@16 c#5@25 ~, ~@6 a3@5 ~]/2", // D A A5
  M: "[[g3,g4,d5]@21 ~ [a3,e4,a4,e5] ~ [a3,e4,a4]@24, [d4,b4]@11 c#5@13, ~@12 e5@11 ~]/2", N: "[g3,d4,g4,b4,d5] ~@11",
  O: "[d#4,g4,a#4,d#5] ~@2 [d#4,g#4,c5,d#5] ~ [d#4,g4,a#4,d#5] ~@3 [d#4,g#4,c5,d#5] ~@2", // D# G# D# G#
  P: "~@3 [d#4,g#4,c5,d#5] ~@2 [d#4,g4,a#4,d#5]@3 ~@3", // G# D#
  Q: "[d#4,g4,a#4,d#5]@2 ~@4 [d#4,g#4,c5,d#5]@2 ~@2 [d#4,a#4,d#5]@2 ~@4 [d#4,g4,a#4] ~ [d#4,g#4,d#5]@2 ~@4, ~@10 g4 ~@13", // D# G# D#5 D# G#5
  R: "~@4 d#4 ~ [d#4,g#4,c5,d#5]@3 ~@3 [d#4,g4,a#4,d#5]@7 ~@5", // G# D#
  S: "[d#4,g4,a#4,d#5]@2 ~@4 [d#4,g#4,c5]@2 ~@2 [d#4,g4,a#4,d#5]@2 ~@4 d#4 ~ [d#4,g#4,c5,d#5]@2 ~@4, ~@6 d#5 ~@17", // D# G# D# G#
  T: "[f4,a#4,d5] ~@2 [g4,a#4,d#5] ~ [f4,a#4,d5] ~@2 a#4 [g4,a#4,d#5] ~@2, ~@16 d5 ~@7", // A# D# A# D#
  U: "~@3 [f4,g#4,c#5] ~@2 [d#4,g#4,c5]@3 ~@3", // C# G#
  V: "[f4,a#4,d5]@2 ~@4 [g4,a#4,d#5]@2 ~@2 [f4,d5] ~@5 [f4,a#4] ~ [g4,a#4,d#5]@2 ~@4, ~@5 a#4 ~@6", // A# D# Dm A#5 D#
  W: "[d#4,g#4,c5] ~@11", // G#
  X: "[d#4,g4,a#4,d#5] ~@2 [d#4,g#4] ~ [d#4,a#4,d#5] ~@3 [g#4,c5,d#5] ~@2, ~@6 d#5 ~@3 g4 ~@7 d#4 ~@5", // D# G#5 D#5 G#
  Y: "~@4 [d#4,g#4] ~ [d#4,d#5] ~@9 [d#4,g#4,c5,d#5] ~ [d#4,a#4]@2 ~@4, ~@4 d#5@2 a#4@2 ~@10 [g4,d#5] ~@5", // G#5 D# G# D#5 Cm
  Z: "[a#4,d#5] ~@11, [d#4,g4] ~@23", // D#5 D#
  AA: "~@4 [a#4,d#5] ~ [g#4,e5,f5] ~@3 [d#4,d#5]@2 ~@4 [g4,a#4,d#5] ~ [f4,g#4,c5]@3 ~@3, ~@4 d#4@2 [f4,c5]@3 ~ [g4,a#4] ~@5 d#4@2 f5 ~@5", // D#5 C# D# Fm F5 Gm
  AB: "[d#4,g4,a#4,d#5]@3 ~, d5 ~@11", // D#
  AC: "~@4 d#4@2 [g#4,c5]@3 ~ [d#4,g4,a#4] ~@5 d#4@2 [g#4,c5,f5]@2 ~@4, ~@4 a#4 ~ [f4,f5] ~@3 d#5@2 ~@4 a#4 ~ f4 ~@5", // G# D# Fm F
  AD: "[d#4,g4,a#4,d#5]@19 ~@5", // D#
  AE: "~@4 d#4@2 [f4,g#4,c5]@2 ~@2 [d#4,d#5]@2 ~@4 [d#4,a#4] ~ [g#4,c5,f5]@2 ~@4, ~@4 a#4 ~ f5 ~@3 [g4,a#4] ~@7 f4 ~@5", // Fm D# D#5 Fm Gm
  AF: "~@4 d#4@2 [f4,g#4,c5,f5]@3 ~ [d#4,d#5]@2 ~@4 [g4,a#4,d#5] ~ [f4,g#4,f5] ~@5, ~@4 a#4 ~@5 [g4,a#4] ~@5 d#4@2 c5@2 ~@4", // Fm D# Fm Gm
  AG: "[d#4,g4,a#4,d#5]@4 ~@2 [f4,d5]@14 ~@2 a#4 ~, ~ a#4@2 ~", // D# Dm
  AH: "[f4,a#4,d5]@7 ~@3 [f4,a#4,d5] ~ [f4,a#4,d5]@9 ~ [d#4,g#4,c5]@2", // A# G#
  AI: "~@4 [d#4,g#4,c5]@2 ~@4 [d#4,g#4,c5] ~ [d#4,g#4,c5]@8 ~@2 a#4 ~", AJ: "[a#4,d5]@23 ~, f4@7 ~",
  AK: "[d#4,g#4,c5] ~@7", // G#
  AL: "[d#4,a#4,d#5]@2 ~@4 [d#4,g#4,c5,d#5]@2 ~@2 [d#4,a#4,d#5]@2 ~@4 [d#4,a#4,d#5] ~ [d#4,g#4,d#5]@2 ~@4, g4 ~@9 g4 ~@13", // D#5 G# D#5 G#5
  AM: "~@3 [g#4,c5,f5] ~@2 [g4,a#4,d#5]@5 ~", // Fm D#
  AN: "[d#4,g4,a#4,d#5]@2 ~@4 [d#4,g#4,c5]@3 ~ [a#4,d#5]@2 ~@4 [d#4,g4,a#4,d#5] ~ [g#4,c5,f5]@2 ~@4, ~@6 f5 ~@3 [d#4,g4] ~@7 f4 ~@5", // D# G# D#5 D# Fm D#
  AO: "~@6 [f4,g#4,c5,f5]@3 ~@3 [d#4,g4,a#4,d#5]@8 ~@4", // Fm D#
  AP: "[d#4,g4,a#4,d#5,e5]@2 ~@4 [f4,c5]@3 ~ [g4,a#4,d#5] ~@5 [g4,a#4] ~ [f4,c5,f5]@2 ~@2 [f4,g#4,c5] ~, ~@6 [g#4,f5] ~@3 d#4@2 ~@4 d#4@2 g#4 ~@3 f5@2", // D# F5 D# Gm F5 Fm C#
  AQ: "~@4 d#4 ~ [f4,f5] ~@5 [d#4,g4,a#4,d#5]@6 ~@6, ~@3 c5@2 ~@7, ~@3 g#4 ~@8", // F D#
  AR: "[d#4,g4,a#4,d#5]@2 ~@4 [f4,c5]@3 ~ [d#4,a#4,d#5]@2 ~@4 a#4 ~ [f4,g#4,c5,f5]@2 ~@4, ~@6 [g#4,f5] ~@3 g4 ~@13", // D# F5 D#5 Fm C#
  AS: "~@6 [f4,g#4,c5,f5]@3 ~@3 [d#4,g4,a#4,d#5]@7 ~@5", // Fm D#
  AT: "[d#4,a#4,d#5]@2 ~@4 [f4,c5]@2 ~@2 [d#4,a#4]@2 ~@4 [d#4,g4,a#4] ~ [g#4,c5,f5]@2 ~@4, g4 ~@5 [g#4,f5] ~@3 g4 ~@7 e4 ~@5", // D#5 F5 D#5 D# Fm C#
  AU: "~@6 [f4,g#4,c5,f5]@3 ~@3 [d#4,g4,d#5]@7 ~@5, ~@12 a#4@5 ~@7", // Fm D#
  AV: "[d#4,g4,a#4,d#5]@2 ~@4 [f4,c5]@3 ~ g4@2 ~@4 [g4,a#4] ~ [f4,g#4,c5,f5]@2 ~@4, ~@6 [g#4,f5] ~@3 a#4 ~@13", // D# F5 Gm Fm C#
  AW: "~@6 [f4,g#4,f5]@2 ~@4 [d#4,g4,a#4,d#5]@7 ~@5, ~@3 c5@2 ~ c#4 ~@5", // Fm D#
  AX: "[d#4,g4,a#4,d#5]@2 ~@4 [f4,c5]@3 ~ [d#4,g4,d#5,e5] ~@5 [g4,a#4,d#5] ~ [f4,g#4,c5,f5]@2 ~@4, ~@6 [g#4,f5] ~@3 a#4@2 ~@4 d#4@2 ~@6", // D# F5 D# Fm C#
  AY: "~@6 [f4,g#4,f5]@2 ~@4 [d#4,g4,a#4,d#5]@7 ~@5, ~@3 c5@2 ~@7", // Fm D#
  AZ: "[d#4,g4,a#4,d#5]@2 ~@4 [f4,g#4,c5,f5]@3 ~ [d#4,g4,a#4]@2 ~@4 [a#4,d#5] ~ [f4,c5,f5]@2 ~@4, ~@10 d#5 ~@5 d#4@2 g#4 ~@5", // D# Fm D# D#5 F5
  BA: "[d#3,a#3,d#4,g4,a#4,d#5] ~@7", // D#
})).s("gm_brass_section").gain(0.4)

// chords · brass section · "BRASS" · soft notes
const brass_section_soft_2 = note(`<
  ~@36 A B ~@5 C ~@11 D ~ E ~ F ~ G ~ H I ~ J ~ K ~ L ~ M N ~@4 O ~@3 P ~ Q ~ R S T U ~ U V ~
>`.pickRestart({
  A: "~@4 a3 ~@19", B: "a3 ~@23", C: "~@22 [a4,e5] ~", D: "~@16 d#5 ~ c5 ~@5", E: "~@16 [g4,a#4,d#5] ~@7",
  F: "~@16 f4 ~@7", G: "~@16 d5 ~@7", H: "~@6 c5@2 ~@8 [d#4,g4,a#4,d#5] ~@7", I: "~@4 c5 ~ g4 ~@11 c#5 ~@5",
  J: "~@4 g4 ~@19", K: "~@4 [g4,d#5] ~@11 g4 ~@7", L: "~@4 [g4,d#5] ~@11 [g4,d#5] ~@7", M: "~@4 [g4,d#5] ~@19",
  N: "~@22 f4 ~", O: "~@16 g4 ~ c5 ~@5", P: "~@10 d5 ~@13", Q: "~@16 [d#4,g4,a4] ~@7", R: "~@10 d#5 ~@5 d#5 ~ f4 ~@5",
  S: "~@22 d#4 ~", T: "~@10 d#4@2 ~@4 [d#4,d#5] ~@7, ~@10 d#5 ~@13", U: "~@4 d#4 ~@19", V: "~@16 g4 ~@7",
})).s("gm_brass_section").gain(0.24)

// chords · piano
const piano = note(`<
  ~ A@3 B C D E F G H I J K L M N O P Q R S T U V W E X C D E F G H I J K L M N O P Q R S T U Y W E X Z@2 AA@2 AB Z@2 AC
  AD AE AF AG AH AI AJ Z AK AL AA Z AL AM AN AO AP AQ AG AA AK AR AA AS AT AU AV AW@2 AX AY@2 AZ BA BB
>`.pickRestart({
  A: "[a4,f#5]@2 ~@4 [b4,d5,g5]@3 ~@3 [a4,d5,f#5]@3 ~@3 [b4,d5,g5]@3 ~@3, d5 ~@5", B: "[a4,d5,f#5] ~@7",
  C: "[a4,d5,f#5]@3 ~@3 [b4,d5,g5]@3 ~@3 [a4,d5,f#5]@2 ~@4 [b4,d5,g5]@3 ~@3", // D G D G
  D: "[a4,d5,f#5]@2 ~@4 [b4,d5,g5]@3 ~@3 [a4,d5,f#5]@2 ~@4 [b4,d5,g5]@3 ~@3", // D G D G
  E: "[a4,d5,f#5]@2 ~@4 [b4,g5]@2 ~@4 [a4,f#5]@2 ~@4 [b4,d5,g5]@3 ~@3", // D Em D G
  F: "[a4,d5,f#5]@2 ~@4 [b4,d5,g5]@2 ~@4 [a4,f#5]@2 ~@4 [b4,d5,g5]@3 ~@3", // D G D G
  G: "[a4,f#5] ~@2 [b4,d5,g5] ~@2 [a4,d5,f#5] ~@2 [b4,d5,g5] ~@2", // D G D G
  H: "[a4,f#5]@2 ~@4 [b4,d5,g5]@2 ~@4 [a4,f#5]@2 ~@4 [b4,d5,g5]@3 ~@3", // D G D G
  I: "[a4,d5,f#5] ~@2 [b4,d5,g5] ~@2 [a4,f#5] ~@2 [b4,g5] ~@2", // D G D Em
  J: "[a4,f#5] ~@2 [b4,d5,g5] ~@2 [a4,f#5] ~@2 [b4,d5,g5] ~@2", // D G D G
  K: "[g4,b4,d5]@3 ~@3 [g4,c5,e5]@3 ~@3 [g4,b4,d5]@2 ~@4 [g4,c5,e5]@3 ~@3", // G C G C
  L: "[g4,b4,d5] ~@2 [g4,e5] ~@2 [g4,b4,d5] ~@2 [g4,c5,e5] ~@2", // G C G C
  M: "[a4,d5,f#5]@3 ~@3 [b4,d5,g5]@3 ~@3 [a4,f#5]@2 ~@4 [b4,g5]@3 ~@3", // D G D Em
  N: "[a4,f#5]@2 ~@4 [b4,d5,g5]@2 ~@4 [a4,f#5]@2 ~@4 [b4,g5]@3 ~@3", // D G D Em
  O: "[a4,f#5]@2 ~@4 [b4,d5,g5]@3 ~@3 [a4,d5,f#5]@2 ~@4 [b4,d5,g5]@2 ~@4", // D G D G
  P: "[a4,f#5]@2 ~@4 [b4,d5,g5]@3 ~@3 [a4,f#5]@2 ~@4 [b4,g5]@2 ~@4", // D G D Em
  Q: "[a4,f#5]@2 ~@4 [b4,d5,g5]@3 ~@3 [a4,f#5]@2 ~@4 [b4,d5,g5]@3 ~@3", // D G D G
  R: "[a4,f#5]@2 ~@4 [c#5,e5]@6 ~@4 [a4,c#5] ~ [a4,e5] ~@5, ~@3 a4@4 ~@2 c#5 ~@2", // D C#m A A5
// … 112 more lines

More by The Temptations