Strudelify

Shakermaker

Oasis

KeyE majorTempo113 bpm
0:00/0:00
// Shakermaker — Oasis
// 113 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 113 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(113/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 steel · "Lead Guitar"
const acoustic_guitar_steel = note(`<
  A@2 B@3 C@8 D E@3 F@6 G@7 E@3 F@6 G@7 B@3 H@7 I@7 J@2 K@2 A@2 L@3 M@8 D E@3 F@6 N@4 A@2 O@8 P@8 ~
>`.pickRestart({
  A: "[~@7 d#3, b2 b2, ~ d#3@5 d#3@3 d#3@5 ~@2, ~@2 a3@3 a3@5 a3@3 a3@3, ~@3 b3@8 b3@5]/2",
  B: "[~@11 e3, b2@14 d#3@7 g#3@3, ~ d#3@5 d#3@4 a3@14, ~@2 a3@3 a3@4 b3@2 d#3@2 b3@3 e3 d4@7, ~@3 b3@4 e4@11 e3 b3@5]/3",
  C: "[~@24 [a2,e3] ~@2 [a2,e3] e3 ~@3 [g#4,b4]!3 ~@14 a#3!5 ~@8 d#3@2, e3@6 e3@13 d#3@16 [g#4,b4]@12 b3@11 a3 b3@5, ~ d4@8 d#3 a3 b3@2 a3 d#3 e4@10 [a2,e3] f#3@2 a2 e3 f#3@11 d#3 a3 b3@2 a3@12 d#3@4 a3@3, ~@2 g#3@3 g#3@12 b3 a3@13 [a2,e3]@15 d#3@10 b2@8, ~@3 b3@5 b2@13 b3@16 ~@3 b2@14 a#3@10]/8", // A5 G#m A5
  D: "~@3 d#3, b2, ~ d#3@5 ~@2, ~@2 a3@3 a3@3, ~@3 b3@5",
  E: "[~@11 e3, b2@10 a3@11 g#3@3, ~ d#3@5 d#3@7 b3@3 e3 d4@7, ~@2 a3@3 a3@4 b3@2 b2@13, ~@3 b3@4 e4@11 g#3 b3@5]/3",
  F: "[~@24 [a2,e3] ~@2 [a2,e3]!2 ~@3 [g#4,b4]!3 [g#4,b4]@2 [g#4,b4] ~@8 d#3@2, e3@6 e3@11 b3@14 [a2,e3]@10 d#3 a3 b3@2 a3@3, ~ d4@8 d#3 a3 b3@2 a3 d#3 e4@10 [a2,e3] f#3@3 [a2,e3] f#3@10 b2@8, ~@2 g#3@3 g#3@2 g#3@11 a3 d#3@2 a3@16 ~ g#4@10, ~@6 b3@10 b2@28 d#3@32 ~ b4@19]/6", // A5 G#m A5
  G: "[~@8 [a2,e3] ~@2 [a2,e3]!2 ~@3 [g#4,b4]!3 [g#4,b4]@2 [g#4,b4]!2 ~@8 [f#2,a#3] [f#2,a#3]!6 ~@16 d#3@2, b2@9 [a2,e3] f#3@3 [a2,e3] f#3@11 d#3 a3 b3@15 a3 b3@7 a3 b3@5, ~ d#3@5 d#3@16 ~@2 b2@14 [f#2,a#3]@15 a3@3, ~@2 a3@3 a3@16 ~@2 [g#4,b4]@7 d#3@10 b2@6 d#3@2 b2@8, ~@3 b3@12 [a2,e3]@14 a3@12 d#3@4 a3@4 d#3@5 ~@2]/7", // A5 G#m F# A5 F# G#m A5
  H: "[~@24 [a2,e3] ~@2 [a2,e3] e3 ~@3 [g#4,b4]!3 ~@14 a#3!5 a#3@2, e3@6 e3@13 d#3@16 [g#4,b4]@12 b3@9, ~ d4@8 d#3 a3 b3@2 a3 d#3 e4@10 [a2,e3] f#3@2 a2 e3 f#3@11 d#3 a3 b3@2 a3@11, ~@2 g#3@3 g#3@12 b3 a3@13 [a2,e3]@15 d#3@10, ~@3 b3@5 b2@13 b3@16 ~@3 b2@16]/7", // A5 G#m A5
  I: "[~@14 [d#4,f#4]@6 [d#4,f#4]@4 [d#4,f#4]@2 [d#4,f#4]@2 f#4@4 ~@8 [c#4,e4]@2 ~@4 [d#4,f#4]@4 [d#4,f#4]@2 [d#4,f#4]@4 [d#4,f#4]@2 [d#4,f#4]@2 f#4@4 [d4,f#4]@4 ~@4 [c#4,e4]@2 ~@4 [d#4,f#4]@6 [d#4,f#4]@4 [d#4,f#4]@2 [d#4,f#4] [d#4,f#4]@2 [d#4,f#4]!2 [d#4,f#4]@17, d4@8 d4@8 ~ d4@8 ~@3, f#4@7 ~@7 d#4@9 ~@7 d#4@9 ~@17, ~@4 [c#4,e4]@16 ~ [c#4,e4]@15 ~ [c#4,e4]@16 ~@3, ~@16 f#4@7 ~@11 f#4@5 ~@17]/7", // D#m C#m D#m D C#m D#m C#m
  J: "[[g#4,b4]!7 [g#4,b4]@9]/2", K: "[e4,g#4,b4]/2",
  L: "[~@11 e3, b2@10 a3 b2@2 a3@8 g#3@3, ~ d#3@5 d#3@10 e3 d4@7, ~@2 a3@3 a3@4 b3@5 b2@10, ~@3 b3@4 e4@11 e3 b3@5]/3",
  M: "[~@48 [a2,e3]@2 ~@4 [a2,e3]@2 [a2,e3]@2 ~@6 [g#4,b4]@3 [g#4,b4] [g#4,b4]@2 [g#4,b4]@4 [g#4,b4]@2 ~@18 a#3@4 a#3@2 a#3@2 a#3@2 a#3@2 a#3@2 ~@16 d#3@4, e3@2 e3@4 e3@12 a3 d#3@2 a3@16 ~ [g#4,b4]@8 d#3@10 b2@8, ~ d4@8 a3 d#3 b3@2 a3 d#3 e4@10 [a2,e3] f#3@3 [a2,e3] f#3@11 d#3 a3 b3@15 a3 b3@5, ~@3 b3@5 b2@14 d#3@16 ~@2 b2@14 a#3@10, ~@5 g#3@12 b3@14 [a2,e3]@14 a3@12 d#3@4 a3@3]/8", // A5 G#m A5
  N: "[~@8 [a2,e3] ~@2 [a2,e3]!2 ~@2 [a2,e3]@16 ~, b2@9 [a2,e3] f#3@3 [a2,e3] f#3@16 ~@2, ~ d#3@5 d#3@16 ~@10, ~@2 a3@3 a3@16 ~@11, ~@3 b3@16 ~@13]/4", // A5
  O: "[~@11 e3 ~@19 d#3, b2@10 a3 b2@2 a3@13 e3@3 g#3@12 b3@12 d3@11, ~ d#3@5 d#3@10 e3 d4@4 g#3@6 b3@5 b2@14 d#3@2 b2 d3 d#3@2 b2@12, ~@2 a3@3 a3@4 b3@5 b2@16 e3@12 a3 d#3@2 a3@10 b3@3 d#3@3 a3@3, ~@3 b3@4 e4@11 e3 b3@5 e3 d4@8 d#3 a3 b3@2 a3 d#3 e4@15 d#3@3 a3@2 b3@5]/8",
  P: "[~@49 [g#3,b3,e4]@15, b2@4 b2@10 d#3@3 d3@2 b2@11 d#3@3 d3@2 b2@11 d#3@16 ~@2, ~@2 d3@8 d3@22 b2@4 d#3@4 d3@24 b2@4 d#3@4 d3@25 e3@31, ~@2 d#3@4 d#3@3 a3@2 b3@10 d#3@4 a3@2 b3@10 d#3@4 a3@2 b3@5 [e2,b2]@16, ~@7 b3@3 d#3@3 a3@10 b3@3 d#3@3 a3@10 b3@3 d#3@3 a3@16 ~@3]/8", // E E5
})).s("gm_acoustic_guitar_steel").gain(0.48)

// chords · acoustic guitar steel · "Rhythm Guitar"
const acoustic_guitar_steel_2 = note(`<
  ~ A@4 ~@2 B@7 C D@2 E@2 F@4 G@7 C D@2 E@2 F@4 G@7 C D@2 E@2 H@7 I@6 J@3 ~@8 K@6 C D@2 L@6 M@5 ~@15 N@2 ~
>`.pickRestart({
  A: "[~@15 a4@16 ~, ~@3 b3@16 ~@13, ~@4 a4@11 ~@17, ~@5 f#4@16 ~@11, ~@7 d4@16 ~@9]/4",
  B: "[~@8 [a2,e3]!7 e3 [e2,b2,e3,g#3,b3,e4]!3 [e2,b2,e3,g#3,b3,e4]@2 [e2,b2,e3,g#3,b3,e4] [e2,b2,e3,g#3,b3] b2 [b2,f#3,d#4,f#4]!3 [b2,f#3,f#4]!2 [b2,f#3,d#4,f#4] [f#3,f#4]@2 [f#2,c#3,f#3,a#3,e4,f#4]!6 [f#3,f#4]@2 [b2,f#3,d#4,f#4] [b2,d#4,f#4] [b2,d#4] [b2,f#3,d#4] [b2,f#3,b3,f#4] [b2,b3,f#4] [b2,b3,d#4,f#4] [b2,f#3,b3,d#4,f#4] [b2,f#3,b3,d#4,f#4] [b2,b3,d#4,f#4]!2 [b2,f#3,b3,d#4,f#4] [b2,f#3,f#4] [b2,f#4] [b2,b3] [b2,f#3,b3], a4@14 e4 a2@16 ~@7 [f#2,c#3,a#3,e4]@16 ~@2, ~ f#4@16 ~@5 e4@10 ~@10 a3@4 a3@4 a3@4 [a3,d#4,f#4]@2, ~@2 d4@16 ~@5 [e2,e3,g#3,b3]@16 ~@3 [b3,f#4]@2 d#4@2 ~@6 [b3,d#4]@2 ~@2, ~@8 [a3,c#4,e4]@2 [a3,c#4,e4]@2 [a3,c#4,e4]@2 [a3,c#4]@13 d#4@2 ~ [b2,d#4]@10 ~ f#3@2 ~@2 f#3@2 ~@2 f#3@2 ~@2 f#3@2 ~]/7", // A5 E B B5 B F# F#7 F# …
  C: "[b2,f#3,f#4] [b2,d#4,f#4]!2 [b2,f#3,f#4] [b2,f#3] b2!2 [b2,f#3], b3 g#3@3, ~ f#3@2 d#4@2 f#3@2 ~, ~ b3@2 [a3,b3,d#4,f#4], ~@2 f#4 ~", // B5 B B5 B7
  D: "[[b2,f#3,f#4] [b2,f#4]!2 [b2,f#3,f#4]!2 [b2,f#4] [b2,g#3]@2 [e2,b2,e3]!8, ~ f#3@2 ~@2 f#3@11, ~ [a3,d#4]@7, ~@2 b3@6 [g#3,b3,e4]@3 [g#3,b3,e4]@3 [g#3,b3,e4]@2, ~@3 f#4@5]/2", // B5 E E5 Adim E
  E: "[~ [e2,b2,e3]!6 b2 b2!8, [e2,b2,e3] ~@5 b3@2 f#3@2 [b3,d#4,f#4]@2 f#3@4, ~ [g#3,e4]@3 [g#3,b3,e4]@8 [g#3,e4]@20, ~@7 [e2,e3]@9, ~@4 [b3,d#4,f#4] a3 [b3,d#4,f#4] [a3,b3,d#4,f#4]]/2", // E5 B C#m E C#m E B B7
  F: "[[b2,f#3,b3,d#4,f#4] [b2,b3,d#4,f#4] b2!2 [b2,f#3,f#4] [b2,f#4] a3@2 [a2,e3]!7 e3 [e2,b2,e3]!7 b2 b2!6 [b2,f#3,b3,d#4,f#4]@2, ~ f#3@3 ~ f#3@11 [g#3,b3,e4]@2 [g#3,b3,e4]@2 [g#3,b3,e4]@2 [g#3,e4]@10, ~@2 d#4@12 e4 a2@16 ~, ~@2 a3@4 [b2,b3]@2 [a3,c#4,e4]@3 [a3,c#4,e4]@3 [a3,c#4]@10 [f#3,b3,d#4,f#4]@2 [f#3,b3,d#4,f#4]@2 [f#3,b3,d#4,f#4]@2 ~@2, ~@2 [b3,f#4]@2 b3@2 f#4@16 b3 [e2,e3]@9]/4", // B B5 A5 E5 B E C#m B …
  G: "[~@2 [b2,f#3] b2!3 ~@2 [a2,e3]!7 ~ [e2,b2] [e2,b2,e3]!6 b2 b2!7 ~ f#2 [f#2,c#3,f#3,a#3,e4,f#4]!6 [f#3,f#4] [b2,f#3,d#4,f#4] [b2,d#4,f#4] [b2,d#4] [b2,f#3,d#4] [b2,f#3,b3,f#4] [b2,b3,f#4] [b2,b3,d#4,f#4] [b2,f#3,b3,d#4,f#4] [b2,f#3,b3,d#4,f#4] [b2,b3,d#4,f#4]!2 [b2,f#3,b3,d#4,f#4] [b2,f#3,f#4] [b2,f#4] [b2,b3] [b2,f#3,b3], ~@3 [f#3,d#4,f#4]@3 [f#3,d#4,f#4]@9 e3 [g#3,b3,e4]@2 [g#3,b3,e4]@2 [g#3,b3,e4]@2 g#3@8 f#4 b2@9 ~ f#3@2 ~@2 f#3@2 ~@2 f#3@2 ~@2 f#3@2 ~, ~@6 b2@8 e4 a2@9 [f#3,b3,d#4,f#4]@2 [a3,b3,d#4,f#4]@2 [f#3,b3,d#4,f#4]@2 [a3,b3]@12 a3@4 a3@4 a3@4 [a3,d#4,f#4]@2, ~@8 [a3,c#4,e4]@2 [a3,c#4,e4]@2 [a3,c#4,e4]@2 c#4@8 b3 [e2,e3]@16 [f#2,c#3,a#3,e4]@16 ~, ~@7 a3@4 e4@4 d#4@5 ~ [b3,f#4] d#4 ~@3 [b3,d#4] ~]/7", // B5 A5 E5 F#7 F# B B5 B …
  H: "[[b2,f#3,b3,d#4,f#4] [b2,b3,d#4,f#4] b2!2 [b2,f#3,f#4] [b2,f#4] a3@2 [a2,e3]!7 e3 [e2,b2,e3]!7 b2 b2!6 ~@2 f#2 [f#2,c#3,f#3,a#3,e4,f#4]!6 f#4 [a2,d3,a3,d4,f#4]@2 [a2,a3]@2 [a2,e3,a3,c#4,e4] ~@2 [b2,f#3,b3,d#4,f#4]@2 [b2,f#3,b3,d#4,f#4] [b2,f#3,b3,d#4,f#4]@2 [b2,f#3,b3,d#4,f#4]!2 [b2,f#3,b3,d#4,f#4]@2, ~ f#3@3 ~ f#3@11 [g#3,b3,e4]@2 [g#3,b3,e4]@2 [g#3,b3,e4]@2 g#3@16 ~ e4@3 [d3,d4]@14, ~@2 d#4@12 e4 a2@9 [f#3,b3,d#4,f#4]@2 [f#3,b3,d#4,f#4]@2 [f#3,b3,d#4,f#4]@2 [b2,b3,d#4]@12 f#4@3 [a2,e3,a3,c#4,e4]@11, ~@2 a3@4 [b2,b3]@2 [a3,c#4,e4]@3 [a3,c#4,e4]@3 [a3,c#4]@8 b3 [e2,e3]@16 [f#2,c#3,a#3]@16 ~, ~@2 [b3,f#4]@2 b3@2 f#4@16 e4@8 [f#3,f#4]@3 ~@6 f#3@8 ~@9]/7", // B B5 A5 E5 F#7 D A B …
  I: "[[a2,d3,a3,d4,f#4]@2 [a2,a3]@2 [a2,e3,a3,c#4,e4] e4@2 [b2,f#3,d#4,f#4]@2 [b2,f#3,d#4,f#4] [b2,f#3,b3,d#4,f#4]@2 [b2,f#3,d#4,f#4]!2 f#4@2 [a2,d3,a3,d4,f#4]@2 [a2,a3]@2 [a2,e3,a3,c#4,e4] ~@2 [b2,f#3,b3,d#4,f#4]@3 [b2,f#3,b3,d#4,f#4]@2 [b2,f#3,b3,d#4,f#4]!2 ~@2 [a2,e3,a3,c#4,e4]@2 [a2,e3,a3,c#4,e4]@2 [a2,e3,a3,c#4,e4] [e3,e4]@2 [e2,b2,e3,g#3,b3,e4]@2 [e2,b2,e3,g#3,b3,e4] [b2,e3,g#3,b3,e4]!2 [e2,b2,e3,g#3,b3,e4]@2 [e2,b2,e3,g#3,b3,e4]@2, ~@2 [d3,d4]@5 b3@3 ~@2 b3@9 [a2,e3,a3,c#4,e4]@11 ~@5 [a2,a3,c#4]@11, ~@2 f#4@5 e4@11 [d3,d4]@16 ~@14, ~@5 [e3,c#4]@13 f#4@5 ~@7 [b2,b3]@9 ~@3 e2@2 ~@4, ~@5 [a2,a3]@9 [b2,f#3,d#4]@9 ~@7 [f#3,d#4,f#4]@16 ~@2]/6", // D A B D A B A E …
  J: "[[a2,e3,a3,c#4,e4]@2 [a2,e3,a3,c#4,e4]@2 [a2,e3,a3,c#4,e4] [e3,e4]@2 [e2,b2,e3,g#3,b3,e4] [e2,b2,e3,g#3,b3,e4]@16, ~@5 [a2,a3,c#4]@16 ~@3]/3", // A E A
  K: "[[a2,e3,a3,c#4,e4]@2 [a2,e3,a3,c#4,e4]@2 [a2,e3,a3,c#4,e4]@2 [e3,e4]@2 [e2,b2,e3,g#3,b3,e4]!3 [e2,b2,e3,g#3,b3,e4]@2 [e2,b2,e3,g#3,b3,e4] b2@2 [b2,f#3,d#4,f#4] [b2,d#4,f#4]!2 [b2,f#3,f#4]!2 [b2,f#4] f#4@2 [f#2,c#3,f#3,a#3,e4,f#4]!6 [f#3,f#4]@2 [b2,f#3,d#4,f#4] [b2,d#4,f#4] [b2,d#4] [b2,f#3,d#4] [b2,f#3,b3,f#4] [b2,b3,f#4] [b2,b3,d#4,f#4] [b2,f#3,b3,d#4,f#4] [b2,f#3,b3,d#4,f#4] [b2,b3,d#4,f#4]!2 [b2,f#3,b3,d#4,f#4] [b2,f#3,f#4] [b2,f#4] [b2,b3] [b2,f#3,b3], ~@6 [a2,c#4]@13 d#4@2 f#3 [b2,d#4]@10 ~ f#3@2 ~@2 f#3@2 ~@2 f#3@2 ~@2 f#3@2 ~, ~@6 a3@11 f#3 a3@4 a3@12 a3@4 a3@4 a3@4 [a3,d#4,f#4]@2, ~@7 [e2,e3,g#3,b3]@8 [f#2,c#3,a#3,e4]@8 ~, ~@7 e4@5 ~@5 [b3,f#4] d#4 ~@3 [b3,d#4] ~]/6", // A E B B5 F#7 F# B B5 …
  L: "[~ [e2,b2,e3]!6 b2 b2!8 [b2,f#3,b3,d#4,f#4] [b2,b3,d#4,f#4] b2!2 [b2,f#3,f#4] [b2,f#4] a3@2 [a2,e3]!7 e3 [e2,b2,e3]!7 b2 b2!6 [b2,f#3,b3,d#4,f#4]@2, [e2,b2,e3] ~@5 b3@2 f#3@2 [b3,d#4,f#4]@2 f#3@2 [b3,d#4,f#4]@2 ~ f#3 [a3,b3,f#4]@2 b3 f#3@11 [g#3,b3,e4]@2 [g#3,b3,e4]@2 [g#3,b3,e4]@2 [g#3,e4]@10, ~ [g#3,e4]@3 [g#3,b3,e4]@8 [g#3,e4]@32 f#4@32 b3@2 [e2,e3]@18, ~@7 [e2,e3]@15 [b2,b3]@2 [a3,c#4,e4]@3 [a3,c#4,e4]@3 [a3,c#4]@10 [f#3,b3,d#4,f#4]@2 [f#3,b3,d#4,f#4]@2 [f#3,b3,d#4,f#4]@2 ~@2, ~@8 [b3,d#4,f#4]@2 a3@2 [b3,d#4,f#4]@2 a3@4 d#4@12 e4 a2@16 ~]/6", // E5 B B5 A5 E5 B E5 B …
  M: "[b2@2 b2@2 b2@2 b2@2 b2@2 b2@2 ~@4 [a2,e3,a3,c#4,e4]@4 [a2,e3,a3,c#4,e4]@4 [a2,e3,a3,c#4,e4]@2 [a2,e3,a3,c#4,e4]@2 [e3,e4]@4 [e2,b2,e3,g#3,b3,e4]@35 ~@13, [f#3,b3,d#4,f#4]!3 [f#3,d#4,f#4]@8 ~@9, ~@3 [b2,b3]@5 ~@12, ~@7 [a2,a3,c#4]@8 ~@5]/5", // A E B D#m B A
  N: "[e2,b2,e3,g#3,b3,e4]/2", // E
})).s("gm_acoustic_guitar_steel").gain(0.25)

// other · acoustic guitar steel · "Solo"
const acoustic_guitar_steel_3 = note("<~@44 A@3 B C@2 D E A F G H ~@57>".pickRestart({
  A: "a3@2 b3@2 b2@2 d3@4 b2@3 ~ b2@2", B: "a3 b3 b2 d3@2 b2 d3@2", C: "e2 ~ e2@2 b2@2 d3@4 b2@2 d3@2 e3@2",
  D: "a3 b3 b2 d3@2 b2 ~ b2", E: "a3 b3 b2 d3@2 b2@2 b2", F: "a3@2 b3@2 a3@2 d4@4 c#4@2 b3 ~ b3 c#4",
  G: "d4@2 ~ d4 c#4@2 b3@3 ~ b3@2 b3@3 ~", H: "d4 c#4 b3 a#3@3 ~@2",
})).s("gm_acoustic_guitar_steel").gain(0.8)

// bass · electric bass finger · "Bass"
const bass = note(`<
  ~@8 A B C@2 D@2 E F G@2 H@2 I J K L I M N O D@2 E F G@2 H@2 I J K L I M N O P Q R S T@2 U V W T X Y Z@2 AA@2 AB@2 W AC
  W AD@2 ~@8 A B C@2 D@2 E F G@2 H@2 I J K AE AF AG@2 ~@19
>`.pickRestart({
  A: "a1@3 ~ a1@4 a1@2 a1@2 a1@4", B: "e1@2 e1@2 e1@2 e1@2 e1 ~ e1!3 ~ e1@2",
  C: "[b1@3 ~ b1@2 ~ b1@2 ~ b1 ~ b1@2 b1 b1@2 ~ f#1 ~ f#1@2 f#1@2 f#1@2 f#1@2 f#1@2 f#1 ~]/2",
  D: "[b1@3 ~ b1@2 ~ b1!2 ~ b1 ~ b1@2 b1 b1@5 b1@3 b1 b1@2 ~ b1 b1@2 b1@2]/2", E: "b1@7 b1@2 ~ b1 ~ b1@2 a1@2",
  F: "b1@3 ~ b1@2 ~ b1!2 ~ b1@2 b1 ~ b1@2", G: "[e1@4 e1@2 ~ e1@3 e1@2 e1 ~ e1 e1@4 ~ e1@3 e1@2 e1!2 ~ e1@2 e1@2]/2",
  H: "[b1@3 ~ b1@2 b1 ~ b1 ~ b1@2 b1@2 b1 b1@3 ~@2 b1@3 a1 b1 ~ b1 ~ b1 ~ b1 ~]/2",
  I: "a1@3 ~ a1@2 ~ a1!2 ~ a1 ~ a1 ~ a1 ~", J: "e1 ~ e1 ~ e1 ~ e1 ~ e1@2 e1 ~ e1 ~ e1@2",
  K: "b1@4 b1@2 ~ b1!2 ~ b1 ~ b1 ~ b1 ~", L: "b1@3 ~ b1@3 a1 b1 ~ b1 ~ b1 ~ b1@2",
  M: "e1@3 ~ e1@2 e1@2 e1 ~ e1 ~ e1 ~ e1 ~", N: "b1@3 ~ b1@3 a1 b1 ~ b1 ~ b1@3 ~",
  O: "f#1@2 f#1 ~ f#1@2 f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1@2", P: "b1@3 ~ b1@3 ~ b1 ~ b1@3 ~ b1 ~",
  Q: "b1@3 ~ b1@3 ~ b1 ~ b1 ~ b1 ~ a1@2", R: "b1@3 ~ b1@2 ~@2 b1 ~ b1@2 b1@2 a1@2",
  S: "b1@3 ~ b1@3 ~ b1@2 b1 ~ b1@2 ~@2", T: "e1 ~ e1 ~ e1 ~ e1 ~ e1 ~ e1 ~ e1 ~ e1 ~",
  U: "b1 ~ b1 ~ b1 ~ b1@4 b1 ~ b1 ~ b1 ~", V: "b1 ~ b1 ~ b1 ~ b1@3 ~ b1 ~ b1 ~ b1 ~",
  W: "a1@3 ~ a1@3 ~ a1 ~ a1 ~ a1 ~ a1 ~", X: "b1@2 ~ b1!2 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~",
  Y: "f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~ f#1 ~",
  Z: "[d2@3 ~ d2@3 ~ a1 ~ a1@3 ~ b1@4 b1 ~ b1@3 ~ b1@2 b1 ~ b1 ~ b1 ~]/2",
  AA: "[d2@3 ~ d2@3 ~ a1 ~ a1@3 ~ b1@5 ~ b1@4 b1@2 b1 ~ b1@2 a1@2]/2",
  AB: "[d2@3 ~ d2@4 a1 ~ a1@3 ~ b1@5 ~ b1@3 ~ b1@2 ~ b1@2 ~ b1@2]/2", AC: "e1 ~ e1 ~ e1 ~ e1 ~ e1@2 e1 ~ e1@2 e1 ~",
  AD: "[e1@29 ~@3]/2", AE: "b1@3 ~ b1@3 ~ b1 ~@3 b1@2 ~@2", AF: "a1@2 ~@2 a1@3 ~ a1 ~ a1 ~ a1 ~ a1 ~",
  AG: "[e1@9 ~@7]/2",
})).s("gm_electric_bass_finger").gain(0.48)

// drums · kick
const kick = s("bd").struct(`<
  ~@10 A B A@8 B C A B A B@2 ~ A@8 B C A B A B@2 ~ A@8 B C A B A@8 B ~@12 A B A@8 B C A@3 ~@21
>`.pickRestart({
  A: "x ~@3 x!2 ~ x", B: "x ~@3 x!2 ~@2", C: "x!2 ~@6",
})).gain(0.48)

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

// drums · low tom
const low_tom = s("lt").struct("<~@8 [x!4] [x!3 ~] ~@65 [x!4] [x!3 ~] ~@36>").gain(0.48)

// drums · open hat
const open_hat = s("oh").struct("<~@8 A B C@34 ~@31 A B C@15 ~@21>".pickRestart({
  A: "x!8", B: "x!7 ~", C: "x!4",
})).gain(0.64)

// drums · crash
const crash = s("cr").struct(`<
  ~@10 A ~ A ~@3 A ~ A ~ A@3 ~ A@3 ~ A ~@3 A ~ A ~ A@3 ~ A@3 ~ A ~ A ~ A@6 B A@2 ~ A ~ A@6 ~@11 A ~ A ~@3 A ~ A ~ A@4
  ~@19 C ~@2
>`.pickRestart({
  A: "x", B: "x ~@6 x", C: "~@3 x ~@12",
})).gain(0.64)

// drums · ride
const ride = s("rd").struct("<~@2 A@6 ~@36 A@31 ~@17 A@17 B C ~@2>".pickRestart({
  A: "x!8", B: "x!16", C: "x!4 ~@12",
})).gain(0.64)

// drums · tambourine
const tambourine = s("tb").struct("<~@8 [x!16]!2 ~@34 [x!16]!12 ~@19 [x!16]!2 ~@36>").gain(0.56)

stack(
  acoustic_guitar_steel, acoustic_guitar_steel_2, acoustic_guitar_steel_3, bass, kick, snare, low_tom, open_hat, crash,
  ride, tambourine
)

More by Oasis