Strudelify
December '63 (Oh What a Night) cover art

Love Songs (disc 1)

December '63 (Oh What a Night)

The Four Seasons

KeyD♭ majorTempo105 bpm
0:00/0:00
// December '63 (Oh What a Night) — The Four Seasons
// 105 bpm, 4/4, key C# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 173 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(105/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 · "Piano 1"
const piano = note(`<
  ~@25 A B A C A B A C A B A C A B A C D E F G H I J K A B A C A B A C L M N O P Q R S ~@8 D E F G H I J K A B A C A B A
  C A B A C A B A C L M N O P Q R S ~@16 A B A C A B A C L M N O P Q R S A B A C A B A C A B A C A B A C A B A C A B A C
  A B A C A B A C ~@4
>`.pickRestart({
  A: "[db2,f3,ab3,db4]@4 db3 ~ [eb2,eb3,gb3,bb3,db4]@4 ~@2 [f2,f3,ab3,db4]@6 db3 ~ [gb3,bb3,db4]@2 ~@2 [gb3,bb3,db4]@4 gb2 ~ gb3@2, ~@20 gb2 ~@9 gb2 ~", // Db Ebm7 Db Gb
  B: "[gb2,bb3,db4]@4 gb3@2 [gb2,bb3,db4]@4 ~@2 [ab2,db4,f4]@8 [ab3,c4,eb4]@3 ~ [bb3,db4]@3 ~ [ab3,bb3] ~@3, ~@12 ab2@2 eb4 ~", // Gb Db Ab Bbm Absus2
  C: "[gb2,bb3,db4]@4 gb3@2 [gb2,bb3,db4]@5 ~ [ab2,ab3,bb3,db4]@7 ~ [ab2,ab3,c4,eb4]@3 ~ [ab2,ab3,c4,eb4]@5 ~@3", // Gb Bbm7 Ab
  D: "[gb3,bb3,db4]@6 eb3@2 [gb3,bb3,db4]@6 eb3@2 bb3@2 eb3 ~@3 eb3@2 ~@4 eb3 ~@3, ~@8 db4@3 ~ [gb3,bb3,db4]@4", // Gb
  E: "[gb2,gb3,bb3,db4]@6 ~@2 [gb3,bb3,db4]@6 gb2 ~@3 gb2 ~ bb3@3 ~ [gb3,bb3]@3 ~ bb3@3 ~, ~@16 gb3@7 ~ gb2 ~@7, ~@4 [bb3,db4] ~ db4 ~", // Gb Bbm
  F: "[f3,bb3,db4]@8 [f3,bb3,db4]@6 ~@2 [bb3,db4]@2 ~@2 [bb3,db4]@4 f3@3 ~ f3@2 ~@2, ~@14 bb2@6 ~@4 [bb2,bb3,db4]@7 ~, ~@16 f3@7 ~@9", // Bbm
  G: "[ab3,c4,eb4]@6 ab2@2 [ab3,c4,eb4]@6 ab2 ~ c4@3 ~@5 [c4,eb4]@4 ab3@2 ~@2, ~@11 ab2@2 ~@3, ~@24 ab3@3 ~@5", // Ab Cm
  H: "[gb3,bb3,db4]@6 eb3@2 [gb3,bb3,db4]@7 ~@3 eb3 ~@3 eb3@2 [bb3,db4]@6 eb3 ~, ~@24 gb3@3 ~@5", // Gb Bbm
  I: "[gb3,bb3,db4]@4 ~@2 eb3 ~ [gb3,bb3,db4]@6 eb3 ~ [gb3,bb3,db4]@6 eb3 ~ [bb3,db4]@4 gb3 ~@3, ~@12 gb3 ~@3", // Gb Bbm
  J: "[ab3,c4,f4]@5 ~ [ab2,ab3,eb4]@6 c4@2 ~@2 [ab2,ab3,c4,f4]@4 ~@2 [ab2,ab3,eb4]@6 c4@2 ~@2, ab2@3 ~@29, db4 ~@31", // Fm Ab5 Fm Ab5
  K: "[ab2,ab3,c4,f4]@4 ~@2 [ab2,c4,eb4]@4 ~@2 [ab2,db4]@7 ~ db4@3 ~ [ab2,ab3,db4,eb4]@4 ~@4, ~@6 ab3@2 ~@2 ab3@9 ~@13, ~@12 eb4@11 ~@9", // Fm Ab Db5 Absus4
  L: "[bb2,f3,bb3,db4]@3 ~@3 [bb1,bb2,f3,bb3,db4]@3 ~@3 [ab3,c4,eb4]@2 ~@2 [bb1,bb2,f3,bb3,db4]@2 ~@4 [bb1,bb2,f3,bb3,db4]@3 ~@3 [ab3,c4,eb4]@2 ~@2, bb1 ~@11 [ab1,ab2] ~@15 [ab1,ab2] ~@3", // Bbm Ab Bbm Ab
  M: "[bb1,f3,bb3,db4]@2 ~@4 [bb1,bb2,f3,bb3,db4]@2 ~@4 g3@5 ~@3 g3 ~@3 [bb3,eb4]@4 g3@2 ~@2, bb2 ~@11 [eb2,bb3,eb4]@11 ~ [eb2,g3]@3 ~@5", // Bbm Eb5 Eb
  N: "[bb1,bb2,f3,bb3,db4]@2 ~@4 [bb1,bb2,f3,bb3,db4]@3 ~@3 [ab3,c4,eb4]@2 ~@2 [bb1,f3,bb3,db4]@2 ~@4 [bb1,bb2,f3,bb3,db4]@3 ~@3 [ab3,c4,eb4]@2 ~@2, ~@12 [ab1,ab2] ~@3 bb2 ~@11 [ab1,ab2] ~@3", // Bbm Ab Bbm Ab
  O: "[bb1,bb2,f3,bb3,db4]@2 ~@4 [bb1,f3,bb3,db4]@3 ~@3 g3@6 ~@2 g3@2 ~@2 [eb2,bb3,eb4]@4 g3 ~@3, ~@6 bb2 ~@5 [eb2,bb3,eb4]@11 ~ g3@2 ~@6", // Bbm Eb5
  P: "~@4 eb2@4 [eb3,gb3,bb3,db4]@4 eb2@4 [eb3,gb3,bb3,db4]@4 eb2 ~ [eb3,gb3,bb3,db4]@4 eb2 ~ [eb3,gb3,bb3,db4]@3 ~, [eb3,gb3,bb3,db4]@7 ~@25", // Ebm7
  Q: "~@4 f2 ~@3 [f3,ab3,c4,eb4]@4 f2 ~ [f3,ab3,c4,eb4]@2 ~@2 [f3,ab3,c4,eb4]@4 f2 ~ [f3,ab3,c4,eb4]@6 ~@2, [f3,ab3,c4,eb4]@7 ~@25", // Fm7
  R: "[gb2,gb3,bb3,db4]@8 [gb3,bb3,db4,gb4]@7 ~ [gb3,bb3,db4,gb4]@4 gb2 ~ [gb3,bb3,db4,gb4]@4 gb2 ~ [gb3,bb3,db4,gb4]@2 ~@2", // Gb
  S: "[ab3,c4,eb4,ab4]@4 ab2 ~ ab2 ~ [ab3,c4,eb4,ab4]@4 ab2 ~ [ab3,c4,eb4,ab4]@4 [ab3,c4,eb4,ab4]@4 ab2 ~ [ab3,c4,eb4,ab4]@4 ab2 ~@3", // Ab
})).s("gm_piano").gain(0.64)

// chords · piano · "Piano 1" · soft notes
const piano_soft = note(`<
  ~@25 A B A C A B A C A B A C A B A C D E F G H I J K A B A C A B A C ~@16 D E F G H I J K A B A C A B A C A B A C A B
  A C ~@24 A B A C A B A C ~@8 A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C ~@4
>`.pickRestart({
  A: "~@6 db3 ~@25", B: "~@6 gb3 ~@3 gb3 ~@21", C: "~@6 gb3@5 ~@21", D: "~@8 gb3@2 bb3 ~@5",
  E: "~@6 gb2@3 ~@11 db4@3 ~@5 gb3 ~@3", F: "~@6 bb2 ~@25", G: "~@16 [ab3,eb4]@2 ab2 ~ [ab3,c4,eb4]@2 ~@10",
  H: "~@14 eb3 ~ [gb3,bb3,db4]@2 ~@2 [gb3,bb3,db4]@2 ~@6 gb3@3 ~, ~@28 eb3 ~@3", I: "~@2 [gb3,bb3] ~@13, ~@4 db4 ~@27",
  J: "~@12 ab3@2 ~@2 db4 ~@11 ab3@2 ~@2", K: "~@20 [ab2,ab3]@3 ~@9",
})).s("gm_piano").gain(0.4)

// bass · synth bass 2 · "Synth Bs."
const bass = note(`<
  ~@8 A B C B D E D F G H ~@6 I J K L M N O P Q R S R T R S R T U ~ V W X Y Z AA AB Q P AC R AD R T AE AF AG AH AI AJ AK
  AL L K L M L M L AM U ~ V W X Y Z AA N O P Q R S R T N O P Q R S R T AE AF AG AH AI AJ AK AL N O P Q R M AN AO ~@8 J K
  L M N O P Q AE AF AG AH AI AJ AK AL N O P Q R S R T N O P Q R S R T N O P Q R S R T N O P Q R S R T ~@4
>`.pickRestart({
  A: "~@20 ab0@3 ~ bb0@3 ~ c1@3 ~, ~@19 ab1@2 ~@11",
  B: "db1@5 ~@2 eb1@4 ~ f1@6 ~@2 gb1@2 ~@2 gb1@3 ~@5, ~@19 f1@2 ~@11",
  C: "gb1@5 ~@2 gb1@4 ~ ab1@4 ~@4 ab0@3 ~ bb0@3 ~ c1@2 ~@2, ~@19 ab1@2 ~@11",
  D: "gb1@4 ~@3 gb1@3 ~@2 ab1@4 ~@4 ab0@3 ~ bb0@3 ~ c1@3 ~, ~@19 ab1@2 ~@11",
  E: "db1@5 ~@2 eb1@4 ~ f1@5 ~@3 gb1@2 ~@2 gb1@3 ~@5, ~@19 f1@2 ~@11",
  F: "db1@5 ~@2 eb1@4 ~ f1@5 ~@2 f1 gb1@2 ~@2 gb1@3 ~@5",
  G: "gb1@5 ~@2 gb1@4 ~ ab1@4 ~@4 ab0@3 ~ bb0@3 ~ c1@3 ~, ~@19 ab1@2 ~@11", H: "db1@3 ~@29",
  I: "~@18 ab1 ~ ab0@3 ~ bb0@3 ~ c1@2 ~@2", J: "db1@4 ~@2 eb1@4 ~@2 f1@6 ~@2 gb1@2 ~@2 gb1@3 ~@5",
  K: "gb1@4 ~@2 gb1@4 ~@2 ab1@4 ~@2 ab1 ~ ab0@3 ~ bb0@3 ~ c1@2 ~@2",
  L: "db1@4 ~@2 eb1@4 ~@2 f1@5 ~@3 gb1@2 ~@2 gb1@3 ~@5",
  M: "gb1@4 ~@2 gb1@4 ~@2 ab1@4 ~@2 ab1@2 ab0@3 ~ bb0@3 ~ c1@2 ~@2",
  N: "db1@4 ~@2 eb1@3 ~@3 f1@6 ~@2 gb1@2 ~@2 gb1@4 ~@4",
  O: "gb1@4 ~@2 gb1@3 ~@3 ab1@4 ~@2 ab1 ~ ab0@3 ~ bb0@3 ~ c1@2 ~@2",
  P: "db1@4 ~@2 eb1@4 ~@2 f1@5 ~@3 gb1@2 ~@2 gb1@4 ~@4",
  Q: "gb1@4 ~@2 gb1@4 ~@2 ab1@4 ~@2 ab1 ~ ab0@2 ~@2 bb0@3 ~ c1@2 ~@2",
  R: "db1@4 ~@2 eb1@3 ~@3 f1@5 ~@3 gb1@2 ~@2 gb1@3 ~@5",
  S: "gb1@4 ~@2 gb1@4 ~@2 ab1@4 ~@2 ab1@2 ab0@3 ~ bb0@2 ~@2 c1@2 ~@2",
  T: "gb1@3 ~@3 gb1@3 ~@3 ab1@4 ~@2 ab1 ~ ab0@3 ~ ab1@3 ~ ab0@2 ~@2", U: "eb1@27 ~@5", V: "bb1@17 ~@4 db2@9 ~@2",
  W: "ab1@14 f1 ~ bb1@2 ab1@2 f1@4 ab1@4 bb1@4", X: "eb1@23 ~@5 f1@3 ~", Y: "gb1@3 ~",
  Z: "ab1@3 ~@3 eb1@4 c1@2 ab0@4 ab1@3 ~@3 eb1@3 ~ c1@2 ab0@4",
  AA: "ab1@4 ~@2 eb1@4 c1@2 ab0@4 ab1@4 ab0@3 ~ bb0@2 ~@2 c1@4", AB: "db1@2 ~ eb1@2 ~ f1@3 ~ gb1 ~ gb1@2 ~@2",
  AC: "gb1@4 ~@2 gb1@4 ~@2 ab1@4 ~@2 ab1@2 ab0@2 ~@2 bb0@3 ~ c1@2 ~@2",
  AD: "gb1@4 ~@2 gb1@4 ~@2 ab1@4 ~@2 ab1 ~ ab0@3 ~ bb0@2 ~@2 c1@2 ~@2",
  AE: "bb1@3 ~@3 bb1@2 ~@2 f1 ~ ab1 ~ a1 ~ bb1@3 ~@3 bb1@2 ~@2 f1 ~ ab1 ~ a1@2",
  AF: "bb1@2 ~@4 bb1@2 ~@4 eb2@5 ~ db2 ~ eb2 ~@3 f2@2 eb2 ~ db2@2 ~@2",
  AG: "bb1@2 ~@4 bb1@2 ~@2 f1 ~ ab1 ~ a1 ~ bb1@2 ~@4 bb1@2 ~@2 f1 ~ ab1 ~ a1 ~",
  AH: "bb1@2 ~@4 db2@2 ~@4 eb2@5 ~ db2 ~ eb2 ~@3 eb2@2 db2@2 bb1@2 ~@2", AI: "eb1@3 ~@3 eb1@2 ~@8 eb1@3 ~@3 eb1@4 ~@6",
  AJ: "f1@3 ~@3 f1@2 ~@8 f1@3 ~@3 f1@3 ~@7", AK: "gb1@3 ~@3 gb1@3 ~@7 gb1@2 ~@4 gb1@3 ~@7",
  AL: "ab1 bb1 db2 eb2 db2 eb2 f2 g2 f2 ab2 bb2 b2 c3@3 ~",
  AM: "gb1@4 ~@2 gb1@4 ~@2 ab1@4 ~@2 ab1@2 ab0@3 ~ ab1@3 ~ ab0@2 ~@2",
  AN: "db1@4 ~@2 eb1@3 ~@3 f1@5 ~@3 gb1@2 ~@2 gb1@2 ~@6", AO: "gb1@4 ~@2 gb1@3 ~@3 ab1@4 ~@2 ab1 ~ ab0@3 ~ ab0@3 ~@5",
})).s("gm_synth_bass_2").gain(0.8)

// chords · brass section · "Brass 1"
const brass_section = note("<~@57 A B A B C D E F ~@32 A B A B C D E F ~@24 A B A B C D E F ~@36>".pickRestart({
  A: "[db4,f4,bb4] ~@2 [db4,f4,bb4] ~@4 [db4,f4,bb4] ~@2 [db4,f4,bb4] ~@4", // Bbm
  B: "[db4,f4,bb4] ~@2 [db4,bb4] ~@2 [eb4,g4,bb4,eb5]@10, ~@6 f4 ~@25", C: "~@11 db4@3 f4@2, gb3@31 ~, ~@4 bb3@3 ~",
  D: "~@4 ab3@4 f3@3 ~ [c4,ab4]@4, c4@16 ab3@5 ~ ab3@10, eb4@3 ~@5", E: "[db4,f4]@2 [bb3,db4] [gb3,bb3]",
  F: "[f3,ab3]@17 [ab3,eb4,ab4]@15", // Fm Ab5
})).s("gm_brass_section").gain(0.8)

// other · lead 1 square · "Square Wa"
const lead_1_square = note("<~@57 A B@2 C D ~@35 A B@2 C D ~@27 A B@2 C D ~@39>".pickRestart({
  A: "~@9 bb3 db4 eb4 f4 c5 bb4 ab4",
  B: "[bb4@20 eb5@2 eb5@4 db5@2 eb5@2 f5@7 ~@2 bb4@2 ~@9 bb3@2 db4@2 eb4@2 f4@2 c5@2 bb4@2 ab4@2, ~@37 eb5@2 ~@25, ~@19 db5 ~@12]/2",
  C: "bb4@9 eb5@5 db5@2", D: "eb5@3 db5 bb4 ~@11",
})).s("gm_lead_1_square").gain(0.58)

// other · lead 1 square · "Square Wa"
const lead_1_square_2 = note("<~@57 A B@2 C D ~@35 A B@2 C D ~@27 A B@2 C D ~@39>".pickRestart({
  A: "~@9 bb2 db3 eb3 f3 c4 bb3 ab3",
  B: "[bb3@20 eb4@2 eb4@4 db4@2 eb4@2 f4@7 ~@2 bb3@2 ~@9 bb2@2 db3@2 eb3@2 f3@2 c4@2 bb3@2 ab3@2, ~@37 eb4@2 ~@25, ~@19 db4 ~@12]/2",
  C: "bb3@9 eb4@5 db4@2", D: "eb4@3 db4 bb3 ~@11",
})).s("gm_lead_1_square").gain(0.72)

// other · lead 2 sawtooth · "Saw Wave"
const lead_2_sawtooth = note("<~@65 A B C D C E C F ~@100>".pickRestart({
  A: "db3@5 ~ eb3@4 ~@2 f3@6 ~@2 gb3@2 ~@2 gb3@3 ~@5", B: "gb3@5 ~ gb3@4 ~@2 ab3@5 ~ ab3@2 ab2@4 bb2@3 ~ c3@2 ~@2",
  C: "db3@5 ~ eb3@4 ~@2 f3@6 ~@2 gb3@2 ~@2 gb3@4 ~@4", D: "gb3@5 ~ gb3@5 ~ ab3@5 ~ ab3@2 ab2@3 ~ bb2@3 ~ c3@3 ~",
  E: "gb3@5 ~ gb3@4 ~@2 ab3@5 ~ ab3@2 ab2@3 ~ bb2@3 ~ c3@3 ~",
  F: "gb3@4 ~@2 gb3@4 ~@2 ab3@5 ~ ab3@2 ab2@3 ~ ab3@4 ab2@2 ~@2",
})).s("gm_lead_2_sawtooth").gain(0.38)

// chords · electric guitar muted · "Muted Gt"
const electric_guitar_muted = note(`<
  ~@29 A@2 B@2 C@2 D@2 C@2 D@2 E F G H I J K L M@2 N@2 O@2 P@2 Q R S T U V W X ~@14 K L M@2 N@2 O@2 P@2 M@2 N@2 O@2 P@2
  Q R S T U V W X ~@20 A@2 B@2 Q R S T U V W X M@2 N@2 O@2 P@2 M@2 N@2 O@2 P@2 M@2 N@2 O@2 P@2 M@2 N@2 O@2 P@2 ~@4
>`.pickRestart({
  A: "[f4 ~@3 [f4,ab4,db5] ~@3 ab4 ~ db5 ~ [f4,ab4,db5] ~@7 db5@4 bb4@4 ab4@16 ~@8 [ab4,f5]@2 db5 ~ eb5@2 ~@2 db5 ~@3]/2", // Db
  B: "[[ab4,db5] ~@5 [ab4,db5] ~@5 [ab4,db5] ~@7 db5@4 bb4@4 ab4@20 ~@2 ab4 ~ [ab4,db5,f5] ~@3 eb5 ~@7]/2", // Db5 Db
  C: "[[ab4,db5] ~@5 [ab4,db5]@2 ~@4 [ab4,db5] ~@7 [ab4,db5]@4 bb4@4 ab4@18 ~@4 db5 ~ [ab4,db5,f5]@3 ~ [ab4,eb5]@2 ~@6]/2", // Db5 Db Ab5
  D: "[[ab4,db5] ~@3 db5 ~ [ab4,db5] ~@5 [ab4,db5] ~@7 db5@4 bb4@4 ab4@23 ~ [ab4,db5,f5] ~@3 eb5@2 ~@6]/2", // Db5 Db
  E: "[gb4,bb4,db5] [gb4,bb4]@22 ~@9", F: "[gb4,bb4,db5]@13 ~@3", G: "[f4,bb4,db5]@7 ~@9", H: "[eb4,ab4,c5]@15 ~@17",
  I: "[eb4,gb4,bb4] ~@5 [eb4,gb4,bb4,db5] ~@9 [eb4,gb4,bb4] ~@5 [eb4,gb4] ~@9", J: "[gb4,bb4,db5]@17 ~@15",
  K: "[f4,ab4,c5]@6 [eb4,ab4,eb5] ~@9 [f4,ab4,c5,f5]@5 ~ [eb4,ab4,eb5] ~@9, e5 ~@15", // Fm Ab5 Fm Ab5
  L: "[f4,ab4,c5,f5]@6 [eb4,ab4,c5,eb5] ~@5 [db4,ab4,db5,eb5]@15 ~@5", // Fm Ab Dbsus2
  M: "[[f4,ab4,db5] ~@5 [f4,ab4,db5] ~@3 db5 ~ [f4,ab4,db5] ~@7 [ab4,db5]@3 ~ bb4@3 ~ ab4@22 db5 ~ [db5,f5]@3 ~ eb5@4 db5 ~@3]/2", // Db Db5 Db
  N: "[[ab4,db5]@2 ~@2 db5 ~ [ab4,db5] ~@3 db5 ~ [ab4,db5]@2 ~@6 db5@3 ~ bb4@4 ab4@23 ~ [db5,f5]@2 ~@2 eb5@3 ~ db5 ~@3]/2", // Db5 Db
  O: "[[ab4,db5]@2 ~@2 db5 ~ [ab4,db5]@2 ~@4 [ab4,db5]@2 ~@6 [ab4,db5]@3 ~ bb4@4 ab4@23 ~ [db5,f5]@3 ~ eb5@3 ~ db5 ~@3, ~@52 ab4 ~@11]/2", // Db5 Db
  P: "[[ab4,db5]@2 ~@2 db5 ~ [ab4,db5] ~@5 [ab4,db5]@2 ~@6 [ab4,db5]@3 ~ bb4@4 ab4@23 ~ [db5,f5] ~@3 eb5@4 db5 ~@3]/2", // Db5 Db
  Q: "[gb4,bb4,eb5]@3 ~@3 eb4 ~ [gb4,bb4,eb5] ~@7 [f4,c5,eb5] ~@5 [f4,bb4,db5] ~@9", // Ebm F7 Bbm
  R: "[f4,bb4,db5] ~@5 [f4,bb4,db5]@2 ~@12 [g4,bb4,eb5] ~ gb4 ~ [g4,bb4,eb5] ~@3 [g4,bb4,eb5] ~@3", // Bbm Eb
  S: "[f4,bb4,db5] ~@7 [f4,bb4,db5] ~@7 [f4,bb4,db5] ~@3 bb4 ~ [f4,bb4,db5] ~@9", // Bbm
  T: "[f4,bb4,db5] ~@3 bb4 ~ [f4,bb4,db5]@2 ~@8 [g4,bb4,eb5] ~@5 [g4,bb4,eb5] ~@5 bb4 ~@3", // Bbm Eb
  U: "eb4 ~@5 eb4 ~ [gb4,bb4,db5] ~@3 eb4 ~@3 [gb4,bb4,db5] ~@3 eb4 ~ [gb4,bb4,db5]@3 ~ eb4 ~ [gb4,bb4,db5] ~@3", // Gb
  V: "[f4,ab4,c5]@3 ~ [f4,ab4,c5] ~ f4 ~ [f4,ab4,c5] ~@3 [f4,ab4,c5] ~ f4 ~ [f4,ab4,c5] ~@3 f4 ~ [f4,ab4,c5] ~@3 f4 ~ [f4,ab4,c5] ~ gb4 ~", // Fm
  W: "[gb4,bb4,db5] ~@3 [gb4,bb4,db5] ~ gb4 ~ [gb4,bb4,db5] ~@3 [gb4,bb4,db5] ~@3 [gb4,bb4,db5] ~@7 [gb4,bb4,db5] ~@3 [gb4,bb4,db5] ~@3", // Gb
  X: "[ab4,c5,eb5] ~@3 [ab4,c5,eb5] ~ ab4 ~ [ab4,c5,eb5] ~ [ab4,c5,eb5] ~ ab4 ~ [ab4,c5,eb5] ~@3 ab4 ~ [ab4,c5,eb5] ~@3 [ab4,c5,eb5] ~ ab4 ~ [ab4,c5,eb5] ~@3", // Ab
})).s("gm_electric_guitar_muted").gain(0.57)

// chords · electric guitar muted · "Muted Gt" · soft notes
const electric_guitar_muted_2 = note(`<
  ~@29 A B C D E F G ~ E F G ~ H ~@2 I J ~ K ~ L ~ M N M ~ O ~@3 P ~ Q ~ R ~@15 K ~ L ~ M N M ~ O ~ L ~ M N M ~ O ~@3 P
  ~ Q ~ R ~@21 A B C D ~@2 P ~ Q ~ R ~ L ~ M N M ~ O ~ L ~ M N M ~ O ~ L ~ M N M ~ O ~ L ~ M N M ~ O ~@5
>`.pickRestart({
  A: "[ab4,db5] ~@5 ab4 ~ [f4,db5] ~ ab4 ~@21", B: "~@12 f4 ~@7 db5@2 ~@6 ab4 ~@3", C: "~@10 gb4 ~@7 gb4 ~@13",
  D: "~@28 db5 ~@3", E: "~@4 [ab4,c5] ~@5 [ab4,db5] ~@5 ab4 ~ ab4 ~@13", F: "~@28 [ab4,db5] ~@3", G: "~@18 ab4 ~@13",
  H: "~ eb5@11 ~@4", I: "eb5@15 ~@17", J: "db5 ~@15 db5 ~@5 [bb4,db5] ~@9", K: "f5@5 ~@27", L: "~@4 db5 ~@27",
  M: "~@4 ab4 ~@5 ab4 ~@21", N: "~@20 ab4@2 d5 ~@9", O: "~@4 ab4 ~@27", P: "~@4 f4 ~@27", Q: "eb5 ~@31",
  R: "~@20 [gb4,bb4,db5] ~@11", // Gb
})).s("gm_electric_guitar_muted").gain(0.32)

// chords · electric guitar muted · "Funk Gt"
const electric_guitar_muted_3 = note("<~@65 A B C D A B C D ~@100>".pickRestart({
  A: "~@8 [f3,ab3,db4] ~@3 ab3 ~@11 [f3,ab3,db4] ~@7", // Db
  B: "~@8 [gb3,bb3,db4] ~@11 [ab4,c5,f5]@3 ~ [c5,eb5]@2 ab4 ~@5, ~@24 ab4 ~@7", // Gb Fm Cm
  C: "~@8 [f3,ab3,db4] ~@15 [ab3,db4] ~@7, ~@24 f3@3 ~@5", // Db Db5
  D: "~@8 [gb3,bb3,db4] ~@3 [gb3,bb3,db4] ~@7 [ab4,c5,eb5,f5]@3 ~ [ab4,c5,eb5]@2 ab4@2 eb5 ~@3", // Gb Fm7 Ab
})).s("gm_electric_guitar_muted").gain(0.72)

// chords · electric guitar muted · "Funk Gt" · soft notes
const electric_guitar_muted_4 = note("<~@65 A B C D A B C D ~@100>".pickRestart({
  A: "~@10 ab3 ~ [f3,db4] ~@13 [f3,ab3,db4] ~@5", B: "~@10 gb3 ~@17 eb5 ~@3",
  C: "~@10 [ab3,db4]@2 ab3 ~@13 [ab3,db4] ~ [ab3,db4] ~@3", D: "~@10 [gb3,bb3,db4] ~@21",
})).s("gm_electric_guitar_muted").gain(0.4)

// bass · synth bass 1 · "Synth Bs."
const bass_2 = note(`<
  ~@8 A B C B D E D F G H ~@6 I J K L M N O P Q R S R T R S R T U ~ V W X Y Z AA AB Q P AC R AD R T AE AF AG AH AI AJ AK
  AL L K L M L M L AM U ~ V W X Y Z AA N O P Q R S R T N O P Q R S R T AE AF AG AH AI AJ AK AL N O P Q R M AN AO H ~@6 I
  J K L M N O P Q AE AF AG AH AI AJ AK AL N O P Q R S R T N O P Q R S R T N O P Q R S R T N O P Q R S R T ~@4
>`.pickRestart({
  A: "~@20 ab1@3 ~ bb1@3 ~ c2@3 ~, ~@19 ab2@2 ~@11",
  B: "db2@5 ~@2 eb2@4 ~ f2@6 ~@2 gb2@2 ~@2 gb2@3 ~@5, ~@19 f2@2 ~@11",
  C: "gb2@5 ~@2 gb2@4 ~ ab2@4 ~@4 ab1@3 ~ bb1@3 ~ c2@2 ~@2, ~@19 ab2@2 ~@11",
  D: "gb2@4 ~@3 gb2@3 ~@2 ab2@4 ~@4 ab1@3 ~ bb1@3 ~ c2@3 ~, ~@19 ab2@2 ~@11",
  E: "db2@5 ~@2 eb2@4 ~ f2@5 ~@3 gb2@2 ~@2 gb2@3 ~@5, ~@19 f2@2 ~@11",
  F: "db2@5 ~@2 eb2@4 ~ f2@5 ~@2 f2 gb2@2 ~@2 gb2@3 ~@5",
  G: "gb2@5 ~@2 gb2@4 ~ ab2@4 ~@4 ab1@3 ~ bb1@3 ~ c2@3 ~, ~@19 ab2@2 ~@11", H: "db2@3 ~@29",
  I: "~@18 ab2 ~ ab1@3 ~ bb1@3 ~ c2@2 ~@2", J: "db2@4 ~@2 eb2@4 ~@2 f2@6 ~@2 gb2@2 ~@2 gb2@3 ~@5",
  K: "gb2@4 ~@2 gb2@4 ~@2 ab2@4 ~@2 ab2 ~ ab1@3 ~ bb1@3 ~ c2@2 ~@2",
  L: "db2@4 ~@2 eb2@4 ~@2 f2@5 ~@3 gb2@2 ~@2 gb2@3 ~@5",
  M: "gb2@4 ~@2 gb2@4 ~@2 ab2@4 ~@2 ab2@2 ab1@3 ~ bb1@3 ~ c2@2 ~@2",
  N: "db2@4 ~@2 eb2@3 ~@3 f2@6 ~@2 gb2@2 ~@2 gb2@4 ~@4",
  O: "gb2@4 ~@2 gb2@3 ~@3 ab2@4 ~@2 ab2 ~ ab1@3 ~ bb1@3 ~ c2@2 ~@2",
  P: "db2@4 ~@2 eb2@4 ~@2 f2@5 ~@3 gb2@2 ~@2 gb2@4 ~@4",
  Q: "gb2@4 ~@2 gb2@4 ~@2 ab2@4 ~@2 ab2 ~ ab1@2 ~@2 bb1@3 ~ c2@2 ~@2",
  R: "db2@4 ~@2 eb2@3 ~@3 f2@5 ~@3 gb2@2 ~@2 gb2@3 ~@5",
  S: "gb2@4 ~@2 gb2@4 ~@2 ab2@4 ~@2 ab2@2 ab1@3 ~ bb1@2 ~@2 c2@2 ~@2",
  T: "gb2@3 ~@3 gb2@3 ~@3 ab2@4 ~@2 ab2 ~ ab1@3 ~ ab2@3 ~ ab1@2 ~@2", U: "eb2@27 ~@5", V: "bb2@17 ~@4 db3@9 ~@2",
  W: "ab2@14 f2 ~ bb2@2 ab2@2 f2@4 ab2@4 bb2@4", X: "eb2@23 ~@5 f2@3 ~", Y: "gb2@3 ~",
  Z: "ab2@3 ~@3 eb2@4 c2@2 ab1@4 ab2@3 ~@3 eb2@3 ~ c2@2 ab1@4",
  AA: "ab2@4 ~@2 eb2@4 c2@2 ab1@4 ab2@4 ab1@3 ~ bb1@2 ~@2 c2@4", AB: "db2@2 ~ eb2@2 ~ f2@3 ~ gb2 ~ gb2@2 ~@2",
  AC: "gb2@4 ~@2 gb2@4 ~@2 ab2@4 ~@2 ab2@2 ab1@2 ~@2 bb1@3 ~ c2@2 ~@2",
  AD: "gb2@4 ~@2 gb2@4 ~@2 ab2@4 ~@2 ab2 ~ ab1@3 ~ bb1@2 ~@2 c2@2 ~@2",
  AE: "bb2@3 ~@3 bb2@2 ~@2 f2 ~ ab2 ~ a2 ~ bb2@3 ~@3 bb2@2 ~@2 f2 ~ ab2 ~ a2@2",
// … 170 more lines

More by The Four Seasons