Strudelify
Blow Your Mind cover art

1993 · Emergency on Planet Earth

Blow Your Mind

Jamiroquai

KeyD minorTempo105 bpm
0:00/0:00
// Blow Your Mind — Jamiroquai
// 105 bpm, 4/4, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 3/4 at bar 44, 4/4 at bar 45, 3/4 at bar 60, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: 278 stray notes after a silence of more than 6 bars (from bar 166) are dropped
// note: Full arrangement: all 117 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(105/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 · "untitled"
const bass = note(`<
  ~@4 A@7 B@8 C@3 D@2 E@4 F@7 G@3 D@2 E@2 H@2 I@7 J@3 K@2 L@2 M@2 N O P Q@7 R@3 S@2 T@4 U@7 V@3 T@4 W@2 X@7 V@3 T@4 Y@2
  Z AA AB@4
>`.pickRestart({
  A: "[~@13 d3 c2 ~@2 d2@4 ~ a1 d2@3 d2@3 d2 ~@2 eb2@2 e2@4 e2@3 e2@4 ~@7 a2 ~@5 d1 ~@2 d3 c2 ~@2 d2@4 ~ a1 d2@3 d2@3 d2 ~@2 eb2@2 e2@4 e2@3 e2@4 ~@7 a2 ~@5 d1 ~@2 d3 c2 ~@2 d2@4 ~ a1 d2@3 d2@3 d2 ~@2 eb2@2 e2@4 e2@3 e2@4 ~@7 a2 ~@5 d1 ~@2 d3 c2 ~@2 d2@4 ~ a1 d2, ~@11 d2@6 ~@30 a1@12 d2@6 ~@30 a1@12 d2@6 ~@30 a1@12 d2@6 ~@7, ~@53 g2@10 ~@38 g2@10 ~@38 g2@10 ~@9]/7",
  B: "[~@2 d2@3 d2 ~@2 eb2@2 e2@4 e2@3 e2@4 ~@7 a2 ~@5 d1 ~@2 d3 c2 ~@2 d2@4 ~ a1 d2@3 d2@3 d2 ~@2 eb2@2 e2@4 e2@3 e2@4 ~@7 a2 ~@5 d1 ~@2 d3 c2 ~@2 d2@4 ~ a1 d2@3 d2@3 d2 ~@2 eb2@2 e2@4 e2@3 e2@4 ~@7 a2 ~@5 d1 ~@2 d3 c2 ~@2 d2@4 ~ a1 d2@3 d2@3 d2 ~@2 eb2@2 e2@4 e2@3 e2@4 ~@7 a2 ~@5 d1 ~@2 d3 c2 ~@2 d2@4 ~ a1 d2, ~@23 a1@12 d2@6 ~@30 a1@12 d2@6 ~@30 a1@12 d2@6 ~@30 a1@12 d2@6 ~@7, ~@29 g2@10 ~@38 g2@10 ~@38 g2@10 ~@38 g2@10 ~@9]/8",
  C: "[~@2 d2@3 d2 ~@2 eb2@2 e2@4 e2@3 e2@4 ~@7 a2 ~@5 eb1 ~@2 eb3 db2 ~@2 eb2@4 ~ bb1 eb2@3 eb2@3 eb2 ~@2 eb2@2 f2@4 f2@3 f2@4 ~@2 bb1, ~@23 a1@12 eb2@6 ~@31, ~@29 g2@10 ~@33]/3",
  D: "[~@4 bb2 ~@5 eb1 ~@2 eb3 db2 ~@2 eb2@4 ~ bb1 eb2@3 eb2@3 eb2 ~@2 eb2@2 f2@4 f2@3 f2@4 ~@2 bb1, ~@5 ab2@6 eb2@6 ~@31]/2",
  E: "[~@4 bb2 ~@5 eb1 ~@2 eb3 db2 ~@2 eb2@2 ~@3 bb1 eb2@3 eb2@3 eb2 ~@2 eb2@2 f2@4 f2@3 f2@4 ~@2 bb1, ~@5 ab2@10 ~@33, ~@11 eb2@4 ~@33]/2",
  F: "[~@4 bb2 ab2@5 d1 ~@2 d3 c2 ~@2 d2@4 ~ a1 d2@3 d2@3 d2 ~@2 eb2@2 e2@4 e2@3 e2@4 ~@7 a2 g2@5 d1 ~@2 d3 c2 ~@2 d2@2 ~@3 a1 d2@3 d2@3 d2 ~@2 eb2@2 e2@4 e2@3 e2@4 ~@7 a2 ~@5 d1 ~@2 d3 c2 ~@2 d2@2 ~@3 a1 d2@3 d2@3 d2 ~@2 eb2@2 e2@4 e2@3 e2@4 ~@7 a2 ~@5 d1 ~@2 d3 c2 ~@2 d2@2 ~@3 a1 d2, ~@11 d2@6 ~@30 a1@12 d2@4 ~@32 a1@12 d2@6 ~@30 a1@12 d2@4 ~@9, ~@101 g2@10 ~@38 g2@10 ~@9]/7",
  G: "[~@2 d2@3 d2 ~@2 eb2@2 e2@4 e2@3 e2@3 ~@8 a2 ~@5 d1 ~@2 eb3 db2 ~@2 eb2@4 ~ bb1 eb2@3 eb2@3 eb2 ~@2 eb2@2 f2@4 f2@3 f2@4 ~@2 bb1, ~@20 e2@7 ~@2 g2@10 ~@33, ~@23 a1@12 eb2@6 ~@31]/3",
  H: "[~@4 bb2 ~@5 eb1 ~@2 eb3 db2 ~@2 eb2@2 ~@3 bb1 eb2@3 eb2@3 eb2 ~@2 eb2@2 f2 eb2 ~@10 f2 ~, ~@5 ab2@10 ~@33, ~@11 eb2@4 ~@24 db2@9]/2",
  I: "[~@2 c2@7 ~@3 d3 ~ c2 ~@2 d2@4 a1 ~ d2@3 d2@3 d2 ~@3 e2@5 e2@3 e2@4 ~@6 a2 ~@5 d1 ~@2 d3 ~ c2 ~@2 d2@2 ~@2 a1 ~ d2@3 d2@3 d2 ~@3 e2@5 e2@3 e2@4 ~@6 a2 ~@5 d1 ~@2 d3 ~ c2 ~@2 d2@2 ~@2 a1 ~ d2@3 d2@3 d2 ~@3 e2@5 e2@3 e2@4 ~@6 a2 ~@5 d1 ~@2 d3 ~ c2 ~@2 d2@2 ~@2 a1 ~ d2, ~@11 d2@6 ~@15 eb2@2 ~@13 a1@13 ~@35 a1@12 d2@6 ~@15 eb2@2 ~@13 a1@12 d2@4 ~@9, ~@53 g2@6 d2@4 ~@17 eb2@2 ~@19 g2@10 ~@38 g2@10 ~@9]/7",
  J: "[~@2 d2@3 d2 ~@3 e2@5 e2@3 e2@4 ~@6 a2 ~ g2@6 ~ eb3 ~ db2 ~@2 eb2@4 bb1 ~ eb2@3 eb2@3 eb2 ~@3 f2@5 f2@3 f2@4 ~@2 bb1, ~@8 eb2@2 ~@13 a1@7 ~@5 eb2@6 ~@15 eb2@2 ~@14]/3",
  K: "[~@3 bb2 ~@5 eb1 ~@2 eb3 ~ db2 ~@2 eb2@4 bb1 ~ eb2@3 eb2@3 eb2 ~@3 f2@5 f2@3 f2@4 ~@2 bb1, ~@5 ab2@6 eb2@6 ~@15 eb2@2 ~@14]/2",
  L: "[~@3 bb2 ~@5 eb1 ~@2 eb3 ~ db2 ~@2 eb2@2 ~@2 bb1 ~ eb2@3 eb2@3 eb2 ~@3 f2@2 f2@3 f2@3 f2@4 ~@2 bb1, ~@5 ab2@10 ~@33, ~@11 eb2@4 ~@17 eb2@2 ~@14]/2",
  M: "[~@3 bb2 ~@5 eb1 ~@2 eb3 ~ db2 ~@2 eb2@2 ~@2 bb1 ~ eb2@3 eb2@3 eb2 ~@3 f2 ~ eb2 ~@9 f2 ~@2, ~@5 ab2@10 ~@33, ~@11 eb2@4 ~@17 eb2@2 ~@5 db2@8 ~]/2",
  N: "~ c2@7 ~@16", O: "~@10 eb2 ~@2 db2@7 f2 ~@3", P: "~ c2 ~",
  Q: "[~@12 d3 ~ c2 ~@2 d2@4 a1 ~ d2@3 d2@3 d2 ~@3 e2@5 e2@3 e2@4 ~@6 a2 ~ g2@6 ~ d3 ~ c2 ~@2 d2@2 ~@2 a1 ~ d2@3 d2@3 d2 ~@3 e2@5 e2@3 e2@4 ~@6 a2 ~@7 a1 d3 ~ c2 ~@2 d2@2 ~@2 a1 ~ d2@3 d2@3 d2 ~@3 e2@5 e2@3 e2@4 ~@6 a2 ~@7 a1 d3 ~ c2 ~@2 d2@2 ~@2 a1 ~ d2, ~@11 d2@6 ~@15 eb2@2 ~@13 a1@12 d2@4 ~@17 eb2@2 ~@13 a1@12 d2@4 ~@17 eb2@2 ~@13 a1@12 d2@4 ~@9, ~@101 g2@10 ~@38 g2@10 ~@9]/7",
  R: "[~@2 d2@3 d2 ~@3 e2@5 e2@3 e2@4 ~@2 a1@4 a2 ~ g2@4 ~@2 ab2 eb3 ~ db2 ~@2 eb2@4 bb1 ~ eb2@3 eb2@3 eb2 ~@3 f2@5 f2@3 f2@4 ~@2 bb1, ~@8 eb2@2 ~@25 eb2@6 ~@15 eb2@2 ~@14]/3",
  S: "[~@3 bb2 ~ ab2@6 ~ eb3 ~ db2 ~@2 eb2@2 ~@2 bb1 ~ eb2@3 eb2@3 eb2 ~@3 f2@2 f2@3 f2@3 f2@4 ~@2 bb1, ~@11 eb2@4 ~@17 eb2@2 ~@14]/2",
  T: "[~@3 bb2 ~@8 eb3 ~ db2 ~@2 eb2@2 ~@2 bb1 ~ eb2@3 eb2@3 eb2 ~@3 f2@2 f2@3 f2@3 f2@4 ~@2 bb1, ~@5 ab2@10 ~@33, ~@11 eb2@4 ~@17 eb2@2 ~@14]/2",
  U: "[~@3 bb2 ~@8 d3 ~ c2 ~@2 d2@2 ~@2 a1 ~ d2@3 d2@3 d2 ~@3 e2@5 e2@3 e2@4 ~@2 a1@4 a2 ~ g2@4 ~@3 d3 ~ c2 ~@2 d2@2 ~@2 a1 ~ d2@3 d2@3 d2 ~@3 e2@5 e2@3 e2@4 ~@2 a1@4 a2 ~ g2@4 ~@3 d3 ~ c2 ~@2 d2@2 ~@2 a1 ~ d2@3 d2@3 d2 ~@3 e2@5 e2@3 e2@4 ~@6 a2 ~ g2@4 ~@3 d3 ~ c2 ~@2 d2@2 ~@2 a1 ~ d2, ~@5 ab2@10 ~@153, ~@11 d2@4 ~@17 eb2@2 ~@25 d2@4 ~@17 eb2@2 ~@25 d2@4 ~@17 eb2@2 ~@13 a1@7 ~@5 d2@3 ~@10]/7",
  V: "[~@2 d2@3 d2 ~@3 e2@5 e2@3 e2@4 ~@2 a1@4 a2 ~ g2@4 ~@3 eb3 ~ db2 ~@2 eb2@2 ~@2 bb1 ~ eb2@3 eb2@3 eb2 ~@3 f2@4 ~ f2@2 ~ f2 ~@5 bb1, ~@8 eb2@2 ~@25 eb2@4 ~@17 eb2@2 ~@14]/3",
  W: "[~@3 bb2 ~@8 eb3 ~ db2 ~@2 eb2@2 ~@4 eb2@3 eb2@3 eb2 ~@3 f2@5 f2@3 f2@4 ~@3, ~@5 ab2@10 ~@33, ~@11 eb2@4 ~@17 e2@2 ~@14]/2",
  X: "[~@3 bb2 ~ ab2@4 ~@3 d3 ~ c2 ~@2 d2@2 ~@2 a1 ~ d2@3 d2@3 d2 ~@3 e2@5 e2@3 e2@4 ~@2 a1@4 a2 ~ g2@4 ~@3 d3 ~ c2 ~@2 d2@2 ~@2 a1 ~ d2@3 d2@3 d2 ~@3 e2@5 e2@3 e2@4 ~@2 a1@4 a2 ~ g2@4 ~@3 d3 ~ c2 ~@2 d2@2 ~@2 a1 ~ d2@3 d2@3 d2 ~@3 e2@5 e2@3 e2@4 ~@6 a2 ~ g2@4 ~@3 d3 ~ c2 ~@2 d2@2 ~@2 a1 ~ d2, ~@11 d2@4 ~@17 eb2@2 ~@25 d2@4 ~@17 eb2@2 ~@25 d2@4 ~@17 eb2@2 ~@13 a1@7 ~@5 d2@3 ~@10]/7",
  Y: "[~@3 bb2 ~@8 eb3 ~ db2 ~@2 eb2@2 ~@4 eb2@3 eb2@3 g2 ~@3 bb2@2 bb2 ~@3 ab2@3 ~@4 g2 ~, ~@5 ab2@10 ~@17 ab2@2 ~@14, ~@11 eb2@4 ~@33]/2",
  Z: "~@2 f2@6 eb2 ~@4 db2@11", AA: "~@10 bb2 ~@2 ab2@3 ~@5 g2 ~@2",
  AB: "[~ f2@6 eb2 ~@7 a2@68 ~@13, ~@11 db2@8 ~@77]/4",
})).s("gm_acoustic_bass").gain(0.41)

// other · epiano1
const epiano1 = note(`<
  A@6 ~@14 B@5 C D@8 E@4 F@2 G@2 H@2 I@7 J@5 K@2 L@2 ~@3 M@6 ~@2 N ~@7 O@6 ~ P@2 ~@3 Q R S@2 T@8 U@6 V@2 W@2 X@3 ~
>`.pickRestart({
  A: "[~@119 e5@10 ~ e6@14, ~@11 e6@14 ~@4 d6@16 ~@2 d5@16 ~@2 b4@16 ~@2 b4@16 ~@2 g4@14 ~@29, ~@17 b5@16 ~@2 b5@16 ~@2 g5@16 ~@2 a4@16 ~@2 e4@16 ~@2 e4@22 ~@15, ~@23 a5@16 ~@2 e5@16 ~@2 e5@16 ~@2 d5@10 ~@8 d4@16 ~@33]/6",
  B: "[~@11 f4@12 bb4@12 ab4@12 eb5@12 bb4@12 f4@12 eb4@12 ab4@12 db5@12 c5]/5", C: "~@2 c5@2 bb4 c5@19",
  D: "[~@8 bb4@3 bb4@12 eb5@12 f5@24 e5@12 e6@12 e5@24 e5@12 e6@12 e5@12 d5@12 c5@24 a4@13]/8",
  E: "[~@11 a4@24 ~@12 a4@2 b4@3 c5@3 d5@3 ~ eb5@12 eb6@12 f5@12 ~, ~@35 a5@24 ~@37]/4",
  F: "[~@11 eb5@12 bb5@12 f5@12 ~]/2", G: "[~@11 f5@12 c5@3 c5@2 bb4 c5@6 ~@13]/2",
  H: "[~@8 bb4@3 bb4@12 eb5@12 ~@13]/2",
  I: "[~@11 e6@12 b5@12 ~@12 a5@12 c6@12 g5@12 b5@12 e5@12 ~@9 c5 a4 ~ c5 ~@2 d5 ~@2 c5 a4 ~@4 a4@24 a4@13, ~@35 d6@24 ~@48 e5@24 ~@37]/7",
  J: "[~@23 a4@2 ~@4 d5 e5@4 ~ eb5@12 eb6@12 bb5@24 eb5@24 db5@12 db5, ~@11 a5@24 ~@85, ~@13 c5@4 ~@43]/5",
  K: "[bb4 ~@2 db5 ~@2 db5 ~@4 bb4@24 ~@13]/2", L: "[~@5 eb5@3 ~@3 bb4@24 ~@13]/2",
  M: "[~@23 a5@12 e5@12 a5@12 e5@12 a4@12 ~@16 b4 ~@2 b4 ~ d5 ~@2 c5@24 ~@13, ~@83 e5@22 ~@39]/6",
  N: "~@3 bb4 ~ bb4 c5 ~ d5 ~@2 eb5@8 ~@5",
  O: "[~@107 e4@22 ~@15, ~@11 e6@14 ~@4 d6@16 ~@2 d5@16 ~@2 b4@16 ~@2 b4@16 ~@2 g4@14 ~@29, ~@17 b5@16 ~@2 b5@16 ~@2 g5@16 ~@2 a4@16 ~@2 e4@16 ~@39, ~@23 a5@16 ~@2 e5@16 ~@2 e5@16 ~@2 d5@10 ~@8 d4@16 ~@33]/6",
  P: "[~@24 b4@3 c5@4 ~ d5@3 ~@13, ~@23 a4@4 ~@21]/2", Q: "~@23 ab4", R: "~@2 bb4 ~@2 db5 bb4 ~@17",
  S: "[~@11 db5@11 ~ bb4@3 db5 ~@2 bb4@15 ~@4]/2",
  T: "[~@107 e4@22 ~@14 c5@6 e5@6 c5@12 a4@12 g4 a4 ~@2 b4 ~@2 c5 ~@2 d5 ~@2, ~@11 e6@14 ~@4 d6@16 ~@2 d5@16 ~@2 b4@16 ~@2 b4@16 ~@2 g4@14 ~@77, ~@17 b5@16 ~@2 b5@16 ~@2 g5@16 ~@2 a4@16 ~@2 e4@16 ~@87, ~@23 a5@16 ~@2 e5@16 ~@2 e5@16 ~@2 d5@10 ~@8 d4@16 ~@81]/8",
  U: "[e5@3 f5@4 ~ g5@3 ab5@6 ab4@6 ab5@6 ab4@6 ab5@6 bb5@6 ab5@6 ~@6 ab5@6 ab4@6 ab5@6 ab4@6 ab5@6 bb5@6 ab5@6 eb6@6 ~@12 ab4 ~@2 bb4 ~@2 db5 bb4 ~@17, ~@107 db6@26 ~@11]/6",
  V: "[~@11 db5@11 ~ bb4@3 db5 ~@2 bb4@6 a4 ~@3 g4@3 ~@4 gb4 ~]/2",
  W: "[~@2 e4@6 d4 ~@4 c4@19 ~@2 a4 ~@2 g4@3 ~@5 gb4 ~@2]/2", X: "[~ e4@6 d4 ~@3 c4@3 ~ g5@38 ~@19]/3",
})).s("gm_epiano1").gain(0.41)

// other · epiano1 · soft notes
const epiano1_soft = note("<~@87 A@6 ~@24>".pickRestart({
  A: "[~@107 bb4@15 ~@22, ~@11 eb5@12 eb6@9 ~@3 bb5@9 ~@3 f5@9 ~@3 f5@9 ~@3 db5@9 ~@3 db5@9 ~@3 ab4@9 ~@40, ~@17 ab5@9 ~@3 db6@9 ~@3 ab5@9 ~@3 ab5@9 ~@3 eb5@9 ~@3 ab4@9 ~@3 bb4@9 ~@3 db5@9 ~@34]/6",
})).s("gm_epiano1").gain(0.26)

// other · drawbar organ
const drawbar_organ = note("<A@5 ~@108 B@4>".pickRestart({
  A: "[~@11 e3@24 g3@12 e3@12 e3@24 g3@12 e3@12 e3@12 ~]/5", B: "[~@5 a2@23 ~@4]/4",
})).s("gm_drawbar_organ").gain(0.2)

// chords · electric guitar jazz
const electric_guitar_jazz = note(`<
  ~@20 A@3 B@4 C@4 D@4 E@4 B@4 F ~@27 G@3 H@4 I@4 J@4 K@2 ~@15 G@3 H@4 L ~@6
>`.pickRestart({
  A: "[~@11 f4@5 ~@7 f4@5 ~@7 ab4@4 ~@2 f4 ~@2 eb4 ~ f4@13 f4@3 gb4 ~@2 eb4 ~@5 f4]/3",
  B: "[~ gb4 ~@2 eb4 ~@6 ab4@4 ~@2 f4 ~@2 eb4 ~ f4@13 f4@5 ~@7 f4@5 ~@7 ab4@4 ~@2 f4 ~@2 eb4 ~ f4@13 f4@3 gb4 ~@2 eb4 ~@5 f4]/4",
  C: "[~ gb4 ~@2 eb4 ~@6 ab4@4 ~@2 f4 ~@2 eb4 ~ eb4@7 ~@6 e4@5 ~@7 e4@5 ~@7 g4@4 ~@2 e4 ~@2 d4 ~ e4@13 e4@3 f4 ~@2 d4 ~@5 e4]/4",
  D: "[~ f4 ~@2 d4 ~@6 g4@4 ~@2 e4 ~@2 d4 ~ e4@13 e4@5 ~@7 e4@5 ~@7 g4@4 ~@2 e4 ~@2 d4 ~ e4@13 e4@3 f4 ~@2 d4 ~@5 e4]/4",
  E: "[~ f4 ~@2 d4 ~@6 g4@4 ~@2 e4 ~@2 d4 ~ d4@7 ~@6 f4@5 ~@7 f4@5 ~@7 ab4@4 ~@2 f4 ~@2 eb4 ~ f4@13 f4@3 gb4 ~@2 eb4 ~@5 f4]/4",
  F: "~ gb4 ~@2 eb4 ~@19", G: "[~@11 f4@5 ~@7 f4@5 ~@7 ab4@4 ~@2 f4 ~@2 eb4 f4@13 ~ f4@3 gb4 ~@2 eb4 ~@5 f4]/3",
  H: "[gb4 ~@2 eb4 ~@7 ab4@4 ~@2 f4 ~@2 eb4 f4@13 ~ f4@5 ~@7 f4@5 ~@7 ab4@4 ~@2 f4 ~@2 eb4 f4@13 ~ f4@3 gb4 ~@2 eb4 ~@5 f4]/4",
  I: "[gb4 ~@2 eb4 ~@7 ab4@4 ~@2 f4 ~@2 eb4 eb4@7 ~@7 e4@5 ~@7 e4@5 ~@7 g4@4 ~@2 e4 ~@2 d4 e4@13 ~ e4@3 f4 ~@2 d4 ~@5 e4]/4",
  J: "[f4 ~@2 d4 ~@7 g4@4 ~@2 e4 ~@2 d4 e4@13 ~ e4@5 ~@7 e4@5 ~@7 g4@4 ~@2 e4 ~@2 d4 e4@13 ~ e4@3 f4 ~@2 d4 ~@5 e4]/4",
  K: "[f4 ~@2 d4 ~@7 g4@4 ~@2 e4 ~@2 d4 d4@7 ~@20]/2", L: "gb4 ~@2 eb4 ~@20",
})).s("gm_electric_guitar_jazz").gain(0.26).pan(0)

// chords · electric guitar jazz · soft notes
const electric_guitar_jazz_2 = note(`<
  ~@20 A B ~ C A B ~ C D E ~ F D E ~ F A B ~ C A B ~@29 G H ~ C G H ~ C I J ~ F I J ~ F ~@16 G H ~ C G H ~@8
>`.pickRestart({
  A: "~@16 [eb4,eb5] ~@7", B: "~@4 [eb4,eb5] ~@9 gb4 ~@9", C: "~@14 gb4 ~@9", D: "~@16 [d4,d5] ~@7",
  E: "~@4 [d4,d5] ~@9 f4 ~@9", F: "~@14 f4 ~@9", G: "~@15 [eb4,eb5] ~@8", H: "~@3 [eb4,eb5] ~@10 gb4 ~@9",
  I: "~@15 [d4,d5] ~@8", J: "~@3 [d4,d5] ~@10 f4 ~@9",
})).s("gm_electric_guitar_jazz").gain(0.1).pan(0)

// other · trombone
const trombone = note(`<
  ~@29 A B C D ~ E@8 F@2 G@2 H@2 I@2 J@2 K L M N O ~ P@2 Q R S@2 ~@7 T@6 U@8 V@2 ~@23 W X@2 Y@3 ~
>`.pickRestart({
  A: "~@8 e4 ~ d4 ~@13", B: "~@8 g4 ~ e4 ~@13", C: "~@22 a4 ~", D: "~ a4 ~@2 a4@2 ~@18",
  E: "[~@11 a3@6 c4@6 d4@6 e4@3 ~@2 a4 ~@3 d4@13 ~@8 f4@6 ~@3 bb3 ~ db4@7 f4 ~@2 e4 ~ eb4@12 ~ ab4@2 ~ gb4 ~@2 f4 ~@4 f4@7 db4 ~@4 db4@7 bb4 ~@2 f4 ~ eb4@24 ~ f4@6 db4 ~@4 db4@7 f4 ~@4 eb4@12 ~ ab4, ~@37 e4@2 ~@153]/8",
  F: "[~@2 gb4 ~@2 f4 ~@4 f4@7 db4 ~@4 db4@8 ~@5 [eb4,eb5] ~ [db4,db5] ~ [eb4,eb5] ~ [db4,db5] ~@2 [bb3,bb4] ~ [db4,db5] ~]/2", // Eb Db Eb Db Bb Db
  G: "[[e4,e5] ~ [eb4,eb5] [db4,db5] ~ [bb3,bb4] ~@5 d4@24 a3 ~@2 c4 ~@2 d4 e4 ~@2 a4@3]/2", // E Eb Db Bb
  H: "[~@2 e4 ~@2 d4 ~@2 c4 d4@25 ~ a3 ~@2 c4 ~@2 d4 e4 ~@2 c5@3]/2",
  I: "[~@2 e4 ~@2 d4 ~@2 c4 d4@19 ~@4 eb4 d4@4 ~ c4 a3@4 ~ c4 eb4@3]/2",
  J: "[~@2 d4 ~@2 c4 a3 ~@2 a3@25 ~ [a3,a4]@3 [c4,c5] ~@2 [d4,d5] [e4,e5] ~@2 [a4,a5]@3]/2", // A C D E A
  K: "~@2 [c4,c6]@2 ~ [d4,d6] [e4,e6] ~@17", L: "~@8 [f4,f5] [eb4,eb5] ~@14", M: "~@8 [ab4,ab5] [f4,f5] ~@14",
  N: "~@21 [bb3,bb4,bb5] ~@2", O: "[bb3,bb4,bb5] ~@2 [bb4,bb5]@2 ~@19, ~@3 bb3 ~@20",
  P: "[~@11 bb3@6 db4@6 eb4@6 f4@3 ~@3 [eb4,eb5] ~ [db4,db5] ~ [eb4,eb5] ~ [db4,db5] ~ [bb3,bb4] ~ [db4,db5] ~ [e4,e5]]/2", // Eb Db Eb Db Bb Db E
  Q: "~ [eb4,eb5] ~ [db4,db5] ~ [g3,g4]@15 ~@4", // Eb Db G
  R: "~@10 [eb4,eb5] [db4,db5] ~ [eb4,eb5] ~ [bb3,bb4] ~ [bb3,bb4] ~ [db4,db5] ~ [eb4,eb5] ~ [e4,e5]", // Eb Db Eb Bb Db Eb E
  S: "[~ [g4,g5] ~@6 [d5,d6]@26 ~@14]/2", // G D
  T: "[~@11 f4@6 ~@3 bb3 db4@7 ~ f4 ~@2 e4 eb4@12 ~@2 ab4@2 ~ gb4 ~@2 f4 ~@3 f4@7 ~ db4 ~@3 db4@8 bb4 ~@2 f4 eb4@24 ~@2 f4@6 ~@3 bb3 db4@7 ~ f4 ~@2 e4 eb4@12 ~@2 ab4]/6",
  U: "[~@2 gb4 ~@2 f4 ~@3 f4@7 ~ db4 ~@3 db4@8 bb4 ~@2 f4 eb4@24 ~@2 [e4,e5]@6 ~@3 [a3,a4] [c4,c5]@7 ~ [e4,e5] ~@2 [eb4,eb5] [d4,d5]@12 ~@2 [g4,g5]@2 ~ [f4,f5] ~@2 [e4,e5] ~@3 [e4,e5]@7 ~ [c4,c5] ~@3 [c4,c5]@8 [a4,a5] ~@2 [e4,e5] [d4,d5]@24 ~@2 [e4,e5]@6 ~@3 [a3,a4] [c4,c5]@7 ~ [e4,e5] ~@2 [eb4,eb5] [d4,d5]@12 ~@2 [g4,g5]]/8", // E A C E Eb D G F …
  V: "[~@2 [f4,f5] ~@2 [e4,e5] ~@3 [e4,e5]@7 ~ [c4,c5] ~@3 [c4,c5]@8 [a4,a5] ~@2 [e4,e5] [d4,d5]@12 ~@3]/2", // F E C A E D
  W: "~@11 f4 ~ a4 ~ g4@4 ~@2 d4 ~ gb4", X: "[~ e4@3 ~@4 bb3 ~ f4 ~@2 eb4@18 ~@3 f4 ~ a4 ~ g4@4 ~@2 d4 ~ gb4 ~]/2",
  Y: "[e4@3 ~@4 bb3 ~ f4 ~ eb4 ~@3 [a4,a5]@37 ~@20]/3", // A
})).s("gm_trombone").gain(0.41)

// other · trombone · soft notes
const trombone_soft = note("<~@36 A ~ B ~ C D B ~@2 E F E F ~@22 A ~ B ~ A ~ B ~ G ~ H ~ G ~ H ~@31>".pickRestart({
  A: "~@17 db4 ~@6", B: "~@8 eb4 ~@11 bb3 ~@3", C: "~@20 bb3 ~@3", D: "~@8 e4 ~@15", E: "~@12 b3 ~@11",
  F: "~@6 c4 ~@17", G: "~@17 [c4,c5] ~@6", H: "~@8 [d4,d5] ~@11 [a3,a4] ~@3",
})).s("gm_trombone").gain(0.26)

// other · tuba
const tuba = note("<~@36 A@8 B ~@6 C D ~@2 E F ~@2 G H I J@2 ~@7 K@6 L@8 M@2 ~@23 N O@2 P@3 ~>".pickRestart({
  A: "[~@11 f4@6 ~@3 bb3 ~ db4@7 f4 ~@2 e4 ~ eb4@12 ~ ab4@2 ~ gb4 ~@2 f4 ~@4 f4@7 db4 ~@4 db4@7 bb4 ~@2 f4 ~ eb4@24 ~ f4@6 db4 ~@4 db4@7 f4 ~@4 eb4@12 ~ ab4@2 ~ gb4 ~@2 f4 ~@4 f4@7 db4 ~@4 db4@8 ~@5 eb4 ~ db4 ~ eb4 ~ db4 ~@2 bb3 ~ db4 ~]/8",
  B: "e4 ~ eb4 db4 ~ bb3 ~@18", C: "~@11 a3@3 c4 ~@2 d4 e4 ~@2 a4@3", D: "~@2 c4@2 ~ d4 e4 ~@17", E: "~@21 bb4 ~@2",
  F: "bb4 ~@2 bb4@2 ~@19", G: "~@11 eb4 ~ db4 ~ eb4 ~ db4 ~ bb3 ~ db4 ~ e4", H: "~ eb4 ~ db4 ~ g3@15 ~@4",
  I: "~@10 eb4 db4 ~ eb4 ~ bb3 ~ bb3 ~ db4 ~ eb4 ~ e4", J: "[~ g4 ~@6 d5@26 ~@14]/2",
  K: "[~@11 f4@6 ~@3 bb3 db4@7 ~ f4 ~@2 e4 eb4@12 ~@2 ab4@2 ~ gb4 ~@2 f4 ~@3 f4@7 ~ db4 ~@3 db4@8 bb4 ~@2 f4 eb4@24 ~@2 f4@6 ~@3 bb3 db4@7 ~ f4 ~@2 e4 eb4@12 ~@2 ab4]/6",
  L: "[~@2 gb4 ~@2 f4 ~@3 f4@7 ~ db4 ~@3 db4@8 bb4 ~@2 f4 eb4@24 ~@2 [e4,e6]@6 ~@3 [a3,a5] [c4,c6]@7 ~ [e4,e5] ~@2 [eb4,eb5] [d4,d5]@12 ~@2 [g4,g5]@2 ~ [f4,f5] ~@2 [e4,e5] ~@3 [e4,e5]@7 ~ [c4,c5] ~@3 [c4,c5]@8 [a4,a5] ~@2 [e4,e5] [d4,d5]@24 ~@2 [e4,e5]@6 ~@3 [a3,a4] [c4,c5]@7 ~ [e4,e5] ~@2 [eb4,eb5] [d4,d5]@12 ~@2 [g4,g5]]/8", // E A C E Eb D G F …
  M: "[~@2 [f4,f5] ~@2 [e4,e5] ~@3 [e4,e5]@7 ~ [c4,c5] ~@3 [c4,c5]@8 [a4,a5] ~@2 [e4,e5] [d4,d5]@12 ~@3]/2", // F E C A E D
  N: "~@11 f4 ~ a4 ~ g4@4 ~@2 d4 ~ gb4", O: "[~ e4@3 ~@4 bb3 ~ f4 ~@2 eb4@18 ~@3 f4 ~ a4 ~ g4@4 ~@2 d4 ~ gb4 ~]/2",
  P: "[e4@3 ~@4 bb3 ~ f4 ~ eb4 ~@3 [a4,a5]@38 ~@19]/3", // A
})).s("gm_tuba").gain(0.46).pan(1)

// other · tuba · soft notes
const tuba_soft = note("<~@36 A ~ B ~ C D B ~@28 A ~ B ~ A ~ B ~ E ~ F ~ G ~ F ~@31>".pickRestart({
  A: "~@17 db4 ~@6", B: "~@8 eb4 ~@11 bb3 ~@3", C: "~@20 bb3 ~@3", D: "~@8 e4 ~@15", E: "~@17 [c4,c6] ~@6",
  F: "~@8 [d4,d5] ~@11 [a3,a4] ~@3", G: "~@17 [c4,c5] ~@6",
})).s("gm_tuba").gain(0.26).pan(1)

// other · trumpet
const trumpet = note("<~@51 A B ~@6 C D E F@2 ~@15 G@6 H@3 ~@22 I J@2 K@3 ~>".pickRestart({
  A: "~@11 [a3,a4]@3 [c4,c5] ~@2 [d4,d5] [e4,e5] ~@2 [a4,a5]@3", B: "~@2 [c4,c6]@2 ~ [d4,d6] [e4,e6] ~@17",
  C: "~@11 [eb4,eb5] ~ [db4,db5] ~ [eb4,eb5] ~ [db4,db5] ~ [bb3,bb4] ~ [db4,db5] ~ [e4,e5]", // Eb Db Eb Db Bb Db E
  D: "~ [eb4,eb5] ~ [db4,db5] ~ [g3,g4]@15 ~@4", // Eb Db G
  E: "~@10 [eb4,eb5] [db4,db5] ~ [eb4,eb5] ~ [bb3,bb4] ~ [bb3,bb4] ~ [db4,db5] ~ [eb4,eb5] ~ [e4,e5]", // Eb Db Eb Bb Db Eb E
  F: "[~ [g4,g5] ~@6 [d5,d6]@26 ~@14]/2", // G D
  G: "[~@11 [e5,e6]@6 [c5,c6] ~@2 [a4,a5] [c5,c6]@7 ~ [e5,e6] ~@2 [eb5,eb6] [d5,d6]@12 ~@2 [g5,g6]@2 ~ [f5,f6] ~@2 [e5,e6] ~@2 [d5,d6] [e5,e6]@7 ~ [c5,c6] ~@2 [a4,a5] [c5,c6]@8 [a5,a6] ~@2 [e5,e6] [d5,d6]@24 ~@2 [e5,e6]@6 [c5,c6] ~@2 [a4,a5] [c5,c6]@7 ~ [e5,e6] ~@2 [eb5,eb6] [d5,d6]@12 ~@2 [g5,g6]]/6", // E C A C E Eb D G …
  H: "[~@2 [f5,f6] ~@2 [e5,e6] ~@2 [d5,d6] [e5,e6]@7 ~ [c5,c6] ~@2 [a4,a5] [c5,c6]@8 [a5,a6] ~@2 [e5,e6] [d5,d6]@24 ~@15]/3", // F E D E C A C A …
  I: "~@11 f4 ~ a4 ~ g4@4 ~@2 d4 ~ gb4", J: "[~ e4@3 ~@4 bb3 ~ f4 ~@2 eb4@18 ~@3 f4 ~ a4 ~ g4@4 ~@2 d4 ~ gb4 ~]/2",
  K: "[e4@3 ~@4 bb3 ~ f4 ~ eb4 ~@3 [a4,a5]@26 ~@31, ~@15 d4@38 ~@19]/3", // A
})).s("gm_trumpet").gain(0.41).pan(0)

// other · tuba
const tuba_2 = note("<~@4 A@2 B@6 ~@105>".pickRestart({
  A: "[~@11 a4@2 ~ a4 ~ g4 ~@5 c5@2 ~ d5 ~@2 e5@13 e5 ~ f5 ~@2 g5 ~, ~@13 g4@2 ~@2 a4@18 ~@13]/2",
  B: "[~ e5 ~@8 e5 ~@2 d5 ~@2 d5@13 a4 ~ c5 ~@2 eb5 ~@2 d5 ~@2 d5@13 ~@5 e5 ~@2 d5@16 ~@2 a4 ~@2 e5 ~@2 d5@16 ~@2 a4 ~@3 c5@3 d5@16 ~@18, ~@4 c5@10 ~@92 e5@3 ~@35]/6",
})).s("gm_tuba").gain(0.41)

// drums · kick
const kick = s("bd").struct(`<
  ~@4 A B@7 C B@7 C B@7 C B@7 C B@6 D E B@7 F B@6 G H I J K B@7 F B@7 F B@7 F B L B@5 F B@7 F B L B@4 M N O P ~@3
>`.pickRestart({
  A: "~@4 x!2 ~@2 x ~@2 x ~@5 x ~@5 x", B: "~@5 x ~@5 x ~@5 x ~@5 x", C: "~@4 x!2 ~@2 x ~ x!2 ~@5 x ~@5 x",
  D: "~@2 x ~@2 x ~ x!2 ~@2 x ~@3 x ~@6 x ~", E: "~@2 x!2 ~ x ~@5 x ~@5 x ~@5 x",
  F: "~@3 x ~ x ~@2 x!2 ~ x ~@5 x ~@5 x", G: "~@5 x ~@5 x ~@3 x ~@5 x ~@2", H: "~ x ~@9 x ~@2 x ~@3 x ~ x ~ x ~",
  I: "x ~ x ~@2 x ~ x!2 ~ x ~@2 x ~@5 x ~@4", J: "~@3 x ~ x ~ x!2 ~@15", K: "~@11 x ~@5 x ~@5 x",
  L: "~@3 x ~ x ~@5 x ~@5 x ~@5 x", M: "~@2 x!2 ~ x!2 ~ x!2 ~ x ~@3 x ~@5 x ~@2", N: "~ x ~@6 x ~@3 x ~@10 x",
  O: "~ x ~@3 x ~ x ~@2 x ~@2 x ~@6 x ~@3", P: "x ~@6 x ~@3 x ~@3 x ~@8",
})).gain(0.41)

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

// drums · clap
const clap = s("cp").struct("<~@4 A B@38 C A B@14 C ~@3 A B@46 C ~@6>".pickRestart({
  A: "~@17 x ~@6", B: "~@5 x ~@11 x ~@6", C: "~@5 x ~@18",
})).gain(0.31)

// drums · hihat
const hihat = s("hh").struct(`<
// … 110 more lines

More by Jamiroquai