Strudelify

Everybody's Somebody's Fool

Francis Connie

KeyF♯ majorTempo177 bpm
0:00/0:00
// Everybody's Somebody's Fool — Francis Connie
// 177 bpm, 4/4, key F# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 110 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(177/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@2 D E A F G H I J D K A F@2 L J M N O P Q F R I S T K U@2 V W X@2 Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM
  AN AO AP AQ AR AK AS AT AF AG AU AK@3 AV AM@2 AK AW AX AY AZ BA BB E BC AY AZ BD BE BF BB BG BH BI BJ BK BL BM BN BO
  BP BQ AZ BR BE BF BS BG BT BU BV BW BT BX BY BZ ~
>`.pickRestart({
  A: "f#1@3 ~ a#1@2 c#2@2", B: "f#1@5 ~@3 g#1@3 ~ a#1@4", C: "b1@3 ~ d#2@2 f#2@2", D: "c#2@5 ~@3 f2@4 g#2@3 ~",
  E: "c#2@5 ~@3 f2@4 c#2@4", F: "f#1@5 ~@3 a#1@4 c#2@4", G: "f#1@5 ~@3 a#1@4 c#2@3 ~", H: "f#1@6 ~@2 g#1@3 ~ a#1@3 ~",
  I: "b1@6 ~@2 d#2@3 ~ f#2@3 ~", J: "b1@5 ~@3 d#2@4 f#2@3 ~", K: "c#2@6 ~@2 f2@3 ~ c#2@3 ~",
  L: "f#1 ~@3 f#1@4 g#1@4 a#1@4", M: "b1@5 ~@3 d#2@3 ~ f#2@4", N: "f#1@6 ~@2 a#1@4 c#2@3 ~",
  O: "c#2@6 ~@2 g#1@3 ~ c#2@4", P: "f#1@5 ~@3 b1@6 ~@2", Q: "f#1@5 ~@11", R: "f#1@5 ~@3 g#1@3 ~ a#1@3 ~",
  S: "b1@5 ~@3 d#2@3 ~ f#2@3 ~", T: "c#2@6 ~@2 f2@3 ~ g#2@3 ~", U: "f#1@5 ~@3 a#1@3 ~ c#2@3 ~",
  V: "f#1@5 ~@3 a#1@3 ~ c#2@2 ~@2", W: "f#1 ~ f#1@2 g#1@2 a#1@2", X: "b1@6 ~@2 d#2@4 f#2@3 ~",
  Y: "f#1@6 ~@2 a#1@3 ~ c#2@3 ~", Z: "g#1@8 c#2@7 ~", AA: "f#1@7 ~ a#1@3 ~ c#2@3 ~", AB: "d1 ~ d1@2 e1@2 f#1@2",
  AC: "g1@5 ~@3 b1@3 ~ d2@4", AD: "g1 ~@3 g1@4 a1@4 b1@3 ~", AE: "c2@7 ~ e2@3 ~ g2@4", AF: "c2@5 ~@3 e2@4 g2@2 ~@2",
  AG: "d2@3 ~ f#2@2 a2@2", AH: "d2@5 ~@3 f#2@4 d2@4", AI: "g1@6 ~@2 b1@3 ~ d2@4", AJ: "g1@4 ~@4 b1@4 d2@3 ~",
  AK: "g1@5 ~@3 b1@4 d2@4", AL: "g1@8 a1@3 ~ b1@2 ~@2", AM: "c2@3 ~ e2@2 g2@2", AN: "c2@5 ~@3 e2@4 g2@4",
  AO: "g1@5 ~@3 b1@3 ~ g1@4", AP: "d2@3 ~ c2 ~ b1 ~", AQ: "g1 c2", AR: "g1@5 ~@11", AS: "g1@4 ~@4 a1@4 b1@3 ~",
  AT: "c2 ~ e2 g2", AU: "d2@6 ~@2 f#2@4 d2@3 ~", AV: "g1 ~@3 g1@4 a1@4 b1@4", AW: "a1@7 ~ d2@4 f#1@4",
  AX: "g1@6 ~@2 b1@4 d2@3 ~", AY: "d#1 ~@3 d#1@4 f1@4 g1@4", AZ: "g#1@3 ~ c2@2 d#2@2", BA: "g#1@7 ~ c2@4 d#2@3 ~",
  BB: "c#2@3 ~ f2@2 g#2@2", BC: "d#1 ~ g1 a#1", BD: "g#1 f2 d#2 c2", BE: "g#1@5 ~@3 c2@4 d#2@4",
  BF: "g#1 ~@3 g#1@4 a#1@4 c2@4", BG: "c#2@5 ~@3 f2@4 g#2@4", BH: "g#1@3 ~ c2@2 g#1@2",
  BI: "d#2@4 d#1@4 f1@2 ~@2 g1@3 ~", BJ: "g#1@6 ~@2 c#2@7 ~", BK: "g#1@5 ~@11", BL: "g#1@7 ~ c2@4 d#2@4",
  BM: "g#1 ~@3 g#1@4 a#1@3 ~ c2@4", BN: "c#2@7 ~ f2@4 g#2@4", BO: "c#2@5 ~@3 f2@4 c#2@3 ~",
  BP: "d#2@6 ~@2 g1@3 ~ a#1@3 ~", BQ: "d#1@7 ~ g1@3 ~ a#1@3 ~", BR: "f2 d#2 c2 d#2", BS: "c#2@7 ~ f2@3 ~ g#2@4",
  BT: "g#1@5 ~@3 c2@3 ~ d#2@3 ~", BU: "g#1@4 f2@3 ~ d#2@4 c2@3 ~", BV: "d#2 d#1 g1 d#2", BW: "a#1@7 ~ d#2@7 ~",
  BX: "c#2@6 ~@2 f2@4 c#2@3 ~", BY: "g#1@8 d#1@3 ~ f1@3 ~", BZ: "g#1@13 ~@3",
})).s("gm_acoustic_bass").gain(0.5)

// chords · banjo
const banjo = note(`<
  ~ A B C D E F A G A H I D J K A G A L M N O P Q R A S I D T U O V A O I N O W O X Y Z AA AB AC AD Y AE AF AG AH AB AI
  AJ AK AL Y AM AB AN AO AP AI AQ AE AR AS AT AI AU AE AV AW AX AY AZ BA BB AW BC AW BD AY BE BD BF BG BH BI BJ BK BE BL
  BM AW BC BD BN BO BE AW BP BQ BR BS BT BC ~@2
>`.pickRestart({
  A: "[a#3,c#4,f#4] ~@3 [a#3,c#4,f#4] ~@2 [a#3,c#4,f#4]!2 ~@3 [a#3,c#4,f#4] ~@2 [a#3,c#4,f#4]", // F#
  B: "[a#3,c#4,f#4] ~@3 [a#3,c#4,f#4] ~@2 [a#3,c#4,e4,f#4]!2 ~@2 [a#3,c#4,e4,f#4]!2 ~@2 [a#3,c#4,e4,f#4]", // F# F#7
  C: "[a#3,b3,d#4,f#4] ~@3 [b3,d#4,f#4] ~@2 [b3,d#4,f#4]!2 ~@3 [b3,d#4,f#4] ~@2 [b3,d#4,f#4]", // Bmaj7 B
  D: "[b3,d#4,f#4] ~@3 [b3,d#4,f#4] ~@2 [b3,d#4,f#4]!2 ~@2 [b3,d#4,f#4]!2 ~@3", // B
  E: "[g#3,c#4,f4] ~@3 [g#3,c#4,f4] ~@2 [g#3,c#4,f4]!2 ~@3 [g#3,c#4,f4] ~@2 [g#3,c#4,f4]", // C#
  F: "[g#3,c#4] ~@3 [g#3,c#4,f4] ~@2 [g#3,c#4,f4]!2 ~@2 [g#3,c#4,f4]!2 ~@2 [g#3,c#4,f4], f4 ~@7", // C#5 C#
  G: "[a#3,c#4,f#4] ~@3 [a#3,c#4,f#4] ~@2 [a#3,c#4,f#4]!2 ~@2 [a#3,c#4,f#4]!2 ~@2 [a#3,c#4,f#4]", // F#
  H: "[a#3,c#4,f#4] ~@3 [a#3,c#4,f#4] ~@2 [a#3,c#4,f#4]!2 ~@2 [a#3,c#4,f#4]!2 ~@2 [b3,d#4,f#4]", // F# B
  I: "[b3,d#4,f#4] ~@3 [b3,d#4,f#4] ~@2 [b3,d#4,f#4]!2 ~@3 [b3,d#4,f#4] ~@2 [b3,d#4,f#4]", // B
  J: "[g#3,b3,c#4,f4] ~@3 [g#3,b3,c#4,f4] ~@2 [g#3,b3,c#4,f4] [g#3,b3,c#4] f4 ~@2 [g#3,b3,c#4,f4] ~@2 [g#3,b3,c#4,f4]", // C#7
  K: "[g#3,b3,c#4,f4] ~@3 [g#3,b3,c#4,f4] ~@2 [g#3,b3,c#4,f4]!2 ~@2 [g#3,b3,c#4,f4]!2 ~@3", // C#7
  L: "[a#3,c#4,f#4] ~@3 [a#3,c#4,f#4] ~@2 [a#3,c#4,f#4]!2 ~@2 [a#3,c#4,f#4]!2 ~@3", // F#
  M: "[b3,c4,d#4,f#4] ~@3 [b3,d#4,f#4] ~@2 [b3,d#4,f#4]!2 ~@3 [b3,d#4,f#4] ~@2 [b3,d#4,f#4]", // B
  N: "[b3,d#4,f#4] ~@3 [b3,d#4,f#4] ~@2 [b3,d#4,f#4]!2 ~@2 [b3,d#4,f#4]!2 ~@2 [b3,d#4,f#4]", // B
  O: "[a#3,c#4,f#4] ~@3 [a#3,c#4,f#4] ~@2 [a#3,c#4,f#4]!2 ~@3 [a#3,c#4,f#4] ~@3", // F#
  P: "[g#3,c#4,f4] ~@3 [g#3,c#4,f4] ~@2 [g#3,c#4,f4]!2 ~@2 [g#3,c#4,f4]!2 ~@3", // C#
  Q: "[a#3,c#4,f#4] ~@3 [a#3,c#4,f#4] ~@3 [b3,d#4,f#4] ~@3 [b3,d#4,f#4] ~@3", R: "[a#3,c#4,f#4] ~@15",
  S: "[a#3,c#4,f#4] ~@3 [a#3,c#4,f#4] ~@2 [a#3,c#4,f#4] [a#3,c#4,d#4,f#4] ~@2 [a#3,c#4,e4,f#4]!2 ~@3", // F# D#m7 F#7
  T: "[g#3,b3,c#4,f4] ~@3 [g#3,b3,c#4,f4] ~@2 [g#3,b3,c#4,f4]!2 ~@3 [g#3,b3,c#4,f4] ~@2 [g#3,b3,c#4,f4]", // C#7
  U: "[g#3,b3,c#4,f4] ~@2 [g#3,b3,c#4,f4]!2 ~@2 [g#3,b3,c#4,f4]!2 ~@3 [g#3,b3,c#4,f4] ~@2 [g#3,b3,c#4]", // C#7
  V: "[a#3,c#4,f#4] ~@2 [a#3,c#4,f#4]!2 ~@2 [a#3,c#4,f#4]!2 ~@3 [a#3,c#4,f#4] ~@2 [a#3,c#4,f#4]", // F#
  W: "[g#3,b3,d#4,f#4] ~@2 [g#3,b3,d#4,f#4]!2 ~@3 [g#3,b3,c#4,f4] ~@2 [g#3,b3,c#4,f4]!2 ~@2 c#4", // G#m7 C#7
  X: "[a3,d4,f#4] ~@2 [a3,d4,f#4]!2 ~@2 [a3,d4,f#4]!2 ~@3 [a3,d4,f#4] ~@3", // D
  Y: "[b3,d4,g4] ~@3 [b3,d4,g4] ~@2 [b3,d4,g4]!2 ~@3 [b3,d4,g4] ~@2 [b3,d4,g4]", // G
  Z: "[b3,d4,f4,g4] ~@3 [b3,d4,f4,g4] ~@2 [b3,d4,f4,g4]!2 ~@3 [b3,d4,f4,g4] ~@3", // G7
  AA: "[c4,e4,g4] ~@3 [c4,e4,g4] ~@2 [c4,e4,g4]!2 ~@3 [c4,e4,g4] ~@2 [c4,e4,g4]", // C
  AB: "[c4,e4,g4] ~@3 [c4,e4,g4] ~@2 [c4,e4,g4]!2 ~@2 [c4,e4,g4]!2 ~@2 [c4,e4,g4]", // C
  AC: "[d4,f#4] a3 ~@2 [g3,a3,d4,f#4] ~@2 [a3,d4,f#4]!2 ~@3 [a3,c4,d4,f#4] ~@2 [a3,c4,d4,f#4]", // D D7
  AD: "[a3,c4,d4,f#4] ~@3 [a3,c4,d4,f#4] ~@2 [a3,c4,d4,f#4]!2 ~@2 [a3,c4,d4,f#4]!2 ~@2 [a3,c4,d4,f#4]", // D7
  AE: "[b3,d4,g4] ~@3 [b3,d4,g4] ~@2 [b3,d4,g4]!2 ~@2 [b3,d4,g4]!2 ~@2 [b3,d4,g4]", // G
  AF: "[b3,d4,g4] ~@3 [b3,d4,g4] ~@2 [b3,d4,g4]!2 ~@3 [b3,d4,g4] ~@2 [b3,d4,f4,g4]", // G G7
  AG: "[b3,d4,f4,g4] ~@3 [b3,d4,f4,g4] ~@2 [b3,d4,f4,g4]!2 ~@3 [b3,d4,f4,g4] ~@2 [b3,d4,f4,g4]", // G7
  AH: "[c4,e4,g4] d4 ~@2 [c4,e4,g4] ~@2 [c4,e4,g4]!2 ~@3 [c4,d4,e4,g4] ~@2 [c4,e4,g4]", // C
  AI: "[b3,d4,g4] ~@3 [b3,d4,g4] ~@2 [b3,d4,g4]!2 ~@3 [b3,d4,g4] ~@3", // G
  AJ: "[c4,d4,f#4] ~@3 [c4,d4,f#4] ~@2 [c4,d4,f#4]!2 ~@2 [c4,d4,f#4]!2 ~@3", // D7
  AK: "[a3,b3,d4,g4] ~@3 [b3,d4,g4] ~@2 [b3,d4] [c4,e4,g4] ~@3 [c4,e4,g4] ~@3", AL: "[b3,d4,g4] c4 ~@14",
  AM: "[b3,d4,f4,g4] ~@3 [b3,d4,f4,g4] ~@2 [b3,d4,f4,g4]!2 ~@3 [b3,d4,f4] g4 ~@2", // G7 Bdim
  AN: "[c4,e4,g4] ~@3 [c4,e4,g4] ~@2 [c4,e4,g4]!2 ~@3 [c4,e4,g4] ~@3", // C
  AO: "[a3,d4,f#4] ~@3 [c4,f#4] ~@2 [a3,c4,d4,f#4]!2 ~@3 [a3,c4,d4,f#4] ~@3", // D Cdim D7
  AP: "[a3,c4,d4,f#4] ~@3 [a3,c4,d4,f#4] ~@2 [a3,c4,d4,f#4]!2 ~@2 [a3,c4,d4,f#4]!2 ~@3", // D7
  AQ: "[b3,d4,g4] ~@2 [b3,d4,g4]!2 ~@3 [b3,d4,g4] ~@2 [b3,d4,g4]!2 ~@2 [b3,d4,g4]", // G
  AR: "[b3,d4,g4] ~@3 [b3,d4,f4,g4] ~@2 [b3,d4,f4,g4]!2 ~@2 [b3,d4,f4,g4]!2 ~@2 [b3,d4,f4,g4]", // G G7
  AS: "[c4,e4,f4,g4] ~@3 [c4,e4,g4] ~@2 [c4,e4,g4]!2 ~@3 [c4,e4,g4] ~@2 [c4,e4,g4]", // C
  AT: "[c4,e4,g4] ~@2 [c4,e4,g4]!2 ~@2 [c4,e4,g4]!2 ~@3 [c4,e4,g4] ~@2 [c4,e4,g4]", // C
  AU: "[a3,c4,e4,g4] ~@2 [a3,c4,e4,g4]!2 ~@3 [c4,d4,f#4] ~@2 [c4,d4,f#4]!2 ~@3", // Am7 D7
  AV: "[a#3,d#4,g4] ~@3 [a#3,d#4,g4] ~@2 [a#3,d#4,g4]!2 ~@2 [a#3,d#4,g4]!2 ~@2 a#3", // D#
  AW: "[c4,d#4,g#4] ~@3 [c4,d#4,g#4] ~@2 [c4,d#4,g#4]!2 ~@3 [c4,d#4,g#4] ~@2 [c4,d#4,g#4]", // G#
  AX: "[c4,d#4,f#4,g#4] ~@3 [c4,d#4,f#4,g#4] ~@2 [c4,d#4,f#4,g#4]!2 ~@2 [c4,d#4,f#4,g#4]!2 ~@3", // G#7
  AY: "[c#4,f4,g#4] ~@3 [c#4,f4,g#4] ~@2 [c#4,f4,g#4]!2 ~@3 [c#4,f4,g#4] ~@2 [c#4,f4,g#4]", // C#
  AZ: "[c#4,f4,g#4] ~@3 [c#4,f4,g#4] ~@2 [c#4,f4,g#4]!2 ~@2 [c#4,f4,g#4]!2 ~@2 [a#3,c#4,d#4,g4]", // C# D#7
  BA: "[a#3,c#4,d#4,g4] ~@3 [a#3,c#4,d#4,g4] ~@2 [a#3,c#4,d#4,g4]!2 ~@3 [a#3,c#4,d#4,g4] ~@2 [a#3,c#4,d#4,g4]", // D#7
  BB: "[a#3,c#4,d#4,g4] ~@3 [a#3,c#4,d#4,f#4] g4 ~@2 [a#3,c#4,d#4,g4] ~@2 a#3 [c#4,d#4,g4] ~@2 [a#3,c#4,d#4,g4]", // D#7 D#m7 D#7
  BC: "[c4,d#4,g#4] ~@3 [c4,d#4,g#4] ~@2 [c4,d#4,g#4]!2 ~@2 [c4,d#4,g#4]!2 ~@2 [c4,d#4,g#4]", // G#
  BD: "[c4,d#4,g#4] ~@3 [c4,d#4,g#4] ~@2 [c4,d#4,g#4]!2 ~@3 [c4,d#4,g#4] ~@3", // G#
  BE: "[c#4,f4,g#4] ~@3 [c#4,f4,g#4] ~@2 [c#4,f4,g#4]!2 ~@2 [c#4,f4,g#4]!2 ~@2 [c#4,f4,g#4]", // C#
  BF: "[a#3,c#4,d#4,g4] ~@3 [a#3,c#4,d#4,g4] ~@2 [a#3,c#4,d#4,g4]!2 ~@2 [a#3,c#4,d#4,g4]!2 ~@2 [a#3,c#4,d#4]", // D#7
  BG: "[c4,d#4,g#4] ~@3 [c4,d#4,g#4] ~@2 [c4,d#4,g#4] ~@3 [c#4,f4,g#4]!2 ~@2 [c#4,f4,g#4]", BH: "[c4,d#4,g#4] ~@15",
  BI: "[g#3,c4,d#4,g#4] ~@3 [g#3,c4,d#4,g#4] ~@2 [c4,d#4,g#4]!2 ~@3 [c4,d#4,g#4] ~@2 [c4,d#4,g#4]", // G#
  BJ: "[c4,d#4,f#4,g#4] ~@3 [c4,d#4,f#4,g#4] ~@2 [c4,d#4,f#4,g#4]!2 ~@2 [c4,d#4,f#4,g#4]!2 ~@2 f4", // G#7
  BK: "[g#3,c#4,e4,f4,g#4] ~@3 [g#3,c#4,f4,g#4] ~@2 [c#4,f4,g#4]!2 ~@3 [c#4,f4,g#4] ~@2 [c#4,f4,g#4]", // C#
  BL: "[a#3,c#4,d#4,g4] ~@3 [a#3,c#4,d#4,g4] ~@2 [a#3,c#4,d#4,g4]!2 ~@3 [c#4,d#4,g4] ~@2 [c#4,d#4,g4]", // D#7
  BM: "[c#4,d#4,g4] ~@3 [a#3,c#4,d#4,g4] ~@2 [a#3,c#4,d#4,g4]!2 ~@2 [a#3,c#4,d#4,g4]!2 ~@2 [a#3,c#4,d#4,g4]", // D#7
  BN: "[c4,d#4,f#4,g#4] ~@3 [c4,d#4,f#4,g#4] ~@2 [c4,d#4,f#4,g#4]!2 ~@3 [c4,d#4,f#4,g#4] ~@3", // G#7
  BO: "[g#3,c#4,f4,g#4] ~@3 [g#3,c#4,f4,g#4] ~@2 [g#3,c#4,f4,g#4]!2 ~@3 [c#4,f4,g#4] ~@2 [c#4,f4,g#4]", // C#
  BP: "[c4,d#4,g#4] ~@3 [c4,d#4,g#4] ~@2 [c4,d#4,f4,g#4]!2 ~@2 [c4,d#4,f4,g#4]!2 ~@3", // G# Fm7
  BQ: "[c#4,d#4,f#4,g4] ~@3 [c#4,d#4,g4] ~@2 [c#4,d#4,g4]!2 ~@3 [c#4,d#4,g4] ~@3", // D#7
  BR: "[a#3,c#4,f4] ~@2 [a#3,c#4,f4]!2 ~@3 [c#4,d#4,g4] ~@2 [c#4,d#4,g4] [c#4,g4] ~@3, ~@6 d#4 ~", // A#m D#7 C#dim
  BS: "[g#3,c4,d#4,g#4] ~@3 [g#3,c4,d#4,g#4] ~@2 [c4,d#4,g#4]!2 ~@2 [c4,d#4,g#4]!2 ~@3", // G#
  BT: "[b3,c#4,f4,g#4] ~@3 [b3,c#4,f4,g#4] ~@2 [b3,c#4,f4,g#4]!2 ~@2 [b3,c#4,f4,g#4]!2 ~@3", // C#7
})).s("gm_banjo").gain(0.3).pan(0.1)

// other · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note(`<
  ~ A B C D E F B@3 G H D I J B K L G M D N O P Q L R S T E U L V W X H D N Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM
  AN AO AP AQ AR AS AL AM AF AT AJ AI AJ AC AL AU AJ AV AW AX AY AZ BA BB BC BD AY BE BF BG BH BB AY BI BJ BK AY BG BL
  BB BC BM BN BO AY BP BQ I AY BR BS BT BU BV BW BX ~
>`.pickRestart({
  A: "f#4@5 ~@2 f#4 a#4@4 c#5@4", B: "f#4@4 ~@3 f#4 a#4@4 c#5@4", C: "b4@3 ~@4 b4 d#5@4 f#5@3 ~",
  D: "b4@4 ~@3 b4 d#5@4 f#5@3 ~", E: "c#5@4 ~@3 c#5 f5@4 g#5@4", F: "c#5@4 ~@3 c#5 f5@4 c#5@2 ~@2",
  G: "f#4@4 ~@3 f#4 g#4@3 ~ a#4@3 ~", H: "b4@5 ~@2 b4 d#5@4 f#5@3 ~", I: "c#5 ~ f5 g#5, ~@7 c#5@2 ~@7",
  J: "c#5@3 ~@4 c#5 f5@3 ~ c#5@3 ~", K: "f#4@4 ~@3 f#4 d#5@2 ~ c#5 a#4@3 ~", L: "f#4@4 ~@3 f#4 a#4@3 ~ c#5@3 ~",
  M: "b4@5 ~@2 b4 d#5@3 ~ f#5@4", N: "f#4@4 ~@3 f#4 a#4@3 ~ c#5@2 ~@2", O: "c#5@5 ~@2 c#5 f5@3 ~ g#5@2 ~@2",
  P: "f#4@4 ~@3 f#4 b4@4 ~@3 b4", Q: "f#4 ~@7", R: "f#4@4 ~@3 f#4 g#4@3 ~ a#4@2 ~@2", S: "b4@5 ~@2 b4 d#5@3 ~ f#5@3 ~",
  T: "b4@4 ~@3 b4 d#5@3 ~ f#5@3 ~", U: "c#5@4 ~@3 c#5 f5@4 g#5@2 ~@2", V: "f#4@3 ~@4 f#4 d#5@2 ~ c#5 a#4@3 ~",
  W: "f#4@4 ~@3 f#4 a#4@3 ~ c#5@4", X: "f#4 ~@3 f#4@3 ~ g#4@2 ~@2 a#4 ~@3", Y: "g#4@4 ~@3 g#4 d#5@3 ~ c#5@3 ~",
  Z: "f#4@4 ~@3 f#4 a#4@4 c#5@2 ~@2", AA: "d4@3 ~@4 d4 f#4@3 ~ a4@2 ~@2", AB: "g4 ~ b4 d5, ~@7 g4@2 ~@7",
  AC: "g4@4 ~@3 g4 a4@3 ~ b4@2 ~@2", AD: "c5@4 ~@3 c5 e5@3 ~ g5@4", AE: "c5@3 ~@5 e5@4 g5@4, ~@7 c5@2 ~@7",
  AF: "d5@4 ~@3 d5 f#5@3 ~ a5@4", AG: "d5@3 ~@4 d5 f#5@4 a5@2 ~@2", AH: "g4@4 ~@3 g4 b4@3 ~ d5@3 ~",
  AI: "g4@4 ~@3 g4 e5@2 ~ d5 b4@4", AJ: "g4@4 ~@3 g4 b4@4 d5@4", AK: "g4@5 ~@2 g4 b4@3 ~ d5@3 ~",
  AL: "c5@4 ~@3 c5 e5@4 g5@4", AM: "c5@4 ~@4 e5@4 g5@3 ~, ~@7 c5@2 ~@7", AN: "g4@4 ~@3 g4 b4@4 d5@2 ~@2",
  AO: "~@7 a4 d5@4 a4@3 ~", AP: "g4@4 ~@3 g4 c5@4 ~@3 c5, ~@8 d5 ~@7", AQ: "g4@5 ~@11", AR: "g4@4 ~@3 g4 b4@3 ~ d5@4",
  AS: "g4 ~@3 g4@4 a4@4 b4@2 ~@2", AT: "d5@3 ~@4 d5 f#5@3 ~ a5@2 ~@2", AU: "c5@2 ~@2 e5@2 g5 ~, ~@7 c5@2 ~@7",
  AV: "a4@5 ~@2 a4 e5@3 ~ d5@3 ~", AW: "g4@4 ~@3 g4 b4@4 d5@3 ~", AX: "d#4@4 ~@3 d#4 g4@3 ~ a#4@4",
  AY: "g#4@4 ~@3 g#4 c5@4 d#5@3 ~", AZ: "g#4@4 ~@3 g#4 a#4@3 ~ c5@3 ~", BA: "c#5@5 ~@2 c#5 f5@4 g#5@3 ~",
  BB: "c#5@4 ~@3 c#5 f5@4 g#5@3 ~", BC: "d#5@4 ~@3 d#5 g5@4 a#5@4", BD: "d#5@3 ~@5 g5@3 ~ a#5@2 ~@2, ~@7 d#5@2 ~@7",
  BE: "g#4@4 ~@3 g#4 f5@2 ~ d#5 c5@4", BF: "g#4@4 ~@3 g#4 c5@4 d#5@4", BG: "g#4@3 ~@4 g#4 a#4@3 ~ c5@3 ~",
  BH: "c#5@5 ~@2 c#5 f5@3 ~ g#5@4", BI: "a#4@5 ~@2 a#4 c#5@3 ~ d#5@3 ~", BJ: "g#4@4 ~@3 g#4 c#5@4 ~@3 c#5", BK: "g#4 ~",
  BL: "c#5@2 ~ c#5@3 ~ c#5 f5@4 g#5@4", BM: "d#5@4 ~@3 d#5 a#4@3 ~ d#5@4", BN: "g#4 ~ c5 d#5, ~@7 g#4@2 ~@7",
  BO: "g#4@4 ~@4 c5@3 ~ d#5@3 ~, ~@7 g#4@2 ~@7", BP: "g#4@6 ~@2 a#4@2 ~@2 c5@3 ~", BQ: "c#5!2 ~@5 c#5 f5@4 g#5@4",
  BR: "f5@4 ~@4 d#5@3 ~ g#4@3 ~, ~@7 c5@2 ~@7", BS: "a#4@3 ~@4 a#4 d#5@6 ~@2",
  BT: "a#4@3 ~@5 d#5@4 a#4@3 ~, ~@7 a#4@2 ~@7", BU: "g#4@3 ~@4 g#4 c5@4 d#5@3 ~", BV: "c#5@3 ~@4 c#5 g#4@4 c#5@4",
  BW: "g#4@3 ~@4 g#4 f5@2 ~@2 c5@4, ~@11 d#5@2 ~@3", BX: "g#4 ~@3",
})).s("gm_electric_guitar_clean").gain(0.29).pan(0.8)

// chords · drawbar organ · "ELEC ORGAN"
const drawbar_organ = note(`<
  A B C D@2 E F G@2 H@4 I@2 J@2 K@2 L M N O P Q R@2 S@2 T@2 U@4 V@2 W X Y@4 Z@2 AA@2 AB@4 AC@2 AD AE AF AG AH@2 AI AJ@7
  AK@2 AL AM@2 AN AO@4 AP@2 AQ@4 AR@3 AS AT AU AV@2 AW@8 AX@2 AY@2 AZ BA BB@3 BC ~
>`.pickRestart({
  A: "[g#5,b5,d#6,f#6]@3 ~ [b5,c#6,f6,g#6]@3 ~", // G#m7 C#7
  B: "[c#6,f#6,a#6]@3 ~ [a#5,c#6,f#6]@3 ~ [a#5,c#6,f#6]@2 ~@2 [f#5,c#6]@2 ~@2, ~@12 [a5,a#5] ~@3", // F# F#5 A#maj7
  C: "[a#5,c#6,f#6]@7 ~ [a#5,c#6,f6]@3 ~ [a#5,c#6,e6]@2 ~@2", // F# A#m A#dim
  D: "[[b5,d#6]@3 ~ [b5,d#6,g#6]@3 ~ [b5,d#6,f#6]@19 ~ [b5,d#6,f#6]@4]/2", // B G#m B
  E: "[c#6,f6] ~@3 [f6,g#6,d#7]@2 ~@2 [f6,g#6,c#7]@8, g#5@3 ~@13", F: "~@4 c#6@4 d#6@4 [b5,c#6,f6]@3 ~",
  G: "[[a#5,c#6,f#6]@29 ~@3]/2", H: "[c#5@24 e5@6 ~@2 d#5@31 ~, f#5@63 ~, a#5@30 ~@2 b4@29 ~@3]/4",
  I: "[~@8 b4@7 ~, [c#5,f5,g#5]@31 ~]/2", J: "[[a#4,c#5,f#5]@19 ~ [d#5,f#5,a#5]@3 ~ [c#5,f#5,a#5]@7 ~]/2",
  K: "[~@12 e5@3 ~, [a#4,c#5,f#5]@31 ~]/2", L: "[b4,d#5,f#5]@15 ~", M: "g#5@3 f#5@4 ~, [b4,d#5]@7 ~",
  N: "~ [c#5,f#5,a#5]@13 ~@2", O: "~@4 b5@3 ~, [c#5,g#5]@15 ~, f5@13 ~@3", P: "[c#5,f#5,a#5]@7 ~ [d#5,f#5,b5]@7 ~",
  Q: "[c#5,f#5,a#5] ~@3", R: "[~@20 e5@9 ~@3, [c#5,f#5,a#5]@15 ~]/2", S: "[f#5@22 g#5@6 f#5@3 ~, [d#5,b5]@15 ~]/2",
  T: "[~ b5, c#6, [f5,g#5]@15 ~]/2", U: "[c#5@16 d#5@6 ~@32 e5@9 ~, [f#5,a#5]@31 ~, ~@11 c#5@20 ~]/4",
  V: "[f#5@16 g#5@6 f#5@9 ~, [d#5,b5]@31 ~]/2", W: "[c#5,f#5,a#5]@11 ~@5",
  X: "[d#6,f#6]@3 ~ [c#6,f6]@3 ~, [g#5,b5]@15 ~", // D#m C# G#m
  Y: "[c#6@8 [a5,d6]@7 ~@13 f5@3 ~, f#5@15 ~ [g5,b5]@16, a#5@14 ~@2 d5@47 ~]/4", Z: "[g5@15 ~ a5@6 g5@9 ~, [c5,e5]]/2",
  AA: "[~ a4@7, f#5, d5@15 ~]/2", AB: "[[d5,g5]@15 ~ [e5,g5]@6 ~@32 f5@9 ~, b4, ~@22 d5@41 ~, ~@23 g5@40 ~]/4",
  AC: "[g5@6 a5@4 g5@5 ~, c5, e5@15 ~]/2", AD: "[d5,g5,b5]", AE: "[c5,d5,f#5,a5]@7 ~",
  AF: "[d5,g5]@7 ~ [a#4,c5,e5,g5]@7 ~, b4@5 ~@11", AG: "[b4,d5,g5]@3 ~@5", AH: "[~@16 f5@15 ~, [d5,g5,b5]@31 ~]/2",
  AI: "[e5,c6]@7 ~, g5, a5@7 ~@9", // C
  AJ: "[a5@6 g5@9 ~ a5@32 ~@12 e5@4 ~@40 f5@6 ~@2, c6@47 ~@65, e5@15 ~ d5@44 ~@4 d5@46 ~@2, ~@16 f#5@30 ~@2 [g5,b5]@63 ~]/7", // G
  AK: "[[e5,g5,c6]@27 ~ [e5,g5,c6]@3 ~]/2", AL: "[d5,g5,b5]@15 ~",
  AM: "[[e5,g5]@7 ~ f#5@6 ~@2 [g5,b5]@15 ~, [a5,c6] ~, ~@8 d5@21 ~@3]/2", AN: "[d#5,a#5,d#6]@15 ~, g5@13 ~@3",
  AO: "[~@22 f#5@10 ~@16 a#5@6 g#5@9 ~, g#5@3 ~, [c5,d#5]@31 ~ [c#5,f5]@31 ~]/4", AP: "[d#5@11 c#5@4 ~, [g5,a#5]]/2",
  AQ: "[d#5@3 f5 ~@2 f#5@2, c5@24 c6@7 ~, g#5@30 ~@2 [d#5,g#5]@31 ~]/4", // G#5
  AR: "[g#5@16 a#5@6 ~@10 [d#5,c6]@15 ~, [f5,c#6]@5 ~@3, ~@22 g#5@25 ~]/3", AS: "[g5,a#5], c#5@7 ~",
  AT: "[d#5,g#5,c6]@7 ~ [f5,g#5,c#6]@7 ~", AU: "[d#5,g#5,c6]@3 ~@13", AV: "[~@23 f#5@9, [d#5,g#5,c6]@31 ~]/2",
  AW: "[g#5@16 a#5@6 g#5@9 ~ a#5@31 ~ g#5@47 ~@5 f#5@11 ~, c#6@63 ~ c6@62 ~@2, f5@15 ~ d#5@47 ~, ~@32 g5@29 ~@53 g#5@12 ~@2]/8",
  AX: "[g#5@16 a#5@7 g#5@8 ~, [f5,c#6]@31 ~]/2", AY: "[d#5@8 f5@7 ~, [g#5,c6]]/2",
  AZ: "~@7 c#6@7 f#6 ~, [g5,a#5,d#6]@13 ~@3", BA: "[g#5,a#5,f6]@7 ~ [a#5,c#6,d#6,g6]@7 ~, c#6@5 ~@11",
  BB: "[[c6,d#6]@15 ~ [g#5,b5,d#6,f6]@15 ~ [d#6,g#6]@11 ~@5, g#6@31 g#5@17, ~@2 c6]/3", BC: "[g#3,g#4,c6,f6,a#6]",
})).s("gm_drawbar_organ").gain(0.35).pan(0.6)

// chords · synth strings 2 · "SYN STRING"
const synth_strings_2 = note(`<
  A B@6 C@6 D@2 E@6 F@4 G@4 D@2 H@7 I@3 J@4 K@8 L M N@2 O@4 P@2 Q@6 R@2 S@2 T@3 U@7 V@2 W@2 X Y@5 Z@2 AA@8 AB@3 AC AD@2
  ~
>`.pickRestart({
  A: "[g#4,d#5,f#5]@3 ~ [g#4,c#5,f5]@3 ~, b4@7 ~", // G#7 C#
  B: "[~@24 e5@6 ~@2 [b4,d#5]@30 ~@2 [g#4,c#5]@31 ~, f#5@63 ~ f5@29 ~@3, [a#4,c#5]@32 ~@31 b4@32 ~]/6", // B C#5 A#m
  C: "[~@48 e5@15 ~ [b4,d#5]@29 ~@3, f#5@31 ~, [a#4,c#5]@2 ~]/6", D: "[[g#4,b4,c#5,f5]@15 ~]/2",
  E: "[~@55 e5@8 ~ [b4,d#5]@31 ~, f#5@47 ~, [a#4,c#5]@2 ~]/6", // B A#m
  F: "[[a#4,f#5]@7 ~ [g#4,b4,f5]@7 ~@5 d#5@4 [a#4,c#5]@2 ~@6, c#5@29 ~@2 c#5@8 ~@25, ~@31 a#4@6 ~@3 b4@6 ~@18, ~@8 f#5@5 ~@3]/4", // D#m Fdim A#m
  G: "[~@21 e5 e5@9 b4@30 ~@3, f#5@61 ~@3, c#5@33 ~@31, a#4@31 d#5@28 ~@5]/4",
  H: "[~@54 e5@9 ~ d#5@32 [a#4,c#5]@13 ~@2 [g#4,d#5], f#5, c#5@65 ~@47, a#4@63 ~ b4@29 ~@19]/7", // A#m G#5
  I: "[~@8 [g#4,c#5,f5]@6 ~ [a#4,c#5]@16 ~ [a4,d5]@13 ~@3, b4@14 ~ f#5@30 ~@3]/3", // C# A#m D5
  J: "[~@18 f5@13 ~ c5@30 ~@2, g5@15 ~, d5@8 e5@7 ~, b4@15 ~@17]/4",
  K: "[[a4,c5,d5,f#5]@15 ~@28 f5@5 [c5,e5]@15 ~, ~@31 d5@65 ~@32, ~@16 g5@47 ~, ~@32 b4@63 ~@33]/8", // D7 C
// … 87 more lines

More by Francis Connie