Strudelify

Guitar Tango

The Shadows

KeyD majorTempo131 bpm
0:00/0:00
// Guitar Tango — The Shadows
// 131 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 6 "MT TRUMPET" muted trumpet (copy of ch 5 "TRUMPET" trumpet)
// note: Full arrangement: all 96 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(131/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 · acoustic bass · "ACOU BASS"
const bass = note(`<
  A@3 B C@3 D@2 E F G C@3 D@2 E F H I J K I@2 J K I L M N O P Q R S L M N O P Q S T C@3 D@2 E F H I J K I@2 J K I L M N
  O P Q R S L M N O P Q S T C@3 D@2 E F G C@3 D@2 E F H A@3 U
>`.pickRestart({
  A: "f#2 ~ f#2 ~ f#2 ~ f#2 ~ f#2 ~ f#2 ~ g2 ~ g2 ~ g2 ~ a2 ~ a2 ~ a2 ~",
  B: "f#2 ~ f#2 ~ f#2 ~ f#2 ~ f#2 ~ f#2 ~ f#2 ~@8 d2!2 ~", C: "d2@6 d3 ~@2 d2 ~@2 d2@6 d3 ~@2 d2!2 ~",
  D: "a1@6 a2 ~@2 a1 ~@2 a1@6 a2 ~@2 a1!2 ~", E: "g2@6 ~@3 g2 ~@2 g2@6 ~@3 g2!2 ~",
  F: "g2 ~@2 g2!2 ~ g2 ~@2 g2!2 ~ g2 ~@2 g2!2 ~ g2 ~@2 g2!2 ~", G: "f#2!2 ~ f#2!2 ~ f#2!2 ~ f#2!2 ~ f#2 ~@8 d2!2 ~",
  H: "f#2!2 ~ f#2!2 ~ f#2!2 ~ f#2!2 ~ f#2 ~@11", I: "f#1@5 ~ c#2@5 ~ a#1@5 ~ f#1@5 ~", J: "b1@5 ~ d2@5 ~ b1@5 ~ d2@5 ~",
  K: "a1@5 ~ a1@5 ~ g1@5 ~ g1@5 ~", L: "b1 ~@5 b1 ~ b1 ~ b1 ~ b1 ~@5 b1 ~ b1 ~ b1 ~",
  M: "b1 ~@5 b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~", N: "a1 ~@5 a1 ~ a1 ~ a1 ~ a1 ~@5 a1 ~ a1 ~ a1 ~",
  O: "a1 ~@5 a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~", P: "g1 ~@5 g1 ~ g1 ~ g1 ~ g1 ~@5 g1 ~ g1 ~ g1 ~",
  Q: "g1 ~@5 g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~ g1 ~", R: "f#1 ~@5 f#1 ~ f#1 ~ f#1 ~ f#1 ~@5 f#1 ~ f#1 ~ f#1 ~",
  S: "f#1 ~@5 f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~", T: "f#1 ~@20 d2!2 ~",
  U: "f#2 ~ f#2 ~ f#2 ~ f#2 ~ f#2 ~ f#2 ~ f#2 ~@11",
})).s("gm_acoustic_bass").gain(0.28)

// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
  A@3 B C D C E F G H I C D C E F G H J K L M K@2 L M K N O P Q R S T U V W P X R S U Y C D C E F G H J K L M K@2 L M K
  N O P Q R S T U V W P X R Z AA AB C D C E F G H I C D C E F G H J A@3 AC
>`.pickRestart({
  A: "[c#3,f#3,f#4]@2 [c#3,f#3,a#3,c#4]@2 [c#3,f#3,a#3,c#4,f#4]@2 [c#3,f#3,a#3,c#4]@2 [c#3,f#3,a#3,c#4]@2 [c#3,f#3,a#3,c#4,f#4] ~ [d3,g3,d4]@2 [d3,g3,b3,d4]@2 [d3,g3,b3,d4,g4]@2 [e3,a3,c#4,e4]@2 [e3,a3,c#4,e4]@2 [e3,a3,c#4,e4,a4] ~, f#2@6 f#2@6 g2@6 a2@5 ~, [a#3,c#4] ~@5 f#4 ~@5 [b3,g4] ~@5 a4 ~@5", // F#5 F# G5 G A A#m Em
  B: "[c#3,f#3,f#4]@2 [c#3,f#3,a#3,c#4]@2 [c#3,f#3,a#3,c#4,f#4]@2 [c#3,f#3,a#3,c#4]@2 [c#3,f#3,a#3,c#4]@2 [c#3,f#3,a#3,c#4,f#4] ~ [f#2,c#3,f#3,a#3,c#4,f#4]@2 ~@7 [d3,a3,d4,f#4] [d3,a3,d4] [a3,d4,f#4], f#2!2 ~@2, [a#3,c#4] ~@5 f#4 ~@17", // F#5 F# D D5 D A#m
  C: "[a2,d3,a3,d4,f#4]@2 ~@4 [a2,d3,a3,d4,f#4]@2 ~ [d3,a3] ~@2 [a2,d3,a3,d4,f#4]@2 ~ [d3,a3,d4] ~@2 [a2,d3,a3,d4,f#4]@2 ~ [d3,a3,d4,f#4] [d3,a3,d4] [a3,d4,f#4]", // D D5 D D5 D D5 D
  D: "[a2,d3,a3,d4,f#4]@2 ~@4 [a3,d4,f#4] [a3,d4] d3 [d3,a3,d4,f#4] [a3,d4,f#4] d3 [a2,d3,a3,d4,f#4]@2 ~ [d3,a3,d4] ~@2 [a2,d3,a3,d4,f#4] ~@2 [d3,a3,d4,f#4] [d3,a3,d4] [a3,d4,f#4], ~@6 a2@5 ~@13, ~@3 d3 ~@8", // D D5 D D5 D D5 D
  E: "[a2,e3,a3,c#4,e4]@2 ~@4 [a3,c#4,e4] [a3,c#4] e3 [e3,a3,c#4,e4] [a3,c#4,e4] e3 [a2,e3,a3,c#4,e4] ~@2 [e3,a3,c#4] ~@2 [a2,e3,a3,c#4,e4] ~@2 [e3,a3,c#4,e4] [e3,a3,c#4] [a3,c#4,e4], ~@6 a2@5 ~@13, ~@3 e3 ~@8", // A
  F: "[a2,e3,a3,c#4,e4]@2 ~@4 [a2,e3,a3,c#4,e4]@2 ~ [e3,a3] ~@2 [a2,e3,a3,c#4,e4]@2 ~ [e3,a3,c#4] ~@2 [a2,e3,a3,c#4,e4]@2 ~ [e3,a3,c#4,e4] [e3,a3,c#4] [a3,c#4,e4]", // A A5 A
  G: "[g2,d3,g3,b3,d4,g4]@2 ~@4 [b3,d4]!2 [d3,g3] [d3,g3,b3,d4,g4] [b3,d4,g4] [d3,g3] [g2,d3,g3,b3,d4,g4]@2 ~ [d3,g3,b3,d4] ~@2 [g2,d3,g3,b3,d4,g4]@2 ~ [d3,g3,b3,d4,g4] [d3,g3,b3,d4] [b3,d4,g4], ~@6 g2@5 ~@13, ~@2 [d3,g3,g4] ~@5", // G Bm G5 G G5 G G5
  H: "[g2,d3,g3,b3,d4,g4]@2 ~ [d3,g3,b3,d4,g4] [b3,d4,g4] [d3,g3] [g2,d3,g3,b3,d4]@3 [d3,g3,b3,d4,g4] [d3,g3,b3,d4] [b3,d4,g4] [g2,d3,g3,b3,d4,g4]@2 ~ [d3,g3,b3,d4,g4] [b3,d4,g4] [d3,g3] [g2,d3,g3,b3,d4,g4]@2 ~ [d3,g3,b3,d4,g4] [d3,g3,b3,d4] [b3,d4,g4], ~@6 g4 ~@17", // G G5 G G5 G
  I: "[f#2,c#3,f#3,a#3,c#4,f#4] [a#3,c#4] [c#3,f#3] [c#3,f#3,a#3,c#4,f#4] [a#3,c#4,f#4] [c#3,f#3] [f#2,c#3,f#3,a#3,c#4,f#4] [a#3,c#4] [c#3,f#3] [c#3,f#3,a#3,c#4,f#4] [a#3,c#4,f#4] [c#3,f#3] [f#2,c#3,f#3,a#3,c#4,f#4]@2 ~@7 [d3,a3,d4,f#4] [d3,a3,d4] [a3,d4,f#4]", // F# A#m F#5 F# F#5 F# A#m F#5 …
  J: "[f#2,c#3,f#3,a#3,c#4,f#4] [a#3,c#4] [c#3,f#3] [c#3,f#3,a#3,c#4,f#4] [a#3,c#4,f#4] [c#3,f#3] [f#2,c#3,f#3,a#3,c#4,f#4] [a#3,c#4] [c#3,f#3] [c#3,f#3,a#3,c#4,f#4] [a#3,c#4,f#4] [c#3,f#3] [f#2,c#3,f#3,a#3,c#4,f#4]@2 ~@10", // F# A#m F#5 F# F#5 F# A#m F#5 …
  K: "[c#3,f#3,a#3,c#4,f#4]@4 [c#3,f#3,a#3,c#4]@2 [c#3,f#3,a#3,c#4]@2 [c#3,f#3,a#3,c#4,f#4]@2 [c#3,f#3,a#3,c#4,f#4]@2 [c#3,f#3,a#3,c#4]@2 [c#3,f#3,a#3,c#4,f#4]@4 [c#3,f#3,a#3,c#4]@2 [c#3,f#3,a#3,c#4]@2 [c#3,f#3,a#3,c#4,f#4] ~, f#2@6 f#2@6 f#2@6 [f#2,f#4]@5 ~, ~@4 f#4@4 ~@4 f#4 ~@11", // F#
  L: "[b2,f#3,b3,d4,f#4]@4 [b2,f#3,b3,d4]@2 [b2,f#3,b3,d4]@2 [b2,f#3,b3,d4,f#4]@2 [b2,f#3,b3,d4,f#4]@2 [b2,f#3,b3,d4]@2 [b2,f#3,b3,d4,f#4]@4 [b2,f#3,b3,d4]@2 [b2,f#3,b3,d4]@2 [b2,f#3,b3,d4,f#4] ~, f#2@6 f#2@6 f#2@6 [f#2,f#4]@5 ~, ~@4 f#4@4 ~@4 f#4 ~@11", // Bm F#
  M: "[e3,a3,c#4,e4,a4]@2 [e3,a3,c#4,e4]!2 [e3,a3,c#4,e4,a4]!2 [d3,g3,b3,d4,g4]@2 [d3,g3,b3,d4]!2 [d3,g3,b3,d4,g4]!2, a2!2 g2!2, ~ a4 ~@2 g4 ~", // A G
  N: "[b2,f#3,b3,d4,f#4,b4]@2 ~@4 [b2,f#3,b3,d4,f#4,b4] ~ [f#3,b3,d4,f#4] ~ [f#3,b3,d4,f#4,b4] ~ [b2,f#3,b3,d4,f#4,b4]@2 ~@4 [b2,f#3,b3,d4,f#4,b4] ~ [f#3,b3,d4,f#4] ~ [f#3,b3,d4,f#4,b4] ~", // Bm
  O: "[b2,f#3,b3,d4,f#4,b4]@2 ~@4 [b2,f#3,b3,d4,f#4,b4] ~ [f#3,b3,d4,f#4] ~ [f#3,b3,d4,f#4,b4] ~ [b2,f#3,b3,d4,f#4,b4]@2 [f#3,b3,d4,f#4]@2 [f#3,b3,d4,f#4,b4]@2 [b2,f#3,b3,d4,f#4,b4] ~ [f#3,b3,d4,f#4] ~ [f#3,b3,d4,f#4,b4] ~", // Bm
  P: "[a2,e3,a3,c#4,e4,a4]@2 ~@4 [a2,e3,a3,c#4,e4,a4] ~ [e3,a3,c#4,e4] ~ [e3,a3,c#4,e4,a4] ~ [a2,e3,a3,c#4,e4,a4]@2 ~@4 [a2,e3,a3,c#4,e4,a4] ~ [e3,a3,c#4,e4] ~ [e3,a3,c#4,e4,a4] ~", // A
  Q: "[a2,e3,a3,c#4,e4,a4]@2 ~@4 [a2,e3,a3,c#4,e4,a4] ~ [e3,a3,c#4,e4] ~ [e3,a3,c#4,e4,a4] ~ [a2,e3,a3,c#4,e4,a4]@2 [e3,a3,c#4,e4] ~ [e3,a3,c#4,e4,a4]@2 [a2,e3,a3,c#4,e4,a4] ~ [e3,a3,c#4,e4] ~ [e3,a3,c#4,e4,a4] ~", // A
  R: "[g2,d3,g3,b3,d4,g4]@2 ~@4 [g2,d3,g3,b3,d4,g4] ~ [d3,g3,b3,d4] ~ [d3,g3,b3,d4,g4] ~ [g2,d3,g3,b3,d4,g4]@2 ~@4 [g2,d3,g3,b3,d4,g4] ~ [d3,g3,b3,d4] ~ [d3,g3,b3,d4,g4] ~", // G
  S: "[g2,d3,g3,b3,d4,g4]@2 ~@4 [g2,d3,g3,b3,d4,g4] ~ [d3,g3,b3,d4] ~ [d3,g3,b3,d4,g4] ~ [g2,d3,g3,b3,d4,g4] ~ [d3,g3,b3,d4] ~ [d3,g3,b3,d4,g4]@2 [g2,d3,g3,b3,d4,g4] ~ [d3,g3,b3,d4] ~ [d3,g3,b3,d4,g4] ~", // G
  T: "[f#2,c#3,f#3,a#3,c#4,f#4]@2 ~@4 [f#2,c#3,f#3,a#3,c#4,f#4] ~ [c#3,f#3,a#3,c#4] ~ [c#3,f#3,a#3,c#4,f#4] ~ [f#2,c#3,f#3,a#3,c#4,f#4]@2 ~@4 [f#2,c#3,f#3,a#3,c#4,f#4] ~ [c#3,f#3,a#3,c#4] ~ [c#3,f#3,a#3,c#4,f#4] ~", // F#
  U: "[f#2,c#3,f#3,a#3,c#4,f#4]@2 ~@4 [f#2,c#3,f#3,a#3,c#4,f#4] ~ [c#3,f#3,a#3,c#4] ~ [c#3,f#3,a#3,c#4,f#4] ~ [f#2,c#3,f#3,a#3,c#4,f#4] ~ [c#3,f#3,a#3,c#4] ~ [c#3,f#3,a#3,c#4,f#4]@2 [f#2,c#3,f#3,a#3,c#4,f#4] ~ [c#3,f#3,a#3,c#4] ~ [c#3,f#3,a#3,c#4,f#4] ~", // F#
  V: "[f#2,b2,c#3,f#3,a#3,b3,c#4,d4,f#4,b4]@2 ~@4 [b2,f#3,b3,d4,f#4,b4] ~ [f#3,b3,d4,f#4] ~ [f#3,b3,d4,f#4,b4] ~ [b2,f#3,b3,d4,f#4,b4]@2 ~@4 [b2,f#3,b3,d4,f#4,b4] ~ [f#3,b3,d4,f#4] ~ [f#3,b3,d4,f#4,b4] ~", // F# Bm
  W: "[b2,f#3,b3,d4,f#4,b4]@2 ~@4 [b2,f#3,b3,d4,f#4,b4] ~ [f#3,b3,d4,f#4] ~ [f#3,b3,d4,f#4,b4] ~ [b2,f#3,b3,d4,f#4,b4] ~ [f#3,b3,d4,f#4] ~ [f#3,b3,d4,f#4,b4]@2 [b2,f#3,b3,d4,f#4,b4] ~ [f#3,b3,d4,f#4] ~ [f#3,b3,d4,f#4,b4] ~", // Bm
  X: "[a2,e3,a3,c#4,e4,a4]@2 ~@4 [a2,e3,a3,c#4,e4,a4] ~ [e3,a3,c#4,e4] ~ [e3,a3,c#4,e4,a4] ~ [a2,e3,a3,c#4,e4,a4] ~ [e3,a3,c#4,e4] ~ [e3,a3,c#4,e4,a4]@2 [a2,e3,a3,c#4,e4,a4] ~ [e3,a3,c#4,e4] ~ [e3,a3,c#4,e4,a4] ~", // A
  Y: "[f#2,c#3,f#3,a#3,c#4,f#4]@2 ~@19 [d3,a3,d4,f#4] [d3,a3,d4] [a3,d4,f#4]", // F# D D5 D
  Z: "[g2,d3,g3,b3,d4,g4]@2 ~@4 [g2,d3,g3,b3,d4,g4] ~ [d3,g3,b3,d4] ~ [d3,g3,b3,d4,g4] ~ [g2,d3,g3,b3,d4,g4] ~ [d3,g3,b3,d4] ~ [d3,g3,b3,d4,g4] ~ [g2,d3,g3,b3,d4,g4] ~ [d3,g3,b3,d4] ~ [d3,g3,b3,d4,g4] ~", // G
  AA: "[f#2,c#3,f#3,a#3,c#4,f#4] ~@5 [f#2,c#3,f#3,a#3,c#4,f#4] ~ [c#3,f#3,a#3,c#4] ~ [c#3,f#3,a#3,c#4,f#4] ~ [f#2,c#3,f#3,a#3,c#4,f#4] ~ [c#3,f#3,a#3,c#4] ~ [c#3,f#3,a#3,c#4,f#4] ~ [f#2,c#3,f#3,a#3,c#4,f#4] ~ [c#3,f#3,a#3,c#4] ~ [c#3,f#3,a#3,c#4,f#4] ~", // F#
  AB: "[f#2,c#3,f#3,a#3,c#4,f#4] ~@5 [f#2,c#3,f#3,a#3,c#4,f#4] [a#3,c#4] [c#3,f#3] [c#3,f#3,a#3,c#4,f#4] [a#3,c#4,f#4] [c#3,f#3] [f#2,c#3,f#3,a#3,c#4,f#4] ~@8 [d3,a3,d4,f#4] [d3,a3,d4] [a3,d4,f#4]", // F# A#m F#5 F# F#5 F# D D5 …
  AC: "[c#3,f#3,f#4]@2 [c#3,f#3,a#3,c#4]@2 [c#3,f#3,a#3,c#4,f#4]@2 [c#3,f#3,a#3,c#4]@2 [c#3,f#3,a#3,c#4]@2 [c#3,f#3,a#3,c#4,f#4] ~ [f#2,c#3,f#3,a#3,c#4,f#4] ~@11, f#2!2 ~@2, [a#3,c#4] ~@5 f#4 ~@17", // F#5 F# A#m
})).s("gm_acoustic_guitar_steel").gain(0.4).pan(0.8)

// chords · trumpet
const trumpet = note("<A@3 B ~@32 C@2 D@2 E@2 F ~@25 C@2 D@2 E@2 F ~@17 A@3 G>".pickRestart({
  A: "[f#4,a#4,c#5]@10 ~@2 [g4,b4,d5]@3 ~@3 [a4,c#5,e5]@3 ~@3", B: "[f#4,a#4,c#5]@13 ~@11",
  C: "[~@12 f#5@31 ~@5, b4@7 ~, ~@6 d5@37 ~@5]/2", D: "[~@12 e5@31 ~@5, a4@7 ~, ~@6 c#5@37 ~@5]/2",
  E: "[~@12 d5@31 ~@5, g4@7 ~, ~@6 b4@37 ~@5]/2", F: "~ c#5, f#4, ~ a#4@3", G: "[a#4,c#5,f#5]@13 ~@11",
})).s("gm_trumpet").gain(0.45).pan(0.4)

// chords · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note("<~@51 A@4 B@3 C@8 ~@19 D ~ E ~ F ~@6>".pickRestart({
  A: "[~@23 [c#4,a#4,c#5]@24 [d4,b4,d5]@24 [e4,a4,c#5,e5]@12 [d4,g4,b4,d5]@12 [c#4,f#4,a#4,c#5], ~@23 f#4@49 ~@24]/4", // F# G A G F#
  B: "[~@11 [f#4,f#5]@6 [a#4,a#5]@6 ~ a#5@23 [b4,d5,b5,d6]@24 [a4,c#5,e5,a5,c#6], ~@23 f#5@49, ~@23 [a#4,c#5,c#6]@25 ~@24]/3", // F# A# Bm A A#m
  C: "[~@11 [g4,b4,d5,g5,b5]@12 [f#4,a#4,c#5,f#5]@14 ~@3 f#5@7 f#6@6 e6@5 ~@3 b5@34 e6@6 d6@5 ~@3 a5@34 d6@6 c#6@5 ~@3 g5@34 [a#3,c#4], ~@23 a#5@12 ~@12 f#4@48 c#4@47 ~ [b3,d4]@49, ~@47 d4@47 ~ e4@49 ~@48]/8", // G F# A#m Bm
  D: "~@5 [f#4,a4,f#5]@6 ~@2 f#5@10 ~, ~@5 d5@19, ~@11 [a4,a5]@13", // F#m A
  E: "~@5 [e4,a4,e5]@6 ~@2 e5@10 ~, ~@5 c#5@19, ~@11 [a4,a5]@13", // A5 A
  F: "~@5 [g4,b4,g5]@6 ~@2 g5@10 ~, ~@5 d5@19, ~@11 [b4,b5]@13", // G B
})).s("gm_string_ensemble_2").gain(0.44)

// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note("<~@55 A ~@4 B ~ C ~ D ~ E ~@24 F G H I J>".pickRestart({
  A: "~@2 a#4 [c#5,f#5], ~@11 c#5@6 ~@7", B: "~@10 d6@2 c#6@3 ~@9", C: "~@9 c#6@2 b5@4 ~@9", D: "~@10 b5@2 a5@3 ~@9",
  E: "f#5 ~@23", F: "~@15 f#6 c#6 ~ a#5 f#5@2 ~ a#4 ~, ~@21 c#5@2 ~",
  G: "[a#3,f#4,c#5]@10 ~@2 [b3,g4,d5]@3 ~@3 [c#4,a4,e5]@3 ~@3", // F# G A
  H: "[c#4,a#4,f#5]@10 ~@2 [d4,b4,g5]@3 ~@3 [e4,c#5,a5]@3 ~@3", // F# G A
  I: "[f#4,c#5,a#5]@10 ~@2 [g4,d5,b5]@3 ~@3 [a4,e5,c#6]@3 ~@3", J: "[c#5,a#5,f#6]@13 ~@11",
})).s("gm_string_ensemble_1").gain(0.38)

// drums · kick
const kick = s("bd").struct("<~@20 [x!4]!8 x ~@23 [x!4]!8 x ~@35>").gain(0.4)

// drums · rim
const rim = s("rim").struct("<~@20 [~ x ~@2 x ~]!8 ~@24 [~ x ~@2 x ~]!8 ~@36>").gain(0.72)

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

// drums · pedal hat
const pedal_hat = s("hh").struct("<~@4 A@7 B A@7 B A@31 B A@31 B A@7 B ~@4>".pickRestart({
  A: "~ x ~ x", B: "~ x!2 ~",
})).gain(0.56)

// drums · mid tom
const mid_tom = s("mt").struct("<~@20 [~@10 x!2]!8 ~@24 [~@10 x!2]!8 ~@36>").gain(0.56)

// drums · high tom
const high_tom = s("ht").struct("<~@20 [~ x ~] [~@4 x!2 ~@6]!7 ~@24 [~ x ~] [~@4 x!2 ~@6]!7 ~@36>").gain(0.48)

// drums · ride bell
const ride_bell = s("rd").struct("<~@20 [x ~ x ~ x!2 ~ x ~ x ~@2]!8 ~@24 [x ~ x ~ x!2 ~ x ~ x ~@2]!8 ~@36>").gain(0.64)

stack(
  bass, acoustic_guitar_steel, trumpet, string_ensemble_2, string_ensemble_1, kick, rim, snare, pedal_hat, mid_tom,
  high_tom, ride_bell
)

More by The Shadows