Strudelify
Long Distance Runaround cover art

1971 · Fragile

Long Distance Runaround

Yes

KeyE minorTempo91 bpm
0:00/0:00
// Long Distance Runaround — Yes
// 91 bpm, 4/4, key E minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 11 "BASS" slap bass 1 (copy of ch 4 "BASS" acoustic bass)
// note: Full arrangement: all 82 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): GUITAR 4 JAZZ 2.
setcpm(91/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 · electric guitar jazz · "GUITAR 1 DT   /ECHO 1"
const electric_guitar_jazz = note(`<
  A@5 B C D E F@5 G H I J K J@4 L M N O P@2 ~ Q J K J@4 L M N O P@2 ~ Q J K J@4 L M R C D E F@5 S J K J@4 L M ~@6 T@2 U
  V W
>`.pickRestart({
  A: "[~@15 f4@2 g4 a#4 d5 g5 ~ f5@2 c5 g4@6 f4@2 g4 ~ d5 g5 ~ f5@2 g5@2 g5 d#5@4 f4@2 g4 ~ d5 g5 ~ f5@2 c5 g4@6 a#4@2 f4 d4 a#3 a3@2 d#3@2 b4 g4 e4 c5 a4 g4 d5 b4, ~@17 a#4 ~@7 a#4 ~@14]/5",
  B: "a4 e5 c5 a#4 f5 d5 b4 f4@2 g4 a#4 d5 g5 ~ f5@2", C: "c5 g4@6 f4@2 g4 ~ d5 g5 ~ f5@2, ~@5 a#4 ~@2",
  D: "g5@2 g5 d#5@4 f4@2 g4 ~ d5 g5 ~ f5@2, ~@5 a#4 ~@2", E: "c5 g4@6 a#4@2 f4 d4 a#3 a3@2 d#3@2",
  F: "[b4 g4 e4 c5 a4 g4 d5 b4 a4 e5 c5 a#4 f5 d5 b4 f4@2 g4 a#4 d5 g5 ~ f5@2 c5 g4@6 f4@2 g4 ~ d5 g5 ~ f5@2 g5@2 g5 d#5@4 f4@2 g4 ~ d5 g5 ~ f5@2 c5 g4@6 a#4@2 f4 d4 a#3 a3@2 d#3@2 b4 g4 e4 c5 a4 g4 d5 b4, ~@17 a#4 ~@7 a#4 ~@14]/5",
  G: "a4 e5 c5 b4 e4@2 a4@2 ~@2 [a4,d5]@3 [g4,d5]@3", H: "[f#4,d5]@4 e3@2 a3@2 ~@2 [f#4,b4]@2 ~ [e4,b4]@2 ~",
  I: "[d4,b4]@3 ~ e3@2 a3@2 e3@2 ~@6", J: "~@2 e3 a3 ~@4", K: "~@2 e3 a3 e2 ~@3", L: "~@2 e3 a3 ~ g3 ~@2",
  M: "~@2 d3 g3 ~@4", N: "~@2 d3@2 g3@2 a2@2 c3 ~ [g3,c4] ~ [g3,c4] ~ [g3,c4] ~",
  O: "[g3,c4] ~ [g3,c4] ~ [g3,c4] ~ [g3,c4]@8 [g3,c4] ~", // C5
  P: "[[g3,c4] ~ [g3,c4] ~ [g3,c4] ~ [f3,c4]@8 [f3,c4]@8 ~@10]/2", Q: "~ e3 a3 ~ e3 ~@3",
  R: "~@2 d3@2 g3@2 a2 f4@2 g4 a#4 d5 g5 ~ f5@2", S: "a4 e5 c5 a#4 e3@2 a3@2 e3@2 ~@6",
  T: "[~@4 a3@16 ~@2 g#3 [a3,b3] ~@2 b3 [c#4,d#4] ~@2 e4 [f#4,g#4]]/2", // Asus2 C#sus2 F#sus2
  U: "e4 [f#4,g#4] f#4 [g#4,a4] f#4 [g#4,a4] g#4 [a4,b4] a4 [f#4,g#4]!2 [g#4,a4] [e4,f#4] [c#4,d#4] [b3,c#4] [d#4,e4]", // F#sus2 Amaj7 Asus2 F#sus2 Amaj7 Esus2 C#sus2 Bsus2 …
  V: "e4 [e4,f#4] [f#4,g#4] [e4,f#4] d#4 [c#4,d#4] [a3,b3] [b3,c#4] [c#4,d#4] [e4,f#4] [d#4,e4]@2 d#4 [c#4,d#4] [a3,b3] [b3,c#4]", // Esus2 F#sus2 Esus2 C#sus2 Asus2 Bsus2 C#sus2 Esus2 …
  W: "[c#4,d#4] [e4,f#4] [d#4,e4]@2 ~@12", // C#sus2 Esus2 Emaj7
})).s("gm_electric_guitar_jazz").gain(0.3).pan(0.6)

// other · electric guitar jazz · "GUITAR 2 JAZZ /ENDING"
const electric_guitar_jazz_2 = note("<~@27 A B C D ~@8 A E@2 B C D ~@26 A E@2 B F G@3 H I J>".pickRestart({
  A: "~@7 f4@2 g4 a4 d5 g5 ~ f5@2", B: "c5 g4@6 d#4@2 f4 g4 c5 f5 ~ d#5@2", C: "a#4 f4@6 d#4@2 f4 g4 c5 f5 ~ d#5@2",
  D: "a#4 d4@7 ~@8", E: "c5 g4@6 f4@2 g4 a4 d5 g5 ~ f5@2", F: "a#4 f4@6 d#4@2 f4 g4 c5 f5 ~ d#5 d5",
  G: "[a#4 f4@6 c5@2 g4 e4 d5@2 a4 f#4 e5@2 c#5 d#5@2 ~@16 g#3 [a3,b3] ~@2 b3 [c#4,d#4] ~@2 e4 [f#4,g#4] e4 [f#4,g#4], ~@5 e5@5 ~@2]/3", // Asus2 C#sus2 F#sus2
  H: "f#4 [g#4,a4] f#4 [g#4,a4] g#4 [a4,b4] a4 [f#4,g#4]!2 [g#4,a4] [e4,f#4] [c#4,d#4] [b3,c#4] [d#4,e4] e4 [e4,f#4]", // Amaj7 Asus2 F#sus2 Amaj7 Esus2 C#sus2 Bsus2 Emaj7 …
  I: "[f#4,g#4] [e4,f#4] d#4 [c#4,d#4] [a3,b3] [b3,c#4] [c#4,d#4] [e4,f#4] [d#4,e4]@2 d#4 [c#4,d#4] [a3,b3] [b3,c#4] [c#4,d#4] [e4,f#4]", // F#sus2 Esus2 C#sus2 Asus2 Bsus2 C#sus2 Esus2 Emaj7 …
  J: "[d#4,e4] ~@7", // Emaj7
})).s("gm_electric_guitar_jazz").gain(0.48).pan(0.2)

// chords · electric guitar jazz · "GUITAR 3 CUT  /ECHO 2"
const electric_guitar_jazz_3 = note(`<
  ~@16 A B C D E F G C H I J K L M N B C D E F G C H I J K L M N B C D E F G C H O ~@8 A B C D E F G C H I J K L M P ~ Q
  R S T
>`.pickRestart({
  A: "~@8 [e3,g#3,b3,e4] ~@7", B: "~@2 [e3,g#3,b3,e4] ~@9 [f#3,b3,d4,f#4] ~@3", C: "~@6 [f#3,b3,d4,f#4] ~@9",
  D: "[e3,g#3,b3,e4] ~@9 [e3,g#3,b3,e4] ~@5", E: "~@4 [e3,g#3,b3,e4] ~@9 [f#3,b3,d4,f#4] ~",
  F: "~@8 [f#3,b3,d4,f#4] ~@7", G: "~@2 [f#3,b3,d4,f#4] ~@9 [f#3,b3,d4,f#4] ~@3",
  H: "[d3,g3,b3,g4] ~@9 [g3,b3,g4,d5] ~@5", I: "~@4 [g3,b3,g4,d5] ~@9 [e3,g3,c4,e4] ~", J: "~@8 [e3,a3,c4,e4] ~@7",
  K: "~@2 [f3,a3,d4,f4] ~@9 [f3,a3,c4,f4] ~@3", L: "~@6 [f3,a3,d4,f4] ~@7 [f3,a3,d4,f4] ~",
  M: "~@4 [f3,a3,d4,f4] ~@5 [f3,a3,d4,f4] ~@5", N: "[f3,a3,d4,f4] ~@7 [e3,g#3,b3,e4] ~@7", O: "~@4 [g3,b3,g4,d5] ~@11",
  P: "[f3,a3,d4,f4] ~@15", Q: "~@8 g#3 [a3,b3] ~@2 b3 [c#4,d#4] ~@2",
  R: "e4 [f#4,g#4] e4 [f#4,g#4] f#4 [g#4,a4] f#4 [g#4,a4] g#4 [a4,b4] a4 [f#4,g#4]!2 [g#4,a4] [e4,f#4] [c#4,d#4]", // F#sus2 Amaj7 Asus2 F#sus2 Amaj7 Esus2 C#sus2
  S: "[b3,c#4] [d#4,e4] e4 [e4,f#4] [f#4,g#4] [e4,f#4] d#4 [c#4,d#4] [a3,b3] [b3,c#4] [c#4,d#4] [e4,f#4] [d#4,e4]@2 d#4 [c#4,d#4]", // Bsus2 Emaj7 Esus2 F#sus2 Esus2 C#sus2 Asus2 Bsus2 …
  T: "[a3,b3] [b3,c#4] [c#4,d#4] [e4,f#4] [d#4,e4]@2 ~@10", // Asus2 Bsus2 C#sus2 Esus2 Emaj7
})).s("gm_electric_guitar_jazz").gain(0.25).pan(0.8)

// bass · acoustic bass · "BASS"
const bass = note(`<
  ~@5 A B@2 C D@5 E F G H I H@4 J K L M N O P@2 H I H@4 J K L M N O P@2 H I H Q@2 H J K R B@2 C D@5 S H I H Q@2 H J K L
  M T O U V W@4 ~
>`.pickRestart({
  A: "~@7 c2@2 b1 c2 b1 f2 e2 f2 e2", B: "g2 f#2 g2 f#2 a2 a#2 c3 c2@2 b1 c2 b1 f2 e2 f2 e2",
  C: "g2 f#2 g2 f#2 a2 a#2 c3 c2@2 b1 c2 b1 f2 e2 f2 f#2",
  D: "[g2@3 a1@3 b1@3 c2@3 d2@3 c2@2 b1 c2 b1 f2 e2 f2 e2 g2 f#2 g2 f#2 a2 a#2 c3 c2@2 b1 c2 b1 f2 e2 f2 e2 g2 f#2 g2 f#2 a2 a#2 c3 c2@2 b1 c2 b1 f2 e2 f2 e2 g2 f#2 g2 f#2 a2 a#2 c3 c2@2 b1 c2 b1 f2 e2 f2 f#2 g2@3 a1@3 b1@2]/5",
  E: "~ c2@2 ~ e2@2 a2@2 ~@2 a3@3 g3@3", F: "f#3@4 e2@2 a2@2 ~@2 f#3@3 e3@3", G: "d3@2 e2 a2 e2 ~@3",
  H: "~@2 e2 a2 ~@4", I: "~@2 e2 a2 e2 ~@3", J: "~@2 e2 a2 ~ g2 ~@2", K: "~@2 d2 g2 ~@4",
  L: "~@2 d2@2 g2@2 a1@2 c2 ~ c2 ~ c2 ~ c2 ~", M: "b1 ~ b1 ~ b1 ~ a1@8 a1@2", N: "g1 ~ g1 ~ g1 ~ f1@8 f1@2",
  O: "e1 c2@2 a#2@5", P: "[a#2 a2 g2 f2 d#2 d2 c2 a#1@12 ~ e2@2 a2@2 e2@2 ~@6]/2",
  Q: "[~@4 e2@2 a2@2 b1@11 ~ e2@2 a2@2 ~@8]/2", R: "~@2 d2@2 g2@2 a1@3 b1 c2 b1 f2 e2 f2 e2",
  S: "~ c2@2 ~ e2@2 a2@2 e2@2 ~@6", T: "g1 ~ g1 ~@3 f1@8 f1@2", U: "a#2 a2 g2 f2 d#2 d2 c2 a#1@3 a#1 ~ a#1 ~ a#1 ~",
  V: "a#1 ~ a#1 ~ a#1 ~ a#1 ~ b1@2 b1@2 c#2@2 c#2@2", W: "[d#2!2 e1@24 ~@6]/4",
})).s("gm_acoustic_bass").gain(0.44).pan(0)

// other · piano · "E.PIANO"
const piano = note("<A B C D E F G H I J B C D E K@2 ~@37 L M N O J B C D E P ~@19>".pickRestart({
  A: "~@15 a3", B: "g3 a#3 d4 g4 a#4 ~ a4 g4 e4 e4@6 a3", C: "g3 a#3 d4 g4 a#4 ~ a4 g4 a#4 c5 a#4 f#4 g4@3 a3",
  D: "g3 a#3 d4 g4 a#4 ~ a4 g4 e4 e4@6 d5", E: "c5 a4 f4 d4 c4 a#3 f#3 g3 b3 g3 e3 c4 a3 g3 d4 b3",
  F: "a3 e4 c4 a#3 f4 d4 b3 f3 e3 g3 a#3 d4 g4 ~ f4 e4", G: "c4 g3@6 [f3,g3] e3 g3 a#3 d4 g4 ~ f4 e4",
  H: "a#4 c5 a#4 f#4 g4@3 f3 e3 g3 a#3 d4 g4 ~ f4 e4", I: "c4 g3@6 d5 c5 a4 f4 d4 c4 a#3 f#3 g3",
  J: "b3 g3 e3 c4 a3 g3 d4 b3 a3 e4 c4 a#3 f4 d4 b3 f3", K: "[a3 e4 c4 b3 ~@3 [b3,d4,f#4,b4]@17 ~@8]/2",
  L: "~@8 g3 a#3 d4 g4 a#4 ~ a4 g4, ~@7 a3@2 ~@7", M: "e4 e4@6 a3 g3 a#3 d4 g4 a#4 ~ a4 g4",
  N: "a#4 c5 a#4 f#4 g4@3 a3 g3 a#3 d4 g4 a#4 ~ a4 g4", O: "e4 e4@6 d5 c5 a4 f4 d4 c4 a#3 f#3 g3",
  P: "a3 e4 c4 g3 ~@12",
})).s("gm_piano").gain(0.32).pan(1)

// chords · piano · "A.PIANO"
const piano_2 = note(`<
  ~@15 A@2 B C D B E@2 F G H I J K L M B C D B E@2 F G H I J N L M B C D B E@2 F G O ~@8 P B C D B E@2 F G H I J N L Q
  R@2 ~@3
>`.pickRestart({
  A: "[~@7 [b1,b2,d4,f#4,b4]@17 [e2,e3,g#3,b3,c#4,f#4] ~ [e2,e3,g#3,b3,c#4,f#4] ~ [e2,e3,g#3,b3,c#4,f#4] ~ [e2,e3,g#3,b3,c#4,f#4] ~]/2", // Bm C#m7
  B: "[e2,e3,g#3,b3,c#4,f#4] ~ [e2,e3,g#3,b3,c#4,f#4] ~ [e2,e3,g#3,b3,c#4,f#4] ~ [e2,e3,g#3,b3,c#4,f#4] ~ [b1,b2,b3,d4,f#4] ~ [b1,b2,b3,d4,f#4] ~ [b1,b2,b3,d4,f#4] ~ [b1,b2,b3,d4,f#4] ~", // C#m7 Bm
  C: "[b1,b2,b3,d4,f#4] ~ [b1,b2,b3,d4,f#4] ~ [b1,b2,b3,d4,f#4] ~ [b1,b2,b3,d4,f#4] ~ [e2,e3,g#3,b3,c#4,f#4] ~ [e2,e3,g#3,b3,c#4,f#4] ~ [e2,e3,g#3,b3,c#4,f#4] ~ [e2,e3,g#3,b3,c#4,f#4] ~", // Bm C#m7
  D: "[e2,e3,g#3,b3,c#4,f#4] ~ [e2,e3,g#3,b3,c#4,f#4] ~ [e2,e3,g#3,b3,c#4,f#4] ~ [e2,e3,g#3,b3,c#4,f#4] ~ [e2,e3,g#3,b3,c#4,f#4] ~ [e2,e3,g#3,b3,c#4,f#4] ~ [e2,e3,g#3,b3,c#4,f#4] ~ [e2,e3,g#3,b3,c#4,f#4] ~", // C#m7
  E: "[b1,b2,b3,d4,f#4] ~ [b1,b2,b3,d4,f#4] ~ [b1,b2,b3,d4,f#4] ~ [b1,b2,b3,d4,f#4] ~ [b1,b2,b3,d4,f#4] ~ [b1,b2,b3,d4,f#4] ~ [b1,b2,b3,d4,f#4] ~ [b1,b2,b3,d4,f#4] ~", // Bm
  F: "[b1,b2,b3,d4,f#4] ~ [b1,b2,b3,d4,f#4] ~ [b1,b2,b3,d4,f#4] ~ [b1,b2,b3,d4,f#4] ~ [g1,g2,g3,b3,d4] ~ [g1,g2,g3,b3,d4] ~ [g1,g2,g3,b3,d4] ~ [g1,g2,g3,b3,d4] ~", // Bm G
  G: "[g1,g2,g3,b3,d4] ~ [g1,g2,g3,b3,d4] ~ [g1,g2,g3,b3,d4] ~ [g1,g2,g3,b3,d4] ~ [g1,g2,g3,b3,d4] ~ [g1,g2,g3,b3,d4] ~ [g1,g2,g3,b3,d4] ~ [g1,g2,g3,b3,d4] ~", // G
  H: "[g1,g2,g3,b3,d4] ~ [g1,g2,g3,b3,d4] ~ [g1,g2,g3,b3,d4] ~ [g1,g2,g3,b3,d4] ~ [c2,c3,g3,c4,e4] ~ [c2,c3,g3,c4,e4] ~ [c2,c3,g3,c4,e4] ~ [c2,c3,g3,c4,e4] ~", // G C
  I: "[b1,b2,g3,c4,e4] ~ [b1,b2,g3,c4,e4] ~ [b1,b2,g3,c4,e4] ~ [a1,a2,g3,c4,e4] ~ [a1,a2,g3,c4,e4] ~ [a1,a2,g3,c4,e4] ~ [a1,a2,g3,c4,e4] ~ [a1,a2,g3,c4,e4] ~", // Cmaj7 Am7
  J: "[a1,g2,g3,c4,e4] ~ [a1,g2,g3,c4,e4] ~ [a1,g2,g3,c4,e4] ~ [f1,f2,a3,c4,f4] ~ [f1,f2,a3,c4,f4] ~ [f1,f2,a3,c4,f4] ~ [f1,f2,a3,c4,f4] ~ [f1,f2,a3,c4,f4] ~", // Am7 F
  K: "[e1,e2,g3,c4,e4] ~ [e1,e2,g3,c4,e4] ~ [e1,e2,g3,c4,e4] ~ [a#1,a#2,f3,a3,a#3,d4] ~ [a#1,a#2,f3,a3,a#3,d4] ~ [a#1,a#2,f3,a3,a#3,d4] ~ [a#1,a#2,f3,a3,a#3,d4] ~ [a#1,a#2,f3,a3,a#3,d4] ~", // C A#maj7
  L: "[a#1,a#2,f3,a3,a#3,d4] ~ [a#1,a#2,f3,a3,a#3,d4] ~ [a#1,a#2,f3,a3,a#3,d4] ~ [a#1,a#2,f3,a3,a#3,d4] ~ [a#1,a#2,f3,a3,a#3,d4] ~ [a#1,a#2,f3,a3,a#3,d4] ~ [a#1,a#2,f3,a3,a#3,d4] ~ [a#1,a#2,f3,a3,a#3,d4] ~", // A#maj7
  M: "[a#1,a#2,f3,a3,a#3,d4] ~ [a#1,a#2,f3,a3,a#3,d4] ~ [a#1,a#2,f3,a3,a#3,d4] ~ [a#1,a#2,f3,a3,a#3,d4] ~ [e2,e3,g#3,b3,c#4,f#4] ~ [e2,e3,g#3,b3,c#4,f#4] ~ [e2,e3,g#3,b3,c#4,f#4] ~ [e2,e3,g#3,b3,c#4,f#4] ~", // A#maj7 C#m7
  N: "[e1,e2,g3,c4,e4] ~ [e1,e2,g3,c4,e4] ~ [e1,e2,g3,c4,e4] ~ [a#1,a#2,f3,a3,a#3,d4] ~ [a#1,a#2,f3,a3,a#3,d4] ~ [a#1,a#2,f3,a3,b3,d4] ~ [a#1,a#2,f3,a3,a#3,d4] ~ [a#1,a#2,f3,a3,a#3,d4] ~", // C A#maj7
  O: "[g1,g2,g3,b3,d4] ~ [g1,g2,g3,b3,d4] ~ [g1,g2,g3,b3,d4] ~ [g1,g2,g3,b3,d4] ~@9", // G
  P: "~@8 [e2,e3,g#3,b3,c#4,f#4] ~ [e2,e3,g#3,b3,c#4,f#4] ~ [e2,e3,g#3,b3,c#4,f#4] ~ [e2,e3,g#3,b3,c#4,f#4] ~", // C#m7
  Q: "[a#1,a#2,f3,a3,a#3,d4] ~ [a#1,a#2,f3,a3,a#3,d4] ~ [a#1,a#2,f3,a3,a#3,d4] ~ [a#1,a#2,f3,a3,a#3,d4] ~ [b1,b2,g3,b3,d4] ~ [b1,b2,g3,b3,d4] ~ [c#2,c#3,a3,c#4,e4] ~ [c#2,c#3,a3,c#4,e4] ~", // A#maj7 G A
  R: "[[d#2,d#3,b3,d#4,f#4] ~ [d#2,d#3,b3,d#4,f#4] ~ [e2,e3,a3,b3,e4]@23 ~@5]/2", // B Esus4
})).s("gm_piano").gain(0.19).pan(0)

// drums · kick
const kick = s("bd").struct("<~@5 A B C D E F G@2 H I ~@15 J ~@2 K ~@19 L M N O E P Q R ~ S ~@14 S ~@4>".pickRestart({
  A: "~@7 x ~@3 x ~ x ~@2", B: "~@3 x ~ x ~ x ~ x ~@3 x ~@2", C: "~ x ~ x ~ x ~ x ~ x ~@3 x ~@2",
  D: "~ x ~ x ~ x ~ x ~@3 x ~@4", E: "~@15 x", F: "~@3 x ~ x ~@5 x ~ x ~ x", G: "~ x ~@3 x ~@3 x ~ x ~ x ~ x",
  H: "~@3 x ~@12", I: "~ x ~@14", J: "~@12 x!2 ~@2", K: "~@4 x!2 ~@10", L: "~@7 x ~@5 x ~ x",
  M: "~ x ~ x ~@2 x ~@2 x ~@3 x ~ x", N: "~ x ~ x ~ x ~ x ~ x ~@5 x", O: "~@5 x ~ x ~@8",
  P: "~@5 x ~ x ~ x ~ x ~@2 x ~", Q: "~ x ~@3 x ~ x ~ x ~ x ~ x ~ x", R: "~ x ~@5 x ~@5 x ~ x", S: "~ x ~@2",
})).gain(0.43).pan(0.6)

// drums · snare
const snare = s("sd").struct(`<
  ~@5 A B C D E F G@2 H ~@2 I J K L M I J K L M I J M N O J K L M I J K L M I J M N O J K L M I J K P Q R S T U R@2 V W
  X J K L M I J K L M I J M N Y ~@5
>`.pickRestart({
  A: "~@5 x ~ x", B: "~ x ~@2 x ~@7 x ~@2 x", C: "~@2 x ~@3 x ~@5 x ~@2 x", D: "~@2 x ~@3 x ~@2 x ~@2 x!4",
  E: "x ~@2 x ~@2 x ~@2 x ~@2 x ~@3", F: "~@2 x ~@3 x ~@2 x ~@2 x ~@3", G: "~@4 x ~@2 x ~@2 x ~@3 x ~",
  H: "~ x ~@2 x!5 ~@2 x ~@2 x ~", I: "~ x", J: "~ x ~@4 x ~", K: "~@3 x ~@4", L: "x ~@4 x ~@2", M: "~@3 x ~@3 x",
  N: "~@3 x ~ x ~@2", O: "x!2", P: "x ~@2 x", Q: "~@2 x ~@2 x ~ x", R: "~ x ~ x ~ x ~ x",
  S: "~@2 x ~@3 x ~@3 x ~@2 x ~@2", T: "~ x ~@2 x ~ x ~@2 x ~@2 x!4", U: "x ~@2 x ~@5 x ~@6",
  V: "~@2 x ~@2 x ~@3 x ~@2 x ~ x ~", W: "~ x ~@2 x!5 ~@5 x ~", X: "x!2 ~@6 x ~@7", Y: "x ~@3 x ~@2 x",
})).gain(0.43).pan(0.6)

// drums · hihat
const hihat = s("hh").struct("<~@16 A B@13 C B@22 D ~@8 A B@14 E ~@4>".pickRestart({
  A: "~@4 x!4", B: "x!8", C: "x!4 ~ x!3", D: "x!4 ~@4", E: "x!2 ~@6",
})).gain(0.43).pan(0.6)

// drums · high tom
const high_tom = s("ht").struct("<~@57 [~@3 x ~@2 x ~] ~@3 [~@11 x ~@4] ~@20>").gain(0.57).pan(0.6)

// drums · crash
const crash = s("cr").struct("<~@5 A ~@3 B ~@4 C ~@15 D ~@22 A ~@3 B ~@4 E ~@14 E ~@4>".pickRestart({
  A: "~@7 x ~@8", B: "~@15 x", C: "~ x ~@14", D: "~ x", E: "~ x ~@2",
})).gain(0.57).pan(0.6)

// drums · ride
const ride = s("rd").struct("<~@5 A B@2 C ~ B@3 D ~@39 E B@2 F ~ G B@2 H ~@20>".pickRestart({
  A: "~@4 x!4", B: "x!8", C: "x!6 ~@2", D: "x!2 ~@6", E: "~@5 x!3", F: "x!7 ~", G: "~ x!7", H: "x!3 ~@5",
})).gain(0.43).pan(0.6)

// drums · cabasa
const cabasa = s("cabasa:4").struct("<~@16 [x!4 ~@4] ~@65>").gain(1.09).pan(0.6)

// drums · cabasa · soft notes
const cabasa_soft = s("cabasa:4").struct("<~@15 [~@4 x!4] ~@66>").gain(0.36).pan(0.6)

stack(
  electric_guitar_jazz, electric_guitar_jazz_2, electric_guitar_jazz_3, bass, piano, piano_2, kick, snare, hihat,
  high_tom, crash, ride, cabasa, cabasa_soft
)

More by Yes