Strudelify

The Ballad of Bonnie & Clyde

Georgie Fame

KeyG majorTempo109 bpm
0:00/0:00
// The Ballad of Bonnie & Clyde — Georgie Fame
// 109 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 85 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(109/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 · "ACOU BASS"
const bass = note(`<
  ~ A B C D E F G H I@2 J K L M@2 N O P C D E F G H I@2 J K L M@2 N O P C D E F G H I@2 J K L M@2 N O Q R@2 S@2 T U V W
  X Y Z AA@2 AB@2 AC AD AE AF AC AD AG@2 ~@2 AH AI AJ AK AL AM AN AO ~
>`.pickRestart({
  A: "~@16 d2 ~ d2 ~@3 d2 ~", B: "d2@2 ~@2 d2 ~ d2@2 ~@2 d2 ~ g1@7 ~@3 d1 ~", C: "g1@7 ~@3 g1@2 c2@7 ~@3 c2@2",
  D: "d2@7 ~@3 d2@2 c2@6 ~@4 c2 ~", E: "d2@7 ~@3 g1 ~ c2@5 ~ c2@3 ~@3", F: "b1@5 ~ a1@5 ~ g1@7 ~@3 d1 ~",
  G: "g1@6 ~@4 g1@2 c2@7 ~@3 c2@2", H: "d2@6 ~@4 d2 ~ c2@7 ~@3 c2 ~",
  I: "[d2@9 ~ g1 ~ c2@3 ~ c2@5 ~ b1@6 ~@2 a1@5 ~ g1@4 ~@2 g1@4 ~@2]/2", J: "g1@4 ~@2 g1@4 ~@2 c2@3 ~@3 c2@4 ~@2",
  K: "c2@4 ~@2 d2@4 ~@2 g1@3 ~@3 g1@4 ~@2", L: "g1 ~ g1 ~ c2 ~ c2 ~",
  M: "[c2@4 ~@2 c2@2 ~@2 d2 ~ g1@2 ~@2 g1 ~ g1@3 ~ e1@11 ~ e1@2 a1@3 ~ b1 ~ c2@2 ~@2 c#2 ~]/2",
  N: "d2@3 ~ e2 ~ f2@2 ~@2 f#2@2 g2@3 ~@3 d2@5 ~", O: "c#2@5 ~ c2@4 ~@2 b1@3 ~ d1 ~ d1 ~@3 d1 ~",
  P: "d1@2 ~@2 d1 ~ d1@2 ~@2 d1 ~ g1@7 ~@3 d1 ~", Q: "d1@2 ~@2 d1 ~ d1@2 ~@2 d1 ~ g1@4 ~@8",
  R: "[c2@4 ~@8 a#1@3 ~ a1@5 ~ g1@5 ~ d1 ~ e1@2 ~@2 f1 ~ g1@4 ~@8]/2",
  S: "[c2@4 ~@8 a#1@3 ~ a1@4 ~@2 g1@5 ~ g1@2 f#1@3 ~ f1 ~ e1@4 ~@2 e1@4 ~@2]/2", T: "e1@2 ~ e1@2 ~ a1@2 ~ a1@2 ~",
  U: "a1@4 ~@2 a1@4 ~@2 d2@3 ~@3 d2@4 ~@2", V: "d2@2 ~ d2@2 ~ g1@2 ~ g1@2 ~",
  W: "g1@3 ~ g1 ~ f#1@3 ~ f1 ~ e1@4 ~@2 e1@4 ~@2", X: "e1@4 ~@2 e1@4 ~@2 a1@3 ~@3 a1@4 ~@2",
  Y: "a1@4 ~@2 a1@3 ~@3 d2@4 ~@2 d2@4 ~@2", Z: "d2@4 ~@2 d2@3 ~@3 g1@4 ~@8",
  AA: "[c2@5 ~@7 d2@3 ~ a#1@5 ~ g1@10 ~@4 g1@4 ~@8]/2",
  AB: "[c2@5 ~@7 d2@3 ~ a#1@5 ~ g1@5 ~ e1@2 f1@2 ~@2 f#1 ~ g1@4 ~@2 g1@4 ~@2]/2", AC: "g1@2 ~ g1@2 ~ c2@2 ~ c2@2 ~",
  AD: "d2@2 ~ d2@2 ~ c2@2 ~ c2@2 ~", AE: "d2@4 ~@2 d2@4 g1 ~ c2@5 ~ c2@3 ~@3", AF: "b1@5 ~ a1@5 ~ g1@4 ~@2 g1@4 ~@2",
  AG: "[d2@4 ~@2 d2@4 ~@2 d2@2 ~@2 a#1@3 ~@3 g1@14 g1 ~@11]/2", AH: "~@21 c#1@2 ~",
  AI: "d1@3 d#1@3 e1@3 f1@3 g1@7 ~@3 g1 ~", AJ: "g1@9 ~ d2@2 d#2@11 ~", AK: "d2@9 ~ d2@2 d#2@8 ~@2 d#2@2",
  AL: "d2@23 ~", AM: "~@3 a#1", AN: "a1@6 g#1@6 g1@6 ~@5 g2", AO: "g2!14 ~ g2 ~@4 g2@2 ~@2",
})).s("gm_acoustic_bass").gain(0.33)

// bass · acoustic bass · "ACOU BASS" · soft notes
const bass_soft = note("<~@14 A ~@15 A ~@15 A ~@26 B C@2 ~@6 D E F>".pickRestart({
  A: "~@9 c2 ~@14", B: "~@13 g1!11", C: "g1!24", D: "~@18 g1!3 [g1,g2]!2 g1",
  E: "g1!14 [g1,g2] g1 [g1,g2]!4 g1!4, ~@11 g2", F: "g1 ~@11",
})).s("gm_acoustic_bass").gain(0.1)

// chords · electric guitar jazz · "JAZZ GTR"
const electric_guitar_jazz = note(`<
  ~@2 A B C D@2 B C E@2 F G H I@2 J K L B C D@2 B C E@2 F G H I@2 J K M N O P Q N O P Q R S R T@2 J K U V@2 W@2 X Y Z AA
  AB AC AD V@2 AE@2 B C D@2 B C AF@2 ~@3 AG@2 AH AI ~ AJ@2 ~
>`.pickRestart({
  A: "~@12 [d3,f3,b3]@2 ~@4 [d3,f3,b3] ~@5", B: "[d3,g3,b3]@2 ~@4 [d3,f3,b3] ~@5 [e3,a#3,c4] ~@5 [e3,a#3,c4] ~@5",
  C: "[f#3,c4,d4]@2 ~@4 [f#3,c4,d4]@2 ~@4 [e3,a#3,c4] ~@5 [e3,a#3,c4] ~@5", // D7 C7
  D: "[[f#3,c4,d4]@2 ~@4 [f#3,c4,d4]@2 ~@4 g3@4 ~@2 g3@4 [d3,f3,b3]@8 ~@6 [d3,f3,b3]@2 ~@4 [d3,f3,b3] ~@5, ~@10 e3@11 ~@27, ~@8 c4@3 ~@13]/2", // D7 Bdim
  E: "[[f#3,c4,d4] ~@2 [f#3,c4,d4] ~@2 g3@2 ~ g3@2 [d3,f3,b3]@4 ~@3 [d3,f3,b3] ~@2 [d3,f3,b3] ~@2, ~@10 e3@11 ~@27, ~@8 c4@3 ~@13]/2", // D7 Bdim
  F: "[d3,g3,b3] ~@2 [d3,f3,b3] ~@2 [e3,a#3,c4] ~@2 [e3,a#3,c4] ~@2", // G Bdim C7
  G: "[e3,a#3,c4] ~@2 [e3,a#3,c4] ~@2 [d3,f3,b3] ~@2 [d3,f3,b3] ~@2", // C7 Bdim
  H: "[d3,g3,b3] ~@2 [d3,f3,b3] ~@2 [a#3,e4,g4]@2 ~ [e3,a#3,c4] ~@2", // G Bdim Edim C7
  I: "[[e3,a#3,c4]@2 ~@4 [e3,a#3,c4]@2 ~@4 [d3,f3,b3]@3 ~ [d3,f3,b3]@2 ~@4 [d3,g#3,b3]@11 ~@3 [e3,g3,c#4]@8 ~@4]/2", // C7 Bdim G#dim C#dim
  J: "[f#3,a3,d4]@2 ~@4 [f#3,a3,d4]@3 ~@3 [d3,f3,b3]@2 ~@10", K: "~@18 [f#3,c4,d4] ~@5",
  L: "[f#3,c4,d4] ~@5 [f#3,c4,d4] ~@5 [d3,f3,b3]@2 ~@4 [d3,f3,b3] ~@5", // D7 Bdim
  M: "[f#3,c4,d4] ~@5 [f#3,c4,d4] ~@5 [d3,f3,b3]@2 ~@4 [d3,f3,b3]@2 ~@4", // D7 Bdim
  N: "[d3,g3,b3]@2 ~@4 [d3,f3,b3]@2 ~@4 [c3,e3]@3 ~@3 [c3,e3,g3]@3 ~@3", // G Bdim C
  O: "[d3,f#3,a#3] ~ [f#3,c4,d4] ~ [c3,e3] ~ [c3,e3,g3] ~", // Daug D7 C
  P: "[d3,f#3,a#3]@3 ~@3 [d3,f#3,a3]@2 ~@4 [c3,e3]@3 ~@3 [c3,e3,g3]@3 ~@3", // Daug D C
  Q: "[d3,f3,b3] ~@2 [d3,f3] ~@2 [d3,f3,b3] ~@2 [d3,f3,b3] ~@2", // Bdim Dm Bdim
  R: "[d3,g3,b3]@2 ~@4 [d3,f3,b3]@2 ~@4 [c3,e3,g3]@3 ~@3 [c3,e3,a3]@3 ~@3", // G Bdim C Am
  S: "[c3,e3,g3]@3 ~@3 [c3,e3,a3]@3 ~@3 [d3,f3,b3]@2 ~@4 [d3,f3,b3]@2 ~@4", // C Am Bdim
  T: "[[c3,e3,g3]@3 ~@3 [c3,e3,a3]@3 ~@3 [d3,f3,b3]@3 ~ [d3,f3,b3]@2 ~@4 [d3,g#3,b3]@11 ~@3 [e3,g3,c#4]@8 ~@4]/2", // C Am Bdim G#dim C#dim
  U: "[f#3,c4,d4] ~@5 [f#3,c4,d4] ~@5 [d3,f3,b3]@3 ~@9", // D7 Bdim
  V: "[[c3,e3,g3,a#3]@3 ~@9 [f#3,c4,d4]@2 ~@2 [e3,a#3,c4]@6 [d3,g3,b3]@12 ~@2 [d3,f3,b3]@3 ~@9]/2", // C7 D7 C7 G Bdim
  W: "[[c3,e3,g3,a#3]@3 ~@9 [f#3,c4,d4]@2 ~@2 [e3,a#3,c4]@6 [d3,g3,b3]@5 ~ [d4,b4]@2 [c#4,a#4]@2 ~@2 [c4,a4]@2 [b3,d4,g#4]@2 ~@4 [b3,d4,g#4]@3 ~@3]/2", // C7 D7 C7 G F# F G#dim
  X: "[b3,d4,g#4]@2 ~@4 [b3,d4,g#4]@3 ~@3 [e3,g3,a3,c#4]@2 ~@4 [e3,g3,a3,c#4]@2 ~@4", // G#dim A7
  Y: "[e3,g3,a3,c#4] ~@2 [e3,g3,a3,c#4] ~@2 [d3,f#3,a3,c4] ~@2 [d3,f#3,a3,c4] ~@2", // A7 D7
  Z: "[d3,f#3,a3,c4] ~@2 [d3,f#3,a3,c4] ~@2 [d3,f3,g3,b3] ~@2 [d3,f3,g3,b3] ~@2", // D7 G7
  AA: "[d3,f3,g3,b3]@2 ~@2 [d4,b4]@2 [c#4,a#4]@2 ~@2 [c4,a4]@2 [b3,d4,g#4]@2 ~@4 [b3,d4,g#4]@3 ~@3", // G7 G F# F G#dim
  AB: "[b3,d4,g#4]@2 ~@4 [b3,d4,g#4]@3 ~@4 c#4@2 ~@4 c#4@2 ~@3, ~@6 [e3,g3,a3] ~@2 [e3,g3,a3] ~@2", // G#dim A7
  AC: "[e3,g3,a3] c#4@2 ~@4 c#4@2 ~@4 c4@2 ~@4 c4@2 ~@3, ~@3 [e3,g3,a3] ~@2 [d3,f#3,a3] ~@2 [d3,f#3,a3] ~@2", // A7 D
  AD: "~ c4 ~@5 c4@2 ~@3 [d3,f3,b3]@3 ~@9, [d3,f#3,a3] ~@2 [d3,f#3,a3] ~@8", // Bdim D
  AE: "[[c3,e3,g3,a#3]@3 ~@9 [f#3,c4,d4]@2 ~@2 [e3,a#3,c4]@6 [d3,g3,b3]@12 ~@2 [d3,f3,b3]@2 ~@4 [d3,f3,b3] ~@5]/2", // C7 D7 C7 G Bdim
  AF: "[[f#3,c4,d4]@2 ~@4 [f#3,c4,d4]@2 ~@4 [d4,f#4,c5]@2 ~@2 [e4,a#4,c5]@4 ~@2 [d4,g4,b4]@15 ~@11]/2", // D7 C7 G
  AG: "[~@13 [f3,b3]@5 [d3,f3,b3] ~@3 [d3,f3,b3]@8 [d3,f3,b3]@3 ~ [d3,f3,b3] ~ [c#3,g3,a#3] ~@3 [c#3,g3,a#3] ~ [c#3,g3,a#3] ~ [c#3,g3,a#3] ~ [c#3,g3,a#3] ~, ~@12 d3@5 ~@31]/2", // Fdim Bdim Gdim
  AH: "[f#3,a3,c4] ~ [f#3,a3,c4] ~ [f#3,a3,c4] ~ [f#3,c4]@4 [f#3,c4] ~ [g3,a#3,c#4] ~@3 [g3,a#3,c#4] ~ [g3,a#3,c#4]@3 ~ [g3,a#3,c#4] ~, ~ a3 ~@2", // F#dim Gdim
  AI: "~ f#4@2 ~@3, f#3 ~@2, ~ a3@9 ~@14, ~ c4@4 ~@7, ~@3 d4@8 ~@13",
  AJ: "[~@14 [g4,b4]@3 g5 d5 ~@6 [f4,f#4,g4] g4 [d4,g4] g4@8 ~@12, ~@13 [d4,f4]@10 ~@25, ~@5 b4@2 ~@5]/2", // G G5 Dm
})).s("gm_electric_guitar_jazz").gain(0.18).pan(0.9)

// other · rock organ · "ORGAN 3"
const rock_organ = note(`<
  ~@6 A@2 B C@2 D E F ~@8 A@2 B C@2 D E F ~@4 G@2 H I@3 J K@2 L M N O@3 ~@14 P Q@2 ~@3 R@2 B S@4 T U V W X Y Z@2 ~
>`.pickRestart({
  A: "[~@4 d4@2 e4@3 ~@3 g4@22 g4@2 e4@4 g4@2 ~@6]/2", B: "~@5 g4 e4@2 g4 ~@3",
  C: "[~@12 g4@2 ~@2 g4@4 ~ f#4 g4@15 ~@3 g4@2 e4@4 d4@2, ~@12 f#4 ~@3 f#4 ~@23 f#4 ~@7]/2", D: "g4@6 e4@4 d4 ~@13",
  E: "~@8 g4 e4@2 d4", F: "g4@6 e4@3 ~ d4 ~@13, f#4 ~@23",
  G: "[~@12 b4@4 d5@2 b4@4 d4@11 ~ d4@2 d#4 e4@3 g4@2 a4@3 g4 ~@2, ~@12 a#4 ~@35]/2",
  H: "a#4@4 a4@5 ~ d4 ~ [d4,d#4] ~@3 g4@2 a4@4 g4 ~, ~@3 e4 ~@2", // D#maj7
  I: "[a#4@4 a4@2 g4@4 e4@2 g4@3 ~ g4@3 ~@3 e4@5 ~ d4@8 a#4 b4@3 d5@2 b4@3 ~ d4@11 ~ d4@2 e4@4 g4@2 a4@3 ~ g4 ~, ~@60 d#4 ~@11]/3",
  J: "a#4@3 ~ a4@3 ~@3 d4@2 [d4,d#4] ~@3 g4@2 a4@3 ~ g4 ~, ~@3 e4 ~@2", // D#maj7
  K: "[a#4@4 a4@2 g4@4 e4@2 g4@3 ~ g4@5 ~ g4@8 e4 ~ g4 ~ a4 ~ a#4@2 a4@2 g4@2 e4@2 g4 ~ a4 ~]/2",
  L: "a#4@2 a4@2 a#4@2 a4@2 g4@2 e4@2 g4@4 ~@2 a4@5 ~, ~@18 g#4 ~@5",
  M: "g4@4 ~@2 a4@3 ~@3 b4@3 ~ d5@5 ~ e5 ~, ~@6 g#4 ~@5 a#4 ~@11", N: "[a4,a#4] b4@2 a4 g4@2 a4@3 ~ g4 ~ g4@11 ~",
  O: "[d#5 e5 ~@2 d5 ~ a#4@2 ~@2 a4 ~@11 g5@41 ~@9, ~@6 g4@25 ~@5, ~@22 f#5 ~@49]/3", P: "~@6 b4 d5 b4 d4 d#4 e4",
  Q: "[g4@2 e4@2 g4@2 e4@2 g4@2 ~@2 a#4@4 a4@6 g4@11 ~@15]/2", R: "[~@4 d4@2 e4@3 ~ g4@18 ~@6 g4@2 e4@4 g4@2 ~@6]/2",
  S: "[~@12 g5@3 ~ a#4@4 ~@2 g4@67 ~ [b3,c4,c#4,d4,d#4] ~@5, ~@12 f#5 ~@83]/4", T: "~@7 [d4,d5]",
  U: "[d#4,d#5] [e4,e5] [f4,f5] [f#4,f#5] g4@4", V: "~ [g4,a#4]", W: "[f#4,a4] [g4,a#4]", X: "[f#4,a4]@11 ~",
  Y: "~@9 d5 g5 d5", Z: "[c#5 g5 c#5 c5 g5 c5 [g4,g5]@18, ~@12 f#5 ~@35]/2",
})).s("gm_rock_organ").gain(0.36)

// other · rock organ · "ORGAN 3" · soft notes
const rock_organ_soft = note("<~@6 A B@2 ~@13 A B@2 ~@19 C ~@19 D ~@10 E ~@9>".pickRestart({
  A: "~@9 d4 ~@14", B: "~@18 e4 ~@5", C: "~@16 e5 ~@7", D: "~@5 a4 ~@6",
  E: "~@18 a#3 [e3,f3] [a#2,c#3,d#3] [e2,g#2,a#2] [c2,d2,e2,f#2] d#2, ~@9 [g3,g#3,a3] [g2,a2,b2,c3] ~, ~@19 [d3,f#3]@2 f2@2 ~", // Fmaj7 D#7 A#m7b5 D7 Cmaj7 D
})).s("gm_rock_organ").gain(0.18)

// other · alto sax
const alto_sax = note(`<
  ~@6 A@2 B C@2 D E D ~@2 F G ~@4 A@2 B C@2 D E D ~@2 F G H@2 I J@3 K L@2 D M D ~@2 N G ~ O@2 P@3 Q ~ R@2 S ~ T@2 ~@5
  U@2 B V@3 ~ W X Y Z AA AB AC ~@2
>`.pickRestart({
  A: "[~@4 d3@2 e3@3 ~ g2@2 g3@19 ~@3 d3@2 e3@3 ~ a2 ~ g3@5 ~, ~@6 d#3 ~@29 d#3 ~@11]/2",
  B: "~@10 d3@2 e3@3 ~ b2 ~ g3@5 ~, ~@12 d#3 ~@11",
  C: "[~@12 g3@2 ~@2 g3@3 ~@3 g3@14 ~@4 g3@2 e3@4 d3 ~, ~@12 f#3 ~@9 f3 ~@17 f#3 ~@7]/2", D: "g3@2 e3 ~@5",
  E: "~@16 g3@2 e3@4 d3 ~, ~@16 f#3 ~@7", F: "~@3 a#3, ~@18 a3 ~@5", G: "a3@2 g#3@2 g3 ~@3",
  H: "[~@12 b3@4 d4@2 b3@3 ~ d3@11 ~ d3@2 e3@4 g3@2 a3@3 ~ g3@2, ~@12 a#3 ~@35]/2",
  I: "a#3@3 ~ a3@6 d3 ~ e3@3 ~ g3@2 a3@3 ~ g3 ~, ~@4 a#3 ~@7 d#3 ~@11",
  J: "[a#3@3 ~ a3@2 g3@4 e3@2 g3@3 ~ g3@5 ~ e3@5 ~ d3@7 ~ b3@3 ~ d4@2 b3@3 ~ d3@11 ~ d3@2 e3@4 g3@2 a3@4 g3 ~, ~@22 d#3 ~@13 a#3 ~@23 d#3 ~@11]/3",
  K: "a#3@4 a3@5 ~ d3 ~ e3@4 g3@2 a3@4 g3 ~, ~@4 a#3 ~@7 d#3 ~@11",
  L: "[a#3@4 a3@2 g3@4 e3@2 f#3 g3@2 ~ [f3,f#3] ~@5 [f3,f#3] ~@17 g3@2 e3@4 d3@2, ~@16 g3@4 ~@2 g3@10 ~@8 f#3 ~@7]/2", // F#maj7
  M: "~@8 g3 e3@2 d3, ~@16 f#3 ~@7", N: "~@19 a#3@5", O: "[~@12 d3@3 ~ c3@5 ~ g2@5 ~@21, ~@12 c#3 ~@35]/2",
  P: "[~@12 d3@3 ~ c3@4 ~@2 g2@6 g3@2 f#3@3 ~ f3 ~ e3@21 ~@15, ~@12 c#3 ~@59]/3", Q: "c#4@3 ~ e4@2 c#4@4 a3@11 ~@3",
  R: "[~@4 g3@2 f#3@3 ~ f3 ~ e3@23 ~@13]/2", S: "c#4@3 ~ e4@2 c#4@4 a3@14",
  T: "[~@12 e3@2 ~@2 d3@5 ~ g2@11 ~@15, ~@12 d#3 ~@35]/2",
  U: "[~@4 d3@2 e3@3 ~ g2 ~ g3@19 ~@3 d3@2 e3@3 ~ a2 ~ g3@5 ~, ~@6 d#3 ~@29 d#3 ~@11]/2",
  V: "[~@11 g3@19 ~@6, ~@22 f3 ~@49]/3", W: "~@7 d3", X: "d#3@3 e3@3 f3@3 f#3@3 g3@4 ~@6 e4@2", Y: "d4@10 ~@2 c#4@11 ~",
  Z: "c4@11 ~ c#4@11 ~", AA: "c4@3 ~", AB: "~@3 d3", AC: "c#3@3 c3@3 b2@5 ~",
})).s("gm_alto_sax").gain(0.4).pan(0.4)

// other · tenor sax
const tenor_sax = note(`<
  ~@10 A B A B ~@2 C D ~@4 E@2 F G@2 B A B ~@2 C D H@2 I J@3 K L@2 ~@5 M D ~ N@2 O@3 P ~ Q@2 R ~ S@2 ~@5 T@2 F U@3 ~ V W
  X Y Z AA AB ~@2
>`.pickRestart({
  A: "~@16 g3@2 e3@4 d3 ~, ~@16 f#3 ~@7", B: "g3@2 e3 ~@5", C: "~@3 a#3, ~@18 a3 ~@5", D: "a3@2 g#3@2 g3 ~@3",
  E: "[~@4 d3@2 e3@3 ~ g2@2 g3@19 ~@3 d3@2 e3@3 ~ a2 ~ g3@5 ~, ~@6 d#3 ~@29 d#3 ~@11]/2",
  F: "~@10 d3@2 e3@3 ~ b2 ~ g3@5 ~, ~@12 d#3 ~@11",
  G: "[~@12 g3@2 ~@2 g3@3 ~@3 g3@14 ~@4 g3@2 e3@4 d3 ~, ~@12 f#3 ~@9 f3 ~@17 f#3 ~@7]/2",
  H: "[~@12 b3@4 d4@2 b3@3 ~ d3@11 ~ d3@2 e3@4 g3@2 a3@3 ~ g3@2, ~@12 a#3 ~@35]/2",
  I: "a#3@3 ~ a3@6 d3 ~ e3@3 ~ g3@2 a3@3 ~ g3 ~, ~@4 a#3 ~@7 d#3 ~@11",
  J: "[a#3@3 ~ a3@2 g3@4 e3@2 g3@3 ~ g3@5 ~ e3@5 ~ d3@7 ~ b3@3 ~ d4@2 b3@3 ~ d3@11 ~ d3@2 e3@4 g3@2 a3@4 g3 ~, ~@22 d#3 ~@13 a#3 ~@23 d#3 ~@11]/3",
  K: "a#3@4 a3@5 ~ d3 ~ e3@4 g3@2 a3@4 g3 ~, ~@4 a#3 ~@7 d#3 ~@11",
  L: "[a#3@4 a3@2 g3@4 e3@2 f#3 g3@2 ~ [f3,f#3] ~@5 [f3,f#3] ~@25, ~@8 g3@2 ~ g3@5 ~@8]/2", M: "~@19 a#3@5",
  N: "[~@12 d3@3 ~ c3@5 ~ g2@5 ~@21, ~@12 c#3 ~@35]/2",
  O: "[~@12 d3@3 ~ c3@4 ~@2 g2@6 g3@2 f#3@3 ~ f3 ~ e3@21 ~@15, ~@12 c#3 ~@59]/3", P: "c#4@3 ~ e4@2 c#4@4 a3@11 ~@3",
  Q: "[~@4 g3@2 f#3@3 ~ f3 ~ e3@23 ~@13]/2", R: "c#4@3 ~ e4@2 c#4@4 a3@14",
  S: "[~@12 e3@2 ~@2 d3@5 ~ g2@11 ~@15, ~@12 d#3 ~@35]/2",
  T: "[~@4 d3@2 e3@3 ~ g2 ~ g3@19 ~@3 d3@2 e3@3 ~ a2 ~ g3@5 ~, ~@6 d#3 ~@29 d#3 ~@11]/2",
  U: "[~@11 g3@19 ~@6, ~@22 f3 ~@49]/3", V: "~@7 d3", W: "d#3@3 e3@3 f3@3 f#3@3 g3@4 ~@6 e4@2", X: "d4@10 ~@2 c#4@11 ~",
  Y: "c4@11 ~ c#4@11 ~", Z: "c4@3 ~", AA: "~@3 d3", AB: "c#3@3 c3@3 b2@5 ~",
})).s("gm_tenor_sax").gain(0.19).pan(0.7)

// other · drawbar organ · "ORGAN 1"
const drawbar_organ = note("<~@42 A B C D E@3 ~@36>".pickRestart({
  A: "~@6 e4 ~ g4 ~ a4 ~ a#4 ~ a4 ~ g4 ~ e4 ~ g4 ~ a4 ~",
  B: "a#4 ~ a4 ~ a#4 ~ a4 ~ g4 ~ e4 ~ g4@4 ~@2 a4@5 ~, ~@18 g#4 ~@5",
  C: "g4@4 ~@2 a4@3 ~@3 b4@3 ~ d5@5 ~ e5 ~, ~@6 g#4 ~@5 a#4 ~@3 e5 ~@7", D: "[a4,a#4] b4@2 a4 g4@2 a4@3 ~ g4 ~ g4@11 ~",
  E: "[d#5 e5 ~@2 d5 ~ a#4@2 ~@2 a4 ~@11 g5@41 ~@9, ~@6 g4@25 ~@5, ~@22 f#5 ~@49]/3",
})).s("gm_drawbar_organ").gain(0.23)

// chords · piano · "A.PIANO 2"
const piano = note(`<
  A B C D E F@2 D E G@2 H I J K@2 L M C N O P@2 D E G@2 H I J Q@2 R S T U V@2 W U V@2 X Y Z Y AA@2 AB AC AD AE@2 AF@2 AG
  AH AI AJ AG AH AK AL@2 AM@2 N O AN@2 Y V AO@2 ~@2 AP AQ AR@2 AS AT AU@2 AV
>`.pickRestart({
  A: "~@6 d4@2 e4@2 d4@2 g4@3 ~ g2@2 d4@2 g4@2 d4@2, ~@3 a#2",
  B: "c#4@2 g4@2 c#4@2 c4@2 g4@2 c4 ~ g2@4 [d3,f#3,a3,c4,d4] ~ [d3,f#3,a3,c4,d4]@2 ~@2 [d3,f#3,a3,c4,d4] ~, a2@3 g#2@3 b3 ~@5", // D7
  C: "[d3,a3,c4]@2 ~@2 [d3,f#3,a3,c4,d4] ~ [d3,f#3,a3,c4]@2 ~@2 [f#3,a3,c4,d4] ~ [b4,d5]@3 ~@9, [f#3,d4] ~@5 d4 ~@3 d3@2 ~@12", // D7 Bm D
  D: "~@10 f#4 ~ [e3,g3,a#3,e4]@3 ~ [g3,a#3,e4,g4]@3 ~@5, ~@10 d3@2 d#3 ~@11, ~@11 g4@2 ~@11", // Edim
  E: "[f#3,a#3,c4,a#4]@4 [f#3,a3,c4]@4 ~@2 f#4 ~ [e3,g3,a#3,e4]@3 ~ [g3,a#3,e4,g4]@3 ~@5, ~@4 a4@2 ~@4 d3@2 d#3 ~@11, ~@11 g4@2 ~@11", // Cm7b5 F#dim Edim
  F: "[[f#3,a#3,c4]@2 ~@2 [f#3,a3,c4,a4]@3 ~@5 [e3,a#3,g4]@3 ~ [e3,a#3,g4]@4 ~@2 [f3,b3,d4,g4]@4 ~@2 d2@2 e2@4 g2@2 ~@12, a#4 ~@6 [f3,b3] ~@4]/2", // Cm7b5 F#dim Edim G7 Fdim
  G: "[[f#3,a#3,c4]@2 ~@2 [f#3,a3,c4,a4]@3 ~@5 [e3,a#3,g4]@3 ~ [e3,a#3,g4]@4 ~@2 [f3,b3,d4,g4]@4 ~@2 [f3,b3]@4 ~@16, a#4 ~@11]/2", // Cm7b5 F#dim Edim G7 Fdim
  H: "~@10 c3@2 c2@4 [g3,a#3,c4,e4]@3 ~@5, ~@16 c3 ~@7", I: "~@11 g2", J: "[f3,g3,b3,d4]@3 ~ [f3,g3,b3,d4]@2 g2@2 ~@16",
  K: "[~@12 g2@4 g#2 a2@2 ~@3 [e3,g#3,d4]@6 e2@2 [e3,g#3,d4]@4 e2 ~ [e3,g3,c#4]@6 ~@6, ~@16 [f3,b3,d4]@5 ~ e2@4 ~@22]/2", // E7 C#dim Bdim
  L: "[f#3,c4,d4]@2 ~ [f#3,c4,d4]@2 ~ [f3,b3,d4]@2 g2 d4 g4 d4, ~@3 d3", // D7 Bdim
  M: "c#4@2 g4@2 c#4@2 c4@2 g4@2 c4 ~ b2@4 [d3,f#3,a3,c4,d4] ~ [d3,f#3,a3,c4,d4]@2 ~@2 [d3,f#3,a3,c4,d4] ~, c#3@3 c3@3 b3 ~@5", // D7
  N: "~@10 d3@2 [e3,g3,a#3,c4,e4]@3 ~ [e3,g3,a#3,c4,e4]@3 ~@5, ~@12 d#3 ~@11", // C7
  O: "[f#3,a#3,c4,d4]@3 ~ [f#3,a3,c4,d4]@4 ~@2 d3@2 [e3,g3,a#3,c4,e4]@3 ~ [e3,g3,a#3,c4,e4]@3 ~@5, ~@12 d#3 ~@11", // F#aug D7 C7
  P: "[[f#3,a#3,c4,d4]@3 ~ [f#3,a3,c4,d4]@3 ~@5 [e3,g3,a#3,c4]@3 ~ [e3,g3,a#3,c4]@4 ~@2 [f3,g3,b3,d4]@4 ~@2 d2@2 e2@4 g2@2 ~@12, ~@7 [f3,g3,b3,d4] ~@4]/2", // F#aug D7 C7 G7
  Q: "[~@12 g2@4 g#2 a2@2 ~@3 [e3,g#3,b3,d4]@6 e2@2 [e3,g#3,b3,d4]@4 e2 ~ [e3,g3,a3,c#4]@6 ~@6, ~@16 [f3,g3,b3,d4]@5 ~ e2@4 ~@22]/2", // E7 A7 G7
  R: "[f#3,a3,c4,d4]@2 ~ [f#3,a3,c4,d4]@2 ~ [f3,g3,b3,d4]@2 g2 d4 g4 d4, ~@3 a#2", // D7 G7
  S: "c#4@2 g4@2 c#4@2 c4@2 g4@2 c4 ~ g2@4 [f#3,a3,c4,d4,d5] ~ [f#3,a3,c4,d4,d5]@2 ~@2 [f#3,a3,c4,d4,d5] ~, a2@3 g#2@3 b3 ~@5", // D7
  T: "[a3,c4,d5]@2 ~@2 [f#3,a3,c4,d4,d5] ~ [f#3,a3,c4,d5]@2 ~@2 [f#3,a3,c4,d4] ~ [e4,a#4,c5]@2 [f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~, [f#3,d4] ~@5 d4 ~@3 d5@2 ~@12", // D7 C7 Bdim D
  U: "[e4,a#4,c5]@2 [f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [e4,c5] ~ [e4,a#4,c5] ~ [e4,a#4,c5] ~ [e4,a#4,c5] ~ [e4,a#4,c5] ~ [e4,a#4,c5] ~, ~@6 a4 ~@5", // C7 Bdim C C7
  V: "[d4,f#4,c5] ~ [d4,f#4,c5] ~ [d4,f#4,c5] ~ [d4,f#4,c5] ~ [d4,f#4,c5] ~ [d4,f#4,c5] ~ [e4,a#4,c5] ~ [e4,a#4,c5] ~ [e4,a#4,c5] ~ [e4,a#4,c5] ~ [e4,a#4,c5] ~ [e4,a#4,c5] ~", // D7 C7
  W: "[f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [e4,a#4,c5]@2 [f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~", // Bdim C7 Bdim
  X: "[f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~", // Bdim
  Y: "[f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [e4,a#4,c5] ~ [e4,a#4,c5] ~ [e4,a#4,c5] ~ [e4,a#4,c5] ~ [e4,a#4,c5] ~ [e4,a#4,c5] ~", // Bdim C7
  Z: "[e4,a#4,c5] ~ [e4,a#4,c5] ~ [e4,a#4,c5] ~ [e4,a#4,c5] ~ [e4,a#4,c5] ~ [e4,a#4,c5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~ [f4,b4,d5] ~", // C7 Bdim
  AA: "[[e4,a#4,c5] ~ [e4,a#4,c5] ~ [e4,a#4,c5] ~ [e4,a#4,c5] ~ [e4,a#4,c5] ~ [e4,a#4,c5] ~ [g2,g3]@2 [f4,b4] ~ [g2,g3]@2 [f4,b4] ~ [f4,b4] ~ [g#4,b4,d5] ~ [g#4,b4,d5] ~ [g#4,b4,d5] ~ [g#4,b4,d5] ~ [g#4,b4,d5] ~ [g#4,b4,d5] ~ [g#4,b4,d5] ~ [e4,a#4,c5] ~ [e4,a#4,c5] ~ [b2,b3,e4,a#4,c5] ~ [e4,a#4,c5] ~ [e4,a#4,c5] ~ [c#3,c#4,e4,a#4,c5] ~, ~@12 [f4,b4] ~@3 [f4,b4] ~@5 [e2,e3]@10 ~@2 e2@2 [a2,a3]@2 ~@4 [c3,c4]@2 ~@4]/2", // C7 G Fdim G Fdim G#dim C7 A#dim …
  AB: "[f#4,a4,c5] ~ [f#4,a4,c5] ~ [e3,e4,f#4,a4,c5] ~ [f3,f4,f#4,a4,c5] ~ [f#4,a4,c5] ~ [f#3,f#4,a4,c5] ~ [f3,g3,b3,d4]@4 g2@2 [d4,d5]@2 [g4,g5]@2 [d4,d5]@2, [d3,d4] ~@8 a#2@3", // F#dim F#m7b5 F F#dim G7 D G D
  AC: "[c#4,c#5]@2 [g4,g5]@2 [c#4,c#5]@2 [c4,c5]@2 [g4,g5]@2 [c4,c5] ~ g2@4 [f#3,a3,c4,d4,d5] ~ [f#3,a3,c4,d4,d5]@2 ~@2 [f#3,a3,c4,d4,d5] ~, a2@3 g#2@3 b3 ~@5", // C# G C# C G C D7
  AD: "[a3,c4,d5]@2 ~@2 [f#3,a3,c4,d4,d5] ~ [f#3,a3,c4,d5]@2 ~@2 [f#3,a3,c4,d4] ~ [f4,b4,d5]@2 ~@10, [f#3,d4] ~@5 d4 ~@3 d5@2 ~@12", // D7 Bdim D
  AE: "[[e4,g4,a#4]@2 ~@10 [f#4,c5,d5]@2 ~@2 [e4,a#4,c5]@4 ~@2 [f4,b4,d5]@11 ~@3 [f4,b4,d5]@2 ~@10]/2", // Edim D7 C7 Bdim
  AF: "[[e4,g4,a#4]@2 ~@10 [f#4,c5,d5]@2 ~@2 [e4,a#4,c5]@4 ~@2 [f4,b4,d5]@6 [b2,b3,d4]@2 [a#2,a#3,c#4]@2 ~@2 [a2,a3,c4] ~ [e2,d4,g#4,b4]@2 ~@2 e2@2 [e3,d4,g#4,b4]@2 ~@4]/2", // Edim D7 C7 Bdim Bm A#m Am E7
// … 77 more lines