Strudelify
Everybody's Somebody's Fool cover art

1963

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

// bass · acoustic bass · "ACOU BASS"
const bass = note(`<
  ~ A B C@2 D E A@2 F G C H D E A@3 I C J F K L M A B H@2 D E F@3 I C@2 F N O P Q R S T U V Q@3 W S@2 X Y Z AA Q AB AC T
  U V Q@3 AD S@2 Q AE AF AG AH AI D E AJ AG AH AK AH AL D@2 AM AN AO AP AH AL AQ AR AS AT AH AU AH AL AQ AV AH AW AX AY
  AZ E BA BB ~
>`.pickRestart({
  A: "f#1@5 ~@3 a#1@4 c#2@4", 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@3 ~ c#2@3 ~", G: "f#1@6 ~@2 g#1@3 ~ a#1@3 ~",
  H: "b1@6 ~@2 d#2@3 ~ f#2@3 ~", I: "f#1 ~@3 f#1@4 g#1@4 a#1@4", J: "b1@5 ~@3 d#2@4 f#2@3 ~",
  K: "c#2@6 ~@2 g#1@3 ~ c#2@4", L: "f#1@5 ~@3 b1@6 ~@2", M: "f#1@5 ~@11", N: "g#1@8 c#2@7 ~", O: "f#1@3 ~ a#1@2 c#2@2",
  P: "d1 ~ d1@2 e1@2 f#1@2", Q: "g1@5 ~@3 b1@4 d2@4", R: "g1 ~@3 g1@4 a1@4 b1@3 ~", S: "c2@3 ~ e2@2 g2@2",
  T: "c2@5 ~@3 e2@4 g2@2 ~@2", U: "d2@3 ~ f#2@2 a2@2", V: "d2@5 ~@3 f#2@4 d2@4", W: "g1@8 a1@3 ~ b1@2 ~@2",
  X: "g1@5 ~@3 b1@3 ~ g1@4", Y: "d2@3 ~ c2 ~ b1 ~", Z: "g1 c2", AA: "g1@5 ~@11", AB: "g1@4 ~@4 a1@4 b1@3 ~",
  AC: "c2@5 ~@3 e2@4 g2@4", AD: "g1 ~@3 g1@4 a1@4 b1@4", AE: "a1@7 ~ d2@4 f#1@4", AF: "g1@6 ~@2 b1@4 d2@3 ~",
  AG: "d#1 ~@3 d#1@4 f1@4 g1@4", AH: "g#1@3 ~ c2@2 d#2@2", AI: "g#1@7 ~ c2@4 d#2@3 ~", AJ: "d#1 ~ g1 a#1",
  AK: "g#1 f2 d#2 c2", AL: "g#1 ~@3 g#1@4 a#1@4 c2@4", AM: "g#1@3 ~ c2@2 g#1@2", AN: "d#2@4 d#1@4 f1@2 ~@2 g1@3 ~",
  AO: "g#1@6 ~@2 c#2@7 ~", AP: "g#1@5 ~@11", AQ: "c#2@3 ~ f2@2 g#2@2", AR: "c#2@6 ~@2 f2@3 ~ c#2@3 ~",
  AS: "d#2@6 ~@2 g1@3 ~ a#1@3 ~", AT: "d#1@7 ~ g1@3 ~ a#1@3 ~", AU: "f2 d#2 c2 d#2", AV: "c#2@5 ~@3 f2@4 g#2@4",
  AW: "g#1@4 f2@3 ~ d#2@4 c2@3 ~", AX: "d#2 d#1 g1 d#2", AY: "a#1@7 ~ d#2@7 ~", AZ: "g#1@5 ~@3 c2@3 ~ d#2@3 ~",
  BA: "g#1@8 d#1@3 ~ f1@3 ~", BB: "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@2 B C D E A@3 F C@2 D E A G A F C@2 H I J K A F L C D@2 A G A M C@2 H N O P Q R S T U V Q W Q X S T X Y Z AA Q AB
  S@2 U V Q W Q R S AC Q AD Q AE AF AG D@2 AH AI AF AJ AF AG D@2 AF AK AL AM AF AG AN D AH AO AF@3 AP AQ D AF AR AS AT
  AF AU AV AW ~
>`.pickRestart({
  A: "f#4@4 ~@3 f#4 a#4@4 c#5@4", B: "b4@3 ~@4 b4 d#5@4 f#5@3 ~", C: "b4@4 ~@3 b4 d#5@4 f#5@3 ~",
  D: "c#5@4 ~@3 c#5 f5@4 g#5@3 ~", E: "c#5@4 ~@3 c#5 f5@4 c#5@2 ~@2", F: "f#4@4 ~@3 f#4 g#4@3 ~ a#4@3 ~",
  G: "f#4@4 ~@3 f#4 d#5@2 ~ c#5 a#4@3 ~", H: "f#4@4 ~@3 f#4 a#4@3 ~ c#5@2 ~@2", I: "c#5@5 ~@2 c#5 f5@3 ~ g#5@2 ~@2",
  J: "f#4@4 ~@3 f#4 b4@4 ~@3 b4", K: "f#4 ~@7", L: "b4@5 ~@2 b4 d#5@3 ~ f#5@4", M: "f#4 ~@3 f#4@3 ~ g#4@2 ~@2 a#4 ~@3",
  N: "g#4@4 ~@3 g#4 d#5@3 ~ c#5@3 ~", O: "f#4@4 ~@3 f#4 a#4@3 ~ c#5@3 ~", P: "d4@3 ~@4 d4 f#4@3 ~ a4@2 ~@2",
  Q: "g4@4 ~@3 g4 b4@4 d5@4", R: "g4@4 ~@3 g4 a4@3 ~ b4@2 ~@2", S: "c5@4 ~@3 c5 e5@4 g5@4",
  T: "c5@4 ~@4 e5@4 g5@3 ~, ~@7 c5@2 ~@7", U: "d5@4 ~@3 d5 f#5@3 ~ a5@4", V: "d5@3 ~@4 d5 f#5@4 a5@2 ~@2",
  W: "g4@4 ~@3 g4 e5@2 ~ d5 b4@4", X: "g4@4 ~@3 g4 b4@3 ~ d5@3 ~", Y: "~@7 a4 d5@4 a4@3 ~",
  Z: "g4@4 ~@3 g4 c5@4 ~@3 c5, ~@8 d5 ~@7", AA: "g4@5 ~@11", AB: "g4 ~@3 g4@4 a4@4 b4@2 ~@2",
  AC: "c5@2 ~@2 e5@2 g5 ~, ~@7 c5@2 ~@7", AD: "a4@5 ~@2 a4 e5@3 ~ d5@3 ~", AE: "d#4@4 ~@3 d#4 g4@3 ~ a#4@4",
  AF: "g#4@4 ~@3 g#4 c5@4 d#5@3 ~", AG: "g#4@3 ~@4 g#4 a#4@3 ~ c5@3 ~", AH: "d#5@4 ~@3 d#5 g5@4 a#5@4",
  AI: "d#5@3 ~@5 g5@3 ~ a#5@2 ~@2, ~@7 d#5@2 ~@7", AJ: "g#4@4 ~@3 g#4 f5@2 ~ d#5 c5@4",
  AK: "a#4@5 ~@2 a#4 c#5@3 ~ d#5@3 ~", AL: "g#4@4 ~@3 g#4 c#5@4 ~@3 c#5", AM: "g#4 ~",
  AN: "c#5@2 ~ c#5@3 ~ c#5 f5@4 g#5@4", AO: "d#5@4 ~@3 d#5 a#4@3 ~ d#5@4", AP: "g#4@6 ~@2 a#4@2 ~@2 c5@3 ~",
  AQ: "c#5!2 ~@5 c#5 f5@4 g#5@4", AR: "f5@4 ~@4 d#5@3 ~ g#4@3 ~, ~@7 c5@2 ~@7", AS: "a#4@3 ~@4 a#4 d#5@6 ~@2",
  AT: "a#4@3 ~@5 d#5@4 a#4@3 ~, ~@7 a#4@2 ~@7", AU: "c#5@3 ~@4 c#5 g#4@4 c#5@4",
  AV: "g#4@3 ~@4 g#4 f5@2 ~@2 c5@4, ~@11 d#5@2 ~@3", AW: "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 AD AL@2 AM AN@4 AO@2 AP@4 AQ@3 AR AS AT AU@2 AV@8 AW@2 AX@2 AY AZ BA@3 BB ~
>`.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: "[~@17 b4@14 ~, [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: "~@2 [c#5,f#5,a#5]@13 ~", 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: "[[e5,g5]@7 ~ f#5@6 ~@2 [g5,b5]@15 ~, [a5,c6] ~, ~@8 d5@21 ~@3]/2",
  AM: "[d#5,a#5,d#6]@15 ~, g5@13 ~@3", AN: "[~@22 f#5@10 ~@16 a#5@6 g#5@9 ~, g#5@3 ~, [c5,d#5]@31 ~ [c#5,f5]@31 ~]/4",
  AO: "[d#5@23 c#5@8 ~, [g5,a#5]]/2", AP: "[d#5@3 f5 ~@2 f#5@2, c5@24 c6@7 ~, g#5@30 ~@2 [d#5,g#5]@31 ~]/4",
  AQ: "[g#5@16 a#5@6 ~@10 [d#5,c6]@15 ~, [f5,c#6]@5 ~@3, ~@22 g#5@25 ~]/3", AR: "[g5,a#5], c#5@7 ~",
  AS: "[d#5,g#5,c6]@7 ~ [f5,g#5,c#6]@7 ~", AT: "[d#5,g#5,c6]@3 ~@13", AU: "[~@11 f#5@5, [d#5,g#5,c6]@31 ~]/2",
  AV: "[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",
  AW: "[g#5@16 a#5@6 g#5@9 ~, [f5,c#6]@31 ~]/2", AX: "[d#5@16 f5@15 ~, [g#5,c6]]/2",
  AY: "~@7 c#6@7 f#6 ~, [g5,a#5,d#6]@13 ~@3", AZ: "[g#5,a#5,f6]@7 ~@2 d#6@6 ~, c#6@5 ~@3 [a#5,c#6,g6]@7 ~",
  BA: "[[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", BB: "[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@2 G@2 H@4 D@2 I@8 J@2 K@4 L@2 M@6 N O P@2 Q@4 L@2 R@6 S@2 T@2 U@3 V@7 W@2 X@2 Y Z@5 AA@2 AB@8 AC@3
  AD AE@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]@30 ~@2, 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]@30 ~@2, f#5@31 ~, [a#4,c#5]@2 ~]/6", F: "[[a#4,f#5]@7 ~ [g#4,b4,f5]@7 ~, c#5@29 ~@3]/2",
  G: "[c#5@2 d#5@2 [a#4,c#5] ~@3, f#5@5 ~@3, a#4@3 ~ b4@3 ~@9]/2", // A#m
  H: "[~@21 e5 e5@9 ~ b4@30 ~@2, f#5@61 ~@3, c#5@33 ~@31, a#4@31 d#5@28 ~@5]/4",
  I: "[~@55 e5@8 ~ [b4,d#5]@31 ~ [a#4,c#5]@13 ~@3 [g#4,d#5]@6 ~@2 [g#4,c#5,f5]@6 ~@2, f#5@59 ~@5, c#5@65 ~@63, a#4@63 ~@49 b4@14 ~@2]/8", // B A#m G#5 C#
  J: "[[a#4,c#5]@16 [a4,d5]@13 ~@3, f#5@15 ~]/2", K: "[~@18 f5@13 ~ c5@30 ~@2, g5@15 ~, d5@8 e5@7 ~, b4@15 ~@17]/4",
  L: "[[a4,c5,d5,f#5]@15 ~]/2", M: "[~@27 f5@5 [c5,e5]@15 ~, g5@47 ~, d5@65 ~@31, b4@21 ~@11]/6", N: "[b4,d5,g5]@15 ~",
  O: "[d5,f#5], c5@7 ~", P: "[[b4,d5]@4 e5@4 [b4,d5]@3 ~@5, g5@11 ~@5, ~@4 c5@3 ~@9]/2",
  Q: "[~@18 f5@13 [c5,e5]@30 ~@3, g5@15 ~, d5 ~, b4@15 ~@17]/4", // C
  R: "[~@46 f5@17 ~ e5@31 ~, g5@47 ~, d5@2 ~, b4@61 ~@2 c5@31 ~@2]/6",
  S: "[[b4,d5]@15 ~ [a4,c5]@6 ~@2 [c5,d5,f#5]@7 ~, g5@25 ~@7, ~@2 e5 ~]/2", // Bm Am D7
  T: "[d5@15 [a#4,d#5]@14 ~@3, g5@15 ~, b4@13 ~@19]/2", U: "[~@22 f#5@9 [c#5,f5]@17, g#5, d#5@2 ~, c5@29 ~@19]/3",
  V: "[~@16 [c#5,g5]@30 ~@53 f#5@13, ~@15 a#4@33 g#5@64, ~@15 d#5@30 ~@2 d#5@64 ~, ~@24 c5@31 ~]/7", // C#dim
  W: "[[c#5,f5]@31 ~]/2", X: "[[c5,g#5]@15 ~ [a#4,c#5]@16, d#5@15 ~, ~@8 g5@7 ~]/2",
  Y: "[c5,d#5,g#5]@3 ~ [c#5,f5,g#5]@3 ~", // G# C#
  Z: "[[c5,d#5,g#5]@6 ~@28 f#5@13 ~ [c#5,f5]@31 ~, ~@15 g#5@64 ~, ~@15 d#5@32 ~@33, ~@3 c5@6 ~@7]/5", // G# C#
  AA: "[[c#5,d#5,g5]@29 ~@3, a#4]/2", // D#7
  AB: "[~@46 f#5@17 [c#5,f5]@32 ~@17 f5@15 d#5, g#5, d#5@63 ~@65, c5@61 ~@34 [c5,d#5]@31 ~@2]/8", // C# Cm
  AC: "[[a#4,c#5]@13 ~@2 [g#4,a#4,c#5,f5]@6 ~@3 [g4,a#4,c#5,d#5]@5 ~@3 c5@16, [d#5,g5]@11 ~@20 [g#4,d#5]@15 ~@2]/3", // A#m A#m7 D#7 D# G#5
  AD: "[g#4,c#5,f5]@13 ~@3", AE: "[[c5,d#5,g#5]@29 ~@3, g#4@27 ~@5]/2",
})).s("gm_synth_strings_2").gain(0.3)

// chords · piano · "A.PIANO"
const piano = note(`<
// … 60 more lines

More by Francis Connie