Strudelify

Some Become Strangers

Stevie Nicks

KeyB minorTempo117 bpm
0:00/0:00
// Some Become Strangers — Stevie Nicks
// 117 bpm, 4/4, key B minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 95 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(117/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 · fretless bass
const fretless_bass = note(`<
  ~ A B C D A E C F A G C F H E C F I J K@2 L M N O@3 P Q R@2 S T U@2 V@2 C F W X Y Z AA AB@3 AC AD AE@2 AF AG AH@2 AI@2
  AJ AK AL AM AN AO AP AQ AR@2 AS AT AU AV AW AX AY AZ BA BB BC BD@2 BE@2 BF BG BH BI@2 BJ C BK ~@5
>`.pickRestart({
  A: "[g3,b4,d5,f#5]@4 [b4,d5,f#5]@2 g3 ~ [a3,a4,c#5,e5]@4 [a4,c#5,e5]@2 a3 ~", // Gmaj7 Bm A
  B: "[c#5,e5] ~ a4 ~ [a4,e5] ~ [a4,d5,f#5]@3 ~ a4 ~@3 b3@2, f#3@7 ~@9, ~@2 c#5 b3@3 [a4,d5,f#5]@2", // C#m A5 D
  C: "g3@4 [b4,d5,f#5]@2 g3 ~ [a4,c#5,e5] ~@3 [a4,c#5,e5]@2 a3 ~, f#5 ~@7 a3@4 ~@4", // Bm A
  D: "[c#5,e5] ~ a4 ~ [c#5,e5] ~ [f#4,b4,d5]@2 b3@2 [f#4,b4,d5]@2 b3@2 [f#4,b4,d5] ~, f#3@7 ~@9", // C#m Bm
  E: "[c#5,e5] ~ a4 ~ [a4,c#5,e5] ~ [a4,d5,f#5]@3 ~ a4 ~@3 b3@2, f#3@3 b3@3 [a4,d5,f#5]@2", // C#m A D
  F: "[c#5,e5] ~ a4 ~ [c#5,e5] ~ [f#4,b4,d5]@2 b3@2 [f#4,b4,d5]@2 b3@2 [f#4,d5] ~, f#3@7 ~@7 b4@2", // C#m Bm D
  G: "[c#5,e5] ~ a4 ~ [a4,e5] ~ [a4,d5,f#5]@3 ~ a4 ~@3 b3@2, f#3@3 b3@3 ~@2, ~@2 c#5 ~@3 [a4,d5,f#5]@2", // C#m A5 D
  H: "[b4,d5,f#5]@3 ~ [b4,d5,f#5]@2 g3 ~ [a3,a4,c#5,e5]@4 [a4,c#5,e5]@2 a3 ~, g3 ~@3", // Bm A
  I: "[g4,b4,d5]@3 ~@3 g3@2 [a4,c#5,d5,e5] ~@3 [a4,c#5,e5]@2 a3 ~, g3 [g4,b4,d5] a3 ~", // G A G
  J: "[c#5,e5]@2 a4@2 [c#5,e5] ~ [a4,d5,f#5]@2 b3@2 [a4,d5,f#5]@2 b3@2 [a4,d5,f#5] ~, f#3@7 ~@9, a4 ~@15", // C#m D
  K: "[[b4,d5,f#5] ~ b4 ~ [b4,f#5]@4 [a4,e5] ~ a4 ~ [a4,c#5,e5] ~ [f#3,c#5,e5]@4 a4 ~ [f#4,b4,d5]@4 f#4 ~ f#4@2 b3@2 f#4 ~, g3@8 a3@4 ~@8 b3@7 ~@5, ~@4 d5@2 ~@2 c#5@2 ~@4 a4@3 ~@9 [b4,d5]@5 ~]/2", // Bm B5 A5 A F#7 Bm
  L: "[a4,b4,d5]@2 ~@2 [g4,b4,d5]@4 ~@2 [g4,b4,d5] ~ [g4,b4,d5]@2 g3@2, g3@6 ~@2 g3@5 ~@3", // Bm7 G
  M: "[g4,b4,d5]@2 ~@2 b4 ~ [b4,d5,f#5]@2 b3@2 [b4,d5,f#5]@2 b3@2 [b4,d5,f#5]@2, ~@2 b3@5 ~@9", // G Bm
  N: "g3@2 [g4,b4,d5]@2 g3@2 [g4,b4,d5]@2 g3@2 [g4,d5] ~ g3@2 [g4,b4,d5]@2, ~@5 b4 ~@2", // G G5 G
  O: "[~@2 a4@2 ~@3 [a4,e5]@3 a4@2 [c#5,e5]@2 a4@4 e5@4 ~@2 b4@2 ~@4 [b4,e5]@5 ~ [d5,f#5]@2 b4 ~ [b4,d5,e5] ~ [b4,d5,f#5]@2 b3@2 [b4,d5,f#5] ~, a3@13 ~ a3@2 ~@2 e3@22 ~@8, ~@4 c#5@7 ~@11 g4@4 e4@9 ~ b3@4 b3@2 ~@6, ~@24 e5@4 g4@5 ~@3 b4 ~@11]/3", // A5 C#m E5 D E7 Bm
  P: "[g4,b4,d5] ~ g4@2 g3@2 g4 ~ b3@2 [b4,d5,f#5]@2 b3@2 [b4,d5,f#5]@2, g3@2 [b4,d5]@5 ~@9", // G Bm
  Q: "a3@2 [a4,c#5,e5]@2 a3@2 [a4,c#5]@2 [a4,d5,f#5]@2 a4 ~@3 d3@2, ~@6 e5 ~ d3@4 [a4,d5,f#5]@4", // A D
  R: "[e5@2 g4@2 b4@2 ~ e4@5 e5@2 [e4,b4,g5]@4 b4 ~ [d5,f#5]@2 b4 ~ [b4,d5,e5] ~ [b4,d5,f#5]@2 b3@2 [b4,d5,f#5] ~, e3@21 ~@11, d#5 ~@5 [g4,e5]@3 ~@9 b3@9 ~@5]/2", // Em D E7 Bm C
  S: "[g4,b4,d5] ~@3 [g4,b4,d5]@2 g3@2 [b4,d5,f#5] ~@3 b3@4, g3@4 ~@4 b3@2 [b4,d5,f#5]@5 ~", // G Bm
  T: "[a4,c#5,e5] ~ a4 ~ [a4,c#5,e5] ~ [b4,f#5]@2 b3@2 b4@2 b3@2 b4 ~, a3@5 ~ d#5 ~@3 [d5,f#5]@5 ~", // A B5 D
  U: "[g5@2 b4@2 e5@2 b5@4 b4 ~@3 e4@2 ~@2 b4@2 [d5,f#5]@2 b4@2 [b4,d5,e5] ~ [b4,d5,f#5]@2 b3@2 [b4,d5,f#5] ~, [e3,e4]@13 ~ e3@7 ~@11, ~@6 b4@3 ~@3 [b4,e5,g5]@5 ~@3 b4 ~@11, ~@6 c6 ~@9 b3@5 ~@3 b3@2 ~@6]/2", // D E7 Bm E Em
  V: "[[b4,d5,f#5] ~ b4 ~ [b4,d5,f#5] ~ [a4,c#5,e5]@2 a3@2 [a4,c#5,e5]@2 f#3@2 ~@2 f#3@2 ~@2 [b3,f#4,b4,d5]@6 ~@2 [b4,d5]@4, g3@6 ~@8 [a4,c#5,e5]@4 ~@8 f#4@5 ~]/2", // Bm A Bm A
  W: "[b4,d5,f#5]@3 ~@3 g3@2 [a3,a4,c#5,e5]@4 ~@2 a3 ~, g3 [b4,d5,f#5] ~ [a4,c#5,e5]", // Bm A Bm A
  X: "b4 f#5 ~@2 [b4,d5,f#5]@2 f#3 ~ [b4,d5,f#5]@3 ~@3 b3@2, f#3 ~ b3 ~, d5 ~@5 [b4,d5,f#5]@2", // Bm
  Y: "g3@4 ~@2 g3 ~ g3@2 [g4,b4,d5]@2 g3@2 [g4,b4,d5]@2, ~@4 [g4,b4,d5]@5 ~@7", // G
  Z: "b3@2 b4 ~ [b4,d5,f#5] ~ b4 ~ [b4,d5,e5] ~ [b4,d5,f#5]@2 ~@2 [b4,d5,f#5]@2, ~@2 b3 ~@5", // Bm E7 Bm
  AA: "g3@3 ~ [d5,g5,b5] ~ [d5,g5,b5] ~ [d5,a5] ~ [d5,g5,b5]@2 g3@2 [d5,g5,b5]@2, ~@2 g3 ~ g3 ~@3", // G D5 G
  AB: "[a3@2 c#5 ~ [c#5,e5,a5] ~ [c#5,e5,a5]@2 d4@2 [d5,f#5,a5]@2 d4@2 [d5,f#5]@2 ~@4 e4@2 e5 ~@3 b4 ~ e5@2 ~@4 b4 ~ [d5,f#5]@2 b4 ~ [b4,d5,e5]@2 b3@2 [b4,d5,e5]@2 [b4,f#5]@2, ~@4 a3@2 ~@8 a5@5 b4@2 ~ [b4,g5]@4 ~@2 [b4,g5]@7 ~@13, ~@16 e3@13 ~ e3@11 ~@7, ~@24 e4@5 ~ e4@6 b3@5 ~@7]/3", // A D E7 B5 Em
  AC: "g3@2 [g4,b4,d5]@2 g3@2 [g4,b4]@2 b3@2 [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~, ~@6 d5 ~@5 b3@2 ~@2", // G Bm
  AD: "[a4,c#5,e5] ~ [a4,c#5,e5]@2 a3@2 [a4,c#5,e5]@2 [d3,d4]@2 a4 ~ [d3,d4,a4,d5]@2 [a4,d5,f#5]@2, a3@2 ~@10 f#5 ~@3", // A D D5 D
  AE: "[f#3 ~ b4@2 e5@2 ~@4 b4 ~@5 b4@2 ~@2 b4@2 [d5,f#5]@2 b3@2 [b4,d5,e5]@2 b3@2 [b4,f#5]@2, e3@23 ~@9, e4@3 [b4,g5]@2 ~ g5@4 ~@6, ~@2 e4 [b4,e5] ~@4, ~@14 e4@4 b3@5 ~@9]/2", // D E7 B5 Em E5
  AF: "g3@2 g4 ~ [g4,b4,d5] ~ [g4,d5] ~ b3@2 [b4,d5,f#5]@2 b3@2 [b4,d5,f#5]@2, ~@3 b4 ~@4", // G G5 Bm
  AG: "a3@2 [a4,c#5,e5]@2 a3@2 [a4,c#5,e5]@2 b3@2 [b4,d5,f#5]@2 b3@2 [b4,d5,f#5] ~", // A Bm
  AH: "[g5@2 b4@2 e5@2 b4@2 e4@2 b4@2 e5@2 ~@4 b4 ~ [b4,d5,f#5]@2 b3@2 [b4,d5,e5] ~ [b4,d5,f#5]@2 b3@2 [b4,d5,f#5] ~, e3@17 ~@15, e4@6 g5@6 e4@4 b3@5 ~@11, ~@7 [b4,g5]@2 ~@7]/2", // Bm E7 Bm Em
  AI: "[[d5,f#5]@2 b4 ~ [b4,d5,f#5] ~ [a4,c#5,e5]@2 a3@2 [a4,c#5,e5]@2 a3@2 ~@2 f#3@2 a4 ~ [f#4,b4]@4 b3@2 f#4@2 [b3,b4]@2 f#4@2, g3@7 ~@13 b3@2 ~@10, b4 ~@13 [a4,c#5,e5]@4 ~@2 d5@7 ~@5]/2", // D Bm A B5 B A
  AJ: "~@2 g4 ~ [b4,d5]@2 g4 ~ [a4,c5,e5] ~@3 [a3,a4,c#5,e5]@3 ~, g3@7 ~ a3@3 ~@5, ~@4 g4 ~@11", // Bm Am A
  AK: "[f#3,a4,c#5,e5] ~ [a4,c#5,e5]@2 f#3 ~ [f#4,b4,d5]@2 b3@2 [f#4,b4,d5] ~ [f#4,b4,d5] ~ [f#4,b4,d5]@2, ~@6 b3 ~", // F#m7 A Bm
  AL: "~@2 g4 ~ [g4,a4,d5]@4 [d2,d3]@2 [g4,a4,d5]@2 [d2,d3]@2 g4@2, [d3,d4]@5 ~@11", // Gsus2 D Gsus2 D
  AM: "[d2,d3] [g4,a4,d5] [d2,d3] [g4,a4,d5] [d2,d3] [g4,a4,d5] [d2,d3] [g4,a4,d5], [a4,d5] ~@15", // D Gsus2 D Gsus2 D Gsus2 D Gsus2 …
  AN: "[e2,e3]@2 g4 ~ [e2,g4,b4,e5] ~ [g4,b4,e5]@2 [e2,e3]@2 g4 ~ [g4,b4,e5] ~ [g4,b4,e5]@2, ~@2 e3 ~@3 [e2,e3] ~", // E Em E Em E
  AO: "~@2 g4 ~@3 [c2,c3] ~ [c2,c3]@2 [g4,c5,e5]@2 [c2,c3]@2 [g4,c5,e5]@2, [c2,c3]@4 [g4,c5,e5]@5 ~@7", // C
  AP: "[d2,d3]@2 [g4,a4,d5]!2 [d2,d3]@2 ~@2 e2 ~ g4 ~ [g4,a4,d5] ~ [g4,a4,d5]@2, [c2,d#2] ~@5 [g4,a4,d5]@4 ~@6, ~@4 [d2,d3]@3 ~", // D Gsus2 D Gsus2 Cm Gsus2 D
  AQ: "~@2 g4 ~ [g4,a4,d5] ~ [g4,a4,d5]@2 [d2,d3]@2 [g4,a4] ~ [d#2,g4,a4,d5] ~ [g4,a4,d5] ~, [d2,d3]@7 ~@3 d5@2 [d2,d3]@2 ~@2", // Gsus2 D Gsus2 D#maj7 Gsus2 D
  AR: "[[d3,b4,e5,g5] ~ b4 ~ [b4,e5,g5]@2 [e2,e3,b4] ~ [a4,d5,f#5] ~ a4 ~ [a4,d5,f#5] ~ g4@2 [d2,d#2,d3] ~ g4 ~ e5@2 [c2,c3] ~ [a4,d5,f#5] ~ a4 ~@3 [c2,c#2] ~, [e2,e3]@5 ~@3 [e2,e3]@2 ~@2 [e2,e3]@2 [c5,e5]@5 ~ [g4,c5]@4 ~@4 [a4,d5,f#5]@4, ~@16 [c2,c3]@5 ~@3 [c2,c3]@5 ~ c3@2]/2", // Em7 Em E5 D D#maj7 C D C#maj7 …
  AS: "c5@2 g4 ~ g4@2 [c2,c3]@2 ~@2 [f#4,a4,d5] ~@3 [c2,c3]@2, [c2,c3]@5 ~@3 [c2,c3]@5 ~@3, e5 ~@3 [c5,e5]@5 ~@3 [f#4,a4,d5]@4", // C D C D
  AT: "~ [g3,b4,d5]@4 ~ g3 ~ [a4,c#5,e5] ~@3 [a4,c#5,e5]@2 a3 ~, ~ f#5 ~@3 [b4,d5,f#5]@3 a3@4 ~@4", // G A Bm
  AU: "[f#3,a4,c#5,e5] ~ a4 ~ [f#3,a4,c#5,e5] ~ [b4,d5]@2 b3@2 [b4,d5,f#5]@2 b3@2 [b4,d5,f#5] ~, ~@6 f#5 ~@9", // F#m7 Bm
  AV: "g3@2 g4@2 [g4,b4,d5] ~ g4 ~ a3@2 [a4,c#5,e5] ~ a3@2 [a4,c#5,e5]@2, ~@2 g3 ~@5", // G A
  AW: "b3@2 a4 ~ [b3,b4,d5] ~ d5@2 [b4,d5,e5] ~ [b4,f#5]@2 b3@2 [b4,f#5]@2, ~@6 b4 ~ b3@2 ~@6", // Bm E7 B5
  AX: "g3@2 ~@2 [d5,g5,b5] ~ d5 ~ [c#5,e5,a5]@2 ~@2 [c#5,e5,a5]@2 a3 ~, ~@2 g3 ~ a3@2 ~@2, ~@8 g#5 ~@3 a#5 ~@3", // G A
  AY: "[c#5,f#5,a5] ~ c#5 ~ [f#3,a5]@2 [b4,d5,f#5]@2 b3@2 [d5,f#5]@2 b3@2 [d5,f#5] ~, f#3@2 ~@2 [c#5,f#5] ~@9 b4@2", // F#m Bm D F#5
  AZ: "g3@2 [g4,b4,d5]@2 g3@2 [g4,b4,d5] ~ [a3,a4,c#5,e5]@3 ~ [a3,a4,c#5,e5]@3 ~", // G A
  BA: "[a4,c#5,e5] ~ a4 ~ [a4,c#5,e5] ~ [f#4,b4,d5]@3 ~ [f#4,b4,d5]@2 b3@2 [b4,d5]@2, f#3@5 ~ b3@4 ~@4 f#4 ~", // A Bm
  BB: "g3@2 b4 ~ [b4,d5,f#5] ~ b4 ~ a3@2 ~@2 a3@3 ~, ~@2 g3 ~ [a4,c#5,e5]@4, ~@12 b3 ~@3", // Bm A
  BC: "[f#3,a4,e5] f3 a4 f#3 [a4,c#5,e5] ~ [f#4,b4,d5]@2 b3@2 [f#4,b4,d5]@2 b3@2 [b4,d5]@2, c#5@2 ~@12 f#4 ~", // F#m7 A Bm
  BD: "[g3@2 d5 ~ [d5,g5,b5] ~ [d5,b5] ~ a3@2 [c#5,e5,a5]@2 a3@2 ~@2 f#3@2 c#5 ~ [c#5,f#5,a5] ~ [c#5,f#5,a5] ~ b3@2 [b4,d5,f#5]@2 b3@2 [b4,d5,f#5] ~, ~@2 g3@2 ~@3 [c#5,e5,a5]@2 ~ f#3 ~@5]/2", // G A F#m Bm A
  BE: "[[g3,d5,f#5]@2 b4 ~ [g3,b4,d5,f#5] ~@3 a3@2 ~@2 a3@2 a4@2 f#3@2 a4 ~ b3@2 ~@2 b3@2 f#4@2 b3@2 [b4,d5]@2, b4 ~@5 [a4,c#5,e5]@7 ~ [c#5,e5]@4 ~@2 [f#4,b4,d5]@6 ~@4 f#4 ~]/2", // Gmaj7 Bm A C#m Bm
  BF: "g3@2 [g4,b4,d5]@2 g3@2 b4@2 [a3,a4,c#5,e5]@3 ~ [a3,a4,c#5,e5]@3 ~, ~@6 d5 ~@9", // G A
  BG: "[f#3,a4,c#5,e5] ~ [f#3,a4,c#5,e5] ~ [f#3,a4,c#5,e5] ~ [b3,b4,d5,f#5]@10", // F#m7 Bm
  BH: "~@2 b4 ~ [b4,d5,f#5]@2 g3 ~ [a4,c#5,e5]@2 ~@4 a3 ~, g3 ~ a3 [a4,c#5,e5]", // Bm A
  BI: "[f#3@2 [a4,c#5,e5]@2 f#3@2 [a4,c#5,e5] ~@3 f#4@2 b4@2 d5@2 [g3,b4,d5,f#5]@4 [b4,d5,f#5]@2 g3 ~ [a3,a4,c#5,e5]@4 [a4,c#5,e5]@2 a3 ~, ~@4 b3@3 f#4@2 ~@7, ~@14 d#5 ~@17]/2", // A Gmaj7 Bm A
  BJ: "[c#5,e5] ~ a4 ~ [a4,e5] ~ [a4,d5,f#5]@3 ~ a4 ~@3 b3@2, ~@2 c#5 b3@3 [a4,d5,f#5]@2", // C#m A5 D
  BK: "c#5 ~ a4 ~@3 d5@3 ~ [b4,d5]@2 b3@2 [f#4,d5] ~, ~@7 b4", // Bm D
})).s("gm_fretless_bass").gain(0.41)

// chords · fretless bass · soft notes
const fretless_bass_soft = note(`<
  ~@2 A B ~@2 A B ~@2 A B ~@2 A B ~@13 C D ~@6 B ~ E ~@2 F ~@3 G ~@7 H ~@2 I ~@4 J ~ K ~@4 L ~@2 M C ~@8 N ~@4 O B P Q R
  S T@2
>`.pickRestart({
  A: "a4 ~@15", B: "d5 b4 ~@14", C: "~@5 b4 ~@2", D: "~@4 b4 ~@11", E: "~@9 d5 ~@6", F: "~@8 b3@2 ~@2 b3@3 ~",
  G: "~@14 b3 ~", H: "~@2 d5 f#5 ~@8 a#3 ~@3", I: "~@10 e5 ~@5", J: "~@6 d#2 ~@9", K: "d#2 ~@15", L: "~@4 f3 ~@11",
  M: "~@6 [g5,b5] ~@9", N: "~@6 g4 ~@9", O: "f#3@7 ~@9, a4 ~@15",
  P: "e5 ~@3 [c#5,e5] ~ [f#4,b4]@2 b3@2 f#4@3 ~@3, f#3@7 ~@9", // C#m B5
  Q: "[b4,d5,f#5]@3 ~ [b4,d5,f#5]@2 g3 ~ [a3,a4,c#5,e5]@4 [a4,c#5,e5]@2 a3 ~, g3 ~@3", // Bm A
  R: "[a4,c#5,e5] ~ a4 ~ [a4,c#5,e5] ~ [a4,d5,f#5]@3 ~ a4 ~@3 b3@2, f#3@3 b3@3 [a4,d5,f#5]@2", // A D
  S: "[d5,f#5] b4 ~@2 [b4,d5,f#5]@2 g3 ~ [a4,c#5,e5] ~@3 [a4,c#5,e5]@2 a3 ~, g3 ~ a3 ~", // D Bm A
  T: "[[c#5,e5] ~ a4 ~ [c#5,e5] ~ [f#4,b4,d5]@2 b3@2 [f#4,b4,d5]@2 ~@2 [f#4,b4,d5] ~@17, f#3@7 ~@5 b3@8 ~@12]/2", // C#m Bm
})).s("gm_fretless_bass").gain(0.15)

// other · trombone
const trombone = note(`<
  ~ A B A B A B A B A B A B A B A B C B C D E F E G H I J K L I J M N I A O A B P B E I E K Q I R S T I J M T I U V C O
  W X T Y Z AA AB Y AC AD AE AD AE AD AE AF AE AD AG AD AE AD AE AD AE AD AH A B A B ~@5
>`.pickRestart({
  A: "g2 ~ g2 ~ g2 a2 ~ a2", B: "f#2 ~ f#2 f#2@2 b2!3", C: "g2@2 ~@2 g2@2 ~@2 a2@2 a2 ~@3 a2@2",
  D: "a2 ~ f#2 f#2@2 b2!3", E: "g2@2 ~@2 g2@2 ~@2 g2@2 g2 ~@3 g2@2", F: "g2 ~ b2 b2@2 b2!3", G: "a2 ~ a2 a2@2 a2!3",
  H: "b2@2 ~@2 b2@2 ~@2 b2@2 b2 ~@3 b2@2", I: "b2 ~ b2 b2@2 b2!3", J: "g2@2 ~@2 g2@2 ~@2 b2@2 b2 ~@3 b2@2",
  K: "a2 ~ a2 a2@2 d3!3", L: "e3@2 ~@2 e3@2 ~@2 e3@2 e3 ~@3 e3@2", M: "a2 ~ a2 a2@2 b2!3",
  N: "b2@2 ~@2 f#2@2 ~@2 e2@2 e2 ~@3 e2@2", O: "f#2 ~ f#2 b2@2 b2!3", P: "f2 ~ f2 ~ f2 a2 ~ a2",
  Q: "d3@2 ~@2 e2@2 ~@2 e2@2 e2 ~@3 e2@2", R: "b2@2 ~@2 g2@2 ~@2 b2@2 b2 ~@3 b2@2", S: "a2 ~ a2 a2@2 d2!3",
  T: "e2@2 ~@2 e2@2 ~@2 e2@2 e2 ~@3 e2@2", U: "g2@2 ~@2 g2@2 ~@2 a2@2 a2 ~@3 f#2@2", V: "f#2 ~ b2 b2@2 b2!3",
  W: "d2@2 ~@2 d2@2 ~@2 d3@2 d3 ~@3 d3@2", X: "d3 ~ d3 d3@2 d3!3", Y: "c2 ~ c2 c2@2 c2!3",
  Z: "d2@2 ~@2 d2@2 ~@2 d2@2 d2 ~@3 d2@2", AA: "d3 ~ d3 d3@2 d2!3", AB: "e2@2 ~@2 e2@2 ~@2 e3@2 e3 ~@3 e3@2",
  AC: "c2@2 ~@2 c2@2 ~@2 c2@2 c2 ~@3 c2@2", AD: "g2 ~ g2 g2@2 a2!3", AE: "f#2@2 ~@2 f#2@2 ~@2 b2@2 b2 ~@3 b2@2",
  AF: "b2 ~ g2 g2@2 a2!3", AG: "a2@2 ~@2 f#2@2 ~@2 b2@2 b2 ~@3 b2@2", AH: "~@4 a2 ~ g2 ~ a2 ~ a2 ~ a2@2 a2 ~",
})).s("gm_trombone").gain(0.46)

// drums · kick
const kick = s("bd").struct("<~ [x!2]!84 [x ~@4 x ~ x] [x!2]!4 ~@5>").gain(0.51)

// drums · kick · soft notes
const kick_soft = s("bd").struct("<~@90 [x!2]!4 [x ~@2 x ~@4]>").gain(0.1)

// drums · snare
const snare = s("sd").struct("<[~@9 x!2 ~ x ~ x!2] [~ x ~ x]!81 [~@3 x] [~ x ~ x]!2 [x ~@2 x] [~ x ~ x]!8 [~@3 x ~@4]>")
  .gain(0.41)

// drums · hihat
const hihat = s("hh").struct("<~ [~ x ~ x ~ x ~ x]!84 [~@2 x ~ x!2 ~@2] [~ x ~ x ~ x ~ x]!8 ~>").gain(0.15)

// drums · low tom
const low_tom = s("lt").struct("<~@68 x ~@25 [~ x ~@2]>").gain(0.51)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@2 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A
  ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A B ~ A ~ A ~ A ~ A ~
>`.pickRestart({
  A: "~@2 x!2", B: "x ~@2 x",
})).gain(0.31)

// drums · mid tom
const mid_tom = s("mt").struct("<~@86 x ~@7 [~ x ~@6]>").gain(0.41)

// drums · crash
const crash = s("cr").struct("<~@94 [~@3 x ~@4]>").gain(0.1)

// drums · high tom
const high_tom = s("ht").struct("<~@94 x>").gain(0.1)

// drums · agogo bells
const agogo_bells = s("agogo:2").struct("<~@68 x ~@26>").gain(3.27)

stack(
  fretless_bass, fretless_bass_soft, trombone, kick, kick_soft, snare, hihat, low_tom, open_hat, mid_tom, crash,
  high_tom, agogo_bells
)

More by Stevie Nicks