Strudelify

Ball of Confusion (That's What the World Is Today)

The Temptations

KeyC majorTempo80 bpm
0:00/0:00
// Ball of Confusion (That's What the World Is Today) — The Temptations
// 80 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 83 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(80/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 · electric guitar muted · "BALL OF CONFUSION (That's What The World Is Today);Norman Whitfield / Barrett Strong"
const electric_guitar_muted = note(`<
  ~@8 A B C D E F G H I J A B C D E F G H I J A B C D E F G H I J A B K@2 L@2 M@2 N A B C D E F G H I J A B C D E F O@2
  P@2 Q@2 R S H I J A B C D E F G ~@2
>`.pickRestart({
  A: "~ c4 [c3,g3,c4] [g3,c4] [c3,g3,c4] [g3,c4] [c3,g3,c4] [g3,c4] [c3,g3,c4] [c3,c4] [c3,g3,c4] c4 ~ g3 [c3,g3,c4] [g3,c4], [c3,g3,c4] ~@5 [c3,g3,c4] ~", // C5 C C5
  B: "[c3,g3,c4] [g3,c4] [c3,g3,c4] c4 [c3,g3,c4] [g3,c4] [c3,g3,c4] [g3,c4] ~ c4 [g3,c4] ~ [c3,g3,c4] [g3,c4]!3, ~@4 [c3,g3,c4] ~@3", // C5
  C: "[c3,g3,c4] [c3,c4] [c3,g3,c4]!3 [g3,c4] [c3,g3,c4] [g3,c4] [c3,g3,c4] [c3,c4] [c3,g3,c4]!2 ~ c4 [c3,g3,c4]!2, ~@6 [c3,g3,c4] ~", // C5 C C5 C C5
  D: "[c3,g3,c4] [g3,c4] [c3,g3,c4]!2 ~ c4 [c3,g3,c4] [c3,c4] [c3,g3,c4]!7 [c3,c4], ~@2 [c3,g3,c4] ~@5", // C5 C C5 C C5
  E: "[c3,g3,c4]!3 [g3,c4] [c3,g3,c4] [g3,c4] [c3,g3,c4] c4 [c3,g3,c4] [c3,c4] [c3,g3,c4]!3 [g3,c4] [c3,g3,c4]!2", // C5 C C5
  F: "[c3,g3,c4] [c3,c4] [c3,g3,c4]!3 [g3,c4] [c3,g3,c4] [g3,c4] ~ c4 [c3,g3,c4]!3 [c3,c4] [c3,g3,c4]!2, ~@4 [c3,g3,c4] ~@3", // C5 C C5 C C5
  G: "~ c4 [c3,g3,c4]!3 [g3,c4] [c3,g3,c4] [g3,c4] [c3,g3,c4] [g3,c4] [c3,g3,c4] c4 [c3,g3,c4] [c3,c4] [c3,g3,c4] [g3,c4], [c3,g3,c4] ~@7", // C5 C C5
  H: "~ c4 [c3,g3,c4]!3 [g3,c4] [c3,g3,c4] [c3,c4] ~ c4 [g3,c4] [c3,g3,c4]!2 [g3,c4]!2 [c3,g3,c4], [c3,g3,c4] ~@3 [c3,g3,c4] ~@3", // C5 C C5
  I: "~ c4 [c3,g3,c4] c4 [c3,g3,c4]!4 [c3,g3,c4]@2 [c3,g3,c4]!3 [g3,c4] [c3,g3,c4] [g3,c4], [c3,g3,c4] ~@7", // C5
  J: "[c3,g3,c4]!5 [g3,c4] [c3,g3,c4] [c3,c4] [c3,g3,c4] [g3,c4] [c3,g3,c4] [g3,c4] [c3,g3,c4] [g3,c4] [c3,g3,c4]!2", // C5 C C5
  K: "[c3@3 e3@3 g3@23 ~@3]/2", L: "[f3@3 a3@3 c4@22 ~@4]/2", M: "[g3@3 b3@3 d4@18 ~@8]/2",
  N: "[f3,c4] [f3,c4]@2 [f3,c4]@2 [f3,c4]@2 [f3,c4]@2 [f3,c4]@2 [f3,c4] [f3,c4]@2 [f3,c4] ~", // F5
  O: "[[c3,g3]@3 e3@3 g3@25 ~, c4 ~@31]/2", P: "[f3@3 a3@3 c4@25 ~]/2", Q: "[g3@3 b3@3 d4@24 ~@2]/2",
  R: "[f3,c4] [f3,c4]@2 [f3,c4] ~ [f3,c4]@2 [f3,c4] ~ [f3,c4]@2 [f3,c4] [f3,c4]@2 [f3,c4] ~", // F5
  S: "~ c4 [c3,g3,c4]!3 [g3,c4] [c3,g3,c4] [g3,c4] [c3,g3,c4] [g3,c4] [c3,g3,c4] c4 [c3,g3,c4] [c3,c4] [c3,g3,c4] [g3,c4]", // C5 C C5
})).s("gm_electric_guitar_muted").gain(0.19).pan(0.2)

// bass · fretless bass
const bass = note(`<
  ~ A B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C B C D@2 E@2 F@2 G B C B C B C B C B C B C
  B C B C D@2 E@2 F@2 G B C B C B C B C B C B ~@2
>`.pickRestart({
  A: "~@14 g1 a#1", B: "c2!2 ~ a#1 c2!2 ~ a#1 c2@2 a#1@2 c2@2 d#2 a#1",
  C: "c2!2 ~ a#1 c2!2 ~ a#1 c2@2 a#1@2 c2@2 g1 a#1", D: "[c2@3 e2@2 ~ g2@25 ~]/2", E: "[f2@3 a2@2 ~ c3@25 ~]/2",
  F: "[g2@3 b2@3 d3@25 ~]/2", G: "f2!2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2!2 ~ g1 a#1",
})).s("gm_fretless_bass").gain(0.44)

// chords · rock organ
const rock_organ = note("<~@10 A@6 B@8 ~@23 C@4 ~@19 C@4 ~@9>".pickRestart({
  A: "[g5,c6,g6,c7]/6", B: "[g5,c6,g6,c7]/8", C: "[g5,a#5,c6,a#6,c7]/4",
})).s("gm_rock_organ").gain(0.19).pan(0.9)

// chords · epiano1
const epiano1 = note(`<
  ~@10 A@2 ~@2 B@2 ~ C ~ C ~@2 D@2 E F ~@3 G@2 ~@4 H I ~ J K ~@7 D@2 L ~@4 H I ~@2 M N ~ H I ~@7 O@2 P F Q@2 P F O@2 R
  ~@2
>`.pickRestart({
  A: "[c3@4 a#2@4 g2@2 g2!3 g2@2 c2@7 ~@10]/2",
  B: "[[c3,e4,g4,c5] [c3,e4,g4,c5]@7 [a#2,d#4,g4,a#4] [g2,c4,e4,g4]@2 ~@3 [d#2,a3,c4,d#4] [c2,g3,a#3,c4]@2 ~@15]/2", // C D# C Adim C7
  C: "[c2,g3,a#3,d#4] [c2,g3,a#3,c4]@2 ~@13", D: "[[c3,e4,g4,c5]!3 [a#2,d4,f4,a#4]@2 [c3,e4,g4,c5]@17 ~@10]/2",
  E: "~@5 [e4,g4,a#4,c5] ~ [d4,f4,a4]", F: "[c4,e4,g4] ~@7", G: "[~@15 a#2 c3@2 ~@14, ~@15 [g3,c4,e4]@3 ~@14]/2",
  H: "~@10 c2!2 d#2@2 e2@2", I: "c2 ~@3",
  J: "[c2,g3,a#3,e4]@2 [c2,g3,a#3,e4]!2 [c2,g3,a#3,e4]@2 [c2,g3,a#3,e4]!2 [c2,g3,a#3,e4]@2 [c2,g3,a#3,e4]@2 [c2,g3,a#3,e4]@3 ~", // C7
  K: "[c2,g3,a#3,e4]!2 [c2,g3,a#3,e4]@2 [c2,g3,a#3,e4]!2 [c2,g3,a#3,e4]@2 [c2,g3,a#3,e4]!3 [c2,g3,a#3,e4]@5", // C7
  L: "a#4 g4@2 d#4 f4 f4@2 d#4 g4@2 [d4,f4,a4]@2 [c4,e4,g4]@2 ~@2", // Dm C
  M: "~@8 [c3,c4,g4,a#4]@2 [c3,c4,g4,a#4]@2 [c3,c4,g4,a#4] [c3,c4,e4,g4] [c3,c4,g4,a#4]@2", // C7 C C7
  N: "[c3,a#3,c4,g4] [c3,a#3,c4,f4]!2 [c3,a#3,c4,g4] [a#2,g3,a#3,d#4] [g2,e3,g3,c4] [c3,e3,g3,c4]@2 ~@8", // C7 Fsus4 C7 D# C
  O: "[[c3,e4,g4,c5]!3 [a#2,d4,f4,a#4]@2 [c3,e4,g4,c5]@25 ~@2]/2", // C A# C
  P: "[d#3,d#4] [d#3,d#4]@2 [c3,c4] [d#3,d#4] [c3,c4]@2 [a#2,a#3] [c3,c4]@4 ~@2 [d4,f4,a4]@2", // D# C D# C A# C Dm
  Q: "[[c3,e4,g4,c5]!3 [a#2,d4,f4,a#4]@2 [c3,e4,g4,c5]@23 ~@4]/2", // C A# C
  R: "[d#3,d#4] [d#3,d#4]@2 [c3,c4] [d#3,d#4] [c3,c4]@2 [a#2,a#3] [c3,c4]@4 ~@4", // D# C D# C A# C
})).s("gm_epiano1").gain(0.17).pan(0.4)

// chords · harmonica
const harmonica = note("<~@40 A@2 B C D@3 ~@14 E@2 F@2 G H@4 ~ I J K L M N O@2 P Q@2 ~>".pickRestart({
  A: "[~@12 f#5 g5@13 ~@6]/2", B: "~@9 f#5@7",
  C: "[d#5,g5] ~ [d#5,g5] ~ [d#5,g5]!2 ~ [d#5,g5] ~ [d#5,g5]!2 ~ [d#5,g5]@3 ~", D: "[~@3 a#4@8 ~@5]/3",
  E: "[~@10 c6 ~ g5@12 ~@8, ~@11 a#5@13 ~@8]/2",
  F: "[~@9 [g5,a#5]@4 g5 f#5 g5 g5 f#5 [g5,a#5]@8 ~@6, ~@15 a#5@2 ~@15]/2", // Gm
  G: "~@7 [d#5,g5]@2 c5 [d5,g5] c5 [d#5,g5] c5 [d5,g5] c5", // D# G5 D# G5
  H: "[[d#5,g5] c5 [d5,g5] c5 [d#5,g5] c5 [d5,g5] c5 [d#5,g5] c5 [d5,g5] c5 [d#5,g5] c5 [d5,g5] c5@2 ~@6 c5@27 ~@14]/4", // D# G5 D# G5 D# G5 D# G5
  I: "~ [g4,c5] ~ [g4,c5]!2 ~ [g4,c5] ~ [g4,c5]!2 ~ [g4,c5]!2 ~ [g4,c5] ~", // C5
  J: "[g4,c5]!2 ~ [g4,c5]!2 ~ [g4,c5] ~ [g4,c5]!2 ~ c5 [g4,c5] ~ [g4,c5] ~", // C5
  K: "[g4,c5]!2 ~ [g4,c5]!2 ~ [g4,c5] ~ [g4,c5]!2 ~ [g4,c5]!2 ~ [g4,c5] ~", // C5
  L: "c5!2 ~ c5 [g4,c5] ~ [g4,c5] ~ [g4,c5]!2 ~ [g4,c5]!2 ~ [g4,c5] ~, g4 ~@7", // C5
  M: "[g4,c5]!2 ~ [g4,c5]!2 ~ [g4,c5] ~ [g4,c5] c5 ~ c5 [g4,c5] ~ [g4,c5] ~", // C5
  N: "c5!2 ~ c5 [g4,c5] ~ [g4,c5] ~ c5!2 ~ [g4,c5]!2 ~ c5 ~, g4 ~@3 g4 ~@3", // C5
  O: "[g4,c5] c5 ~ c5 [g4,c5] ~ [g4,c5] ~ [g4,c5] c5 ~ c5 [g4,c5] ~ [g4,c5] ~", // C5
  P: "[g4,c5]!2 ~ c5 [g4,c5] ~ [g4,c5] ~ c5!2 ~ [g4,c5]!2 ~ [g4,c5] ~, ~@4 g4 ~@3", // C5
  Q: "[[g4,c5]!2 ~ c5 [g4,c5] ~ c5 ~ [g4,c5] c5 ~ c5 [g4,c5] ~ [g4,c5]@4 ~@14]/2", // C5
})).s("gm_harmonica").gain(0.27).pan(0.8)

// chords · harmonica · soft notes
const harmonica_soft = note("<~@72 A ~ B C D E@2 B F ~@2>".pickRestart({
  A: "~@11 g4 ~@4", B: "~@3 g4 ~@12", C: "~@9 g4 ~ g4 ~@4", D: "~@3 g4 ~@10 g4 ~", E: "~ g4 ~ g4 ~@5 g4 ~ g4 ~@4",
  F: "~@3 g4 ~@2 g4 ~@2 g4 ~ g4 ~@4",
})).s("gm_harmonica").gain(0.13).pan(0.8)

// chords · distortion guitar
const distortion_guitar = note(`<
  ~@4 A ~ B ~ C D ~ E@2 F@2 G@2 H@2 ~ I J@5 K@5 L@8 ~ M@2 N O ~@4 P@8 Q@7 R@2 S T U V ~ W@2 X@4 Y@6 ~
>`.pickRestart({
  A: "g2 c3 [g2,f3] c3 [f3,a#3] [a#3,d#4] [d#4,g#4] c3 g2 ~@7", // G7 A#5 D#5 G#5
  B: "g2 c3 [g2,f3] c3 [f3,a#3] [a#3,d#4] [d#4,g#4] c3 g2 ~ [g2,g#2,a2,a#2] [b2,c3,c#3,d3] [d#3,e3,f3] [f#3,g3,g#3,a3] [a#3,b3,c4] c#4", // G7 A#5 D#5 G#5
  C: "~@15 b4", D: "[c5,c#5,d5,d#5,e5,f5,f#5,g5] [c5,c#5,d5,d#5,e5,f5] b4 ~@13",
  E: "[[a4,a#4,b4,c5,c#5,d5] [a#4,b4,c5,c#5] ~@11 [c3,g3,c4]@2 [c3,g3,c4]@17]/2", // C5
  F: "[~@13 [c3,g3,c4]@2 [c3,g3,c4]@13 ~@4]/2", G: "[~@13 [c3,g3,c4]@2 [c3,g3,c4]@17]/2",
  H: "[~@13 [g3,c4]@2 [g3,c4]@17, ~@13 c3@19]/2", I: "f4@15 ~",
  J: "[f4@4 f#4@2 f#4@2 f4@2 f4@2 f4@2 c4 c4@13 ~ [c3,g3,c4]@2 [c3,g3,c4]@14 [c3,g3,c4]@2 [c3,g3,c4]@9 ~@2 [c3,g3,c4]@2 [c3,g3,c4]!2 ~ [c3,g3,c4]@9 ~@4 f4 f4@2 d#4]/5", // C5
  K: "[[c3,g3,c4]@12 ~ [c3,g3,c4]@2 [c3,g3,c4]@13 ~ [c3,g3,c4]@2 [c3,g3,c4]@14 [c3,g3,c4]@2 [c3,g3,c4]@14 [c3,g3]@2 [c3,g3]@17, ~@61 c4@19]/5", // C5
  L: "[~@2 [e5,f5,f#5,g5,g#5,a5,a#5,b5] [a#5,b5,c6] ~@9 [c3,g3,c4]@2 [c3,g3,c4]@14 [g3,c4]@2 [g3,c4]@14 ~@2 c4@14 c3@2 c3@14 [c3,g3,c4]@16 [c3,g3,c4]@2 [c3,g3,c4]@14 [c3,g3,c4]@2 [c3,g3,c4]@14 [c3,g3,c4]@2 [c3,g3,c4], ~@29 c3@16 [c3,g3]@16 [g3,c4]@16 ~@51]/8", // C5
  M: "[~@8 f5 ~ f#5!3 d#5 c5@8 ~@10]/2", N: "~@3 f#5@5", O: "[d#5,f5] ~ c5@8 ~@6",
  P: "[~@13 [c3,g3,c4]@2 [c3,g3,c4]@14 [c3,g3]@2 g3@14 [g3,c4]@2 [c3,g3,c4]@14 [c3,g3,c4]@2 [c3,g3,c4]@14 [c3,g3,c4]@2 [c3,g3,c4]@14 [c3,g3,c4]@2 [c3,g3,c4]@14 [c3,g3]@2 [c3,g3]@14 [c3,g3,c4]@2 c3, ~@29 c4@16 ~@64 c4@16 ~@3, ~@31 c3@16 ~@81]/8", // C5
  Q: "[~@13 [c3,g3,c4]@2 [c3,g3,c4]@14 [c3,g3,c4]@2 g3@14 g3@2 [c3,g3,c4]@14 [c3,g3,c4]@2 [c3,g3,c4]@14 [c3,c4]@2 [c3,c4]@14 c3@2 c3@16 ~, ~@31 [c3,c4]@16 ~@30 g3@16 [g3,c4]@18 ~]/7", // C5 C C5
  R: "[~@8 f5@2 f5@2 f5@2 c5@9 ~@9]/2", S: "~@2 b4 c5", T: "c5 c5@3",
  U: "~@9 [f#2,b2,e3,a3] [g2,c3,c#3,f3,f#3,a#3,b3] [g#2,a2,d3,g3,c4] [a#2,b2,d#3,e3,g#3,c#4] [c3,f3,f#3] [c#3,d3] [d#3,e3]", // F#m7 Gm7b5 A#m7b5 F Dmaj7 Emaj7
  V: "[f3,f#3] g3 [g#3,a3] ~@13", W: "[~@13 [c3,g3]@2 [c3,g3]@17, ~@13 c4@19]/2",
  X: "[~@13 [c3,g3,c4]@2 [c3,g3,c4]@26 ~@4 [g3,c4]@2 [g3,c4]@17, ~@45 c3@19]/4", // C5
  Y: "[~@13 [g3,c4]@2 [g3,c4]@29 ~ [c3,g3,c4,c5]@2 [c3,g3,c4]@29 ~ c3@2 c3@17, ~@13 c3@32 ~@32 [g3,c4]@19, ~@77 c5 ~@18]/6", // C5
})).s("gm_distortion_guitar").gain(0.22)

// chords · distortion guitar · soft notes · G#maj7 Bmaj7 C5 Dmaj7 D# Bdim Bmaj7
const distortion_guitar_soft = note(`<
  ~@31
  [~@3 a5 [g5,g#5] ~@11]
  ~@35
  [~@12 a3 [a#3,b3] [g3,c4] [g#3,a3,c#4,d4]]
  [[a#3,d#4,e4] [b3,f4] f#4 [a#3,b3] c4 ~@11]
  ~@14
>`).s("gm_distortion_guitar").gain(0.07)

// chords · brass section
const brass_section = note(`<
  ~@15 A ~@6 B@2 ~@12 C D ~@2 E@2 F@2 G@2 H ~@3 I ~@4 J ~@5 K L E@2 F@2 G@2 H ~@13
>`.pickRestart({
  A: "c6@2 c6@2 c6@2 c6@2 c6@2 c6 ~ f5 d#5 c5 ~", B: "[~@8 c6!3 a#5 ~ c6@11 ~@8]/2",
  C: "[c4,c5] ~ [c5,c6]@5 a5 [a#4,a#5] a5 [a#4,a#5] a5 [a#4,a#5] a5 [a#4,a#5]!2", // C A#
  D: "~ [a#4,a#5] ~ [a#4,a#5] ~ [a#4,a#5] ~ [a#4,a#5] ~ [a#4,a#5] ~ a5 [a#4,a#5] [a4,a5] [a#4,a#5] [c5,c6]", // A# A A# C
  E: "[c4@2 ~ e4@2 ~ g4@25 ~]/2", F: "[f4@3 a4@2 ~ c5@26]/2",
  G: "[[g4,g5]!3 [b4,b5]@2 ~ [d5,d6]@24 ~@2, ~@6 c#6 ~@25]/2", // G B D
  H: "[f5,a5,c6]!2 ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5] [f5,a5,c6] ~ [f5,a5] ~, ~@7 c6", // F
  I: "[e5,g5,c6] [d5,f5,a#5] [c5,e5,g5] [d5,f5,a#5] ~ [e5,g5,c6]@11", J: "~@2 [c4,c5] ~@13",
  K: "~@10 [g5,c6] ~@3 [g5,c6] ~", L: "~@2 [g5,c6] ~@5 [g5,c6] ~ [g5,c6] ~ [e4,g4] ~ [e4,g4] ~",
})).s("gm_brass_section").gain(0.4).pan(0.6)

// chords · brass section · soft notes
const brass_section_soft = note("<~@15 A ~@20 B C ~@8 D ~@22 D ~@13>".pickRestart({
  A: "b5 ~ b5 ~ b5 ~ b5 ~ b5 ~ b5 ~ e5 ~@3", B: "~@7 a4 ~ a4 ~ a4 ~ a4 ~@2", C: "~@11 a4 ~@4", D: "~@11 c6 ~@4",
})).s("gm_brass_section").gain(0.22).pan(0.6)

// other · clavinet
const clavinet = note(`<
  ~@23 A B C B C B D B C B C B C B D B C E@2 F@2 G@2 H B C B C B C B C B D B C B C B C E@2 F@2 G@2 H B C B C B C B C B D
  I ~@2
>`.pickRestart({
  A: "~@14 g2 a#2", B: "c3!2 ~ a#2 c3!2 ~ a#2 c3@2 a#2 ~ c3@2 d#3 a#2",
  C: "c3!2 ~ a#2 c3!2 ~ a#2 c3@2 a#2 ~ c3@2 g2 a#2", D: "c3!2 ~ a#2 c3!2 ~ a#2 c3@2 a#2 ~ c3 ~ g2 a#2",
  E: "[c2@3 e2@2 ~ g2@25 ~]/2", F: "[f2@3 a2@2 ~ c3@26]/2", G: "[g2@2 ~ b2@2 ~ d3@25 ~]/2",
  H: "f2!2 ~ f2 ~ f2 ~ f2 ~ f2 ~ f2 f2@2 ~@2", I: "c3!2 ~ a#2 c3!2 ~ a#2 c3@2 a#2 ~ c3@2 d#3 ~",
})).s("gm_clavinet").gain(0.25).pan(0.4)

// other · trombone
const trombone = note("<~@15 A ~@8 B ~@11 C D ~@2 E@2 F@2 G@2 H ~@2 I ~@5 J ~@5 K L E@2 F@2 G@2 H ~@13>".pickRestart({
  A: "c4 ~ c4@2 c4@2 c4@2 c4@2 c4 ~ [e3,f3] d#3 c3 ~", B: "~@10 c4 a#3 c4 ~@3",
  C: "c4 ~ c5@5 a4 a#4 a4 a#4 a4 a#4 a4 a#4!2", D: "~ a#4 ~ a#4 ~ a#4 ~ a#4 ~ a#4 ~ a4 a#4 a4 a#4 c5",
  E: "[[c3,c4]@3 [e3,e4]@2 ~ [g3,g4]@25 ~]/2", F: "[[f3,f4]@3 [a3,a4]@3 [c4,c5]@25 ~]/2",
  G: "[[g3,g4]!3 [b3,b4]@2 ~ [d4,d5]@24 ~@2, ~@6 c#5 ~@25]/2", // G B D
  H: "[f4,a4]!2 ~ [f4,a4] ~ [f4,a4] ~ [f4,a4] ~ [f4,a4] ~ [f4,a4] [f4,a4]@2 [f4,a4] ~", I: "~@10 [b3,c4] a#3 c4 ~@3",
  J: "~@2 [c4,g4] ~@13", K: "~@10 [e4,g4] ~@3 [e4,g4] ~", L: "~@2 [e4,g4] ~@5 [e4,g4] ~ [e4,g4] ~ c4 ~ c4 ~",
})).s("gm_trombone").gain(0.36).pan(0.4)

// other · alto sax · C5 C7 D# Csus2 A#sus2 C A# C …
const alto_sax = note(`<
  ~@24
  [~@10 c5 a#4 c5 ~@3]
  ~@24
  [~@10 c5 a#4 c5 ~@3]
  ~@5
  [~@4 [c4,g4,c5] [g3,a#3,c4,a#4,c5] [d#4,d#5]@8 [d#4,d#5] [c4,d4,c5,d5]]
  [[a#3,c4,a#4,c5] [c4,c5] [a#3,a#4] [c4,c5] ~@2 [d#3,d#4] [f3,f#3,f4,f#4] [c3,g3,c4,g4] ~ [e3,a#3,d#4]@6]
  ~@26
>`).s("gm_alto_sax").gain(0.31).pan(0.8)

// chords · distortion guitar
const distortion_guitar_2 = note("<~@4 A B C D ~ E ~ F ~@19 G ~@35 H I ~@14>".pickRestart({
  A: "~@2 g2 c3 [g2,f3] c3 [g2,f3,a#3] [c3,a#3,d#4] [g2,f3,d#4,g#4] c3 [g2,f3,a#3] [a#3,d#4] [a#3,d#4,g#4] [c3,d#4] [g2,d#4,g#4] c3", // G7 Gm7 Cm7 Fm7 Gm7 D#5 D#sus4 Cm …
  B: "g2 ~@15",
  C: "~@2 g2 c3 [g2,f3] c3 [g2,f3,a#3] [c3,a#3,d#4] [g2,f3,d#4,g#4] c3 [g2,f3,a#3] [a#3,d#4] [g2,g#2,a2,a#2,a#3,d#4,g#4] [b2,c3,c#3,d3,d#4] [g2,d#3,e3,f3,d#4,g#4] [c3,f#3,g3,g#3,a3]", // G7 Gm7 Cm7 Fm7 Gm7 D#5 D# F#dim
  D: "[g2,g#2,a2,a#2,a#3,b3,c4] [b2,c3,c#3,d3,c#4] [d#3,e3,f3] [f#3,g3,g#3,a3] [e3,f3,a#3,b3,c4] [f#3,g3,c#4] [a#3,b3] ~@9", // F# Bmaj7
  E: "~ b4 [c5,c#5,d5,d#5,e5,f5,f#5,g5] [c5,c#5,d5,d#5,e5,f5] b4!2 [c5,c#5,d5,d#5,e5,f5,f#5,g5] [b4,c5,c#5,d5,d#5,e5,f5] [c5,c#5,d5,d#5,e5,f5,f#5,g5] f5 ~@6",
  F: "~@2 [a4,a#4,b4,c5,c#5,d5] [a#4,b4,c5,c#5] ~@2 [a4,a#4,b4,c5,c#5,d5] [a#4,b4,c5,c#5] [a4,a#4,b4,c5,c#5,d5] ~@7",
  G: "~@4 [e5,f5,f#5,g5,g#5,a5,a#5,b5] [a5,a#5,b5,c6] g#5 ~ [e5,f5,f#5,g5,g#5,a5,a#5,b5] [b5,c6] [e5,f5,f#5,g5,g#5,a5,a#5,b5] c6 ~@4", // Cmaj7
  H: "~@11 [f#2,b2,e3,a3] [g2,c3,c#3,f3,f#3,a#3,b3] [g#2,a2,d3,g3,c4] [a#2,b2,d#3,e3,g#3,a3,c#4] [c3,f3,f#3,a#3,b3]", // F#m7 Gm7b5 A#m7b5
  I: "[c#3,f#3,a#3,b3] [g#2,a2,b2,d3,e3,g3,c4] [b2,c3,c#3,e3,f3,f#3,c#4] [c3,d3,f3] [c#3,d3,d#3] [d#3,e3] [f3,f#3] g3 ~@8", // F# Cmaj7 Dm7 Emaj7 F#maj7
})).s("gm_distortion_guitar").gain(0.12).pan(0.7)

// chords · distortion guitar · soft notes
const distortion_guitar_soft_2 = note("<~@4 A ~ A B ~ C ~ D ~@19 E ~@36 F ~@14>".pickRestart({
  A: "~@11 c3 f3 a#3 ~@2", B: "~@2 [g2,g#2,a2,a#2] [b2,c3,c#3,d3] d#3 [g#3,a3] c4 c#4 ~@8",
  C: "~@8 b4 [c5,c#5,d5,d#5,e5] b4 ~@5", D: "~@9 [a#4,b4,c5,c#5] ~@6",
  E: "~@6 g5 ~@2 [a5,a#5] ~ [a5,a#5,b5] [g5,g#5] ~@3", // A#maj7 G#maj7
  F: "~ [c#4,d4] [a3,d#4,e4] [f#3,g3,a#3,b3,c4,f4] [e3,g3,g#3,a3,c#4,f#4] [f3,f#3,g#3,a3,a#3,b3,c#4,d4] [g3,a#3,c4,d#4,e4] [g#3,a3,b3,c#4,d4,f4] [f3,f#3,g#3,a3,a#3,d#4,e4,f#4] [g3,b3,f4] [g#3,a3,c4,f#4] [a#3,b3] c4 ~@3", // Dmaj7 A F#m7 C7 C#7 G7 F#dim Bmaj7
})).s("gm_distortion_guitar").gain(0.05).pan(0.7)

// chords · distortion guitar
// … 139 more lines

More by The Temptations