Strudelify

This Must Be Love

Lois Lane

KeyC minorTempo126 bpm
0:00/0:00
// This Must Be Love — Lois Lane
// 126 bpm, 4/4, key C minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 134 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(126/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.

// bass · slap bass 1 · "SLAPBASS 1"
const bass = note(`<
  A B C D A E F@8 G@8 H@2 I@4 J@5 K@8 L M@8 N@7 O@8 P@8 Q@5 R@4 S@8 T U V@2 T U W@2 T U X@2 T U Y@2 Z U AA AB@2 U Y@2 T
  U AC@2 T U Y@2 T U AD@8 AE@2
>`.pickRestart({
  A: "bb1@2 c2 ~ c2 ~@11", B: "c2@2 bb1@2 bb1 ~@11", C: "g1@2 ab1 ~ ab1 ~@11", D: "f1@2 g1 ~ g1@2 ~@4 f1@2 g1 ~ bb1@2",
  E: "c2@2 bb1 ~ bb1@2 ~@10",
  F: "[g1@2 ab1 ~ ab1 ~@13 g1 ~@13 bb1@2 c2@2 c2 ~@9 c2@4 d2 ~ d2@2 ~@10 bb1@2 c2 ~ c2@2 ~@8 d2@4 g1 ~ g1 ~@5 f1@2 g1 ~ bb1 ~ bb1@2 c2 ~ c2 ~@9 c2@4 d2 ~ d2 ~@11, ~@3 ab1@29]/8",
  G: "[~@14 f1 ~ f1@2 g1 ~ g1@2 ~@4 f1@2 g1@2 bb1 ~ bb1@2 c2@2 c2@10 ~@4 d2 ~ d2 ~@11 bb1@2 c2@2 ~@10 d2@4 g1@2 g1 ~@5 f1@2 g1@2 bb1 ~ bb1@2 c2@2 c2@10 ~@4 d2 ~ d2@2 ~@10, c2@17 ~@6 c2@10 ~ c2@15 ~@6 c2@9, ~@3 ab1@61]/8",
  H: "[~@14 f1 ~ f1@2 g1 ~ g1 ~@5 f1@2 g1@2 bb1@2, c2, ~@3 ab1@13]/2",
  I: "[c2 c2@2 c2@2 c2@2 ~@2 ab1@2 ab1@2 ab1@2 ~@2 bb1 ~ bb1 ~ bb1 ~ bb1 ~ f1 ~ f1 ~ g1 ~ c2, ~@7 c2@24 ~, ~@15 ab1@17]/4",
  J: "[~@2 c2@4 c2@4 c2@4 ~@4 ab1@4 ab1@4 ab1@4 ~@4 bb1@2 ~@2 bb1@2 ~@2 bb1@2 ~@2 bb1@2 ~@2 f1@3 ~ f1@3 ~ g1@2 ~@2 g1@2 bb1@2 c2@2 c2@12, ~@7 c2@26 ~@7, ~@3 ab1@5]/5",
  K: "[~@2 bb1 ~ bb1 ~@11 g1@2 ab1@2 ~@12 f1@2 g1 ~ g1@9 ~ c1@7 ~ bb1@2 c2@6 ~@4 d2 ~ d2@2 ~@8 bb1@4 c2@2 c2@10 ~@6 g1@2 ~@4 f1@2 g1 ~ bb1 ~ bb1@2 c2@2 c2@10 c2@2, c2@28 ~@3 c2@10 ~@6 c2@10 ~@7, ~@5 ab1@27]/8",
  L: "~@2 d2 ~ d2@2 ~@10",
  M: "[~@14 f1 ~ f1@2 g1 ~ g1 ~@5 f1@2 g1@2 bb1 ~ bb1@2 c2@2 c2@10 ~@4 d2 ~ d2@2 ~@8 bb1@4 c2@2 ~@10 d2@4 g1 ~ g1 ~@5 f1@2 g1@2 bb1 ~ bb1@2 c2@2 c2@10 ~@4 d2 ~ d2@2 ~@10, c2@17 ~@6 c2@10 ~ c2@15 ~@6 c2@9, ~@3 ab1@61]/8",
  N: "[~@14 g1@15 ~ g1@5 ~ g1 ~@13 c2@4 c2@4 c2@4 ~@4 ab1@4 ab1@4 ab1@4 ~@4 bb1@2 ~@2 bb1@2 ~@2 bb1@2 ~@2 bb1@2 ~@2 f1@2 ~@2 f1@3 ~ g1@3 ~ c2@2, c2@25 ~@6 c2@24 ~, ~@3 ab1@30 ~@6 ab1@17]/7",
  O: "[~@2 c2@4 c2@4 c2@4 ~@4 ab1@4 ab1@4 ab1@4 ~@4 bb1@2 ~@2 bb1@2 ~@2 bb1@2 ~@2 bb1@2 ~@2 f1@2 ~@2 f1@2 ~@2 g1@4 c2@4 c2@4 c2@4 c2@4 ~@4 ab1@4 ab1@4 ab1@4 ~@4 bb1@2 ~@2 bb1@2 ~@2 bb1@2 ~@2 bb1@2 ~@2 f1@3 ~ f1@2 ~@2 g1@4 c2@2, ~@7 c2@24 ~@8 c2@24 ~, ~@15 ab1@26 ~@6 ab1@17]/8",
  P: "[~@2 c2@4 c2@4 c2@4 ~@4 ab1@4 ab1@4 ab1@4 ~@4 bb1@2 ~@2 bb1@4 bb1@4 ~@4 f1@2 ~@2 f1@2 ~@2 g1@4 g1 ~ c2@2 ~@14 bb1@2 ~@14 ab1@2 ~@14 g1 ~ g1@13 [c3,db3,d3], ~@7 c2@25 ~ c2@31, ~@15 ab1@33 ~ ab1@15, ~@23 bb1@17 ~ bb1@23]/8",
  Q: "[eb3@16 d3@16 c3@16 g1 ~ g1@11 ~@5 c2@2 c2@12, c2@33 ~@7, ~ bb1@3 bb1, ~@2 ab1@3]/5",
  R: "[~@2 bb1@2 ~@12 g1@2 ab1@2 ~@12 f1@2 g1 ~ g1 ~@5 f1@2 g1@2 bb1@2 ~@2 c2@2 c2@12, c2@25 ~@7, ~@2 bb1@21 ~ bb1@8, ~@5 ab1@11]/4",
  S: "[~ bb1 ~@6 g1 ab1 ~@5 g1@8 ~@2 f1 ~ g1 ~@5 c2@2 c2@2 c2@2 ~@2 ab1@2 ab1@2 ab1@2 ~@2 bb1@2 bb1!2 bb1@2 ~@2 f1 ~ f1 ~ g1@2 c2, c2@33 ~@6 c2@24 ~, ~@2 bb1@27 bb1@20 ~@6 bb1@9, ~@10 ab1@31 ~@6 ab1@17]/8",
  T: "~ c2@2 c2@2 c2@2 c2", U: "~ ab1@2 ab1@2 ab1@2 ab1",
  V: "[~@2 bb1@4 bb1@4 bb1@4 ~@4 f1@2 ~@2 f1@2 ~@2 g1@3 ~ c2@2, ~@7 bb1@9]/2",
  W: "[~@2 bb1@4 bb1@2 bb1@2 bb1@4 ~@4 f1@2 ~@2 f1@2 ~@2 g1@2 g1 ~ c2@2, ~@7 bb1@9]/2",
  X: "[~ bb1@2 bb1@2 bb1@2 ~@2 f1 ~ f1 ~ g1 ~ c2, ~@7 bb1@9]/2",
  Y: "[~ bb1@2 bb1@2 bb1@2 ~@2 f1 ~ f1 ~ g1@2 c2, ~@7 bb1@9]/2", Z: "~@2 bb2 g2 f2 eb2 c2@2",
  AA: "~ bb1@2 bb1!2 bb1@2 bb1", AB: "[~@2 f1@2 ~@2 f1@2 ~@2 g1@2 ~@6 c1@4 d1@3 ~ eb1@3 ~ ab1@2, ~@7 c2@9]/2",
  AC: "[~@2 bb1@4 bb1@3 bb1 bb1@4 ~@4 f1@2 ~@2 f1@2 ~@2 g1@4 c2@2, ~@7 bb1@9]/2",
  AD: "[~ bb1@2 bb1@2 bb1@2 ~@2 f1 ~ f1 ~ g1@2 c2@2 c2@2 c2@2 c2@2 ~@2 ab1@2 ab1@2 ab1@2 ~@2 bb1@2 bb1@2 bb1@2 ~@2 f1 ~ f1 ~ g1@2 c2@2 c2@2 ~@6 ab1@2 ab1@2 ab1@3, ~@7 bb1@26 ~@6 bb1@25, ~@23 c2@24 ~@4 c2@13, ~@31 ab1@26 ~@7]/8",
  AE: "[~ bb1@2 ~@5 g1 ~@4 eb2 ~@2, ~@3 bb1@7 ~@6]/2",
})).s("gm_slap_bass_1").gain(0.53)

// bass · electric bass pick · "SLAPBASS 1" · Bmaj7
const bass_2 = note("<~@6 [~@14 g1 gb1] ~@7 [~@4 [bb1,b1] a1 ~@10] ~@27 [~@5 [a1,bb1,b1] ~@10] ~@91>")
  .s("gm_electric_bass_pick").gain(0.15)

// bass · slap bass 2 · "SLAPBASS 1"
const bass_3 = note("<~@39 [~@2 d3 ~@13] ~@94>").s("gm_slap_bass_2").gain(0.59)

// other · alto sax
const alto_sax = note(`<
  A ~ B ~ A ~ C D ~@17 E@2 F@2 G H I J ~ K L@2 ~@13 M@3 ~ N@2 F@2 G H O P@3 Q@2 G R S ~@8 T ~ U ~ U ~ U ~@50
>`.pickRestart({
  A: "~@2 g3 ~ g3 ~@3 c4@4 bb3 ~@3", B: "~@2 f3@2 g3 ~@3 c4@4 bb3 ~@3", C: "~@2 f3@2 g3 ~@3 c4@4 bb3@2 ~@2",
  D: "f3 g3 ~@6", E: "[c4@15 ~]/2", F: "[c4 eb4 ~ f4 ~ g4 ~ c4@9]/2", G: "ab3", H: "~ bb3@12 ~@3",
  I: "c4@2 eb4 ~@3 f4@2 ~@2 g4@2 ~@4", J: "~ bb3 c4 ~ eb4@2 d4 ~", K: "~@2 bb3@2 c4@2 ~@2 eb4@4 d4 ~@3",
  L: "[~@8 c4 ~ eb4@2 d4@2 c4@4 [a3,b3] g3 ~@12]/2", M: "[c5@6 eb5@8 g5@14 ~@2 bb4@7 ~@11]/3", N: "[c4@7 ~]/2",
  O: "c4 eb4 ~ f4 ~ g4 ~@2", P: "[c4@11 ~]/3", Q: "[c4@2 eb4@2 ~@2 f4@2 ~@2 g4@2 ~@2 c4@17 ~]/2", R: "bb3@3 ~",
  S: "c4 eb4 ~ f4 ~ g4 bb4 c5", T: "~ eb4 ~@2 eb4@2 ~@2", U: "~@2 eb4 ~@5 eb4@4 ~@4",
})).s("gm_alto_sax").gain(0.21).pan(0.6)

// other · french horn · "ALTO SAX"
const french_horn = note("<~@41 [~@2 g4 ~@3 f4 ~@3 eb4@6] [c4@3 eb4@4 ~] [eb4@6 d4@9 ~] ~@90>")
  .s("gm_french_horn").gain(0.16).pan(0.6)

// other · tenor sax
const tenor_sax = note(`<
  A ~ B ~ A ~ C D ~@17 E@2 F@3 G H@2 ~ I J ~@14 K@3 ~ L@2 F@3 G M ~ N@2 O@2 P G Q ~@8 R ~ R ~ S ~ R ~@2 T@6 U V W@6 X Y
  Z@3 AA@3 X AB Z@3 AC@4 AD Z@3 AE@4 AD Z@3 AC@4 AD
>`.pickRestart({
  A: "~@2 c4 ~ c4 ~@3 eb4@4 d4 ~@3", B: "~@2 bb3@2 c4 ~@3 eb4@4 d4 ~@3", C: "~@2 bb3@2 c4 ~@3 eb4@4 d4@2 ~@2",
  D: "c4 d4 ~@6", E: "[g3@15 ~]/2", F: "[g3 bb3 ~ c4 ~ eb4 ~ c4@9 g4@8]/3", G: "bb4@3 ~",
  H: "[g4@2 bb4@2 ~@2 c5 ~@3 eb5@2 ~@2 c5@4 f3@2 g3@2 ~@2 c4@4 bb3@2 ~@2]/2", I: "~@2 f3@2 g3@2 ~@2 c4@4 bb3 ~@3",
  J: "f4 g4 bb4 ~ bb4 c5 eb5 ~ eb5 ~ f5@2 gb5@2 g5@2", K: "[c5@6 ab4@8 g4@14 ~@2 bb3@7 ~@11]/3", L: "[g3@7 ~]/2",
  M: "g3 bb3 ~ c4 ~ eb4 ~@2", N: "[g4@29 ~@3]/2", O: "[g3 bb3 ~ c4 ~ eb4 ~ c4@9]/2", P: "g4",
  Q: "g3 bb3 ~ c4 ~ eb3 f3 g3", R: "~@2 c4 ~@5 c4@4 ~@4", S: "~ c4 ~@2 c4@2 ~@2",
  T: "[c3@49 ~@3 eb3 f3 g3 ~ bb3@2 g3 ~@4 c3@33]/6", U: "f3@3 ~", V: "f3@2 g3 ~@3 bb3@2 ~@2 c4@2 ~@4",
  W: "[c3@49 ~@3 eb3 f3 g3 ~ bb3@2 g3 ~@3 c3@34]/6", X: "f3@13 ~@3", Y: "f3 g3 ~ bb3 ~ c4 ~@2", Z: "c3/3",
  AA: "[~@4 eb3 f3 g3 ~ bb3 ~ g3 ~ eb3 ~@2 c3@33]/3", AB: "f3@2 g3@2 ~@2 bb3 ~@3 c4 ~@5",
  AC: "[~@4 eb3 f3 g3 ~ bb3@2 g3 ~ eb3 ~@2 c3@46 ~@3]/4", AD: "f3@2 g3 ~@3 bb3 ~@3 c4 ~@5",
  AE: "[~@4 eb3 f3 g3 ~ bb3@2 g3 ~ eb3 ~@2 c3@45 ~@4]/4",
})).s("gm_tenor_sax").gain(0.25).pan(0.4)

// other · tenor sax · soft notes · C
const tenor_sax_soft = note("<~@36 [~ f5 [c5,d5,e5] b4 ~@12] ~@32 [gb3 [eb3,e3,f3] ~@14] ~@64>")
  .s("gm_tenor_sax").gain(0.09).pan(0.4)

// other · french horn · "TENOR SAX"
const french_horn_2 = note("<~@41 A B@2 ~@90>".pickRestart({
  A: "~@2 g4 ~@3 f4 ~@3 eb4@6", B: "[c4@11 b3@4 ~]/2",
})).s("gm_french_horn").gain(0.21).pan(0.4)

// other · brass section · "BRASS 1"
const brass_section = note(`<
  ~@25 A@2 B@2 C D E@2 ~@2 F ~@14 G@3 ~ H@2 B@2 I D J K@2 L M@2 I D N O ~@8 P Q P R S T@2 U V@5 W X Y V@5 W Z AA AB@3
  AC@2 W Z AD AB@3 AC@2 AE Z AD AB@3 AC@2 AE Z AD AB@3 AC@2 AE Z AD
>`.pickRestart({
  A: "[c4@15 ~]/2", B: "[c4@2 eb4 ~@3 f4@2 ~@2 g4@2 ~@2 c4@18]/2", C: "g4, gb4 ~@15", D: "f4@3 ~",
  E: "[g4@2 bb4 ~@3 c5@2 ~@2 eb5@2 ~@2 c5@4 ~@14]/2", F: "c4 eb4 f4 ~ f4 g4 bb4 ~ eb5 ~ f5@2 gb5@2 g5@2",
  G: "[~@6 eb5@8 g5@14 ~@2 g5@7 ~@11]/3", H: "[c4@7 ~]/2", I: "g4", J: "c4@2 eb4 ~@3 f4@2 ~@2 g4@2 ~@4", K: "c4/2",
  L: "bb4@3 ~", M: "[c4@2 eb4 ~@3 f4 ~@3 g4@2 ~@2 c4@18]/2", N: "c4@2 eb4 ~@3 f4 ~@3 g4@2 bb4@2 c5@2",
  O: "~ b4 bb4 ~@13", P: "f4@7 ~", Q: "f4 ~@15", R: "bb4 ~@15", S: "[bb4,d5]@7 ~",
  T: "[[d5,g5] ~@13 [bb4,d5]@15 ~@3]/2", U: "~@2 f5 ~@3 g5 ~@3 bb5 ~@5",
  V: "[c4@49 ~@3 g4 bb4 c5 ~ eb5@2 c5 ~ f5@2 c5@18]/5", W: "g5, gb5 ~@15", X: "f5@13 ~@3",
  Y: "c5@2 eb5 ~@3 f5 ~@3 g5@2 ~@4", Z: "f5@3 ~", AA: "c5@2 eb5 ~@3 f5@2 ~@2 g5@2 ~@4", AB: "c4/3",
  AC: "[~@4 g4 bb4 c5 ~ eb5@2 c5 ~ f5@2 c5@18]/2", AD: "c5@2 eb5 ~@3 f5 ~@3 g5 ~@5", AE: "g5",
})).s("gm_brass_section").gain(0.36).pan(0.6)

// other · brass section · "BRASS 1" · soft notes
const brass_section_soft = note("<~@28 A ~@3 B ~@17 C ~@18 D ~@45 E ~@15 E ~@2>".pickRestart({
  A: "~@15 [e4,f4]", B: "~@2 b4 [g4,a4] [e4,f4] d4 ~@10", C: "c5@3 ~@5", D: "~@2 [ab4,a4] g4 ~@12", E: "gb5 ~@15",
})).s("gm_brass_section").gain(0.18).pan(0.6)

// other · brass section · "BRASS 1"
const brass_section_2 = note(`<
  ~@27 A@2 B C D ~@3 E ~@14 F@3 ~@3 A@2 B C ~ G@3 H I J K L@2 ~@8 M N M O P Q@2 R S@5 I T U@4 V@2 W T X Y@3 Z@2 I AA X
  AB@3 Z@2 I T X AB@3 Z@2 I T X AB@3 Z@2 I T X
>`.pickRestart({
  A: "[~@7 c5@9]/2", B: "g5", C: "f5@13 ~@3", D: "g4@2 bb4 ~@3 c5@2 ~@2 eb5@2 ~@2 c6@2",
  E: "c4 eb4 f4 ~ f4 g4 bb4 ~ g4 ~ bb4@2 b4@2 c5@2", F: "[c5@6 ab4@8 g4@15 ~ g4@7 ~@11]/3", G: "[c5@11 ~]/3",
  H: "~@7 c5", I: "c5", J: "g5, c5 ~@15", K: "f5@3 ~, g5 ~@15", L: "[g3@2 bb3 ~@3 c4@2 ~@2 eb4@2 f4@2 g4@4 ~@14]/2",
  M: "c4@13 ~@3", N: "c4 ~@15", O: "f4 ~@15", P: "c4@15 ~", Q: "[c4 ~@13 g4@16 ~@2]/2", R: "~@2 f4 ~@3 g4 ~@3 bb4 ~@5",
  S: "[g4@49 ~@3 eb4 f4 g4 ~ bb4@2 g4 ~ c5@2 g4@17 ~]/5", T: "bb4@3 ~", U: "[g4@2 bb4 ~@3 c5 ~@3 eb5@2 ~@3 g4@49]/4",
  V: "[~@4 eb4 [f4,g4] ~@2 bb4@2 g4 ~ c5@2 g4@17 ~]/2", W: "c5@15 ~", X: "g4@2 bb4 ~@3 c5 ~@3 eb5 ~@5", Y: "g4/3",
  Z: "[~@4 eb4 f4 g4 ~ bb4@2 g4 ~ c5@2 g4@18]/2", AA: "bb4", AB: "[g4@47 ~]/3",
})).s("gm_brass_section").gain(0.31)

// other · electric guitar jazz · "JAZZ GTR"
const electric_guitar_jazz = note("<~@3 A B C D E ~@6 F G ~@6 H I ~@18 J K ~@25 L M@2 ~ N O P Q ~@57>".pickRestart({
  A: "~@6 g4 ~ c5 ~@2 d5 ~@2 eb5@2", B: "f5@8 ~@4 g5@2 gb5 e5", C: "d5@13 ~ eb5 d5", D: "c5@9 ~@3 bb4 ~ [g4,ab4,a4] ~",
  E: "f4@2 g4 ~@13", F: "[c5,eb5,g5]@4 gb5 ~ [c5,eb5]@6 ~@4", G: "[c5,eb5]@6 [b4,d5]@7 ~@3",
  H: "[c5,eb5,g5]@3 gb5 ~@2 [c5,eb5]@6 ~@4", I: "[g4,c5,eb5]@6 ~ g4@6 ~@3, ~@6 [b4,d5]@7 ~@3",
  J: "[c5,g5]@3 gb5 ~@2 c5@6 ~@4", K: "c5@2 ~ [b4,d5]@3 ~@2", L: "~ g4 eb5 g4 d5 g4 c5@2", M: "[bb4@31 ~]/2",
  N: "~ bb4 [b4,c5] ~ eb5 ~ f5 ~ g5@4 f5 c5 ~ eb5", O: "g5 ~ g5@4 f5 eb5 d5@5 ~ d5 ~", P: "c5@12 ~ c5 eb5 f5",
  Q: "g5@3 ~@3 g5@9 ~, ~@4 bb5@11 ~",
})).s("gm_electric_guitar_jazz").gain(0.32)

// other · electric guitar jazz · "JAZZ GTR" · soft notes
const electric_guitar_jazz_2 = note("<~@4 A ~ B ~@7 C ~@7 D ~@19 E F ~@30 G@2 ~@58>".pickRestart({
  A: "~@15 [eb5,f5]", B: "~@15 [f4,gb4]", C: "~@4 f5 e5 ~@10", D: "~@4 f5 e5 ab4@6 ~@4",
  E: "eb5@3 ~ f5 e5 [ab4,eb5]@6 ~@4", F: "[g4,eb5]@2 ~ g4@3 ~@2", G: "[~@15 eb5@2 ~@15]/2",
})).s("gm_electric_guitar_jazz").gain(0.21)

// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note("<A B C D E F C G ~@61 H I J K L I M N O@2 ~ P O@2 ~@51>".pickRestart({
  A: "~ c5@15, [c3,g3,bb3,eb4,g4]", B: "[f3,bb3,d4,f4,bb4]", C: "[eb3,g3,c4,eb4,ab4]", D: "[d3,f3,bb3,d4,g4]",
  E: "~ c5@15, [c3,g3,eb4]", F: "[f3,bb3,d4,f4,bb4], c4 ~@15", G: "[f3,bb3,d4] ~ [g3,bb3,d4] ~@13",
  H: "[g3,bb3,eb4]@13 ~@3, c4@11 ~@5", I: "[f3,bb3,d4]@13 ~@3", J: "[g3,ab3,c4,eb4]@7 ~",
  K: "~ d4@13 ~@2, [f3,g3,bb3]@13 ~@3", L: "[g3,bb3,c4,eb4]@7 ~", M: "[g3,c4,eb4]@7 ~, ab3@3 ~",
  N: "[f3,g3,bb3,d4]@13 ~@3", O: "[~@7 [d4,f4,g4,bb4,d5]@8 ~]/2", P: "[d4,f4,bb4]",
})).s("gm_electric_guitar_clean").gain(0.32).pan(0.6)

// other · pad new age · "FANTASIA"
const pad_new_age = note("<~ A ~@3 A ~@27 A ~@11 B ~@32 A ~ A ~ B ~@51>".pickRestart({
  A: "~@6 g5 ~ f5 ~ g5 ~ ab5 ~ g5 ~", B: "~@6 g5 ~ f5 ~ g5 ~ ab5 ~ g5@2",
})).s("gm_pad_new_age").gain(0.17)

// other · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
  A B C D A E C ~ F G F H F I ~@2 F J K H K I ~@2 L E M N O P L Q R S T U F I K V F I ~@2 K I K W K I ~@27 X Y Z AA AB
  AC AD ~@2 AE AF AE AG AH AI AJ AK AL AM AL AN AO@2 AP@3 AQ AR AS AO@2 AR@2 AT@2 AU@2 AO@2 AR AV@3 AU@2 AW@3 AX AR AM
  AR AN AR AQ AR ~
>`.pickRestart({
  A: "~@2 g3 ~ bb3 ~ g3 ~ c4@2 g3 ~ bb3 ~ bb3 ~", B: "~@4 bb3 ~ g3 ~ d4@2 g3 ~ bb3 ~ c4@2",
  C: "~@2 g3 ~ bb3 ~ g3 ~ c4@2 g3 ~ bb3@2 g3 ~", D: "~@2 g3 ~ bb3 ~ g3 ~ [d4,eb4] ~ d4 ~ bb3 ~ c4@2",
  E: "~@2 g3 ~ bb3 ~ g3 ~ d4@2 g3 ~ bb3 ~ c4@2", F: "~@8 f3 ~ f3 ~ eb3 ~ d3@2", G: "~@8 f3 ~ g3 ~ ab3@2 g3@2",
  H: "~@6 g3@2 [bb3,d4] ~ [bb3,d4] ~ g3@2 ~@2", I: "~@8 f3 ~ g3 ~ ab3 ~ g3 ~", J: "~@8 f3 ~ g3 ~ ab3 ~ g3@2",
  K: "~@8 f3 ~ f3 ~ eb3 ~ d3 ~", L: "~@6 g3@2 bb3 ~ bb3 ~ g3@2 ~@2", M: "~@6 g3 ~ bb3 ~ bb3 ~ g3 ~@3",
  N: "~@2 g3 ~ bb3 ~ g3 ~ d4@2 g3@2 bb3 ~ g3@2", O: "~@6 g3 ~ bb3 ~ bb3 ~ g3@2 ~@2",
  P: "~@2 g3 ~ bb3 ~ g3@2 d4@2 g3@2 bb3@2 c4@2", Q: "~@2 g3@2 bb3 ~ g3 ~ d4@2 g3@2 bb3@2 c4@2",
  R: "~@6 g3@2 bb3 ~ bb3 ~ g3 ~ g3@2", S: "~@2 g3 ~ bb3 ~ g3 ~ d4@2 g3 ~ bb3@2 c4@2",
  T: "~@6 g3 ~ bb3 ~ bb3 ~ g3 ~ g3 ~", U: "~@2 g3 ~ bb3 ~ g3 ~ [bb3,eb4]@2 g3 ~ d4@2 c4@2",
  V: "~@6 g3@2 [bb3,eb4] ~ [bb3,eb4] ~ [f3,bb3,d4] ~@3", W: "~@6 g3@2 [bb3,eb4] ~ [bb3,eb4] ~ [g3,c4] ~@3",
  X: "~@6 g3@2 bb3 ~ g3 ~ bb3 ~ bb3 ~", Y: "~@6 g3 ~ d4 ~ g3 ~ bb3@2 c4@2", Z: "~@6 g3 ~ d4@2 g3 ~ bb3 ~ bb3@2",
  AA: "~@6 g3@2 [bb3,eb4]@2 g3 ~ d4@2 c4@2", AB: "~@6 g3 ~ bb3 ~ g3 ~ bb3 ~ bb3 ~", AC: "~@6 g3 ~ d4 ~ g3 ~ bb3 ~ c4@2",
  AD: "~@6 g3 ~ bb3 ~ g3 ~ bb3 ~ bb3@2", AE: "~@2 g3 ~ bb3 ~ g3 ~ d4 ~ g3 ~ bb3@2 c4@2",
  AF: "~@2 g3 ~ bb3 ~ g3 ~ d4 ~ g3 ~ bb3@2 ~@2", AG: "~@2 g3 ~ bb3 ~ g3@2 d4 ~ g3@2 c4@2 bb3@2",
  AH: "~@2 g3 ~ bb3 ~ g3 ~ d4 ~ g3@2 bb3 ~ c4@2", AI: "~@2 g3 ~ bb3 ~ g3 ~ d4 ~ g3@2 bb3@3 ~",
  AJ: "~@2 g3@2 bb3@2 g3 ~ d4 ~ g3@2 bb3@2 c4@2", AK: "~@2 g3@2 bb3@2 g3 ~ [bb3,eb4]@2 g3@2 d4 ~ c4@2",
  AL: "~@2 g3 ~ bb3@2 g3@2 d4 ~ g3@2 bb3@2 c4@2", AM: "~@2 g3@2 bb3@2 g3@2 d4@2 g3@2 bb3@3 ~",
  AN: "~@2 g3@2 bb3@2 g3 ~ [bb3,eb4]@2 g3@2 d4@2 c4@2", AO: "[~ g3 bb3 g3 d4 g3 bb3 c4@2 g3 bb3 g3 d4 g3 bb3@2]/2",
  AP: "[~@2 g3@2 bb3@2 g3@2 d4@2 g3@2 bb3@2 c4@4 g3@2 bb3@2 g3 ~ [bb3,eb4]@2 g3@2 d4@2 c4@4 g3@2 bb3@2 g3@2 d4@2 g3@2 bb3@2 c4@2]/3", // Eb5
  AQ: "~ g3 bb3 g3 d4 g3 bb3@2", AR: "~ g3 bb3 g3 d4 g3 bb3 c4", AS: "~ g3@3 bb3@2 g3@2 [bb3,eb4]@2 g3@2 d4@2 c4@2",
  AT: "[~ g3 bb3 g3 d4 g3 bb3 c4@2 g3 bb3 g3 d4 g3 c4@2]/2",
  AU: "[~@2 g3@2 bb3@2 g3@2 d4@2 g3@2 bb3@2 c4@4 g3@2 bb3@2 g3@2 [bb3,eb4]@2 g3@2 d4 ~ c4@2]/2", // Eb5
  AV: "[~ g3 bb3 g3 [bb3,eb4] g3 d4 c4@2 g3 bb3 g3 d4 g3 bb3 c4@2 g3 bb3 g3 d4 g3 bb3@2]/3", // Eb5
  AW: "[~ g3 bb3 g3 d4 g3 bb3 c4@2 g3 bb3 g3 d4 g3 bb3@3 g3 bb3 g3 d4 g3 bb3 c4]/3",
  AX: "~ g3 bb3 g3 [bb3,eb4] g3 d4 c4", // Eb5
})).s("gm_electric_guitar_muted").gain(0.12).pan(0.4)

// chords · piano · "A.PIANO 1"
const piano = note(`<
  ~@8 A@2 B@2 C@2 D E F@2 G@2 A@2 H I J K L M N O L P ~@4 Q@2 R@2 S@2 T U Q@2 V@2 W@2 X@3 Y Z AA AB@2 AC AD AE Y AF AD
  AG AH AI AJ AE ~@17 AK AL AM AN@2 AL AO AP@2 AL AQ AR@2 AS AT AU@2 AV AW AX@2 AY AM AZ@2 BA BB BC@2 BD BE BF@2 BG BH
  BI@2 BJ BK BL@2 BJ AT BM@2 BN BO ~
>`.pickRestart({
  A: "[[g4,bb4,c5,eb5]@6 ~ [f4,g4,b4,d5]@7 ~@2]/2", // Cm7 G7
  B: "[[g4,bb4,c5,eb5]@11 ~@3 [f4,g4,b4,d5]@6 ~@4 [c5,eb5,ab5] ~@3 [b4,d5] ~@3, ~@14 g5 ~]/2", // Cm7 G7 Ab Bm
  C: "[[g4,c5,eb5]@13 ~ [f4,g4,b4,d5]@14 ~@4]/2", D: "[g4,bb4,c5,eb5]@3 ~@3 [g4,ab4,c5,eb5]@6 ~@4",
  E: "[g4,c5,eb5]@6 [g4,b4,d5]@7 ~@3", F: "[[g4,bb4,c5,eb5]@13 ~ [g4,b4,d5]@14 ~@4]/2",
// … 164 more lines

More by Lois Lane