Strudelify

Ik bel je zomaar even op

Gordon

KeyB♭ majorTempo172 bpm
0:00/0:00
// Ik bel je zomaar even op — Gordon
// 172 bpm, 4/4, key A# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 160 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): JAZZ GTR.
setcpm(172/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 · epiano2 · "E.PIANO 2"
const epiano2 = note(`<
  A@2 B@2 A@2 C@2 D@2 E@2 F@2 B@2 G@2 H@2 I@2 J K L@2 M@2 N@2 O P Q@2 R@2 I@2 S K L@2 T@2 N@2 U@2 V W X@2 Y Z AA@2 V W
  X@2 AB@2 AC AD G@2 H@2 I@2 J K L@2 M@2 N@2 O P Q@2 R@2 I@2 S K L@2 T@2 N@2 U@2 V W X@2 Y Z AA@2 V W X@2 AB@2 AC AD
  AE@2 AF@2 AG@2 AH@2 AI@2 AJ@2 AK@2 AL@2 AM AN AO@2 AP AQ AR@2 AM AN AO@2 AS@2 AT AU AM AN AO@2 AP AQ AR@2 AM AN AO@2
  AS@2 AT AU
>`.pickRestart({
  A: "[[bb3,d4,f4]@29 ~@3]/2", B: "[[bb3,c4,eb4,g4]@15 ~]/2", C: "[~@24 c5@7 ~, [bb3,c4,eb4,g4]@31 ~]/2",
  D: "[[bb3,d4,f4,bb4]@29 ~@3]/2", E: "[~ [bb4,eb5], [bb3,c4,eb4,g4]@15 ~]/2", F: "[[bb3,d4,f4]@23 ~ [bb3,d4,f4]@8]/2",
  G: "[[bb3,f4,bb4,d5]@29 ~@3]/2", H: "[eb5@23 ~ eb5@4 c5@4, [bb3,g4,bb4]@15 ~, c5@27 ~@5]/2",
  I: "[[bb3,f4,bb4,d5]@23 ~ [bb3,f4,bb4,d5]@7 ~]/2", J: "[g3,g4,bb4,eb5]", K: "[a3,f4,a4,c5]",
  L: "[[f4,g4,bb4,d5]@23 ~ [f4,g4,bb4,d5]@7 ~, g3@29 ~@3]/2", M: "[[f4,a4,c5,d5]@23 ~ [f4,a4,c5,d5]@7 ~, a3@15 ~]/2",
  N: "[[eb4,g4,bb4,d5]@23 ~ [eb4,g4,bb4,d5]@7 ~, eb3@31 ~]/2", O: "[c4,g4,bb4,c5,eb5]", P: "[f3,g4,bb4,c5,eb5]",
  Q: "[~@24 f5@7 ~, [f4,bb4,d5]@31 ~, bb3@29 ~@3]/2", // Bb
  R: "[eb5@16 [d5,f5]@7 ~ [c5,eb5]@8, [bb3,g4,bb4]@15 ~, c5@23 ~@9]/2", S: "[g3,eb4,g4,bb4]",
  T: "[c5@16 ~@8 d5@7 ~, [a3,f4,a4]@31 ~, d5@23 ~@9, ~@16 c5@15 ~]/2", // Dm
  U: "[[c4,g4,bb4,c5,eb5]@15 ~@9 [g4,bb4,c5,eb5]@8, ~@15 [g4,bb4,c5,eb5]@9 ~@8, ~@16 f3@15 ~]/2", V: "[bb2,d4,f4,bb4]",
  W: "[c3,c4,eb4,a4]@7 ~ [d3,d4,f4,ab4]@7 ~", X: "[eb3,eb4,g4,bb4,d5]@15 ~", Y: "[c3,g4,bb4,c5,eb5]",
  Z: "[d3,c4,f4,bb4,c5]@7 ~ [d3,d4,f4,bb4,d5]@7 ~", // Bb
  AA: "[[f4,g4,bb4,d5]@10 ~ [f4,g4,bb4,d5]@4 ~@9 [g4,bb4,c5,eb5]@8, g3@15 [g4,bb4,c5,eb5]@9 ~@8, ~@16 f3@15 ~]/2", // Gm7 Cm7
  AB: "[[f3,eb4,g4,bb4,c5]@14 ~@2 f3@7 ~@5 c5@4, ~@15 [eb4,g4,bb4,d5]@7 ~ [eb4,g4,bb4]@9, ~@24 f3@7 ~]/2", // Cm7 Ebmaj7 Eb
  AC: "[f3,eb4,g4,bb4,c5]@15 ~", AD: "[eb4,g4,bb4,c5]@6 ~ [eb4,g4,bb4,c5]@9, f3@15 ~",
  AE: "[bb4@16 bb4@6 ~ [f4,g4,c5]@9, g3@29 ~@3, [f4,g4,d5]@11 ~@5]/2", // Fsus2 G7
  AF: "[bb4@16 bb4@7 ~ [c4,gb4,bb4,c5]@7 ~, gb3@15 ~, [c4,gb4,d5]@23 ~@9]/2", // Cm7b5 D7
  AG: "[d5@15 ~ d5@7 ~ [d4,f4,bb4]@7 ~, f3@31 ~, [d4,f4,bb4]@23 ~@9]/2", // Bb
  AH: "[[e3,e4,g4,bb4]@15 ~ [e4,g4,bb4]@6 ~ [e4,g4,bb4]@5 [e4,g4,bb4] ~@3, d5@29 ~@3, ~@16 e3@15 ~]/2", // Edim
  AI: "[[c4,eb4,g4,bb4]@23 ~ [c4,eb4,g4,bb4]@7 ~, c3@29 ~@3]/2", // Cm7
  AJ: "[bb4@16 bb4@8 [bb3,d4,f4,bb4]@7 ~, d3@15 ~, [bb3,d4,f4]@3 ~]/2", // Bb
  AK: "[[d4,f4,bb4]@13 ~@2 [c4,f4,a4]@16 ~, f3@31 ~]/2", // Bb F
  AL: "[[g3,e4,g4,c5]@14 ~ [d4,g4,b4]@9 [d4,g4,b4]@8, ~@15 g3@15 ~@2]/2", AM: "[c3,e4,g4,c5]",
  AN: "[d3,d4,f4,b4]@7 ~ [e3,e4,g4,bb4]@7 ~", AO: "[f3,f4,a4,c5,e5]@15 ~", AP: "[d3,a4,c5,d5,f5]",
  AQ: "[e3,d4,g4,c5,d5]@7 ~ [e3,e4,g4,c5,e5]@7 ~", // C
  AR: "[[g4,a4,c5,e5]@10 ~ g4@4 ~@9 [a4,c5,d5,f5]@8, a3@15 ~ g3@15 ~, ~@10 [a4,c5,e5]@4 ~ [a4,c5,d5,f5]@9 ~@8]/2", // Am7 Dm7 Am Dm7
  AS: "[[g3,f4,a4,c5,d5]@14 ~@2 g3@7 ~@5 d5@4, ~@15 [f4,a4,c5,e5]@7 ~ [f4,a4,c5]@9, ~@24 g3@7 ~]/2", // Dm7 Fmaj7 F
  AT: "[g3,f4,a4,c5,d5]@15 ~", AU: "[f4,a4,c5,d5]@6 ~ [f4,a4,c5,d5]@9, g3@15 ~",
})).s("gm_epiano2").gain(0.48)

// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
  A B A C A D A E A C A F A C A G A H A C A I J K L M N O P Q R S A H A C A I J K L M N T P Q R S U V P W X Y Z AA U AB
  P AC AD AE AF AG A H A C A I J K L M N O P Q R S A H A C A I J K L M N T P Q R S U V P W X Y Z AA U AB P AC AD AE AF
  AG AH AI AJ AK N AL AM AN AO AP AQ AR N AS AT AU X AV N AW AX AY AZ BA X BB N BC AT BD L BE X AV N AW AX AY AZ BA X BB
  N BC AT BD L BE
>`.pickRestart({
  A: "bb1 ~@3 bb1 ~@3 bb1@4 ~@3 bb1", B: "~@3 bb1 ~@3 bb1 bb1@4 ~@4", C: "~@3 bb1 ~@3 bb1 bb1@2 ~ bb1 f1@4",
  D: "~@3 bb1 ~@3 bb1 bb1@4 ~@3 f1", E: "~@3 bb1 ~@3 bb1 f1@2 ~ f1 g1 ~@2 g1",
  F: "~@3 bb1 ~@3 bb1 bb1@2 ~ bb1 f1@2 ~ f1", G: "~@3 bb1 f2 g2@2 bb2 bb2@2 ~ bb2 g2@4",
  H: "~@3 bb1 ~@3 bb1 bb1@4 f1@4", I: "~@3 bb1 ~@3 bb1 bb1@2 ~ bb1 bb1@4", J: "g1 ~@3 g1 ~@3 g1@4 ~@3 a1",
  K: "~@3 a1 ~@3 a1 a1@4 f1@2 ~ f1", L: "g1 ~@3 g1 ~@3 g1@4 ~@3 g1", M: "~@3 g1 ~@3 g1 g1@4 c2@4",
  N: "f2 ~@3 f2 ~@3 f2@4 ~@3 f2", O: "~@3 f2 ~@3 f2 f2@4 d2@4", P: "eb2 ~@3 eb2 ~@3 eb2@4 ~@3 eb2",
  Q: "~@3 eb2 ~@3 eb2 eb2@3 eb2 d2@4", R: "c2 ~@3 c2 ~@3 c2@4 ~@3 f2", S: "~@3 f2 ~@3 f2 c2@4 f2@4",
  T: "~@3 f2 ~@3 f2 f2@2 ~ f2 d2@4", U: "bb1 ~@3 bb1 ~@3 bb1@4 ~@3 c2", V: "~@3 c2 ~@3 c2 d2@7 ~",
  W: "~@3 eb2 ~@3 eb2 eb2@2 ~ eb2 d2@4", X: "c2 ~@3 c2 ~@3 c2@4 ~@3 d2", Y: "~@3 d2 ~@3 d2 d2@3 ~ d2@4",
  Z: "g1 ~@3 g1 ~@3 g1@4 ~@3 f1", AA: "~@3 f1 ~@3 f1 f1@4 f2@4", AB: "~@3 c2 ~@3 c2 d2@4 f1@4",
  AC: "~@3 eb2 ~@3 bb1 eb2@3 ~ e2@4", AD: "f2 ~@3 f2 ~@3 f2@3 ~ f2@2 ~ f1", AE: "~@3 f1 ~@3 f1 f1@3 ~ f2@4",
  AF: "f1 ~@3 f1 ~@3 f1@4 ~@3 f1", AG: "~@3 f1 ~@3 f1 f1@4 f1@4", AH: "g2 ~@3 g2 ~@3 g2@4 ~@3 g2",
  AI: "~@3 g2 ~@3 g2 g2@3 ~ g2@4", AJ: "gb2 ~@3 gb2 ~@3 gb2@4 ~@3 gb2", AK: "~@3 gb2 ~@3 gb2 gb2@3 ~ gb2@3 ~",
  AL: "~@3 f2 ~@3 f2 f2@3 ~ f2@4", AM: "e2 ~@3 e2 ~@3 e2@4 ~@3 e2", AN: "~@3 e2 ~@3 e2 e2@3 ~ e2@4",
  AO: "c2 ~@3 c2 ~@3 c2@4 ~@3 c2", AP: "~@3 c2 ~@3 c2 c2@3 ~ c2@4", AQ: "d2 ~@3 d2 ~@3 d2@4 ~@3 d2",
  AR: "~@3 d2 ~@3 d2 d2@3 ~ c2@2 ~ d2", AS: "~@3 f2 ~@3 f2 f2@2 ~ f2 f2@4", AT: "g2 ~@3 g2 ~@3 g2@3 ~ g2@2 ~ g1",
  AU: "~@3 g1 ~@3 g1 g1@2 ~ g1 g2@2 ~ g2", AV: "~@3 d2 ~@3 d2 e2@3 ~ g2@3 ~", AW: "~@3 f2 ~@3 f2 f2@2 ~ f2 e2@4",
  AX: "d2 ~@3 d2 ~@3 d2@4 ~@3 e2", AY: "~@3 e2 ~@3 e2 e2@3 ~ d2@4", AZ: "a1 ~@3 a1 ~@3 a1@4 ~@3 g1",
  BA: "~@3 g1 ~@3 g1 g1@4 g2@4", BB: "~@3 d2 ~@3 d2 e2@4 g2@4", BC: "~@3 f2 ~@3 c2 f2@3 ~ gb2@4",
  BD: "~@3 g1 ~@3 g1 g1@3 ~ g2@4", BE: "~@3 g1 ~@3 g1 g1@4 g1@4",
})).s("gm_electric_bass_finger").gain(0.35)

// chords · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note(`<
  A@16 ~@8 B@2 C@2 D@2 E@2 F@4 G@4 H@8 I@8 J@8 D@2 K@2 D@2 L M B@2 N@2 D@2 E@2 F@4 O@4 P@8 Q@8 R@8 S@6 T@6 U@5 V@7 W X@8
  V@7 Y@8
>`.pickRestart({
  A: "[[f4,bb4,d5]@31 ~ [c5,eb5]@32, ~@31 g4@32 ~]/4", B: "bb4/2", C: "c5/2", D: "d5/2", E: "[eb5@31 ~]/2",
  F: "[[f4,bb4,d5,f5]@31 ~ [c5,eb5]@15 ~@9 eb5@8, ~@31 g4@32 ~, ~@47 d5@8 c5@8 ~, ~@48 f5@9 ~@7]/4", // Bb Cm
  G: "[~@8 f5@23 ~@17 [c5,f5,a5]@16, [f4,bb4,d5]@31 g4@16 a4@16 ~, ~@32 [bb4,eb5,g5]@17 ~@15]/4", // F Bb Eb
  H: "[[d4,g4,bb4,bb5]@31 ~@17 f5@15 ~ [eb4,bb4,d5]@31 ~@16 f5@7 bb5@6 c6@3 [bb4,d6], ~@31 d4@32 ~@33 [c5,eb5]@32, ~@31 a5@16 ~@16 g5@32 bb5@16 ~@17, ~@32 [f4,c5]@32 ~@31 g4@32 ~]/8", // Gm Ebmaj7 Bb Cm F5
  I: "[[d5,f5]@15 ~ [c5,eb5]@8 d5@7 ~ g6@31 ~ bb4@15 ~ c5@7 f6@8 ~ g6@15 ~ f6@15 bb4, ~@15 [a4,eb6]@9 [ab4,f5,f6]@9 ~@30 [eb4,bb5]@16 bb4@47 ~@2, ~@31 [g4,bb4,d5]@33 g4@16 f4@15 g4@16 [f4,eb5]@17, ~@79 c6@8 d5@24 ~@17]/8", // Dm Cm Adim Db Eb5 Gm F7
  J: "[[d5,f5,d6]@15 ~ [c5,eb5]@8 d5@7 ~ g6@15 bb6@16 ~ c5@15 d5@17 [g4,eb5]@32, ~@15 [a4,eb6]@9 [ab4,f5,f6]@9 ~@30 f6@64 ~, ~@31 [g4,bb4,d5]@33 bb4@64, ~@2 f4 ~]/8", // Dm Cm Adim Db Gm
  K: "eb5/2", L: "eb5", M: "f5", N: "[c5@31 ~]/2",
  O: "[~@8 f5@23 ~@17 [f5,a5]@8 f5@8, [f4,bb4,d5]@31 g4@16 a4@16 ~, ~@2 [bb4,eb5,g5] c5]/4", // F Bb Eb
  P: "[[d4,g4,bb4,bb5]@31 ~@16 f5@16 ~ [eb4,bb4,d5]@31 ~@16 f5@7 bb5@6 c6@3 [bb4,d6], ~@31 d4@32 ~@33 [c5,eb5]@32, ~@31 a5@16 ~@16 g5@32 bb5@16 ~@17, ~@32 [f4,c5]@32 ~@31 g4@32 ~]/8", // Gm Ebmaj7 Bb Cm F5
  Q: "[[d5,f5]@15 ~ [c5,eb5]@7 ~ d5@7 ~ g6@31 ~ bb4@15 ~ c5@7 f6@8 ~ g6@15 ~ f6@15 bb4, ~@15 [a4,eb6]@8 f6@8 [g4,bb4,d5]@33 g4@16 f4@15 g4@16 [f4,eb5]@17, ~@24 [ab4,f5]@9 ~@30 [eb4,bb5]@16 bb4@47 ~@2, ~@79 c6@8 d5@24 ~@17]/8", // Dm Cm Adim Gm F7 Db Eb5
  R: "[[d5,f5,d6]@15 ~ [c5,eb5]@7 ~ d5@7 ~ g6@15 bb6@16 ~ c5@15 d5@17 [g4,eb5]@32, ~@15 [a4,eb6]@8 f6@8 [g4,bb4,d5]@33 bb4@64, ~@24 [ab4,f5]@9 ~@30 f6@64 ~, ~@2 f4 ~]/8", // Dm Cm Adim Gm Db
  S: "[[bb5,bb6]@24 [c6,c7]@7 ~@48 [d5,d6]@8 ~ f5@8, d5@79 bb4@17, g4@31 gb4@32 ~ f4@32, ~@32 [bb5,bb6]@49 ~@6 f6@9]/6", // Bb C D Bb
  T: "[[g5,g6]@15 ~@17 [g4,bb5,bb6]@24 [g5,g6]@7 ~ [d5,f5]@31 bb6, e4@31 eb5@32 ~@33, ~@15 c7@17 ~@31 f6@33, ~@16 c6@17 ~@23 bb4@40]/6", // G Gm G Dm
  U: "[[d5,bb5]@13 ~ a6@17 e5@15 [b4,d5]@17 ~ [e5,g5]@15 [b4,f6], f5@2 ~@3, ~@13 a5@18 [g5,g6]@32 ~@17, ~@14 c5@32 ~@17 [c5,e6]@16 ~]/5", // Gm Bm Em Bdim G C
  V: "[[d5,f5]@7 ~ e5@7 ~ a6@31 [f4,a4,c5,c6]@16 ~@8 g6@8 ~ a6@15 ~ g6@15 c5, ~@7 g6@8 [a4,c5,e5]@33 ~@15 [d5,d6]@8 e5@24 ~@17, ~@8 [bb4,g5]@9 ~@46 c5@47 ~@2, ~@64 g4@15 a4@16 [g4,f5]@17]/7", // Dm F Am D Eb G7
  W: "[e5,g5,e6]@15 [b4,f6]", // Em Bdim
  X: "[[d5,f5]@7 ~ e5@7 ~ a6@15 c7@16 ~ d5@15 e5@17 [a4,f5]@31 ~ [e5,g5]@15 [b4,f6], ~@7 g6@8 [a4,c5,e5]@33 c5@63 [c5,e6]@17, ~@8 [bb4,g5]@9 ~@30 g6@64 ~@17, ~@3 g4@2 ~@3]/8", // Dm Em Bdim Am C Eb
  Y: "[[e5,g5,e6]@15 ~ [d5,f5]@7 ~ e5@7 ~ a6@15 c7@16 ~ d5@15 e5@17 [a4,f5]@32, ~@15 [b4,f6]@8 g6@8 [a4,c5,e5]@33 c5@64, ~@24 [bb4,g5]@9 ~@30 g6@64 ~, ~@2 g4 ~]/8", // Em Dm Bdim Am Eb
})).s("gm_string_ensemble_2").gain(0.4).pan(0.4)

// chords · string ensemble 2 · "SLOWSTRING" · soft notes
const string_ensemble_2_soft = note("<~@24 A@4 B@4 ~@32 C@4 D@4 A@4 B@4 ~@80>".pickRestart({
  A: "[[d4,g4]@31 ~ f4@32, ~@31 d4@32 ~]/4", B: "[[eb4,bb4]@31 ~ c5@32, ~@31 g4@32 ~]/4",
  C: "[[f4,bb4]@31 ~ c5@32, ~@31 g4@32 ~]/4", D: "[[f4,bb4]@31 ~ bb4@15 ~ c5@16, ~@31 g4@16 a4@16 ~]/4",
})).s("gm_string_ensemble_2").gain(0.24).pan(0.4)

// chords · brass section · "BRASS 1"
const brass_section = note(`<
  ~@47 A ~@2 B C ~@2 D E ~@2 F@2 G H G I ~@15 J ~@2 K@3 ~ L M N@2 O P@2 Q R S ~@2 B C ~@2 D E ~@2 F@2 T U V W ~@12 X Y Z
  AA ~@2 AB AC ~@2 AD AE ~@2 AF@2 AG AH@2 AI ~@2 AB AC ~@2 AD AE ~@2 AF@2 AG AH@2 AI
>`.pickRestart({
  A: "f4@6 bb4@5 ~ c5 ~@3", B: "~@8 bb4@3 g4 f4@2 bb4 ~", C: "~@2 bb4 ~@3 bb4@5 ~ g4@3 ~",
  D: "~@11 bb4@5, ~@10 [f4,g4,d5]@5 ~", E: "[eb4,g4,bb4,c5,f5]@15 ~", F: "[~@8 bb4@3 ~ c5@2 bb4@17 ~]/2",
  G: "[f4,f5]@15 ~", H: "[f4,f5]@6 [f4,f5]@5 ~ [f4,f5]@4", I: "[f4,f5] ~@5 [f4,bb4,c5,f5]@4 [f4,f5] [bb4,c5] ~@4",
  J: "~@11 g4 f4 g4 bb4 ~", K: "[~@12 g4@2 a4 bb4@5 g4@2 ~@2 f4@2 g4 ~@4 bb3@17, ~@11 f4@2 ~@35]/3",
  L: "~@4 bb4 ~@3 bb4@2 ~@2 bb4@2 d5 ~, ~@11 g4@2 ~@3", M: "~@2 c5 ~@3 bb4 ~@3 f4@6", N: "[d4@24 ~@3 g4 ~@4]/2",
  O: "f4", P: "[~@4 f4 ~@2 d4 g4@2 [ab4,a4,bb4] ~@3 bb4@9 ~ bb4 ~@3 bb4@2 d5 ~, ~@27 g4@2 ~@3]/2",
  Q: "~@2 c5 ~@3 bb4@6 g4 ~@3", R: "g4 ~@2 g4!2 a4 ~ bb4!2 c5 ~ d5 d5@3 eb5", S: "~@3 d5 ~@2 bb4@5 ~ f4 g4 bb4 ~",
  T: "[f4,f5]@3 ~", U: "[f4,f5]@6 [f4,f5,bb5]@5 ~ [f4,f5,c6]@4", V: "[f4,f5,f6], e6 ~@15",
  W: "[f5,bb5]@2 ~@7 b5 [eb4,db5,f5,bb5] [d4,c5,e5,a5] ~@4, [f4,d6] ~@5 [f4,eb5,g5,c6]@5 ~@5, ~@9 [e4,d5,gb5]@2 ~@5", // Bb5 Bbm Am Dm Cm D
  X: "[f4,bb4,d5] ~@3 [f4,bb4,d5] ~@3 [f4,bb4,d5]@6 [f4,a4,c5] ~", // Bb F
  Y: "~@2 [f4,a4,c5] ~@3 [f4,a4,c5]@3 ~ [f4,a4,c5] ~ [a4,c5,f5] ~@3", // F
  Z: "~@4 [e4,g4,c5,e5] ~@3 [e4,g4,c5,e5]@2 [d4,b4,d5] g4 [e4,g4,c5,e5]@2 [d4,g4,b4,d5] ~", // C G C G
  AA: "~@2 [d4,g4,b4,d5] ~@7 [c5,db5] [e4,f4,a4,e5,f5] [g4,b4,d5,g5]@2 [e4,g4,c5,e5] ~, ~@6 [d4,g4,b4,d5]@6 bb4 ~@3", // G Dbmaj7 Fmaj7 G C G
  AB: "~@8 c5@2 a4 ~ g4@2 c5 ~", AC: "~@2 c5 ~@3 c5@5 ~ a4@3 ~", AD: "~@10 [g4,a4,c5,e5,g5]@5 ~",
  AE: "[f4,a4,c5,d5,g5]@15 ~", AF: "[~@8 c5@3 ~ d5@2 c5@17 ~]/2", AG: "[g4,g5]",
  AH: "[~@4 [e4,e5]@2 [d4,d5] ~@3 [c4,c5] ~@3 [g3,g4]@15 ~ [e4,e5] ~]/2", // E D C G E
  AI: "~@2 [d4,d5] ~@3 [c4,c5] ~@3 [g4,g5] ~ [e4,e5] [d4,d5] [c4,c5] ~", // D C G E D C
})).s("gm_brass_section").gain(0.64).pan(0.7)

// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note(`<
  A B C D A B C D A B C D A B C D E B C D E F G H I J K L M N O P E B C D E F G H I J K L M N O P Q R O P S T U P Q R O
  P V T W X E B C D E F G H I J K L M N O P E B C D E F G H I J K L M N O P Q R O P S T U P Q R O P V T W X Y Z AA AB E
  F AC AD AE AF W X AG AH AI AJ AK AL AM AN AO AP AQ AN AK AL AM AN AR AP AS AT AK AL AM AN AO AP AQ AN AK AL AM AN AR
  AP AS AU
>`.pickRestart({
  A: "[d4,f4,bb4] ~@3 [d4,f4,bb4] ~@3 [d4,f4,bb4]@4 ~@3 [d4,f4,bb4]", // Bb
  B: "~@3 [d4,f4,bb4] ~@3 [d4,f4,bb4]@4 [f4,bb4] ~@3 [f4,bb4]", // Bb Bb5
  C: "[eb4,g4,c5] ~@3 [eb4,g4,c5] ~@3 [eb4,g4,c5]@4 [eb4,g4] ~@2 [eb4,g4,c5]", // Cm Eb Cm
  D: "~@3 [eb4,g4,c5] ~@3 c5 c5@2 ~ [g4,c5] ~@3 [g4,c5], ~@7 [eb4,g4]@5 ~@4", // Cm C5 Eb
  E: "[d4,f4,bb4] ~@3 [d4,f4,bb4] ~@3 [d4,f4,bb4]@4 [d4,f4,bb4] ~@2 [d4,f4,bb4]", // Bb
  F: "~@3 [d4,f4,bb4] ~@3 [d4,f4,bb4]@4 [f4,bb4] ~@3 [d4,f4]", // Bb Bb5 Dm
  G: "[bb3,eb4,g4] ~@3 [bb3,eb4,g4] ~@3 [bb3,eb4,g4]@4 [bb3,eb4] ~@2 [c4,f4,a4]", // Eb Eb5 F
  H: "~@3 [c4,f4,a4] ~@3 a4 a4@2 ~ [f4,a4] ~@3 [f4,a4], ~@7 [c4,f4]@5 ~@4", // F F5
  I: "[d4,g4,bb4] ~@3 [d4,g4,bb4] ~@3 [d4,g4,bb4]@4 [d4,g4,bb4] ~@2 [d4,g4,bb4]", // Gm
  J: "~@3 [d4,g4,bb4] ~@3 [d4,g4,bb4]@4 [g4,bb4] ~@3 [g4,bb4]", // Gm
  K: "[d4,f4,a4] ~@3 [d4,f4,a4] ~@3 [d4,f4,a4]@4 [d4,f4] ~@2 [d4,f4,a4]", // Dm
  L: "~@3 [d4,f4,a4] ~@3 a4 a4@2 ~ [f4,a4] ~@3 [f4,a4], ~@7 [d4,f4]@5 ~@4", // Dm F Dm
  M: "[eb4,g4,bb4] ~@3 [eb4,g4,bb4] ~@3 [eb4,g4,bb4]@4 [eb4,g4,bb4] ~@2 [eb4,g4,bb4]", // Eb
  N: "~@3 [eb4,g4,bb4] ~@3 [eb4,g4,bb4]@4 [g4,bb4] ~@3 [eb4,g4]", // Eb Gm Eb
  O: "[eb4,g4,bb4] ~@3 [eb4,g4,bb4] ~@3 [eb4,g4,bb4]@4 [eb4,g4] ~@2 [eb4,g4,bb4]", // Eb
  P: "~@3 [eb4,g4,bb4] ~@3 bb4 bb4@2 ~ [g4,bb4] ~@3 [g4,bb4], ~@7 [eb4,g4]@5 ~@4", // Eb Gm Eb
  Q: "[d4,f4,bb4] ~@3 [d4,f4,bb4] ~@3 [d4,f4,bb4]@4 [d4,f4,bb4] ~@2 [c4,eb4,a4]", // Bb Adim
  R: "~@3 [c4,eb4,a4] ~@3 [c4,eb4,a4] [f4,ab4]@2 ~ [f4,ab4] ~@3 [f4,ab4], ~@8 d4@3 ~@5", // Adim Fm
  S: "[bb3,eb4,g4] ~@3 [bb3,eb4,g4] ~@3 [bb3,eb4,g4]@4 [bb3,eb4,g4] ~@2 [c4,f4,bb4]", // Eb Fsus4
  T: "~@3 [c4,f4,bb4] ~@3 [c4,f4,bb4]@4 [f4,bb4] ~@3 [c4,f4]", // Fsus4 Bb5 F5
  U: "[d4,g4,bb4] ~@3 [d4,g4,bb4] ~@3 [d4,g4,bb4]@4 [d4,g4] ~@2 [eb4,g4,bb4]", // Gm G5 Eb
  V: "[c4,f4,bb4] ~@3 [c4,f4,bb4] ~@3 [c4,f4,bb4]@4 [c4,f4,bb4] ~@2 [c4,f4,bb4]", // Fsus4
  W: "[c4,f4,bb4] ~@3 [c4,f4,bb4] ~@3 [c4,f4,bb4]@4 [c4,f4] ~@2 [c4,f4,bb4]", // Fsus4 F5 Fsus4
  X: "~@3 [c4,f4,bb4] ~@3 bb4 bb4@2 ~ [f4,bb4] ~@3 [f4,bb4], ~@7 [c4,f4]@5 ~@4", // Fsus4 Bb5 F5
  Y: "[bb3,d4,g4] ~@3 [bb3,d4,g4] ~@3 [bb3,d4,g4]@4 [bb3,d4,g4] ~@2 [bb3,d4,g4]", // Gm
  Z: "~@3 [bb3,d4,g4] ~@3 [bb3,d4,g4]@4 [d4,g4] ~@3 [d4,g4]", // Gm G5
  AA: "[d4,gb4,bb4] ~@3 [d4,gb4,bb4] ~@3 [d4,gb4,bb4]@4 [d4,gb4] ~@2 [d4,gb4,bb4]", // Daug D Daug
  AB: "~@3 [d4,gb4,bb4] ~@3 bb4 bb4@2 ~ [gb4,bb4] ~@3 [gb4,bb4], ~@7 [d4,gb4]@5 ~@4", // Daug Gb D
  AC: "[e4,g4,bb4] ~@3 [e4,g4,bb4] ~@3 [e4,g4,bb4]@4 [e4,g4] ~@2 [e4,g4,bb4]", // Edim Em Edim
  AD: "~@3 [e4,g4,bb4] ~@3 bb4 bb4@2 ~ [g4,bb4] ~@3 [g4,bb4], ~@7 [e4,g4]@5 ~@4", // Edim Gm Em
  AE: "[bb3,eb4,g4] ~@3 [bb3,eb4,g4] ~@3 [bb3,eb4,g4]@4 [bb3,eb4,g4] ~@2 [bb3,eb4,g4]", // Eb
  AF: "~@3 [bb3,eb4,g4] ~@3 [bb3,eb4,g4]@4 [eb4,g4] ~@3 [eb4,g4]", // Eb
  AG: "[d4,f4,bb4] ~@3 [d4,f4,bb4] ~@3 [d4,f4,bb4]@4 [d4,f4,bb4] ~@2 [c4,f4,a4]", // Bb F
  AH: "~@3 [c4,f4,a4] ~@3 [c4,f4,a4]@4 [f4,a4] ~@3 [c4,f4]", // F F5
  AI: "[e4,g4,c5] ~@3 [e4,g4,c5] ~@3 [e4,g4,c5]@4 [e4,g4] ~@2 [d4,g4,b4]", // C Em G
  AJ: "~@3 [d4,g4,b4] ~@3 b4 b4@2 ~ [g4,b4] ~@3 [g4,b4], ~@7 [d4,g4]@5 ~@4", // G G5
  AK: "[e4,g4,c5] ~@3 [e4,g4,c5] ~@3 [e4,g4,c5]@4 [e4,g4,c5] ~@2 [d4,f4,b4]", // C Bdim
  AL: "~@3 [d4,f4,b4] ~@3 [d4,f4,b4] [g4,bb4]@2 ~ [g4,bb4] ~@3 [g4,bb4], ~@8 e4@3 ~@5", // Bdim Gm
  AM: "[f4,a4,c5] ~@3 [f4,a4,c5] ~@3 [f4,a4,c5]@4 [f4,a4] ~@2 [f4,a4,c5]", // F
  AN: "~@3 [f4,a4,c5] ~@3 c5 c5@2 ~ [a4,c5] ~@3 [a4,c5], ~@7 [f4,a4]@5 ~@4", // F Am F
  AO: "[c4,f4,a4] ~@3 [c4,f4,a4] ~@3 [c4,f4,a4]@4 [c4,f4,a4] ~@2 [d4,g4,c5]", // F Csus2
  AP: "~@3 [d4,g4,c5] ~@3 [d4,g4,c5]@4 [g4,c5] ~@3 [d4,g4]", // Csus2 C5 G5
  AQ: "[e4,a4,c5] ~@3 [e4,a4,c5] ~@3 [e4,a4,c5]@4 [e4,a4] ~@2 [f4,a4,c5]", // Am A5 F
  AR: "[d4,g4,c5] ~@3 [d4,g4,c5] ~@3 [d4,g4,c5]@4 [d4,g4,c5] ~@2 [d4,g4,c5]", // Csus2
  AS: "[d4,g4,c5] ~@3 [d4,g4,c5] ~@3 [d4,g4,c5]@4 [d4,g4] ~@2 [d4,g4,c5]", // Csus2 G5 Csus2
  AT: "~@3 [d4,g4,c5] ~@3 c5 c5@2 ~ [g4,c5] ~@3 [g4,c5], ~@7 [d4,g4]@5 ~@4", // Csus2 C5 G5
  AU: "~@3 [d4,g4,c5] ~@3 c5 c5@2 ~ [g4,c5] ~@4, ~@7 [d4,g4]@5 ~@4", // Csus2 C5 G5
})).s("gm_electric_guitar_clean").gain(0.4).pan(0.8)

// chords · electric guitar clean · "CLEAN GTR" · soft notes
const electric_guitar_clean_2 = note(`<
  ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ C ~ D ~ A ~ B ~ B ~ A ~ B ~ A ~ C ~ D ~ A ~ B ~ B ~ A ~ B ~ C ~ B ~ A ~
  B ~ C ~ C ~ A ~ B ~ A ~ C ~ D ~ A ~ B ~ B ~ A ~ B ~ A ~ C ~ D ~ A ~ B ~ B ~ A ~ B ~ C ~ B ~ A ~ B ~ C ~ C ~ E ~ F ~ A
  ~ G ~ H ~ C ~ C ~ D ~ G ~ I ~ D ~ I ~ G ~ I ~ D ~ D ~ G ~ I ~ D ~ I ~ G ~ I ~ D ~ J
>`.pickRestart({
  A: "~@12 [d4,f4] ~@3", B: "~@12 [eb4,g4] ~@3", C: "~@12 [c4,f4] ~@3", D: "~@12 [d4,g4] ~@3", E: "~@12 [bb3,d4] ~@3",
  F: "~@12 [d4,gb4] ~@3", G: "~@12 [e4,g4] ~@3", H: "~@12 [bb3,eb4] ~@3", I: "~@12 [f4,a4] ~@3",
  J: "~@12 g4@3 ~, ~@12 d4 ~@3",
})).s("gm_electric_guitar_clean").gain(0.24).pan(0.8)

// drums · kick
// … 49 more lines

More by Gordon