Strudelify
Would I Lie to You? cover art

Would I Lie to You?

Annie Lennox

KeyA majorTempo132 bpm
0:00/0:00
// Would I Lie to You? — Annie Lennox
// 132 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 11 electric guitar clean (copy of ch 1 overdriven guitar); ch 7 brass section (copy of ch 3 trumpet)
// note: Full arrangement: all 146 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(132/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.

// chords · overdriven guitar
const overdriven_guitar = note(`<
  ~ A@6 B@2 C D E ~ C F G ~ H I J ~ K L M@2 N O P Q R S T U C D E ~ C F G ~ H I J ~ K L V W N O P Q R S T U A@6 B@2 C D
  E ~ C F G ~ H I J ~ K L X Y Z AA@6 AB H I J ~ K L AC@2 N O P Q R S T U C D E ~ C F G ~ H I J ~ K L V W C D E ~ C F G ~
  H I J ~ K L V W C D E ~ AD ~@4
>`.pickRestart({
  A: "[~@6 g4@25 ~, d3@15 ~, ~@2 a3@27 ~@3, ~@2 c4@13 ~]/2",
  B: "[~@26 c4@2 a2@3 ~, d3@7 ~, ~@2 a3@17 ~ a3@7 ~@5, ~@4 c4@5 ~ c4@7 ~ c4@8 ~@6, ~@6 g4@7 ~ f#4@8 g4@8 ~@2]/2",
  C: "[a2,e3,a3,c#4]@2 ~@4 [a2,d#3,a3,c#4] ~ [g2,d3,g3,b3]@2 [a2,e3,a3,c#4]@2 ~@4", // A D#m7b5 G A
  D: "~@3 [a3,d4,f#4] ~ [e3,a3,c#4,e4] ~ [g2,d3,g3,b3,d4]", E: "~@6 [d3,g3,b3] ~ [g3,c4,e4] ~ [d3,g3,b3,d4]@2 ~@4",
  F: "~@3 [a3,d4,f#4] ~ [e3,a3,c#4,e4] ~ [d3,g3,b3,d4]", G: "~@6 [d3,g3,b3,d4] ~ [g3,c4,e4]@2 [d3,g3,b3,d4]@2 ~@4",
  H: "[a2,e3,a3,c#4,e4,a4]@2 ~@4 [a2,e3,a3,c#4] ~ [g2,d3,g3,b3,d4]@2 [a2,e3,a3,c#4]@3 ~@3, ~@10 e4 ~@5", // A G A
  I: "~@3 [a3,d4,f#4] ~ [a3,c#4,e4] ~ [g2,d3,g3,b3,d4]", J: "~@6 [g2,d3,g3,b3,d4] ~ [g3,c4,e4]@2 [g2,d3,g3,b3] ~@5",
  K: "[a2,e3,a3,c#4,e4]@2 ~@4 [a2,e3,a3,c#4] ~ [d3,g3,b3,d4]@2 [e3,a3,c#4,e4]@2 ~@4", // A G A
  L: "~@3 [e3,a3,d4,f#4] ~ [a2,e3,a3,c#4,e4] ~ [d3,g3,b3,d4]", // D A G
  M: "[~@6 [g2,d3,g3,b3] ~ [g3,c4,e4]@2 [g2,d3,g3]@19 ~@3, ~@10 b3@17 ~@5]/2", // G C G5
  N: "[d3,a3,c4]@3 [a3,c4,f#4] ~@2 [d3,a3] ~@3 [d3,a3]@2 ~@2 [d3,a3] ~, f#4 ~@7", // D7 F#dim D5
  O: "[d3,a3,c4,f#4]@3 [a3,c4,f#4] ~@2 [d3,a3]@2 ~@2 [d3,a3] ~@3 [d3,g#3] ~", // D7 F#dim D5 Ddim
  P: "[d3,a3,c4,f#4,a4]@3 [c4,f#4] ~@2 [d3,a3] ~@3 [d3,a3] ~@3 [d3,a3] ~", // D7 Cdim D5
  Q: "[d3,a3,c4]@3 [a3,c4,f#4] d#5 ~ [d3,a3]@2 ~@2 [d3,a3] ~@3 [d3,a3] ~, f#4 ~@7", // D7 F#dim D5
  R: "[c3,a#3,e4]@3 [g3,a#3,e4] ~@2 [c3,g3] ~@3 [c3,g3] ~@3 [c3,g3] ~, g3 ~@7", // C7 Edim C5
  S: "[c3,g3,a#3,e4]@3 [a#3,e4]@2 ~ [c3,g3] ~@3 [c3,g3] ~@3 [c3,g3] ~", // C7 A#dim C5
  T: "[c3,g3,a#3,e4]@3 [a#3,e4] ~@2 g3 ~@3 g3 ~@3 [c3,g3] ~, g4 ~@7", // C7 A#dim C5
  U: "[c3,g3,a#3,e4,g4]@3 [g3,a#3,e4] ~@2 [c3,g3] ~@3 [c3,g3]@2 ~@4", // C7 Edim C5
  V: "~@6 [g2,d3,g3,b3] ~ [g3,c4,e4]@2 [g2,d3,g3,b3]@3 ~ [g2,d3] ~", W: "~@2 [g2,d3]@2 ~@2 [g2,d3]@3 ~ [g2,d3]@3 ~@3",
  X: "~@6 [g2,d3,g3,b3] ~ [g3,c4,e4]@2 [g2,d3,g3,b3]@6", Y: "g2!2 [d3,g3]!2 [d3,g3,b3]!4, ~@4 g2@11 ~",
  Z: "[d4,f#4]@2 [c4,e4]@2 [d4,f#4]@3 ~ [c4,e4,a4]@4 [d4,f#4]@2 [c4,e4]@2", // D C D Am D C
  AA: "[[d4,f#4]@4 [c4,e4]@2 [a3,d4]@7 ~ [d4,f#4,b4]@4 [c4,e4]@2 [d4,f#4]@2 [c4,e4]@2 [d4,f#4]@4 [c4,e4]@2 [d4,f#4]@4 [c4,e4]@2 [a3,d4,f#4]@6 ~@4 [d4,f#4]@4 [c4,e4]@2 [d4,f#4]@4 [d4,f#4]@4 c4@2 [d4,f#4]@4 [c4,e4]@2 [d4,f#4]@2 [d4,f#4]@4 ~@4 [d4,f#4]@4 [c4,e4]@2 [d4,f#4]@2 [c4,e4]@2 [d4,f#4]@2 [c4,e4]@2 [d4,f#4]@2 [c4,e4]@2]/6", // D C D5 Bm C D C D …
  AB: "[d4,f#4,b4]@2 [c4,e4]@2 [d4,f#4,a#4]@2 [c4,e4] ~ [d4,f#4]@5 ~@3, ~@8 a#4 ~@7", // Bm C Daug C D
  AC: "[~@6 [g2,d3,g3,b3] ~ [g3,c4]@2 [g2,d3,g3]@19 ~@3, ~@10 b3@17 ~@5]/2", // G C5 G5
  AD: "[a2,e3,a3,c#4]@2 ~@4 [a2,d#3] ~ [d3,g3,b3]@2 [e3,a3,c#4]@2 ~@4", // A Adim G A
})).s("gm_overdriven_guitar").gain(0.25).pan(0.6)

// chords · overdriven guitar · soft notes
const overdriven_guitar_soft = note(`<
  ~@11 A ~@2 B C ~@5 D E F ~ G H I H J@2 K L ~@2 A ~@2 B C ~@5 D E F ~ G H I H J@2 K L ~@10 A ~@2 B C ~@5 D E F M N ~@3
  O ~ P Q ~@4 D E R ~ G H I H J@2 K L ~@2 A ~@2 B C ~@5 D E F ~@3 A ~@2 B C ~@5 D E F ~@3 A ~ S T U ~ V
>`.pickRestart({
  A: "~@6 g2 ~@3 [g2,g4]@2 ~@4", B: "~@5 a4 ~ [g2,g4]", C: "~@6 g2 ~@9", D: "a4 ~@3 g4 ~@3", E: "~@7 g2",
  F: "~@6 d4 ~ d3@2 ~@6", G: "a4 ~@3", H: "a4 ~@7", I: "~@3 a4 ~@12", J: "g4 ~@7", K: "~@6 c3 ~@3 c3 ~@5",
  L: "~@14 [c3,g3] ~", M: "~ d3 ~@6", N: "~ a4 ~@6", O: "~@6 e4 ~", P: "~@7 a4", Q: "~@2 a4@2 ~@2 a4 ~@9",
  R: "~@4 d3 ~@3", S: "~@6 [a3,c#4] ~ g2@2 a2@2 ~@4", T: "~@3 [a3,d4,f#4] ~ [e3,a3,c#4,e4,a4] ~ [g2,d3,g3,b3,d4,g4]",
  U: "~@6 [g2,d3,g3,b3,d4] ~ [g3,c4,e4]@2 [d3,g3,b3,d4]@2 ~@4", V: "[e3,a3]@11 ~@5, a2@13 ~@3, c#4 ~",
})).s("gm_overdriven_guitar").gain(0.1).pan(0.6)

// bass · electric bass finger
const bass = note(`<
  A B C B D B E D F G H I J K H L J M N I O M P I Q R S T U V W X Y Z AA L AB Z AA L AC Z AD L AB Z AE AF AG AH AI E@2
  AJ AK@2 AL T AM T E T E@2 AN AO AP AQ AR Z AS I AT AU AV I AW K AX AY AZ F BA T BB T E BC BD BE BF BG BH K BF AQ BI BJ
  BK BL BM BN BO AK Y ~@14 BP BQ BE BF BR BH BS BT BR BQ Z BU BV BW BX BY BZ CA CB CC AQ CD K M BR L CE
>`.pickRestart({
  A: "~@3 f1", B: "d1 ~ d1 ~ d1 ~ d1 d2", C: "d1 ~ d1 ~ d1 d2 d1 ~", D: "d1 ~ d1 ~ d1 d2 d1 d2",
  E: "d1@3 ~ d1@3 ~ d1@2 d2@2 d1@2 d2@2", F: "d1@3 ~ d1@3 ~ d1@3 ~ d1@4", G: "a1 ~ a1 ~ a1 ~ a1 ~ a1@2 a2@2 a1 ~ a1 ~",
  H: "a1 ~ a1@2 c#2@2 a1@2 d2@2 a1@2 e2@2 a1@2", I: "g1 ~ g1@2 g2@2 g1 ~ g1 ~ g1@2 g2@2 g1 ~",
  J: "g1 ~ g1@2 g2@2 f1@2 f#1@2 f#2@2 g1@2 g2@2", K: "a1 ~ a1@2 a2@2 a1 ~ a1 ~ a1@2 a2@2 a1 ~",
  L: "g1 ~ g1@2 g2@2 g1 ~ g1 ~ g1@2 g2@2 g1@2", M: "a1 ~ a1@2 a2@2 a1 ~ a1 ~ a1@2 a2@2 a1@2",
  N: "c#2 ~ c#2@2 d2 ~ d2@2 e2@2 a1 ~ a1 ~ a1@2", O: "g1 ~ g1@2 b1 ~ b1@2 d2 ~ d2@2 g1@2 g#1@2",
  P: "c#2 ~ c#2 ~ d2 ~ d2@2 e2 ~ e2@2 a1@2 a1@2", Q: "g1 ~ g1 ~ g1 ~ g1@2 c1@2 c1@2 c#1 ~ c#1@2",
  R: "d1 ~ d1 ~ d1@3 ~ d1@3 ~ d1@2 d2@2", S: "d1@2 d1@2 d1@3 ~ d1@2 d2@2 d1@2 d2@2",
  T: "d1@3 ~ d1@3 ~ d1@3 ~ d1@2 d2@2", U: "d1@2 d1 ~ d1@3 ~ d1@2 d2@2 d1 ~ d1@2",
  V: "e1@3 ~ e1@3 ~ e1 ~ e1 ~ e1@2 e2@2", W: "e1 ~ e1 ~ e1@3 ~ e1@2 e2@2 e1@3 ~", X: "e1@3 ~ e1@3 ~ e1@2 e2@2 e1@2 ~@2",
  Y: "e1 e2 f#1 f#2 g1 g2 g#1 g#2", Z: "a1 ~ a1@2 a2@2 a1 ~ a1 ~ a1@2 c#2 ~ c#2@2",
  AA: "d2 ~ d2@2 d#2 ~ d#2@2 e2 ~ e2@2 a1@2 g#1@2", AB: "b1 ~ b1@2 c2 ~ c2@2 d2 ~ d2@2 g1@2 g#1@2",
  AC: "g1 ~ g1 ~ g1 ~ g1@2 f#1 ~ f#1@2 e1@2 g1@2", AD: "d2 ~ d2@2 d#2@2 e2@2 a1 ~ a1@2 g#1 ~ g#1@2",
  AE: "d2 ~ d2@2 d#2 ~ d#2@2 e2@2 e1@2 e2@2 a1@2, ~@12 g#1 ~@3", AF: "g1 ~ g1@2 g2@2 g1 ~ g1 ~ g1 ~ g1 ~ g1 ~",
  AG: "g1@2 g1@2 b0 ~ b0@2 c1 ~ c1@2 c#1 ~ c#1@2", AH: "d1@3 ~ d1@3 ~ d1 ~ d1 ~ d1@3 ~",
  AI: "d1 ~ d1 ~ d1@3 ~ d1 ~ d1 ~ d1 ~ d1 ~", AJ: "e1@3 ~ e1@3 ~ e1 ~ e1 ~ e1 ~ e1 ~",
  AK: "e1@3 ~ e1@3 ~ e1@2 e2@2 e1@2 e2@2", AL: "e1 e2 f#1 f#2 g1 g2 e1 e2", AM: "d1@3 ~ d1@3 ~ d1@2 d2@2 d1@3 ~",
  AN: "d1@3 ~ d1@3 ~ d1@4 d1@4", AO: "a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1@2 c#2 ~ c#2@2",
  AP: "d2 ~ d2@2 e2 ~ e2@2 a2@2 e2@2 a1@2 g1 ~", AQ: "g1 ~ g1@2 g2@2 g1 ~ g1 ~ g1 ~ g1 ~ g1@2",
  AR: "b1 ~ b1@2 c2 ~ c2@2 d2 ~ d2@2 g1 ~ g1@2", AS: "d2 ~ d2@2 e2@2 e2@2 a1 ~ a1 ~ a1 ~ a1@2",
  AT: "g1 ~ g1@2 g2@2 g1@2 f#1@2 g1@2 e1@2 g1@2", AU: "a1@2 a1@2 a2@2 a1 ~ a1 ~ a1@2 c#2 ~ c#2@2",
  AV: "d2 ~ d2@2 e2 ~ e2@2 a2 ~ a2@2 a1@2 g#1@2", AW: "g1 ~ g1@2 b1 ~ b1@2 c#2 ~ c#2@2 d2@2 g1@2",
  AX: "a1 ~ a1@2 c#2 ~ c#2@2 d2@2 e2@2 a1@2 g#1@2", AY: "g1 ~ g1@2 g2@2 g1 ~ g1 ~ g1@2 g1 ~ g1@2",
  AZ: "g1@2 g1 ~ g1 ~ g1 ~ g1@2 f#1@2 e1 ~ e1@2", BA: "d1@3 ~ d1@3 ~ d1@2 d2@2 d1 ~ d1@2",
  BB: "d1@3 ~ d1@4 d1@2 d2@2 d1@2 c1@2", BC: "d1 d2 d1 d2 d1 d2 d1 d2", BD: "d1@2 d2@2 d1@2 d2@2 d1@3 ~ d1@4",
  BE: "a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1@2 a2@2 a1 ~", BF: "a1 ~ a1@2 c#2 ~ c#2@2 d2 ~ d2@2 e2@2 a1@2",
  BG: "g1@2 g1@2 g2@2 g1@2 g1 ~ g1@2 g2@2 g1 ~", BH: "g1 ~ g1@2 b1 ~ b1@2 c2 ~ c2@2 d2@2 g1@2",
  BI: "g1 ~ g1 ~ g1 ~ g1@2 f#1@2 g1@2 e1@2 g1@2", BJ: "d1@3 ~ d1@3 ~ d1@3 ~ d1 ~ d1 ~",
  BK: "d1@3 ~ d1@3 c1 d1@2 d2@2 d1 ~ d1 ~", BL: "d1@4 d1@3 ~ d1@3 ~ d1@2 d2@2, ~@11 c1@2 ~@3",
  BM: "d1@3 ~ d1@2 d2@2 d1@2 d2@2 d1@2 d2@2", BN: "e1@3 ~ e1@3 ~ e1@3 ~ e1@2 e2@2",
  BO: "e1@3 ~ e1@3 ~ e1@2 e2@2 e1@2 e1 ~", BP: "g1 g2 g1 g2 g1 g2 g1 g2", BQ: "g1 g2 g1 g2 f#1 f#2 e1 e2",
  BR: "g1@2 g1@2 g2@2 g1 ~ g1 ~ g1@2 g2@2 g1 ~", BS: "a1 ~ a1 ~ a1@2 a1 ~ a1 ~ a1 ~ a1 ~ a1@2",
  BT: "c#2 ~ c#2@2 d2 ~ d2@2 e2 ~ e2@2 a1@2 g#1@2", BU: "d2 ~ d2@2 d#2 ~ d#2@2 e2@2 g2@2 a2@2 a1@2",
  BV: "g1 ~ g1@2 g2@2 g1 ~ g1 ~ g1@2 g2@2 b1@2", BW: "c2 ~ c2@2 c#2 ~ c#2@2 d2@2 f#1@2 g1@2 g#1@2",
  BX: "a1@2 a1@2 a2@2 a1 ~ a1 ~ a1@2 a2@2 a1@2", BY: "c#2 ~ c#2@2 d2@2 d#2@2 e2@2 a1 ~ a1@2 g#1@2",
  BZ: "g1 ~ g1@2 f1 ~ f1@2 e1 ~ e1@2 d#1 ~ d#1@2", CA: "d1 ~ d1@2 e1 ~ e1@2 f1 ~ f1@2 g1@2 g#1@2",
  CB: "a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1@2 [a2,g3]@2 a1 ~", CC: "a1 ~ a1@2 [a2,g3]@2 a1 ~ a1 ~ a1@2 [a2,g3]@2 a1@2",
  CD: "b1 ~ b1@2 c2@2 c#2@2 d2@2 f#1@2 g1@2 g#1@2", CE: "a1@13 ~@3",
})).s("gm_electric_bass_finger").gain(0.44)

// chords · trumpet
const trumpet = note(`<
  ~@8 A ~@3 B ~@3 B ~@15 A ~@3 B ~@3 B ~@23 A C D E ~ F G H B C D E ~ I G H ~@8 A C D E ~ F G H ~@50
>`.pickRestart({
  A: "~@2 [a4,a5] ~ [a4,a5] ~ [a4,a5] ~ [a4,a5] ~ [a4,a5] ~ [a4,a5] ~ [a4,a5] ~", // A
  B: "[d4,d5] [e4,e5] [g4,g5] [a4,a5] ~ [g4,g5] ~ [a4,a5]@3 [g4,g5] [e4,e5] [d4,d5] [d#4,d#5,e5] e4 ~", // D E G A G A G E …
  C: "~@6 [c#4,e4,a4]@2 [b3,d4,g4]@2 [c#4,e4,a4] ~@5", // A G A
  D: "~@6 [f#4,a4,d5] ~@3 [c#4,e4]@2 ~@2 [b3,d4,g4]@2, ~@10 a4 ~@5", E: "~@3 [b3,d4,g4] [e4,g4,c5] [d4,g4,a4] ~@2",
  F: "[c#4,e4,a4] ~@2 [c#4,e4,a4] [b3,d4,g4] [c#4,e4] ~@2, ~@10 a4 ~@5", // A G C#m
  G: "~@3 [f#4,a4,d5] ~ [c#4,e4,a4] ~ [b3,d4,g4]", H: "~@6 [b3,d4,g4]@2 [e4,c5]@2 [d4,g4] ~@5, ~@8 g4 ~ a4@2 ~@4",
  I: "[c#4,e4,a4]@2 ~@4 [c#4,e4,a4]@2 [b3,d4,g4]@2 [c#4,e4,a4] ~@5", // A G A
})).s("gm_trumpet").gain(0.32)

// chords · pan flute
const pan_flute = note(`<
  ~@16 A B A C A D E F G@2 ~@8 H ~@3 H ~ A I A C A D E F G@2 ~@16 H ~@3 J@2 A I A C A D E F K@2 ~@6 A I A C A D E F G@2
  ~@8 H ~@3 H ~ A I ~@2 A I ~@2 A I ~@2 A I ~@2 A L ~@2 A L ~@2 A L ~@8
>`.pickRestart({
  A: "~@6 [c#4,e4] [d4,f#4]", B: "[e4,g4]@2 [d4,f#4] [c#4,e4]@4 ~", C: "[e4,g4]@2 [e4,g4] [c#4,g4] [d4,g4] [e4,a4]@3",
  D: "[e4,g4]@2 [d4,f#4]@2 [c#4,e4]!2 [b3,d4]@2", E: "[a3,d4]@2 [g3,c#4]@4 [e3,a3]@7 ~ [d4,g4]@2",
  F: "[d4,g4]!2 [d4,g4]@2 [d4,g4]!3 [c#4,f#4]", // G5 F#5
  G: "[[d4,g4] [c#4,f#4] [d4,g4] [c#4,f#4] [d4,g4] [c#4,f#4] [a3,d4] [a3,f#4]@4 ~@5]/2", // G5 F#5 G5 F#5 G5 F#5 D5 D
  H: "~@3 [a4,d5,e5] [a4,c#5,d5]@2 [g4,b4,d5]@2", I: "[e4,g4]@2 [d4,f#4] [c#4,e4]@5",
  J: "[~@3 [a4,d5,e5] [a4,c#5,d5]@2 [g4,b4,d5]@4 ~@6]/2", // Asus4 Dmaj7 G
  K: "[[d4,g4]@2 [c#4,f#4]@2 [d4,g4]@2 [c#4,f#4]@2 [d4,g4]@2 [c#4,f#4]@2 [d4,g4]@2 [c#4,f#4]@7 ~@11]/2", // G5 F#5 G5 F#5 G5 F#5 G5 F#5
  L: "[e4,g4]@2 [d4,f#4] [c#4,e4] [d4,f#4] [c#4,e4]@3", // Em D C#m D C#m
})).s("gm_pan_flute").gain(0.24)

// other · soprano sax
const soprano_sax = note(`<
  ~@19 A B ~@22 C D E ~@3 F G@2 H ~@18 I J ~ K L M ~@10 N@2 ~@2 O P ~@4 F G H ~@3 Q@2 ~@7 R ~@2 S T U V W@2 ~@4 X Y ~ Z
  AA AB AC AD AE ~@12
>`.pickRestart({
  A: "~@5 c6 ~ c6", B: "~@2 a5@3 ~ a5@4 g5 e5@5", C: "~@7 a4", D: "c5 ~ c5@2 d5@2 d5@2 e5@3 ~ e5@2 f#5@2",
  E: "b4@7 ~@9", F: "~@7 [c5,g5]", G: "[d5,a5]@3 ~@11 [c5,g5]@2", H: "[d5,a5]@3 ~@13",
  I: "~@4 g5@2 g5 ~ g5@2 g5 ~ g5 ~ g5 ~", J: "g5@2 g5 ~ g5 ~ g5 ~ g5 ~ g5 ~ g5@2 a5@2",
  K: "~@6 a5@2 c6@2 a5 ~ c6@2 a5@2", L: "~@7 [d5,g5]", M: "[e5,a5] ~@2 [d5,g5] [e5,a5] ~@3",
  N: "[~@3 c6, d5, ~ f#5@3, ~ a5]/2", O: "~@7 a5", P: "~@2 a5@3 ~ a5@3 ~ a5@4 ~@2", Q: "[~ g5, c5, ~ e5@3]/2",
  R: "~@4 g5@2 a5@2 [a5,e6]@3 ~ a5@4", S: "~@4 g5@2 a5 ~ c6@2 a5 ~ c6@4", T: "~@4 g5@2 a5 ~ a5@2 a5@2 c6@3 ~",
  U: "~@10 g5 ~ g5@2 a5@2", V: "~@2 g5 ~ g5@2 a5@3 ~ g5 ~ g5@2 a5@2",
  W: "[c6@2 a5@2 c6@2 a5@2 c6@2 a5 c6 ~ g5@2 e5@2 ~ g5@2 a5@2 g5@2 a5@3 ~@5, ~@6 a5 ~@9]/2", X: "a6@10 c6@2 a5@2 g5 ~",
  Y: "a5@4 g5@2 e5 ~ g5@4 a5@3 ~", Z: "~@4 g5@2 a5 ~ a5@4 e5@3 ~", AA: "g5 a5@2 g5 a5@2 g5 a5@2 g5 a5@2 c6 ~ c6@2",
  AB: "g5 a5@2 g5 a5@2 g5 a5@2 g5 a5@2 g5@2 a5@2", AC: "~@2 a6@4 c6@4 a5@4 g5 ~",
  AD: "a5@2 g5 e5 g5@2 e5 d5 e5@2 d5 c5 d5@2 c5 a4", AE: "c5@3 ~@13",
})).s("gm_soprano_sax").gain(0.19)

// other · alto sax
const alto_sax = note(`<
  ~@12 A ~@3 A ~@19 A ~@3 A ~@27 A ~@3 A ~@19 A ~@7 B ~@29 C D@2 E F G H I J K L@2 ~@4
>`.pickRestart({
  A: "~@7 g2", B: "~@7 d2", C: "e4 f#4 a4 ~ a4@2 f#4@2 a4@3 f#4@3 ~@2",
  D: "[~@8 g4@2 a4 ~ a4 ~ c5@5 a4 b4@2 a4@3 ~@7]/2", E: "g#5@15 ~", F: "~@6 b5@6 b5@3 ~", G: "b5@4 a5 ~ g#5@6 ~@2 b4@2",
  H: "e5 b4 ~@2 a4@7 ~@5", I: "~@6 f#4 a4", J: "b4@2 ~@2 a#4 a4 ~@2 a4@7 ~", K: "e4@2 f#4@2 g#4 ~ b4@2 ~@2 b4 ~ a4@4",
  L: "[~@2 d#5@3 ~ d#5 ~ e5@4 a4 ~ a4@10 a4 ~ a4@2 ~@4]/2",
})).s("gm_alto_sax").gain(0.4)

// other · alto sax · soft notes
const alto_sax_soft = note("<~@141 A B@2 ~@2>".pickRestart({
  A: "~@7 a4", B: "[~@2 a4 ~ c#5 ~ e5@2 a5@3 ~ a5@2 a5@13 ~@5]/2",
})).s("gm_alto_sax").gain(0.18)

// bass · synth bass 1
const bass_2 = note(`<
  ~ A B@7 C D E F C D E F ~@40 B@7 G C H E I C@2 E J K ~@15 C L E M C N E O P@4 Q@3 R ~@41
>`.pickRestart({
  A: "d2 ~ d2@2 d2 ~ d2 ~ d2 ~ d2@2 d2@2 d2 ~", B: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~",
  C: "a1 ~ a1@2 a2 ~ a2@2 a1 ~ a1@2 a2 ~ a2@2", D: "a1 ~ a1@2 a2 ~ a2@2 d2@2 a1@2 e2@2 a1@2",
  E: "g1 ~ g1@2 g2 ~ g2@2 g1 ~ g1@2 g2 ~ g2@2", F: "g1 ~ g1@2 g2@2 f1@2 f#1@2 f#2@2 g1@2 g2@2",
  G: "d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2@2", H: "a1 ~ a1@2 a2 ~ a2 ~ a1@2 e2@2 a1@2 g1 ~",
  I: "g1 ~ g1@2 g2 ~ g2@2 d2 ~ d2@2 g1 ~ g1@2", J: "g1 ~ g1@2 g2 ~ g1 ~ f#1@2 g1@2 e1@2 g1 ~", K: "a1 ~@7",
  L: "a1 ~ a1@2 a2 ~ a2@2 d2 ~ d2@2 e2@2 a1@2", M: "g1 ~ g1@2 g2 ~ g2@2 c#2 ~ c#2@2 d2@2 g1 ~",
  N: "a1 ~ a1@2 a2 ~ a2@2 d2 ~ d2@2 e2@2 a1 ~", O: "g1 ~ g1@2 g2@2 g2 ~ f#1@2 g1@2 e1@2 g1@2",
  P: "d1 d2 d1 d2 d1 d2 d1 d2", Q: "e1 e2 e1 e2 e1 e2 e1 e2", R: "e1 e2 f#1 f#2 g1 g2 g#1 g#2",
})).s("gm_synth_bass_1").gain(0.28)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~@25 A B C@2 D@4 ~@16 A B C@2 D@4 ~@23 E@2 F@2 G@2 H@2 I ~@8 A B C@2 D@4 ~@2 J K L@2 J M N@2 O@2 ~ P@2 ~@26
>`.pickRestart({
  A: "d5@3 d5 [c5,d5] ~@11, [f#4,c5]@5 ~@11", B: "[c5,d5]@3 [f#4,c5,d5] [c5,d5] ~@11, f#4 ~@15",
  C: "[f#4,c5,d5]@3 [f#4,c5,d5]!2 ~@11", D: "[e4,a#4,c5]@3 [a#4,c5] [e4,a#4,c5] ~@11",
  E: "[~@7 a3@2 c4 d4 c4 d4 c4 d4 c4]/2", F: "[d4@2 c4 a3@3 ~ a3@2 c4 d4 c4 d4 ~ d4 c4]/2",
  G: "[d4@3 ~ c4@2 a3@5 ~@3 a3@4 c4@2 d4@2 c4@2 d4@2 c4@2 d4@2 [c4,d#4]@2, ~@14 e5 ~@17]/2", // Cm
  H: "[d4@4 c4@2 a3@5 ~@3 a3@4 c4@2 d4@2 c4@2 d4@2 c4@2 d4@2 c4@2]/2", I: "d4@4 c4@2 a3@7 ~@3", J: "~@15 d4",
  K: "d4 d4@2 d4@2 d4@2 d4", L: "[~@14 e4@4 e4@4 e4@4 e4@5 ~]/2", M: "d4@2 d4@3 ~ d4@4 d4@4 d4@2",
  N: "[~@7 e5@2 e5@2 e5@2 e5@2 e5]/2", O: "[~@14 d4@4 d4@4 d4@4 d4@5 ~]/2", P: "[~@2 e4@4 e4@4 e4@4 e4@5 ~@13]/2",
})).s("gm_electric_guitar_clean").gain(0.25).pan(0.4)

// chords · rock organ
const rock_organ = note(`<
  ~@9 A@8 ~@9 B ~ C D@4 ~@8 E@8 ~ F ~ G H I@3 ~@10 J ~ K L@3 ~ M ~@4 N@2 ~ O P Q R S@2 T U V@2 ~@3 W@2 ~@16 X@8 ~@8 Y@8
  Z@3 AA AB@3 ~@2
>`.pickRestart({
  A: "[[c#6,e6,a6]@22 [a5,d6,f#6]@4 [a5,c#6,e6]@4 [b5,d6,g6]@33 ~]/4", B: "~@8 f#6 [a6,c7] [a6,d7] [c7,d7] a7 ~@3",
  C: "~@14 [a#6,e7] g7", D: "[c6,c7]/4", E: "[[a5,a6]@120 ~@2 d7 e7 g7 a7 [e7,g7] ~]/8",
  F: "~@8 a6 c7 [c7,d7] d7 [g7,a7] ~@3", G: "~@10 a7 g7 [c7,e7] a#6 [c7,e7] g7", H: "e7 ~@15", I: "[[c6,c7]@11 ~]/3",
  J: "~ [b5,d6,g6]@2 ~", K: "~@4 [a6,a7] ~@11", L: "[~ [g5,g6]@3]/3", M: "[a4,c#5,e5,g5]@3 ~@13", N: "[~ [g5,g6]@7]/2",
  O: "~@12 [g4,a4,b4,c5,d5,e5] [f5,g5,a5,b5,c6,d6,e6] [c7,d7,e7,a7,b7] c8, ~@7 [f7,g7]", // Cmaj7 Fmaj7 Am Fsus2
// … 84 more lines

More by Annie Lennox