Strudelify

Get in the Ring

Guns N' Roses

KeyB♭ majorTempo180 bpm
0:00/0:00
// Get in the Ring — Guns N' Roses
// 180 bpm, 4/4, key Bb 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: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 209 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(180/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 · overdriven guitar · "Guitar 1"
const overdriven_guitar = note(`<
  A B C@4 D@3 E F@8 ~ G@2 H@4 I@3 ~@29 J@3 K@2 L@4 M@2 N@2 ~@40 O@2 N@2 P Q R@2 S@2 ~@19 T@6 U V W@3 ~@25 X@4 Y Z@3 AA
  AB@3 AC AD AE AF AG@2 AH@2 AI@2 AJ@2 AK@2 AL AM AN@2 AO AP AQ@2
>`.pickRestart({
  A: "bb4@7 bb4@2 d5@3 f5@2 ~@2", B: "f5@9 ~@2 c5@5",
  C: "[~@2 c5@6 bb4@23 f4@3 bb4 bb4@3 c5@2 bb4@7 bb4@2 d5@3 f5@2 ~@2 f5@8]/4",
  D: "[~@3 c5@4 bb4@4 c6@10 ~@3 g4 c5@2 g4@2 bb4 bb4@4 c5@4 f5 g5@2 ~ g5 c6@3 g5@2, ~@41 f5@2 ~@5]/3",
  E: "bb5@7 bb5@2 d6@3 f6@2 ~@2",
  F: "[f6@11 c6@4 bb5@3 c6@6 d6@2 f6@2 eb6 d6@2 d6@2 d6@2 c6@2 d6 c6@2 ~ c6 d6@2 c6@2 d6 c6@4 c6@3 g5@2 bb5@7 g5@2 d6@3 f6@2 ~@2 f6@5 ~ f6@5 d6@3 [d6,f6]@4 c6 d6@28 [d4,g4]@9, ~@40 d6@2 ~@35 bb6@2 ~@7 c6 ~@3 f6@29 ~@9]/8", // Dm G5
  G: "[~@7 ab5@2 bb5 ab5 g5 g5@2 eb5 f5]/2", H: "[d5 bb4 eb5 bb4 d5 eb5 d5 bb5@15 f5 c6@3 c6 bb5 c6@2 bb5 f5]/4",
  I: "[ab5 bb5 ab5 f5 eb5@2 bb4 bb4@17]/3", J: "[~@6 e6@8 ~ [g5,c6]@3 bb5 g5 bb5 c6 bb5 g5]/3", K: "[bb5 d6@15]/2",
  L: "[~@7 [eb5,gb5]@3 bb5 f5 ab5 bb5 f5 c6@3 bb5 ab5 bb5@6 ~@6]/4", // Ebm
  M: "[~@2 f4 ~ bb4 ~ f4 ~ bb4 ~ bb4 ~ f4 ~ [db6,f6]@4 [db6,f6]@2 bb4 ~ bb4 ~ [db6,f6]@2 bb4 ~ [db6,f6]@2 [db6,f6]@2]/2", // Db
  N: "[[db6,f6] bb5@11 ~@4]/2", // Db
  O: "[~@2 bb4 ~ bb4 ~ bb4 ~ bb4 ~ bb4 ~ bb4 ~ [db6,f6]@4 [db6,f6]@2 bb4 ~ bb4 ~ [db6,f6]@2 bb4 ~ [db6,f6]@2 [db6,f6]@2]/2", // Db
  P: "~@6 bb5 d6", Q: "bb6@2 bb6@2 ab6 f6 eb6!2", R: "db6/2", S: "[bb3@3 [d4,g4]]/2",
  T: "[~@14 [f5,a5]@6 d5 ~ d5 ~ [f5,a5]@4 [d5,g5]@2 [f5,a5]@4 [f5,a5]@2 g5@2 d5 ~ [f5,a5]@2 [f5,a5]@2 d5 ~ g5@4 c6@2 g5@2 d5@2 [f5,a5]@2 [f5,a5]@2 d5@2 g5@6 g5@2 d5@2 [f5,a5]@2 [f5,a5]@2 g4@2 c6@4 c6!2 c6@2 c6@2 e6@4 e6@2 d6@2, ~@31 b5@2 ~@15]/6", // F G5 F
  U: "e6 f6 gb6 f6 e6 d6 c6@2", V: "f6 g6!2 g6@2 gb6 g6 gb6", W: "[g6 f6 eb5 c7@21]/3",
  X: "[~@7 bb4@4 bb4 d5 f5 ~ f5@5 c5@2 ~ c5@3 bb4@6]/4", Y: "f4 bb4 c5@2 c5@2 c5 g4",
  Z: "[bb4@6 bb4@2 d5@2 f5@2 ~@2 f5@4 ab5@2 f5@4 d5@2 c5@2 bb4@2 c5@5 g4 c5 bb4 g4@2 c5@2 f5@2 d5@2 bb4@2]/3",
  AA: "c5@2 g4@2 c5@2 f5@2 g5 f5 g5@2 c6@2 g5@2",
  AB: "[bb5@6 c6@2 c6@4 c6@2 eb6@4 c6@4 c6 bb5 c6@4 bb5@2 f6@4 ab6@2 f6@4 eb6@2 d6@2 eb6@2 f6@2]/3",
  AC: "eb6 f6 eb6 d6 eb6@2 d6@2 d6@2 c6@2 d6@2 c6@2", AD: "d6 c7 bb6 d6 eb6 bb6 d6 eb6",
  AE: "bb6 d6 eb6 bb6 d6 eb6 f6 d6", AF: "eb6@2 c6@2 d6@3 eb6 d6 c6@2 d6 c6@4",
  AG: "[c6@2 bb5@2 c6@2 g5@2 bb5@6 bb5@4 ab5@2 ab5@9 bb5@3]/2",
  AH: "[bb5@4 ab5@3 bb5 ab5@4 d5@2 bb5@4 ab5@2 ab5@2 g5@2 g5@2 bb5 g5 ab5@2 f5@2]/2",
  AI: "[g5 ab5 f5 c5@3 g4 g5@3 f5 db5@4 g5]/2", AJ: "[ab5 g5 f5 c6@3 ~ c6@2 c6 f6 c6@2 c6@3]/2",
  AK: "[c6@3 bb5 c6@2 g5@2 bb5@4 e5@2 eb5@4 [eb5,ab5]@2 [eb5,ab5]@2 eb5@4 bb5@2 ab5@2 eb5@2]/2", // Ab5
  AL: "eb5!4 ab5 bb5 ab5 bb5", AM: "eb5@2 bb5 eb5@2 bb5 eb5@2",
  AN: "[bb5 eb5@2 bb5 eb5@2 bb5 eb5@2 bb5 eb5@2 bb5 eb5@2 bb5]/2", AO: "eb5@2 bb5 eb5@3 bb5 eb5",
  AP: "ab5@2 ab5 g5 eb5@4", AQ: "[eb5 db5 bb4 db5@4 bb4@3 ~@6]/2",
})).s("gm_overdriven_guitar").gain(0.51)

// chords · overdriven guitar · "Guitar 2"
const overdriven_guitar_2 = note(`<
  ~@2 A@2 B C D E F G@5 H@7 I@16 J@8 K@4 L@6 M@4 I@8 N@8 K@4 O@6 P@8 Q@6 R@3 S@8 T I@8 N@8 K@4 U@8 V@2 W@7 X Y X Y X Z@8
  AA@6 AB@8 AC@4 I@28 AD@2
>`.pickRestart({
  A: "[~@4 [eb4,bb4]@9 [eb4,bb4]@9 [eb4,bb4]@3 [eb4,bb4]@2 ~@2 [eb4,bb4]@2 ~]/2", // Eb5
  B: "~@2 [eb4,bb4] [eb4,bb4]@3 bb3@2 [bb3,f4]@8", C: "~ [bb3,f4]@7 eb3 ~ [f3,c4]@2 ~ eb3 [f3,c4]@2",
  D: "~ eb3 ~ [f3,c4]@2 ~ eb3 [f3,c4]@5 [eb4,bb4]@3 ~", // F5 Eb5
  E: "[eb4,bb4]@2 ~ [eb4,bb4] ~ [eb4,bb4]@2 ~@5 [eb4,bb4] ~ [eb4,bb4]@2", // Eb5
  F: "~ [eb4,bb4] [eb4,bb4]@2 ~ [eb4,bb4] ~ [eb4,bb4]@2 ~ [eb4,bb4] [eb4,bb4]@2 ~ [eb4,bb4] ~", // Eb5
  G: "[[bb3,f4,bb4]@3 ~ [bb3,f4,bb4]@3 ~@2 [bb3,f4,bb4]@9 [f3,c4,f4]@18 [eb4,bb4]@9 [eb4,bb4]@9 [eb4,bb4]@9 [eb4,bb4]@9 [bb3,f4]@8]/5", // Bb5 F5 Eb5 Bb5
  H: "[~@5 bb3@5 f3@18 [eb4,bb4]@34 [bb3,f4]@9 ~ [bb3,f4]@2 [bb3,f4]@12 [f3,c4]@2 [f3,c4]@4 ~@2 [eb4,bb4]@4 [eb4,bb4]@2 [eb4,c5]@2 [eb4,bb4]@2 [eb4,bb4]@2 [eb4,bb4]@2 [eb4,c5]@2 [eb4,bb4]@2]/7", // Eb5 Bb5 F5 Eb5 Cm Eb5 Cm Eb5
  I: "[[eb4,bb4]!2 [eb4,c5] [eb4,bb4]!3 ~ [bb3,f4]@5 [bb3,f4] [bb3,f4]@6 [f3,c4] [f3,c4]@2 ~ [eb4,bb4]@2 [eb4,bb4] [eb4,c5] [eb4,bb4]!3 [eb4,c5] [eb4,bb4]]/4", // Eb5 Cm Eb5 Bb5 F5 Eb5 Cm Eb5 …
  J: "[[eb4,bb4]!2 [eb4,c5] [eb4,bb4]!3 ~ [bb3,f4]@5 [bb3,f4] [bb3,f4]@6 [f3,c4] [f3,c4]@2 ~ [eb4,bb4]@16 [c4,g4]@8 [c4,g4]@8 [f4,c5]@2 [f4,c5]!4 [f4,c5]@2 [f4,c5]]/8", // Eb5 Cm Eb5 Bb5 F5 Eb5 C5 F5
  K: "[~ [f4,c5]!4 [f4,c5]@2 [c4,g4]@8 [c4,g4]@8 [f4,c5]@2 [f4,c5]!4 [f4,c5]@2 [f4,c5]]/4", // F5 C5 F5
  L: "[~@2 [f4,c5]@2 [f4,c5]@2 [f4,c5]@2 [f4,c5]@2 [f4,c5]@4 [bb3,f4]@6 ~@10 [bb3,f4]@6 ~@10 [bb3,f4]@6 ~@10 [bb3,f4]@6 ~@6 [bb3,f4] ~ [bb3,f4] ~ eb4@18]/6", // F5 Bb5
  M: "[~@7 [bb3,f4]@5 [bb3,f4] [bb3,f4]@6 [f3,c4] [f3,c4]@2 ~ [eb4,bb4]@2 [eb4,bb4] [eb4,c5] [eb4,bb4]!3 [eb4,c5] [eb4,bb4]]/4", // Bb5 F5 Eb5 Cm Eb5 Cm Eb5
  N: "[[eb4,bb4]!2 [eb4,c5] [eb4,bb4]!3 ~ [bb3,f4]@5 [bb3,f4] [bb3,f4]@6 [f3,c4] [f3,c4]@2 ~ [eb4,bb4]@2 [eb4,bb4] [eb4,c5] [eb4,bb4]!3 [eb4,c5] [eb4,bb4]@2 [eb4,bb4] [eb4,c5] [eb4,bb4] [eb4,bb4]@3 [c4,g4]@8 [c4,g4]@8 [f4,c5]@2 [f4,c5]!4 [f4,c5]@2 [f4,c5]]/8", // Eb5 Cm Eb5 Bb5 F5 Eb5 Cm Eb5 …
  O: "[~@2 [f4,c5]@2 [f4,c5]@2 [f4,c5]@2 [f4,c5]@2 [f4,c5]@4 [bb3,f4]@6 ~@10 [bb3,f4]@6 ~@10 [bb3,f4]@6 ~@10 [bb3,f4]@6 ~@6 [bb3,f4] ~ [bb3,f4] ~ [c4,g4]@18]/6", // F5 Bb5 C5
  P: "[[c4,g4] [c4,g4]@2 [c4,g4]@2 [c4,g4]@2 [eb4,bb4]@2 [eb4,bb4]@2 [eb4,bb4]@2 [eb4,bb4]@2 [eb4,bb4]@3 [eb4,bb4]@2 [eb4,bb4]!2 ~ [bb3,f4]@5 [bb3,f4]!3 [bb3,f4]@3 [bb3,f4]@2 [bb3,f4]!2 ~ [c4,g4]@5 [c4,g4]!3 [c4,g4]@3 [c4,g4]!5 [c4,g4]@9]/8", // C5 Eb5 Bb5 C5
  Q: "[[c4,g4] [c4,g4]@2 [c4,g4]@2 [c4,g4]@2 [eb4,bb4]@2 [eb4,bb4]@2 [eb4,bb4]@2 [eb4,bb4]@2 [eb4,bb4]@3 [eb4,bb4]@2 [eb4,bb4]!2 ~ [bb3,f4]@5 [bb3,f4]!3 [bb3,f4]@3 [bb3,f4]@2 [bb3,f4]!2 ~ [c4,g4]@5 [c4,g4]!4]/6", // C5 Eb5 Bb5 C5
  R: "[~@2 [db4,ab4]@2 [c4,g4]@2 [db4,ab4]@2 [c4,g4]@2 [c4,g4]@2 ~@2 [d4,a4]@12 [d4,a4] ~ [d4,a4] ~ [d4,a4]@12 [d4,a4] ~ [d4,a4] ~ [d4,a4]@2]/3", // Db5 C5 Db5 C5 D5
  S: "[~@4 [d4,a4]@2 [d4,a4]@2 [d4,a4]@2 [d4,a4]@2 [d4,a4]@2 [d4,a4]@12 [d4,a4] ~ [d4,a4] ~ [d4,a4,d5,g5]@16 [d4,a4,d5,g5]@16 [d4,a4,d5,g5]@30 c4@2 [bb3,f4]@10 [bb3,f4]@2 [bb3,f4]@12 [f3,c4]@2 [f3,c4]@4 ~@2 [eb4,bb4]@2]/8", // D5 Dsus4 Bb5 F5 Eb5
  T: "~ [eb4,bb4] [eb4,c5] [eb4,bb4]!3 [eb4,c5] [eb4,bb4]", // Eb5 Cm Eb5 Cm Eb5
  U: "[~ [f4,c5]!4 [f4,c5]@2 [bb3,f4]@3 ~@5 [bb3,f4]@3 ~@5 [bb3,f4]@3 ~@5 [bb3,f4]@3 ~@5 [c4,g4]@3 ~@5 [c4,g4]@3 ~@5 [c4,g4]@3 ~@5 [c4,g4]]/8", // F5 Bb5 C5
  V: "[~@7 [d4,a4]@2 [d4,a4]!7]/2", W: "[d4,a4]!8",
  X: "[d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~", // D5
  Y: "[d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ c4@2 c4@4", // D5
  Z: "[[d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [g3,d4,g4,d5,g5]@32 [e3,b3,e4,ab4,b4,e5]@32 [a3,e4,a4,db5]@32 [d4,a4]@6 ~@10 [d4,a4]@2]/8", // D5 G5 E A D5
  AA: "[~@7 [d4,a4]@3 ~@5 [d4,a4]@3 ~@5 [d4,a4]@3 ~@5 [d4,a4]@3 ~@5 [d4,a4]@3 ~@5 [d4,a4]]/6", // D5
  AB: "[~@7 [c4,g4]@8 [c4,g4]@8 [f4,c5]@2 [f4,c5]!4 [f4,c5]@2 [f4,c5]@2 [f4,c5]!4 [f4,c5]@2 [c4,g4]@8 [c4,g4]@8 [f4,c5]@2 [f4,c5]!4 [f4,c5]@2 [f4,c5]]/8", // C5 F5 C5 F5
  AC: "[~ [f4,c5]!4 [f4,c5]@2 [bb3,f4]@2 ~@6 [f3,c4]@4 [f3,c4] [f3,c4]@2 ~ [eb4,bb4]@2 [eb4,bb4] [eb4,c5] [eb4,bb4]!3 [eb4,c5] [eb4,bb4]]/4", // F5 Bb5 F5 Eb5 Cm Eb5 Cm Eb5
  AD: "[[eb4,bb4]!2 [eb4,c5] [eb4,bb4]!3 ~ [bb3,f4]@3 ~@6]/2", // Eb5 Cm Eb5 Bb5
})).s("gm_overdriven_guitar").gain(0.41)

// chords · overdriven guitar · "Guitar 3"
const overdriven_guitar_3 = note(`<
  ~@2 A@3 B@4 C@5 D@7 E@8 F@8 G@4 H@6 I@2 J@4 K@8 L@8 M@8 I@2 N@6 O@4 P@2 Q@2 R@2 S@2 T@2 U@7 V W X@8 Y@7 Z@6 I@2 AA@8
  AB@2 AC@8 AD AC AD AC AE@8 AF@6 AG@4 AH@2 I@2 AI@8 F@24 AJ@2
>`.pickRestart({
  A: "[~@4 [eb4,bb4]@9 [eb4,bb4]@18 [eb4,bb4]@9 [bb3,f4]@8]/3", // Eb5 Bb5
  B: "[~ [bb3,f4]@9 [f3,c4]@9 [f3,c4]@9 [eb4,bb4]@9 [eb4,bb4]@9 [eb4,bb4]@9 ab3@3 ~ a3@3 a3@2, ~@29 ab3 ~@2]/4", // Bb5 F5 Eb5
  C: "[[bb3,f4]@9 [bb3,f4]@9 [f3,c4]@9 [f3,c4]@9 [eb4,bb4]@9 [eb4,bb4]@9 [eb4,bb4]@3 ~ g3@5 ab3@4 a3@5 [bb3,f4]@8, ~@57 [eb4,bb4]@2 ~@21]/5", // Bb5 F5 Eb5 Bb5 Eb5
  D: "[~ [bb3,f4]@9 [f3,c4]@9 [f3,c4]@9 [eb4,bb4]@34 [bb3,f4]@4 [bb3,f4]@2 ~@2 [bb3,f4] ~ [bb3,f4]@6 [f3,c4]@4 [f3,c4]@2 ~@2 [f3,c4] ~ [f3,c4]@6 [eb4,bb4]@4 [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@4 [eb4,bb4] ~ [eb4,bb4] ~]/7", // Bb5 F5 Eb5 Bb5 F5 Eb5
  E: "[[eb4,bb4]@4 [eb4,bb4] ~ [eb4,bb4] ~ [d4,a4]@2 [eb4,bb4]@2 a3@2 [bb3,f4]@4 [bb3,f4]@2 ~@2 [bb3,f4] ~ [bb3,f4]@6 [f3,c4]@4 [f3,c4]@2 ~@2 [f3,c4] ~ [f3,c4]@6 [eb4,bb4]@4 [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@4 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]!2 [eb4,bb4]@2 [d4,a4]@2 a3@2 [eb4,bb4]@4 [bb3,f4]@2 ~@2 [bb3,f4] ~ [bb3,f4]@6 [f3,c4]@4 [f3,c4]@2 ~@2 [f3,c4] ~ [f3,c4]@6 [eb4,bb4]@4 [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@2]/8", // Eb5 D5 Eb5 Bb5 F5 Eb5 D5 Eb5 …
  F: "[~@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]!2 [eb4,bb4]@2 [d4,a4]@2 a3@2 [eb4,bb4]@4 [bb3,f4]@2 ~@2 [bb3,f4] ~ [bb3,f4]@6 [f3,c4]@4 [f3,c4]@2 ~@2 [f3,c4] ~ [f3,c4]@6 [eb4,bb4]@4 [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@4 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]!2 [eb4,bb4]@2 [d4,a4]@2 a3@2 [eb4,bb4]@4 [bb3,f4]@2 ~@2 [bb3,f4] ~ [bb3,f4]@6 [f3,c4]@4 [f3,c4]@2 ~@2 [f3,c4] ~ [f3,c4]@6 [eb4,bb4]@4 [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@2]/8", // Eb5 D5 Eb5 Bb5 F5 Eb5 D5 Eb5 …
  G: "[~@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]!2 [eb4,bb4]@2 [d4,a4]@2 a3@2 [eb4,bb4]@4 [bb3,f4]@2 ~@2 [bb3,f4] ~ [bb3,f4]@6 [f3,c4]@4 [f3,c4]@2 ~@2 [f3,c4] ~ [f3,c4]@6 [eb4,bb4]@4 [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@2]/4", // Eb5 D5 Eb5 Bb5 F5 Eb5
  H: "[~ [eb4,bb4]!4 [d4,a4] a3 [c4,g4,c5]@2 [c4,g4,c5] [c4,g4,c5]@2 [c4,g4,c5] [c4,g4,c5]@2 [c4,g4,c5]@8 [f4,c5,f5,a5]@2 [f4,c5,f5,a5]!4 [f4,c5,f5,a5]@2 a5 ~@3 c5@4 [c4,g4,c5]@2 [c4,g4,c5] [c4,g4,c5]@2 [c4,g4,c5] [c4,g4,c5]@3, ~@31 f4@8 ~@9, ~@31 c5@4 ~@13, ~@31 f5@3 f5@5 ~@9, ~@32 a5@7 ~@9]/6", // Eb5 D5 C5 F C5
  I: "[[c4,g4,c5]@6 [c4,g4]!2 [c4,g4,c5]@2 [c4,g4,c5]@2 ~@2 [f4,c5,f5]@4 [f4,c5,f5]@2 [f4,c5,f5]@2 [f4,c5,f5]@2 [f4,c5,f5]@2 [f4,c5,f5]@2 [f4,c5,f5]@2 [f4,c5,f5]@2]/2", // C5 F5
  J: "[[f4,c5,f5]@14 [bb3,f4]@8 [b3,gb4]!2 [bb3,f4]@6 [bb3,f4]@8 [b3,gb4]!2 [bb3,f4]@6 [bb3,f4]@8 [b3,gb4]!2 [bb3,f4]@6 bb4@2]/4", // F5 Bb5 B5 Bb5 B5 Bb5 B5 Bb5
  K: "[~@2 eb4@2 d4@2 bb3@2 bb3@2 c4@2 d4@2 eb4@16 eb6@14 a3@2 [bb3,f4]@4 [bb3,f4]@2 ~@2 [bb3,f4] ~ [bb3,f4]@6 [f3,c4]@4 [f3,c4]@2 ~@2 [f3,c4] ~ [f3,c4]@6 [eb4,bb4]@4 [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@4 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]!2 [eb4,bb4]@2 [d4,a4]@2 a3@2 [eb4,bb4]@4 [bb3,f4]@2 ~@2 [bb3,f4] ~ [bb3,f4]@6 [f3,c4]@2]/8", // Bb5 F5 Eb5 D5 Eb5 Bb5 F5
  L: "[~@2 [f3,c4]@2 ~@2 [f3,c4] ~ [f3,c4]@6 [eb4,bb4]@4 [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@4 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]!2 [eb4,bb4]@2 [d4,a4]@2 a3@2 [eb4,bb4]@4 [bb3,f4]@2 ~@2 [bb3,f4] ~ [bb3,f4]@6 [f3,c4]@4 [f3,c4]@2 ~@2 [f3,c4] ~ [f3,c4]@6 [eb4,bb4]@4 [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@4 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]!2 [eb4,bb4]@2 [d4,a4]@2 a3@2 [eb4,bb4]@4 [bb3,f4]@2 ~@2 [bb3,f4] ~ [bb3,f4]@6 [f3,c4]@2]/8", // F5 Eb5 D5 Eb5 Bb5 F5 Eb5 D5 …
  M: "[~@2 [f3,c4]@2 ~@2 [f3,c4] ~ [f3,c4]@6 [eb4,bb4]@4 [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@4 [eb4,bb4]@2 [eb4,bb4]@2 [eb4,bb4]@2 [eb4,bb4]@2 [d4,a4]@2 a3@2 [c4,g4,c5]@4 [c4,g4,c5]@2 [c4,g4,c5]@4 [c4,g4,c5]@2 [c4,g4,c5]@4 [c4,g4,c5]@16 [f4,c5,f5,a5]@4 [f4,c5,f5,a5]@2 [f4,c5,f5,a5]@2 [f4,c5,f5,a5]@2 [f4,c5,f5,a5]@2 [f4,c5,f5,a5]@4 a5@2 ~@6 c5@8 [c4,g4,c5]@4 [c4,g4,c5]@2 [c4,g4,c5]@4 [c4,g4,c5]@2 [c4,g4,c5]@6, ~@47 f4@8 ~@9, ~@47 c5@4 ~@13, ~@47 f5@3 f5@5 ~@9, ~@48 a5@7 ~@9]/8", // F5 Eb5 D5 C5 F C5
  N: "[[f4,c5,f5]@14 [bb3,f4]@8 [b3,gb4]!2 [bb3,f4]@6 [bb3,f4]@8 [b3,gb4]!2 [bb3,f4]@6 [bb3,f4]@8 [b3,gb4]!2 [bb3,f4]@6 [bb3,f4]@8 [b3,gb4]!2 [bb3,f4]@2 [bb3,f4]@2 [bb3,f4]@2 [c4,g4]@6 c4 ~ c4 ~ c4 ~ c4 ~ c4 ~ [c4,g4]@2]/6", // F5 Bb5 B5 Bb5 B5 Bb5 B5 Bb5 …
  O: "[c4 ~ c4 ~ [c4,g4]@2 c4 ~ [c4,g4]@2 c4 ~ c4 ~ [eb4,bb4]@4 eb4 ~ [eb4,bb4]@4 [eb4,bb4]@2 [eb4,bb4]@4 [eb4,bb4]@4 [eb4,bb4]@4 [eb4,bb4]@2 [eb4,bb4]@2 [db4,ab4]@4 [bb3,f4]@6 bb3 ~ bb3 ~ bb3 ~ bb3 ~ bb3 ~ [bb3,f4]@2]/4", // C5 Eb5 Db5 Bb5
  P: "[[bb3,f4]@4 bb3 ~ bb3 ~ [bb3,f4]@2 [bb3,f4]@4 [c4,g4]@4 c4 ~ c4 ~ c4 ~ [c4,g4]@4 c4 ~ [c4,g4]@2]/2", // Bb5 C5
  Q: "[[c4,g4]@2 [c4,g4]@2 c4 ~ c4 ~ [c4,g4]@2 [c4,g4]@2 a3@2 [c4,g4]@4 c4 ~ c4 ~ c4 ~ [c4,g4]@2 c4 ~ c4 ~ [c4,g4]@2]/2", // C5
  R: "[[c4,g4]@2 [c4,g4]@2 c4 ~ c4 ~ [c4,g4]@2 [db4,ab4]@2 [d4,a4]@2 [eb4,bb4]@4 [eb4,bb4]@2 eb4 ~ eb4 ~ [eb4,bb4]@2 [eb4,bb4]@2 eb4 ~ [eb4,bb4]@2]/2", // C5 Db5 D5 Eb5
  S: "[[eb4,bb4]@2 [eb4,bb4]@2 [d4,a4]@4 [db4,ab4]@2 [c4,g4]@2 [b3,gb4]@2 [bb3,f4]@6 bb3 ~ bb3 ~ [bb3,f4]@2 bb3 ~ bb3 ~ [bb3,f4]@2]/2", // Eb5 D5 Db5 C5 B5 Bb5
  T: "[[bb3,f4]@2 [bb3,f4]@2 bb3 ~ bb3 ~ [bb3,f4]@2 [c4,g4]@2 [d4,a4]@2 [c4,g4]@6 c4 ~ c4 ~ [c4,g4]@4 c4 ~ [c4,g4]@2]/2", // Bb5 C5 D5 C5
  U: "[~@2 [c4,g4]!4 ~ [d4,a4,d5,gb5]@8 [d4,a4,d5,gb5]@8 [d4,a4,d5,gb5]@8 [d4,a4,d5,gb5]@8 [d4,a4,d5,g5]@8 [d4,a4,d5,gb5]@9]/7", // C5 D Dsus4 D
  V: "[d4,a4]@2 [d4,a4] [c4,g4]@2 [c4,g4] [a3,e4]@2", W: "[a3,e4] [g3,d4]@2 [g3,d4] [f3,c4]@2 [c4,g4]@2",
  X: "[[bb3,f4]@2 [bb3,f4]@2 ~@2 [bb3,f4] ~ [bb3,f4]@6 [f3,c4]@4 [f3,c4]@2 ~@2 [f3,c4] ~ [f3,c4]@6 [eb4,bb4]@4 [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@4 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]!2 [eb4,bb4]@2 [d4,a4]@2 a3@2 [eb4,bb4]@4 [bb3,f4]@2 ~@2 [bb3,f4] ~ [bb3,f4]@6 [f3,c4]@4 [f3,c4]@2 ~@2 [f3,c4] ~ [f3,c4]@6 [eb4,bb4]@4 [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@4 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]!2 [eb4,bb4]@2 [d4,a4]@2 a3@2 [eb4,bb4]@2]/8", // Bb5 F5 Eb5 D5 Eb5 Bb5 F5 Eb5 …
  Y: "[~@2 [bb3,f4]@2 ~@2 [bb3,f4] ~ [bb3,f4]@6 [f3,c4]@4 [f3,c4]@2 ~@2 [f3,c4] ~ [f3,c4]@6 [eb4,bb4]@4 [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@4 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]!2 [eb4,bb4]@2 [d4,a4]@2 a3@2 [eb4,bb4]@4 [bb3,f4]@2 ~@2 [bb3,f4] ~ [bb3,f4]@6 [f3,c4]@4 [f3,c4]@2 ~@2 [f3,c4] ~ [f3,c4]@6 [eb4,bb4]@4 [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@2]/7", // Bb5 F5 Eb5 D5 Eb5 Bb5 F5 Eb5
  Z: "[~@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]!2 [eb4,bb4]@2 [d4,a4]@2 a3@2 [c4,g4,c5]@4 [c4,g4,c5]@2 [c4,g4,c5]@4 [c4,g4,c5]@2 [c4,g4,c5]@4 [c4,g4,c5]@16 [f4,c5,f5,a5]@4 [f4,c5,f5,a5]@2 [f4,c5,f5,a5]@2 [f4,c5,f5,a5]@2 [f4,c5,f5,a5]@2 [f4,c5,f5,a5]@4 a5@2 ~@6 c5@8 [c4,g4,c5]@4 [c4,g4,c5]@2 [c4,g4,c5]@4 [c4,g4,c5]@2 [c4,g4,c5]@6, ~@31 f4@8 ~@9, ~@31 c5@4 ~@13, ~@31 f5@3 f5@5 ~@9, ~@32 a5@7 ~@9]/6", // Eb5 D5 C5 F C5
  AA: "[[f4,c5,f5]@14 [bb3,f4]@8 [b3,gb4]!2 [bb3,f4]@6 [bb3,f4]@8 [b3,gb4]!2 [bb3,f4]@6 [bb3,f4]@8 [b3,gb4]!2 [bb3,f4]@6 [bb3,f4]@8 [b3,gb4]!2 [bb3,f4]@6 [c4,g4]@8 [db4,ab4]!2 [c4,g4]@6 [c4,g4]@8 [db4,ab4]!2 [c4,g4]@6 [c4,g4]@8 [db4,ab4]!2 [c4,g4]@6 [c4,g4]@2]/8", // F5 Bb5 B5 Bb5 B5 Bb5 B5 Bb5 …
  AB: "[~@6 [db4,ab4]!2 [c4,g4]@2 a3 ~ a3 ~ [db4,ab4]@4 [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~]/2", // Db5 C5 Db5 D5
  AC: "[d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~", // D5
  AD: "[d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ c4@2 c4@4", // D5
  AE: "[[d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [d4,a4] ~ [g3,d4,g4,d5,g5]@32 [e3,b3,e4,ab4,b4,e5]@32 [a3,e4,a4,db5]@32 [d4,a4]@8 [eb4,bb4]!2 [d4,a4]@6 [d4,a4]@2]/8", // D5 G5 E A D5 Eb5 D5
  AF: "[~@6 [eb4,bb4]!2 [d4,a4]@6 [d4,a4]@8 [eb4,bb4]!2 [d4,a4]@6 [d4,a4]@8 [eb4,bb4]!2 [d4,a4]@6 d4@4 d5@2 c5@2 g4@2 gb4@4 d4@2 d4@4 d5@2 c5@2 g4@2 gb4@4 d4@2 d4@4 d5@2 c5@2 g4@2 gb4@4 d4@2 d4@2]/6", // Eb5 D5 Eb5 D5 Eb5 D5
  AG: "[~ d5 c5 g4 gb4@2 d4 [c4,g4,c5]@2 [c4,g4,c5] [c4,g4,c5]@2 [c4,g4,c5] [c4,g4,c5]@2 [c4,g4,c5]@8 [f4,c5,f5,a5]@2 [f4,c5,f5,a5]!4 [f4,c5,f5,a5]@2 [f4,c5,f5,a5]]/4", // C5 F
  AH: "[a5@2 f5 a5@4 [c4,g4,c5]@2 [c4,g4,c5] [c4,g4,c5]@2 [c4,g4,c5] [c4,g4,c5]@3]/2", // C5
  AI: "[[f4,c5,f5]@14 [bb3,f4]@4 ~@12 [f3,c4]@4 [f3,c4]@2 ~@2 [f3,c4] ~ [f3,c4]@6 [eb4,bb4]@4 [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@4 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]!2 [eb4,bb4]@2 [d4,a4]@2 a3@2 [eb4,bb4]@4 [bb3,f4]@2 ~@2 [bb3,f4] ~ [bb3,f4]@6 [f3,c4]@4 [f3,c4]@2 ~@2 [f3,c4] ~ [f3,c4]@6 [eb4,bb4]@4 [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]@2]/8", // F5 Bb5 F5 Eb5 D5 Eb5 Bb5 F5 …
  AJ: "[~@2 [eb4,bb4] ~ [eb4,bb4] ~ [eb4,bb4]!2 [eb4,bb4]@2 [d4,a4]@2 a3@2 [eb4,bb4]@6 ~@12]/2", // Eb5 D5 Eb5
})).s("gm_overdriven_guitar").gain(0.41)

// other · trumpet · "Backing 1"
const trumpet = note("<~@42 A@2 B@2 C D@4 ~@21 E@4 F@5 ~@113 G@14 ~>".pickRestart({
  A: "[~@4 eb5 f5@2 eb5@3 ~@4 d5@2]/2", B: "[f5@4 g5@3 g5@6 ~@3]/2", C: "~ f5!3",
  D: "[f5@2 f5!3 eb5@2 g5@14 a5@2 bb5@3 ~@6]/4", E: "[~ f5 g5 f5 g5 f5!2 g5@2 f5!3 g5@2 f5 g5@8 f5@5 ~@4]/4",
  F: "[~ f5 g5@2 g5@2 f5 g5@3 g5 f5 g5 f5!2 g5@10 ~@4 bb5!2 bb5@7 ~@2]/5", G: "bb4!3 bb4@2 ~@3",
})).s("gm_trumpet").gain(0.46)

// other · trumpet · "Backing 2"
const trumpet_2 = note("<~@196 A@2 B@10 ~>".pickRestart({
  A: "[ab5!2 ~ ab5 bb5@8 ~@4]/2", B: "ab5!3 bb5@2 ~@3",
})).s("gm_trumpet").gain(0.41)

// drums · kick
const kick = s("bd").struct(`<
  ~@18 A B A@2 B@2 A@2 B@2 A@3 B A@3 B A@2 B@2 A@2 B@2 A@3 B A@5 C D ~ A@2 B@2 A@3 B A@3 B A@2 B@2 A@2 B@2 A@3 B A@3 B
  A@2 D ~ A@2 B@2 A@3 B A@2 ~@4 E F@3 A B A@3 B A@3 B A@3 B A@2 B@2 A@3 B A@3 B A@2 B@2 A@2 B@2 A@3 B A@2 B@2 A@3 B A@2
  D ~ D ~ A B A@3 B A@2 B@2 A@2 B@2 A@3 B D A@2 B A@2 B@2 A@2 B@2 A@3 B A@3 B A@2 B@2 A@7 B ~
>`.pickRestart({
  A: "x!2", B: "x ~@3 x!2 ~@2", C: "x ~@3 x ~ x!2", D: "x", E: "~@7 x", F: "~ x",
})).gain(0.41)

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

// drums · ride
const ride = s("rd").struct("<~@54 [~ x!3] [x!3 ~] ~@153>").gain(0.41)

// drums · splash
const splash = s("cr").struct("<~@16 [~@7 x] [~@2 x ~@4 x ~@3 x ~@4] ~@191>").gain(0.41)

stack(overdriven_guitar, overdriven_guitar_2, overdriven_guitar_3, trumpet, trumpet_2, kick, snare, ride, splash)

More by Guns N' Roses