Strudelify
The Way You Do the Things You Do cover art

1999 · Meet The Temptations

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, A@4 for four bars: edit a riff to change every repeat.

// bass · acoustic bass · "BASS-Elec."
const bass = note(`<
  ~@3 A B C@4 A D A E F G H A C I C J K L M N C D B C O C D A@2 C P Q R A@3 C@2 J S T U N C D B V@8 W X Y Z V AA AB V AC
  AD V@2 AC AD AE AF AG AH AI V@2 AJ V AJ V@2 AK V AJ V AJ AL AJ V AB
>`.pickRestart({
  A: "d2@6 ~@4 d2@2 a1 ~@3 a1@2 b1@4 a1@2", B: "d2 ~@11", C: "d2@6 ~@4 d2@2 a1 ~@3 a1@2 b1 ~@3 b1@2",
  D: "d2@6 ~@4 d2@2 a1 ~@3 a1@2 a2 ~@3 a2@2", E: "d2@7 ~@3 d2@2 e2 ~@3 e2 ~ f#2@2 ~@2 f#2@2",
  F: "g2@6 ~@4 g2@2 d2 ~@3 d2@2 e2@4 d2@2", G: "g2@6 ~@4 g2@2 d2 ~@3 d2@2 g2@6",
  H: "d2@6 ~@4 d2 ~ a1 ~@3 a1@2 b1@3 ~ a1@2", I: "d2@6 ~@4 d2@3 ~@3 a1@2 b1 ~@3 b1@2", J: "d2 ~@5 a2@16 e2@2",
  K: "a2@7 ~@3 a2 ~ a2@5 ~ a2@3 ~ g#2@2", L: "g2@6 ~@4 g2 ~ g2@5 ~ g2@3 ~ g#2@2",
  M: "a2@6 ~@4 a2 ~ a2@4 ~@2 a2@4 g#2@2", N: "g2 ~@11", O: "d2@6 c2 ~@3 d2@2 a1 ~@3 a1@2 b1 ~@3 b1@2",
  P: "d2@6 ~@4 d2@2 e2 ~@3 e2@2 f#2 ~@3 f#2@2", Q: "g2@6 ~@4 g2 ~ d2 ~@3 d2@2 e2 ~@3 e2@2",
  R: "g2@7 ~@3 g2@2 d2 ~@3 e2@2 g2@4 e2@2", S: "a2@9 ~ e2@2 a2@4 ~@2 a2@3 ~ g#2@2",
  T: "g2@5 ~ g2@4 d2@2 g2@4 ~@2 g2@4 g#2@2", U: "a2@4 ~@2 a2@3 ~@3 a2@4 e2@2 a2@3 ~ g#2@2",
  V: "d#2@7 ~@3 d#2@2 a#1 ~@3 a#1@2 c2@4 a#1@2", W: "a#2@3 ~@2 a#2 ~@2 f2 a#2@2 a2",
  X: "g#2@6 ~@4 g#2@2 d#2 ~@3 d#2@2 g#2@4 a2@2", Y: "a#2@6 ~@4 a#2@2 f2 ~@3 f2@2 a#2@4 a2@2", Z: "g#2 ~@7",
  AA: "d#2@7 ~@3 d#2@2 a#1 ~@3 a#1@2 ~@4 a#1@2, ~@3 c2", AB: "d#2 ~@7",
  AC: "d#2@6 ~@4 d#2@2 a#1 ~@3 a#1@2 a#2 ~@3 a#2@2", AD: "d#2@7 ~@3 d#2@2 a#1 ~@3 a#1@2 c2 ~@3 c2@2, ~@10 c#2 ~@13",
  AE: "d#2 ~@2 a#1@8 f1", AF: "a#1@7 ~@3 a#1 ~ a#1@5 ~ a#1@4 a1@2", AG: "g#1@7 ~@3 g#1 ~ g#1@4 ~@2 g#1@4 a1@2",
  AH: "a#1@2 ~ a#1@2 ~ a#1@2 ~ a#1@2 a1", AI: "g#1 ~@11", AJ: "d#1@9 ~ c2@2 a#1 ~@3 a#1@2 c2@4 a#1 ~",
  AK: "d#2@8 ~@2 d#2@2 a#1 ~@3 a#1@2 c2@4 a#1@2", AL: "d#2@7 ~@3 d#2 ~ a#1 ~@3 a#1@2 c2@4 a#1@2",
})).s("gm_acoustic_bass").gain(0.56)

// chords · brass section · "BRASS"
const brass_section = note(`<
  ~@28 A B A B A B C B D E F B F B G H@2 I@2 J ~@3 K L K L M N O L P Q R S T U V W X Y Z Y Z AA AB AC AD AE S AF AG AH
  AI AJ AK AL AM AN AM AO AP AQ AM AR AS
>`.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] ~ [d4,g4] ~@3 g4 ~, ~@9 b4 ~@2", // D G G5 D G5
  D: "~@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
  E: "[d4,g4] ~@23, b4 ~@11", // G5
  F: "~@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
  G: "~@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
  H: "[[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
  I: "[[g4,g5,d6]@21 ~ [a4,e5,a5,e6] ~ [a4,e5,a5]@24, [d5,b5]@11 c#6@13, ~@12 e6@11 ~]/2", J: "[g4,d5,g5,b5,d6] ~@11",
  K: "[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#
  L: "~@3 [d#5,g#5,c6,d#6] ~@2 [d#5,g5,a#5,d#6]@3 ~@3", // G# D#
  M: "[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
  N: "~@4 d#5 ~ [d#5,g#5,c6,d#6]@3 ~@3 [d#5,g5,a#5,d#6]@7 ~@5", // G# D#
  O: "[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#
  P: "[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#
  Q: "~@3 [f5,g#5,c#6] ~@2 [d#5,g#5,c6]@3 ~@3", // C# G#
  R: "[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#
  S: "[d#5,g#5,c6] ~@11", // G#
  T: "[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#
  U: "~@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
  V: "[a#5,d#6] ~@11, [d#5,g5] ~@23", // D#5 D#
  W: "~@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
  X: "[d#5,g5,a#5,d#6]@3 ~, d6 ~@11", // D#
  Y: "~@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
  Z: "[d#5,g5,a#5,d#6]@19 ~@5", // D#
  AA: "~@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
  AB: "[d#5,g5,a#5,d#6]@4 ~@2 [f5,d6]@14 ~@2 a#5 ~, ~ a#5@2 ~", // D# Dm
  AC: "[f5,a#5,d6]@7 ~@3 [f5,a#5,d6] ~ [f5,a#5,d6]@9 ~ [d#5,g#5,c6]@2", // A# G#
  AD: "~@4 [d#5,g#5,c6]@2 ~@4 [d#5,g#5,c6] ~ [d#5,g#5,c6]@8 ~@2 a#5 ~", AE: "[a#5,d6]@23 ~, f5@7 ~",
  AF: "[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
  AG: "~@3 [g#5,c6,f6] ~@2 [g5,a#5,d#6]@5 ~", // Fm D#
  AH: "[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#
  AI: "~@6 [f5,g#5,c6,f6]@3 ~@3 [d#5,g5,a#5,d#6]@8 ~@4", // Fm D#
  AJ: "[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#
  AK: "~@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#
  AL: "[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#
  AM: "~@6 [f5,g#5,c6,f6]@3 ~@3 [d#5,g5,a#5,d#6]@7 ~@5", // Fm D#
  AN: "[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#
  AO: "[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#
  AP: "~@6 [f5,g#5,f6]@2 ~@4 [d#5,g5,a#5,d#6]@7 ~@5, ~@3 c6@2 ~ c#5 ~@5", // Fm D#
  AQ: "[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#
  AR: "[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
  AS: "[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 A B A B C B D E F B F B G H@2 I@2 J ~@3 K L K L M N O L P Q R S T U V W X Y Z Y Z AA AB AC AD AE S AF AG AH
  AI AJ AK AL AM AN AM AO AP AQ AM AR AS
>`.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] ~ [d3,g3] ~@3 g3 ~, ~@9 b3 ~@2", // D G G5 D G5
  D: "~@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
  E: "[d3,g3] ~@23, b3 ~@11", // G5
  F: "~@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
  G: "~@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
  H: "[[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
  I: "[[g3,g4,d5]@21 ~ [a3,e4,a4,e5] ~ [a3,e4,a4]@24, [d4,b4]@11 c#5@13, ~@12 e5@11 ~]/2", J: "[g3,d4,g4,b4,d5] ~@11",
  K: "[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#
  L: "~@3 [d#4,g#4,c5,d#5] ~@2 [d#4,g4,a#4,d#5]@3 ~@3", // G# D#
  M: "[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
  N: "~@4 d#4 ~ [d#4,g#4,c5,d#5]@3 ~@3 [d#4,g4,a#4,d#5]@7 ~@5", // G# D#
  O: "[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#
  P: "[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#
  Q: "~@3 [f4,g#4,c#5] ~@2 [d#4,g#4,c5]@3 ~@3", // C# G#
  R: "[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#
  S: "[d#4,g#4,c5] ~@11", // G#
  T: "[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#
  U: "~@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
  V: "[a#4,d#5] ~@11, [d#4,g4] ~@23", // D#5 D#
  W: "~@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
  X: "[d#4,g4,a#4,d#5]@3 ~, d5 ~@11", // D#
  Y: "~@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
  Z: "[d#4,g4,a#4,d#5]@19 ~@5", // D#
  AA: "~@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
  AB: "[d#4,g4,a#4,d#5]@4 ~@2 [f4,d5]@14 ~@2 a#4 ~, ~ a#4@2 ~", // D# Dm
  AC: "[f4,a#4,d5]@7 ~@3 [f4,a#4,d5] ~ [f4,a#4,d5]@9 ~ [d#4,g#4,c5]@2", // A# G#
  AD: "~@4 [d#4,g#4,c5]@2 ~@4 [d#4,g#4,c5] ~ [d#4,g#4,c5]@8 ~@2 a#4 ~", AE: "[a#4,d5]@23 ~, f4@7 ~",
  AF: "[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
  AG: "~@3 [g#4,c5,f5] ~@2 [g4,a#4,d#5]@5 ~", // Fm D#
  AH: "[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#
  AI: "~@6 [f4,g#4,c5,f5]@3 ~@3 [d#4,g4,a#4,d#5]@8 ~@4", // Fm D#
  AJ: "[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#
  AK: "~@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#
  AL: "[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#
  AM: "~@6 [f4,g#4,c5,f5]@3 ~@3 [d#4,g4,a#4,d#5]@7 ~@5", // Fm D#
  AN: "[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#
  AO: "[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#
  AP: "~@6 [f4,g#4,f5]@2 ~@4 [d#4,g4,a#4,d#5]@7 ~@5, ~@3 c5@2 ~ c#4 ~@5", // Fm D#
  AQ: "[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#
  AR: "[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
  AS: "[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@2 D E F G H G I J H K F K G L M N O P Q D R C@2 D E F G H G I J H K F K G L M N O P Q D R S@7 T U V W X Y Z
  AA S Z S@4 AB AC AD AE AF X AB@2 AG AB AH AI AJ AK AL@2 AM AN@2 AO AP AQ
>`.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,g5]@2 ~@4 [a4,f#5]@2 ~@4 [b4,d5,g5]@3 ~@3", // D Em D G
  E: "[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
  F: "[a4,f#5] ~@2 [b4,d5,g5] ~@2 [a4,d5,f#5] ~@2 [b4,d5,g5] ~@2", // D G D G
  G: "[a4,f#5]@2 ~@4 [b4,d5,g5]@2 ~@4 [a4,f#5]@2 ~@4 [b4,d5,g5]@3 ~@3", // D G D G
  H: "[a4,d5,f#5] ~@2 [b4,d5,g5] ~@2 [a4,f#5] ~@2 [b4,g5] ~@2", // D G D Em
  I: "[g4,b4,d5]@3 ~@3 [g4,c5,e5]@3 ~@3 [g4,b4,d5]@2 ~@4 [g4,c5,e5]@3 ~@3", // G C G C
  J: "[g4,b4,d5] ~@2 [g4,e5] ~@2 [g4,b4,d5] ~@2 [g4,c5,e5] ~@2", // G C G C
  K: "[a4,f#5]@2 ~@4 [b4,d5,g5]@2 ~@4 [a4,f#5]@2 ~@4 [b4,g5]@3 ~@3", // D G D Em
  L: "[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
  M: "[a4,c#5,e5]@7 ~@3 [c#5,e5] ~ [a4,c#5,e5]@5 ~ [a4,c#5,e5]@2 ~@2 c#5 ~", // A C#m A
  N: "[g4,b4,d5]@7 ~@3 [g4,b4,d5] ~ [g4,b4,d5]@5 ~ [g4,b4,d5] ~@3 [g4,b4,d5] ~", // G
  O: "[a4,c#5,e5]@8 ~@2 [a4,c#5,e5] ~ [a4,c#5,e5]@5 ~ [a4,c#5,e5] ~@3 [a4,e5] ~, ~@11 c#5", P: "[g4,b4,d5] ~@11",
  Q: "[a4,d5,f#5] ~ [b4,d5,g5] ~ [a4,d5,f#5] ~ [b4,d5,g5] ~", R: "[a4,d5,f#5] ~@11",
  S: "[a#4,d#5,g5] ~ [c5,d#5,g#5] ~ [a#4,d#5,g5] ~ [c5,d#5,g#5] ~", // D# G# D# G#
  T: "[a#4,d#5,g5]@4 ~@2 [c5,d#5,g#5]@3 ~@3 [a#4,d#5,g5]@3 ~@3 [c5,d#5,g#5]@3 ~@3, ~@12 g#5 ~@11", // D# G# D# G#
  U: "[a#4,d5,f5]@5 ~ d5 ~@3 d5 ~ [a#4,d5,f5]@4 ~@2 [a#4,d5,f5] ~@3 [a#4,d5,f5] ~", // A#
  V: "[g#4,c5,d#5]@4 ~@2 [c5,d#5] ~@3 [c5,d#5] ~ [g#4,c5,d#5]@5 ~ [g#4,c5,d#5] ~@3 [c5,d#5] ~", // G# Cm G# Cm
  W: "[a#4,d5,f5]@7 ~@3 [d5,f5] ~ [a#4,d5,f5]@4 ~@2 [a#4,f5]@2 ~@2 c#5 ~", X: "[g#4,c5,d#5] ~@11",
  Y: "[a#4,d#5] ~@5 [c5,d#5,g#5]@3 ~@3 [a#4,d#5,g5]@2 ~@4 [c5,d#5,g#5]@2 ~@4, g5 ~@11", // D#5 G# D# G#
  Z: "[a#4,d#5,g5]@3 ~@3 [c5,d#5,g#5]@3 ~@3 [a#4,d#5,g5]@2 ~@4 [c5,d#5,g#5]@3 ~@3", AA: "[a#4,d#5,g5] ~@11",
  AB: "[a#4,d#5,g5]@3 ~@3 [c5,d#5,g#5]@3 ~@3 [a#4,d#5,g5]@3 ~@3 [c5,d#5,g#5]@2 ~@4", // D# G# D# G#
  AC: "[a#4,d#5,g5]@2 ~@4 [a#4,d5,f5]@8 ~@2 d5 ~ [a#4,d5,f5] ~@3 d5 ~", // D# A#
  AD: "[a#4,d5,f5]@7 ~@3 [d5,f5] ~ [a#4,d5,f5]@7 ~@3 [d5,f5] ~", // A# Dm A# Dm
  AE: "[g#4,c5,d#5]@7 ~@3 [c5,d#5] ~ [g#4,c5,d#5]@7 ~@3 [c5,d#5] ~, e5 ~@11", // G# Cm G# Cm
  AF: "[a#4,d5,f5]@4 ~@2 [a#4,d5,f5]@5 ~ [a#4,d5,f5]@5 ~ [d5,f5]@2 ~@2 d5 ~, c5 ~@17 a#4 ~@5", // A# Dm
  AG: "[a#4,g5]@3 ~@3 [c5,d#5,g#5]@2 ~@4 [a#4,d#5,g5]@3 ~@3 [c5,d#5,g#5]@2 ~@4", // D# G# D# G#
  AH: "[a#4,d#5,g5]@4 ~ a#5@2 ~ [d#5,g#5,c6]@3 ~ [g5,a#5]@4 d#5 ~ g#5@2 ~@2 [g5,a#5]@2, [a#5,c#6]@2 ~@16 b5 ~@5, a5 ~@3 [d#5,a5,c#6]@3 ~@5 f#5 ~@9 [d#5,e5] ~", // D# G# Gm A#m D#m7b5 Emaj7
  AI: "~@10 d#5 ~ [d#5,a5] ~ [d#5,a#5] ~ [d#5,a#5] ~ [d#5,a5] ~ [d#5,a#5] ~ [d#5,a#5] ~", // D#dim D#5 D#dim D#5
  AJ: "[d#5,g#5] ~ g#5 f#5 d#5 ~ f#5@3 ~ d#5@3 ~@3 d#5 ~ c#5 ~ d#5 ~ c#5 ~, ~ a5@2 ~@21", // G#5
  AK: "d#5@2 c#5 ~ d#5 ~ c#5 ~ a#4@2 g#4 ~@3 a4 ~ [d#4,f#4] ~ f#4@4 d#4 ~, ~@3 [d#4,g#4] ~@2", // D#m G#5
  AL: "[~@3 g#5 a5 a#5 g#5 ~ a#5 ~ [g#5,a5] a#5 ~ g#5 a5 ~ [g#5,c#6] a5 ~ c#6 a5 a#5 c#6@8 a#5 ~ c#6@2 a#5@2 a5@2 g#5 ~ f#5 ~@3 a5 ~ [d#5,f#5] ~, ~@6 c#6@2 ~ c#6@2 ~ c#6@2 ~@5 g#5@2 ~@21 g#5@4 ~@2, ~@7 a5@2 ~@9 a#5@2 ~@2 b5 ~@25]/2", // Amaj7 C#5 D#m
  AM: "f#5@4 d#5 ~ [d#5,c#6,d#6] ~ [d#5,d#6] ~ [d#5,d#6] ~ [f#5,f#6] ~ f#5 ~ [f#5,f#6] ~ [g#5,a#5,g#6] ~ [a5,a6] ~ [a#5,a#6] ~", // D#7 D# F# G#sus2 A A#
  AN: "[c#6@2 ~@2 d#6@2 ~@2 c#6@2 ~@2 d#6@3 ~ d#6@3 ~ d#6 ~@2 [c6,c#6] ~@4 d#6 ~ d#6 ~ [d#5,a#5,d#6] ~ d#6@2 ~ [a#5,d#6] ~ d#6 [d#5,d#6] a#5 [a#5,d#6] ~ [a#5,d#6] ~ d#6!2, c#7 ~@22 d#5@5 ~@17 d#5@3, ~@23 d#6@2 ~@23]/2", // C#maj7 D#5 D# D#5
  AO: "a#5 a#5@2 d#6 ~ a#5 d#6@3 ~ a#5 ~@2 d#5 a#5!2 ~ a#5@6 ~, ~@6 a#5 ~@9 d#5@4 ~@4",
  AP: "[g5,d#6]@3 ~@17 [f#5,g5,d#6] ~ [f#5,g5,d#6] ~, [f#5,d6] ~@23", AQ: "[d#5,g5,d#6] ~@7, [f#5,d6] ~@23",
})).s("gm_piano").gain(0.4)

// chords · piano · soft notes
// … 77 more lines

More by The Temptations