Strudelify
Pure Shoes cover art

Pure Shoes

All Saints

KeyF♯ majorTempo100 bpm
0:00/0:00
// Pure Shoes — All Saints
// 100 bpm, 4/4, key F# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 112 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(100/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, A@4 for four bars: edit a riff to change every repeat.

// bass · slap bass 2 · ""Pure Shores""
const bass = note(`<
  A B@2 C D@6 E@8 F@6 G@6 H@2 I ~ J@2 ~ K@3 L@8 M@6 N O@4 P@5 ~ Q R ~@2 S@2 ~@8 T U V W X Y Z AA AB@7 AC@2 AD@3 AE@7
  AF@2 AG@3 AH
>`.pickRestart({
  A: "~@9 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@3", B: "~ c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@3",
  C: "~ c#3@4 b2@4 c#3@4 d#3@3 f3@4 f#3@4 f3@4 d#3@4", D: "c#3 b2 c#3 d#3 f3 f#3 f3 d#3",
  E: "[c#3@4 b2@4 c#3@4 d#3@4 f3@3 f#3@4 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@3 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@2]/8",
  F: "[~@2 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@3 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@3]/6",
  G: "~ b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@3", H: "b2 c#3 d#3 f3 f#3 f3 d#3 c#3", I: "b2 ~@7",
  J: "[~@4 [f5,f#5] [g5,a5] [a#5,b5] [c6,c#6] [d6,d#6] [e6,f#6] [g6,g#6] [a6,a#6] ~@4 [f#6,g6] [g#6,a6] a#6 ~@45, ~@12 b6@23 ~@29]/2", // F#maj7 Gsus2 Bmaj7 C#maj7 D#maj7 Esus2 G#maj7 A#maj7 …
  K: "[~@11 f3 [f#3,g3] [a3,a#3] [b3,c4] [c#4,d4] [d#4,e4] [f#4,g4] [g#4,a4] a#4 ~@15 f3 [f#3,g3] [a3,a#3] [b3,c4] [c#4,d4] [d#4,e4] [f#4,g4] [g#4,a4] a#4 b4@23 ~@29, ~@20 b4@23 ~@53]/3", // Gmaj7 A#maj7 Cmaj7 Dmaj7 Emaj7 Gmaj7 Amaj7 Gmaj7 …
  L: "[~@2 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@4 b2@3 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@4 b2@3]/8",
  M: "~ c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@4 b2@3", N: "~ c#3@4 d#3@4 f3@4 f#3@3 f3@4 d#3@4 c#3@4 b2@4",
  O: "c#3 d#3 f3 f#3 f3 d#3 c#3 b2",
  P: "[c#3@4 d#3@4 f3@4 f#3@4 f3@3 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@4 b2@4 ~]/5",
  Q: "~@30 f5 [f#5,g5]", // Gmaj7
  R: "[a5,a#5] [b5,c6] [c#6,d6] [d#6,e6] [f#6,g6] [g#6,a6] a#6 ~@3 [f#6,g6] [g#6,a6] a#6 ~@19, ~@7 b6@23 ~@2", // A#maj7 Cmaj7 Dmaj7 Emaj7 Gmaj7 Amaj7 Gmaj7 Amaj7
  S: "[~@5 f3 [f#3,g3] [a3,a#3] [b3,c4] [c#4,d4] [d#4,e4] [f#4,g4] [g#4,a4,a#4] ~@16 [f3,f#3] [g3,a3] [a#3,b3] [c4,c#4] [d4,d#4] [e4,f#4] [g4,g#4] [a4,a#4] b4@23 ~@4, ~@13 b4@23 ~@28]/2", // Gmaj7 A#maj7 Cmaj7 Dmaj7 Emaj7 Gmaj7 F#maj7 Gsus2 …
  T: "~@7 d#4@2 g#4@2 d#4@2 g#4 ~@2", U: "~@6 c#4@7 c4@4 a#3@4 g#3@4 c4@7", V: "~@5 c#4@8 c4@12 ~@7",
  W: "~@9 c4@16 g#3@7", X: "~@5 c4@20 ~@7", Y: "~ c#4@2 c4 a#3 g#3 c4@2", Z: "~ c#4@2 c4@3 ~@2",
  AA: "~@8 c4@15 g#3@8 ~",
  AB: "[~@3 c4@20 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@3 f#3@4 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@3 f#3@4 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@3]/7",
  AC: "~ f#3@4 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@3", AD: "f#3 f3 d#3 c#3 b2 c#3 d#3 f3",
  AE: "[f#3@3 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@3 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@4 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@3 f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@3]/7",
  AF: "~ f3@4 d#3@4 c#3@4 b2@4 c#3@4 d#3@4 f3@4 f#3@3", AG: "f3 d#3 c#3 b2 c#3 d#3 f3 f#3", AH: "f3 d#3 c#3 b2 ~@4",
})).s("gm_slap_bass_2").gain(0.16).pan(1)

// bass · slap bass 2
const bass_2 = note(`<
  A B@2 C D@6 E@8 F@6 G@6 H@2 I ~@7 J@8 K@6 L M@4 N@5 ~@15 O P Q R S T U V W@7 X@2 Y@3 Z@7 AA@2 AB@3 AC
>`.pickRestart({
  A: "~@9 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@3", B: "~ f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@3",
  C: "~ f3@4 c#3@4 f3@4 c#3@3 f3@4 c#3@4 f#3@4 c#3@4", D: "f3 c#3 f3 c#3 f3 c#3 f#3 c#3",
  E: "[f3@4 c#3@4 f3@4 c#3@4 f3@3 c#3@4 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@3 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@2]/8",
  F: "[~@2 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@3 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@3]/6",
  G: "~ c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@3", H: "c#3 f3 c#3 f3 c#3 f#3 c#3 f3", I: "c#3 ~@7",
  J: "[~@2 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@4 c#3@3 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@4 c#3@3]/8",
  K: "~ f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@4 c#3@3", L: "~ f3@4 c#3@4 f3@4 c#3@3 f#3@4 c#3@4 f3@4 c#3@4",
  M: "f3 c#3 f3 c#3 f#3 c#3 f3 c#3",
  N: "[f3@4 c#3@4 f3@4 c#3@4 f#3@3 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@4 c#3@4 ~]/5",
  O: "~@7 d#4@2 g#4@2 d#4@2 g#4 ~@2", P: "~@6 c#4@7 c4@4 a#3@4 g#3@4 c4@7", Q: "~@5 c#4@8 c4@12 ~@7",
  R: "~@9 c4@16 g#3@7", S: "~@5 c4@20 ~@7", T: "~ c#4@2 c4 a#3 g#3 c4@2", U: "~ c#4@2 c4@3 ~@2", V: "~@8 c4@15 g#3@8 ~",
  W: "[~@3 c4@20 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@3 c#3@4 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@3 c#3@4 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@3]/7",
  X: "~ c#3@4 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@3", Y: "c#3 f#3 c#3 f3 c#3 f3 c#3 f3",
  Z: "[c#3@3 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@3 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@3 f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@3]/7",
  AA: "~ f#3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@4 f3@4 c#3@3", AB: "f#3 c#3 f3 c#3 f3 c#3 f3 c#3", AC: "f#3 c#3 f3 c#3 ~@4",
})).s("gm_slap_bass_2").gain(0.29).pan(0)

// chords · rock organ
const rock_organ = note(`<
  A B C D E F G H E F G I J K L I M N O P M N Q@7 R S T U R S V W X Y V W X Z AA AB AC Z AD AE AF AG AH AE AF AG AI AJ
  AK AL AI AM AN AO AP AM AQ AR AS AT AU AV AW ~@8 AX AY AZ AY BA BB BC@4 BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR
  BS@4 BT BU BV
>`.pickRestart({
  A: "~@17 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~", // G#
  B: "~@3 [g#4,g#5]@2 ~@12 [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~", // G# D#
  C: "~@3 [d#4,d#5]@2 ~@12 [b4,b5]@2 ~@4 [b4,b5]@2 ~@4 [b4,b5]@2 ~", // D# B
  D: "~@3 [b4,b5]@2 ~@11 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@2", // B A#
  E: "~ [a#4,a#5] ~@6 [g#4,g#5] ~@2 [g#4,g#5] ~@2 [g#4,g#5] ~", // A# G#
  F: "~ [g#4,g#5] ~@6 [d#4,d#5] ~@2 [d#4,d#5] ~@2 [d#4,d#5] ~", G: "~ [d#4,d#5] ~@6 [b4,b5] ~@2 [b4,b5] ~@2 [b4,b5] ~",
  H: "~ [b4,b5] ~@6 [a#4,a#5] ~@2 [a#4,a#5] ~@2 [a#4,a#5] ~", // B A#
  I: "~ [b4,b5]@2 ~@12 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@3", // B A#
  J: "~ [a#4,a#5]@2 ~@12 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@3", // A# G#
  K: "~ [g#4,g#5]@2 ~@12 [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@3", // G# D#
  L: "~ [d#4,d#5]@2 ~@12 [b4,b5]@2 ~@4 [b4,b5]@2 ~@4 [b4,b5]@2 ~@3", // D# B
  M: "[a#4,a#5] ~@6 [g#4,g#5] ~@2 [g#4,g#5] ~@2 [g#4,g#5] ~@2", // A# G#
  N: "[g#4,g#5] ~@6 [d#4,d#5] ~@2 [d#4,d#5] ~@2 [d#4,d#5] ~@2", O: "[d#4,d#5] ~@6 [b4,b5] ~@2 [b4,b5] ~@2 [b4,b5] ~@2",
  P: "[b4,b5] ~@6 [a#4,a#5] ~@2 [a#4,a#5] ~@2 [a#4,a#5] ~@2", // B A#
  Q: "[[d#4,d#5]@2 ~@12 [b4,b5]@2 ~@4 [b4,b5]@2 ~@4 [b4,b5]@2 ~@3 [b4,b5]@2 ~@12 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@12 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@12 [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@12 [b4,b5]@2 ~@4 [b4,b5]@2 ~@4 [b4,b5]@2 ~@4 [b4,b5]@2 ~@12 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@11 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@4 [g#4,g#5]@2]/7", // D# B A# G# D# B A# G#
  R: "~@6 [d#4,d#5] ~@2 [d#4,d#5] ~@2 [d#4,d#5] ~@2 [d#4,d#5]", S: "~@6 [b4,b5] ~@2 [b4,b5] ~@2 [b4,b5] ~@2 [b4,b5]",
  T: "~@6 [a#4,a#5] ~@2 [a#4,a#5] ~@2 [a#4,a#5] ~@2 [a#4,a#5]", // A#
  U: "~@6 [g#4,g#5] ~@2 [g#4,g#5] ~@2 [g#4,g#5] ~@2 [g#4,g#5]", // G#
  V: "~@11 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~", // A#
  W: "~@11 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~", // G#
  X: "~@11 [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~", // D#
  Y: "~@11 [b4,b5]@2 ~@4 [b4,b5]@2 ~@4 [b4,b5]@2 ~@4 [b4,b5]@2 ~", // B
  Z: "~@5 [b4,b5] ~@2 [b4,b5] ~@2 [b4,b5] ~@2 [b4,b5] ~", // B
  AA: "~@5 [a#4,a#5] ~@2 [a#4,a#5] ~@2 [a#4,a#5] ~@2 [a#4,a#5] ~", // A#
  AB: "~@5 [g#4,g#5] ~@2 [g#4,g#5] ~@2 [g#4,g#5] ~@2 [g#4,g#5] ~", // G#
  AC: "~@5 [d#4,d#5] ~@2 [d#4,d#5] ~@2 [d#4,d#5] ~@2 [d#4,d#5] ~", // D#
  AD: "~@10 [a#4,a#5]@2 ~@3 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@3", // A#
  AE: "~@9 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@3", // G#
  AF: "~@9 [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@3", // D#
  AG: "~@9 [b4,b5]@2 ~@4 [b4,b5]@2 ~@4 [b4,b5]@2 ~@4 [b4,b5]@2 ~@3", // B
  AH: "~@9 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@3", // A#
  AI: "~@4 [a#4,a#5] ~@2 [a#4,a#5] ~@2 [a#4,a#5] ~@2 [a#4,a#5] ~@2", // A#
  AJ: "~@4 [g#4,g#5] ~@2 [g#4,g#5] ~@2 [g#4,g#5] ~@2 [g#4,g#5] ~@2", // G#
  AK: "~@4 [d#4,d#5] ~@2 [d#4,d#5] ~@2 [d#4,d#5] ~@2 [d#4,d#5] ~@2", // D#
  AL: "~@4 [b4,b5] ~@2 [b4,b5] ~@2 [b4,b5] ~@2 [b4,b5] ~@2", // B
  AM: "~@7 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@5", // G#
  AN: "~@7 [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@5", // D#
  AO: "~@7 [b4,b5]@2 ~@4 [b4,b5]@2 ~@4 [b4,b5]@2 ~@4 [b4,b5]@2 ~@5", // B
  AP: "~@7 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@5", // A#
  AQ: "~@3 [d#4,d#5] ~@2 [d#4,d#5] ~@2 [d#4,d#5] ~@2 [d#4,d#5] ~@3", // D#
  AR: "~@3 [b4,b5] ~@2 [b4,b5] ~@2 [b4,b5] ~@2 [b4,b5] ~@3", // B
  AS: "~@3 [a#4,a#5] ~@2 [a#4,a#5] ~@2 [a#4,a#5] ~@2 [a#4,a#5] ~@3", // A#
  AT: "~@5 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@7", // G#
  AU: "~@5 [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@7", // D#
  AV: "~@5 [b4,b5]@2 ~@4 [b4,b5]@2 ~@4 [b4,b5]@2 ~@4 [b4,b5]@2 ~@7", // B
  AW: "~@2 [a#4,a#5] ~@2 [a#4,a#5] ~@2 [a#4,a#5] ~@2 [a#4,a#5] ~@4", // A#
  AX: "~@2 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@3 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@11", // G#
  AY: "~ [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@11", // D#
  AZ: "~ [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@11", // G#
  BA: "[g#4,g#5] ~@2 [g#4,g#5] ~@2 [g#4,g#5] ~@2 [g#4,g#5] ~@6", // G#
  BB: "[d#4,d#5] ~@2 [d#4,d#5] ~@2 [d#4,d#5] ~@2 [d#4,d#5] ~@6", // D#
  BC: "[[g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@11 [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@12 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@12 [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@11 [b4,b5]@2]/4", // G# D# G# D# B
  BD: "~@2 [b4,b5] ~@2 [b4,b5] ~@2 [b4,b5] ~@6 [a#4,a#5]", // B A#
  BE: "~@2 [a#4,a#5] ~@2 [a#4,a#5] ~@2 [a#4,a#5] ~@6 [g#4,g#5]", // A# G#
  BF: "~@4 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@11 [d#4,d#5]@2 ~", // G# D#
  BG: "~@3 [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@12 [b4,b5]@2 ~", // D# B
  BH: "~@3 [b4,b5]@2 ~@4 [b4,b5]@2 ~@4 [b4,b5]@2 ~@12 [a#4,a#5]@2 ~", // B A#
  BI: "~@3 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@12 [g#4,g#5]@2 ~", // A# G#
  BJ: "~ [g#4,g#5] ~@2 [g#4,g#5] ~@2 [g#4,g#5] ~@6 [d#4,d#5] ~", // G# D#
  BK: "~ [d#4,d#5] ~@2 [d#4,d#5] ~@2 [d#4,d#5] ~@6 [b4,b5] ~", BL: "~ [b4,b5] ~@2 [b4,b5] ~@2 [b4,b5] ~@6 [a#4,a#5] ~",
  BM: "~@2 [a#4,a#5]@2 ~@3 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@12 [g#4,g#5]@2 ~@3", // A# G#
  BN: "~ [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@12 [d#4,d#5]@2 ~@3", // G# D#
  BO: "~ [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@12 [b4,b5]@2 ~@3", // D# B
  BP: "~ [b4,b5]@2 ~@3 [b4,b5]@2 ~@4 [b4,b5]@2 ~@12 [a#4,a#5]@2 ~@4", // B A#
  BQ: "[a#4,a#5] ~@2 [a#4,a#5] ~@2 [a#4,a#5] ~@6 [g#4,g#5] ~@2", // A# G#
  BR: "[g#4,g#5] ~@2 [g#4,g#5] ~@2 [g#4,g#5] ~@6 [d#4,d#5] ~@2", // G# D#
  BS: "[[d#4,d#5]@2 ~@4 [d#4,d#5]@2 ~@3 [d#4,d#5]@2 ~@12 [b4,b5]@2 ~@4 [b4,b5]@2 ~@4 [b4,b5]@2 ~@4 [b4,b5]@2 ~@12 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@12 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@4 [g#4,g#5]@2 ~@11 [d#4,d#5]@2 ~@4 [d#4,d#5]@2]/4", // D# B A# G# D#
  BT: "~@2 [d#4,d#5] ~@2 [d#4,d#5] ~@6 [b4,b5] ~@2 [b4,b5]", BU: "~@2 [b4,b5] ~@2 [b4,b5] ~@6 [a#4,a#5] ~@2 [a#4,a#5]",
  BV: "~@2 [a#4,a#5] ~@13", // A#
})).s("gm_rock_organ").gain(0.18)

// chords · rock organ · soft notes
const rock_organ_soft = note(`<
  A B C D E F G D E F G H I J K H L M N O L M N P@4 Q@2 R ~ S T R ~ U V W ~ U V W ~ X Y Z ~ AA AB AC ~ AD AB AC ~ AE AF
  AG ~ AE AH AI ~ AJ AH AK ~ AL AM AN ~ AO ~@8 AP AQ AR AQ AS AT AU@4 AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK
  BL@3 BM BN BO
>`.pickRestart({
  A: "~@17 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~", // C#
  B: "~@3 [c#4,c#5]@2 ~@12 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~", C: "~@3 [a#4,a#5]@2 ~@27",
  D: "~@8 [f#4,f#5] ~@2 [f#4,f#5] ~@2 [f#4,f#5] ~", E: "~ [f#4,f#5] ~@6 [c#4,c#5] ~@2 [c#4,c#5] ~@2 [c#4,c#5] ~",
  F: "~ [c#4,c#5] ~@6 [a#4,a#5] ~@2 [a#4,a#5] ~@2 [a#4,a#5] ~", G: "~ [a#4,a#5] ~@14",
  H: "~@15 [f#4,f#5]@2 ~@4 [f#4,f#5]@2 ~@4 [f#4,f#5]@2 ~@3", // F#
  I: "~ [f#4,f#5]@2 ~@12 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@3", // F# C#
  J: "~ [c#4,c#5]@2 ~@12 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@3", K: "~ [a#4,a#5]@2 ~@29",
  L: "[f#4,f#5] ~@6 [c#4,c#5] ~@2 [c#4,c#5] ~@2 [c#4,c#5] ~@2", // F# C#
  M: "[c#4,c#5] ~@6 [a#4,a#5] ~@2 [a#4,a#5] ~@2 [a#4,a#5] ~@2", N: "[a#4,a#5] ~@15",
  O: "~@7 [f#4,f#5] ~@2 [f#4,f#5] ~@2 [f#4,f#5] ~@2", // F#
  P: "[~@13 [f#4,f#5]@2 ~@4 [f#4,f#5]@2 ~@4 [f#4,f#5]@2 ~@4 [f#4,f#5]@2 ~@12 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@12 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@31]/4", // F# C# A#
  Q: "[~@13 [f#4,f#5]@2 ~@4 [f#4,f#5]@2 ~@4 [f#4,f#5]@2 ~@4 [f#4,f#5]@2 ~@11 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@4 [c#4,c#5]@2]/2", // F# C#
  R: "~@6 [a#4,a#5] ~@2 [a#4,a#5] ~@2 [a#4,a#5] ~@2 [a#4,a#5]", // A#
  S: "~@6 [f#4,f#5] ~@2 [f#4,f#5] ~@2 [f#4,f#5] ~@2 [f#4,f#5]", // F#
  T: "~@6 [c#4,c#5] ~@2 [c#4,c#5] ~@2 [c#4,c#5] ~@2 [c#4,c#5]", // C#
  U: "~@11 [f#4,f#5]@2 ~@4 [f#4,f#5]@2 ~@4 [f#4,f#5]@2 ~@4 [f#4,f#5]@2 ~", // F#
  V: "~@11 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~", // C#
  W: "~@11 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~", // A#
  X: "~@5 [f#4,f#5] ~@2 [f#4,f#5] ~@2 [f#4,f#5] ~@2 [f#4,f#5] ~", // F#
  Y: "~@5 [c#4,c#5] ~@2 [c#4,c#5] ~@2 [c#4,c#5] ~@2 [c#4,c#5] ~", // C#
  Z: "~@5 [a#4,a#5] ~@2 [a#4,a#5] ~@2 [a#4,a#5] ~@2 [a#4,a#5] ~", // A#
  AA: "~@10 [f#4,f#5]@2 ~@3 [f#4,f#5]@2 ~@4 [f#4,f#5]@2 ~@4 [f#4,f#5]@2 ~@3", // F#
  AB: "~@9 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@3", // C#
  AC: "~@9 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@3", // A#
  AD: "~@9 [f#4,f#5]@2 ~@4 [f#4,f#5]@2 ~@4 [f#4,f#5]@2 ~@4 [f#4,f#5]@2 ~@3", // F#
  AE: "~@4 [f#4,f#5] ~@2 [f#4,f#5] ~@2 [f#4,f#5] ~@2 [f#4,f#5] ~@2", // F#
  AF: "~@4 [c#4,c#5] ~@2 [c#4,c#5] ~@2 [c#4,c#5] ~@2 [c#4,c#5] ~@2", // C#
  AG: "~@4 [a#4,a#5] ~@2 [a#4,a#5] ~@2 [a#4,a#5] ~@2 [a#4,a#5] ~@2", // A#
  AH: "~@7 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@5", // C#
  AI: "~@7 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@5", // A#
  AJ: "~@7 [f#4,f#5]@2 ~@4 [f#4,f#5]@2 ~@4 [f#4,f#5]@2 ~@4 [f#4,f#5]@2 ~@5", // F#
  AK: "~@3 [a#4,a#5] ~@2 [a#4,a#5] ~@2 [a#4,a#5] ~@2 [a#4,a#5] ~@3", // A#
  AL: "~@3 [f#4,f#5] ~@2 [f#4,f#5] ~@2 [f#4,f#5] ~@2 [f#4,f#5] ~@3", // F#
  AM: "~@5 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@7", // C#
  AN: "~@5 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@7", // A#
  AO: "~@2 [f#4,f#5] ~@2 [f#4,f#5] ~@2 [f#4,f#5] ~@2 [f#4,f#5] ~@4", // F#
  AP: "~@2 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@3 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@11", // C#
  AQ: "~ [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@11", // A#
  AR: "~ [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@11", // C#
  AS: "[c#4,c#5] ~@2 [c#4,c#5] ~@2 [c#4,c#5] ~@2 [c#4,c#5] ~@6", // C#
  AT: "[a#4,a#5] ~@2 [a#4,a#5] ~@2 [a#4,a#5] ~@2 [a#4,a#5] ~@6", // A#
  AU: "[[c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@11 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@12 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@12 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@13]/4", // C# A# C# A#
  AV: "~@15 [f#4,f#5]", AW: "~@2 [f#4,f#5] ~@2 [f#4,f#5] ~@2 [f#4,f#5] ~@6 [c#4,c#5]",
  AX: "~@4 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@11 [a#4,a#5]@2 ~", // C# A#
  AY: "~@3 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@15", AZ: "~@29 [f#4,f#5]@2 ~",
  BA: "~@3 [f#4,f#5]@2 ~@4 [f#4,f#5]@2 ~@4 [f#4,f#5]@2 ~@12 [c#4,c#5]@2 ~", // F# C#
  BB: "~ [c#4,c#5] ~@2 [c#4,c#5] ~@2 [c#4,c#5] ~@6 [a#4,a#5] ~", BC: "~ [a#4,a#5] ~@2 [a#4,a#5] ~@2 [a#4,a#5] ~@8",
  BD: "~@14 [f#4,f#5] ~", BE: "~@2 [f#4,f#5]@2 ~@3 [f#4,f#5]@2 ~@4 [f#4,f#5]@2 ~@12 [c#4,c#5]@2 ~@3",
  BF: "~ [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@12 [a#4,a#5]@2 ~@3", // C# A#
  BG: "~ [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@17", BH: "~@13 [f#4,f#5] ~@2",
  BI: "[f#4,f#5] ~@2 [f#4,f#5] ~@2 [f#4,f#5] ~@6 [c#4,c#5] ~@2", // F# C#
  BJ: "[c#4,c#5] ~@2 [c#4,c#5] ~@2 [c#4,c#5] ~@6 [a#4,a#5] ~@2", BK: "[a#4,a#5]@2 ~@4 [a#4,a#5]@2 ~@3 [a#4,a#5]@2 ~@19",
  BL: "[~@25 [f#4,f#5]@2 ~@4 [f#4,f#5]@2 ~@4 [f#4,f#5]@2 ~@4 [f#4,f#5]@2 ~@12 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@4 [c#4,c#5]@2 ~@11 [a#4,a#5]@2 ~@4 [a#4,a#5]@2]/3", // F# C# A#
  BM: "~@2 [a#4,a#5] ~@2 [a#4,a#5] ~@10", BN: "~@12 [f#4,f#5] ~@2 [f#4,f#5]", BO: "~@2 [f#4,f#5] ~@13",
})).s("gm_rock_organ").gain(0.11)

// bass · electric bass finger · "Taken from"
const bass_3 = note(`<
// … 301 more lines

More by All Saints