Strudelify
What A Fool Believes cover art

Minute by Minute

What A Fool Believes

The Doobie Brothers

KeyC♯ minorTempo120 bpm
0:00/0:00
// What A Fool Believes — The Doobie Brothers
// 120 bpm, 4/4, key C# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 123 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/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 · piano · "A.PIANO 2"
const piano = note(`<
  ~ A B C D E F G H I F J K L F M N O F P Q ~@4 R@2 S@2 T@2 U@5 ~ V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AE AM
  AN@2 AO AP@3 AQ AR@5 AS@2 AT@5 ~@3 AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BC BD BE BF BG BH BI BJ BC BD BE BF
  BG BH BI BJ BC BD BE BF BG BH BI BJ BC BD BE BF BG
>`.pickRestart({
  A: "[g#2,g#3,f#4,c#5,f5]@2 ~@2 [f#4,d#5]@2 ~@2 [f#2,f#3,f#4,a#4,c#5]@2 [a#4,c#5] ~ [c5,d#5] ~ [f2,f3,f4,c#5,f5]@2, ~@4 c5 ~@9 d#5 ~", // C# D#m F# A#m Cm C#
  B: "~@2 [f4,f5]@2 d#5@2 ~@2 [f4,a#4,c#5]@2 f3@2 [f4,c5,d#5]@2 f2 ~, ~@2 c#5 ~ c5 ~@7 c#3 ~@3", // F A#m F7
  C: "[d#2,d#3,f#4,f5]@2 ~@2 [f4,c5,d#5]@2 f#3@2 [g#2,g#3,f#4]@2 [a#4,c#5] ~ [a2,a3,a4] ~ [a#2,a#3,c#5]@2, c#5 ~@3 [f2,f3] ~@3 [a#4,c#5] ~@3 c5@2 a#4 ~", // D#m F7 G#7 A#m A A#m F A#m
  D: "~@2 [c#5,f5]@2 [c5,d#5]@2 [f4,g4] ~ [a2,a3,g4,b4,c#5] ~ [a2,a3,g4,b4,c#5] ~ [g4,d#5]@3 ~, ~@2 f4 ~@13", // C# Cm Fsus2 A7 Cm
  E: "[g#3,f#4,f5]@2 ~@2 [f#4,c5] ~ f#4 ~ [f#2,a#4,c#5] ~ [a#4,c#5] ~ [c5,d#5] ~ [f2,f3,f4,c#5]@2, [g#2,c#5] ~@3 d#5@2 ~@2 [f#3,f#4]@2 ~@4 f5 ~", // C# F#dim F# A#m Cm C# C#5 F#
  F: "~@2 [f4,f5]@2 d#5@2 f4 ~ [f4,a#4,c#5]@2 f3@2 [c#3,f4,c5,d#5]@2 f2 ~, ~@2 c#5 ~ c5 ~@11", // F A#m C#maj7
  G: "[d#3,f#4,c#5,f5]@2 ~@2 [c5,d#5]@2 f#3 ~ [g#2,g#3,f#4]@2 [a#4,c#5] ~ [a2,a3,a4,c5] ~ [a#3,a#4,c#5] ~, d#2 ~@3 [f2,f3] ~@3 [a#4,c#5] ~@5 a#2@2", // D#m7 Cm G#7 A#m Am A#m F A#m
  H: "~@2 [f4,f5]@2 d#5@2 f4 ~ [a2,a3,g4,b4,c#5] ~ [a2,a3,g4,b4,c#5] ~ [g4,d#5]@3 ~, ~@2 [g4,c#5] ~ c5 ~@11", // F A7 Cm Gdim
  I: "[g#2,g#3,c#5] ~@3 [c5,d#5] ~@3 [f#2,f#3,f#4]@2 [a#4,c#5] ~ [c5,d#5] ~ [f2,f3,f4,c#5,f5]@2, [f#4,f5]@2 ~@2 f#4@2 ~@2 [a#4,c#5] ~@7", // C#5 Cm F# A#m Cm C# F#maj7 A#m
  J: "[d#2,c#3,d#3,c#5] ~@3 [f4,c5,d#5]@2 f#3 ~ [g#2,g#3,f#4]@2 [a#4,c#5] ~ [a2,a3,a4,c5] ~ [a#3,a#4,c#5] ~, [f#4,f5]@2 ~@2 [f2,f3] ~@3 [a#4,c#5] ~@5 a#2@2", // D#7 F7 G#7 A#m Am A#m F#maj7 F …
  K: "~@2 [f4,f5]@2 d#5@2 f4 ~ [a2,a3,g4,b4,c#5] ~ [a2,a3,g4,b4,c#5] ~ [g4,d#5]@3 ~, ~@2 c#5 ~ c5 ~@11", // F A7 Cm
  L: "[g#2,g#3,f5] ~@3 [f#4,d#5]@2 ~@2 [f#2,a#4,c#5] ~ [a#4,c#5] ~ [c5,d#5] ~ [f2,f3,f4,f5]@2, [f#4,c#5]@2 ~@2 c5 ~@3 [f#3,f#4]@2 ~@4 [c#5,d#5] ~", // C# D#m F# A#m Cm F F#5 F# …
  M: "[d#2,d#3,c#5,f5] ~@3 [f4,c5,d#5]@2 f#3 ~ [g#2,f#4,a#4,c#5] ~ [a#4,c#5] ~ [a2,a3,a4,c5] ~ [a#3,a#4,c#5] ~, f#4@2 ~@2 [f2,f3] ~@3 g#3@2 ~@4 a#2@2", // C# F7 F# A#m Am A#m F
  N: "~@2 [f4,f5]@2 d#5@2 f4 ~ [a2,a3,g4,b4,c#5] ~ [a2,a3,g4,b4,c#5] ~ [g4,d#5]@2 ~@2, ~@2 c#5 ~ c5 ~@11", // F A7 Cm
  O: "[g#2,f#4,f5]@2 ~@2 [f#4,c5] ~@3 [f#4,a#4,c#5] ~ [a#4,c#5] ~ [c5,d#5] ~ [f2,f3,c#5]@2, [g#3,c#5] ~@3 d#5@2 ~@2 [f#2,f#3]@2 ~@4 [f4,g4,f5] ~", // C# F#dim F# A#m Cm C# C#5 F# …
  P: "[d#2,d#3,c#5] ~@3 [f4,c5,d#5]@2 f#3 ~ [f#4,a#4,c#5] ~ [a#4,c#5] ~ [a2,a3,a4,c5] ~ [a#3,a#4,c#5] ~, [f#4,f5]@2 ~@2 [f2,f3] ~@3 [g#2,g#3]@2 ~@4 a#2@2", // D#7 F7 F# A#m Am A#m F#maj7 F …
  Q: "~@2 [f4,f5]@2 d#5@2 f4 ~ [a2,a3,g4,b4,c#5] ~ [a2,a3,g4,b4,c#5] ~@5, ~@2 c#5 ~ c5 ~@11", // F A7
  R: "[~@8 c#4@4 a#3 ~ a#2@2 a#1@6 a#2@2 [a#1,g#3,c#4]@3 ~ a1@4, ~@8 f2@6 [g#3,d#4]@8 ~@6 a#1 ~@3]/2", // A#m7 G#5
  S: "[[f#4,f5]@2 ~@2 [f#4,d#5]@2 g#2@2 [a#4,c#5] ~@3 a#4 ~ [f#4,c#5,f5]@6 [f#4,c5,d#5]@2 g#2@2 [d#2,f#4,a#4,c#5]@2 g#2@2 [f#4,d#5]@2 a1 ~, g#5@31 ~, g#1@6 ~@2 d#2@6 g#1@8 ~@6 g#1 ~@3, c#5 ~@3 c5 ~@3 f#4@2 ~@22]/2", // F#maj7 D#m A#m F#maj7 Cdim D#m7 D#m
  T: "[~@2 f4 ~ d#4@2 a#2@2 c#4@4 a#3 ~ a#2@2 a#1@6 a#2@2 [a#1,g#3,c#4]@4 a1@3 ~, a#5, a#1@6 ~@2 f2@6 [g#3,d#4]@9 ~@5 a#1 ~@3]/2", // A#m7 G#5
  U: "[[f#4,f5]@2 ~@2 [f#4,d#5]@2 g#2@2 [a#4,c#5] ~@3 a#4@2 [f#4,c#5,f5]@6 [f#4,c5] ~ g#2@2 [d#2,f#4,a#4,c#5]@2 g#1@2 [f#4,c5,d#5] ~ [d#2,f#4,a#4,c#5]@7 ~ f4 ~@5 g#4@2 [c#2,g#4,c#5,d#5,f5]@8 a4@2 ~@2 [a#1,f5]@2 g#4 ~ [d#2,f#4,a#4,c#5]@7 ~ [g#1,f#4,a#4,c#5]@10, g#5@77 ~@3, g#1@6 ~@2 d#2@6 g#1@8 ~@6 g#2@2 ~@8 [g#1,f#4,a#4,c#5]@8 ~@8 b1@7 ~@19, c#5 ~@3 c5 ~@3 f#4@2 ~@10 d#5@2 ~@34 f#5@5 ~@19]/5", // F#maj7 D#m A#m F#maj7 F#dim D#m7 Cdim D#m7 …
  V: "[a#1,g#4,c#5,f5] ~ [g#4,c#5,f5] ~ [g#4,c5,d#5] ~ [a#4,c#5] ~@3 [g#4,d#5]@2 a1@2 g#1@2, ~@2 a#1@2 ~@2 g#4@2 ~@2 c5 ~@5", // A#m7 C# G# A#m G#5
  W: "[g1,g4]@2 [g1,g4,c#5,f5] ~ [c5,d#5] ~ c#5 ~ [g4,a#4]@2 ~@2 [c5,d#5] ~@3, [c#5,f5] ~@3 g4@2 ~@2 c#5 ~@3 g4@2 ~@2", // G Gm7b5 Cm Gm Cm C#
  X: "[g1,g4,c#5,f5]@2 [g1,g4,c#5,f5] ~ [g4,c5,d#5] ~ [g4,a#4,c#5]@2 d#1@2 e1@2 f1@3 ~, f4 a#4", // Gm7b5 Cm Gdim
  Y: "[e5,a5,c#6] ~ [f#1,e5,a5] ~ [g#5,b5] ~@3 [f#5,a5] ~@3 [e5,g#5]@2 ~@2, f#1@2 c#6@2 e5@2 ~@2 e5@2 ~@2 b5 ~@3", // A F#m7 G#m F#m E
  Z: "[f#1,e5,a5]@2 [f#1,c#6]@2 [e5,g#5,b5] ~ [g#1,a5,c#6] ~@3 [a1,e5,b5]@2 ~@2 a#1 ~, c#6 ~ [e5,a5] ~@3 e5@2 ~@2 g#5 ~@5", // F#m7 F#5 E Amaj7 Asus2 A5
  AA: "[b1,e5,a5,c#6] ~ [b1,e5,a5,c#6] ~ [e5,g#5,b5] ~@3 [e5,a5]@2 ~@2 [e5,g#5,b5] ~@3, ~@8 f#5 ~@7", // A E A5 E
  AB: "[b1,e5,a5,c#6] ~ [b1,e5,a5] ~ [e5,g#5,b5] ~ [b2,e5,a5,c#6] ~@3 [b2,e5,a5,b5] ~@3 b1@2, ~ c#6 ~@6", // A Esus4 E A Esus4
  AC: "[e2,b5]@2 [e2,b4,e5,g#5,b5] ~ [e5,f#5,a5] ~ b4 ~ e5@2 b4 ~ [e5,f#5] ~ b4 ~, [e5,g#5] ~@7 g#5 ~@7", // E5 E F#m7 Esus2 E
  AD: "[e2,e5]@2 [e2,e5,g#5]@2 [e5,f#5]@2 [b4,e5,g#5] ~@3 [d#2,b4,e5,f#5] ~@3 [e5,g#5] ~, g#5 ~ b4 ~@11 d#2@2", // E Esus2 E B E
  AE: "[c#2,e5,g#5,b5] ~ [c#2,e5,g#5,b5] ~ [e5,f#5,a5] ~@3 e5@2 ~@2 f#5@2 e5 ~, ~@8 g#5 ~@7", // C#m7 F#m7
  AF: "[e5,g#5] ~ [b1,e5,a5] ~ [a#1,e5,b5] ~ [a1,e5,c#6] ~@3 [e5,g#5,b5] ~@3 g#1@2, c#2 ~@4 g#1 ~@2", // E Esus4 E A E
  AG: "[f#1,e5,a5,c#6] ~ [f#1,e5,a5] ~ [e5,g#5,b5] ~@3 [a5,c#6] ~@3 [g#5,b5] ~@3, ~ c#6 ~@2 e5 ~ e5 ~", // F#m7 E A G#m
  AH: "[f#1,e5]@2 [f#1,e5,a5] ~ [e5,g#5,b5] ~ [g#1,a5,c#6] ~@3 [a1,e5]@2 ~@2 a#1@2, [a5,c#6] ~ c#6@2 ~@2 e5@2 ~@2 [g#5,b5] ~@5", // F#7 F#m7 E Amaj7 A5 A G#m
  AI: "[b1,e5,a5,c#6] ~ [b1,e5,a5,c#6] ~ [e5,g#5,b5] ~@3 [e5,f#5,a5] ~@3 [g#5,b5] ~@3, ~@6 e5 ~", // A E F#m7 G#m
  AJ: "[b1,e5,a5,c#6] ~ [b1,e5,a5] ~ [e5,g#5] ~ [b2,e5,a5,c#6] ~@3 [b2,e5,a5,b5] ~@3 b1@2, ~ c#6 ~@6", // A Esus4 E A Esus4
  AK: "[e5,g#5,b5] ~ [e2,b4,e5,g#5,b5] ~ [e5,f#5,a5] ~ b4 ~ e5@2 b4 ~ f#5 ~ [b4,e5] ~, e2@2 ~@6 g#5 ~@7", // E F#m7 E5
  AL: "e2@2 [e2,g#5]@2 f#5 ~ [b4,e5,g#5] ~@3 [d#2,b4,e5,f#5] ~@3 [d#2,e5,g#5] ~, e5@5 ~@11, g#5 ~ b4 ~@13", // E B Emaj7
  AM: "[c#2,e5,g#5]@2 [b1,a5] ~ [a#1,e5,b5] ~ [e5,c#6]@5 ~ g#3@2 g#2@2, ~@6 a1@3 ~@7", // C#m B7 E C#m
  AN: "[[g#2,g#3,c#5,f5] ~@3 [c5,d#5] ~@3 [f#2,f#3,f#4]@2 [a#4,c#5] ~ [c5,d#5] ~ [f2,f3,c#5,f5] ~@3 [f4,f5]@2 [c5,d#5] ~@3 [f4,a#4,c#5]@2 f3@2 [c#3,f4,c5,d#5]@2 f2 ~, g#5, f#4@2 ~@2 f#4@2 ~@2 [a#4,c#5] ~@5 f4@2 ~@2 c#5 ~@13]/2", // C# Cm F# A#m Cm C# F Cm …
  AO: "[d#2,d#3,c#5] ~@3 [f4,c5,d#5]@2 f#3 ~ [g#2,g#3,f#4]@2 [a#4,c#5] ~ [a2,a3,a4,c5] ~ [a#2,a#3,a#4,c#5] ~, [f#4,f5]@2 ~@2 [f2,f3] ~@3 g#5@8, ~@8 [a#4,c#5] ~@7", // D#7 F7 G#7 A#m Am A#m F#maj7 F …
  AP: "[~@2 [f4,c#5,f5]@2 d#5@2 f4 ~ [a2,a3,g4,b4,c#5] ~ [a2,a3,g4,b4,c#5] ~ [g4,d#5]@3 ~ [g#2,g#3,c#5] ~@3 [f#4,c5] ~@3 [f#2,f#3,f#4]@2 [a#4,c#5] ~ [c5,d#5] ~ [f2,f3,f4,c#5,f5] ~@3 [f4,c#5,f5]@2 [c5,d#5] ~ f4 ~ [f4,a#4,c#5]@2 f3@2 [c#3,f4,c5,d#5]@2 f2 ~, g#5@7 ~ c#6@33 ~@7, ~@4 c5 ~@11 [f#4,f5]@2 ~@2 d#5@2 ~@2 [a#4,c#5] ~@15 f6@8]/3", // C# A7 Cm C#5 F#dim F# A#m Cm …
  AQ: "[d#2,f#4,f5]@2 ~@2 [f4,c5,d#5]@2 f#3 ~ [g#2,a#4,c#5] ~ [a#4,c#5] ~ [a2,a3,a4,c5] ~ [a#2,c#5]@2, g#5, [d#3,c#5] ~@3 [f2,f3] ~@3 [g#3,f#4]@2 ~@4 [a#3,a#4] ~", // D#m F7 A#m7 A#m Am A#m D#7 F …
  AR: "[~@2 a#1@2 f2@2 a#2 ~ [c#3,a#3,f4,g#4]@2 ~@2 [a#2,a#3,d#4,g4]@2 f2@2 [g#3,c#4]@2 f4@2 d#4@2 a#2@2 ~@4 a#3 ~ a#2@2 a#1@6 a#2@2 [a#1,g#3,c#4]@3 ~ a1@4 [f#4,f5]@2 ~@2 [f#4,c5,d#5]@2 g#2@2 [a#4,c#5] ~@3 a#4 ~ [f#4,c#5,f5]@6 [f#4,c5,d#5]@2 g#2@2 [d#2,f#4,a#4,c#5]@2 g#2@2 [f#4,c5]@2 a1 ~, a#5@48 c#5 ~@7 f#4@2 ~@22, ~@16 a#1@6 ~@2 [f2,c#4]@6 [g#3,d#4]@8 ~@10 g#1@4 ~@4 d#2@6 g#1@8 ~@6 [g#1,d#5] ~@3, ~@2 a#6 [g#5,g#6]@2]/5", // A#m7 D# C#5 A#m7 F#maj7 Cdim A#m F#maj7 …
  AS: "[[g#3,c#4]@2 f4@2 d#4 ~ a#2@2 ~@4 a#3 ~ a#2@2 a#1@6 a#2@2 [a#1,g#3,c#4]@4 a1@3 ~, [a#5,a#6], a#1@3 ~ [f2,c#4]@3 [g#3,d#4]@4 ~@5]/2", // C#5 A#m7 A# C# G#5
  AT: "[[f#4,f5]@3 ~ [f#4,c5,d#5]@2 g#2@2 [a#4,c#5] ~@3 a#4 ~ [f#4,c#5,f5]@5 ~ [f#4,c5,d#5]@2 g#2@2 [d#2,f#4,a#4,c#5]@2 g#1@2 [f#4,c5,d#5] ~ [d#2,f#4,a#4,c#5]@6 ~@2 [g#1,f#4,a#4,c#5]@6 g#4 ~ [c#2,g#4,c#5,d#5,f5]@7 ~ a4@2 f#5@2 f5@2 g#4 ~ [d#2,f#4,a#4,c#5]@7 ~ [g#1,f#4,a#4,c#5]@7 ~@3, g#5@19 ~, g#6@73 ~@7, g#1@3 ~ d#2@3 g#1@3 ~@4 g#2 ~@12 b1@2 a#1@2 ~@9, c#5 ~@7 f#4@2 ~@70]/5", // F#maj7 Cdim A#m F#maj7 Cdim D#m7 Cdim D#m7 …
  AU: "[g1,g4,c#5,f5]@2 [g1,c#5,f5] ~ [g4,c5,d#5] ~ [g4,a#4,c#5]@2 d#1@2 e1@2 f1@3 ~, f4 a#4", // Gm7b5 Cm Gdim
  AV: "[e5,a5,c#6] ~ [f#1,c#6]@2 [g#5,b5] ~@3 [e5,a5]@2 ~@2 [e5,g#5,b5]@2 ~@2, f#1@2 [e5,a5] ~ e5@2 ~@2 f#5 ~@7", // A F#5 G#m A5 E A5
  AW: "[f#1,e5]@2 [f#1,c#6]@2 [e5,g#5,b5] ~ [e5,c#6]@2 ~@2 [a1,e5]@2 ~@2 a#1@2, [a5,c#6] ~ a5 ~@3 [g#1,a5] ~@3 [g#5,b5] ~@5", // F#7 F#5 E C#m A5 A Amaj7 G#m
  AX: "[b1,c2,e5,a5,c#6] ~ [b1,e5,a5,c#6] ~ [g#5,b5] ~@3 [e5,f#5,a5] ~@3 [e5,g#5]@2 ~@2, ~@4 e5@2 ~@6 b5 ~@3", // A G#m F#m7 E
  AY: "[e5,c#6]@2 [b1,c#6]@2 [e5,g#5,b5] ~ [b2,e5,a5,c#6] ~@3 [b2,e5]@2 ~@2 b1@2, [b1,a5] ~ a5 ~@7 [a5,b5] ~@5", // C#m Bsus2 E A E5 B7 Asus2
  AZ: "[e2,e5,b5]@2 [e2,b4,e5,g#5,b5] ~ [e5,f#5,a5] ~ b4 ~ e5@2 b4 ~ f#5@2 b4 ~, g#5 ~@7 g#5 ~@3 e5 ~@3", // E5 E F#m7
  BA: "[e2,g#5] ~ [e2,g#5]@2 f#5@2 [b4,g#5] ~@3 [e5,f#5]@2 ~@2 [d#2,e5]@2, e5@2 [b4,e5] ~ e5 ~ e5@2 ~@2 [d#2,b4] ~@3 [b4,g#5] ~", // E Esus2 Emaj7 E5 G#m E
  BB: "[c#2,e5,g#5,b5] ~ [c#2,e5,g#5,b5] ~ [e5,f#5] ~@3 [e5,g#5]@2 e5@2 f#5@2 ~@2, ~@4 a5@2 ~@4 g#5 ~@5", // C#m7 Esus2 E
  BC: "[c#2,e5,g#5]@2 [b1,a5] ~ [a#1,e5,b5] ~ [a1,c#6] ~@3 [g#1,e5,b5]@2 ~@2 g#1@2, ~@6 e5@2 ~@2 g#5 ~@5", // C#m B7 E A E
  BD: "[e5,a5,c#6] ~ [f#1,e5,a5,c#6] ~ [e5,g#5]@2 ~@2 [e5,a5,c#6]@2 ~@2 [e5,b5]@2 ~@2, f#1@2 ~@2 b5 ~@7 g#5 ~@3", // A F#m7 E A E5
  BE: "[e5,a5]@2 [f#1,e5,a5] ~ [e5,g#5,b5] ~ [g#1,e5,a5,c#6]@2 ~@2 [a1,e5,b5]@2 ~@2 a#1@2, [f#1,c#6] ~ c#6@2 ~@6 g#5 ~@5", // A5 F#m7 E Amaj7 Asus2 F#5
  BF: "[b1,e5,a5,c#6] ~ [b1,e5,a5,c#6] ~ [e5,g#5,b5] ~ a5 ~ [e5,f#5] ~@3 [g#5,b5] ~@3, ~@4 a5 ~ e5 ~", // A E Esus2 G#m
  BG: "[b1,a5,c#6] ~ [b1,e5,a5] ~ [e5,g#5,b5] ~ [b2,e5,a5,c#6] ~@3 [b2,e5,b5]@2 ~@2 [a1,b1] ~, e5@2 c#6@2 ~@6 a5 ~@5", // F#m Esus4 E A E5 Asus2
  BH: "[e5,g#5,b5] ~ [e2,b4,e5,g#5,b5] ~ [e5,f#5,a5] ~ b4 ~ e5@2 b4 ~ f#5@2 b4 ~, e2@2 ~@6 g#5 ~@7", // E F#m7
  BI: "[e2,g#5] ~ [e2,b4,g#5] ~ f#5@2 [b4,e5,g#5] ~@3 [d#2,b4,e5,f#5] ~@3 [d#2,e5,g#5] ~, e5!2 ~@6", // E B Emaj7
  BJ: "[c#2,e5,g#5,b5] ~ [c#2,e5,g#5,b5] ~ [e5,f#5,a5] ~@3 [e5,g#5]@2 ~@2 f#5@2 e5 ~", // C#m7 F#m7 E
})).s("gm_piano").gain(0.72)

// bass · acoustic bass · "ACOU BASS"
const bass = note(`<
  ~@8 A B C D A B E F A B E F G H C D I J K L@2 M N O P@4 Q R S T U V W X Y Z AA AB AC V W X Y AD AA AE H AF F A B AF AG
  AH J AI O AJ J AK AL AM@4 Q AN AO AP U V W AQ Y AD AA AR U V W AS Y AT AA AR U V W AS Y AT AA AR U V W AS Y AT AA AR U
  V W AS Y AT AA AR U V W AS
>`.pickRestart({
  A: "~@8 a3 ~ a3@2 f3@2 a2@2", B: "g#2 ~@3 f#2 ~@2 f2", C: "~@5 f3 c#3 f2", D: "d#3@2 ~@2 f3@2 f#3@2 g#3 ~@5 a#3@2",
  E: "~@10 f3@2 c#3@2 f2 ~", F: "d#3 ~ f3 f#3 g#3 ~@2 a#3", G: "~@8 a3 ~ a3@2 f3@2 a2 ~", H: "g#3 ~@3 f#3 ~@2 f3",
  I: "~@2 a#2@2 f3@2 a#3 ~ c#4@4 a#3@2 f3@2", J: "a#2@5 ~ a#3@2 f3@5 ~ a#3@2", K: "a#2@5 ~ a#3 ~ a#2@3 ~ a2@3 ~",
  L: "[g#2@5 ~ g#3@2 d#3@5 ~ g#2@6 ~@2 g#3@2 d#3@2 g#3@2 g#2 ~ a2@2]/2", M: "a#2@2 ~ a#3 f3@3 a#3",
  N: "a#2@6 a#3@2 a#2@2 a#3@2 a2@3 ~, ~@12 a#2 ~@3", O: "g#2@5 ~ g#3@2 d#3@5 ~ g#3 d#3",
  P: "[g#2@4 ~@2 g#3@2 d#3@2 g#2@2 g#3@2 d#3@7 ~ g#2@6 ~@2 c#3@6 ~@2 b2@3 ~ a#2@3 ~ d#3@6 ~@2 g#2@4 ~@4 a2@2]/4",
  Q: "a#3@2 a#2 ~@13", R: "a#3@2 a#2@2 ~@8 a2@2 g#2 ~", S: "g2 g3 ~@6", T: "g3 g2 ~@2 d#3 e3 f3 ~", U: "f#3 f#2 ~@6",
  V: "f#3 f#2 ~ g#2 ~ a2 ~ a#2", W: "b2 b3 ~@6", X: "b2@2 b3 ~@3 b3@4 g#3@2 f#3@2 ~@2", Y: "e3@2 e3 ~@13",
  Z: "e3@2 e3@2 ~@6 d#3 ~@3 d#3 ~", AA: "c#3@2 c#3@2 ~@10 c#3 ~", AB: "c#3@2 b2@2 a#2@2 a2@2 ~@2 g#2@2 ~@2 g#2 ~",
  AC: "f#3@2 f#2 ~@13", AD: "e3!2 ~@3 d#3 ~ d#3", AE: "c#3 b2 a#2 a2@3 ~@2", AF: "~@10 f3 ~ c#3@2 f2@2",
  AG: "d#3@2 ~@2 f3@2 f#3@2 g#3@2 ~@4 a#3 ~", AH: "~@2 a#2 ~ f3 ~ a#3 ~ c#4@3 ~ a#3@2 f3@2",
  AI: "a#2@6 a#3 ~ a#2@3 ~ a2@3 ~", AJ: "g#2@4 ~@2 g#3@2 d#3@2 g#3@2 g#2@2 a2 ~", AK: "a#2@6 a#3 ~ a#2@2 a#3@2 a2@3 ~",
  AL: "g#2@4 ~@2 g#3@2 d#3@4 ~@2 g#3 d#3",
  AM: "[g#2@4 ~@2 g#3@2 d#3 ~ g#2@2 g#3@2 d#3@6 ~@2 g#2@6 ~@2 c#3@6 ~@2 b2@4 a#2@4 d#3@6 ~@2 g#2@5 ~@3 a2 ~]/4",
  AN: "a#3 a#2 ~@4 a2 g#2", AO: "g3@2 g2 ~@13", AP: "g3@2 g2 ~@5 d#3@2 e3 ~ f3@2 ~@2", AQ: "b2 b3 ~ b3@2 g#3 f#3 ~",
  AR: "c#3@2 b2@2 a#2@2 a2 ~@3 g#2 ~@3 g#2 ~", AS: "b2@2 b3 ~@3 b3@4 g#3@2 f#3@3 ~", AT: "e3@2 e3 ~@7 d#3@2 ~@2 d#3@2",
})).s("gm_acoustic_bass").gain(0.4)

// chords · synth brass 1 · "SYNBRASS"
const synth_brass_1 = note(`<
  ~@5 A B C D A B C D A B C D A B C D A B C D E@2 F@2 E@2 F@2 ~@3 G H I J K L M N O P Q R S N T U V W X Y A B C D A B C
  D Z@2 AA@2 E@2 AB@2 ~@3 AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AH AR AS AT AN AO AP AQ AH AR AS AT AN AO AP AQ
  AH AR AS AT AN AO AP AQ AH AR AS AT AN AO AP AQ AH
>`.pickRestart({
  A: "g#4 ~ g#5 ~ f#5 ~ g#4 ~ f5 ~ g#4 ~ d#5 ~ c#5 ~", B: "g#4 ~ d#5 ~ f5 ~ g#4 ~ c#5 ~ c#5 ~ d#5 ~@3",
  C: "g#4 ~ g#5 ~ f#5 ~ f5 ~ d#5 ~ g#4 ~ f5 ~ c#5 ~", D: "~@2 d#5 ~ f5 ~ g#4 ~ c#5 ~ c#5 ~ d#5 ~@3",
  E: "[~@2 [g#4,c#5,f5] ~@3 [g#4,c#5,f5] ~@3 [g#4,c#5,f5] ~@3 [g#4,c#5,f5]@7 ~@11]/2", // C#
  F: "[~@2 [f#4,c#5,f5] ~@3 [f#4,c#5,f5] ~@3 [f#4,c#5,f5] ~@3 [f#4,c#5,f5]@6 [f#4,c5,d#5] ~@11]/2", // F#maj7 Cdim
  G: "[c#5,f5] ~ [g#4,c#5,f5] ~@13, g#4 ~@7", H: "[g#4,c#5,f5]@2 [g#4,c#5,f5] ~@13",
  I: "[c#5,f5] ~ [g4,c#5,f5] ~@13, g4 ~@7", J: "[g4,c#5]@2 [g4,c#5,f5] ~@13, f5 ~@15",
  K: "[a5,c#6] ~ [e5,a5,c6] ~ [e5,g#5] ~@3 [e5,f#5,a5] ~@3 [e5,g#5,b5] ~@3", // A Am E F#m7 E
  L: "[e5,a5,c#6] ~ c#6 ~ [g#5,b5] ~ [e5,a5,c#6] ~@3 [e5,g#5,b5] ~@5", // A G#m A E
  M: "[e5,a5,c#6] ~ [e5,a5,c#6] ~ [e5,g#5,b5] ~@3 [e5,f#5,a5] ~@3 [e5,g#5,b5] ~@3", // A E F#m7 E
  N: "[e5,a5,c#6] ~ [a5,c#6] ~ [e5,g#5,b5] ~ [e5,a5,c#6] ~@3 [e5,g#5,b5] ~@5", // A E A E
  O: "[e5,g#5,b5] ~ [e5,g#5,b5] ~ [e5,f#5,a5] ~@3 [e5,g#5] ~@3 [e5,f#5] ~@3", // E F#m7 E Esus2
  P: "[e5,g#5] ~ [e5,g#5] ~ f#5 ~ [e5,g#5] ~@3 [e5,f#5] ~@3 [e5,g#5] ~", // E Esus2 E
  Q: "[e5,g#5,b5] ~ [g#5,b5] ~ [e5,f#5,a5] ~@3 [e5,g#5] ~@3 [e5,f#5] ~@3", // E G#m F#m7 E Esus2
  R: "[e5,g#5]@2 a5 ~ [e5,b5] ~ [e5,c#6] ~@3 [e5,g#5,b5] ~@5", // E E5 C#m E
  S: "[e5,a5,c#6] ~ [a5,c#6] ~ [e5,g#5,b5] ~@3 [e5,a5,c#6] ~@3 [e5,g#5,b5] ~@3", // A E A E
  T: "[e5,a5,c#6] ~ [a5,c#6] ~ [e5,g#5,b5] ~@3 [e5,f#5,a5] ~@3 [e5,g#5,b5] ~@3", // A E F#m7 E
  U: "[e5,a5,c#6] ~ [e5,a5,c#6] ~ g#5 ~ [e5,a5,c#6] ~@3 [e5,g#5,b5] ~@5", // A E
  V: "[g#5,b5]@2 [g#5,b5] ~ [e5,f#5,a5] ~@3 [e5,g#5] ~@3 [e5,f#5] ~@3, e5 ~@15", // G#m F#m7 E Esus2
  W: "e5@2 [e5,g#5] ~ [e5,f#5] ~ [e5,g#5] ~@3 [e5,f#5] ~@3 [e5,g#5] ~, g#5 ~@15", // E Esus2 E Esus2 E
  X: "[g#5,b5] ~ [e5,g#5,b5] ~ [e5,f#5,a5] ~@3 [e5,g#5] ~@3 [e5,f#5] ~@3, e5 ~@7", // G#m E F#m7 E Esus2
  Y: "[e5,g#5]@2 a5 ~ [e5,b5] ~ c#6@5 ~@5, ~@3 e5 ~@4", Z: "[~@6 [g#4,c#5] ~@3 [g#4,c#5,f5] ~@3 [g#4,c#5,f5]@7 ~@11]/2",
  AA: "[~@2 f#4 ~@3 [f#4,f5] ~@3 f5 ~@3 f5@5 ~ [c5,d#5] ~@11]/2", // F#maj7 Cm
  AB: "[~@2 [f#4,c#5,f5] ~@3 f5 ~@3 [f#4,c#5,f5] ~@3 [f#4,c#5,f5]@6 [c5,d#5] ~@11]/2", AC: "f5 ~ [c#5,f5] ~@13",
  AD: "~@2 c#5 ~@13", AE: "c#5 ~@15", AF: "~@2 f5 ~@13", AG: "~@2 a5 ~ g#5 ~@3 [e5,f#5,a5] ~@3 [e5,g#5,b5] ~@3",
  AH: "[a5,c#6] ~@5 [a5,c#6] ~@3 g#5 ~@5", AI: "[a5,c#6] ~@3 [g#5,b5] ~@3 [f#5,a5] ~@3 [g#5,b5] ~@3",
  AJ: "[a5,c#6] ~@3 g#5 ~ [a5,c#6] ~@3 [e5,g#5,b5] ~@5", AK: "g#5 ~@3 [f#5,a5] ~@3 [e5,g#5] ~@3 f#5 ~@3",
  AL: "[e5,g#5] ~@3 f#5 ~ g#5 ~@3 [e5,f#5] ~@3 g#5 ~", AM: "[g#5,b5] ~@3 [f#5,a5] ~@3 g#5 ~@3 f#5 ~@3",
  AN: "g#5@2 ~@2 b5 ~ c#6 ~@3 [g#5,b5] ~@5", AO: "[a5,c#6] ~@3 [g#5,b5] ~@3 [a5,c#6] ~@3 [g#5,b5] ~@3",
  AP: "[a5,c#6] ~@3 g#5 ~ [a5,c#6] ~@3 [g#5,b5] ~@5", AQ: "[a5,c#6] ~@3 g#5 ~@3 [f#5,a5] ~@3 g#5 ~@3",
  AR: "[g#5,b5]@2 ~@2 f#5 ~@3 g#5 ~@3 f#5 ~@3", AS: "e5@2 g#5 ~ f#5 ~ g#5 ~@3 f#5 ~@3 g#5 ~, g#5 ~@15",
  AT: "[g#5,b5] ~@3 f#5 ~@3 g#5 ~@3 f#5 ~@3", // G#m
})).s("gm_synth_brass_1").gain(0.15).pan(0.3)

// chords · synth brass 1 · "SYNBRASS" · soft notes
const synth_brass_1_soft = note(`<
  ~@40 A B ~ C ~ D C@5 E C ~@2 C ~@8 F ~ G@2 ~@2 H I ~@3 J K L M N O P Q R S T U P V W O X Y Z U P V W O X Y Z U P V W O
  X Y Z U P V W O X Y Z U P V W O
>`.pickRestart({
  A: "e5 ~@3 [a#5,b5] ~@11", B: "~@2 [e5,a5] ~ e5 ~@11", C: "~@2 e5 ~@13", D: "~@4 e5 ~@11", E: "~@4 [e5,b5] ~@11",
  F: "~@2 [g#4,c#5,f5] ~@3 f5 ~@9", G: "[~@2 [c#5,f5] ~@3 c#5 ~@3 [f#4,c#5] ~@3 [f#4,c#5]@6 f#4 ~@11]/2",
  H: "~@6 [f#4,c#5] ~@9", I: "~@4 f#4 ~@11", J: "g#4@2 g#4 ~@13, c#5 ~@15", K: "[g#4,c#5,f5]@2 [g#4,f5] ~@13",
  L: "g4@2 [g4,c#5,f5] ~@13, f5 ~@15", M: "[g4,c#5]@2 [g4,c#5] ~@13, f5 ~@15",
  N: "[e5,a5,c#6] ~ [e5,c6] ~ [e5,a#5,b5] ~@11", O: "e5 ~ [e5,a5,c#6] ~ [e5,g#5,b5] ~ e5 ~@3 [e5,b5] ~@5",
  P: "e5 ~ [e5,a5,c#6] ~ e5 ~@3 e5 ~@3 e5 ~@3", Q: "e5 ~ [e5,a5,c#6] ~ [e5,b5] ~ e5 ~@9",
  R: "[e5,b5] ~ [e5,g#5,b5] ~ e5 ~@7 e5 ~@3", S: "~@2 [e5,g#5] ~ e5 ~ e5 ~@7 e5 ~",
  T: "e5 ~ [e5,g#5,b5] ~ e5 ~@3 e5 ~@3 e5 ~@3", U: "e5@2 [e5,a5] ~ e5 ~ e5 ~@3 e5 ~@5",
  V: "e5 ~ [e5,a5,c#6] ~ [e5,b5] ~ e5 ~@3 e5 ~@5", W: "e5 ~ [e5,a5,c#6] ~ [e5,b5] ~@3 e5 ~@3 [e5,b5] ~@3",
  X: "e5 ~ [e5,g#5,b5] ~ [e5,a5] ~@3 e5 ~@3 e5 ~@3", Y: "~@2 e5 ~ e5 ~ e5 ~@3 e5 ~@3 e5 ~",
  Z: "e5@2 [e5,g#5,b5] ~ [e5,a5] ~@3 e5 ~@3 e5 ~@3", // E A5
})).s("gm_synth_brass_1").gain(0.08).pan(0.3)

// chords · epiano2 · "E.PIANO 2"
const epiano2 = note("<~@17 A@2 B@2 C@2 D@2 ~@98>".pickRestart({
  A: "[[f#3,a#3,c#4,d#4]@13 ~ [f3,g#3,c#4]@15 ~@3]/2", B: "[d#3 ~ g#3 a#3 d#4@2 f4 c#4@7 ~@2, ~ f3@3 ~@12]/2",
  C: "[~@7 a#3@8 ~, ~@8 d#4@21 ~@3, ~@6 c#4@9 ~]/2", D: "[d#3 f3 g#3 a#3 d#4@2 f4 c#4@6 ~@3]/2",
})).s("gm_epiano2").gain(0.29)

// chords · string ensemble 2 · "SLOWSTRIN"
const string_ensemble_2 = note(`<
  ~@39 A@4 B@2 C D@5 E F G H@2 ~@22 I@4 J@2 K L@5 E M N O@5 P@2 N Q@5 R M S T@5 U V S W@5 X
>`.pickRestart({
  A: "[~@15 a5@23 ~@4 [g#5,b5]@2 [f#5,a5]@2 [a5,c#6]@14 ~@2 e5@2, ~@14 c#6@24 ~@24 g#5 ~]/4", // G#m F#m A
  B: "[[c#6,e6]@2 ~@2 [c#6,e6]@2 ~@2 [b5,d#6]@3 ~ [g#5,b5] ~ [b5,d#6]@4 [g#5,b5]@2 ~@12]/2", // C#m B G#m B G#m
  C: "~@6 [e5,g#5] ~ [e5,g#5]@2 [f#5,a5]@2 [g#5,b5] ~ [g#5,b5]@2", // E F#m G#m
  D: "[~ [f#5,a5] g#5@17 ~@7 [g#5,b5] ~@3 [a5,c#6]@25 ~@3 [g#5,b5]@2 [f#5,a5]@2 [a5,c#6]@14 ~@2 e5@2, ~@2 e5@15 ~@61 g#5 ~]/5", // F#m G#m A G#m F#m A
  E: "[c#6,e6]@2 ~@2 [c#6,e6]@2 ~@2 [b5,d#6] ~ [b5,d#6] ~ [g#5,b5] ~ [b5,d#6]@2", F: "[g#5,b5]@3 ~@13",
  G: "~@6 [e5,g#5] ~ [e5,g#5]@2 f#5@2 [g#5,b5] ~ [g#5,b5]@2, ~@10 a5 ~@5", H: "[~ [f#5,a5] [e5,g#5]@16 ~@14]/2",
  I: "[~@16 a5@24 ~@2 [g#5,b5]@2 a5@2 c#6@15 ~ [e5,g#5]@2, ~@14 c#6@27 ~@3 f#5 ~ a5 ~@17]/4", // G#m E
  J: "[[c#6,e6]@2 ~@2 [c#6,e6]@2 ~@2 [b5,d#6]@4 [g#5,b5] ~ [b5,d#6]@4 [g#5,b5] ~@13]/2", // C#m B G#m B G#m
  K: "~@6 [e5,g#5] ~ [e5,g#5]@2 a5@2 [g#5,b5] ~ [g#5,b5]@2, ~@10 f#5 ~@5", // E G#m
  L: "[~ [f#5,a5] g#5@18 ~@6 b5@2 ~@2 c#6@26 ~@2 [g#5,b5]@2 a5@2 c#6@14 ~@2 e5@2, ~@2 e5@14 ~@10 g#5 ~@3 a5@23 ~@7 f#5 ~ a5 ~@15 g#5 ~]/5", // F#m G#m
  M: "b5 ~@7, g#5 ~@15", N: "~@6 [e5,g#5] ~ g#5@2 a5@2 [g#5,b5] ~ [g#5,b5]@2, ~@8 e5 ~ f#5 ~@5",
  O: "[~ [f#5,a5] g#5@19 ~@5 b5@2 ~@2 c#6@26 ~@2 [g#5,b5]@2 a5@2 [a5,c#6]@14 ~@2 e5@2, ~@2 e5@16 ~@8 g#5 ~@3 a5@23 ~@7 f#5 ~@17 g#5 ~]/5", // F#m G#m A
  P: "[e6@2 ~@2 e6@2 ~@2 [b5,d#6]@3 ~ [g#5,b5] ~ [b5,d#6]@4 [g#5,b5] ~@13, c#6 ~@3 c#6 ~@27]/2", // B G#m B G#m
  Q: "[~ [f#5,a5] g#5@19 ~@5 [g#5,b5] ~@3 [a5,c#6]@25 ~@3 [g#5,b5]@2 [f#5,a5] ~ [a5,c#6]@13 ~@3 [e5,g#5] ~, ~ e5@8 ~@31]/5", // F#m G#m A G#m F#m A E
  R: "[c#6,e6]@2 ~@2 [c#6,e6]@2 ~@2 [b5,d#6] ~ d#6@2 [g#5,b5] ~ [b5,d#6]@2, ~@10 b5 ~@5", // C#m B G#m B
  S: "~@6 [e5,g#5] ~ [e5,g#5]@2 [f#5,a5] ~ [g#5,b5] ~ [g#5,b5]@2", // E F#m G#m
  T: "[~ [f#5,a5] [e5,g#5]@19 ~@5 [g#5,b5] ~@3 [a5,c#6]@26 ~@2 [g#5,b5]@2 a5@2 [a5,c#6]@14 ~@2 e5@2, ~@60 f#5 ~@17 g#5 ~]/5", // F#m E G#m A G#m A
  U: "[c#6,e6]@2 ~@2 [c#6,e6]@2 ~@2 d#6 ~ d#6 ~ [g#5,b5] ~ [b5,d#6]@2, ~@2 b5 ~", V: "b5 ~ g#5 ~@13",
  W: "[~ [f#5,a5] [e5,g#5]@18 ~@6 [g#5,b5] ~@3 [a5,c#6]@24 ~@4 [g#5,b5]@2 a5@2 [a5,c#6]@14 ~@2 [e5,g#5] ~, ~@60 f#5 ~@19]/5", // F#m E G#m A G#m A E
  X: "c#6@2 ~@2 e6@2 ~@2 b5 ~ b5 ~ [g#5,b5] ~ [b5,d#6]@2, e6 ~@3 c#6 ~@3 d#6@4 ~@4", // G#m B
})).s("gm_string_ensemble_2").gain(0.36)

// drums · kick
const kick = s("bd").struct(`<
  ~ A B A B A B A B A B A B A B A B A B A B A B A B@8 C D E F B@19 A@2 B A B A B A B@8 C D E F B@48
>`.pickRestart({
  A: "x ~@2 x!2 ~@3", B: "x!2", C: "x ~@3 x ~@2 x", D: "~@3 x ~@3 x", E: "~@3 x ~ x ~ x", F: "~@3 x ~@4",
})).gain(0.62)
// … 32 more lines

More by The Doobie Brothers