Strudelify

Count Me In

Lewis

KeyF majorTempo160 bpm
0:00/0:00
// Count Me In — Lewis
// 160 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 92 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(160/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 D E B C F@8 G@6 H I J@8 G@6 H K L@2 M@2 N@2 M@2 O@7 G@6 H I J@8 G@6 H K L@2 M@2 P@2 Q@2 R@2 S@2 T ~
>`.pickRestart({
  A: "~@2 [a3,c4,f4] ~ [a3,c4,f4]@2 f2@4 [a3,c4,f4]@2 f2@2 [a3,c4,f4]@2, f2 ~@3", // F
  B: "~@2 [c4,eb4,ab4] ~ [c4,eb4,ab4]@2 ab2@4 [c4,eb4,ab4]@2 ab2@2 [c4,eb4,ab4]@2, ab2 ~@3", // Ab
  C: "~@2 [ab3,db4,f4] ~ [ab3,db4,f4]@2 db2@4 [ab3,db4,f4]@2 ~@2 [ab3,db4,f4]@2, db2 ~@2 db2", // Db
  D: "~@2 [c4,e4,gb4] ~ [bb3,c4,e4,gb4]@2 ~@2 e4 ~ [bb3,c4,e4,gb4]@2 gb2@2 [bb3,c4,e4,gb4]@2, gb2@2 ~ gb2@2 ~@3", // Gbm7b5 C7
  E: "~@2 [a3,c4,f4] ~ [a3,c4,f4]@2 ~@4 [a3,c4,f4]@2 f2@2 [a3,c4,f4]@2, f2 ~@3", // F
  F: "[~@2 [c4,e4,gb4] ~ [bb3,c4,e4,gb4]@2 ~@2 e4 ~ [bb3,c4,e4,gb4]@2 ~@2 [bb3,c4,e4,gb4]@2 ~@6 c4@2 g4@2 [c4,a4]@2 ~@2 [c4,f4,bb4]@5 ~ [f2,c4,f4,a4]@3 ~ [c4,g4]@2 [f2,f3,c4,a4]@4 ~@6 [e4,a4,c5]@3 ~ [e4,a4,c5] ~ [e4,a4,c5]@2 ~@8 [c4,e4,g4]@2 ~@2 [c4,e4,a4]@2 [c4,e4,g4] ~@3 [a3,c4,f4]@5 ~ [c4,f4,a4]@2 ~@4 [c4,f4]@2 ~@2 [c4,f4,bb4]@5 ~ [c4,f4,a4]@2 ~@4 [f3,c4,f4,a4]@3 ~@7 [e4,c5]@2 ~@4 [a2,e3]@4 [f4,a4,c5]@2, gb2@4 ~@2 gb2@4 ~@4 f2@20 ~@14 a2@9 ~ [a2,e3]@4 ~@2 c3@10 [g2,c3]@4 ~@28 f2@4 ~@2 a2@10 ~@6, ~@22 f4@4 ~@14 f4@6 [e4,a4,c5]@5 ~@11 [e4,g4,c5]@4 ~@44 [e4,a4,c5]@5 ~@7 [e4,a4] ~@5, ~@22 a4 ~@67 a4 ~@25 a4 ~@5 c5@2 ~@4]/8", // Gbm7b5 C7 F Fsus4 F C5 F Am …
  G: "[~@4 [a4,c5,f5]@2 ~@2 [a4,c5,eb5] ~ [a4,c5,f5]@2 ~@2 [bb4,d5]@2 ~@4 [f4,bb4,d5]@3 ~ [f4,bb4,c5] ~ [f4,bb4,d5] ~@9 [f4,bb4,d5]@2 ~@2 [f4,bb4]@2 [f4,bb4,d5] ~@3 [g4,bb4,d5]@5 ~ [bb4,d5] ~@3 [g4,bb4,c5] ~ [g4,bb4,d5] ~@3 [g4,bb4,d5]@5 ~ [g4,bb4,d5]@2 ~@2 [g4,bb4,c5] ~ [g4,bb4,d5] ~@3 f2@6 [a3,c4,f4]@2 f2@4 [a3,c4,f4]@2 f2@2 ~@2, [f2,c3]@13 ~ f4@5 ~@11 [f4,bb4,eb5]@5 ~@5 c5 ~@11 g4@2 ~@42, ~@16 bb2@9 ~@7 bb2@9 ~ bb2@4 ~@12 g2@4 ~@12 g2@4 ~@18]/6", // F Adim F Bb Fsus4 Bb Bb5 Bb …
  H: "ab2@2 [c4,eb4,ab4] ab2@2 [c4,eb4,ab4] ab2 [c4,eb4,ab4]", // Ab
  I: "db2@2 [ab3,db4,f4] db2@2 [ab3,db4,f4] ~ [ab3,db4,f4], ~@3 db2", // Db
  J: "[gb2@4 [bb3,c4,e4,gb4]@2 gb2@4 [bb3,c4,e4,gb4]@2 gb2@2 ~@8 c4@2 g4@2 [c4,a4]@2 ~@2 [c4,f4,bb4]@5 ~ [f2,c4,f4,a4]@3 ~ [c4,g4]@2 [f2,f3,c4,a4]@4 ~@6 [e4,a4,c5]@3 ~ [e4,a4,c5] ~ [e4,a4,c5]@2 ~@8 [c4,e4,g4]@2 ~@2 [c4,e4,a4]@2 [c4,e4,g4] ~@3 [a3,c4,f4]@5 ~ [c4,f4,a4]@2 ~@4 [c4,f4]@2 ~@2 [c4,f4,bb4]@5 ~ [c4,f4,a4]@2 ~@4 [f3,c4,f4,a4]@3 ~@7 [e4,c5]@2 ~@4 [a2,e3]@4 [f4,a4,c5]@2, ~@14 f2@20 ~@14 a2@9 ~ [a2,e3]@4 ~@2 c3@10 [g2,c3]@4 ~@28 f2@4 ~@2 a2@10 ~@6, ~@22 f4@4 ~@14 f4@6 [e4,a4,c5]@5 ~@11 [e4,g4,c5]@4 ~@44 [e4,a4,c5]@5 ~@7 [e4,a4] ~@5, ~@22 a4 ~@67 a4 ~@25 a4 ~@5 c5@2 ~@4]/8", // C7 F Fsus4 F C5 F Am C …
  K: "c3@4 [bb3,c4,eb4,g4]@2 c3@4 [bb3,c4,eb4,g4]@2 c3@3 ~", // Cm7
  L: "[~@6 [c5,f5]@2 [c5,f5]@2 [f4,c5,f5]@4 [f4,c5,f5]@6 [c5,f5]@4 [g4,c5,f5,g5]@2 [a4,c5,f5,a5]@2 ~@2 [c5,c6] c4, ~@3 [f4,a4,a5]@2 [a4,a5]@5 [f4,a4,a5]@3 ~@3, ~ [g4,g5]@2 ~, ~@14 [bb4,bb5]@13 ~@5]/2", // F5 Csus4 F C F A F G …
  M: "[~@3 [a3,a4,a5] ~@3 [e3,e4,e5] ~@3 [c3,c4,c5] c3@3 c3 c3 ~@10 [f4,f5]@3 [g4,g5] ~, c6 ~, [c4,c5]@11 ~@4 [c4,c5]@3 [c4,c5]@12 ~@2, ~@4 [a3,a4,a5]@11 ~@6 [d4,d5]@9 ~@2, ~@8 [e3,e4,e5]@7 ~@9 [e4,e5]@6 ~@2]/2", // A E C F G C A D …
  N: "[[a4,a5]@6 [c5,f5]@2 [c5,f5]@2 [f4,c5,f5]@4 [f4,c5,f5]@6 [c5,f5]@4 [g4,c5,f5,g5]@2 [a4,c5,f5,a5]@2 ~@2 [c5,c6] c4, ~@3 [f4,a4,a5]@2 [a4,a5]@5 [f4,a4,a5]@3 ~@3, ~ [g4,g5]@2 ~, ~@14 [bb4,bb5]@13 ~@5]/2", // A F5 Csus4 F C F A F …
  O: "[[a4,a5]@4 ~@2 c4@2 g4@2 [c4,a4]@2 ~@2 [c4,f4,bb4]@5 ~ [f2,c4,f4,a4]@3 ~ [c4,g4]@2 [f2,f3,c4,a4]@4 ~@6 [e4,a4,c5]@3 ~ [e4,a4,c5] ~ [e4,a4,c5]@2 ~@8 [c4,e4,g4]@2 ~@2 [c4,e4,a4]@2 [c4,e4,g4] ~@3 [a3,c4,f4]@5 ~ [c4,f4,a4]@2 ~@4 [c4,f4]@2 ~@2 [c4,f4,bb4]@5 ~ [c4,f4,a4]@2 ~@4 [f3,c4,f4,a4]@3 ~@7 [e4,c5]@2 ~@4 [a2,e3]@4 [f4,a4,c5]@2, f2@18 ~@14 a2@9 ~ [a2,e3]@4 ~@2 c3@10 [g2,c3]@4 ~@28 f2@4 ~@2 a2@10 ~@6, ~@6 f4@4 ~@14 f4@6 [e4,a4,c5]@5 ~@11 [e4,g4,c5]@4 ~@44 [e4,a4,c5]@5 ~@7 [e4,a4] ~@5, ~@6 a4 ~@67 a4 ~@25 a4 ~@5 c5@2 ~@4]/7", // A F Fsus4 F C5 F Am C …
  P: "[[a4,a5]@6 [c5,f5]@2 [c5,f5]@2 [f4,c5,f5]@4 [f4,c5,f5]@6 [c5,f5]@4 [g4,c5,f5,g5]@2 [a4,c5,f5,a5]@2 ~@2 [c5,e6] [c4,e5], ~@3 [f4,a4,a5]@2 [a4,a5]@5 [f4,a4,a5]@3 ~@3, ~ [g4,g5]@2 ~, ~@14 [bb4,bb5]@13 ~@5]/2", // A F5 Csus4 F C F A F …
  Q: "[c5@3 [a3,a4,c5,c6] a4@3 [e3,e4,a4,a5] e4@3 [c3,c4,e4,e5] [c3,e4]@3 c3 c3 ~@10 [f4,f5]@3 [g4,g5] ~, e6 ~, [c4,e5]@11 ~@4 [c4,c5]@3 [c4,c5]@12 ~@2, ~@4 [a3,c5,c6]@11 ~@6 [d4,d5]@9 ~@2, ~@8 [e3,a4,a5]@7 ~@9 [e4,e5]@6 ~@2]/2", // Am A5 C F G C Am D …
  R: "[[a4,a5]@6 [c5,f5]@2 [c5,f5]@2 [f4,c5,f5]@4 [f4,c5,f5]@6 [c5,f5]@4 [g4,c5,f5,g5]@2 [a4,c5,f5,a5]@2 ~@2 [e5,c6] [e4,c5], ~@3 [f4,a4,a5]@2 [a4,a5]@5 [f4,a4,a5]@3 ~@3, ~ [g4,g5]@2 ~, ~@14 [bb4,bb5]@13 ~@5]/2", // A F5 Csus4 F C F A F …
  S: "[c5@3 [c4,a4,c5,a5] a4@3 [a3,e4,a4,e5] e4@3 [e3,c4,e4,c5] [e3,c4]@3 c3 c3 ~@10 [f4,f5]@3 [g4,g5] ~, c6 ~, [e4,e5]@7 ~ [a3,a4,e5]@7 ~@6 [d4,d5]@9 ~@2, ~@4 a5@11 ~@9 [e4,e5]@6 ~@2, ~@4 [c4,c5]@7 ~@4 [c4,c5]@3 [c4,c5]@12 ~@2]/2", // F A5 C F G E A5 D …
  T: "[a4,a5]", // A
})).s("gm_piano").gain(0.44).pan(0.7)

// chords · piano · "A.PIANO 1" · soft notes
const piano_soft = note(`<
  A B C D E B C F@3 G H I@2 J ~ K ~ H L A ~@2 M@3 G H I@2 J ~ K ~ H L A ~@3 N O ~@2 N O ~ P Q G H I@2 J ~ K ~ H L A ~@2
  M@3 G H I@2 J ~ K ~ H L A ~@3 N O ~@2 N R ~@2 N S ~@3
>`.pickRestart({
  A: "~@8 [a3,c4,f4] ~@7", B: "~@8 [c4,eb4,ab4] ~@7", C: "~@8 [ab3,db4,f4] ~@7", D: "~@2 bb3 ~@5 [bb3,c4,gb4] ~@7",
  E: "~@8 [a3,c4,f4] ~@7, ~@3 f2@2 ~@3", // F
  F: "[~@2 bb3 ~@5 [bb3,c4,gb4] ~@3 gb2@2 ~@10 c4 ~ f4@2 ~@8 f3@2 ~@10, ~@14 f3@19 ~@15]/3", G: "e3@9 ~@7",
  H: "g2@5 ~@3", I: "[[f2,f3]@9 ~ f2@2 ~@2 [f2,f3]@11 ~@7, ~@10 f3 ~@21]/2", J: "e3@5 ~@3", K: "~@2 bb4 ~@7 bb2@4 ~@2",
  L: "g2@9 ~@7", M: "[~@24 c4 ~ f4@2 ~@8 f3@2 ~@10, ~@14 f3@19 ~@15]/3", N: "~@5 f4 ~@2", O: "~@12 [c4,c5]@3 ~",
  P: "~@8 c4 ~ f4@2 ~@4, f3", Q: "~@2 f3 ~@5", R: "~@12 [c4,e5]@3 ~", S: "~@12 [e4,c5]@3 ~",
})).s("gm_piano").gain(0.22).pan(0.7)

// bass · acoustic bass · "ACOU BASS"
const bass = note(`<
  ~@4 A B C D E@2 F G E@2 H I J K L@2 E M N O P@2 Q G P@2 Q R S K T U E M G E P Q V E@2 H W E X Q G E P H I J K U T E M
  N Y E@2 Q G E@2 Q R S K T U E Z G P E Q AA E P H AB E@2 AC AB AD ~
>`.pickRestart({
  A: "f2@3 c2@3 f2@2", B: "ab1@5 ~ ab1@2 eb2@7 ~", C: "db2@6 ab1@5 ~ db2@4", D: "gb2@5 ~ gb2@2 c2@8",
  E: "f1@2 ~ f1 c2@4", F: "a1@4 ~@2 a1@2 e2@5 ~@3", G: "c2@3 g1@3 c2@2", H: "a1@2 ~ a1 e2@4", I: "f2@3 g1@3 a1@2",
  J: "bb1@5 ~ bb1@2 f1@7 ~", K: "bb1@3 f1@3 bb1@2", L: "g1 d2", M: "ab1@4 ~@2 ab1@2 eb2@7 ~", N: "db2@3 ab1@3 db2@2",
  O: "gb1@8 c2@7 ~", P: "f1@5 ~ f1@2 c2@8", Q: "a1@4 ~@2 a1@2 e2@7 ~", R: "f1@3 g1@3 a1@2", S: "bb1@5 ~ bb1@2 f1@8",
  T: "g1@2 ~ g1 d2@4", U: "g1@5 ~ g1@2 d2@8", V: "~@2 c2@2 ~ c2@2 ~ c2@2 ~ c2@2 ~ c2@2",
  W: "~@2 c2@2 ~ c2@2 ~ c2@2 ~ c2@2 c2@3", X: "f1@3 ~@3 f1@2 c2@8", Y: "gb1@5 ~ gb1@2 c2@8", Z: "ab1@2 ~ ab1 eb2@4",
  AA: "~@3 c2@2 c2@2 ~ c2@2 ~ c2@2 ~ c2@2", AB: "~@2 c2@2 ~ c2@2 ~ c2@2 ~ c2@2 c2@2 ~", AC: "a1@2 ~ a1 e2@3 ~",
  AD: "f1",
})).s("gm_acoustic_bass").gain(0.38)

// other · celesta
const celesta = note(`<
  A B C A@2 B D E ~@3 F G ~@7 A H I J ~@12 K H L M ~@2 N O ~@2 P ~@3 Q ~@8 H@2 R S ~@3 T U ~@7 K V W X ~@2 Y Z ~@2 AA O
  ~@2 AB AC ~
>`.pickRestart({
  A: "c6@5 ~ c6@5 ~ c6@3 ~", B: "c6@5 ~ c6@5 ~ c6@4", C: "eb6@3 c6@3 bb5@2", D: "eb6@6 c6@6 bb5@3 ~",
  E: "c6@4 c8 ~ g7 [e7,f7] [c7,d7] [a6,b6] [f6,g6] [d6,e6] [b5,c6] [f5,g5,a5] [d5,e5] [b4,c5]", // Fmaj7 Csus2 Asus2 Fsus2 Dsus2 Cmaj7 F Dsus2 …
  F: "~@4 c8 ~@5 [c7,d7] b6 [g6,a6] [e6,f6] d6 [b5,c6]", G: "[g5,a5] f5 ~@14", H: "c6@4 ~@2 c6@4 ~@2 c6@3 ~",
  I: "eb6@6 c6@3 ~@3 bb5@3 ~", J: "c6@4 c8@2 a7 g7 f7 [d7,e7] [b6,c7] [g6,a6] [e6,f6] [c6,d6] [a5,b5] ~",
  K: "c6@5 ~ c6@4 ~@2 c6@3 ~", L: "eb6@5 ~ c6@6 bb5@3 ~", M: "c6@3 ~", N: "~@9 c8 ~ g7 [e7,f7] d7 [b6,c7] [g6,a6]",
  O: "[d6,e6,f6] [b5,c6] ~@14", P: "~@8 c8 ~@2 [f7,g7] [d7,e7] [b6,c7] [g6,a6] [d6,e6,f6]",
  Q: "~@4 c8 ~@2 [f7,g7] e7 [c7,d7] a6 g6 e6 [c6,d6] [a5,b5] ~", R: "eb6@6 c6@5 ~ bb5@3 ~",
  S: "c6@3 ~ c8 ~ g7 f7 [d7,e7] [b6,c7] [g6,a6] f6 [c6,d6,e6] [a5,b5] [f5,g5] [d5,e5]", // Dsus2 Cmaj7 Gsus2 C Asus2 Fsus2 Dsus2
  T: "~@4 c8 ~ g7 f7 [d7,e7] ~@3 e6 [c6,d6] [a5,b5] [e5,f5,g5]", U: "[c5,d5] ~@15", V: "c6@4 ~@2 c6@5 ~ c6@3 ~",
  W: "eb6@6 c6@5 ~ bb5@4", X: "c6@13 ~@3", Y: "~@8 c8 ~@2 [f7,g7] e7 [c7,d7] [a6,b6] [f6,g6]", Z: "[c6,d6,e6] ~@15",
  AA: "~@8 c8@2 ~ a7 g7 d7 [b6,c7] [g6,a6]", AB: "~@8 c8@3 a7 g7 [e7,f7] [c7,d7] [g6,a6,b6]", AC: "[e6,f6] ~@15",
})).s("gm_celesta").gain(0.27).pan(0.4)

// other · celesta · soft notes
const celesta_soft = note("<~@7 A ~@3 B ~@11 C ~@18 D ~@3 E ~@3 F ~@11 G ~@3 H ~@14 D ~@3 I ~@3 J ~@2>".pickRestart({
  A: "~@4 b7 a7 ~@10", B: "~@6 a7 ~ g7 [e7,f7] ~@6, ~@5 b7@2 ~@9", C: "~@5 b7 ~@10", D: "~@10 a7 ~@5, ~@9 b7@2 ~@5",
  E: "~@9 b7 a7 ~@5", F: "~@5 b7 a7 ~@3 b6 ~ f6 ~@3", G: "~@4 b7@2 a7 ~@9", H: "~@4 b7 ~ a7 ~@2 c7 [a6,b6] g6 f6 ~@3",
  I: "~@10 b7@2 f7 e7 ~@2", J: "~@11 b7 ~@4",
})).s("gm_celesta").gain(0.11).pan(0.4)

// chords · rock organ · "ORGAN 3"
const rock_organ = note(`<
  ~@4 A B C D E@2 F G H@3 A I@2 J@2 A B C D E@2 F G H@3 A I@2 J@2 A B K L@3 M L@3 M E@2 F G H@3 A I@2 J@2 A B C D E@2 F
  G H@3 A I@2 J@2 A B K L@3 M L@3 M L@3 M N ~
>`.pickRestart({
  A: "[f4,a4,c5]", B: "[eb4,ab4,c5]", C: "[f4,ab4,eb5]", D: "[gb4,bb4,c5]", E: "[f4,a4,c5]/2", F: "[e4,a4,c5]",
  G: "[e4,g4,c5]", H: "[[f4,c5]@2 [e4,c5], a4]/3", I: "[f4,bb4,d5]/2", J: "[g4,bb4,d5]/2", K: "[g4,bb4,eb5]",
  L: "[[a4,c5,f5]@5 [c5,e5,a5]@3]/3", M: "~@3 [c4,c5] ~ [c4,c5] ~@2 [c4,c5] ~@2 [c4,c5] ~ [c4,c5] ~@2", N: "[f4,c5,f5]",
})).s("gm_rock_organ").gain(0.24).pan(0.3)

// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note(`<
  ~@4 A B C D A E F G H I J K L M N O P Q C R A E F G A E J S T U N V A Q W X Y Z AA AB AC AD AA AE AF AG G A E J AH AI
  AJ AK AL Y AM C AN AC E F AO A AP J S AQ AJ AR AS AB AT AU A AV AW AA A E AX AA A E AY AZ ~@2
>`.pickRestart({
  A: "~@4 [c4,f4,a4] ~@5 [c4,f4,a4] ~@3 [c4,f4,a4] ~", B: "~@4 [eb4,ab4,c5] ~@5 [eb4,ab4,c5] ~@3 [eb4,ab4,c5] ~",
  C: "~@4 [f4,ab4,db5] ~@5 [f4,ab4,db5] ~@3 [f4,ab4,db5] ~", D: "~@4 [e4,gb4,bb4]@2 ~@4 [gb4,bb4] ~@3 [e4,gb4,bb4] ~",
  E: "~@4 [c4,f4,a4] ~@5 [c4,f4,a4] ~@3 [c4,e4,a4] ~", F: "~@4 [c4,e4,a4] ~@5 [c4,e4,a4] ~@3 [e4,g4,c5] ~",
  G: "~@4 [e4,g4,c5] ~@5 [e4,g4,c5] ~@3 [c4,f4,a4] ~", H: "~@4 [c4,f4,a4] ~@5 [c4,f4,a4] ~@3 [c4,f4,a4]@2",
  I: "~@4 [c4,f4,a4] ~@5 [c4,f4,a4] ~@3 [c4,e4,a4]@2", J: "~@4 [c4,e4,a4] ~@5 [c4,e4,a4] ~@3 [c4,f4,a4] ~",
  K: "~@4 [c4,eb4,f4,a4] ~@5 [c4,f4,a4]@2 ~@2 [d4,f4,bb4]@2", L: "~@4 [d4,f4,bb4] ~@5 [f4,bb4] ~@3 [d4,f4,bb4] ~",
  M: "~@4 [d4,f4,bb4] ~@5 [d4,f4,bb4] ~@3 [d4,g4,bb4]@2", N: "~@4 [d4,g4,bb4] ~@5 [d4,g4,bb4] ~@3 [d4,g4,bb4] ~",
  O: "~@4 [bb3,d4,g4,bb4]@2 ~@4 [d4,g4,bb4]@2 ~@2 [d4,g4,bb4] ~", P: "~@4 [c4,f4,a4] ~@5 [c4,f4,a4] ~@3 [f4,a4] ~",
  Q: "~@4 [eb4,ab4,c5] ~@5 [eb4,ab4,c5] ~@3 [ab4,c5] ~", R: "~@4 [e4,gb4,bb4]@2 ~@4 [e4,gb4,bb4] ~@3 [gb4,bb4] ~",
  S: "~@4 [c4,f4,a4] ~@5 [c4,f4,a4] ~@3 [f4,bb4] ~", T: "~@4 [d4,f4,bb4] ~@5 [d4,f4,bb4] ~@3 [d4,f4,bb4] ~",
  U: "~@4 [bb3,d4,f4,bb4]@2 ~@4 [d4,f4,bb4] ~@3 [d4,g4,bb4] ~", V: "~@4 [bb3,d4,g4,bb4] ~@5 [d4,g4,bb4] ~@3 [f4,a4]@2",
  W: "~@4 [eb4,g4,bb4] ~@5 [g4,bb4] ~@3 [g4,bb4] ~", X: "~@4 [c4,f4,a4] ~@5 [a3,c4,f4,a4] ~@3 [a3,c4,f4,a4] ~",
  Y: "~@4 [a3,c4,f4,a4] ~@5 [a3,c4,f4,a4] ~@3 [c4,f4,a4] ~", Z: "~@4 [c4,e4,a4] ~@5 [a3,c4,e4,a4] ~@3 [c4,e4,a4] ~",
  AA: "~@3 [g3,c4,e4] ~ [g3,c4,e4] ~@2 [g3,c4,e4] ~@2 [g3,c4,e4] ~ [g3,c4,e4] ~@2", // C
  AB: "~@4 [c4,f4,a4] ~@5 [a3,c4,f4,a4] ~@3 [c4,f4,a4] ~", AC: "~@4 [a3,c4,f4,a4] ~@5 [c4,f4,a4] ~@3 [c4,f4,a4] ~",
  AD: "~@4 [c4,e4,a4] ~@5 [c4,e4,a4] ~@3 [c4,e4,a4] ~", AE: "~@4 [a3,c4,f4,a4] ~@5 [a3,f4,a4] ~@3 [c4,f4,a4] ~",
  AF: "~@4 [c4,f4,a4] ~@5 [a3,c4,f4,a4] ~@3 [c4,e4,a4] ~", AG: "~@4 [c4,e4,a4] ~@5 [a3,c4,e4,a4] ~@3 [e4,g4,c5] ~",
  AH: "~@4 [c4,f4,a4] ~@5 [c4,f4,a4] ~@3 [d4,f4,bb4] ~", AI: "~@4 [d4,f4,bb4] ~@5 [d4,f4,bb4] ~@3 [bb3,d4,f4,bb4] ~",
  AJ: "~@4 [d4,f4,bb4] ~@5 [d4,f4,bb4] ~@3 [d4,g4,bb4] ~", AK: "~@4 [bb3,d4,g4,bb4] ~@5 [d4,g4,bb4] ~@3 [d4,g4,bb4] ~",
  AL: "~@4 [d4,g4,bb4]@2 ~@4 [bb3,d4,g4,bb4] ~@3 [d4,g4,bb4] ~", AM: "~@4 [eb4,ab4] ~@5 [eb4,ab4,c5] ~@3 [eb4,c5] ~",
  AN: "~@4 [e4,gb4,bb4]@2 ~@4 [e4,gb4,bb4] ~@3 [e4,gb4,bb4] ~", AO: "~@4 [c4,e4,g4,c5] ~@5 [e4,g4,c5] ~@3 [c4,f4,a4] ~",
  AP: "~@4 [a3,c4,f4,a4] ~@5 [c4,f4,a4] ~@3 [c4,e4,a4] ~", AQ: "~@4 [f4,bb4] ~@5 [d4,f4,bb4] ~@3 [d4,f4,bb4] ~",
  AR: "~@4 [d4,g4,bb4]@2 ~@4 [d4,g4,bb4] ~@3 [d4,g4,bb4] ~", AS: "~@2 [d4,g4,bb4] ~@2 [d4,g4,bb4] ~@2",
  AT: "~@4 [eb4,ab4,c5] ~@5 [eb4,ab4] ~@3 [eb4,ab4,c5] ~", AU: "~@4 [g4,bb4]@2 ~@4 [eb4,g4,bb4] ~@3 [g4,bb4] ~",
  AV: "~@4 [f4,a4]@2 ~@4 [a3,c4,f4,a4] ~@3 [c4,f4,a4] ~", AW: "~@4 [e4,a4] ~@5 [c4,e4,a4] ~@5",
  AX: "~@4 [c4,e4,a4] ~@5 [c4,e4,a4] ~@5", AY: "~@4 [c4,e4,a4] ~@5 [a3,c4,e4,a4] ~@5",
  AZ: "~@3 [g3,c4,e4] ~ [c4,e4] ~@2 [g3,c4,e4] ~@2 [g3,c4,e4] ~ [g3,c4,e4] ~@2", // C
})).s("gm_electric_guitar_clean").gain(0.33).pan(0.2)

// chords · electric guitar clean · "CLEAN GTR" · soft notes
const electric_guitar_clean_2 = note(`<
  ~@7 A ~@3 B ~ C ~ D ~ E F ~ G H ~ I J G@2 K G@3 L ~@2 M N O H P ~ Q ~@2 R G@2 ~ R S T U ~ O J V W X Y Z ~ AA AB ~ J G
  ~ K R G S L M F AC AD ~ AE H ~@2 B ~ G J G ~ G@2 ~ AF ~@2
>`.pickRestart({
  A: "~@10 e4 ~@5", B: "~@4 c4 ~@11", C: "~@7 a3", D: "~@5 a3 ~ bb3", E: "~@10 bb3 ~@3 bb3@2", F: "~@14 bb3 ~",
  G: "~@10 a3 ~@5", H: "~@14 eb4 ~", I: "~@14 e4 ~", J: "~@10 a3 ~@3 a3 ~", K: "~@10 c4 ~@5", L: "~@14 d4 ~",
  M: "~@10 bb3 ~@3 bb3 ~", N: "~@10 bb3 ~@3 c4@2", O: "~@4 a3 ~@5 a3 ~@5", P: "~@10 eb4 ~@3 eb4 ~", Q: "~@15 a3",
  R: "~@14 a3 ~", S: "~@4 a3 ~@9 a3 ~", T: "~@4 a3 ~@9 c4 ~", U: "~@10 c4 ~@3 a3 ~", V: "~@10 a3 ~@3 bb3 ~",
  W: "~@4 bb3 ~@11", X: "~@4 bb3 ~@5 bb3 ~@5", Y: "~@10 bb3 ~@5", Z: "~@2 bb3 ~@5", AA: "~@4 [c4,c5] ~@5 c4 ~@3 ab4 ~",
  AB: "~@10 db4 ~@5", AC: "~@4 bb3@2 ~@8 bb3 ~", AD: "~@5 bb3 ~@2", AE: "~@10 [c4,c5] ~@5", AF: "~@5 g3 ~@10",
})).s("gm_electric_guitar_clean").gain(0.11).pan(0.2)

// drums · kick
const kick = s("bd").struct(`<
  ~@4 A@3 B A B A@3 B A C A@5 C A C A C A@3 B A C A C A@3 B A@4 D A@3 D A@3 C A@3 C A B A C A B A C A B A B A@3 C A@10 D
  A B A D B@2 A D E ~
>`.pickRestart({
  A: "x ~@2 x!2 ~@2 x", B: "x ~@2 x!3 ~ x", C: "x ~@2 x!2 ~ x ~", D: "x ~@2 x ~ x ~@2 x ~@2 x ~ x ~@2", E: "x",
})).gain(0.49)

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

// drums · low tom
const low_tom = s("lt").struct("<~@19 A ~@22 B ~@3 C ~@7 A ~@26 D ~@3 E ~@3 F ~@2>".pickRestart({
  A: "~@7 x", B: "~@5 x ~@5 x ~ x ~@2", C: "~@11 x ~@2 x ~", D: "~@11 x ~ x ~@2", E: "~@3 x ~ x ~@5 x ~@4", F: "~ x",
})).gain(0.33)

// drums · low tom · soft notes
const low_tom_soft = s("lt").struct("<~@23 A ~@7 B ~@10 C ~@11 A ~@37>".pickRestart({
  A: "~@3 x", B: "~@5 x ~@2", C: "~@3 x ~@4 x ~@7",
})).gain(0.11)

// drums · hihat
const hihat = s("hh").struct(`<
  ~@4 A@15 B C A@2 B C A@6 B C A@9 ~ C A@2 ~ C A@6 B C A@6 D C A@6 B C A@9 E C A@2 ~ C A@2 ~@2 E
>`.pickRestart({
  A: "x!8", B: "x!4 ~@4", C: "~@2 x!6", D: "x!6 ~@2", E: "x",
})).gain(0.16)

// drums · mid tom
const mid_tom = s("mt").struct("<~@19 A ~@3 B ~@7 C ~@14 D ~@7 E ~@7 F ~@7 G ~@10 H ~@3 I ~@3 J K ~>".pickRestart({
  A: "~@12 x!2 ~@2", B: "~@5 x ~@2", C: "~@9 x ~ x ~@4", D: "~@5 x ~@2 x ~@7", E: "~@10 x!2 ~ x ~ x", F: "~@7 x",
  G: "~@10 x ~@2 x ~@2", H: "~@3 x ~ x ~@2 x ~@7", I: "~@8 x ~@4 x ~@2", J: "~@3 x ~ x ~@5 x ~@4", K: "~@14 x!2",
})).gain(0.38)

// drums · mid tom · soft notes
const mid_tom_soft = s("mt").struct("<~@23 A ~@7 B ~@14 C ~@23 D ~@18 E ~@2>".pickRestart({
  A: "~@11 x ~ x ~@2", B: "~ x", C: "~@3 x ~@12", D: "~@3 x", E: "~@13 x ~@2",
})).gain(0.05)

// drums · high tom
const high_tom = s("ht").struct("<~@19 A ~@3 B ~@7 C ~@22 B ~@7 D ~@7 E ~@10 F ~@3 G ~@3 H ~ I>".pickRestart({
  A: "~@9 x ~ x ~@4", B: "~@8 x!2 ~@6", C: "~@15 x", D: "~@12 x!2 ~ x", E: "~@8 x!2 ~ x ~@4",
  F: "~@3 x ~ x ~@2 x ~@2 x ~ x ~@2", G: "~@3 x ~ x ~@5 x ~ x ~@2", H: "~@3 x ~ x ~@2 x ~@2 x ~@4", I: "x",
})).gain(0.27)

// drums · high tom · soft notes
const high_tom_soft = s("ht").struct("<~@19 A ~@11 B ~@10 C ~@3 D ~@42 B ~@2>".pickRestart({
  A: "~ x", B: "~@13 x ~@2", C: "~@3 x ~@4 x ~@2 x ~@2 x ~", D: "~@3 x ~ x ~@2 x ~@2 x ~ x ~@2",
// … 19 more lines

More by Lewis