Strudelify

Georgia on My Mind

Atkins Chet

KeyF majorTempo65 bpm
0:00/0:00
// Georgia on My Mind — Atkins Chet
// 65 bpm, 4/4, key F 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 65 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(65/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 · piano · "A.PIANO 1"
const piano = note(`<
  A B C@4 D E F G H I J K@2 L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG K@2 L M N O P AH AI AJ T AK V W X Y Z AA
  AB AC AL@2 AM AN AO AP AQ@2
>`.pickRestart({
  A: "a4@2 c5 a4 d5@2 c5 a4, [f3,a3,c4,f4] [e3,g3,c4,e4]", // F C
  B: "f4@2 g4 ~ [db3,ab3,b3,db4,eb4,f4]@4, [d3,f3,a3,c4] ~, d4@3 d4@3 ~@2", // Db7 Dm7
  C: "[f4@6 g4@3 d4@3 [d4,f4]@6 ~@6 [c4,d4]@6 ~@4 c5@2 ~@4 [bb4,d5]@2 ab4 a4 ~@2 bb3@2 ~@9 f2@3 ~@6 f3@2 ~@2 c4@2 e2@9 e2@3 ~@10 [g4,g5]@2, [c3,f3,a3,c4]@12 [b2,b3]@12 [g2,g3,bb3]@12 [c2,c3,g3,d4]@12 f2@9 ~@3 f2@12 [e3,g3,b3,e4]@11 ~ [a2,a3,db4,e4]@12, ~@12 a3@9 a3@9 d4@6 a4@6 c5@2 c4@4 a3@20 a3@16 ~@6 db2@6, ~@9 d4@3 f4@4 f4@2 f4@4 f4@4 f4@10 ~@6 g4@5 ~, ~@23 [a4,a5]]/4", // Dm Csus2 Bb G F B Gm Csus2 …
  D: "[d2,a3,d4,f4,f5]@3 db2 [c2,c4,eb4,g4,a4,c5]@4", // Dm Am7b5
  E: "[a3,b3,d4,f4]@7 g4 ab4 g4 f4 g4 [bb2,ab3,bb3,db4,f4]@12, b2 ~", // Bm7b5 Bbm7
  F: "[f2,c4,f4]@6 [db4,f4,a4]@3 ~@6 [bb4,d5]@3 [a4,c5]@2 [bb4,d5]@2 [gb2,bb3]@2, ~@3 eb2@3 d2@5 ~, ~@3 [c4,gb4,b4]@2 ~@3", // F5 Dbaug Bb Am Bb Gb B
  G: "[g3,b3]@6 f5@3 [g2,f4]@3 [bb3,d4,f4,a4]@3 [bb3,d4,f4,g4]@5 [c2,f4]@2 [d2,g4]@2, g2@9 ~@3 c2@8 ~@4", // G G7 Bbmaj7 Gm7 F5 G5
  H: "[g3,db4,f4,a4]@2 [g3,db4,f4] [eb2,g3,db4,f4] [gb3,c4,e4]@2 [gb3,c4,e4] [gb2,gb3,c4,e4], eb2@3 ~ d2@3 ~", // Dbaug Gm7b5 Eb7 Gbm7b5
  I: "g3@6 ~@2 b3@2 [g2,d4]@2 ~@3 [bb4,d5]@2 ~ ab4 ~@3 d2@2, [g2,b3,d4,f4]@3 ~ [c2,c4,e4,g4]@2 [c3,a4]@2, ~@6 g3@6 ~@5 c5@4 bb3@2 ~, ~@19 f4@5, ~@5 [c2,c4]", // G5 Bb G7 C F C
  J: "~@9 c2@3 ~@6 f3@2 [f2,g3]@2 [g2,ab3]@2, a3@3 ~, f2@9 ~@3 f2@8 ~@4, ~@2 f4@7 ~@3", // Fsus2 Abmaj7
  K: "[db4@4 ~ f4 a2@3 ~ a3 db2 [d2,a3,d4,f4]@4 [d2,a3,d4,f4] [db2,ab3,db4,e4] ~ f5 d6 [eb5,f5,c6] a5 g5, [a2,a3]@12 ~@6 a2@5 ~@13 c2@6 f2@6, f4@5 ~ a3@4 ~ db4@5 ~@2 [g3,c4,eb4]@4 ~@2, ~@8 db4@4 [db4,e4]@11 ~@25]/2", // Dm Dbm F7 A Cm Dbm
  L: "bb1@5 [bb1,g3] [ab3,d4]@4 d5 [b1,f5], [bb4,d5]@2 ~, ~@6 b1@5 ~", // Eb Abdim Bdim Bb
  M: "[c2,c5,f5]@6 [db5,f5,a5]@3 ~@6 [bb4,d5]@3 [a4,c5]@2 [bb4,d5]@2 [gb2,bb3,d4]@2, ~@3 eb2@3 d2@5 ~, ~@3 [c5,gb5,a5]@2 ~@3", // F5 Dbaug Bb Am Bb Gbaug Gbdim
  N: "[b3,d4,f4]@9 f5@3 [bb4,d5,f5]@2 g5@2 ~@4 [a4,d5]@2 a5@2, g2@2 c3 c2, ~@4 [bb4,d5,f5] ~", // Bdim Bb D5 Bb
  O: "[a4,c5]@3 ~@3 [ab4,c5,d5,g5]@2 ~@2 [ab3,c4,d4,g4]@2, f2@2 bb2 bb1, ~@3 c5@2 f5@2 ~@5, ~@2 d5 ~ [ab3,c4,e4,g4] ~", // Am Abmaj7 C
  P: "[a3,c4,e4,g4]@3 c5 ~ f2 [g3,a3,db4] [g3,b3,d4] [g3,c4,eb4] [g3,db4,e4] [f3,f4] [g3,g4], f2@5 ~ a2@3 a1@3, ~@2 c4 ~@3", // Am7 A7 G Cm Dbdim F G
  Q: "[d2,a3,f4]@6 d4@3 d5 f5 ~ bb2@6 [bb3,d4,f4]@6, ~ [a3,f4] [bb4,d5]@2, ~@3 d3 ~@4", // Dm Bb Dm Bb
  R: "[d2,a3,bb3,d4,f4]@2 ~ d3 [bb2,ab3]@2 [a2,g3]@2, ~ [a3,bb3,d4,f4] [c4,d4,f4]@2", // Bbmaj7 Bb7 A7 Bbmaj7 Dm7
  S: "d2@2 [a3,d4,f4] d3 d2@2 [bb3,d4,f4]@2", // Dm Bb
  T: "[a4,c5,f5]@3 a5 [f2,c6] [gb2,a5] b5 a5 ~@2 ab5 g5, d2@4 ~@2 [g2,d5,f5]@3 g1@3, ~@3 [c5,f5]@3 ~@2 g5@2 ~@2", // F F5 Gbm G7 F5
  U: "d2@3 [a3,d4,f4]@2 d3 d2@3 [bb3,d4,f4]@3", V: "d2 [a3,c4,f4] e2 [ab3,c4,d4,f4]",
  W: "a2 [g3,a3,c4,e4] d2 [gb3,a3,c4,eb4]", // Am7 Gbdim
  X: "g2@6 [f3,bb3,d4]@6 ~@4 [bb4,d5]@2 ~ a4 f4 ~ bb3@2, ~@2 c3 c2, ~@19 c5@2 c4@2 ~", // Bb
  Y: "[ab3,a3] a3@3 ~@6 f2@2 ~@6 c4@2 d4@2 f4@2, f2@3 ~ f2@4, ~@4 f4@11 ~@9", // Amaj7
  Z: "[d4,g4]@6 [b3,d4]@3 ~ e2@2 a1@6 ~@2 [ab3,ab4]@2 [g3,g4]@2, e2@3 [db4,e4]@3 db2@2", // G5 Bm Ab G Dbm
  AA: "[d2,f3,f4]@3 [d2,bb3,db4,e4,gb4] [c2,a3,c4,eb4,g4]@4", // Dm Gb7 Am7b5
  AB: "[a3,d4,f4]@7 g3 ab3 g3 f3 g3 [ab3,db4,f4]@9 ~@3, b1 bb1", // Dm Db
  AC: "[f2,c5,f5]@6 [db5,f5,a5]@3 ~@6 [bb4,d5]@3 [a4,c5]@2 [bb4,d5]@2 [gb2,bb3,d4]@2, ~@3 eb2@3 d2@5 ~, ~@3 [c5,gb5,a5]@2 ~@3", // F5 Dbaug Bb Am Bb Gbaug Gbdim
  AD: "g2@9 g1@3 [bb3,d4,f4]@3 [bb3,d4,f4]@4 ~ [bb3,d4]@2 [c2,bb3,d4,f4]@2, b3@4 c2@3 ~", // Bb
  AE: "[g4,db5,f5]@6 [g4,db5,f5]@3 [eb2,g4,db5,f5]@3 [gb4,c5,e5]@6 [f4,a4]@2 [g4,bb4]@2 [gb2,a4,c5]@2, eb2@9 ~@3 d2@10 ~@2", // Gm7b5 Eb7 Gbm7b5 F Gm Gbdim
  AF: "[g2,f4,b4,d5]@6 c6@2 ~@2 [bb5,d6]@2 ab5 [f5,a5] ~@2 bb4@2 ab4 [f4,a4] ~@2 [c2,bb3]@2, ~@3 [g2,ab5]@3 c2@5 ~, ~@4 [a5,c6]@2 c6 c5@2 c5 c4@2", // G7 Bb F C7 Abmaj7 Am
  AG: "ab3 ~@3 f4@12 ~@8, f2, a3@5 ~@3", AH: "[d2,a3,f4]@2 d4 d3 bb2@2 [bb3,d4,f4]@2, ~ [a3,f4] ~@2",
  AI: "d2@2 [a3,bb3,d4,f4] d3 [bb2,ab3]@2 [a2,g3]@2", AJ: "d2@2 [a3,d4,f4] d3 bb2@2 [bb3,d4,f4]@2",
  AK: "d2@3 [a3,d4,f4]@2 d3 bb2@3 [bb3,d4,f4]@3", // Dm Bb
  AL: "[g2@9 ~ g1@2 [bb3,d4,f4]@3 [bb3,d4,f4]@4 ~ [bb3,d4]@2 [bb3,d4,f4]@2 [g4,db5,f5]@6 [g4,db5,f5]@3 [bb2,g4,db5,f5]@3 [g4,db5,f5]@6 ~@2 f2@2 eb2@2, b3@6 c2@4 c2@4 ~@7 [g4,db5,f5]@3, ~@24 eb2@9 ~@3 eb2@8 ~@4]/2", // Bb Gm7b5
  AM: "[gb4,c5,e5]@6 [gb4,c5,e5]@3 [d2,gb4,c5,e5]@3 [gb4,c5,e5]@3 [bb4,d5]@3 [f4,a4,c5]@2 [f4,f5]@2 [d2,g4,g5]@2, d2@9 ~@3 d2@8 ~@4", // Gbm7b5 D7 Gbm7b5 Bb F G5
  AN: "[bb4,d5,f5]@2 [bb4,d5,f5] [a4,c5,f5]@2 [a4,c5,f5] [bb4,d5,f5]@2 [bb4,d5,f5] [b4,d5,f5]@2 [b4,d5,f5], [g1,g2] [a1,a2] [bb1,bb2] [b1,b2]", // Bb F Bb Bdim G A Bb B
  AO: "[d5,f5] ~ [bb5,d6] d5 f5 a5 [d5,f5,c6] c6 bb5 [bb4,d5,ab5] f5 g5, [c2,c3]@2 [c2,c3]!2", // Dm Bb Dm7 Bb7 C
  AP: "[f1,f2]@6 c5@2 f5@2 c5@2 [ab4,b4]@2 ~@2 b4@2 c5 [f4,a4] ~@2 bb3@2, f5 ~ [a1,a2,a4]@2 [bb1,bb2]@2 [b1,b2]@2, ~@7 f5@2 ~ d4@2, ~@7 c4", // F Abm F A Bb B
  AQ: "[ab3 a3@3 ~@2 d4@2 ~@2 [f3,a3,c4,eb4,g4]@34 ~@4, [c2,c3]@3 ~ c4@4 ~@40]/2", // F7 C
})).s("gm_piano").gain(0.66).pan(0.6)

// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
  A B@2 C@2 D E F G H I J K L M N O P Q R S T U V W X Y Z AA D E AB AC H AD AE K L M N O P Q R AF T AG V AH X Y Z AA AI
  AJ AB AC AK AL AM AN AO AP AQ@2
>`.pickRestart({
  A: "f2 c3 [c5,c6] [a4,a5] [d5,d6]@2 [c5,c6] [a4,a5], [c4,f4] ~, [a4,a5] f3 [e3,c4,g4]@2", // C A D C A F5 A C
  B: "[d2@3 a2@3 [g4,g5]@3 [d4,d5]@3 ab3@9 g3 ~@2 [c4,f4,f5]@6 [g4,g5]@3 [d4,d5]@3 [a3,d4,f4,f5]@6 d5@3 a4@3, [a3,c4]@6 ~@5 ab3@5 ~@5 [f3,d4]@3, [f4,f5] f3 [db2,ab2,f3,b3,eb4,f4,f5]@2 [c3,a3]@2 b2@2]/2", // G D F5 G D Dm Am Dm …
  C: "[[c4,c5]@6 [d4,d5]@2 [f4,f5]@2 [c5,c6]@2 a4@6 c5@2 c4@2 ~@2 a3@6 [c4,f4]@3 f2@3 ~@6 c4@2 d4@2 f4@2, [g2,f3,bb3]@4 [c3,e4,a5]@4 f2@3 ~ f2@4, ~@12 bb3@10 bb3@10 ~ [f4,a4]@9 ~@6]/2", // C D F C F5 Gm7 Am F
  D: "[d4,g4]@6 [b3,d4]@3 e2@3 a1@6 ~@2 [ab3,ab4]@2 [g3,g4]@2, e2@3 [db4,e4]@3 db2@2", // G5 Bm Ab G Dbm
  E: "[d2,f3,f4]@3 [d2,bb3,db4,e4,gb4] [c2,a3,c4,eb4,g4]@4", F: "[b1,a3,d4,f4] [bb1,ab3,db4,f4]",
  G: "[f2,c4,f4]@6 [db4,f4,a4]@3 ~@6 [bb4,d5]@3 [a4,c5]@2 [bb4,d5]@2 [gb2,bb3]@2, ~@2 eb2@2 d2@3 ~, ~@3 [c4,gb4,b4]@2 ~@3", // F5 Dbaug Bb Am Bb Gb B
  H: "g2@9 g1@3 [bb3,d4,f4]@3 [bb3,d4,f4]@4 ~@3 [bb3,d4,f4]@2, b3@6 c2@4 [bb3,d4] ~, ~@21 c2@2 ~", // Bb
  I: "[g3,db4,f4]@2 [g3,db4,f4] [eb2,g3,db4,f4] [gb3,c4,e4]@2 [gb3,c4,e4] [gb2,gb3,c4,e4], eb2@3 ~ d2@3 ~", // Gm7b5 Eb7 Gbm7b5
  J: "[f3,b3,e4]@6 [b3,e4,f4,a4]@3 g1@3 ~@3 [f4,bb4,d5]@3 [c3,e4,a4,c5]@2 [c2,d4,f4,bb4]@2 [d2,d4,g4,bb4]@2, g2@3 [bb3,d4,f4,a4]@2 ~@3, ~@2 c2 ~", // E Esus4 Bb Am Bb Gm Bbmaj7
  K: "[f4,a4]@3 ~@6 c2@3 ~@6 d4@2 [f2,f4]@2 [g2,a4]@2, f2@9 ~@3 f2@8 ~@4, ~ [f4,a4]@3 ~@4", // F Gsus2 F
  L: "[db4,f4,a4]@4 a4 bb4 [db5,e5,a5]!2 [db5,e5,g5]@2 ab4 g4, [a2,g3]!2", // Dbaug A Dbdim A7
  M: "[d2,a3,d4,f4]@4 [d2,a3,d4,f4] [db2,ab3,db4,e4] ~ f5 d6 [eb5,f5,c6] a5 g5, ~@3 [g3,c4,eb4]@2 ~, ~@2 c2 f2", // Dm Dbm F7 Cm
  N: "bb1@4 bb1 [bb1,g3] [b1,ab3,d4]@4 d5 [b1,f5], [bb4,d5] ~", // Eb Abdim Bdim Bb
  O: "[c2,c5,f5]@6 [db5,f5,a5]@3 ~@6 [bb4,d5]@3 [a4,c5]@2 [bb4,d5]@2 [gb2,bb3,d4]@2, ~@3 eb2@3 d2@5 ~, ~@3 [c5,gb5,a5]@2 ~@3", // F5 Dbaug Bb Am Bb Gbaug Gbdim
  P: "[b3,d4,f4]@9 f5@3 [bb4,d5,f5]@2 g5@2 ~@4 [a4,d5]@2 a5@2, g2@2 c3 c2, ~@4 [bb4,d5,f5] ~", // Bdim Bb D5 Bb
  Q: "[a4,c5]@3 ~@3 [ab4,c5,d5,g5]@2 ~@2 [ab3,c4,d4,g4]@2, f2@2 bb2 bb1, ~@3 c5@2 f5@2 ~@5, ~@2 d5 ~ [ab3,c4,e4,g4] ~", // Am Abmaj7 C
  R: "[a3,c4,e4,g4]@3 c5 ~ f2 [g3,a3,db4] [g3,b3,d4] [g3,c4,eb4] [g3,db4,e4] [f3,f4] [g3,g4], f2@5 ~ a2@3 a1@3, ~@2 c4 ~@3", // Am7 A7 G Cm Dbdim F G
  S: "[d2,a3,f4]@6 d4@3 d5 f5 ~ d2@6 [bb3,d4,f4]@6, ~ [a3,f4] [bb4,d5]@2, ~@3 d3 ~@4", // Dm Bb Dm Bb
  T: "[d2,a3,bb3,d4,f4]@2 ~ d3 [bb2,ab3]@2 [a2,g3]@2, ~ [a3,bb3,d4,f4] [c4,d4,f4]@2", // Bbmaj7 Bb7 A7 Bbmaj7 Dm7
  U: "[d2,f4]@2 [a3,d4] d3 d2@2 [bb3,d4,f4]@2, [a4,d5] [bb4,d5], ~ f4 ~@2", // Dm D5 Bb D5 Bb
  V: "[a4,c5,f5]@3 a5 [f2,c6] [gb2,a5] b5 a5 ~@2 ab5 g5, d2@4 ~@2 [g2,d5,f5]@3 g1@3, ~@3 [c5,f5]@3 ~@2 g5@2 ~@2", // F F5 Gbm G7 F5
  W: "[d2,f4]@3 [a3,d4]@2 d3 d2 ~@2 [bb3,d4,f4]@3, [a4,d5] [bb4,d5,f5], ~ f4 ~@2", // Dm D5 Bb D5 Bb
  X: "[d2,f4] [a3,c4,f4] e2 [ab3,c4,d4,f4], [d4,a4,c5] [e4,e5]", // Dm F Dm7b5 D7 E
  Y: "a2 [g3,a3,c4,e4] d2 [gb3,a3,c4,eb4], [g4,a4,c5,e5] [gb4,a4,c5,eb5]", // Am7 Gbdim Am7 Gbdim
  Z: "g2 [f3,bb3,d4] c3 c2, [g4,b4,d5,f5,a5] [g4,bb4,d5,f5,a5]", // Bb G7 Gm7
  AA: "a3@6 [c4,f4]@3 ~ f2@2 f2@2 ~@4 c4@2 d4@2 f4@2, f2@3 [f4,a4]@3 ~@2", // F5 F
  AB: "[a3,d4,f4]@7 g3 ab3 g3 f3 g3 [ab3,db4,f4]@9 ~@3, b1 bb1", // Dm Db
  AC: "[f2,c5,f5]@6 [db5,f5,a5]@3 ~@6 [bb4,d5]@3 [a4,c5]@2 [bb4,d5]@2 [gb2,bb3,d4]@2, ~@3 eb2@3 d2@5 ~, ~@3 [c5,gb5,a5]@2 ~@3", // F5 Dbaug Bb Am Bb Gbaug Gbdim
  AD: "[g4,db5,f5]@6 [g4,db5,f5]@3 [eb2,g4,db5,f5]@3 [gb4,c5,e5]@6 [f4,a4]@2 [g4,bb4]@2 [gb2,a4,c5]@2, eb2@9 ~@3 d2@10 ~@2", // Gm7b5 Eb7 Gbm7b5 F Gm Gbdim
  AE: "g2@6 ~@3 [g4,d5,a5] g5 ~ [bb4,d5,f5]@6 [bb4,d5,a5]@2 a5@2 [bb4,d5,g5] f5, [f4,b4,d5]@3 ~@5, ~@3 g2@3 c2@5 c2", // Gsus2 Bb Bbmaj7 Gm Bdim
  AF: "[d2,a3,f4]@6 d4@3 d5 f5 ~ bb2@6 [bb3,d4,f4]@6, ~ [a3,f4] [bb4,d5]@2, ~@3 d3 ~@4", // Dm Bb Dm Bb
  AG: "[d2,f4]@2 [a3,d4] d3 bb2@2 [bb3,d4,f4]@2, [a4,d5] [bb4,d5], ~ f4 ~@2", // Dm D5 Bb D5 Bb
  AH: "[d2,f4]@3 [a3,d4]@2 d3 bb2 ~@2 [bb3,d4,f4]@3, [a4,d5] [bb4,d5,f5], ~ f4 ~@2", // Dm D5 Bb D5 Bb
  AI: "[d4,g4]@6 [b3,d4]@3 ~ e2@2 a1@6 ~@2 [ab3,ab4]@2 [g3,g4]@2, e2@3 [db4,e4]@3 db2@2", // G5 Bm Ab G Dbm
  AJ: "[d2,f3,f4]@9 ~ [d2,bb3,db4,e4,gb4]@2 [c2,a3,c4,eb4,g4]@12", // Dm Gb7 Am7b5
  AK: "g2@9 ~ g1@2 [bb3,d4,f4]@3 [bb3,d4,f4]@4 ~@3 [bb3,d4,f4]@2, b3@6 c2@4 [bb3,d4] ~, ~@21 c2@2 ~", // Bb
  AL: "[g4,db5,f5]@6 [g4,db5,f5]@3 [bb2,g4,db5,f5]@3 [g4,db5,f5]@6 ~@2 f2@2 eb2@2, eb2@9 ~@3 eb2@8 ~@4, ~@3 [g4,db5,f5]", // Gm7b5
  AM: "[gb4,c5,e5]@6 [gb4,c5,e5]@3 [d2,gb4,c5,e5]@3 [gb4,c5,e5]@3 [bb4,d5]@3 [f4,a4,c5]@2 [f4,f5]@2 [d2,g4,g5]@2, d2@9 ~@3 d2@8 ~@4", // Gbm7b5 D7 Gbm7b5 Bb F G5
  AN: "[bb4,d5,f5]@2 [bb4,d5,f5] [a4,c5,f5]@2 [a4,c5,f5] [bb4,d5,f5]@2 [bb4,d5,f5] [b4,d5,f5]@2 [b4,d5,f5], [g1,g2] [a1,a2] [bb1,bb2] [b1,b2]", // Bb F Bb Bdim G A Bb B
  AO: "[d5,f5] ~ [bb5,d6] d5 f5 a5 [d5,f5,c6] c6 bb5 [bb4,d5,ab5] f5 g5, [c2,c3]@2 [c2,c3]!2", // Dm Bb Dm7 Bb7 C
  AP: "[f1,f2,a4,c5]@2 [c4,eb4,f4]!2 [bb3,d4,f4]!2 [ab3,d4,f4]!2, ~ [a1,a2] [bb1,bb2] [b1,b2]", // F F7 Bb Ddim A Bb B
  AQ: "[[c2,c3,a3,c4,f4]@3 ~@7 [f2,f3,a3,c4,eb4,ab4]@36 ~@2]/2", // F F7
})).s("gm_string_ensemble_1").gain(0.24).pan(0.4)

// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
  A B C D E F G H I J K D L M N O P D Q R S T U V U W X D Y Z AA H AB AC AD AE L M N O P D Q R S T S V S W X D Y Z AA H
  AB AF AG AH AI AJ AK AL@2
>`.pickRestart({
  A: "f1 e1", B: "d2 db2", C: "c2 b1", D: "g1 c2", E: "f1!2", F: "e1@2 a1 db2", G: "d2 c2", H: "b1 bb1",
  I: "f2@6 eb2@6 d2@9 ~ gb1@2", J: "g1@6 c2@5 c2", K: "eb2@3 eb2 d2@3 gb1", L: "f1@9 c2@3 f1@8 f1@2 g1@2",
  M: "a1@6 a1@4 a1 db2", N: "d2@7 ~ d2@2 db2@2 c2@6 f1@6", O: "bb1@9 ~ bb1@2 b1@10 b1@2", P: "c2@3 bb1@3 d2@5 ab1",
  Q: "f1 bb1", R: "f1@5 f1 a1@3 a1@3", S: "d2 bb1", T: "d2@2 bb1 a1", U: "d2!2", V: "d2@4 f1 gb1 g1@6", W: "d2 e2",
  X: "a1 d2", Y: "f1@5 c2 f1@6", Z: "e1@5 e1 a1@3 db2@3", AA: "d2@9 db2@2 ~ c2@10 c2@2", AB: "f2@3 eb2@3 d2@5 gb1",
  AC: "g1@9 ~@3 c2@8 c2@2 d2@2, ~@3 g1@3 ~@2", AD: "eb2@9 eb2@3 d2@10 gb1@2", AE: "g1@3 g1@3 c2@5 c2",
  AF: "g1@5 g1 c2@4 c2 d2", AG: "eb2@9 bb1@3 eb2@8 f2@2 eb2@2", AH: "d2@9 d2@3 d2@10 d2@2", AI: "g1 a1 bb1 b1",
  AJ: "c2!2", AK: "f1 a1 bb1 b1", AL: "[c2@3 ~@7 f1@36 ~@2]/2",
})).s("gm_electric_bass_finger").gain(0.5).pan(0.2)

// chords · percussive organ · "ORGAN 2"
const percussive_organ = note("<~@36 A B@2 C D E F G H ~@20>".pickRestart({
  A: "~@9 f5 f5@2 [g5,ab5] a5@2 ~ c6@4 d6 ~ c6@2", // Abmaj7
  B: "[~ [g5,ab5] a5 c6 ~ g5@5 f5 ~@11 [g5,ab5,e6] f5@2 ~@7 [g5,ab5,a5] ~ c6!2 [db6,d6] c6 ~@6 f6 ~ [c6,db6] d6, ~@23 g5 ~@24]/2", // Abmaj7 C Dmaj7 Dbmaj7
  C: "c6 ~ [g5,ab5,c6] [f5,g5] d5 [g5,c6] [d5,e5] f5@3 g5 f5 ~@2 ab5 a5 [ab5,bb5] b5 c6 f5 bb5 f5 ~ [ab5,a5,c6]", // Abmaj7 Fsus2 C5 Dsus2 Absus2 Ab
  D: "c6 [bb5,d6] ~ [ab5,a5] [d5,f5] c5 bb4 f4 ab4 a4 c5 d5 f5@4 d5 ~@4 f5 g5 f5, ~ c6 ~@10", // Bb Amaj7 Dm
  E: "~ d6 [f5,ab5] d5 [g5,d6] f5 ~ [ab5,db6] a5 e6 [bb5,b5] ~ [c6,f6] f5 [bb5,d6] f5 ab5 [f5,a5] [c5,d5] bb4 f4 ~ [ab4,a4] bb4, ~ g5@2 ~@4 d6@2 ~@7 c6@2 ~@4 f5@2", // Fm G5 Db5 Bmaj7 F5 Bb F Csus2 …
  F: "~ [ab4,a4] [d4,f4] c4 bb3 f3 [ab3,a3] ~ f4@3 ~ [g4,ab4,a4] c5 d5 c5 f5 ~ g5 f5 ~ [ab5,a5] bb5 b5, c5@2 ~@6 e4 ~@11 f6@4", // Amaj7 Dm Amaj7
  G: "~@3 f5!2 b5 c6 bb5 ab5 ~ [ab5,bb5] ab5 f5 eb5 f5@2 ~@3 e5@3 e5 f5, ~@5 f6@3 ~ f6@2 ~@13", H: "d5 ~@2, c5 ~@23",
})).s("gm_percussive_organ").gain(0.8).pan(0.7)

// drums · kick
const kick = s("bd").struct("<~@4 A@15 B C@8 A@15 B C@5 D@3 A@6 E F C G H I ~>".pickRestart({
  A: "x!2", B: "x ~@5 x ~@4 x", C: "x ~ x ~@2 x!2 ~ x ~@2 x", D: "x ~ x ~@2 x!2 ~ x ~ x!2", E: "x ~@2 x!2 ~@3",
  F: "x ~@8 x ~@2 x ~@7 x ~ x ~", G: "x", H: "x ~@3 x!3 ~@3 x!2", I: "x ~@4 x ~@6",
})).gain(0.32)

// drums · rim
const rim = s("rim").struct("<~@4 [~ x ~ x]!16 ~@8 [~ x ~ x]!16 ~@8 [~ x ~ x]!8 ~@5>").gain(0.32)

// drums · snare
const snare = s("sd").struct("<~@20 A@3 B A@3 B ~@16 A@5 B A B ~@7 C D E F E ~>".pickRestart({
  A: "~ x ~ x", B: "~@3 x ~@3 x ~@2 x ~", C: "~@7 x!5", D: "x ~ x!2 ~ x!2 ~ x!2 ~ x", E: "x", F: "~@2 x!2 ~@4 x!2 ~@2",
})).gain(0.32)

// drums · clap
const clap = s("cp").struct("<~@60 x ~@2 x ~>").gain(0.32)

// drums · pedal hat
const pedal_hat = s("hh").struct("<~@4 [x!12]!12 [x ~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x!2 ~@2] [x!12]!3 ~@45>")
  .gain(0.32)

// drums · crash
const crash = s("cr").struct(`<
  ~@4 A ~@7 A ~@7 A ~ A B A ~ C A@2 ~@7 A ~@7 A ~ A ~ A D A@3 ~@5 A@2 E A E F ~
>`.pickRestart({
  A: "x", B: "~@11 x", C: "x!2", D: "~@10 x!2", E: "~@2 x!2 ~@4 x!2 ~@2", F: "~@5 x ~@6",
})).gain(0.32)

// drums · ride
const ride = s("rd").struct("<A@3 B A ~@15 C@3 D E@4 F@16 C G E@5 H F@8 I A J A ~>".pickRestart({
  A: "x", B: "x!2", C: "x ~ x!3 ~ x ~ x ~ x ~ x ~ x!3 ~ x ~ x ~ x ~", D: "x ~ x!3 ~ x ~ x ~ x ~ x ~ x!5 ~ x ~ x ~",
  E: "x ~ x!5 ~ x ~ x ~ x ~ x!5 ~ x ~ x ~", F: "x!12", G: "x ~ x!3 ~ x ~ x ~ x ~ x ~ x!3 ~ x ~ x!3 ~",
  H: "x ~ x!5 ~ x ~ x ~ x ~ x!3 ~ x ~ x ~ x ~", I: "x ~ x!5 ~ x!5 ~ x!5 ~ x!4",
  J: "~@4 x ~ x ~ x ~ x ~ x ~ x!5 ~ x ~ x ~",
})).gain(0.32)

stack(piano, string_ensemble_1, bass, percussive_organ, kick, rim, snare, clap, pedal_hat, crash, ride)

More by Atkins Chet