Strudelify
Don't Let It End cover art

1983 · Kilroy Was Here

Don't Let It End

Styx

KeyD♭ majorTempo110 bpm
0:00/0:00
// Don't Let It End — Styx
// 110 bpm, 4/4, key C# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: Full arrangement: all 133 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(110/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 · epiano1 · "E.PIANO 1"
const epiano1 = note(`<
  A@2 B@8 C@8 D@6 E@3 F@8 G@4 ~@60 H I J K L M N O@2 P@2 Q R S@4 T U V W T U V W T U V W T U V W X
>`.pickRestart({
  A: "[~@29 db5@4 ~ ab2@4 c5@4 ~ db5@8 ~@10 c5@3, ~@29 db2@31 ab2@3 ~, ~@33 ab5@4 ~ db3@14 ab5@11 ~, ~@43 ab2@5 ~@3 ab2@5 db3@8]/2",
  B: "[~@2 db5@3 ~ ab5@4 ~ ab4@4 ab2@6 ~@4 ab2@4 ~@5 ab2@4 db5@4 ~ ab5@4 ~@5 [ab2,db5]@9 ab2@5 ~@4 [ab2,c5]@4 ~ db5@4 [ab2,ab5]@5 ab4@4 ~@10 ab2@4 db3@5 ab2@3 ~@34 ab4@4 ~@14 db5@13 ~ [f4,eb5]@9 ~@9 [bb4,db5,f5]@4 ~ [f3,f5]@22 ~@10 ab4@4 [f4,ab4,db5]@21, ~ db2@33 ~@4 db2@33 ~@4 db2@35 ~@11 [ab3,db4,eb5]@27 ~@5 c4@32 ~@4 f3@9 [f4,bb4,db5]@23 [ab2,f5]@35, ~@5 ab2@5 db3@16 ~@3 db3@14 ~@4 c5@4 ~@10 ab5@11 ~@16 ab2@8 ~@20 ab4@9 db5@22 ~@6 ab4@23 ~@18 bb3@28 ~@4 ab3@30, ~@15 gb4@14 ~@13 ab2@6 db3@15 ~@3 db3@12 ~@6 db3@15 ~@12 db3@37 c3@37 bb2@37 ~@34, ~@89 gb4@23 f4@35 ~ f4@9 eb5@18 ~@10 f5@9 ~@32 db5@9 ~@21]/8", // Db5 Ab F7 Bbm F Db Absus4 Bbm …
  C: "[~@2 [bb4,db5]@5 [bb4,db5]@4 [bb4,db5,f5]@4 ~@19 [gb2,db5]@4 ~@10 bb4@4 ~ [bb3,f4]@18 f4@4 ~@5 [f3,ab4,c5,f5]@4 ~ [f3,ab4,c5,f5]@4 ~@14 [f4,ab4,c5]@9 [gb4,bb4]@4 ~@28 gb3@4 ~@19 gb3@9 [gb3,c5,eb5]@9 ~@33 gb3@4 ~@28 [c5,eb5]@6, ~@2 gb2@28 db4@9 ~@50 [ab4,c5]@14 ~@14 [gb4,bb4]@32 ab4@36 ab4@19 gb3@14 ~@13 [gb3,ab4]@25, ~@2 f5@9 bb3@27 ~@5 bb3@9 ~@23 f2@35 ~@2 [gb2,eb5]@35 ~@2 gb2@14 [gb2,bb4,db5]@23 ~@4 [bb4,db5]@14 [bb4,db5]@17 ~@10 c5@18 ~@7, ~@7 [gb3,gb5]@9 [f4,bb4,eb5]@23 f5@30 ~@29 c4@14 ~@5 db5@18 gb3@5 [bb3,db5]@9 ~@4 gb3@14 ~@18 gb3@14 c5@14 [ab4,c5]@18 ~@10 [bb4,db5]@15, ~@16 db4@9 gb3@13 ~ bb2@14 [bb2,bb4,db5]@23 ~@13 [f3,f5,ab5]@21 ~@7 gb3@4 bb3@5 gb3@4 db4@16 ~@3 c5@27 ~@9 [gb2,c5]@14 [gb2,eb5]@21 ~@2 gb2@34]/8", // Bbm Gb5 Bb5 Fm Gb Cdim Cm Ab …
  D: "[~@3 c5@4 ~@23 gb4@8 ~@33 ab4@4 ~@14 db5@13 [f4,eb5]@8 ~@10 [bb4,db5,f5]@4 ~ [f3,f4,bb4,db5,f5]@22 ~@9 ab4@4 ~ [f4,ab4,db5]@22 [bb4,db5]@4 ~ [gb3,bb4,db5,gb5]@4, ~ ab2@12 db3@12 c3@12 bb2@12 [ab2,f5]@12 [gb2,f5]@3, ~@7 [ab3,db5]@32 ~@9 [ab3,db4,eb5]@27 ~@5 c4@31 ~@5 f3@9 ~@67, ~@16 c5@22 ~@6 ab4@9 db5@21 ~@6 ab4@4 eb5@18 ~@9 f5@9 ~@32 db5@9 ~@31, ~@21 ab4@17 ~@2 f4@35 f4@27 ~@18 bb3@27 ~@5 ab3@31 ~@9]/6", // F7 Bbm Db Bbm Gb Db Gbmaj7 Db5 …
  E: "[[bb4,db5,f5]@4 ~@19 [gb2,db5]@4 ~@9 bb4@4 ~ [bb3,f4]@17 ~ f4@4 ~@5 f3@4 [f3,ab4,c5,f5]@4 ~@14 [f4,ab4,c5]@6, bb3@27 ~@5 bb3@9 ~@36 f3@19, ~@5 [f4,bb4,eb5]@22 f5@30 ~@19 [f5,ab5]@20, ~@5 db4@13 db4@9 ~@40 [ab4,c5,f5]@4 ~@5 [ab4,c5]@9 c4@11, ~@14 gb3@13 bb2@13 ~ [bb2,bb4,db5]@22 f2@33]/3", // Bbm Gb5 Bb5 Fm Ebsus2 Fm Ab Bbm
  F: "[~@3 [gb4,bb4]@4 ~@27 gb3@4 ~@18 gb3@9 [gb3,c5,eb5]@8 ~@27 [ab4,c5]@17 ~@18 [c5,eb5]@8 ~@26 [ab4,c5]@9 ~@17 [c5,f5]@8 ~@31 ab4@4 [c5,f5]@5 ab4@4 db5@4 bb4@5, ~@3 [gb2,eb5]@34 ~@2 gb2@13 [gb2,bb4,db5]@21 ~ [gb2,gb3]@42 ~@40 c5@13 ~@9 [c5,f5]@9 [c5,f5]@8 ~@9 [c5,f5]@8 [c5,f5]@9 [c5,f5]@9 [c5,f5]@8 ~@18, ~@7 [gb4,bb4]@31 ~ ab4@34 ~ ab4@18 [bb4,db5]@25 ab4@25 ~ ab4@26 ~@13 ab4@8 ~ ab4@17 ab4@8 ~ ab4@8 ab4@9 ~@22, ~@7 db5@9 gb3@5 db4@16 ~@2 c5@26 ~@9 c5@13 eb5@29 ~@10 [bb4,db5]@17 ~@5 [bb4,db5]@13 [bb4,db5]@16 ~@79, ~@7 gb3@5 bb3@13 gb3@5 [bb3,db5]@9 ~@4 gb3@13 ~@22 [bb4,db5]@9 c5@13 ~@18 c5@17 ~@8 c5@13 eb5@20 ~@71 f5@8 ~]/8", // Gb Cdim Ab Cm Ab F5 Ebm Gb …
  G: "[~@8 db5@4 ~@44 bb4@4 [eb4,ab4,c5]@12 ~ [gb4,bb4,db5]@12 ~ [ab4,c5,eb5]@7 ~ [gb4,ab4,c5,eb5]@5 ~@29, [db5,f5]@8 f5@9 [db5,f5]@8 [db5,f5]@9 [db5,f5]@8 ~ [db5,f5]@8 [db5,f5]@9 ~@68, ~@4 bb4@8 bb4@9 bb4@9 bb4@8 bb4@8 ~ bb4@9 ~@72]/4", // Ab Gb Ab Ab7 Db
  H: "~@7 db5, [db3,ab3,db4]@31 ~, f4@12 db5@7 ~ ab4@12, ~@4 ab4@12 f4@15 ~, ~@2 eb5@3 ~ eb5@2", // Db5
  I: "~@3 db5 f4 ~@2 db5, [b2,ab3,b3,db4]@15 ~, f4@7 ~@9, ~ ab4@3 ~ ab4@3, ~@8 eb5@11 ~@5 eb5@8", // Db7
  J: "~@3 db5 ~@3 db5, [bb2,bb3,db4]@31 ~, gb4@13 ~@3 gb4@14 ~@2, ~@4 ab4@12 ~@4 ab4@11 ~, ~@4 eb5@5 ~@3 eb5@4", // Bbm
  K: "~@8 eb5@4 gb4@4 db5@4 ~@8 db5@3 ~, [a2,a3,db4]@15 ~, gb4@5 ~@5 gb4@5 ~, ~@4 ab4@7 ~@13 eb5@7 ~", // A
  L: "~@3 db5 ~@3 db5, [db3,ab3,db4]@31 ~, f4@7 ~ f4@7 ~, ~@4 ab4@12 ~@4 ab4@11 ~, ~ eb5 ~ eb5", // Db5
  M: "~@12 db5@4 ~@12 db5@3 ~, [b2,ab3,b3,db4]@31 ~, f4@13 ~@3 f4@14 ~@2, ~@8 eb5@8 ~@4 ab4@11 ~, ~@3 eb5", // Db7
  N: "~@3 db5 ~@3 db5, [bb2,bb3,db4]@31 ~, gb4@7 ~ gb4@7 ~, ~@4 ab4@11 ~@5 ab4@12, ~ eb5 ~ eb5", // Bbm
  O: "[~ ab4 ~ gb4 db5 ~@2 db5@9, [a3,db4], a2@31 ~@33, gb4@8 eb5@7 ~@5 gb4@44, ~@24 eb5@7 ~@33]/2", // A
  P: "[~@4 ab4@4 ~@4 [f4,db5]@20 ~@4 ab4@4 ~@4 db5@12 eb5@7 ~, db4@31 ~ b3@31 ~, f4@12 ~@20 f4@12 f4@19 ~, ~@8 ab4@27 ~@5 ab4@24, ~ eb5@3 ~ eb5@2 ~]/2", // Db
  Q: "f5@2 ~@4 db5@6 bb4 db5@2 ~, bb3, ~@4 db5@7 ~@21, ~ bb4@2 ~",
  R: "gb5 ~@2 bb4@3 [eb4,c5]@2, ab3, ~ gb4@7, ~ f5@5 ~@2, ~ eb5@2 ~", // Cm
  S: "[~@20 ab5@8 ~@56 ab5@8 ~@16 gb4@8 bb4 c5 ~ bb4 gb4@4 ab4@3 ~, db3@9 ab5 ab4 gb4@2 ab3@13 ab4@3 ~@3, db5@8 db4@52 db3@67 ~, ~@4 ab3@28 db5@31 ~ db5@8 db4@28 ab5@27 ~, ~@4 ab5@4 c5@4 db5@16 c5@35 ~@5 ab5@4 c5@4 db5@16 c5@4 db5@31 ~]/4",
  T: "~@3 db5 ~@3 db5, [db3,ab3,db4]@31 ~, f4@13 ~@3 f4@15 ~, ~@4 ab4@11 ~@5 ab4@11 ~, ~@8 eb5@9 ~@7 eb5@8", // Db5
  U: "~@12 db5@4 ~@12 db5@3 ~, [b2,ab3,b3,db4]@15 ~, f4@13 ~@3 f4@12 ~@4, ~@4 ab4@12 ~@4 ab4@11 ~, ~@8 eb5@8 ~@8 eb5@7 ~", // Db7
  V: "~@3 db5 ~@3 db5, [bb2,bb3,db4]@31 ~, gb4@7 ~ gb4@7 ~, ~@4 ab4@11 ~@5 ab4@9 ~@3, ~@8 eb5@9 ~@7 eb5@8", // Bbm
  W: "~ ab4 eb5 gb4 db5 ~ eb5 db5, [a2,a3,db4]@15 ~, gb4@11 ~@9 gb4@12", X: "[ab3,db4,f4]",
})).s("gm_epiano1").gain(0.2).pan(0.4)

// bass · fretless bass · "FRETLESS"
const bass = note(`<
  ~@19 A@8 B C@4 D@2 E F@4 G H I J K L I M N O P Q R S T U V W X Y Z AA AB AC@2 G H I AD K L I AE N O P Q R S T AF AG G
  H I AD K L I AH Z AA X AC@2 AI AJ AK AL AM AN AO AP AQ AN AR AS AT@2 ~@4 AU@2 AV@2 AN AO AP AQ AN AO AP AQ AN AO AP AQ
  AN AO AP AQ AN
>`.pickRestart({
  A: "[~@7 db2@34 ~@2 c2@35 ~ bb1@34 ~@2 ab1@35 ~ gb1@34 ~@2 bb1@34 ~@2 f1@33]/8", B: "~@3 gb1@29",
  C: "[~@7 gb1@62 ~@3 gb1@4 ~ gb1@34 gb1@3 ~@2 gb1@3 ~ gb1@3 ~ gb1@3 ~]/4",
  D: "[~ gb1@3 ~ gb1@3 ~ gb1@3 ~@2 gb1@3 ~ f1@10 ~@3 f1@3 ~ f1@14 ~@3 f1@10 ~@2]/2", E: "~ f1@2 ~@3 f1@15 ~@2 bb1@9",
  F: "[~@4 bb1@3 ~ bb1@15 ~@2 bb1@10 ~@3 bb1@2 ~@3 bb1@15 ~@2 ab1@10 ~@3 ab1@11 ~@2 ab1@6 ~@2 ab1@4 ~@13 ab1@5 ~@4 ab1@5 ~@3]/4",
  G: "db2@11 ~ db2@14 ~@2 db2@3 ~", H: "c2@11 ~ c2@14 ~@2 c2@3 ~", I: "ab1@5 ~ ab1@7 ~ ab1 ~",
  J: "ab1@10 ~@2 ab1@7 ~ ab1@2 ~@2 ab1 ~ bb1 ~ db2@3 ~", K: "db2@10 ~@2 db2@14 ~@2 db2@3 ~",
  L: "c2@10 ~@2 c2@14 ~@2 c2@3 ~", M: "ab1@10 ~@2 ab1@7 ~ ab1@2 ~@2 a1@7 ~", N: "bb1@8 ~@4 bb1@13 ~@3 bb1 ~@3",
  O: "bb1@9 ~@3 bb1@14 ~@2 bb1 ~@3", P: "bb1@10 ~@2 bb1@14 ~@2 bb1 ~@3", Q: "bb1@10 ~@2 bb1@13 ~@3 bb1@2 ~@2",
  R: "gb1@9 ~@3 gb1@14 ~@2 gb1@2 ~@2", S: "gb1@6 ~@2 gb1@6 ~@2 gb1@6 ~@2 gb1@5 ~@3",
  T: "gb1@9 ~@3 gb1@13 ~@3 gb1@2 ~@2", U: "ab1@3 ~ ab1@2 ~@2 ab1@3 ~ ab1@2 ~@2 ab1@3 ~ ab1@2 ~@2 ab1 ~ bb1 ~ db2@3 ~",
  V: "db2@9 ~@3 db2@14 ~@2 db2@3 ~", W: "b1@10 ~@2 b1@13 ~@3 b1@3 ~", X: "bb1@5 ~ bb1@5 ~ bb1@3 ~",
  Y: "a1@9 ~@3 a1@7 ~ a1@2 ~@2 b1@6 ~@2", Z: "db2@5 ~ db2@7 ~ db2 ~", AA: "b1@5 ~ b1@7 ~ b1 ~",
  AB: "bb1@5 ~ bb1@7 ~ bb1 ~", AC: "[a1@10 ~@2 a1@10 ~@2 a1@11 ~ a1@10 ~@2 a1@6 ~@2 b1@5 ~@3]/2",
  AD: "ab1@10 ~@2 ab1@7 ~ ab1 ~@3 ab1 ~ bb1 ~ db2@3 ~", AE: "ab1@10 ~@2 ab1@7 ~ ab1@2 ~@2 a1@6 ~@2",
  AF: "ab1@5 ~ ab1@5 ~ ab1@4", AG: "~@2 ab1@5 ~ ab1@3 ~ ab1@3 ~",
  AH: "ab1@10 ~@2 ab1@7 ~ ab1@2 ~@2 ab1 ~ bb1@2 db2@2 ~@2", AI: "db2@9 ~@3 db2@14 ~@2 db2@2 ~@2",
  AJ: "b1@10 ~@2 b1@13 ~@3 b1@2 ~@2", AK: "gb1@9 ~@3 gb1@7 ~ gb1 ~@3 gb1@6 ~@2",
  AL: "ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~ ab1 ~", AM: "ab1", AN: "db2@15 ~", AO: "b1@31 ~", AP: "bb1@31 ~",
  AQ: "a1@15 ~", AR: "b1@15 ~", AS: "bb1@15 ~", AT: "a1/2", AU: "[db2@57 ~@3 db3@4]/2", AV: "[db2@15 ~]/2",
})).s("gm_fretless_bass").gain(0.44)

// chords · rock organ · "ORGAN 3"
const rock_organ = note(`<
  A@6 ~@13 B@8 C@2 D@3 E ~@6 F G H@2 F G H@2 I J I J K L M N O P I Q R S I T@2 F G U@2 F G U@2 ~@9 R V U@2 R V U@2 O W X
  T@2 R S Y Z@2 AA@2 AB@2 AA@2 AC AD@2 ~@4 AE@4 O P AC AF O P AC AF O P AC AF O P AC AF O
>`.pickRestart({
  A: "[~@29 [ab4,db5,ab5,db6]@148 ~@15]/6", // Db5
  B: "[~@43 c6@36 [ab5,bb5]@36 ab5@36 gb5@36 f5@36 [ab5,c6,f6]@33, ~@7 ab6@72 ~@177, ~@8 [db6,f6]@71 [db6,f6]@71 ~ [bb5,db6,f6]@72 ~@33]/8", // Absus2 Fm Db Bbm
  C: "[~@3 [gb5,ab5,bb5,db6]@36 [ab5,c6]@12 [bb5,db6]@13]/2", // Gb Ab Bbm
  D: "[~ [c6,eb6]@9 [ab5,c6]@4 [bb5,db6]@9 [c6,eb6]@4 ~ db6@8 [ab5,c6]@16 ~@2 [ab5,c6]@7 [bb5,db6]@9 [c6,eb6]@8 ~ [ab5,c6]@4 [bb5,db6]@8 ~ [c6,eb6]@4, ~@9 bb5@3 ~@20]/3", // Cm Ab Bbm Cm Ab Bbm Cm Ab …
  E: "[bb5,db6]@9 [ab5,c6]@8 ~@15", F: "[ab5,db6,f6]", G: "[ab5,c6,f6]", H: "[gb5,ab5,db6,eb6]/2", I: "[db5,f5,bb5]",
  J: "[c5,f5,ab5]", K: "[db5,gb5,bb5]", L: "[eb5,ab5,c6]", M: "[db5,gb5,bb5,db6]", N: "[c5,eb5,ab5]", O: "[db5,f5,ab5]",
  P: "[b4,f5,ab5]", Q: "[db5,e5,a5]@3 [eb5,gb5,b5]", R: "[f5,ab5,db6]", S: "[f5,ab5,b5]",
  T: "[[db5,e5,a5]@7 [eb5,gb5,b5]]/2", U: "[gb5,bb5,db6,eb6]/2", V: "[f5,ab5,c6]", W: "[db5,f5,ab5,b5]",
  X: "[db5,f5,ab5,bb5]", Y: "[f5,ab5,bb5,db6]", Z: "[db5,eb5,gb5,ab5]/2", AA: "[db5 b4, [ab4,f5]]/2",
  AB: "[bb4 a4, [db5,gb5]]/2", AC: "[bb4,db5,gb5]", AD: "[a4,db5,gb5]/2", AE: "[db5,ab5,db6]/4", AF: "[a4,db5,gb5]",
})).s("gm_rock_organ").gain(0.12)

// other · electric guitar jazz · "JAZZ GTR"
const electric_guitar_jazz = note("<~@39 A B@3 A B@3 ~@8 A ~@3 C ~@21 A B@3 A B@3 ~@5 A ~@38>".pickRestart({
  A: "ab4!2 gb4 ab4@3 ~@2", B: "[~ ab4!2 ab4@2 db5@2 db5@2 bb4 ab4 ab4@2 bb4 ~ ab4@2 bb4 ~ ab4@2 ~@3]/3",
  C: "ab4!2 gb4 ab4@2 ~@3",
})).s("gm_electric_guitar_jazz").gain(0.32).pan(0.4)

// other · electric guitar jazz · "JAZZ GTR" · soft notes
const electric_guitar_jazz_2 = note("<~@42 A ~@3 A ~@37 A ~@3 A ~@44>".pickRestart({
  A: "~@5 bb4 ~@2",
})).s("gm_electric_guitar_jazz").gain(0.2).pan(0.4)

// other · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note("<~@64 A@3 B C@3 D E@2 F@2 G H I J K@2 ~@51>".pickRestart({
  A: "[ab5@8 f5@4 eb5@12 db5@4 ab5@12 f5@4 eb5@12 db5@3 ~ ab5@15 ~ ab5@16 ab4@3 ~]/3",
  B: "ab5@2 ~ ab4@2 gb5@2 ~ f5@2 ~ eb5@2 ~ db5@2 ~ eb5@5 db5@2 ab4@2 bb4@2 db5@4",
  C: "[~ db5@7 eb5@2 ~@3 f5@11 ~ db5 ~@2 ab5@12 gb5 ~@3 eb5@12 db5@2 ~@2 ab5@8 ab5@3 ~ ab5@12 gb5 ~ ab5 gb5 ab5 gb5 ab5 gb5 ab5 gb5 ab5 gb5]/3",
  D: "gb5@5 ~ f5 gb5@2 ~@3 gb5@2 ~@2 f5@5 eb5@2 db5@2 eb5@5 db5@2, ab5 ~@31",
  E: "[~ bb4@19 bb4@2 db5 ~ eb5@2 db5@2 eb5@22 ~@2 f5@4 bb5@4 ab5@2 f5@2]/2",
  F: "[~ f5@3 ~ f5@3 ~ f5@3 ab5@3 ~ eb5@5 ~ db5 bb4 eb5@2 db5@9 ~ ab4 ~@3 ab4@3 ~@2 bb4@12 ~@3 gb4@2 ab4 ~]/2",
  G: "bb4@6 ab4@6 gb4@4 bb4@5 ~ db5@5 ~ db5@4", H: "c5@6 ab4@5 ~ f4@4 eb4@10 ~@2 [eb4,gb4]@2 [f4,ab4]@2",
  I: "~ bb4@4 ~ c5@5 [bb4,db5]@5 [ab4,c5]@5 [bb4,db5]@5 ~ [c5,eb5]@5, gb4@5 ab4@5 ~@22", // Bbm Ab Bbm Cm
  J: "[bb4,db5]@5 ~ eb5@5 [db5,f5]@5 [c5,eb5]@5 [db5,f5]@5 ~ [eb5,gb5]@5, ~@5 c5@5 ~@22", // Bbm Db Cm Db Ebm
  K: "[[db5,f5]@3 [eb5,gb5]@2 [f5,ab5]@3 [eb5,gb5]@2 ~ f5@2 [gb5,bb5]@2 ~ [f5,ab5]@3 [gb5,bb5]@2 [ab5,db6]@2 ~ [ab5,db6]@3 ~ [db6,f6]@28 ~@8, ~@10 ab5@3 ~@51]/2", // Db Ebm Fm Ebm Gb Fm Gb Db5 …
})).s("gm_overdriven_guitar").gain(0.49).pan(0.4)

// other · synth strings 1 · "SYN STR 1"
const synth_strings_1 = note("<A@6 ~@93 B ~@12 C@4 D E F G D H I@2 D E F G D H I@2 J>".pickRestart({
  A: "[~@29 [db2,db3,ab3,ab4]@73 [db2,ab3,ab4]@73 ~@17]/6", B: "db7", C: "[[eb4,db5]@63 ~]/4", D: "f4 ab4",
  E: "db5@12 db5 ~ eb5 ~", F: "db5", G: "eb5 db5 gb4 eb4", H: "db5@11 ~ db5 ~ eb5 ~", I: "db5/2", J: "[f4,db5]",
})).s("gm_synth_strings_1").gain(0.27)

// other · synth strings 1 · "SYN STR 1" · soft notes
const synth_strings_1_soft = note("<A@6 ~@94 B@6 C@2 ~@4 D@4 ~@16 E>".pickRestart({
  A: "[~@29 [db4,db5]@73 [db3,db4,db5]@73 ~@17]/6", B: "db7", C: "db7/2", D: "[[db4,ab4]@63 ~]/4", E: "ab4",
})).s("gm_synth_strings_1").gain(0.16)

// chords · overdriven guitar · "OVERDRIVE"
const overdriven_guitar_2 = note(`<
  ~@30 A B C@7 D E F G D E F H I J I K L M L N O P Q R O P Q S@2 D E F G D E F H I J I K L M L T@2 D E F G D E F G O P Q
  U@2 O P V W X ~@34
>`.pickRestart({
  A: "~@13 [gb2,db3]@3 ~ [gb2,db3]@4 ~ gb2@3 ~ [gb2,db3]@3 ~ [gb2,db3]@2, ~@21 db3@3 ~@8", // Gb5
  B: "~@3 gb2@3 ~ [gb2,db3]@3 ~ [gb2,db3]@3 ~ [gb2,db3]@3 ~@2 [gb2,db3]@4 [gb2,db3]@3 ~ [gb2,db3]@4, ~@2 db3@3 ~@27", // Gb5
  C: "[~ [gb2,db3]@3 ~ [gb2,db3]@4 [gb2,db3]@4 ~ db3@4 [f2,c3]@34 ~ c3@33 ~ f3@33 ~ [bb2,f3]@34 ~ [ab3,c4]@13 [bb3,db4]@12 ~ [c4,eb4]@4 [c4,eb4] ~ [c4,eb4] ~ [c4,eb4,ab4]@5 ~@12 [c4,eb4,ab4]@5 ~@4 [c4,eb4,ab4]@5 ~@3, ~@13 gb2@4 ~@35 f2@34 bb2@33 ~@105]/7", // Gb5 F5 Bb5 Ab Bbm Cm Ab
  D: "[ab3,db4,f4]@4 db3@2 ~@2 db3 ~@3 [ab3,db4,f4]@4 db3@2 ~@2 db3 ~@3 db3@2 ~@2 db3 ~@3, db3 ~@11 db3@2 ~@18", // Db
  E: "[ab3,c4,f4]@4 c3@2 ~@2 c3 ~@3 [ab3,c4,f4]@4 c3@2 ~@2 c3 ~@3 c3@2 ~@2 c3 ~@3, c3 ~@5 c3 ~@9", // Fm
  F: "[gb3,ab3,db4]@4 ab2@2 ~@2 ab2 ~@3 [gb3,ab3,db4]@4 ab2@2 ~@2 ab2 ~@3 ab2@2 ~@2 ab2 ~@3, ab2 ~@5 ab2 ~@9", // Gbsus2
  G: "[gb3,ab3,db4]@4 ab2 ~@3 ab2 ~@3 [gb3,ab3,db4]@4 ab2@2 ~@2 ab2 ~@3 ab2@2 ~@2 ab2 ~@3, ab2 ~@5 ab2 ~@9", // Gbsus2
  H: "[gb3,ab3,db4]@4 ab2 ~@3 ab2 ~@3 [gb3,ab3,db4]@4 ab2@2 ~@2 ab2 ~@3 a2@2 ~@2 a2 ~@3, ab2 ~@5 ab2 ~@9", // Gbsus2
  I: "[db4,f4,bb4]@3 ~@9 [db4,f4,bb4]@4 ~@16", J: "[c4,f4,ab4]@4 ~@8 [c4,f4,ab4]@3 ~@17",
  K: "[c4,f4,ab4] ~@2 [c4,f4,ab4] ~@4", L: "[bb3,db4,gb4]@4 ~@8 [bb3,db4,gb4]@3 ~@17",
  M: "[c4,eb4,ab4]@5 ~@3 [c4,eb4,ab4]@4 ~@4 [c4,eb4,ab4]@4 ~@12", // Ab
  N: "[c4,eb4,ab4]@4 ~@8 [c4,eb4,ab4]@3 ~@9 [c4,eb4,ab4]@4 ~@4", // Ab
  O: "[db4,f4,ab4]@4 db3@2 ~@2 db3@2 ~@2 [db4,f4,ab4]@4 db3@3 ~ db3@2 ~@2 db3@3 ~ db3@2 ~@2, db3@3 ~@9 db3@3 ~@17", // Db
  P: "[b2,b3,f4,ab4]@4 b2@3 ~ b2@3 ~ [b3,f4,ab4]@4 b2@3 ~ b2@3 ~ b2@3 ~ b2@3 ~, ~@12 b2@3 ~@17", // Fdim
  Q: "[bb3,db4,f4]@4 bb2@2 ~@2 bb2@3 ~ [bb3,db4,f4]@4 bb2@3 ~ bb2@2 ~@2 bb2@3 ~ bb2 ~@3, bb2@3 ~@9 bb2@3 ~@17", // Bbm
  R: "[a2,e3]@12 [a2,e3]@11 ~ [b2,gb3]@8", // A5 B5
  S: "[[a2,e3]@12 [a2,e3]@11 ~ [a2,e3]@11 ~ [a2,e3]@11 ~ [a2,e3]@7 ~ [b2,gb3]@7 ~]/2", // A5 B5
  T: "[[c4,eb4,ab4]@11 ~ [c4,eb4,ab4]@11 ~ [c4,eb4,ab4]@11 ~ [c4,eb4,ab4]@11 ~ [c4,eb4,ab4]@7 ~ [c4,eb4,ab4]@7 ~]/2", // Ab
  U: "[[a2,e3]@12 [a2,e3]@11 ~ [a2,e3]@11 ~ [a2,e3]@7 ~ [a2,e3]@4 [a2,e3]@7 ~ [b2,gb3]@7 ~]/2", // A5 B5
  V: "[bb3,db4,f4]@4 gb2@2 ~@2 gb2@3 ~ [bb3,db4,f4]@4 gb2@3 ~ gb2@2 ~@2 gb2@3 ~ gb2@2 ~@2, gb2@3 ~@9 gb2@3 ~@17", // Bbm
  W: "[ab3,eb4]@4 [ab3,db4,eb4]@3 ~ [ab3,db4,eb4]@3 ~ [ab3,db4,eb4]@4 [ab3,db4,eb4]@4 [ab3,db4,eb4]@4 [ab3,db4,eb4]@6 [ab3,db4,eb4]!2, db4 ~@15", // Ab5 Absus4
  X: "[ab3,db4,eb4]", // Absus4
})).s("gm_overdriven_guitar").gain(0.35).pan(0.2)

// other · synth strings 1 · "SYN STR 1"
const synth_strings_1_2 = note(`<
  A B C D@3 ~@13 E@8 F@2 ~@70 G@7 H@2 ~@8 I J K L I M N@2 I O K L I M P@2 Q
>`.pickRestart({
  A: "~@29 db5@3", B: "~ ab5@4 c5@5 db5@9 ab5@9 c5@4", C: "~ db5@4 ab5@4 ~ ab4@4 ~ gb4@17",
  D: "[~@6 db5@4 ab5@4 ~ c5@4 db5@9 ab5@9 ~ c5@4 db5@5 ab5@4 ab4@4 ~ gb4@19 ~@21]/3",
  E: "[~@7 [ab3,db4,f4]@36 [ab3,c4,f4]@36 [bb3,db4,f4]@36 [ab3,db4,f4]@36 [bb3,db4,f4]@36 [bb3,db4,f4]@36 [ab3,c4]@33]/8", // Db Fm Bbm Db Bbm Ab
  F: "[~@3 [gb3,bb3]@36 ~@25]/2", // Gb
  G: "[f4@3 ab4@4 eb5@4 db5@4 f4@4 ab4@4 eb5@4 db5@4 f4@4 ab4@4 eb5@4 db5@4 f4@4 ab4@4 eb5@4 db5@4 gb4@4 ab4@4 eb5@4 db5@4 gb4@4 ab4@4 eb5@4 db5@4 gb4@4 ab4@4 eb5@4 gb4@4 db5@4 gb4@4 eb5@4 db5@4 f4@4 ab4@4 eb5@4 db5@4 f4@4 ab4@4 eb5@4 db5@4 f4@4 ab4@4 eb5@4 db5@4 f4@4 ab4@4 eb5@4 db5@4 gb4@4 ab4@4 eb5@4 db5@4 gb4@4 ab4@4 eb5@4 db5@4 gb4]/7",
  H: "[~@3 ab4@4 eb5@4 gb4@4 db5@4 gb4@4 eb5@4 db5@37]/2", I: "f3 ab3", J: "db4@12 db4 ~ eb4 ~", K: "db4",
  L: "eb4 db4 gb3 eb3", M: "db4@11 ~ db4 ~ eb4 ~", N: "db4/2", O: "db4@23 ~ db4@2 ~@2 eb4@2 ~@2", P: "[db4@63 ~]/2",
  Q: "[ab3,db4]", // Db5
})).s("gm_synth_strings_1").gain(0.27).pan(0.7)

// chords · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
  ~@30 A B C@7 D E F G D H I J K L M N O P Q R S T U V S T U W X D E F G D H I J K L M N O P Q Y@2 D E F Z D H I AA S T
  U AB@2 S AC AD AE AF ~@34
>`.pickRestart({
  A: "~@13 [gb2,db3]@3 ~ [gb2,db3]@3 ~@2 [gb2,db3]@3 ~ [gb2,db3]@3 ~ [gb2,db3]@2", // Gb5
  B: "~@3 [gb2,db3]@3 ~ [gb2,db3]@3 ~ [gb2,db3]@3 ~ [gb2,db3]@3 ~@2 [gb2,db3]@3 ~ [gb2,db3]@3 ~ [gb2,db3]@4", // Gb5
  C: "[~ [gb2,db3]@4 [gb2,db3]@4 ~ gb2@3 ~ db3@4 [f2,c3]@33 ~ [f2,c3]@34 ~ [bb2,f3]@33 ~ [bb2,f3]@34 ~ [ab3,c4]@12 ~ [bb3,db4]@13 [c4,eb4]@4 [c4,eb4] ~ [c4,eb4] ~ [c4,eb4,ab4]@5 ~@12 [c4,eb4,ab4]@6 ~@3 [c4,eb4,ab4]@5 ~@3, ~@9 db3@4 gb2@4 ~@207]/7", // Gb5 F5 Bb5 Ab Bbm Cm Ab
  D: "[db3,ab3]@2 ~@2 [db3,ab3]@2 ~@2 [db3,ab3] ~@3 [db3,ab3]@2 ~@2 [db3,ab3]@2 ~@2 [db3,ab3] ~@3 [db3,ab3]@2 ~@2 [db3,ab3]@2 ~@2", // Db5
  E: "[c3,ab3]@2 ~@2 [c3,ab3]@2 ~@2 [c3,ab3] ~@3 [c3,ab3]@2 ~@2 [c3,ab3]@2 ~@2 [c3,ab3]@2 ~@2 [c3,ab3]@2 ~@2 [c3,ab3]@2 ~@2", // Fm
  F: "[ab2,eb3]@2 ~@2 [ab2,eb3] ~@3 [ab2,eb3] ~@3 [ab2,eb3]@2 ~@2 [ab2,eb3]@2 ~@2 [ab2,eb3] ~@3 [ab2,eb3]@2 ~@2 [ab2,eb3]@2 ~@2", // Ab5
  G: "[ab2,eb3]@2 ~@2 [ab2,eb3]@2 ~@2 [ab2,eb3] ~@3 [ab2,eb3]@2 ~@2 [ab2,eb3]@2 ~@2 eb3 ~@3 [ab2,eb3]@2 ~@2 [ab2,eb3] ~@3", // Ab5
  H: "[c3,ab3]@2 ~@2 [c3,ab3]@2 ~@2 [c3,ab3] ~@3 [c3,ab3]@2 ~@2 [c3,ab3]@2 ~@2 [c3,ab3] ~@3 [c3,ab3]@2 ~@2 [c3,ab3]@2 ~@2", // Fm
  I: "[ab2,eb3]@3 ~ [ab2,eb3]@2 ~@2 [ab2,eb3] ~@3 [ab2,eb3]@2 ~@2 [ab2,eb3]@2 ~@2 [ab2,eb3] ~@3 [ab2,eb3]@2 ~@2 [ab2,eb3]@2 ~@2", // Ab5
  J: "[ab2,eb3]@2 ~@2 [ab2,eb3]@2 ~@2 [ab2,eb3] ~@3 [ab2,eb3]@2 ~@2 [ab2,eb3]@2 ~@2 ab2 ~@3 a2@3 ~ a2@2 ~@2", // Ab5
  K: "[bb2,f3]@3 ~ [bb2,f3]@2 ~@2 [bb2,f3] ~@3 [bb2,f3]@2 ~@2 [bb2,f3]@2 ~@2 [bb2,f3]@2 ~@2 [bb2,f3]@3 ~ [bb2,f3]@2 ~@2", // Bb5
  L: "[bb2,f3]@2 ~@2 [bb2,f3]@2 ~@2 [bb2,f3]@2 ~@2 [bb2,f3]@2 ~@2 [bb2,f3]@2 ~@2 [bb2,f3] ~@3 [bb2,f3]@2 ~@2 [bb2,f3]@2 ~@2", // Bb5
  M: "[bb2,f3]@3 ~ [bb2,f3]@2 ~@2 [bb2,f3]@2 ~@2 [bb2,f3]@2 ~@2 [bb2,f3]@2 ~@2 [bb2,f3]@2 ~@2 [bb2,f3]@2 ~@2 [bb2,f3]@2 ~@2", // Bb5
  N: "[bb2,f3] ~ [bb2,f3] ~ [bb2,f3] ~ [bb2,f3] ~ [bb2,f3] ~ [bb2,f3] ~ [bb2,f3] ~ [bb2,f3] ~", // Bb5
  O: "[gb2,db3]@2 ~@2 [gb2,db3] ~@3 [gb2,db3] ~@3 [gb2,db3]@2 ~@2 [gb2,db3]@2 ~@2 [gb2,db3]@2 ~@2 [gb2,db3]@2 ~@2 [gb2,db3]@2 ~@2", // Gb5
  P: "[gb2,db3]@2 ~@2 [gb2,db3]@2 ~@2 [gb2,db3] ~@3 [gb2,db3]@3 ~ [gb2,db3]@2 ~@2 [gb2,db3]@2 ~@2 [gb2,db3]@2 ~@2 [gb2,db3]@2 ~@2", // Gb5
  Q: "[gb2,db3]@3 ~ [gb2,db3]@2 ~@2 [gb2,db3] ~@3 [gb2,db3]@2 ~@2 [gb2,db3]@2 ~@2 [gb2,db3] ~@3 [gb2,db3]@2 ~@2 [gb2,db3]@2 ~@2", // Gb5
  R: "ab2@2 ~@2 ab2@2 ~@2 ab2@2 ~@2 ab2@3 ~ ab2@2 ~@2 ab2@2 ~@2 ab2@2 ~@2 ab2@2 ~@2",
  S: "[db3,ab3]@3 ~ [db3,ab3]@2 ~@2 [db3,ab3] ~@3 [db3,ab3]@3 ~ [db3,ab3]@2 ~@2 [db3,ab3] ~@3 [db3,ab3]@3 ~ [db3,ab3]@2 ~@2", // Db5
  T: "[b2,ab3]@3 ~ [b2,ab3]@2 ~@2 [b2,ab3]@2 ~@2 [b2,ab3]@3 ~ [b2,ab3]@2 ~@2 [b2,ab3]@2 ~@2 [b2,ab3]@3 ~ [b2,ab3]@2 ~@2", // E
  U: "[bb2,f3]@3 ~ [bb2,f3]@2 ~@2 [bb2,f3]@2 ~@2 [bb2,f3]@3 ~ [bb2,f3]@2 ~@2 [bb2,f3]@2 ~@2 [bb2,f3]@3 ~ [bb2,f3]@2 ~@2", // Bb5
  V: "[a2,e3]@3 ~ [a2,e3]@2 ~@2 [a2,e3] ~@3 [a2,e3]@3 ~ [a2,e3]@2 ~@2 [a2,e3]@2 ~@2 [b2,gb3]@3 ~ [b2,gb3]@2 ~@2", // A5 B5
  W: "[a2,e3]@3 ~ [a2,e3]@3 ~ [a2,e3] ~@3 [a2,e3]@3 ~ [a2,e3]@3 ~ [a2,e3]@2 ~@2 [a2,e3]@3 ~ [a2,e3]@3 ~", // A5
  X: "[a2,e3]@2 ~@2 [a2,e3]@3 ~ [a2,e3]@2 ~@2 [a2,e3] ~@3 [a2,e3]@3 ~ [a2,e3]@2 ~@2 [b2,gb3]@3 ~ [b2,gb3]@2 ~@2", // A5 B5
  Y: "[[ab2,eb3]@10 ~@2 [ab2,eb3]@10 ~@2 [ab2,eb3]@11 ~ [ab2,eb3]@10 ~@2 [ab2,eb3]@5 ~@3 ab2@2 bb2 ~ db3@4]/2", // Ab5
  Z: "[ab2,eb3]@2 ~@2 [ab2,eb3]@2 ~@2 [ab2,eb3] ~@3 [ab2,eb3]@2 ~@2 [ab2,eb3]@2 ~@2 [ab2,eb3]@2 ~@2 ab2 ~ bb2 ~ db3@2 ~@2", // Ab5
  AA: "[ab2,eb3]@2 ~@2 [ab2,eb3]@2 ~@2 [ab2,eb3] ~@3 [ab2,eb3]@2 ~@2 [ab2,eb3]@2 ~@2 [ab2,eb3]@2 ~@2 [ab2,eb3]@3 ~ [ab2,eb3]@2 ~@2", // Ab5
  AB: "[[a2,e3]@11 ~ [a2,e3]@11 ~ [a2,e3]@12 [a2,e3]@8 [a2,e3]@4 [a2,e3]@8 [b2,gb3]@4 [db3,ab3]@4]/2", // A5 B5 Db5
  AC: "[b2,ab3]@3 ~ [b2,ab3]@2 ~@2 [b2,ab3]@2 ~@2 [b2,ab3]@2 ~@2 [b2,ab3]@2 ~@2 [b2,ab3]@2 ~@2 [b2,ab3]@3 ~ [b2,ab3]@2 ~@2", // E
  AD: "[gb2,db3]@3 ~ [gb2,db3]@2 ~@2 [gb2,db3]@2 ~@2 [gb2,db3]@3 ~ [gb2,db3]@2 ~@2 [gb2,db3]@2 ~@2 [gb2,db3]@3 ~ [gb2,db3]@2 ~@2", // Gb5
  AE: "[ab2,eb3]@4 [ab2,eb3]@4 [ab2,eb3]@4 [ab2,eb3]@4 [ab2,eb3]@4 [ab2,eb3]@4 [ab2,eb3]@6 [ab2,eb3]!2", // Ab5
  AF: "[ab2,eb3]", // Ab5
// … 105 more lines

More by Styx