Strudelify
Hungry Heart cover art

1980 · The River

Hungry Heart

Bruce Springsteen

KeyC majorTempo113 bpm
0:00/0:00
// Hungry Heart — Bruce Springsteen
// 112.9 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 88 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(112.9/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 · electric bass finger · "BASS"
const bass = note(`<
  ~@2 A B C D E F G H A B C D I F J K A B C D I F J L I F J K A B C D I M N O A B C D I F J L P Q R S T U V W X B C Y@2
  Z@2 AA AB@3 AC@8 AD@3 AE@8 AF@4
>`.pickRestart({
  A: "c2@2 ~ c2@2 g1 a1 c2", B: "a1@8 ~@4 a1@6 ~@2 a1@3 ~ e2@7 ~", C: "d2@8 ~@4 d2@5 ~@3 d2@4 a2@7 ~",
  D: "g2@7 ~@5 g2@8 d2@4 e2@4 g2@4", E: "c2@7 ~@5 c2@8 g1@3 ~ a1@4 c2@4", F: "a1@7 ~@5 a1@5 ~@3 a1@4 e2@3 ~ d#2@4",
  G: "d2@7 ~@5 d2@5 ~@3 d2@4 a2@6 ~@2", H: "g2@8 ~@4 g2@4 e2@3 ~ f2@4 g2@8", I: "c2@7 ~@5 c2@8 g1@4 a1@4 c2@4",
  J: "d2@3 ~@3 d2@2 ~@2 d2@2 f1@2 f#1@2", K: "g1@7 ~@5 g1@4 ~@4 g1@4 e1@4 g1@4", L: "g1@7 ~@5 g1@5 ~@3 g1@4 e1@4 g1@4",
  M: "a1@7 ~@5 a1@5 ~@3 a1@4 e2@4 d#2@4", N: "d2@7 ~@5 d2@5 ~@3 d2@4 a2@7 ~", O: "g2@2 ~ g2 e2 f2 g2@2",
  P: "d#2@2 ~ d#2@2 a#1 c2 d#2", Q: "c2@8 ~@4 c2@6 ~@2 c2@3 ~ g2@7 ~", R: "f2@8 ~@4 g#2@4 ~@4 f2@4 c3@7 ~",
  S: "a#2@7 ~@5 a#2@8 f2@4 g2@4 a#2@4", T: "d#2@7 ~@5 d#2@8 a#1@3 ~ c2@3 d#2@4 ~",
  U: "c2@7 ~@5 c2@5 ~@3 c2@4 g2@3 f#2@4 ~", V: "f2@7 ~@5 f2@5 ~@3 f2@4 c3@6 ~@2",
  W: "g1 ~@2 g1@2 ~@3 g1@2 ~@2 g1@2 ~@2 g1@2 ~@2 g1@2 ~@2 g1 ~@2 g1!2 ~@3, ~@20 f1 ~@11",
  X: "c2@8 ~@4 c2@8 g1@4 a1@3 c2@4 ~", Y: "[g2@7 ~@5 g2@8 d2@4 e2@4 g2@3 c2@7 ~@5 c2@8 ~ g1@3 a1@4 c2@4 ~]/2",
  Z: "[a1@7 ~@4 a1@5 ~@4 a1@3 e2@3 ~ d#2@4 d2@6 ~@6 d2@4 ~@4 d2@4 ~ f1@3 f#1@4 ~]/2",
  AA: "g1@7 ~@4 g1@5 ~@4 g1@3 e1@4 g1@4 ~",
  AB: "[c2@8 ~@3 c2@9 g1@3 a1@4 c2@4 a1@8 ~@4 a1@6 ~@2 a1@3 ~@2 e2@7 d2@8 ~@5 d2@5 ~@3 d2@3 a2@7 ~@2]/3",
  AC: "[g2@7 ~@4 g2@8 d2@4 e2@4 g2@4 c2@7 ~@5 c2@8 g1@4 a1@4 c2@4 a1@7 ~@5 a1@5 ~@3 a1@4 e2@3 ~ d#2@4 d2@7 ~@5 d2@5 ~@3 d2@4 a2@6 ~@2 g2@8 ~@4 g2@4 e2@4 f2@4 g2@8 c2@8 ~@4 c2@8 g1@4 a1@4 c2@4 a1@8 ~@4 a1@6 ~@2 a1@3 ~ e2@7 ~ d2@8 ~@4 d2@5 ~@3 d2@4 a2@7 ~ g2]/8",
  AD: "[~@11 g2@8 d2@4 e2@4 g2@4 c2@7 ~@5 c2@8 g1@3 ~ a1@4 c2@4 a1@7 ~@5 a1@5 ~@3 a1@4 e2@3 ~ d#2@4 d2]/3",
  AE: "[~@11 d2@4 ~@4 d2@4 f1@4 f#1@4 g1@7 ~@5 g1@5 ~@3 g1@4 e1@4 g1@4 c2@8 ~@4 c2@8 g1@4 a1@4 c2@4 a1@8 ~@4 a1@6 ~@2 a1@3 ~ e2@7 ~ d2@8 ~@4 d2@5 ~@3 d2@4 a2@7 ~ g2@7 ~@5 g2@8 d2@4 e2@4 g2@4 c2@7 ~@5 c2@8 g1@4 a1@4 c2@4 a1@7 ~@5 a1@5 ~@3 a1@4 e2@3 ~ d#2@4 d2]/8",
  AF: "[~@11 d2@4 ~@4 d2@4 f1@4 f#1@4 g1@7 ~@5 g1@4 ~@4 g1@4 e1@4 g1@4 c2@43 ~@22]/4",
})).s("gm_electric_bass_finger").gain(0.71)

// chords · piano
const piano = note(`<
  ~@2 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z W AA I J K L M AB AC AD Q AE C D E AF AG@8 AH AI@7 AJ@8 AK@8
  AL@8 AM@3 ~
>`.pickRestart({
  A: "[g4,b4,d5]@2 ~@2 [g4,c5,e5]@2 ~@2 [g4,e5] ~@3 [g4,e5] ~@3 [g4,c5,e5]@2 ~@2 [g4,e5] ~@3 [g4,e5] ~@3 [g4,c5,e5]@2 ~@2, c3@4 c5 ~ c3@4 c5 ~ c5 ~@3, ~@6 c5 ~@3 g2@2 a2@2 c3@2", // G C
  B: "[g4,b4,d5] ~@3 [c5,e5]@2 ~@2 [c5,e5]@2 ~@2 [a4,c5,d5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3, a2@8 ~@4 a2@4 ~@4 a2@3 ~ e3@7 ~, ~@4 a4 ~@3 a4 ~@23", // G C Am
  C: "[a4,c5] ~@3 [a4,d5]@2 ~@2 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,f5] ~@3, d3@8 ~@4 d3@4 ~@4 d3@4 a3@7 ~, e5@2 ~@2 f5 ~@23 d5@2 ~@2", // Am D5 Dm
  D: "[c5,e5] ~@3 [d5,f5]@2 ~@2 [g4,f5] ~@3 [g4,f5] ~@3 [g4,a4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3, g3@7 ~@5 g3@8 d3@4 e3@4 g3@4, a4@2 ~@2 g4 ~@3 d5@2 ~@2 d5@2 ~@18", // C Dm G7 Dm G7
  E: "[g4,b4,d5] ~@3 [c5,d5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3, c3@7 ~@5 c3@8 g2@3 ~ a2@4 c3@4, ~@2 g4 ~@13", // G C
  F: "[g4,b4,d5] ~@3 [c5,e5]@2 ~@2 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3, a2@7 ~@5 a2@4 ~@4 a2@4 e3@3 ~ d#3@3 ~, ~@4 [a4,d5] ~@27", // G C Am D5
  G: "[a4,c5,d5,e5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3, d3@7 ~@5 d3@4 ~@4 d3@4 a3@7 ~", // Am Dm
  H: "[g4,c5,e5] ~@3 [d5,f5]@2 ~@2 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5]@2 ~@2 [g4,d5,f5]@2 ~@2, g3@8 ~@4 g3@4 e3@3 ~ f3@3 ~ g3@8, ~@4 g4 ~@19 f5 ~@7", // C Dm G7 G5 G7
  I: "c3@2 ~ c3@2 g2 a2 c3", J: "a2@8 ~@4 a2@6 ~@2 a2@3 ~ e3@7 ~", K: "d3@8 ~@4 d3@5 ~@3 d3@4 a3@7 ~",
  L: "g3@7 ~@5 g3@8 d3@4 e3@4 g3@4", M: "c3@7 ~@5 c3@8 g2@3 ~ a2@4 c3@4", N: "a2@7 ~@5 a2@5 ~@3 a2@4 e3@3 ~ d#3@4",
  O: "d3@6 ~@6 d3@5 ~@3 d3@4 f2@4 f#2@4", P: "g2@7 ~@5 g2@4 ~@4 g2@4 e2@4 g2@4",
  Q: "[g4,b4]@2 ~@2 [g4,c5,e5]@2 ~@2 [g4,e5] ~@3 [g4,e5] ~@3 [g4,c5,e5]@2 ~@2 [g4,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5]@2 ~@2, c3@8 ~@4 c3@8 c5@2 ~@6 e5 ~@3, d5 ~@7 c5@2 ~@2 c5@2 ~@6 g2@4 a2@4 c3@4", // G C C5
  R: "[g4,b4,d5] ~@3 [c5,e5]@2 ~@2 [c5,e5]@2 ~@2 [a4,d5,e5] ~@3 [a4,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3, a2@8 ~@4 a2@4 ~@4 a2@3 ~ e3@7 ~, ~@4 a4 ~@3 a4 ~@3 c5@2 ~@2 c5@2 ~@14", // G C Asus4 A5 Am
  S: "[a4,c5] ~@3 [a4,d5]@2 ~@2 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,f5] ~@3, d3@8 ~@4 d3@4 ~@4 d3@3 ~ a3@7 ~, e5@2 ~@2 f5 ~@23 d5@2 ~@2", // Am D5 Dm
  T: "[c5,e5] ~@3 [d5,f5]@2 ~@2 [g4,d5,f5] ~@3 [g4,f5] ~@3 [g4,a4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3, g3@7 ~@5 g3@8 d3@4 e3@4 g3@4, a4@2 ~@2 g4 ~@7 d5@2 ~@18", // C Dm G7 Dm G7
  U: "[g4,b4,d5]@2 ~@2 [g4,c5,e5]@2 ~@2 [g4,e5] ~@3 [g4,e5] ~@3 [g4,c5,e5]@2 ~@2 [g2,c5]@3 ~ [g4,c5,e5] ~@3 [g4,c5,e5]@2 ~@2, c3@7 ~ c5@2 ~@2 c3@8 ~@4 a2@4 c3@4, ~@12 c5@2 ~@6 [g4,e5] ~@11", // G C C5 C
  V: "[g4,b4,d5] ~@3 [c5,e5]@2 ~@2 [a4,c5,e5]@2 ~@2 [a4,c5,d5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3, a2@7 ~@5 a2@4 ~@4 a2@4 e3@3 ~ d#3@3 ~, ~@4 a4 ~@27", // G C Am
  W: "[a4,c5] ~@3 [a4,d5]@2 ~@2 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,f5] ~@3, d3 ~@2 d3 ~ d3 f2 f#2, e5@2 ~@2 f5 ~@23 d5@2 ~@2", // Am D5 Dm
  X: "[c5,e5] ~@3 [d5,f5]@2 ~@2 [g4,f5] ~@3 [g4,d5,f5] ~@3 [g4,a4,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3, g2@7 ~@5 g2@4 ~@4 g2@4 e2@4 g2@4, a4@2 ~@2 g4 ~@3 d5@2 ~@6 d5@2 ~@14", // C Dm G7 Dm G7
  Y: "[g4,b4,d5]@2 ~@2 [g4,c5,e5]@2 ~@2 [g4,c5]@2 ~@2 [g4,e5] ~@3 [g4,c5,e5]@2 ~@2 [g2,c5]@3 ~ [g4,c5,e5] ~@3 [g4,c5,e5]@2 ~@2, c3@7 ~ e5 ~@3 c3@8 ~@4 a2@4 c3@4, ~@12 c5@2 ~@6 [g4,e5] ~@11", // G C C5 C C5 C
  Z: "[g4,b4,d5] ~@3 [c5,e5]@2 ~@2 [c5,e5]@2 ~@2 [a4,d5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3, a2@7 ~@5 a2@4 ~@4 a2@4 e3@3 ~ d#3@3 ~, ~@4 a4 ~@3 a4 ~@3 c5@2 ~@18", // G C Asus4 Am
  AA: "[c5,e5] ~@3 [d5,f5]@2 ~@2 [g4,f5] ~@3 [g4,d5,f5] ~@3 [g4,a4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3, g2@7 ~@5 g2@4 ~@4 g2@4 e2@4 g2@4, a4@2 ~@2 g4 ~@3 d5@2 ~@22", // C Dm G7 Dm G7
  AB: "a2@7 ~@5 a2@5 ~@3 a2@4 e3@4 d#3@4", AC: "d3@7 ~@5 d3@5 ~@3 d3@4 a3@6 ~@2", AD: "g3@8 ~@4 g3@4 e3@3 ~ f3@4 g3@8",
  AE: "[g4,b4,d5] ~@3 [c5,e5]@2 ~@2 [c5,e5]@2 ~@2 [a4,d5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3, a2@8 ~@4 a2@4 ~@4 a2@3 ~ e3@7 ~, ~@4 a4 ~@3 a4 ~@3 c5@2 ~@18", // G C Asus4 Am
  AF: "[g4,b4,d5] ~@3 [a4,c5,d5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@2 d3, a2@7 ~@4 a2@5 ~@4 a2@4 e3@3 ~ d#3@3 ~", // G Am
  AG: "[[a4,c5,d5,e5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [g4,c5,e5] ~@3 [d5,f5]@2 ~@2 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [d5,f5] ~@3 [g4,d5,f5]@2 ~@2 [a#4,d5,f5]@2 ~@2 [a#4,d#5,g5]@2 ~@2 [a#4,g5] ~@3 [a#4,g5] ~@3 [a#4,d#5,g5]@2 ~@2 [a#4,d#5,g5] ~@3 [a#4,d#5,g5] ~@3 [a#4,d#5]@2 ~@2 [a#4,d5,f5] ~@3 [d#5,g5]@2 ~@2 [d#5,g5]@2 ~@2 [c5,d#5,f5,g5] ~@3 [c5,d#5,g5] ~@3 [c5,d#5,g5] ~@3 [c5,d#5,g5] ~@3 [c5,d#5,g5] ~@3 [c5,d#5] ~@3 [c5,f5]@2 ~@2 [c5,f5,g#5] ~@3 [c5,f5,g#5] ~@3 [c5,f5,g#5] ~@3 [c5,f5,g#5] ~@3 [c5,f5,g#5] ~@3 [c5,g#5] ~@3 [c5,g5]@2 ~@2 [f5,g#5]@2 ~@2 [a#4,g#5] ~@3 [a#4,g#5] ~@3 [a#4,c5,f5,g#5] ~@3 [a#4,f5,g#5] ~@3 [a#4,f5,g#5] ~@3 [a#4,f5,g#5] ~@3 [a#4,d5,f5] ~@3 [d#5,f5,g5] ~@3 [a#4,d#5,g5] ~@3 [a#4,d#5,g5] ~@3 [a#4,d#5,g5] ~@3 [a#4,d#5,g5] ~@3 [a#4,d#5,g5] ~@3 [a#4,d#5,g5] ~@3 [a#4,d5,f5] ~@3 [c5,f5] ~@3 [c5,d#5,g5] ~@3 [c5,d#5,g5] ~@2 d#5 [c5,g5] ~@3 [c5,d#5,g5] ~@3 [c5,d#5,g5] ~@3 [c5,d#5,g5] ~@2 f3, ~@12 d3@4 ~@4 d3@4 f2@4 f#2@3 g2@5 g4 ~@7 g2@4 ~@4 g2@4 e2@4 g2@3 d#3@8 ~@5 d#3@9 ~@7 d#3@3 c3@8 ~@5 c3@4 ~@4 c3@3 ~ g3@7 f3@8 ~@5 g#3@4 ~@4 f3@4 c4@7 a#3@7 ~@6 a#3@8 f3@4 g3@4 a#3@3 d#3@7 ~@6 d#3@8 a#2@3 c3@4 d#3@4 c3@7 ~@5 c3@5 ~@3 c3@4 g3@3 ~@2 f#3@3 ~, ~@56 g4@2 ~@14 d#5@2 ~@2 d#5@2 ~@6 a#2@4 c3@4 g5 ~@7 c5 ~@3 c5 ~@23 g5@2 ~@2 g#5 ~@23 f5@2 ~@2 d#5 ~@3 a#4 ~@3 f5@2 ~@2 f5@2 ~@21 a#4@2 ~@30 [d#5,g5]@2 ~@27]/8", // Am Dm C Dm G7 Dm G7 A# …
  AH: "[c5,d#5,f5,g5] ~@3 [c5,f5,g#5] ~@3 [c5,f5,g#5] ~@3 [c5,f5,g#5] ~@2 f5 [c5,g#5] ~@3 [c5,f5,g#5] ~@3 [c5,f5,g#5] ~@2 [f5,g#5] c5 ~@2 g2, ~@11 f3@5 ~@3 f3@4 c4@6 ~@3", // Cm Fm
  AI: "[[g4,d5,f5] ~@3 [g2,d5]@2 ~@2 [g4,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@2 f2 [f2,g4,d5,f5] ~@3 [g2,g4,f5] ~@3 [g4,d5,f5]@2 ~@2 [g4,b4,d5]@2 ~@2 c5@2 ~@2 [g4,e5] ~@3 [g4,e5] ~@3 [g4,e5]@2 ~@2 [g4,e5] ~@3 [g4,c5,e5] ~@3 c3@3 ~ [g4,b4,d5] ~@3 [c5,e5]@2 ~@2 [c5,e5]@2 ~@2 [a4,c5,d5,e5] ~@2 c5 [a4,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@2 [a4,e5] c5 ~@3 [a4,c5] ~@2 [a4,d5,f5]@2 ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@2 d5 [a4,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,f5] ~@3 [c5,e5] ~@2 [d5,f5]@2 ~@3 [g4,f5] ~@3 [g4,f5] ~@2 d5 [g4,a4,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@2 g4 [b4,d5] ~@3 [g4,c5,d5,e5] ~@2 [g4,c5,e5] ~@3 c5 [g4,e5] ~@2 g4 [c5,e5] ~@3 [g4,c5,e5] ~@2 [g4,c5,e5] ~@3 [g4,c5,e5] c3@3 ~ [g4,b4,d5] ~@3 [a4,d5] ~@2 [a4,c5,e5] ~@3 [a4,e5] c5 ~@2 [a4,c5,e5] ~@4 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@2 [d3,c5,e5], ~@4 [g4,f5] ~@2 g2@2 ~@2 g2@2 ~@2 g2@2 ~@2 g2@2 ~@7 g2 ~@2 c3@8 ~@4 c3@9 c5@2 ~@5 c5@2 ~@7 a4 ~@3 a4 ~@55 a4@2 ~ g4 ~@92, ~@8 d5@2 ~@14 d5@2 ~@9 [g4,e5]@2 ~@3 c5@2 ~@2 c5@2 ~ c5@2 ~@2 g2@4 a2@4 ~ g4@2 ~ a2@8 ~@5 a2@6 ~ a2@3 ~ e3@7 ~ d3@8 ~@4 d3@5 ~@4 d3@3 a3@7 ~ g3@7 ~@5 g3@8 d3@4 e3@4 g3@4 c3@7 ~@5 c3@8 g2@3 ~ a2@4 ~@4 a2@8 ~@4 a2@5 ~@3 a2@4 e3@3 ~@2 d#3@3 ~, ~@60 e5 ~@35 e5@2 ~@26 d5@2 ~@10 d5@2 ~@2 d5@2 ~@53 [c5,e5]@2 ~@27]/7", // G7 G5 G7 G C G C Am …
  AJ: "[[a4,d5] ~@2 [a4,d5] f5 ~@2 [a4,d5,f5] ~@3 d5 [a4,f5] ~@2 d5 [a4,f5] ~@2 [d5,f5] a4 ~@3 [a4,d5,f5] ~@2 d5 [a4,f5] ~@3 [g4,c5,e5] ~@3 g4 ~@2 [d5,f5] g4 ~@2 [g4,d5,f5] g2@3 [d5,f5] g4 ~@3 [g4,d5,f5] ~@3 d5@2 ~@2 [g4,d5,f5]@2 ~@2 [g4,b4,d5]@2 ~@2 c5@2 ~@2 [g4,e5] ~@3 [g4,e5] ~@3 g4@2 ~@2 [g4,e5] ~@2 e5 g4 ~@3 [g4,c5]@2 ~@2 [g4,b4,d5] ~@3 a4 ~@3 [c5,e5]@2 ~ [a4,c5,e5] d5 ~@2 c5 [a4,e5] ~@2 [a4,c5,e5] ~@4 [a4,c5,e5] ~@2 [a4,e5] c5 ~@3 [a4,c5] ~@2 a4 f5 ~@2 [a4,d5,f5] ~@4 [a4,d5,f5] ~@2 [a4,d5,f5] ~@4 [a4,d5,f5] ~@2 d5 [a4,f5] ~@2 f5 a4 ~@3 [c5,e5] ~@3 g4 ~@2 [g4,f5] ~@3 [g4,f5] ~@3 [g4,a4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,b4,d5] ~@3 e5 [c5,d5] ~@2 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 g4 [b4,d5] ~@2 [a4,c5,d5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [d3,c5], ~@11 d3@4 ~@4 d3@4 f2@4 ~ f#2@3 g2@8 ~@12 g2@4 e2@4 ~ g2@3 c3@8 ~@4 c3@9 ~@7 c3@4 ~@24 e3@7 ~ d3@8 ~@4 d3@5 ~@3 d3@4 a3@7 ~ g3@7 ~@5 g3@8 d3@4 e3@4 g3@4 ~@56 e3@3 ~ d#3@3 ~@2, ~@35 [d5,f5]@2 ~@18 g4@2 ~@10 [g4,e5]@2 ~@2 c5@2 ~@2 c5@2 ~@2 [c5,e5]@2 ~@2 g2@4 a2@4 ~@4 a2@8 ~@5 a2@6 ~ a2@3 ~@73 c3@7 ~@5 c3@8 g2@3 ~ a2@4 c3@4 a2@7 ~@5 a2@4 ~@4 a2@4 ~@9, ~@56 f5 ~@27 c5@2 ~ c5@2 ~@3 e5 ~@6 [c5,e5]@2 ~@3 a4 ~@22 e5@2 ~@2 d5@2 ~@22 d5@2 ~@3 a4@2 ~ [d5,f5]@2 ~@2 d5@2 ~@2 d5@2 ~@22 g4@2 ~@59]/8", // D5 Dm C Dm G7 Dm G7 G …
  AK: "[[a4,d5,e5] ~@2 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [g4,e5] c5 ~@2 [d5,f5]@2 ~@2 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [d5,f5] ~@3 [g4,d5,f5]@2 ~@3 [g4,b4,d5]@2 ~ [g4,c5,e5]@2 ~@2 [g4,e5] ~@3 [g4,e5] ~@3 [g4,c5,e5]@2 ~@2 [g4,e5] ~@3 [g4,e5] ~@3 [g4,c5,e5]@2 ~@2 [g4,d5] b4 ~@2 [c5,e5]@2 ~@2 [c5,e5]@2 ~@2 [a4,d5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 e5 [a4,c5] ~@2 [a4,d5,f5]@2 ~@2 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,f5] ~@3 e5 c5 ~@2 [d5,f5]@2 ~@2 [g4,f5] ~@3 [g4,f5] ~@3 [g4,a4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,b4,d5] ~@3 [c5,d5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g4,e5] ~@3 [g4,b4,d5] ~@3 [c5,e5]@2 ~@2 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [d3,a4,c5,d5,e5], ~@11 d3@4 ~@4 d3@3 ~ a3@4 ~@4 g3@8 ~@4 g3@4 e3@3 ~ f3@4 g3@8 c3@8 ~@4 c3@8 c5@2 ~@2 c5@2 ~@10 a4 ~@3 a4 ~@3 c5@2 ~@46 d5@2 ~@2 a4@2 ~@2 g4 ~@3 d5@2 ~@2 d5@2 ~@22 g4@2 ~@22 c5@2 ~@6 [a4,d5] ~@28, ~@35 g4 ~@19 g4@2 ~@14 c5@2 ~@2 c5@2 ~@6 g2@4 a2@4 c3@4 a2@8 ~@4 a2@4 ~@4 a2@3 ~ e3@7 ~ d3@8 ~@4 d3@4 ~@4 d3@4 a3@7 ~ g3@7 ~@5 g3@8 d3@4 e3@4 g3@4 c3@7 ~@5 c3@8 g2@3 ~ a2@4 c3@4 a2@7 ~@5 a2@4 ~@4 a2@4 e3@3 ~ d#3@3 ~@2]/8", // Asus4 Dm C Dm G7 Dm G7 G …
  AL: "[~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [g4,c5,e5] ~@3 [d5,f5]@2 ~@2 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,f5] ~@3 [g4,d5,f5] ~@3 [d5,f5] ~@3 [g4,d5,f5]@2 ~@3 g4@2 ~ [g4,c5,e5]@2 ~@2 [g4,e5] ~@3 [g4,e5] ~@3 [g4,c5,e5]@2 ~@2 [g4,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5]@2 ~@2 d5 [g4,b4] ~@2 [c5,e5]@2 ~@2 [c5,e5]@2 ~@2 [a4,e5] d5 ~@2 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@4 [a4,c5] ~@2 [a4,d5,f5]@2 ~@2 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,f5] ~@4 [a4,c5,e5] ~@2 [d5,f5]@2 ~@2 [g4,f5] ~@3 [g4,f5] ~@3 [g4,a4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [b4,d5] ~@3 [c5,d5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g2,c5]@3 ~ [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g4,b4,d5] ~@3 [c5,e5]@2 ~@2 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [d3,a4,c5,e5], ~@11 d3@4 ~@4 d3@4 f2@4 f#2@4 g2@7 ~@5 g2@4 ~@4 g2@4 e2@4 g2@4 c3@8 ~@4 c3@8 c5@2 ~@14 a4 ~@3 a4 ~@3 c5@2 ~@18 e5@2 ~@26 d5@2 ~@6 g4 ~@3 d5@2 ~@2 d5@2 ~@18 g4@2 ~@2 g4@2 ~@14 [g4,e5] ~@15 [a4,d5] ~@28, ~@35 g4 ~@11 d5@2 ~@6 g4@2 ~@6 [b4,d5]@2 ~@6 c5@2 ~@2 c5@2 ~@6 g2@4 a2@4 c3@4 a2@8 ~@4 a2@6 ~@2 a2@3 ~ e3@7 ~ d3@8 ~@4 d3@4 ~@4 d3@4 a3@7 ~ g3@7 ~@5 g3@8 d3@4 e3@4 g3@4 c3@7 ~@5 c3@8 ~@4 a2@4 c3@4 a2@7 ~@5 a2@4 ~@4 a2@4 e3@3 ~ d#3@4 ~]/8", // Dm C Dm G7 Dm G7 C G …
  AM: "[d5 ~@2 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [g4,c5,e5] ~@3 [d5,f5]@2 ~@2 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [d5,f5] ~@3 [g4,d5,f5]@2 ~@3 [g3,c4,e4]@22 ~@10, ~@11 d3@4 ~@4 d3@4 f2@4 f#2@4 g2@7 ~@5 g2@4 ~@4 g2@4 e2@4 g2@4 c3@31 ~@2, ~@35 g4 ~@19 g4@2 ~@39]/3", // Dm C Dm G7 Dm G7 C
})).s("gm_piano").gain(0.71)

// chords · rock organ · "ORGAN"
const rock_organ = note(`<
  ~@5 A@2 B C D E F G H I J K L@2 M N O P@3 Q R S T U V@2 W X Y Z AA@2 AB@7 AC AD AE@2 AF AG AH AI AJ@2 AK AL@2 AM@4 AN
  AO@3 AP AQ@7 AR@3 AS AT@4 AU@6
>`.pickRestart({
  A: "[~@21 [g3,a3] ~@3 [b4,c5] [e5,f5] [g5,a5] [b5,c6] [d6,e6,f6] g6 [b6,c7] c7@30 ~ [d6,e6,f6,g6,a6], ~@21 [b3,c4]@2 [f4,g4]@2 d5@2 ~@3 a6@33 ~, ~@22 [d4,e4]@2 a4@2 ~@6 b6 ~@31]/2", // Gsus2 Cmaj7 Fmaj7 Gsus2 Cmaj7 Dm Cmaj7 Dm …
  B: "[b5,c6] ~@3 [f6,g6,b6] ~@3 g6 ~@3 [e6,g6] ~@3 [e6,f6,g6] ~@3 g6@12, ~ [e6,a6] ~@2 a6 ~@3", // Cmaj7 G7 Em A5
  C: "~@4 c6 ~@3 d6@4 c6 ~@3 e6@2 ~@2 d6 ~@3 c6 ~@3 f6@4", D: "e6 ~@3 f6@2 ~@2 e6@3 ~ d6 ~@3 c6@9 ~ b5 ~@5",
  E: "[g4,c5] ~@3 [g4,c5,e5]@26 ~@2", // C5 C
  F: "[g4,c5,e5] ~@3 [a4,c5,e5]@14 ~@2 [c5,e5]@4 a4@2 ~@2 [a4,c5,e5] ~@3, ~@3 a3@13 ~@3 a3@6 ~@3 a3@2 ~@2, ~@20 a4 ~@11", // C Am C Am
  G: "[b3,a4,c5,e5] ~@3 [d4,a4,d5,f5]@26 ~@2, a3 ~@15", // Am Dm
  H: "[d4,a4,d5,f5] ~@3 [b4,d5,f5]@13 ~@3 b4 f5@3 b4@2 ~@2 [b4,d5,f5] ~@3, ~ g3@7, ~@4 a3 ~@15 d5@4 d5 ~@7, ~@21 e5 ~@10", // Dm Bdim
  I: "[g4,b4,d5] ~@3 [c4,g4,c5,e5]@26 ~@2, ~@4 b4 ~@27", // G C
  J: "[g4,c5,e5] ~@3 [a4,c5,e5]@13 ~@3 [a4,d5] ~@3 a4@2 ~@2 [a4,e5] ~@3, c4@2 ~@2 a3@25 ~@3, ~@10 c5@2 ~@2 c5 ~, ~@20 e5@3 ~@9", // C Am D5 A5
  K: "[a3,e5]@2 ~@2 [d4,a4,d5,f5]@27 ~, [a4,c5] ~@3 c#5 ~@27", // A5 Dm Am
  L: "[[d4,d5]@2 ~@2 [b4,d5,f5]@13 ~@3 b4 e5 ~@2 b4 ~@3 [b4,d5,f5] ~@3 [g4,b4,d5] c5 ~@2 c4@6 ~ c4@19 ~@2, [a4,f5] ~@3 g3@32 ~@28, ~@20 [d5,f5]@5 ~@11 [g4,c5,e5]@26 ~@2]/2", // D Bdim G Dm C
  M: "[g4,e5] c4@2 ~ [a3,a4,c5,e5]@19 ~ [a3,c5,e5]@4 a4@2 ~@2, c5@2 ~@22 a4 ~@7", // C Am
  N: "~ [c5,e5]@2 ~@2 d5@25 ~@2, a3@4 [d4,a4,f5]@25 ~@3, a4 ~@15", O: "[d4,a4,d5,f5]@3 ~ [b4,d5,f5]@25 ~@3, ~ g3@7",
  P: "[[f4,g4,d5] ~@3 [c4,g4,c5,e5]@26 ~@2 [c5,e5]@3 ~ [a3,a4,c5,e5]@25 ~@3 [c5,e5]@3 ~ [d4,a4,d5,f5]@28, b4@2 ~@29 c4@3 ~@29 a3@3 ~@30, ~@32 g4 ~@31 a4 ~@31]/3", // G7 C Am C Dm
  Q: "~ b4@22 ~@9, g3, [d5,f5]@3 ~", R: "[c7,e7]", S: "~@4 [c7,e7]@6 [b6,d7]@6 [a6,c7]@15 d7, ~@4 d7 ~@11 b6 ~@15",
  T: "[g6,a6,b6] [d6,e6,f6] ~@10 [e6,a6]@4 g6@2 ~@2 e6 ~@3 g6@4 e6 ~@3, ~@12 g6 ~@19", // G Dm A5
  U: "g6@4 e6 ~@3 d6 ~@3 c6@13 ~@6 b4",
  V: "[[g4,d5] ~@7 c4@22 ~ [g4,c5]@2 ~@3 [a3,a4,c5,e5]@27 ~, ~@3 [g4,c5,e5]@27 ~ [c4,e5] ~@32]/2", // G5 C5 Am C
  W: "[a4,c5,e5] ~@3 [d4,a4,d5,f5]@27 ~, a3 ~@15", X: "[d4,a4,d5,f5]@2 ~@2 [b4,d5,f5]@25 ~@3, ~ g3@7",
  Y: "[g4,b4,d5] ~@4 c4@27, ~@4 [g4,c5,e5]@27 ~", Z: "[g4,c5]@2 ~@2 [a3,a4,c5,e5]@27 ~, e5 ~@31",
  AA: "[[a4,c5,e5] ~@3 [a4,d5,f5]@26 ~@2 f5@2 ~@2 [g3,b4,d5,f5]@28, a3@2 ~ d4@26 ~@2 [d4,d5]@2 ~@31, ~@32 a4 ~@31]/2", // Am Dm G7 D
  AB: "[[g4,b4,d5] ~@3 [c4,g4,c5,e5]@25 ~@2 [c4,g4,c5,e5]@2 ~@3 [a4,c5]@26 ~@2 [a4,e5] ~@3 [a4,d5]@18 ~@2 [d5,f5]@3 a4@2 ~@2 [d4,d5]@2 ~@3 [b4,d5]@14 ~@2 [d5,f5]@4 b4@2 ~@2 [b4,d5,f5] ~@3 [g4,b4,d5] ~@3 [c4,g4,c5,e5]@25 ~@3 e5 ~@3 [a3,a4,c5,e5]@18 ~@2 [a3,c5,e5]@4 a4@2 ~@2 [a3,a4,e5] ~@3 [a4,d5]@26 ~@2, ~@35 [a3,e5]@26 ~@2 [a3,c5]@2 ~@3 d4@20 a4 ~@6 [a4,f5] ~@4 g3@16 ~@4 g3@11 ~@28 [c4,g4,c5]@3 ~@33 d4@21 ~@8, ~@68 f5@15 ~@16 f5@13 ~@4 [b4,e5] ~@3 g#3 ~@11 d5 ~@51 a4 ~@6 c5@2 ~@2 f5@26 ~@3]/7", // G C Am A5 D5 Dm D Bm …
  AC: "[b4,d5,f5]@11 ~@5", AD: "~@8 g6@4 a#6@11 g6@3 ~@2 a#6 ~@3, ~@12 g#6 ~@14 g#6@2 ~@3",
  AE: "[~@3 a#6 c7@7 a#6 ~@3 a#6 c7@3 a#6@4 g6@4 a#6 ~@3 g6@5 ~@3 f6 g6@7 f6@2 d#6@2 ~ c6@4 d#6@4 f6 ~@3, ~@31 f6 ~@8 e6 ~@23]/2",
  AF: "g6@4 g#6 a#6 ~@2 a#6@3 ~ c7 ~@3 f6@2 d#6 c6@4 d#6@4 f6@4 ~",
  AG: "~@8 g6@4 a#6@12 g6@3 g#6 a#6@2 ~@2, ~@12 g#6 ~@19",
  AH: "~@4 c7@8 a#6 ~@3 c7@4 a#6@4 g6@4 a#6 ~@3, ~@4 a#6 ~@11 a#6 ~@15",
  AI: "g6@4 ~@3 f6 g6@8 ~ d#6@3 c6@4 d#6@4 f6 ~@3, f6 ~@15 f6@2 ~@14", AJ: "[~ g5 a5 c6 d6 c6 a5 c6@6 ~@3]/2",
  AK: "~@4 [a4,c5,e5]@17 ~@3 [c5,e5]@3 ~ a4 ~@3, ~@24 a4 ~@7", // Am C
  AL: "[[a4,c5,e5] ~@3 c#5 ~ d4@23 ~@2 [d4,a4,f5] ~@4 b4@14 ~@2 [b4,e5] ~@3 b4@2 ~@2 [b4,d5,f5] ~@3, ~@4 [a4,d5,f5]@25 ~@2 d5@2 ~@2 g3@29, ~@35 [d5,f5]@14 ~@3 d5@4 ~@8, ~@52 f5@3 ~@9]/2", // Am Dm E5 Bdim Dm
  AM: "[[g4,b4,d5] ~@3 c5@26 ~@2 [c4,c5] ~@3 [a4,c5,e5]@14 ~@2 [a4,d5] ~@3 a4@2 ~@2 [a4,c5,e5] ~@3 c5@2 ~@2 [a4,d5,f5]@26 ~@2 f5 ~@3 [b4,d5,f5]@14 ~@2 b4@5 ~@3 [b4,f5]@2 ~@2, ~@3 [c4,g4,e5]@27 ~ [g4,e5]@2 ~@2 a3@14 ~@3 [a3,c5]@7 a3@2 ~@2 [a3,e5]@3 ~ d4@26 ~@2 [d4,a4,d5]@2 ~@2 g3@14 ~@2 [g3,d5,f5]@6 ~@2 g3@5, ~@52 e5@4 e5 ~@7 a4 ~@58 d5@2 ~@3]/4", // G C Am D5 Am Dm Bdim C …
  AN: "[g4,d5] ~@3 [c4,g4,c5,e5]@26 ~@2, b4 ~@15", // G5 C
  AO: "[[c4,g4,c5,e5]@2 ~@2 [a3,a4,c5,e5]@18 ~@2 [a3,c5,e5]@4 [a4,e5] ~@3 [a4,e5] ~@3 [a4,f5]@25 ~@3 d4@2 ~@2 [b4,d5,f5]@18 ~@2 [d5,f5]@3 b4 d5 ~@3, ~@24 a4 ~@6 a3@3 ~ [d4,d5]@25 ~@4 f5 ~@22 b4@2 ~@7, ~@32 c5@2 ~@29 [a4,d5]@2 ~@2 g3@19 ~@2 g3@8]/3", // C Am A5 Dm Bdim Dm D D5
  AP: "[g4,d5] ~@3 [g4,c5,e5]@26 ~@2, b4@2 ~ c4@26 ~@3", // G5 C
  AQ: "[[c4,g4,c5,e5]@2 ~@2 [a3,a4,c5,e5]@18 ~ a4 [a3,c5,e5]@4 a4@2 ~@2 [a4,c5,d5,e5] ~@3 [d5,f5]@27 ~ [b4,d5,f5]@24 ~@7 [c7,e7]@51 ~@2 [c7,e7]@6 [b6,d7]@5 [a6,c7]@47 ~@5 [e6,a6]@5 g6 ~@3 [e6,g6] ~@3, ~@31 a3@2 ~@2 [d4,a4]@28 g3@7 ~@141 g6 ~@12]/7", // C Am Dm Bdim C Bm Am A5 …
  AR: "[a6@2 g6@25 ~ c6 d6 e6 f6@17, e6@9 ~@7, g6 ~@95]/3", AS: "g6@2 ~@6 f6@3 ~@5 e6@2 ~@6 d6@2 ~@6",
  AT: "[[g4,b4,d5] ~@2 [c4,g4,c5,e5]@27 ~@2 [c4,c5] ~@3 [a4,c5]@14 ~@2 [a4,d5] ~@3 a4@2 ~@2 [a4,e5] ~@3 c5@2 ~ [d4,a4,d5,f5]@26 ~@2 [a4,d5] [d5,f5] ~@3 b4@12 ~@4 [a3,b4,e5] ~@2 b4 ~@3 [d5,f5] b4 ~@2 b4, ~@31 [g4,e5]@2 ~@2 [a3,e5]@15 ~@2 [a3,c5]@7 [a3,c5]@2 ~@2 [a3,e5]@3 ~@29 d4@2 ~@2 [g3,d5,f5]@13 ~@3 [g3,d5,f5]@5 ~@3 g3@2 ~@3, ~@52 e5@4 e5 ~@7 a4 ~@63]/4", // G C Am D5 A5 Dm D5 Dm …
  AU: "[[g3,g4,d5] ~@3 c5@14 ~@2 [c5,e5]@3 ~ g4@2 ~ e5 [c4,g4,c5] ~@3 c5@2 ~@2 c5@13 ~@3 [a4,c#5,d5] ~@2 a4@2 ~@2 e5 [a3,a4,c5] ~@3 [a4,c5,d5,e5] ~@2 [d4,a4,d5,f5]@25 ~@3 [d4,a4,d5,f5]@2 ~@2 [b4,d5,f5]@25 ~@4 c4@18 ~@46, ~@3 [g4,e5]@14 ~@3 [g4,d5] ~@3 c5 ~@7 g4 ~@2 [a4,e5]@13 ~@4 [c5,e5]@3 ~@72 [g4,c5,e5]@39 ~@26, ~@4 c4@22 ~@5 [c4,e5]@2 ~@2 a3@22 ~@6 a3@2 ~@34 g3@28 ~@65, ~@36 b3 ~@155]/6", // G5 C C5 Dmaj7 Am Dm Bdim C …
})).s("gm_rock_organ").gain(0.4).pan(0.4)

// other · trumpet
const trumpet = note(`<
  ~@2 A B C@2 D@2 C@2 ~@8 E D C@2 D@2 C@2 E D C F G D H I E D C F D@2 C F J G C@2 ~@16 K L M N J L M O@2 L M N J L M P@2
  L M N Q L M R ~@2
>`.pickRestart({
  A: "d6@2 ~@3 e6 ~@6 e6 ~@19", B: "d6 ~@3 e6 ~@8 e6 ~@18", C: "e6 ~@3 f6 ~@7 f6 ~@19", D: "d6 ~@3 e6 ~@7 e6 ~@19",
  E: "d6@2 ~@2 e6 ~@7 e6 ~@19", F: "e6 ~@3 f6 ~@7 f6 ~@18 d6", G: "~@4 e6 ~@7 e6 ~@19", H: "e6 ~@3 f6 ~@7 f6 ~@18 e6",
  I: "~@4 f6 ~@7 f6 ~@19", J: "~@4 e6 ~@7 e6 ~@18 d6", K: "d6@2 ~@2 e6 ~@7 e6 ~@18 d6", L: "~@4 e6 ~@7 e6 ~@18 e6",
  M: "~@4 f6 ~@7 f6 ~@18 e6", N: "~@4 f6 ~@7 f6 ~@18 d6", O: "[~@4 f6 ~@6 f6 ~@19 d6@2 ~@3 e6 ~@7 e6 ~@18 d6]/2",
  P: "[~@3 f6 ~@7 f6 ~@19 d6@2 ~@3 e6 ~@7 e6 ~@18 d6]/2", Q: "~@4 e6 ~@6 e6 ~@19 d6", R: "~@3 f6 ~@7 f6 ~@20",
})).s("gm_trumpet").gain(0.64).pan(0.6)

// other · baritone sax · "SAX"
const baritone_sax = note(`<
  ~@2 A B C@2 D@2 C@2 ~@8 E D C@2 D@2 C@2 E D C F G D H I E D C F D@2 C F J G C@2 ~@16 K L M N J L M O@2 L M N J L M P@2
  L M N Q L M R ~@2
>`.pickRestart({
  A: "d4@2 ~@3 e4 ~@6 e4 ~@19", B: "d4 ~@3 e4 ~@8 e4 ~@18", C: "e4 ~@3 f4 ~@7 f4 ~@19", D: "d4 ~@3 e4 ~@7 e4 ~@19",
  E: "d4@2 ~@2 e4 ~@7 e4 ~@19", F: "e4 ~@3 f4 ~@7 f4 ~@18 d4", G: "~@4 e4 ~@7 e4 ~@19", H: "e4 ~@3 f4 ~@7 f4 ~@18 e4",
  I: "~@4 f4 ~@7 f4 ~@19", J: "~@4 e4 ~@7 e4 ~@18 d4", K: "d4@2 ~@2 e4 ~@7 e4 ~@18 d4", L: "~@4 e4 ~@7 e4 ~@18 e4",
  M: "~@4 f4 ~@7 f4 ~@18 e4", N: "~@4 f4 ~@7 f4 ~@18 d4", O: "[~@4 f4 ~@6 f4 ~@19 d4@2 ~@3 e4 ~@7 e4 ~@18 d4]/2",
  P: "[~@3 f4 ~@7 f4 ~@19 d4@2 ~@3 e4 ~@7 e4 ~@18 d4]/2", Q: "~@4 e4 ~@6 e4 ~@19 d4", R: "~@3 f4 ~@7 f4 ~@20",
})).s("gm_baritone_sax").gain(0.5).pan(0.6)

// drums · kick
const kick = s("bd").struct("<~@2 A@22 B A@3 B C D E F G D C G H G@7 H G@7 I G@7 J G@14 D K G@7 H ~@2>".pickRestart({
  A: "x ~@2 x ~ x ~@2", B: "x ~@11 x ~@6 x ~@12", C: "x ~@10 x ~@8 x ~@10 x", D: "~@11 x ~@7 x ~@12",
  E: "x ~@10 x ~@7 x ~@11 x", F: "~@11 x ~@8 x ~@10 x", G: "~@11 x ~@7 x ~@11 x", H: "~@11 x ~@19 x",
  I: "~@3 x ~@3 x ~@3 x ~@7 x ~@11 x", J: "~@11 x ~@7 x ~@3 x ~@7 x", K: "~@3 x ~@3 x ~@7 x ~@3 x ~@11 x",
})).gain(0.71)

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

// drums · low tom
const low_tom = s("lt").struct("<~ [~@4 x ~@2 x] ~@35 [~@15 x ~@16] ~@47 [~@19 x ~@7 x ~@4] ~@2>").gain(0.64)

// drums · hihat
const hihat = s("hh").struct("<A B C@7 D C@14 E C@3 F G H I J K L M N@40 L O N@7 L ~@2>".pickRestart({
  A: "x!2", B: "x ~@2 x!2 ~ x ~ x ~@3 x ~@3", C: "x ~ x!5 ~", D: "x!8", E: "x ~@7 x ~@3 x ~@3 x ~@2 x ~@4 x ~@7",
  F: "x ~@7 x ~@3 x ~@2 x ~@3 x ~@3 x ~@8", G: "x ~@7 x ~@2 x ~@4 x ~@3 x ~@3 x ~@6 x",
  H: "~@7 x ~@3 x ~@4 x ~@2 x ~@3 x ~@8", I: "x ~@6 x ~@3 x ~@3 x ~@3 x ~@3 x ~@8",
  J: "x ~@7 x ~@2 x ~@3 x ~@4 x ~@2 x ~@7 x", K: "~@7 x ~@4 x ~@3 x ~@2 x ~@4 x ~@6 x",
  L: "~@7 x ~@3 x ~@3 x ~@3 x ~@3 x ~@8", M: "x ~@6 x ~@3 x ~@3 x ~@4 x ~@2 x ~@7 x",
  N: "~@7 x ~@3 x ~@3 x ~@3 x ~@3 x ~@7 x", O: "~@31 x",
})).gain(0.64)

// drums · mid tom
const mid_tom = s("mt").struct("<~@85 [~@23 x ~ x ~@6] ~@2>").gain(0.64)

// drums · open hat
const open_hat = s("oh").struct("<~@5 A ~@7 A ~@3 A ~@3 A ~@3 A ~@7 B ~@7 B ~@7 B ~@7 B ~@15 B ~@7 B ~@6>".pickRestart({
  A: "~@7 x", B: "~@27 x ~@4",
})).gain(0.64)

// drums · crash
const crash = s("cr").struct("<~@85 [~@31 x] ~@2>").gain(0.64)

stack(bass, piano, rock_organ, trumpet, baritone_sax, kick, snare, low_tom, hihat, mid_tom, open_hat, crash)

More by Bruce Springsteen