Strudelify

Two Steps Behind

Def Leppard

KeyD majorTempo150 bpm
0:00/0:00
// Two Steps Behind — Def Leppard
// 150 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 5 "Lead Acoustic Gtr." named as a guitar, played on acoustic guitar steel (its piano patch is not one)
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 152 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(150/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 · acoustic guitar nylon · "Acoustic Guitar"
const acoustic_guitar_nylon = note(`<
  A@3 B@3 C@5 D@7 E@2 F@6 G@5 ~ H@7 I@2 J@6 K@6 L@2 M@7 N@3 E@2 O@6 G@5 ~ H@7 P@8 Q@3 R@3 S@4 T@2 U@2 V@2 W@2 E@2 W@2
  E@2 X@2 G@5 ~ H@7 I@2 Y@6 K@6 Z@2 AA@2 ~
>`.pickRestart({
  A: "[c#5@3 d5@6 [a4,d5,e5,a5]@9 [a4,d5]@2 d5@3 [d5,e5]@3 e5@6 [a4,e5,a5]@9 ~ [a4,e5,a5]@3 [a4,e5,a5]@2 ~@3 d5@6 [a4,d5,a5]@10 d5@3 [d5,e5]@3, a4@9 ~@14 a4@9 ~@15 a4@9 ~@16, ~@47 c#5@2 ~@23, ~@6 a5 ~@2]/3", // Asus4 D5 Dsus2 A5 D5 Dsus2
  B: "[d5@3 [a4,d5]@6 a4@9 a4@2 a4@3 c#5@2 ~ d5@7 [a4,d5,e5]@9 d5@2 d5@3 ~@3 e5@7 [a4,e5,a5]@9 [a4,e5]@3 [a4,e5]@3, ~@9 d5@14 [a4,e5]@9 ~@10 e5@8 ~@22, ~@42 a4@5 d5@24 ~]/3", // D5 Asus4 A5
  C: "[c#5@2 d5@6 [a4,d5,a5]@9 [d5,e5]@3 ~@28 [e4,a4,c#5,e5]@12 [e4,a4,c#5,e5]@9 [e4,a4,c#5,e5]@6 [d4,f#4,a4]@2 ~ [d4,f#4,a4]@6 [d4,f#4,a4,d5]@11 [g4,b4,d5,g5]@12 ~ d5@9 [g4,b4,d5]@3, [a4,e5]@8 ~@9 a5@48 ~@55, ~@20 d5@48 ~@7 d5@9 ~@23 [g4,b4,g5]@9 ~@4, ~@48 a2@27 ~@20 g3 ~@24]/5", // D5 Dsus2 A D G A5 G
  D: "[~@3 [a4,d5,f#5]@2 ~ [a4,d5,f#5]@6 [a4,d5,f#5]@5 [a4,d5,f#5]@5 ~ [e4,a4,c#5,e5]@13 [e4,a4,c#5,e5]@9 [e4,a4,c#5,e5]@6 [d4,f#4,a4,d5]@2 ~ f#4@6 [d4,f#4,a4,d5]@11 [g4,b4,d5,g5]@12 ~ [g4,g5]@8 [g4,b4,d5]@6 [a4,d5,f#5]@2 ~ [a4,d5,f#5]@6 [a4,d5,f#5]@6 [a4,d5,f#5]@5 ~ [e4,a4,c#5,e5]@13 [e4,a4,c#5,e5]@9 [e4,a4,c#5,e5]@6 [d4,f#4,a4,d5]@2 [d4,f#4,a4]@6 ~ [d4,f#4,a4,d5]@12, ~@23 a2 ~@29 d4@6 ~@12 g3 ~@11 [b4,d5]@9 ~@76]/7", // D A D G D A D Bm
  E: "[[e4,g#4,b4,e5]@12 [e4,g#4,b4,e5]@9 [e4,g#4,b4,e5]@6 [d4,f#4,a4,d5] ~ [d4,f#4,a4,d5]@6 ~ [d4,f#4,a4,d5]@5 [d4,f#4,a4,d5]@7]/2", // E D
  F: "[[e4,a4,c#5,e5]@12 [e4,a4,c#5,e5]@9 [e4,a4,c#5,e5]@6 [d4,f#4,a4,d5] ~@2 [f#4,a4]@6 [d4,f#4,a4,d5]@11 [e4,g#4,b4,e5]@13 [e4,g#4,b4,e5]@9 [e4,g#4,b4,e5]@6 [d4,f#4,a4,d5]@2 [d4,f#4,a4,d5]@6 [d4,f#4,a4,d5]@12 ~ a4@17 [f#4,a4,c#5]@19 [f#4,a4,c#5]@11 ~, ~@95 [f#4,c#5]@18 ~@31]/6", // A D F#m D E D F#m F#5
  G: "[[f#4,a4,d5]@17 ~ [a4,d5]@17 [f#4,a4,d5,f#5]@12 [g4,b4,d5,g5]@18 ~ d5@17 ~ g5@10 ~ [e4,g#4,b4,e5]@4 ~@2 [e4,g#4,b4,e5]@4 ~@2 [e4,g#4,b4,e5]@3 ~@10, d3 ~@16 f#4@18 ~@30 [g4,b4,g5]@18 [g4,b4,d5]@11 ~@26, ~@9 f#5 ~@50]/5", // D D5 D G E G
  H: "[[e4,a4,c#5,e5]@12 [e4,a4,c#5,e5]@9 [e4,a4,c#5,e5]@6 [d4,f#4]@2 [d4,f#4]@6 ~ [d4,f#4,a4,d5]@6 [d4,f#4,a4,d5]@5 ~ [e4,g#4,b4]@12 [e4,g#4,b4,e5]@9 [e4,g#4,b4,e5]@6 [d4,f#4,a4,d5]@2 [d4,f#4,a4,d5]@6 ~ d5@5 [d4,f#4,a4,d5]@6 [e4,a4,c#5,e5]@12 ~ [e4,a4,c#5,e5]@8 ~ e5@6 f#4 ~ [d4,f#4]@7 [d4,f#4,a4,d5]@5 [d4,f#4,a4]@6 [e4,g#4,b4,e5]@12 ~ [g#4,b4]@8 [e4,g#4,b4,e5]@4, a2 ~@26 [a4,d5]@9 ~@11 e5@12 ~@57 [e4,a4,c#5]@7 a4@9 ~@23 [e4,e5]@9 ~@4, ~@48 e3 ~@34 [d4,f#4,a4]@6 ~@6 a2 ~@47 e3 ~@24]/7", // A D E D A D E G#m …
  I: "[~@3 [d4,a4]@2 [d4,f#4,a4]@6 ~ d5@5 [d4,f#4,a4,d5]@6 [e4,a4,c#5]@13 [e4,a4,c#5,e5]@9 [e4,c#5]@3, ~ d5@3 ~@12, ~@3 f#4 ~@7 [d4,f#4,a4]@6 ~@6 a2 ~@24]/2", // D5 D A C#m D
  J: "[~@2 f#4@2 ~ f#4@6 [d4,f#4,a4,d5]@12 [e4,g#4,b4,e5]@13 b4@5 ~@6 g3 ~@18 [g4,b4,d5]@22 ~@7 [d4,f#4,a4]@48 c#5, ~@2 d5@9 ~@12 e3 ~@12 [e4,g#4,e5]@11 ~@97, ~@41 b4@23 ~@80, ~@42 [a4,d5]@23 ~@79]/6", // D E G D E D5
  K: "[[e4,a4,e5]@12 [e4,a4,c#5,e5]@9 [e4,a4,c#5,e5]@6 [d4,f#4,d5]@2 [f#4,a4,d5]@6 ~ [d4,f#4,a4,d5]@11 [g4,b4,d5,g5]@12 ~ [g4,b4,d5,g5]@9 [g4,b4,d5,g5]@6 [a4,d5,f#5,a5]@2 [d5,f#5]@6 ~ [d5,f#5,a5]@5 [a4,d5,f#5,a5]@6 [e4,a4,c#5,e5]@13 [e4,a4,c#5,e5]@9 [e4,a4,c#5,e5]@6 [d4,f#4,a4]@2 [d4,f#4]@7 [d4,f#4,a4,d5]@12, a2 ~@82 a4@6 ~@6 a2 ~@48]/6", // A5 A D G D A D
  L: "[[g4,b4,d5,g5]@12 [g4,b4,d5,g5]@8 [g4,b4,d5,g5]@6 ~ [d5,f#5] ~ d5@6 ~ [d5,f#5,a5]@5 [a4,d5,f#5,a5]@3 [a4,d5,f#5,a5]@4, g3 ~@34 a4@6 ~@7]/2", // G D
  M: "[[e4,a4,c#5,e5]@12 [e4,a4,c#5,e5]@9 [e4,a4,c#5,e5]@6 [d4,f#4,a4]@2 ~ [d4,f#4,a4]@6 [d4,f#4,a4,d5]@11 [g4,b4,d5,g5]@12 ~ d5@9 [g4,b4,d5]@6 [a4,d5,f#5]@2 ~ [a4,d5,f#5]@6 [a4,d5,f#5]@5 [a4,d5,f#5]@5 ~ [e4,a4,c#5,e5]@13 [e4,a4,c#5,e5]@9 [e4,a4,c#5,e5]@6 [d4,f#4,a4,d5]@2 ~ f#4@6 [d4,f#4,a4,d5]@11 [g4,b4,d5,g5]@12 ~ [g4,g5]@8 [g4,b4,d5]@4, ~@27 d5@9 ~@11 g3 ~@11 [g4,b4,g5]@9 ~@27 a2 ~@29 d4@6 ~@12 g3 ~@11 [b4,d5]@9 ~@4]/7", // A D G D A D G Bm
  N: "[~@2 [a4,d5,f#5]@2 ~ [a4,d5,f#5]@6 [a4,d5,f#5]@6 [a4,d5,f#5]@5 ~ [e4,a4,c#5,e5]@13 [e4,a4,c#5,e5]@9 [e4,a4,c#5,e5]@6 [d4,f#4,a4,d5]@2 [d4,f#4,a4]@6 ~ [d4,f#4,a4,d5]@12]/3", // D A D
  O: "[[e4,a4,c#5,e5]@12 [e4,a4,c#5,e5]@9 [e4,a4,c#5,e5]@6 [d4,f#4,a4,d5] ~@2 [f#4,a4]@6 [d4,f#4,a4,d5]@11 [e4,g#4,b4,e5]@13 [e4,g#4,b4,e5]@9 [e4,g#4,b4,e5]@6 [d4,f#4,a4,d5]@2 [d4,f#4,a4,d5]@6 [d4,f#4,a4,d5]@12 ~ a4@17 [f#4,a4,c#5]@21 ~ [f#4,a4,c#5]@9, ~@95 [f#4,c#5]@18 ~@31]/6", // A D F#m D E D F#m F#5
  P: "[~@3 [d4,a4]@2 [d4,f#4,a4]@6 ~ d5@5 [d4,f#4,a4,d5]@6 [e4,a4,c#5]@13 [e4,a4,c#5,e5]@9 [e4,c#5]@5 f#4@2 ~ f#4@6 [d4,f#4,a4,d5]@12 [e4,g#4,b4,e5]@13 b4@6 ~@5 g3 ~@18 [g4,b4,d5]@22 ~@7 [d4,f#4,a4]@48 ~, ~@3 d5@9 ~@38 d5@9 ~@25 [e4,g#4,e5]@11 ~@97, ~@3 f#4 ~@7 [d4,f#4,a4]@6 ~@6 a2 ~@47 e3 ~@18 [g4,b4,d5]@23 ~@79]/8", // D5 D A C#m D E G D …
  Q: "[c#5@3 d5@6 [a4,d5,e5,a5]@8 a5 [a4,d5]@2 d5@3 [d5,e5,c#6]@3 [e5,a5]@6 [a4,e5,a5]@9 a5 [a4,e5,a5]@2 a5 [a4,e5,a5]@2 ~ a5@2 [d5,a5]@6 a5 a5@9 d5@3 [d5,e5]@3, [a4,a5]@9 ~@11 a5@6 ~@21 c#5@2 ~@23, a2 ~@22 a4@9 ~@15 a4@9 [a4,d5]@10 ~@6, ~@12 b5 ~@5]/3", // Asus4 D5 C#m A5 D5 Dsus2 A D5
  R: "[d5@3 [a4,d5,a5]@6 [a4,a5]@9 ~ a5 ~ a5@2 ~@3 d5@7 [a4,d5,e5,a5]@9 [d5,a5]@2 ~@7 a5@6 [a4,e5,a5]@9 ~ a5@2 [a4,e5,a5]@3, d6@23 c#5@2 ~@17 e5@8 e5@7 ~@9 [a4,e5]@3 ~@3, ~@9 d5@15 b5@4 ~@16 d5@3 d5@24 ~, ~@18 a4@2 a4@3 [a4,e5]@9 ~@10 a4@5 ~ c#6@24, ~@15 a5@2 ~@7]/3", // D5 A Asus4 D5 A5
  S: "[[c#5,d6]@2 [d5,a5]@6 a5 a5@8 a5 a5@2 ~@28 [e4,a4,c#5,e5]@6 [e4,a4,c#5]@3 [a4,c#5]@3 [e4,a4,c#5,e5]@6 c#5@3 [e4,a4,c#5,e5]@6 [d4,f#4,a4,d5]@2 ~ [d4,f#4,a4,d5]@6 [d4,f#4,a4,d5]@6 [d4,f#4,a4,d5]@3 [d4,f#4,a4,d5]@3, [a4,e5]@8 [a4,d5]@9 [d5,e5]@3 d5@48 ~@28, ~@21 a5@5 ~@6 a5@44 ~@20, ~@23 b5@48 ~@25]/4", // Dmaj7 D5 A D A5 D5 Dsus2
  T: "[[g4,b4,d5,g5]@6 b4@3 [g4,b4,d5]@3 [g4,b4,d5,g5]@6 [g4,b4,d5,g5]@3 [g4,b4,d5,g5]@6 [a4,d5,f#5]@2 ~ [a4,d5,f#5]@6 [a4,d5,f#5]@5 ~ f#5@2 [a4,d5,f#5]@3 ~, ~@41 [a4,d5]@3 ~@4]/2", // G D D5
  U: "[[e4,a4,c#5,e5]@6 [e4,a4,c#5]@3 [a4,c#5]@3 [e4,a4,c#5,e5]@6 c#5@3 [e4,a4,c#5,e5]@6 [d4,f#4,a4,d5]@2 ~ [d4,f#4,a4,d5]@6 [d4,f#4,a4,d5]@6 [d4,f#4,a4,d5]@3 [d4,f#4,a4,d5]@3]/2", // A D
  V: "[[g4,b4,d5,g5]@5 b4@3 ~ [b4,d5]@3 [g4,b4,d5]@6 [g4,b4,d5]@3 [g4,b4,d5,g5]@6 [a4,d5,f#5]@2 ~ [a4,d5,f#5]@6 [a4,d5,f#5]@5 ~ f#5@2 [a4,d5,f#5]@3 ~, ~@8 g4@3 ~ g5@9 ~@20 [a4,d5]@3 ~@4]/2", // G Bm G D D5
  W: "[[e4,a4,c#5,e5]@12 [e4,a4,c#5,e5]@9 [e4,a4,c#5,e5]@6 [d4,f#4,a4,d5]@2 [d4,f#4,a4]@6 ~ [d4,f#4,a4,d5]@12]/2", // A D
  X: "[[f#4,a4,c#5]@17 [f#4,a4,c#5]@19 [f#4,a4,c#5]@11 ~]/2", // F#m
  Y: "[~@2 f#4@2 ~ f#4@6 [d4,f#4,a4,d5]@12 [e4,g#4,b4,e5]@13 [e4,g#4,b4,e5]@3 ~@3 d5@23 ~@30 [d4,f#4,a4]@48 c#5, ~@2 d5@9 ~@12 e3 ~@17 [b4,g5]@23 ~ g5@48 ~@31, ~@11 [g4,b4,d5]@8 ~@5]/6", // D E D Em G
  Z: "[[g4,b4,d5,g5]@12 [g4,b4,d5,g5]@8 [g4,b4,d5,g5]@6 ~ [d5,f#5]@2 ~ d5@7 [a4,d5,f#5,a5]@7 [a4,d5,f#5,a5]@3 ~, g3 ~@47]/2", // G D
  AA: "[~ [e4,a4,c#5,e5]@23]/2", // A
})).s("gm_acoustic_guitar_nylon").gain(0.32)

// chords · acoustic guitar nylon · "Acoustic Guitar" · soft notes
const acoustic_guitar_nylon_2 = note(`<
  A@4 B@2 C@2 ~@2 D@2 ~ E F@2 ~ G ~@3 H ~@2 I@2 J@2 ~@9 K ~ L@3 ~@6 M ~ N ~ O ~ P ~@2 D@2 ~ E F@2 ~ G ~@3 H ~@2 I@2 J@2
  ~@9 K ~ L@3 ~@5 Q R@3 S@2 T@2 U ~ V ~ U ~ W ~@2 G ~@3 G ~@2 I@2 J@2 ~@9 K ~ L@3 ~@6 M ~ N ~ O ~ X ~@3
>`.pickRestart({
  A: "[[e5,a5]@9 ~@9 e5@2 [a4,e5]@3 ~@3 a5@6 ~@15 e5@9 e5@10 [e5,a5]@3 a5@2 ~ a4@3 ~@6 a5@11 a5@3 ~, ~@18 a5@8 ~@40 a4@5 a5@9 ~@16, ~@72 e5@23 ~]/4", // A5
  B: "[a5@3 a5@3 a5 ~@2 a5@2 ~@3 a5!2, ~@7 a5@2 ~@7, ~@23 a4@9 ~@16]/2", C: "[a5@8 e5@9 ~@3 e5@28, ~@17 a4@31]/2",
  D: "[~@7 g5@2 ~@7]/2", E: "~@5 [a4,d5]@6 ~@13", F: "[~@10 g5@3 ~@11]/2", G: "~@5 d5@6 ~@13", H: "~ [d4,d5] ~@2",
  I: "[f#5@17 f#5@30 ~]/2", J: "[f#5@18 ~@2 f#5@15 ~@13]/2", K: "~ d5@3 ~@2 d5@2, ~@3 d4@2 ~@19",
  L: "[~@23 e5@13 ~@9 [a4,e5]@5 d4@2 ~ d4@6 ~@13, ~@50 a4@9 ~@13]/3", M: "~@3 a4@2 d4@6 ~@13", N: "~@5 [a4,a5]@6 ~@13",
  O: "~@3 d5@2 [a4,d5]@7 ~@12", P: "~@3 [a4,a5] ~ [a4,f#5,a5]@6 ~@13", Q: "e5@9 ~@9 [e5,a5]@2 [a4,e5]@3 ~",
  R: "[~@23 e5@9 e5@10 [e5,a5]@3 a5@2 ~ a4@3 ~@17 a5 ~@3, ~@42 a4@5 a5@4 ~@21, ~@48 e5@23 ~]/3", // A5
  S: "[a5@3 a5@6 ~@14 a4@9 ~@10 a5 ~@5]/2", T: "[a5@2 ~@6 e5@9 ~@9 a5@6 ~@16, ~@17 a4@31, ~@5 e5@7]/2",
  U: "~@2 e5 [e4,e5] ~@2 [e4,a4,e5] ~", V: "~@2 [g4,d5,g5] g5 ~@4", W: "~@2 g5!2 ~@4, ~@5 [g4,d5]@3 ~@16",
  X: "~@3 [a4,a5]@2 ~ [a4,f#5,a5]@7 ~@11", // A D
})).s("gm_acoustic_guitar_nylon").gain(0.16)

// bass · fretless bass · "Bass"
const bass = note(`<
  A@2 B C D E B F G@2 H@3 I J@6 K@2 L@2 M@7 ~ N@2 O@7 P@2 Q@4 R@6 S@2 T@6 U@4 V@6 W@2 X@4 Y ~ Z@7 AA@3 AB@7 AC AD AE E
  AF@2 AG@2 AH@2 N@2 AI@4 AJ@4 AK@2 M@7 ~ N@2 O@7 P@2 Q@4 R@6 AL@2 AM@2 ~
>`.pickRestart({
  A: "[a2@20 a2@3 d3@22 d3@3]/2", B: "g3@7 g3", C: "d3@6 d3 e3", D: "a2@5 a2", E: "d3@7 d3", F: "d3",
  G: "[a2@7 a2@2 d3@6 d3]/2", H: "[g3@21 g3@6 d3@14 d3@3 e3@3 a2@22 ~@3]/3", I: "~@3 d3@14 d3@7",
  J: "[g3@21 g3@6 d3@14 d3@3 e3@3 a2@22 a2@6 d3@18 ~@3 e3@21 e3@6 d3@15 d3@2 e3@3 ~, ~@93 d3@5 ~@46]/6",
  K: "[a2@21 a2@5 d3@15 ~ d3@6]/2", L: "[e3@21 e3@6 d3@14 d3@3 e3@3 ~]/2",
  M: "[~@24 f#3@18 f#3@3 e3@2 ~@12 d4@6 d3@23 d3@7 g3@18 g3@18 g3@9 ~@3 e3@5 ~ e3@4 ~@2 e3@4 ~@9, f#3@24 ~@23 d3@18 ~@103, ~@9 f#2@14 ~@61]/7",
  N: "[a2@7 a2@2 d3@5 d3@2]/2",
  O: "[e3@21 e3@6 d3@14 d3@4 ~@2 a2@21 ~ a2@6 d3@15 d3@5 e3@21 e3@7 d3@14 ~@3 e3@3 a2@21 ~ a2@3, ~@137 d3@5 ~@26]/7",
  P: "[~@2 d3@15 d3@6 e3@22 e3@3]/2", Q: "[g3@5 ~ f#3@11 e3@13 d3@6 e3@2 f#3@3 a3@6 d3@46 ~@3]/4",
  R: "[a2@18 a2@2 a2@6 d3@15 d3@6 g3@21 g3@6 ~ d3@14 d3@3 ~@3 a2@21 ~ a2@6 d3@14 d3@6 ~]/6",
  S: "[g3@17 ~@3 g3@7 d3@15 d3@5 ~]/2",
  T: "[a2@21 a2@6 d3@14 ~@6 g3@21 g3@7 d3@14 d3@4 ~@2 a2@22 a2@6 d3@14 d3@6 ~, ~@42 d3@7 ~@95]/6",
  U: "[g3@21 g3@6 ~@14 d3@3 ~@3 a2@22 a2@5 ~ d3@15 d3@6]/4",
  V: "[e3@21 e3@6 d3@15 d3@3 ~@2 a2@22 ~ a2@5 d3@15 d3@5 e3@21 e3@6 d3@15 d3@3 e3@3 ~]/6",
  W: "[~@17 f#2@18 f#3@5 ~ f#3@3 e3@3 ~]/2", X: "[~@11 d4@6 ~ d3@11 d3@12 d3@6 g3@19 g3@18 g3@11 ~, d3@13 ~@83]/4",
  Y: "e3@4 ~ e3@5 ~ e3@4 ~@9",
  Z: "[a2@12 a2@9 a2@6 d3@14 d3@6 e3@21 ~ e3@6 d3@14 d3@3 e3@3 a2@22 a2@5 d3@15 ~ d3@5 e3@21 e3@4]/7",
  AA: "[~@2 d3@15 d3@4 ~@2 a2@22 a2@5 d3@16 d3@6]/3",
  AB: "[e3@11 e3@7 g3@11 f#3@13 e3@12 d3@6 e3@3 f#3@3 a3@5 d3@48 a2@21 a2@3 d3@22 d3@3]/7", AC: "g3@7 ~",
  AD: "d3@6 d3 ~", AE: "a2@7 a2", AF: "[g3@20 g3@3 d3@18 ~@3 e3@3 ~, ~@42 d3@5 ~]/2", AG: "[a2@6 ~ a2@2 d3@5 d3@2]/2",
  AH: "[g3@21 g3@6 d3@14 d3@3 e3@3 ~]/2", AI: "[g3@18 ~@3 g3@6 d3@14 d3@4 ~@2 a2@22 a2@6 d3@15 d3@6]/4",
  AJ: "[e3@21 e3@6 d3@15 d3@3 ~@2 a2@21 ~ a2@6 d3@15 d3@6]/4", AK: "[e3@18 ~@3 e3@6 d3@15 d3@2 e3@3 ~]/2",
  AL: "[g3@17 ~@3 g3@7 d3@16 ~ d3@4]/2", AM: "[~ a2@15]/2",
})).s("gm_fretless_bass").gain(0.18)

// bass · fretless bass · "Bass" · soft notes
const bass_soft = note(`<
  ~@12 A@2 ~@21 B ~@14 C ~@2 D E ~@3 C ~@3 F ~@3 C ~@3 G@3 ~@13 B ~@9 H E ~@4 I ~@5 J C ~@3 B ~@2 K ~@12 B ~@14 C ~@2 D
  L ~@3
>`.pickRestart({
  A: "[~@21 a2@7 ~@20]/2", B: "~@20 e3@3 ~", C: "~@5 e3", D: "~@17 g3@3 ~@4", E: "~@7 e3", F: "~@3 d3@14 ~@3 e3@3 ~",
  G: "[~@23 f#3@36 ~@13]/3", H: "~@7 g3", I: "~@6 a2 ~", J: "~@6 g3 ~", K: "~@6 e3 ~", L: "~@11 e3",
})).s("gm_fretless_bass").gain(0.13)

// chords · string ensemble 1 · "Nice soft strings"
const string_ensemble_1 = note(`<
  ~@6 A@2 B@2 C D@2 E@2 F@2 G@6 H@8 ~@2 I@2 J@2 K@2 L@5 M@6 N@3 ~@2 O@5 P@8 Q@2 R@8 ~@2 S@2 J@2 T@6 U@4 V@8 W@8 X@8 Y@7
  ~@2 I@2 J@2 K@2 L@5 Z@6 AA@5 ~@3
>`.pickRestart({
  A: "[~@10 [d5,d6]@5 [c#5,c#6]@6 [e4,e5]@24 ~@3]/2", B: "[~@12 f#3@11 d4, e4, c#4@13 ~@11]/2", C: "[b3,d4]",
  D: "[~@21 e4 [a3,c#4,e4]@26, [d4,a4]@23 ~@25]/2", E: "[d4@22 d4 [b3,d4,g4]@25, [f#3,a3] ~]/2",
  F: "[a4 [d4,f#4,a4]@10 [a3,c#4,e4]@13]/2", // D A
  G: "[~@3 [a3,d4,f#4]@20 ~@46 e4 ~@49 [g#3,b3,e4]@25, ~@2 f#3@20 ~ [g#3,b3,e4]@27 [f#3,a3,d4]@20 [a3,c#4,e4]@28 ~@20 g#4@26, ~@24 g#4@27 ~@8 a4@12 ~@23 f#4@26 ~@24, ~@46 b4@26 ~@25 [f#3,a3,d4]@23 ~@24]/6", // D E D A D
  H: "[~@5 a3@17 ~@95 g4 ~@46 e4@2 [g#3,b3,e4]@15 ~@11, f#4@11 c#4@24 ~@24 [b3,d4,g4]@24 ~@13, ~@5 [f#3,d4]@19 ~@16 c#5@32 ~@120, ~@11 a3@23 [d4,f#4]@24 ~@38, ~@54 a4@18 ~@16 a4@33 ~@71]/8", // E G D
  I: "[~ d4 [f#3,a3,d4]@20 [g#3,b3,e4,g#4]@26, ~ f#4@23 ~@24]/2", // D E
  J: "[d4@2 a3@20 e4 [e4,a4]@25, f#4 ~, ~ [f#3,d4]@11 ~@12, ~@11 a3@13]/2", // A5 D
  K: "[d4@2 ~@21 [g#3,b3,e4]@25, f#4@11 g#4@13, ~ [f#3,a3,d4]@11 ~@12]/2", // E D
  L: "[d4 [f#3,a3,d4]@21 [a3,c#4]@24 d4@4 ~@21 [b3,e4]@23 d4@2 f#4@23 ~, f#4@11 [e4,a4]@25 ~@12 d4@6 ~@6, ~@23 f#4@12 g#3@12 [g3,b3]@13, ~@50 [f#3,a3,d4]@21 ~@49, ~@69 g#4@26 ~@25]/5", // D A E5 A5 G D
  M: "[~@22 d4@14 ~@3 d4@32 e5@68 ~@5, ~@11 [d3,f#3]@24 ~@37]/6", // D
  N: "[~@8 [c#5,c#6]@3 [e4,e5]@25, ~@10 [d5,d6]@13 ~@49]/3", // C# E D
  O: "[c#4@26 f#3@20 ~@47 e4 [a3,c#4,e4]@26, e4@49 ~@71, ~@46 d4@27 [d4,a4]@22 ~@25, ~@47 b3@29 ~@44]/5", // A D5
  P: "[~ d4@21 d4 ~@23 a4@4 [d4,f#4,a4]@20 ~@95 e4 [a3,c#4,e4]@26, ~ [f#3,a3]@22 [b3,d4,g4]@28 ~@19 [a3,c#4,e4]@29 [a3,d4,f#4]@20 [g#3,b3,e4]@28 ~@8 a4@12 ~@25, ~@98 f#3@20 g#4@28 [f#3,a3,d4]@21 ~@25, ~@71 b4@13 ~@12]/8", // D A F#m G A D E D
  Q: "[~@23 [g#3,b3,e4]@25, f#4@25 ~@23, ~ [f#3,a3,d4]@23 ~@24, ~@11 g#4@13]/2", // E D
  R: "[~@2 a3@20 ~@95 g4 ~@46 e4@2 [g#3,b3,e4]@15 ~@11, f#4@22 [a3,c#4]@48 d4@47 ~ [b3,d4,g4]@48 ~@26, ~@2 [f#3,d4]@22 ~@16 c#5@31 f#4@48 ~@73, ~@54 a4@18 ~@16 a4@33 ~@71]/8", // E A G D
  S: "[d4 [f#3,a3,d4]@10 [g#3,b3,e4,g#4]@13, f#4@23 ~@25]/2", // D E
  T: "[d4@2 ~@45 d4@2 [f#3,a3,d4]@21 [a3,c#4]@25 d4@4 ~@21 g#4@23 ~, f#4@23 [g#3,b3,e4]@26 ~@50 [f#3,a3,d4]@20 [b3,e4]@24 ~, ~@2 [f#3,a3,d4]@22 ~@23 f#4@24 ~@24 f#4@23 g#3@24 ~@2, ~@11 g#4@13 ~@11 [e4,a4]@25 ~@12, ~@39 g#4 ~@8]/6", // D A E D E5 D A5
  U: "[d4@23 [d3,f#3]@24 ~, ~@23 d4@25]/4", // D
  V: "[[a3,b3,c#4,e4]@22 ~ [e4,f#4,a4]@24 ~@41 [c#5,c#6]@6 e4 e4@23 [d4,e4,f#4,a4]@25 b3@23 a3@24 ~@2, e5@68 ~@3 a3@13 b3@36 ~@72, ~@22 d4@25 b3@26 ~@9 [d5,d6]@12 e5@26 ~@72, ~@95 [a3,c#4]@25 ~@72]/8", // A F#m7 C# D A
  W: "[c#4@26 f#3@20 ~@27 [d4,a4]@21 [a3,c#4,e4]@2, ~@46 d4@27 ~@23, ~@47 b3@29 ~@20]/4", // D5 A
  X: "[c#4@26 f#3@20 ~@27 [d4,a4]@21 [a3,c#4,e4]@2, ~@46 [g#3,b3]@29 ~@21]/4", // D5 A G#m
  Y: "[~@93 g4 ~@46 e4@2 [g#3,b3,e4]@15 ~@11, c#4@24 ~@23 [b3,d4,g4]@24 ~@13, a3@11 [d4,f#4]@12 ~@19, ~@2 c#5@4 ~@15, ~@30 a4@18 ~@16 a4@33 ~@71]/7", // E G D
  Z: "[~@22 d4@14 ~@3 d4@32 e6@47 [a5,a6]@26, ~@22 [d3,f#3]@48 ~ e5@68 ~@5]/6", // A D
  AA: "[~@16 [c#5,c#6]@6 a3@29 d4@19 [g3,b3,g4]@30 ~@20, ~@5 [d5,d6]@6 [e4,e5]@25 ~@24, ~@22 [e3,c#4]@31 ~@17 d4@28 ~@22, ~@17 [d3,f#3,a3]@7 ~@16]/5", // C# G D E C#m D
})).s("gm_string_ensemble_1").gain(0.16)

// chords · string ensemble 1 · "Nice soft strings" · soft notes
const string_ensemble_1_soft = note(`<
  ~@4 A@3 ~ B C D@2 ~@11 E@5 ~@3 F@3 ~ G@2 ~@7 H@6 ~@5 I@4 ~@11 J@5 ~@3 F@3 ~ G@2 ~@7 K@3 L@3 ~@5 M@8 N@8 O@4 ~@3 F@3 ~
  G@2 ~@7 P@3 ~@7 Q@3 ~
>`.pickRestart({
  A: "[~@6 [e5,e6]@13 ~@5]/3", B: "a3", C: "[a3,d4]@23 ~", D: "[~@24 f#4@23 ~, g4@9 ~@7]/2",
  E: "[~@23 f#4@45 a3@48 ~@4]/5", F: "[~@8 e4@9 ~@7, ~@22 c#4@29 ~@21, ~@23 a3@27 ~@22]/3", G: "[~@11 c#4@13]/2",
  H: "[~@22 a3@48 e6@69 ~@5]/6", I: "[a3@26 [a3,d4]@20 ~@27 f#4@22 ~, ~@46 g4@29 ~@21]/4",
  J: "[~@23 f#4@47 a3@48 ~@2]/5", K: "[~@11 a3@24 ~]/3", L: "[e6@23 ~]/3",
  M: "[[a3,e4]@26 [a3,d4]@20 ~@27 f#4@22 ~, ~@46 g4@29 ~@21]/4", // A5 D5
  N: "[[a3,e4]@26 [a3,d4]@20 ~@27 f#4@22 ~, ~@46 e4@29 ~@21]/4", O: "[f#4@11 a3@12 ~]/4", P: "[~@22 a3@48 e6 ~]/3",
  Q: "[~@2 a3@21 ~ [e3,a3,c#4,e4]@48, ~@2 [d4,f#4,a4]@25 ~@45]/3", // A D
})).s("gm_string_ensemble_1").gain(0.08)

// chords · acoustic guitar steel · "Lead Acoustic Gtr."
const acoustic_guitar_steel = note("<~@102 A@2 B@2 C D E F G@2 H@2 I J K@3 ~@33>".pickRestart({
  A: "[~@6 e5@3 e5@3 e5@3 e5@3 e5@3 e5@3 e5@3 d5@2 ~@13 d5@3 d5@3, d5@9 ~ d5@4 ~@2, ~@3 e5]/2",
  B: "[~@3 b4@3 b4@3 b4@3 b4@3 b4@3 b4@3 b4@3 ~@3 a4@3 ~@11 c#5@6 ~, a4@27 ~@3 a4@7 ~@11, ~@24 b4@11 b4@12 ~]/2",
  C: "~ c#6 [c#6,e6]!3 [b5,d6]!3, [b5,d6]@5 ~@3", // C#m Bm
  D: "~@3 [a5,c#6]@2 ~ [a5,c#6]@6 [a5,c#6]@6 [a5,c#6]@3 [a5,c#6]@3, d6@5 ~@19", // A
  E: "c#6@3 d6@3 [a5,d6]@3 [a5,d6]@3 [a5,d6]@3 g5@2 ~ [g5,b5]@3 [g5,b5]@3, a5 ~@3", // D5 G
  F: "~@3 [f#5,a5]@2 [f#5,a5]@6 ~ a5@6 a5@5 b5, b5@5 ~@7 f#5@12", // F#m
  G: "[[c#6,e6]@12 [c#6,e6]@9 [b5,c#6,e6]@6 [a5,d6]@2 ~ [a5,d6]@6 [a5,d6]@6 d6@3 [a5,d6]@3, ~@6 b5 ~@17]/2", // C#m C#m7 D5
  H: "[e3@6 e3@3 e3@3 ~@3 a3@3 a3@2 ~ a3@6 b3@3 a3@6 a3@6 a3@5 ~, ~@2 b3 ~@5]/2",
  I: "~@6 [c#5,e5]@3 [c#5,e5]@3 [c#5,e5]@3 [b4,d5]@2 ~ [b4,d5]@3 [b4,d5]@3, [b4,d5]@5 ~@3", // C#m Bm
  J: "~@3 [a4,c#5]@3 a4@5 [a4,d5]@6 [a4,d5]@3 [a4,d5]@4, b4, d5@11 ~@13, ~ c#5@3", // A D5
  K: "[e5@6 e5@3 ~@38 c6 c#6@24, ~@9 e5@6 e5@12 e5@18 b5@4 ~@23, ~@12 f#5@37 ~@23, ~@7 a5@3 a5@3 b5 a5@2 ~@8, ~@3 c#6 ~@2]/3",
})).s("gm_acoustic_guitar_steel").gain(0.48)

// chords · acoustic guitar steel · "Lead Acoustic Gtr." · soft notes
const acoustic_guitar_steel_2 = note("<~@102 A ~@3 B C D E ~ F ~@2 G ~ H@2 ~@34>".pickRestart({
  A: "~ e5 ~@6", B: "~ e6 ~@6", C: "b5@5 ~@19", D: "~@15 b5@2 ~@7", E: "g5@5 ~@19", F: "~@6 a5 ~", G: "~ [c#5,e5] ~@6",
  H: "[~@11 b5@2 ~@3, ~@3 g#5@5]/2",
})).s("gm_acoustic_guitar_steel").gain(0.32)

stack(
  acoustic_guitar_nylon, acoustic_guitar_nylon_2, bass, bass_soft, string_ensemble_1, string_ensemble_1_soft,
  acoustic_guitar_steel, acoustic_guitar_steel_2
)

More by Def Leppard