Strudelify

Shoot High Aim Low

Yes

KeyG majorTempo94 bpm
0:00/0:00
// Shoot High Aim Low — Yes
// 94 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: bank select 127 (Roland MT-32 map) read through the MT-32 patch table: ch 7 "PRG.CHANGE" Tuba -> tuba
// note: Full arrangement: all 128 bars on a 32-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): PRG.CHANGE.
setcpm(94/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.

// other · electric guitar muted · "PRG.CHANGE"
const electric_guitar_muted = note("<~@13 A B C D E F G H@5 I@8 ~ J@8 K@8 L M N@2 L O ~@72>".pickRestart({
  A: "~@9 e2 g2 a2 b2 a2 g2 a2", B: "a2", C: "e2", D: "~ e2 g2 a2 b2 a2 g2@10", E: "g2@9 e2 g2 a2 b2 a2 g2 a2",
  F: "a2@3 a2 ~@12", G: "e2!2 g2 a2@13", H: "[~ e2 g2 ~ b2 ~ g2@5 ~@14 e2 g2 a2@53, a2@3 a2@2 a2@22 ~@53]/5",
  I: "[g1@3 ~ g1@2 g1@3 ~ g1@2 g1@3 ~@3 e2@2 g2@2 a2@234]/8", J: "[~@16 e2@9 ~@7 g2@32, a2]/4",
  K: "[~@16 e2@9 ~@7 g2@32 ~@16 e2@9 ~@7 g2@16 d2@16, a2]/8", L: "a1@3 ~ a1@2 a1@3 ~ a1@2 a1@3 ~@17",
  M: "e1@3 ~ e1@2 e1@3 ~ e1@2 e1@3 ~@17", N: "g1@3 ~ g1@2 g1@3 ~ g1@2 g1@3 ~@17", O: "~@9 e2 g2 ~ b2 ~ g2@2",
})).s("gm_electric_guitar_muted").gain(0.28).pan(0.3)

// bass · synth bass 2 · "PRG.CHANGE"
const bass = note(`<
  ~@19 A@5 B@8 C D@8 ~@18 E@8 F@5 C G@8 H@3 I@5 J K L M@2 K L M@2 K L N O K L P@2 K L O Q K L ~ O ~@14
>`.pickRestart({
  A: "[~@8 b2@80 ~@2 a2@2 g2@2 a2@5 ~@29 e2@2 e2@2 g2@2 a2@2 b2@24, ~@11 b2@6 ~@3]/5",
  B: "[e2@2 e2@2 g2@2 a2@2 ~@2 a2@2 ~@46 a2@2 ~@2 a2@4 ~@30 e2@2 e2@2 ~@2 a2@2 ~@24 [g1,e2]@2 e2@2 g1@2 [g1,a2]@2 a2@2 g1@2 g1@2 ~@18 g1@2 ~@2 g1@2 g1@2 ~@2 g1@2 g1@2 ~@4 e2@2 ~@2 a2@2 ~@2 a2@2 ~@2 a2@5 ~@29 e2@2 e2@2 ~@2 a2@2 b2@24, ~ b2@6 b2@6 b2@10 b2@6 ~@3, ~@6 g2@24 g2@20 g2@16 g2@3 g2@21 g2@4 g2@20 g2@14]/8", // C Gsus2
  C: "~ e2 ~ a2 ~ a2 g2@10, ~ g2@2 ~@5, ~ b2@3", D: "[d1@8 ~ e2 ~ a2 ~ a2 g2@114, ~@5 g2@2 ~@57, ~@3 b2@29]/8",
  E: "[~@2 e2@2 ~@2 a2@2 ~@26 e2@2 ~@2 a2@2 ~@2 a2@2 g2@38 e2@2 ~@2 a2@2 ~@2 a2@2 ~@2 a2@10 ~@26 e2@2 ~@2 a2@2 ~@26 e2@2 ~@2 a2@2 ~@2 a2@2 g2@38 e2@2 ~@2 a2@2 ~@2 a2@2 ~@2 a2@9 ~@25, ~ g2@8 g2@2 ~@10 g2@2 g2@10 g2@8 g2@2 ~@10 g2@2 g2@9, ~ b2@4 b2@6 b2@6 b2@4 b2@6 b2@5]/8",
  F: "[~ e2 ~ a2 ~@13 e2 ~ a2 ~ a2 g2@19 e2 ~ a2 ~ a2 ~ a2@9 ~@9 e2 ~ a2 b2@12, ~ g2@8 g2@2 ~@10 g2@2 g2@10 g2@7, ~ b2@4 b2@6 b2@6 ~@3]/5",
  G: "[~@9 e2 ~ a2 ~ a2 ~ a2@17 e2@16 g2@26 ~@6 a2@16 e2@16 g2@16, ~@5 g2@2 g2@17 ~@13 g2@19 ~@8, ~@3 b2@29]/8",
  H: "[g2 ~ a2@2 e2@2, ~ g2@5]/3", I: "[~@2 a2 e2 ~, g2]/5", J: "d2@11 ~ d2@10 d2@10", K: "a1", L: "e1", M: "g1/2",
  N: "g1", O: "d1", P: "[g1@3 b1]/2", Q: "d0",
})).s("gm_synth_bass_2").gain(0.28).pan(0.3)

// bass · fretless bass · "PRG.CHANGE"
const bass_2 = note("<~@118 A B C@3 D E F@2 ~>".pickRestart({
  A: "a2@3 a2@13", B: "e2!2 g2 a2 b2@6 ~@6", C: "[a2 e2 g2 a2 b2 a2 g2@18 ~ e2 g2 a2 b2 a2 g2 a2@9 ~@8]/3",
  D: "~ e2 g2 a2 b2@5 ~@7", E: "~ e2 g2 a2 b2 a2 g2@10", F: "[~@9 e2 g2 a2 b2 a2 g2 a2@9 ~@8]/2",
})).s("gm_fretless_bass").gain(0.09).pan(0.3)

// chords · lead 1 square · "PRG.CHANGE"
const lead_1_square = note(`<
  ~@18 A B C ~ D E F ~ G H I ~ J K L M N O@2 ~ N P@2 ~ N Q@3 N R@2 ~@9 S@2 T ~ U V W ~ X Y Z ~ AA AB@2 AC N AD@2 ~ N
  AE@2 AF AG AH@3 N AI@2 ~@16 AJ ~@16 AK AL AM AN ~@2
>`.pickRestart({
  A: "~@8 a4@3 g4 ~@2 f#4@2", B: "e4 ~ e4@2 e4@4 ~@6 b3@2", C: "d4@3 b3@3 a3 ~ a3@3 ~ a3@2 a3@2",
  D: "~@6 a4 ~ a4@2 a4 ~ g4@3 ~", E: "e4@3 e4 ~@4 e4@3 d4 ~@2 b3@2", F: "d4@3 b3@3 a3 ~ a3@3 ~ g3@4",
  G: "~@4 a4@3 ~ a4@2 ~@2 a4@2 ~@2 a4@2 ~@2 a4@2 a4@3 e4@5 ~@2", H: "~@4 g4@3 ~ g4@2 ~@2 g4@2 ~@2 g4@4 ~@2 g4@6 b3@4",
  I: "d4@4 b3@2 b3@6 a3@2 a3@2 a3@4 g3@3 ~ a3@4 ~@4", J: "~@8 a4@3 g4@3 f#4@2", K: "e4@6 e4@6 e4@3 ~ f#4@6 e4@3 ~ b3@6",
  L: "d4 ~ b3 b3@4 a3 a3@2 g3 ~ g3@3 ~", M: "~@4 a4@4 a4@2 ~@2 a4@2 ~@2 b4@6 a4@7 ~@3", N: "~ [e3,a3,c4,e4,a4]",
  O: "[[e3,g3,b3,d4,e4]@9 ~@3 [d3,g3,b3,d4,g4]@2 [d3,g3,b3,d4,g4]@12 ~@6]/2", // Em7 G
  P: "[[b2,e3,g3,b3,d4,e4]@9 ~@3 [d3,g3,b3,d4,g4]@2 [d3,g3,b3,d4,g4]@13 ~@5]/2", // Em7 G
  Q: "[[b2,e3,g3,b3,d4,e4]@9 ~@3 [d3,g3,b3,d4,g4]@2 [d3,g3,b3,d4,g4]@32 ~@2]/3", // Em7 G
  R: "[[b2,e3,g3,b3,d4,e4]@9 ~@3 [g3,b3,d4,g4]@2 [g3,b3,d4,g4]@17 ~, ~@12 d3@19 ~]/2", // Em7 G
  S: "[~@12 a4@4 a4@4 a4@10 f#4@7 e4@13 ~@10 b3@4]/2", T: "d4@3 b3@3 a3!2 a3@3 ~ a3@2 a3@2",
  U: "~@8 a4@4 a4@2 a4@3 ~ g4@3 ~ g4@5 ~@5", V: "f#4@4 e4@5 ~@4 e4@4 ~@3 e4@8 b3@4",
  W: "d4@6 b3@5 ~ a3@2 a3@2 a3@6 ~@2 g3@8", X: "~@4 a4@2 ~@2 a4@4 b4@3 ~ c5@4 d5@2 c5@3 b4@2 ~ a4@2 g4@2",
  Y: "b4@4 a4@2 ~@2 g4@2 a4@3 ~ b4@8 ~@6 b4@2 b4@2", Z: "b4@4 a4@2 ~@2 a4@4 g4@2 g4@3 ~ g4@3 ~ g4@10",
  AA: "~@4 c5@2 c5@2 c5@4 c5@3 ~ c5@4 c5@3 ~ c5@2 b4@2 a4@4",
  AB: "[~@4 b4@2 b4@2 b4@4 b4@3 ~ b4@4 b4@2 b4@2 b4@2 a4@3 ~ g4@7 ~@27]/2",
  AC: "a4@4 a4@3 ~ a4@4 a4@3 ~ [d4,g4,c5]@2 [d4,g4,c5]@2 [d4,g4,c5]@2 [d4,g4,c5]@8 ~@2", // Csus2
  AD: "[[b3,d4,e4]@9 ~@3 [d3,g3,b3,d4,g4]@2 [d3,g3,b3,d4,g4]@12 ~@6]/2", // E7 G
  AE: "[[g3,b3,d4,e4]@9 ~@3 [d3,g3,b3,d4,g4]@2 [d3,g3,b3,d4,g4]@13 ~@5]/2", // Em7 G
  AF: "~@16 b4@2 b4 ~ b4@2 b4 ~ b4@4 c5@2 b4@2", AG: "~@2 a4@7 ~@7 [e3,a3,c4,e4,a4]@16",
  AH: "[[g3,b3,d4,e4]@9 ~@3 [g3,b3,d4,g4]@2 [g3,b3,d4,g4]@32 ~@2]/3", // Em7 G
  AI: "[[b3,d4,e4]@9 ~@3 [g3,b3,d4,g4]@2 [g3,b3,d4,g4]@17 ~]/2", AJ: "~@10 d5 ~ d5@3 ~", AK: "a3@8 b3@7 ~ c4@8 e4@7 ~",
  AL: "e4@2 e4@11 ~@3", AM: "g4@8 a4@8 g4@13 d4@3", AN: "d4@3 ~",
})).s("gm_lead_1_square").gain(0.34)

// chords · lead 1 square · "PRG.CHANGE"
const lead_1_square_2 = note("<~@71 A B C@2 ~@53>".pickRestart({
  A: "~@26 [d4,g4,d5]@4 [d4,g4,d5] ~", // G5
  B: "[d4,g4,d5]@4 [b3,e4,b4] ~ [b3,e4,b4]@6 [a3,d4,a4]@3 ~ [a3,e4,a4]@2 [g3,d4,g4]@4 ~@2 [g3,d4,g4]@8", // G5 E5 D5 A5 G5
  C: "[~@14 [a4,c5,d5] [a4,c5]@3 ~@14]/2", // D7 Am
})).s("gm_lead_1_square").gain(0.24).pan(0.7)

// chords · drawbar organ · "PRG.CHANGE"
const drawbar_organ = note("<~ A@7 ~@120>".pickRestart({
  A: "[~ [b4,c5,d5,e5]@2 ~@2 [g6,a6,b6,c7]@2 ~@2 [f4,g4,a4,b4]@2 ~@2 [a4,c5]@2 ~@2 [g4,a4,b4,c5,d5]@2 ~@2 [a5,b5,c6,d6]@2 ~@2 [f4,g4,a4,b4]@2 ~@2 [c6,d6,e6]@2 ~@2 [c4,d4,e4,f4]@2 ~@2 [a5,b5,c6]@2 ~@2 [f4,g4,a4] ~ [f4,g4,a4,b4] ~ [e6,f6,g6]@2 [e5,f5,g5] ~ [f3,g3,a3,b3]@2 [d4,e4,f4] ~ [e5,f5,g5]@2 ~ [c6,d6,e6,f6] [c6,d6,e6,f6]@2 ~@2 [e4,f4,g4,a4,b4]@2 d5 ~ [e6,f6,g6,a6]@2 ~@2 [g3,a3,b3,c4]@2 ~ a5 [e5,f5,g5,a5]@2 ~@2 [a4,b4,c5,d5]@2 ~@2 [f5,g5,a5,b5]@2 [f4,g4,a4,b4] ~ [f5,g5,a5]@2 ~@2 [g4,a4,b4] ~@3 [c6,d6,e6,f6]@2 [g4,a4,b4,c5] ~ [f5,g5,a5] ~@3 [g4,c5]@2 ~@2 [d5,e5,f5,g5]@2 ~@2 [b5,c6,d6,e6]@2 g4 [g4,a4,b4] [g4,a4,b4]@2 ~@2 [d5,e5,f5]@2 ~@2 [d4,e4,f4]@2 ~@2 [c5,d5,e5]@2 ~@2 [f4,g4,a4,b4]@2 ~@2 [f5,g5] ~@3 [g4,a4]@2 ~@2 [e5,f5,g5]@2 ~@2 [c7,d7,e7]@2 ~@2 [d5,e5]@2 ~@2 [c7,d7,e7]@2 ~@2 [g5,a5,b5]@2 ~@2 [a4,b4,c5]@2 ~@2 [c6,d6,e6]@2 ~@2 [c6,d6,e6]@2 ~@2 [c7,d7,e7]@2 ~@2 [c5,d5,e5]@2 ~@2 [c5,d5,e5]@2 ~@2 [b5,c6,d6]@2 ~@2 [b5,c6,d6]@2 ~ c6 [b5,c6]@2 ~@2 [e5,f5,g5]@2 ~@2 [c6,d6,e6]@2 ~@2 [e6,f6]@2 d7 ~ [d6,e6,f6]@2 ~@2 [d6,e6]@2 [f6,g6]@3 ~@6, [d6,e6,f6,g6]@3 [c6,d6,e6,f6]@3 ~@2 [g5,a5,b5,c6]@3 [d5,e5,f5]@2 g4 ~@2 [g5,a5,b5]@3 [e6,f6,g6]@3 ~@2 [d5,e5,f5,g5]@3 [f5,g5,a5,b5]@3 ~@2 [g5,a5,b5]@3 [d5,e5,f5]@3 ~@2 [d6,e6,f6,g6]@3 ~@4 a5@3 ~@2 [c4,d4,e4,f4]@3 ~@5 [g6,a6,b6,c7]@3 ~ [a4,b4,c5,d5]@3 [b3,d4,e4,f4]@3 ~@2 [b5,c6,d6]@3 ~ [c6,d6,e6,f6]@3 [e5,f5,g5]@3 ~@3 e5 ~ [b4,c5,d5,e5]@2 [e4,f4]@2 [g4,a4,b4]@3 ~@2 [g4,a4,b4,c5]@3 ~ [f6,g6,a6,b6]@3 [b5,c6,d6,e6]@3 ~@2 [g4,a4,b4,d5]@3 ~ c5@3 [a5,b5,c6]@3 ~@2 [b5,c6,d6]@3 [e6,f6,g6]@3 ~@2 [a5,b5,c6,d6]@3 [c6,d6,e6,f6]@2 e5@2 [f5,g5,a5,b5]@2 [b4,c5] ~ [b4,c5,d5,e5]@2 d5 ~ [a4,b4,c5,d5]@3 ~@2 [a4,b4,c5]@3 ~ f6@3 [e6,f6,g6]@3 ~ [e6,f6,g6]@3 ~ [g5,a5,b5]@3 ~ [f5,g5,a5]@3 ~ [e5,f5,g5]@3 ~@2 [b5,c6]@3 [a5,b5,c6]@3 ~ [b5,c6,d6]@2 ~@3 [e5,f5,g5]@3 [f5,g5]@3 ~@2 [a5,b5,c6]@3 ~ [a6,b6,c7]@3 ~ [d5,e5]@3 ~ [d7,e7,f7]@3 ~ [e5,f5]@3 ~@9, ~@4 [b4,c5,d5,e5]@3 [d4,e4,f4,g4,a4]@3 ~@2 [b3,c4,d4,e4]@3 [d4,e4,f4,g4]@3 ~@2 [a3,b3,c4,d4,e4]@3 [b3,c4,d4,e4,f4]@3 ~@2 [c4,d4,e4,f4]@3 [g3,a3,b3,c4]@3 ~@2 [d4,e4,f4,g4]@3 [a3,b3,c4,d4]@2 e4@2 ~ [e4,f4,g4,a4,b4]@3 ~ [d5,e5,f5,g5]@3 g4@2 d5 ~ [a4,b4,c5,d5]@3 ~ [c5,d5,e5,f5]@3 ~ [e5,f5,g5]@3 ~@2 [c5,d5,e5,f5]@3 [g4,a4,b4,c5,d5]@3 ~ [c4,d4,e4,f4]@3 ~@2 [b3,c4,d4,e4,f4]@3 ~ [f4,g4,a4,b4]@3 ~ [d6,e6,f6,g6]@3 ~ [f5,g5,a5,b5]@3 d5@2 b5@2 [e5,f5,g5,a5]@3 ~@2 [e4,f4,g4,a4]@3 [b3,c4,d4,e4]@3 ~ [d4,e4]@3 ~@2 [c4,d4,e4,f4]@3 [f4,g4,a4,b4]@3 ~@2 [b3,c4,d4]@3 [f4,g4,a4,b4]@2 ~@3 [b3,c4,d4,e4]@3 ~ [e6,f6,g6,a6]@3 ~ [a#5,b5,c#6,d6]@3 ~ [c6,d6,e6]@3 [c6,d6,e6]@2 f5 ~ [f5,g5,a5,b5,d6,e6]@3 ~@2 [a4,b4,c5,d5]@3 ~ [c7,d7,e7]@3 ~ [d5,e5,f5]@3 ~ [g6,a6]@3 ~ [e6,f6,g6]@3 [f6,g6,a6]@3 ~@2 [a6,b6,c7]@3 ~ [g6,a6,b6]@3 [a6,b6,c7]@3 ~@2 [d6,e6]@3 [f6,g6,a6]@3 ~ [d6,e6,f6]@3 ~ [f5,g5,a5]@3 ~ [b6,c7]@3 ~ [g5,b5,c6]@2 f6 ~@10]/7", // Cmaj7 G7 Am G D7 G7 C Dm7 …
})).s("gm_drawbar_organ").gain(0.28).pan(0.6)

// other · overdriven guitar · "PRG.CHANGE"
const overdriven_guitar = note(`<
  ~@16 A ~@16 B ~@39 C ~@3 D ~@2 E@2 ~@2 F G@2 H@2 I J K L@3 M@2 N O P Q@2 R S T U ~ V W@2 X Y Z AA ~@14
>`.pickRestart({
  A: "a4 ~@31", B: "f#4@5 f#4 ~ f#4@2 f#4 ~ f#4@3 ~@2",
  C: "~ [a3,d4,g4]@3 [a3,d4,e4]@4 [a3,d4,f#4]@3 [a3,d4,f#4] [a3,d4,g4] [a3,d4,f#4]@3", D: "~@8 [d4,g4,a4,c5]!8",
  E: "[~@10 d5@19 c5@5 a4@8 ~ g4@21]/2", F: "e5@3 b5@3 g5@2 a5@3 g5@3 f#5@2", G: "[e5@3 d5@3 e5@14 ~@4 a5@8]/2",
  H: "[~@16 b5@3 a5@3 b5@2 ~@4 b5@4, g5@3 g5]/2", I: "f#5", J: "a4@3 c5", K: "b4@3 e5",
  L: "[d5@18 d5@2 b4@2 a4@2 g4@2 e4@2 a4@8 g4@2 g4@13 ~@3 c5@2 b4@3 ~ g4@2 a4@7 ~@5 d4@3 ~ a4@10 a4@3 ~ c5@2 d5@2]/3",
  M: "[e5@17 ~@13 d5@18 ~ b4@3 b4@2 g4@2 b4@2 g4@2 b4@2 g4@2]/2", N: "b4@2 c5@2 d5@10 ~@2 d5@4 b4@2 g4@2 b4@4 b4@3 ~",
  O: "a4@11 e5 g5@2 e5@2", P: "e5@22 d5@2 e5@5 ~ d6@2", Q: "[d6@19 ~@2 d6 ~@2 c6 ~@2 b5@4 d5@21 d5 ~@3 d5@3 ~@5]/2",
  R: "a4@4 a4@5 ~ e4@2 g4@4 g4@5 ~ d4@2 e4@4 e4@3 ~", S: "b3@8 b3 [c4,d4] e4 b3 a3@8 b3@4 b3@4 g3@4",
  T: "d4@3 ~@3 d4@3 ~@3 b3 ~ a3 ~ g3@8 g3@8", U: "g3", V: "d5@6 c5 e5", W: "[e5@11 ~ d5@4 d5@48]/2",
  X: "d5@3 d5@3 d5@5 ~@5", Y: "~@11 e5@5 d5@8 d5@8", Z: "d5@4 g4@2 g4@5 ~ b4 ~ d5@2 d5@4 a5@3 ~ b5@3 ~ c6@3 ~",
  AA: "d6",
})).s("gm_overdriven_guitar").gain(0.42).pan(0.6)

// other · overdriven guitar · "PRG.CHANGE" · soft notes
const overdriven_guitar_soft = note("<~@10 A B A ~ C@2 ~@15 D@2 E ~@55 F ~@13 G H ~@23>".pickRestart({
  A: "a4 ~@3 a4 ~ a4 ~@3 a4 ~ a4 ~@3 a4 ~@15", B: "a4@3 ~ a4 ~ a4@3 ~ a4 ~ a4@3 ~ a4@3 ~@13",
  C: "a4 ~@3 a4 ~ a4 ~@3 a4 ~ a4 ~@19", D: "[~@32 g4@4 g4@2 g4@20 g4@5 ~, ~@31 [b3,d4]@33]/2",
  E: "~@6 f#4 ~@3 f#4 ~@3 f#4@2, [a3,d4]", F: "a5", G: "~@11 d4 ~@20", H: "d3@3 ~@3 d3@3 ~@23",
})).s("gm_overdriven_guitar").gain(0.21).pan(0.6)

// other · electric guitar clean · "PRG.CHANGE"
const electric_guitar_clean = note("<~@18 A B C ~ D B E ~ D B E ~ D ~@97>".pickRestart({
  A: "a2@2 a2 a2@13", B: "e2", C: "g2@2 g2 g2@13", D: "a2", E: "g2",
})).s("gm_electric_guitar_clean").gain(0.21).pan(0.6)

// other · distortion guitar · "PRG.CHANGE"
const distortion_guitar = note(`<
  ~@21 A@2 ~@17 B@2 C ~@5 D E F G H I J ~@2 K ~ L M@2 ~ L M@2 ~ L M@2 ~ L ~@23 N@8 ~@14 O@2 ~@2 P@3 ~ Q@2 ~
>`.pickRestart({
  A: "g4/2", B: "[~@16 a5@6 d6@6 b5@20 [e4,e5,e6]@15 ~]/2", C: "~@4 e4 ~@11",
  D: "b5@4 ~@2 a5@2 ~@4 b5@2 ~@2 g5@5 ~@3 b5@5 ~@3",
  E: "~@2 [a3,d4,g4]@2 [a3,d4,g4]@6 [a3,e4]@6 [a3,d4,f#4]@5 ~ [a3,d4,f#4]@2 [a3,d4,g4]@2 [a3,d4,f#4]@5 ~, a5", // Dsus4 A5 D Dsus4 D
  F: "~@2 d5@3 d5 d5@2 c5@2 ~ a4!2 a4@2 ~", G: "~@4 c5@4 a4 g4 e4 d4 c4 a3 g3 e3 d3@6 e3@2 ~@2 d3@2 g3@2 b3@2",
  H: "d4@6 g4@2 ~@2 d4@2 a4@6 g4@2 ~@2 a4 ~ b4 ~ c5 ~ d5 ~ e5 ~",
  I: "[d4,d5]@5 ~ [c4,c5] ~ [b3,b4] ~ [a3,a4] ~ [g3,g4] ~ [a3,a4] ~ [b3,b4] ~ [c4,c5] [d4,d5] [e4,e5] [c4,c5] [d4,d5] [c4,c5] [b3,b4] [d4,d5] [c4,c5] [b3,b4] [a3,a4] [g3,g4] [a3,a4] [b3,b4]", // D C B A G A B C …
  J: "[c4,c5]@3 [a3,a4]@5 ~@8", K: "~@16 [g4,a4,c5]@2 [g4,a4,c5]@4 [g4,a4,c5]@2 [g4,a4,c5]@7 ~", L: "~@14 a4 b4",
  M: "d5/2", N: "[~@10 c6 ~ c6@2 g5@114]/8", O: "a5/2", P: "[~@2 g5@3 ~@10 e5@21 ~@12]/3", Q: "[~@30 e5@33 ~]/2",
})).s("gm_distortion_guitar").gain(0.35).pan(0.6)

// chords · tuba · "PRG.CHANGE"
const tuba = note("<~ A@7 ~@120>".pickRestart({
  A: "[~ [d5,e5,c6,d6]@2 ~@2 [c6,d6,e6,f7]@2 ~@2 [d5,e5,c6,d6]@2 ~ [d6,e6] [d6,e6,a6,b6]@2 c6 [d6,e6] [a5,b5,e6]@2 [d5,e5,f5] ~ [c5,c7,d7,e7]@2 ~@2 [c6,e7]@2 ~@2 [b5,c6,d6,d7]@2 ~@2 [a4,b4,c5,a5]@2 [f5,g5] [f5,g5,a5] [e5,f5,g5,a5]@2 ~@2 [a5,c7,d7,e7]@2 [c6,d6] c6 [c6,c7,d7,e7]@2 ~@2 [c5,a5,b5]@2 ~@2 [e5,f5,e6,f6]@2 ~@2 [c7,d7]@2 ~ f5 [f5,g5,c6,d6]@2 d7 ~ [d6,e6,f6,c7]@2 ~@2 [c5,e6,f6,g6]@2 g5 ~ [e5,f5,e6,f6]@2 ~@2 [e5,d6]@2 ~@2 [e5,g6]@2 f5 ~ [g4,a4,b4,d6]@2 ~@2 [a5,b5]@2 ~@2 [c7,d7,e7]@2 [d6,e6] ~ [b4,c5,d5]@2 [e5,f5] ~ e6@2 ~@2 [c5,d5,e5]@2 ~@2 [e5,f5,g5]@2 ~@2 [e5,f5,g5]@2 ~@2 [b4,c5,d5,e5]@2 ~ [f5,g5] [d5,e5,f5,g5]@2 ~@2 [c5,d5,e5]@2 a6 ~ [a5,b5,c6]@2 [c5,d5] ~ [b5,c6,d6]@2 ~@2 [c5,d5,e5]@2 a6 ~ [c6,d6,e6]@2 ~@2 [b4,c5,d5]@2 ~@2 [a5,b5,c6]@2 ~@2 [d4,e4,f4,g4]@2 ~@2 [d6,e6,f6]@2 ~@2 [c5,d5,e5]@2 ~@2 [a6,b6,c7]@2 ~@2 [g4,a4,b4,c5]@2 ~@2 [d6,e6,f6]@2 ~@2 [g5,a5,b5]@2 ~@2 [b5,c6]@2 ~@2 [c5,d5,e5]@2 ~@2 [g5,a5,b5]@2 ~@2 [a5,b5]@2 ~@2 [c5,a5,b5,c6]@2 ~@2 [d6,a6,b6,c7]@2 [a5,b5] ~ [a4,b4]@2 ~@2 [a5,b5,c6]@2 ~@2 [f5,g5,a5]@3 ~@8, [e6,c7,d7,e7]@3 [c5,g5,a5,b5]@3 ~@2 [f5,g5,a5,e6]@3 [c5,g5,a5,b5]@3 ~@2 c6@3 d6@3 ~ [d6,e6,f6,g6]@2 [d6,e6] ~ [d6,e6,f6]@3 ~@2 [d5,b5,c6,d6]@3 ~ g6@3 [c5,d5,g6,a6]@3 ~@2 [c5,d5,e5]@3 ~ [d5,e5,f6]@3 ~ [g6,a6,b6,c7]@3 ~ [f6,g6,a6,e7]@3 ~ [d5,e5,a5]@3 [e5,b6,c7]@3 ~@2 [f5,b5,c6]@3 ~ [g5,a5,b5,g6]@3 [d5,a5,b5]@2 [c5,d5] ~ [c5,d5,b5,c6]@2 f5 ~ [g5,b6,c7]@3 ~ [g5,a5,b5]@3 ~@2 [d6,e6,f6]@3 f6@3 ~@2 [e5,f5]@3 ~ [a6,b6,c7]@3 ~ [b6,c7,d7]@3 ~ [c6,d6,e6]@3 ~ [c6,d6,e6,f6]@3 ~ [a5,b5]@3 [e4,f4,g4]@3 ~@2 [a6,b6,c7]@3 ~ [c5,d5,e5]@3 [e5,f5,g5]@3 ~@2 [a6,b6,c7]@3 ~ [c6,d6,e6]@3 [g6,a6]@3 ~@2 [a6,b6,c7]@3 ~ [a4,b4,c5]@3 [b4,c5,d5]@3 ~@2 [g5,a5,b5]@3 [b4,c5,d5]@3 ~ [d5,e5,f5]@3 ~ [e5,f5,g5]@3 ~@2 [d5,e5,f5]@3 [f5,g5,a5]@3 ~ [g5,a5,b5]@2 ~@2 [e6,f6,g6]@3 ~ [f6,g6,a6]@3 ~@2 [d5,e5,a5,b5]@3 c6@3 ~@2 [f6,g6,a6]@3 ~ [c6,d6,e6]@3 ~@9, ~@4 [f6,a6,b6,c7]@3 [b5,c7,d7,e7]@3 ~@2 [c6,c7]@3 [c7,d7,e7]@3 ~@2 [d5,e5,f5,g5]@3 ~ [f5,g5,a5]@3 ~ [d5,e5,a6,b6]@3 [e5,f5,b6,c7]@3 ~ [a6,b6]@3 ~@2 [b5,c6,d6,f6]@3 [b5,e6]@3 ~ [a5,b5,g6,a6]@3 ~ [c6,d6,e6,e7]@3 ~ [c5,b5,c6,d6]@2 [c6,d6] ~ [b5,c6,d6,e6]@3 ~@2 [c5,d5,d7,e7]@3 [b4,c5,g5,a5]@3 ~ [a4,e5,f5]@3 ~@2 [g5,g6,a6,b6]@3 ~ [b4,g5,a5]@3 ~ [d5,e5,f5,f6]@3 ~ [d7,f7]@3 [a6,b6,c7]@3 ~@2 [d6,e6]@3 g5@2 d6 ~ [b5,c6,d6]@3 ~ [c6,d6,e6]@3 ~ [f6,g6,a6]@3 ~ [g6,a6,b6]@3 ~ [g6,a6,b6,c7]@3 ~@2 [f5,g5]@3 g6@3 ~ b4@3 ~@2 [a5,b5]@3 [f6,g6]@3 ~ [e5,f5,g5]@3 ~@2 [f4,g4,a4,b4]@3 [c5,d5,e5,f5]@3 ~ [a5,b5,c6]@3 ~@2 [g5,a5,b5]@3 [d6,e6,f6]@3 ~@2 [a5,b5,c6]@3 ~ [e4,f4,g4]@3 ~ [g6,a6,b6,c7]@3 [d6,e6,f6]@2 a5 ~@2 [g6,a6,b6]@3 ~ [d5,e5,f5]@3 ~ [c5,d5,e5]@3 ~ [d5,e5,f5]@3 [g4,a4,b4,f5]@3 ~@2 [a5,b5]@3 [f5,g#5,a5]@3 ~ [e5,f5,g5]@3 ~@10]/7", // C Dm7 C Dsus2 Asus2 Dm C Bm …
})).s("gm_tuba").gain(0.43)

// chords · electric guitar jazz · "PRG.CHANGE" · E5 B5 C#dim D5 C#dim B5 E5 D5
const electric_guitar_jazz = note(`<
  ~@14
  [[b3,e4]@3 [f#4,b4]@3 [c#4,g4]@2 [d4,a4]@3 [c#4,g4]@3 [b3,f#4]@2]
  [[b3,e4]@3 [a3,d4]@3 b3@10, ~@6 e4@3 ~@7]
  ~@112
>`).s("gm_electric_guitar_jazz").gain(0.24)

// other · guitar harmonics · "PRG.CHANGE" · E
const guitar_harmonics = note("<~@41 [~@15 [e5,e6] ~@16] ~@86>").s("gm_guitar_harmonics").gain(0.42)

// other · acoustic guitar steel · "PRG.CHANGE"
const acoustic_guitar_steel = note(`<
  ~@65
  [~@2 b4 c5 d5 ~ c5 ~ b4 ~ a4 ~ b4 ~ c5 ~ d5 ~ g4 ~@3 g4 ~ d5@2 ~@2 c5 ~ b4 ~]
  [a4 ~@15]
  ~@61
>`).s("gm_acoustic_guitar_steel").gain(0.48)

// chords · overdriven guitar · "PRG.CHANGE" · Dsus4
const overdriven_guitar_2 = note("<~@57 [~@16 [d4,e4,g4,a4]@2 [d4,e4,g4,a4]@4 [d4,e4,g4,a4]@2 [d4,e4,g4,a4]@7 ~] ~@70>")
  .s("gm_overdriven_guitar").gain(0.28)

// chords · lead 2 sawtooth · "PRG.CHANGE" · Am Em G
const lead_2_sawtooth = note("<~@110 [[c4,e4,a4]] [[b3,e4,g4]@31 ~] [[d4,g4,b4]@31 ~] ~@15>")
  .s("gm_lead_2_sawtooth").gain(0.29).pan(0.1)

// chords · string ensemble 1 · "PRG.CHANGE" · D
const string_ensemble_1 = note("<~@113 [[f#4,a4,d5]] ~@14>").s("gm_string_ensemble_1").gain(0.38).pan(0.1)

// other · acoustic guitar nylon · "PRG.CHANGE"
const acoustic_guitar_nylon = note("<~@121 A@2 ~@2 A@2 ~>".pickRestart({
  A: "[~@9 e3 g3 a3 b3 a3 g3 a3@17]/2",
})).s("gm_acoustic_guitar_nylon").gain(0.06)

// chords · pad bowed · "PRG.CHANGE" · Cmaj7 Dm7 Am Cmaj7 Dm7 Cmaj7 C Cmaj7 …
const pad_bowed = note(`<
  ~
  [[b5,c6,d6,e6]@3 [b4,c5,d5,e5]@3 [c4,d4,e4,f4]@3 [a4,b4,c5,d5,e5]@3 [b5,c6,d6,e6]@3 [c4,d4,e4,f4]@3 ~@2 [b5,c6,d6,e6]@3 [b4,c5,d5,e5]@3 [c4,d4,e4,f4,g4]@3 [b5,c6,d6,e6]@3, ~@9 [a4,b4,c5,d5,e5]@2 ~@5]
  [[a4,b4,c5,d5,e5]@3 [c4,d4,e4,f4]@3 [a4,b4,c#5,d5,e5]@3 [b5,c6,d6,e6,f6]@3 [a4,b4,c5,d5,e5]@3 ~@2 [a4,b4,c5,d5]@3 [a5,b5,c6,d6,e6]@3 [b4,c5,d5,e5]@3 [c4,d4,e4,f4]@3 [a4,b4,c5,d5,e5]@3, ~@15 [c4,d4,e4,f4]@4 ~@13]
  [[a5,b5,c6,d6,e6]@3 [b4,c5,d5,e5]@3 [c4,d4,e4,f4]@3 [a4,b4,c5,d5]@3 [b5,c6,d6,e6,f6]@3 [b4,c5,d5,e5]@3 [c4,d4,e4,f4,g4]@3 ~@2 [g5,a5,b5,c6,d6,e6]@3 [a4,b4,c5,d5,e5]@3 [c4,d4,e4,f4]@3, ~@21 [a4,b4,c5,d5,e5]@4 ~@7]
  [[a4,b4,c5,d5,e5]@3 [a5,b5,c6,d6,e6]@3 [b4,c5,d5,e5]@3 [c6,d6,e6]@3 [c5,d5,e5]@3 ~@2 [c5,d5,e5]@3 [c6,d6,e6]@3 [c5,d5,e5]@3 [c4,d4,e4]@3 [c6,d6,e6]@3, ~@15 [c4,d4,e4]@4 ~@13]
  [[d5,e5,f5]@3 [c4,d4,e4]@3 [c6,d6,e6]@3 [c5,d5,e5]@3 [c4,d4,e4]@3 ~@2 [c5,d5,e5]@3 [c4,d4,e4]@3 [c5,d5,e5]@3 [c6,d6,e6,f6]@3 [c4,d4,e4]@3, ~@15 [c6,d6,e6]@4 ~@13]
  [[b4,c5,d5]@3 [c6,d6,e6]@3 [c5,d5,e5]@3 [c4,d4,e4]@3 [c5,d5,e5]@3 [b5,c6,d6,e6]@3 [c5,d5,e5]@3 ~@2 [c5,d5,e5]@3 [b5,c6,d6,e6]@4 ~@2, ~@21 [c4,d4,e4]@4 ~@7]
  ~@121
>`).s("gm_pad_bowed").gain(0.29).pan(0.4)

// other · english horn · "PRG.CHANGE"
const english_horn = note("<~@7 A B@2 ~@118>".pickRestart({
  A: "e5", B: "[g5@31 ~]/2",
})).s("gm_english_horn").gain(0.35).pan(0.4)

// chords · string ensemble 2 · "PRG.CHANGE"
const string_ensemble_2 = note(`<
  ~@10 A ~@23 B@4 C@8 D@3 ~@9 E@2 F@2 E@2 F@2 E@2 F@2 E@2 F@2 G H I@2 G H I@2 G H I@2 G H I@2 ~@38
>`.pickRestart({
  A: "[a5,d6]", B: "[[e4,a5,e6]@16 [b3,g5]@16 [d4,a5,d6]@29 ~@3, b5@61 ~@3]/4",
  C: "[[e4,a5,e6]@16 [b3,g5]@16 [d4,d6]@32 [e4,e6]@16 [b3,g5]@16 [d4,a5,d6]@29 ~@3, b5@125 ~@3, ~@2 a5@3 ~@3]/8", // A5 Em D E Em D5
  D: "[[e4,a5,e6] [b3,g5] [d4,a5,d6], b5]/3", E: "[[a1,a4] [e1,b4], e4]/2", F: "[g1,d4,d5]/2", G: "[e3,e4,e5]",
  H: "[b2,b3,b4]", I: "[d3,d4,d5]/2",
})).s("gm_string_ensemble_2").gain(0.29).pan(0.4)

// other · tremolo strings · "PRG.CHANGE"
const tremolo_strings = note("<~@12 A@2 B C@2 ~@111>".pickRestart({
  A: "[~ [d5,g5]@3]/2", B: "e5@3 b5@3 g5@2 a5@3 g5@3 f#5@2", C: "[e5@3 d5@3 e5@26]/2",
})).s("gm_tremolo_strings").gain(0.14).pan(0.4)

// chords · church organ · "PRG.CHANGE"
const church_organ = note("<~@106 A@7 B ~@14>".pickRestart({
  A: "[[a5,c6] b5 ~@2 a5 ~ d5, e5@6 ~, ~ g5@3 ~ [g5,b5]@2, ~@2 c6@3 ~@2]/7", B: "[d5,f#5,a5,d6]",
// … 126 more lines

More by Yes