Strudelify

New World Man

Rush

KeyD minorTempo79 bpm
0:00/0:00
// New World Man — Rush
// 79 bpm, 4/4, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 12 "CLEAN GTR" electric guitar clean (copy of ch 7 "CLEAN GTR" electric guitar clean, 0.208 beats late)
// note: Full arrangement: all 72 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(79/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 · bassoon
const bass = note("<A B A B C@2 D C A B A B C@2 D E ~@17 A B A B C@2 D F ~@19 A B A B A B A B G ~@3>".pickRestart({
  A: "d1!2 g1!2 d1!2 a1!2 d1!2 g1!2 d1!2 a1!2", B: "d1!2 g1!2 d1!2 a1!2 d1!2 g1!2 d1!2 d2!2",
  C: "f1!2 bb1!2 f1!2 c2!2 f1!2 bb1!2 f1!2 f2!2", D: "f1!2 bb1!2 f1!2 c2!2 f1!2 bb1!2 f1!2 c2!2",
  E: "f1!2 bb1!2 f1!2 c2!2 d1!2 a1 ~ d1!2 a1 ~", F: "f1!2 bb1!2 f1!2 f2!2 f1!2 ~@2 d1!2 ~@2",
  G: "c1!2 g1!2 ~@2 g1!2 ~@8",
})).s("gm_bassoon").gain(0.55)

// bass · bassoon · soft notes
const bass_soft = note(`<
  ~@68
  [~@4 c1!2 ~@2 g1!2 c2!2 g1!2 d2!2]
  [d1!2 g1!2 d1!2 a1!2 d1!2 g1!2 d1!2 d2!2]
  [c1!2 g1!2 c1!2 g1!4 c2!2 g1!2 d2!2]
  [d1!2 g1!2 d1!2 a1!2 d1!2 g1!2 d1!2 d2!2]
>`).s("gm_bassoon").gain(0.22)

// bass · electric bass pick · "PICK BASS"
const bass_2 = note(`<
  ~@2 A B C D@2 E F@4 G H I J K L K M N O@8 P@5 Q@3 R S R T U V W X K Y@8 Z@8 AA@7 ~@3
>`.pickRestart({
  A: "d2@2 g2@2 a2@5 d2 g2 d2 b2@2 a2@2, ~@12 bb2 ~@3", B: "d2@2 g2@2 a2@5 d2 g2 d2 [ab2,a2,bb2,b2] ~ a2 [g2,ab2]",
  C: "[f2,gb2] ~ bb1@2 c2@2 f2@3 bb1 ~ bb1 c2!2 f1 ~, f1 ~@7", D: "f1@2 bb1@2 c2@2 f2@3 bb1 ~ bb1 c2!2 f1 ~",
  E: "f1@2 bb1@2 c2@2 f2@3 bb1 ~ bb1 c2!2 f1@2", F: "d2!2 g2 d2 a2@4 d2!2 g2 d2 gb2@2 a2@2",
  G: "f1@2 bb1@2 c2@2 f2@2 f2@2 bb1@2 c2@2 f1 ~", H: "f1 bb1 c2 f2@2 bb1 c2 f1",
  I: "f1@2 bb1@2 c2@2 f2@4 bb1@2 c2@2 f1 ~", J: "f1@2 bb1@2 c2@2 f2@2 d2!2 ~@2 d2!2 a1@2",
  K: "f1!2 ~ f1!2 c2 e2 f2 bb1!2 ~ bb1 a1!2 ~ a1", L: "g1!2 f1 gb1 g1 ~@3 g1!2 f1 gb1 g1 c2 d2 c2",
  M: "g1!2 f1 gb1 g1 ~@3 g2!2 a2 g2 ~ g2 a2 g2", N: "f1!2 ~ f1!2 f2 e2 f2 bb1!2 ~ bb1 a1!2 ~ a1",
  O: "[g1!2 f1 gb1 g1!2 ~ g1 g1@2 g1@2 b1 c2 db2 d2@8 d2@8 d2@8 c3@2 g2 b2 a2 gb2 g2 a2 d2@2 d2 e2@2 gb2 g2 a2 d2@2 d2 e2@2 gb2 g2 a2 d2@2 d2 e2@2 gb2 g2 a2 d2@2 d2@2 d2 ~ c2@2 f1@3 f1 ~ f1!2 c2 bb1@3 bb1 ~ a1!3 g1@3 g1 ~ g1!2 f1 a1@2 g1@2 ~ g1 a1 c2 f1@3 f1 ~ f1!2 c2 bb1@3 bb1 ~ a1!3 g1]/8",
  P: "[~@2 g1 ~ g1!2 f1 a1@2 g1@2 ~ b1 c2 db2 d2@8 d2@8 d2@10 d2!6 c3@2 c3 g2 c3@2 d3 c3 b2@2 c3 b2 a2@2 g2 gb2 d2@2 d2 g2 d2 a2@3 d2@2 d2 g2 d2 gb2@2 a2@2]/5",
  Q: "d2!2 g2 d2 a2@3 d2@2 d2 g2 d2 gb2@2 a2@2", R: "f1 bb1 c2 f2!2 bb1 c2 f1",
  S: "f1@2 bb1@2 c2@2 f2@2 f2 bb1 ~ bb1 c2!2 f1 ~", T: "f1@2 bb1@2 c2@2 f2@2 d2!2 ~ d2!3 a1 g1",
  U: "f1!2 ~ f1!2 f2 [e2,f2] f2 bb1!2 ~ bb1 a1!2 ~ a1", V: "g1!2 [f1,g1] gb1 g1!2 ~ g1!3 [f1,g1] g1 c2!2 d2 c2",
  W: "f1!2 ~ f1 f2!2 e2 f2 bb1!2 ~ bb1 a1!2 a1@2", X: "g1!2 ~ g1!3 f1 g1 ~ g2!3 a2 g2 a2 f2",
  Y: "[g1!2 f1 gb1 g1!2 ~ g1!2 ~ a1!2 b1 c2 db2 d2@8 d2@8 d2@7 ~ c3@2 b2 [c3,d3] c3 b2 a2 g2 d2@2 d2 e2@2 gb2 g2 a2 d2@2 d2 e2@2 gb2 g2 a2 d2@2 d2 e2@2 gb2 g2 a2 d2@2 d2@2 d2 ~ c2@2 f1@3 f1 ~ f1!2 c2 bb1@3 bb1 ~ a1!3 g1@3 g1 ~ g1!2 f1 a1@2 g1@2 ~ g1 a1 c2 f1@3 f1 ~ f1!2 c2 bb1@3 bb1 ~ a1!3 g1]/8", // Csus2
  Z: "[~@2 g1 ~ g1!2 f1 a1@2 g1@2 ~ b1 c2 db2 d2@8 d2@8 d2@10 d2!6 c3@2 c3 g2 c3@2 d3 c3 b2@2 c3 b2 a2@2 g2 gb2 d2@2 d2 ~ d2@2 d2 ~ d2@2 d2 ~ d2 ~ d2 gb2 c3@2 c3 g2 c3@2 d3 c3 b2 c3 b2 a2 g2 gb2 g2 a2 d2@2 d2 g2@2 a2@3 d2@2 d2 g2 d2 gb2@2 a2 d2@2 d2 g2 d2 a2@3 d2@2 d2 g2 d2 gb2@2 a2 d2]/8",
  AA: "[~ d2 g2 d2 a2@3 d2@2 d2 g2 d2 gb2@2 a2 d2@2 d2 g2 d2 a2@3 d2@2 d2 g2 d2 gb2@2 a2 d2@2 d2 g2@2 a2@3 d2@2 d2 g2 d2 gb2@2 a2 d2@2 d2 g2@2 a2@3 d2@2 d2 g2 d2 gb2@2 a2 d2@2 d2 g2 d2 a2@3 d2@2 d2 g2!2 gb2@2 a2 d2@2 d2 g2@2 a2@3 d2@2 d2 g2 ~ gb2@2 a2 c3@2 c3 ~ c3@2 d3 c3 ~ c3 ~@7]/7",
})).s("gm_electric_bass_pick").gain(0.44)

// bass · electric bass pick · "PICK BASS" · soft notes
const bass_soft_2 = note("<~@2 A ~@64 B C@4>".pickRestart({
  A: "~@12 a2 ~@3", B: "~@11 g2 ~@4",
  C: "[~@2 g2 ~@4 b2 ~ b2 a2 g2 gb2 g2 a2 d2@2 d2 ~ d2 ~ d2 ~ d2@2 d2 ~ d2 ~ d2!2 c3@2 c3 g2 c3@2 d3 c3 b2 c3 b2 a2 g2 gb2 e2 db2 d2@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~ d2 ~@2]/4",
})).s("gm_electric_bass_pick").gain(0.16)

// other · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
  ~@2 A B ~@4 C D E F ~@4 G H G H G H ~@11 C D E F ~@4 G H G H G H ~@25
>`.pickRestart({
  A: "d3!2 e3 d3 gb3@2 d3 a3 d3!2 e3 d3 gb3 d3 e3 a3", B: "d3!2 e3 d3 gb3 d3 e3 a3 d3!2 e3 d3 gb3 d3!2 ~",
  C: "d3!2 g3 gb3 ~ d3 e3 a3 d3!2 e3 d3 gb3 d3 e3 a3", D: "d3!2 e3 d3 gb3 d3 e3 a3 d3!2 e3 d3 gb3@2 d3 a3",
  E: "d3!2 e3 d3 gb3 d3 e3 a3 d3!2 e3 d3 gb3 d3 e3 a3", F: "d3!2 e3 d3 gb3 d3 e3 a3 d3!2 e3 d3 gb3@2 d3!2",
  G: "f2!2 c3 f3 ~ c3 f3!2 bb2 f3 ~ f3 bb2!2 f3 ~", H: "g2!2 d3 g3 ~ g3 ~ g3 ~ g2 d3 g2 g3 ~@3",
})).s("gm_electric_guitar_muted").gain(0.29).pan(0.3)

// other · pan flute
const pan_flute = note("<~@23 A@5 B@4 ~@16 C@5 D@4 ~@6 E@5 ~@4>".pickRestart({
  A: "[~@13 a3@2 a3@2 a3@2 a3@2 a3@2 a3@2 b3@2 a3@2 d4@2 d4@2 d4@2 d4@2 d4@2 d4@2 e4@2 d4@2 d4@2 c4@3 c4 c4@2 c4@2 bb3@2 bb3@2 bb3@3 a3 g3@2 g3@2 g3@2 g3 f3 a3@2 g3@4 c4@2 c4]/5",
  B: "[~ c4!2 c4@2 c4@2 bb3@2 bb3@2 bb3@3 a3 g3@3 f3 g3@3 f3 a3@2 g3@4 d4 [a3,d4] d4@8 [a3,d4]@8 [a3,d4]@16 ~]/4", // D5
  C: "[~@13 a3@2 a3@2 a3@2 a3@3 a3 a3@2 b3@2 a3@2 d4@2 d4@2 d4@2 b3 d4@2 d4 d4@2 e4@2 d4@2 d4@2 c4@3 c4!3 c4@2 bb3@2 bb3@2 bb3@3 a3 g3@2 g3@2 g3@2 g3 f3 a3@2 g3@4 c4@2 c4]/5",
  D: "[~ c4!2 c4@2 c4@2 bb3@2 bb3@2 bb3@3 a3 g3@3 f3 g3@3 f3 a3@2 g3@3 ~ d4 [a3,d4] d4@8 d4@8 [a3,d4]@16 ~]/4", // D5
  E: "[~@13 gb4 e4 d4@8 d4@8 d4@14 gb4 e4 d4@8 d4@8 d4@16 ~]/5",
})).s("gm_pan_flute").gain(0.22).pan(0.6)

// other · pan flute · soft notes
const pan_flute_soft = note("<~@29 A@2 ~@23 B@2 ~@7 C@5 ~@4>".pickRestart({
  A: "[~@13 a3 ~ a3@8 ~@9]/2", B: "[~@13 a3 ~ a3@8 a3@8 ~]/2", C: "[~@15 a3@8 a3@8 a3@14 d4!2 a3@8 a3@8 a3@16 ~]/5",
})).s("gm_pan_flute").gain(0.13).pan(0.6)

// chords · pad sweep · "SWEEP PAD"
const pad_sweep = note("<~@16 A@2 B C@2 D E@8 F@5 ~@6 A@2 B C@2 D E@8 G@4 H@5 I@4 ~@4>".pickRestart({
  A: "[c3@8 f3@7 [g3,d4,g4]@16 ~, [c4,f4] ~]/2", B: "[c3,g3,c4] [f3,c4,f4]",
  C: "[[g3,d4,g4]@12 [a3,a4]@3 ~ c3@8 [f3,bb4]@8, ~@15 c4@16 ~, ~ f4]/2", D: "[g3,d4,g4]@15 [d2,d3,d4,a4,d5]",
  E: "[~@7 [d2,d3,d4,a4,d5]@7 ~ [d3,d4,a4,d5]@48 [f2,f3,f4,c5,f5]@8 [bb2,bb3,f4,bb4,f5]@8 [g2,g3,g4,d5,g5]@16 [f2,f3,f4,c5,f5]@8 [bb2,bb3,f4,bb4,f5]@8 [g2,g3,g4,d5,g5]@16 [d2,d3,d4,a4,d5], ~@7 d2@24 ~@33]/8", // D5 F5 Bb5 G5 F5 Bb5 G5 D5
  F: "[~@7 [d2,d3,d4,a4,d5]@7 ~ [d2,d3,d4,a4,d5]@32 [d4,a4]@32 ~, ~@47 d5@13 ~@20, ~@47 gb5@9 ~@24]/5", // D5
  G: "[~@7 [d2,d3,d4,a4,d5]@7 ~ [d2,d3,d4,a4,d5]@49]/4", H: "[~@15 [d2,d3,a3,d4,a4]@64 [d2,d3,d4,a4,d5]]/5",
  I: "[~@7 [d2,d3,d4,a4,d5]@8 [d2,d3,d4,a4,d5]@15 ~ [d2,d3,d4,a4,d5]@8 [d2,d3,d4,a4,d5]@8 [d3,d4,a4,d5]@16 ~]/4", // D5
})).s("gm_pad_sweep").gain(0.17)

// chords · pad sweep · "SWEEP PAD" · soft notes
const pad_sweep_soft = note("<~@66 A@6>".pickRestart({
  A: "[~@15 d2@15 ~ [c2,c3,c4,g4,c5]@7 ~ [g2,g3,g4,d5,g5]@8 [d2,d3,d4,a4,d5]@15 ~ [c2,c3,c4,g4,c5]@8 [g2,g3,g4,d5,g5]@7 ~ [d2,d3,d4,a4,d5]@13 ~@4]/6", // C5 G5 D5 C5 G5 D5
})).s("gm_pad_sweep").gain(0.07)

// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note("<~@4 A B@2 C ~@4 D E B F G H G I G J ~@15 D E B F G H G I G K ~@25>".pickRestart({
  A: "~@5 bb2 ~ f3, f2@9 ~@7, ~ c3@4 ~ c3@2, ~@4 f3@7 ~@5, ~@6 g3@9 ~",
  B: "~@5 bb2 ~ f3, f2@9 ~@7, ~ c3@4 ~ c3@2, ~@4 f3@7 ~@5, ~@3 g3@3 ~@2",
  C: "~@5 bb2 b2 [c3,f3], f2@9 ~@7, ~ c3@4 ~@3, ~@4 f3@7 ~@5, ~@3 g3@3 ~@2", // F5
  D: "~@5 bb2 ~ f3, f2@9 ~@7, ~ c3@4 ~ c3@2, ~ f3@2 ~, ~@6 g3@9 ~",
  E: "~@5 bb2 ~ f3, f2@9 ~@7, ~ c3@4 ~ c3@2, ~@4 f3@7 ~@5, ~@6 g3@7 ~@3",
  F: "~@6 g3@2 d3!2 [a3,d4,a4,d5]@2 d3!2 [a3,d4,a4,d5]@2, f2 ~, ~ c3@3 ~@4, ~ f3 ~@2", // D5
  G: "~@6 [a3,c4,f4] [c4,f4] ~@6 [bb3,c4,f4] [c4,f4]", H: "~@7 g4 ~@4 [d4,g4]@3 ~, ~@3 [bb3,d4,g4] ~@4",
  I: "~@6 [bb3,d4,g4] [d4,g4] ~@6 [bb3,d4,g4] [d4,g4]", J: "~@5 [bb3,d4,g4] ~ [bb3,d4,g4]@8 ~",
  K: "~@5 [bb3,d4,g4]!2 [bb3,d4,g4]@8 ~", // Gm
})).s("gm_electric_guitar_clean").gain(0.29)

// chords · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note("<~@21 A@4 B@8 ~@13 A@4 C@8 D@2 E@3 F@6 ~@3>".pickRestart({
  A: "[~@15 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 ~ e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3]/4",
  B: "[~ d3 e3 ~ gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 [a3,c4,f4]@3 [a3,c4,f4]@2 [a3,c4,f4]@2 ~ [bb3,c4,f4]@3 [bb3,c4,f4]@2 [bb3,c4,f4]@2 ~ [bb3,d4,g4]@3 [bb3,d4,g4]@2 [bb3,d4,g4]@2 ~ [d4,g4]@3 [d4,g4]@2 [bb3,g4]@2 ~ [a3,c4,f4]@3 [a3,c4,f4]@2 [a3,c4,f4]@2 ~ [bb3,c4,f4]@3 [bb3,c4,f4]@2 [bb3,c4,f4]@2 ~ [bb3,d4,g4]@3 [bb3,d4,g4]@2 [bb3,d4,g4]@2 ~ [bb3,d4,g4]@3 [bb3,d4,g4]@2 [bb3,d4,g4]@2 ~ d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 ~ e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 ~, ~@39 bb3@5 ~@84]/8", // F Bbsus2 Gm G5 Eb F Bbsus2 Gm
  C: "[~ d3 e3 ~ gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 [a3,c4,f4]@3 [a3,c4,f4]@2 [a3,c4,f4]@2 ~ [bb3,c4,f4]@3 [bb3,c4,f4]@2 [bb3,c4,f4]@2 ~ [bb3,d4,g4]@3 [bb3,d4,g4]@2 [bb3,d4,g4]@2 ~ [d4,g4]@3 [d4,g4]@2 [bb3,g4]@2 ~ [a3,c4,f4]@3 [a3,c4,f4]@2 [a3,c4,f4]@2 ~ [bb3,c4,f4]@3 [bb3,c4,f4]@2 [bb3,c4,f4]@2 ~ [bb3,d4,g4]@3 [bb3,d4,g4]@2 [bb3,d4,g4]@2 ~ [bb3,d4,g4]@3 [bb3,d4,g4]@2 [bb3,d4,g4]@2 ~ d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 ~ e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3, ~@39 bb3@5 ~@84]/8", // F Bbsus2 Gm G5 Eb F Bbsus2 Gm
  D: "[~ d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 [a3,d4]]/2", // D5
  E: "~@2 [a3,d4] ~@2 [a3,d4] ~ [a3,d4] ~@2 [a3,d4] ~@2 [a3,d4] ~ [a3,d4]", // D5
  F: "[~@2 [a3,d4] ~@2 [a3,d4] ~ [a3,d4] ~@2 [a3,d4] ~@2 [a3,d4] ~ d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 ~ e3 d3 gb3 g3 a3 d3@2 d3 e3 ~ gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 ~ e3 ~ gb3 g3 a3 [g3,c4,e4]@3 [g3,c4]@2 g3@2 ~@10, ~@79 e3@5 ~@12]/6", // D5 C C5
})).s("gm_overdriven_guitar").gain(0.38).pan(0.4)

// chords · overdriven guitar · "OVERDRIVE" · soft notes
const overdriven_guitar_soft = note("<~@24 A B ~@6 A ~@16 A B ~@6 A ~@8 C D@5>".pickRestart({
  A: "~ d3 ~@14", B: "~@3 d3 ~@12", C: "~ d3 ~@9 d3 ~@4",
  D: "[~@9 d3 ~ d3 ~@3 c3@3 [c3,e4]@2 [e3,c4,e4]@2 g3 [b2,g3,d4,g4]@3 [g3,d4,g4]@2 [d4,g4]@2 ~ [a3,d4]@3 [a3,d4]@2 [a3,d4]@2 ~ [d3,a3,d4]@3 [d3,a3,d4]@2 [d3,a3]@3 [e3,g3,c4,e4]@3 [e3,g3,c4,e4]@2 [e3,g3,c4,e4]@2 ~ [b2,d3,d4,g4]@3 [b2,g3,d4,g4]@2 [b2,g3,d4,g4]@2 ~ [a3,d4]@3 [a3,d4]@2 [d3,a3,d4]@2 ~ [d3,a3,d4]@3 [d3,a3,d4]@2 [d3,a3,d4]@2 ~@2, ~@26 [b2,d3]@4 ~ d3@7 ~@6 d4 ~@2 c3@6 ~ g3@4 d3@4 ~ d3@5 ~@12]/5", // C G G5 D5 C G D5 Bm
})).s("gm_overdriven_guitar").gain(0.11).pan(0.4)

// chords · overdriven guitar · "OVERDRIVE"
const overdriven_guitar_2 = note("<~@21 A@4 B@8 ~@13 A@4 C@8 D@2 E F G H@6 ~@3>".pickRestart({
  A: "[~@15 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 ~ gb3 g3 a3 d3@2 d3 e3 ~ gb3 g3 a3 d3]/4",
  B: "[~ d3 e3 ~ gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 [f3,c4]@3 ~ [f3,c4]@2 [f3,c4] ~ [bb2,f3]@3 ~ [bb2,f3]@2 [bb2,f3] ~ [g3,d4]@3 ~ [g3,d4]@2 [g3,d4] ~ [g3,d4]@3 ~ [g3,d4]@2 [g3,d4] ~ [f3,c4]@3 ~ [f3,c4]@2 [f3,c4] ~ [bb2,f3]@3 ~ [bb2,f3]@2 [bb2,f3] ~ [g3,d4]@3 ~ [g3,d4]@2 [g3,d4] ~ [g3,d4]@3 ~ [g3,d4]@2 [g3,d4] ~ d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 ~]/8", // F5 Bb5 G5 F5 Bb5 G5
  C: "[~ d3 e3 ~ gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 [f3,c4]@3 ~ [f3,c4]@2 [f3,c4] ~ [bb2,f3]@3 ~ [bb2,f3]@2 [bb2,f3] ~ [g3,d4]@3 ~ [g3,d4]@2 [g3,d4] ~ [g3,d4]@3 ~ [g3,d4]@2 [g3,d4] ~ [f3,c4]@3 ~ [f3,c4]@2 [f3,c4] ~ [bb2,f3]@3 ~ [bb2,f3]@2 [bb2,f3] ~ [g3,d4]@3 ~ [g3,d4]@2 [g3,d4] ~ [g3,d4]@3 ~ [g3,d4]@2 [g3,d4] ~ d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3]/8", // F5 Bb5 G5 F5 Bb5 G5
  D: "[~ d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 ~]/2",
  E: "[d3,a3]!3 d3!2 [d3,a3]@2 d3 [d3,a3] d3!2 [d3,a3]!2 d3 [d3,a3] d3", // D5
  F: "[d3,a3] d3 [d3,a3]!2 ~ d3!3 [d3,a3]!8, ~@2 [d3,a3] ~@5", // D5
  G: "[d3,a3] d3 [d3,a3]!2 d3 [d3,a3]!3 d3!2 ~ a3 d3!2 [d3,a3] d3, ~@5 [d3,a3] ~@2", // D5
  H: "[~ d3!3 [d3,a3]!3 d3!3 [d3,a3]!4 d3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 d3 gb3 g3 a3 d3@2 d3 e3 ~ gb3 g3 a3 [c3,g3]@3 [c3,g3]@2 [c3,g3]@2 ~ [g2,d3]@3 ~@2 [g2,d3]@2 ~@2, d3 ~@47]/6", // D5 C5 G5
})).s("gm_overdriven_guitar").gain(0.33).pan(0.6)

// chords · overdriven guitar · "OVERDRIVE" · soft notes
const overdriven_guitar_soft_2 = note("<~@24 A@2 ~@23 A@2 ~@9 B C D E ~@3 F G@4>".pickRestart({
  A: "~@3 d3 ~@12", B: "~@6 a3!2 ~ a3!2 ~@4 a3", C: "~ a3 ~@4 a3!2 ~@8", D: "~@4 a3 ~@3 a3 ~@3 a3!2 ~ a3",
  E: "a3@2 a3 ~@4 a3!2 ~@5 a3 ~", F: "~@11 d3 ~@4",
  G: "[~@10 [g2,d3]@2 ~@3 [d3,a3]@3 [d3,a3]@2 [d3,a3]@2 ~ [d3,a3]@3 [d3,a3]@2 [d3,a3]@2 ~ [c3,g3]@3 [c3,g3]@2 [c3,g3]@2 ~ g2@3 g2@2 [g2,d3]@2 ~ [d3,a3]@3 [d3,a3]@2 [d3,a3]@2 ~ [d3,a3]@3 [d3,a3]@2 [d3,a3]@2 ~@2, ~@39 d3@5 ~@20]/4", // G5 D5 C5 G5 D5
})).s("gm_overdriven_guitar").gain(0.16).pan(0.6)

// chords · overdriven guitar · "OVERDRIVE"
const overdriven_guitar_3 = note("<~@30 A@4 ~@20 B@6 ~@3 C@5 ~@4>".pickRestart({
  A: "[~@7 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 ~@15]/4", // D5
  B: "[~@15 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 ~]/6", // D5
  C: "[~@15 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 [a3,d4]@2 ~]/5", // D5
})).s("gm_overdriven_guitar").gain(0.27)

// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean_2 = note("<~@4 A@4 B ~@3 C@4 D E F G H I ~@15 C@4 D E F G H J ~@25>".pickRestart({
  A: "[~@6 bb2 ~ f3 ~@5 bb2 ~ f3 ~@5 bb2 ~ f3 ~@5 bb2 b2, ~@2 f2@9 ~@7 f2@9 ~@7 f2@9 ~@7 f2@9 ~@5, ~@2 c3@4 ~ c3@2 ~ c3@4 ~ c3@2 ~ c3@4 ~ c3@2 ~ c3@4 ~@2, ~@6 f3@7 ~@9 f3@7 ~@9 f3@7 ~@9 f3@7 ~@3, ~@8 g3@9 ~@7 g3@6 ~@10 g3@6 ~@10 g3@6 ~@2]/4",
  B: "[c3,f3] ~@7", // F5
  C: "[~@12 bb2@2 ~@2 f3@2 ~@10 bb2@2 ~@2 f3@2 ~@10 bb2@2 ~@2 f3@2 ~@6 g3@2 d3!2 [a3,d4,a4,d5]@2 d3!2, ~@2 f2@9 ~@7 f2@9 ~@7 f2@9 ~@7 f2@8 ~@6, ~@2 c3@4 ~ c3@2 ~ c3@4 ~ c3@2 ~ c3@4 ~ c3@2 ~ c3@3 ~@3, ~@6 f3@8 ~@8 f3@7 ~@9 f3@7 ~@9 f3@4 ~@6, ~@8 g3@9 ~@7 g3@7 ~@9 g3@6 ~@18]/4", // D5
  D: "[a3,d4,a4,d5]@2 ~@6 [a3,c4,f4] [c4,f4] ~@6", E: "[bb3,c4,f4] [c4,f4] ~@7 g4 ~@4 [d4,g4]@2, ~@4 [bb3,d4,g4] ~@3",
  F: "~@8 [a3,c4,f4] [c4,f4] ~@6", G: "[bb3,c4,f4] [c4,f4] ~@6 [bb3,d4,g4] [d4,g4] ~@6",
  H: "[bb3,d4,g4] [d4,g4] ~@6 [a3,c4,f4] [c4,f4] ~@6", I: "[bb3,c4,f4] [c4,f4] ~@5 [bb3,d4,g4] ~ [bb3,d4,g4]@7",
  J: "[bb3,c4,f4] [c4,f4] ~@5 [bb3,d4,g4]!2 [bb3,d4,g4]@7", // Bbsus2 F5 Gm
})).s("gm_electric_guitar_clean").gain(0.03).pan(0.1)

// drums · kick
const kick = s("bd").struct(`<
  ~@2 A@2 B@3 C D E F G H I@2 J K L A M K N O P O Q O P O Q O@2 R S D@2 T D T U V K L A W K X O Y O Z O AA O AA O AB AC
  AD@2 AE AF@2 AG O AA O AH ~@4
>`.pickRestart({
  A: "x ~@3 x!2 ~@2", B: "x ~ x ~@5 x!2 ~@6", C: "x ~ x ~@5 x!2 ~@2 x!2 ~@2", D: "x ~@2 x ~@3 x!2 ~@2 x ~@3 x",
  E: "x ~ x ~@4 x!2 ~@2 x ~ x ~ x", F: "x ~@2 x ~@2 x ~@2 x!2 ~@4 x", G: "x ~@2 x ~@3 x!2 ~ x!2 ~@4",
  H: "x ~ x ~@3 x ~@2 x!2 ~@2 x ~ x", I: "x ~ x!2 ~@2 x ~@2 x!2 ~@4 x", J: "x ~@2 x ~@2 x ~ x!2 ~@2 x!2 ~@2", K: "x!2",
  L: "x!2 ~@2 x!2 ~@2", M: "x ~@3 x ~@2 x", N: "x ~ x ~@5 x ~@6 x", O: "~ x ~@2 x!2 ~ x ~ x ~@2 x!2 ~ x",
  P: "~ x ~@2 x!2 ~ x ~ x ~@5 x", Q: "~ x ~@2 x!2 ~ x ~ x ~ x ~@3 x", R: "~ x ~ x!5 ~ x ~ x!3 ~ x",
  S: "~@2 x ~@4 x!2 ~@2 x ~@3 x", T: "x ~@2 x ~@3 x!2 ~@2 x ~@4", U: "x ~@2 x ~@3 x!2 ~@2 x ~@2 x!2",
  V: "x ~@2 x ~@4 x!2 ~@2 x!2 ~@2", W: "x!2 ~@2 x!2 ~ x", X: "x ~ x ~@12 x", Y: "~ x ~@2 x!2 ~@9 x",
  Z: "~ x ~@2 x!2 ~@2 x!2 ~@5 x", AA: "~ x ~@2 x!2 ~ x ~@7 x", AB: "~ x ~@2 x!2 ~ x ~ x ~ x!2 ~@2 x",
  AC: "~ x ~ x ~ x ~ x ~ x ~ x!5", AD: "~ x ~ x!5 ~ x ~ x!5", AE: "~ x!5 ~ x!7 ~ x", AF: "x!6 ~ x!7 ~ x",
  AG: "x!6 ~ x!3 ~@2 x!2 ~ x", AH: "~ x ~@2 x!2 ~ x!2 ~@6 x",
})).gain(0.49)

// drums · kick · soft notes
const kick_soft = s("bd").struct(`<
  ~@68
  [~ x ~@2 x!2 ~ x ~ x ~@2 x!2 ~ x]
  [~ x ~@2 x!2 ~@2 x!2 ~@5 x]
  [~ x ~@2 x!2 ~ x ~ x ~@2 x!2 ~ x]!2
>`).gain(0.16)

// drums · snare
const snare = s("sd").struct(`<
  ~@8 A@3 B A@3 C ~@5 D E F E@3 G E G E@3 A@3 H A I H C ~@5 J E K E G E L E M E N E@8 O E M ~@4
>`.pickRestart({
  A: "~ x ~ x", B: "~@4 x ~@7 x!4", C: "~@2 x ~@2 x ~ x", D: "~@12 x!4", E: "~ x ~ x ~ x ~ x",
  F: "~@2 x ~@3 x ~@3 x ~ x!4", G: "~ x ~ x ~ x ~@2", H: "~@4 x ~@7 x!2 ~@2", I: "~@4 x ~@4 x ~@2 x ~@3",
  J: "~@8 x!7 ~", K: "~ x ~ x!2 ~ x ~", L: "~@2 x ~@3 x ~@2 x ~@4 x ~", M: "~ x ~ x ~@4",
  N: "~@2 x ~@3 x ~@3 x ~@2 x!2 ~", O: "~@2 x ~@3 x ~ x!2 ~ x!4 ~",
})).gain(0.49)

// drums · snare · soft notes
const snare_soft = s("sd").struct("<~@68 [~ x ~ x ~ x ~ x] [~@2 x ~@3 x ~@3 x!5 ~] [~ x ~ x ~ x ~ x]!2>").gain(0.16)

// drums · low tom
// … 62 more lines

More by Rush