Strudelify

Nothin' From Nothin'

Billy Preston

KeyG majorTempo115 bpm
0:00/0:00
// Nothin' From Nothin' — Billy Preston
// 115 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 135 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(115/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 · "Rockin Pneumonia, and"
const piano = note(`<
  A B C D E F G H I J K@3 L@3 M N O P Q R S T U V W X Y Z AA AB AC@2 AD AE AF AG AH AI AJ AK AL AM@2 AN AO@5 AP@4 AQ@2
  AR AS AT@3 AU@3 AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ@2 BR BS BT BU BV BW BX BY@2 BZ CA CB
  CC CD CE CF CG CH CI CJ CK CL CM CN CO CP CQ CR CS CT CU CV@2 CW CX CY CZ@4 DA DB DC DD@3 ~
>`.pickRestart({
  A: "d#4 [c2,c3,e4]@2 ~@2 [f4,a4] ~@3 e4 g4 ~@5 g5@3 c5 ~ [f5,a5]@2 c5@2 d#5 g1 ~@4 [d#4,g4], g4@3 ~@12 a#5@4 ~@6 [g2,g5]@5 a#2@2, ~@27 e5@5, ~@7 c5", // C F D# G
  B: "~ [c2,c3,e4] ~@3 [f4,a4] ~@3 [e4,g4] ~@3 c5 ~ a#5@3 c5 ~ [f5,a5]@2 c5@2 [g1,g2,d#5,g5] ~@5 [d#4,g4] ~, g4@2 ~@12 g5@4 ~@8 [e5,g5]@5 ~, ~@28 c5@3 ~, ~@29 a#2@2 ~", // C F Em F Cm D# Em
  C: "[c2,c3,e4,g4] ~@3 a4 f4 ~@3 [e4,g4] ~@3 c5 [g5,a#5]@4 c5 ~@3 c5@2 [g1,g2,d#5,g5] ~@5 d#4 g4, ~@20 a5@2 ~@6 c5@3 ~, ~@21 f5@2 ~@4 e5@5, ~@29 a#2@2 ~", // C Em Gm Cm
  D: "e4 [c2,g#2,c3] ~@2 a4 f4 ~@2 [e4,g4] ~@3 c5 ~ f#5 g5@3 c5 ~ [f5,a5]@2 c5@2 [g2,d#5] g1 d#5 ~@2 c5@2 g2, g4 ~@6 a#5@2 ~@3 g5@4, ~@27 e5@5", // Fm Em F Cm
  E: "~ [c2,c3] ~@3 c3@2 ~@2 [g3,c4,e4] ~@3 c3 ~@3 b1 ~@7 [f#3,a3,d4] b3 ~@2 e2 ~@2, ~@5 c2@9 ~@7 b1@8 ~@3", // C D
  F: "~ a1 ~@6 [a3,e4] [g3,c4] ~@3 a2 [a3,e4] ~@6 [g3,a3,c4]@3 a2 ~@2 [g3,a3] ~ c2@2 ~, ~@5 a1@9 ~@3 a1@9 ~ c4@2 ~@3, ~@21 e4@10 ~", // A5 C5 A5 Am7 Gsus2
  G: "~ [f1,f2] ~@3 f2@4 [f3,a3,c4] ~@3 f2 ~@3 f2 ~@3 f2@2 ~@2 [f3,a3,c4,d4] ~@3 f2 [g3,g#3,a#3,b3,c#4,d4] ~, ~@5 f1@9 ~@3 f1@13 ~@2", // F Dm7 G
  H: "~@4 e2@5 [g#3,b3] ~@3 e2 ~ [g#3,b3,d4] ~ e1@4 e2 ~@3 [g#1,g#3,e4] ~@4 [e2,a3] [c4,d#4,e4], ~ e1@13 ~@3 e2 ~@7 g#2@2 ~@5, ~@9 e4@13 ~@10, ~@9 d4@3 ~@20", // G#m G#dim C#m A5 C
  I: "a2@2 ~@3 a2 ~@3 [a3,c4,e4] ~@3 e2@2 ~@2 g1@2 ~@2 g2@5 [g3,b3,d4] ~@2 d2 ~@2, a1@7 ~@9, ~@9 a2@2 ~@6 g2 ~@14", // Am G
  J: "~ f2 f1 ~@3 f2@4 [f3,a3,c4] ~@2 f2@2 [a3,c4] ~@5 a3@3 ~ f2 ~ [f3,a3] ~@2 a2 ~, ~@17 f1@8 ~@7, ~@21 c4@8 ~@3, ~@21 f3 ~@10", // F Am F
  K: "[~ d2 ~@3 d2@2 ~@2 [a3,c4]@2 ~@3 d2@2 ~ g1@8 [g2,f3,b3,d4] ~@3 g2@2 ~ d#4 [c2,c3] ~@3 [f4,a4] ~@3 [e4,g4] ~@5 [g5,a#5]@4 c5 ~ [f5,a5]@2 ~ [g1,g2] d#5@2 ~@5 e4 [c2,c3] ~@2 a4 f4 ~@2 [e4,g4] ~@3 c5 ~ [g5,a#5]@4 ~ c5 ~@2 c5@2 [g1,g2,d#5,g5] ~@6 g4, ~@9 [f#3,d4] ~@7 g2@5 ~@9 c4@2 e4@2 ~@24 e5@4 d#4@2 ~@29 d#4@2, ~@32 g4@3 ~@20 c5@2 g5@8 ~@13 f#5 ~@6 [f5,a5]@2 ~@3 e5@6, ~@30 c5@2 g4 ~@13 c5@2, ~@61 a#2@4 ~@28 a#2@3]/3", // Am G7 C F Em Gm F G …
  L: "[e4 [c2,c3] ~@3 [f4,a4] ~@3 [e4,g4] ~@3 c5 ~ [g5,a#5]@4 c5 ~ [f5,a5]@2 c5@2 [g2,d#5,g5] ~@5 d#4@2 [c2,c3,e4,g4] ~@3 [f4,a4] ~@3 [e4,g4] ~@3 c5 ~ [g5,a#5]@4 c5 ~ [f5,a5]@2 ~ d#5 [g1,g2] ~@3 [a#2,c5]@2 g2@2 ~ c3 ~@2 c3 ~@3 [c3,c4] [g3,e4] ~@2 g2@2 ~@6 b2@2 ~@2 [f#3,a3,b3,d4] ~@3 e2@2 ~, g4@2 ~@25 e5@6 ~@22 c5@3 ~ e5@5 ~ c2@13 ~@3 b1@13 ~@2, ~@29 [a#2,c5]@4 ~@24 g5@7 ~@32]/3", // C F Em Gm F Cm C F …
  M: "~ a1@2 ~@6 [g3,a3,c4,e4] d#4 ~@2 a2@2 [a3,c4,e4] ~@5 c4@2 ~@2 a2 ~@4 c2@2, ~@5 a1@9 ~@3 a1@9 ~@6, ~@21 e4@7 ~@4, ~@21 g3 ~@10", // Am7 Am
  N: "~ f2 ~@6 f3 [a3,c4] ~@2 f2 ~@4 f2 ~@2 f2 ~@4 [f2,f3,a3,c4,d4] ~@3 f2 ~@2, ~ f1@13 ~@3 f1@14 ~, ~@5 f2@5 ~@22", // Am Dm7
  O: "~@5 e2@4 [g#3,b3,d4,e4] ~@3 e2 ~@3 [e2,g#3,b3,e4] d4 ~@2 e2 ~@3 [g#1,g#2,g#3,e4] ~@3 e2@2 ~, ~ e1@14 ~@2 e1@4 ~@11", // E7 E C#m
  P: "[a3,c4] a2@2 ~@2 a2 ~@2 [a3,e4] [a2,c4] ~@3 e2 ~@3 [g1,g2] ~@3 g2@4 [g3,d4] ~@3 [g2,f3,c4] a3 ~, ~ a1@13 ~@7 g1@10 ~, ~@21 f2 ~@3 b3@2 ~@5", // Am A5 Am G G5 Csus4
  Q: "~ a#1@2 ~@2 f2@4 [f3,a3,c4] ~@2 f2@2 ~ [f3,a3,c4] ~@4 f2 ~@3 f2 [f3,a3,c4] ~@3 a2 ~@2, ~ f1@13 ~@2 f1@8 ~@8, ~ f2 ~@30", // F
  R: "d2 ~@3 d2@4 [a3,b3]@2 ~@5 d2@2 ~ [g1,g2]@7 [g2,a3,b3,d4] ~@4 c4@2, ~@8 [f#3,d4] ~@20 g2@2 ~", // Asus2 G D
  S: "[c2,c3,d#4] e4@2 ~@2 [f4,a4] ~@3 [e4,g4] ~@3 c5 ~@2 g5@2 ~ c5 ~ f5 ~ c5@2 [g1,g2,d#5,g5] ~ e5@2 [a#2,c5]@3, g4@3 ~@12 [f#5,a#5]@4 ~@13", // Cm F Em Cm A#sus2 F#
  T: "~ [c2,c3,e4] ~@3 [f4,a4] ~@3 [e4,g4] ~@3 c5 ~@2 c5 ~@2 c5 ~ [f5,a5]@2 c5@2 [g1,d#5,g5] ~@5 [d#4,g#4], ~ g4@2 ~@12 [g5,a#5]@4 ~@6 g2@2 [e5,g5]@5, ~@15 [a#2,c5]", // C F Em F Cm G#5 Gm Em …
  U: "~ [c2,c3,e4,g4] ~@3 [f4,a4] ~@4 [e4,g4] ~@3 c5 [g5,a#5]@4 c5 ~ [f5,a5]@2 c5@2 [g1,g2,d#5,g5] ~ e5@2 [a#2,c5]@3", // C F Em Gm F Cm A#sus2
  V: "d#4 [c3,e4] [c2,g#2] ~@2 [f4,a4] ~@3 [e4,g4] ~@3 c5 ~ [g5,a#5]@3 ~ c5 ~ a5@2 ~ g1 [g2,d#5,g5] ~@3 [a#2,c5]@2 g2, ~@21 f5 ~ c5@2 ~@2 e5@5", // C Fm F Em Gm Cm A#sus2
  W: "~ c3 ~@3 c3 ~@3 [c3,g3,c4,d#4,e4,g4] ~@3 g2 ~@7 b2@4 [a3,b3,d4,e4,g4] ~@3 e2 ~@2, ~ c2@13 ~@3 b1@12 ~@3", // C Em7
  X: "~ a1@2 ~@6 [c4,e4,g4] ~@4 e2 ~@2 a1@8 [a2,g3,c4,e4] ~@3 c2@2 ~, ~@5 a1@9 ~@18", // C Am7
  Y: "~ f2 ~@3 f2@4 [a3,c4,d#4,f4] ~@3 f2@2 a3 ~@5 a3 ~@3 [f2,a3] [c4,f4] ~@3 f2 ~, ~ f1@13 ~@3 f1@14 ~", // F7 F F5
  Z: "~ e2 g#1 ~@2 e2@4 [a3,b3,d4,e4] ~@3 e2 ~@3 [e1,e2]@4 [g#3,d4,e4] ~@3 g#2@2 ~@2 [e2,a3,c4,e4] ~@2, ~ e1@13 ~@7 b3@2 ~@9", // Asus4 E E7 Am
  AA: "~ a2 ~@7 [a3,c4,e4] ~@3 e2@2 ~@2 g2 ~@3 g2@4 [b3,d4]@2 ~@2 d2@2 ~, ~ a1@13 ~@3 g1@12 ~@3, ~@5 a2@9 ~@11 g3 ~@6", // Am Bm
  AB: "~ f2 ~@3 f2@4 [f3,a3,c4] ~@3 f2 ~@7 f2@4 [f3,a3,c4,d4] ~@3 a2 ~@2, ~ f1@14 ~@2 f1@8 ~@7", // F Dm7
  AC: "[~ d2@2 ~@2 d2@4 [f#3,a3,d4] b3@2 ~ d2@2 ~@2 g2 ~@3 g2@2 ~@2 [g2,b3,d4] ~@3 g2@2 ~ d#4 [e4,g4]@3 ~ [f4,a4] ~@3 [e4,g4] ~@3 c5 ~ [g5,a#5]@4 c5 ~ [f5,a5]@2 ~ [g1,g2] [d#5,g5] ~ e5@2 c5 [d#4,g#4] g4, ~@10 a#3 ~@6 g1@8 ~@6 c4@2 [c2,c3] ~@21 c5@2 ~@4 a#2@2 ~]/2", // D G Em F Em Gm F G …
  AD: "e4 [c2,c3] ~@3 [f4,a4] ~@2 e4 g4 ~@3 c5 [g5,a#5]@4 c5 ~ [f5,a5]@2 c5@2 [g1,g2,d#5,g5] ~ e5@2 c5 ~ d#4 ~, g4@2 ~@27 a#2@2 ~", // C F Gm F Cm
  AE: "[c2,c3,e4] ~@3 [f4,a4] ~@3 [e4,g4] ~@4 c5 ~ [g5,a#5]@4 c5 ~@2 c5@2 [g1,g2,d#5,g5] ~ e5@2 c5 ~ [d#4,g#4] ~, g4@2 ~@19 [f5,a5]@2 ~@6 a#2@2 ~", // C F Em Gm Cm G#5 F
  AF: "[e4,g4] [c2,c3] ~@3 [f4,a4] ~@3 [d4,e4,g4] ~@3 [c5,d5] ~ [g5,a#5]@4 c5 [f5,a5]@2 c5@2 [g1,g2,d#5,g5] ~ e5@2 a#2@2 ~ g2, ~@28 c5 ~@3", // Em C F Em7 Csus2 Gm F Cm
  AG: "~ c3 ~@3 c3 ~@3 [g3,a3,c4,e4,g4] c3 ~@2 g2 ~@3 b1@4 ~@4 [g3,c4,g4] ~@4 e2 [c4,e4], ~ c2@13 ~@3 b2 ~@7 e4@2 ~@5", // Am7 C5 C
  AH: "~ a1@2 ~@6 [g3,c4,e4] ~@3 a2 [g3,a3,c4,e4] ~@6 [a3,c4,e4] ~@3 a2 ~@3 [c2,f3,g3,a3,c4] ~@2, ~@5 a1@9 ~@2 a1@10 ~@6", // C Am7 Am F
  AI: "~ f2 ~@3 f2@4 f3 [a3,c4,d4] ~@2 f2@2 [f3,a3,c4,d4] ~@5 [f3,a3,c4,d4] ~@3 f2 ~@3 [f2,a3,b3,d4,e4] ~@2, ~ f1@13 ~@3 f1@14 ~", // D7 Dm7 Bm7b5
  AJ: "~@5 e2@5 [a3,b3,d4,e4] ~@3 g#3@2 ~@5 [g#3,b3,d4,e4]@4 e2 ~@3 e2 ~@2, ~ e1@12 b3@7 ~@12, ~@7 [d4,e4]@3 ~@6, ~@14 e2 ~@2 e1@8 ~@7", // Asus4 E7 Dsus2
  AK: "~ [c#2,a2] ~@3 a2 ~@3 [a3,e4] [a2,c4] ~@2 e2 ~@3 [g1,g2] ~@3 g2@4 [g3,b3,d4,e4] ~@3 g2 ~@2, ~ a1@13 ~@7 g1@9 ~@2", // F#m A5 Am G Em7
  AL: "~@2 [f1,f2] ~@2 f2@5 [f3,g3,a3,c4] ~@2 f2 ~@3 f2@4 [f3,a3,c4,d4] ~@3 f2 ~@4 a2 ~, ~@5 f1@9 ~@3 f1@8 ~@7", // F Dm7
  AM: "[~ d2 ~@3 d2@3 ~ d4 b3@2 ~ d2 ~@3 g2 ~@3 g2 ~@3 g2 ~@3 g2@2 ~ d#4 [c2,c3,e4] ~@3 [f4,a4] ~@2 e4 g4 ~@4 [g5,a#5]@4 ~ c5 ~ a5@2 ~ g1 ~@5 [d#4,g4] ~, ~@9 a3@2 ~@20 c4@2 ~@24 d#5@4 a#2@2 ~, ~@10 f#3 ~@6 g1@8 ~@7 g4@3 ~@17 f5@2 ~ c5@3 e5@5 ~, ~@59 c5@4 ~]/2", // C F Gm D#
  AN: "[c2,c3,e4] ~@3 [f4,a4] ~@3 [e4,g4] ~@3 c5 ~ [g5,a#5]@4 c5 ~ [f5,a5]@2 ~ g1 [g2,d#5,g5] ~@5 [d#4,g4] ~, g4@2 ~@20 c5@3 d#5@4 a#2@2 ~, ~@26 e5@5 ~, ~@27 c5@4 ~", // C F Em Gm F Cm D#
  AO: "[[c2,c3,e4] ~@3 [f4,a4] ~@4 [e4,g4] ~@3 [c5,d5] ~ [g5,a#5]@4 c5 ~ [f5,a5]@2 c5@2 [g1,g2,d#5] ~@5 d#4@2 [c2,c3,e4] ~@3 [f4,a4] ~@3 [e4,g4] ~@3 [c5,d5] ~ [g5,g#5,a#5]@3 ~ [c5,d5] ~ [f5,a5]@2 ~ [g1,g2] d#5!2 ~@4 a#2@2 c3 ~@3 c3 ~@4 [c4,e4,g4]@2 ~@2 c3 ~@2 a1@4 a2 [e3,b3,d4] ~@2 a2 ~@3 d2 ~@7 g2 ~@3 g2 ~@2 g2 ~@3 g2 ~@3 g2@4 ~@5 a5@4 g5@2 ~@2 d#5@2 d5 c5 ~@4 [a4,c5] ~@3 [g4,c5]@4 e4 ~@2 d#4@5 d4@3, g4@2 ~@23 g5@6 g4 ~ g4@2 ~@39 [c3,g3] ~@18 d4@38 ~@21 g4@8, ~@27 e5@5 ~@24 g5@9 ~@55 g2@11 ~@29, ~@28 c5@4 ~@23 c5@2 ~@3 e5@5 ~@32 g1@13 ~@2 g1@9 [e5,c6]@10 ~@2 g5@4 ~@23, ~@30 a#2@3 ~@32 c2@13 ~@15 [f3,a3,b3]@8 ~@7 [f3,a3,b3]@22 ~@30]/5", // C F Em Csus2 Gm F Cm C …
  AP: "[~ b3 ~@3 [g2,f3,b3,d4,f4,g4] f2 ~@3 [f3,f4]@3 [g2,f3,b3,d4,f4,g4]@4 ~@4 [g2,f3,g4]@4 [d3,a4]@3 ~ [a#3,g4]@5 ~@4 g2@2 ~@2 [g2,e3,a#3] ~@2 [e3,a#3,c4,e4] ~@4 a#3@2 ~@5 [a#1,e3] [a#3,c4,e4] ~@2 [a#3,c4]@4 c2@8 [e3,a#3,c4] ~@3 c2@2 ~@2 g1@4 e3 ~@3 [e3,a#3,c4] ~@3 [e3,a#3] ~@3 c2@2 ~@2 c2@4 ~ c4@3 c2@2 [e3,a#3,c4] ~@5 [g3,a#3,c4,e4] ~@2 a#1@2 ~@2 b1 [g3,a3,a#3,c4,e4] ~@2, ~@9 [g2,b3,d4,g4]@4 ~@4 [b3,d4]@10 ~@34 e3@3 ~@13 [a#3,c4]@7 ~@9 c4@2 ~@10 [e3,a#3]@4 ~@19, ~@17 [g2,f3,g4]@4 ~@13 c2@9 ~@6 g1@9 ~@2 b1@2 ~@15 e3 ~@10 a#1@2 ~@2 b1@2 ~@19 g1@7 ~@8, ~@18 f4@10 ~@33 e4@51 ~@16]/4", // G7 F G7 D5 D# Edim C7 A#dim …
  AQ: "[~@5 g3 ~@3 [g3,c4] a3 ~@2 c2 ~@3 [g3,a#3,e4] [c2,c4,d#4] ~@2 b1@2 ~@2 a1 ~@3 d2@2 ~@6 b3 ~@4 [b3,d4,f4] ~@2 g2@2 ~@3 [a3,d4,f4] ~@3 [a3,d4,f4] ~@3 g2@3 d2 ~@2, ~ c2@8 [a#3,e4]@2 ~@18 [b3,d4,f4,g4]@7 ~@28, ~@33 g1@15 ~ d2@8 ~@7]/2", // C5 Edim Cm Bdim Dm A#dim G7
  AR: "~@4 [b3,e4,g4] d4 ~@2 [a#3,f#4] ~@4 d4@3 ~@8 g2@4 ~ [g2,g5]@3, ~ g1@11 [b3,f4]@4 d2@16, ~@5 g5@2 ~, ~@3 a5", // Em D#m G Bdim
  AS: "[c3,e5] c2 ~@5 g5 e5 ~@3 d#5 g5 ~@3 [d5,g5]@3 c5 ~@8 g4@3, c6@2 ~@3 c6@2 ~@18 c5@7, ~@6 a5@2 ~@16 a4@3 ~@5", // C G5
  AT: "[~ e4 ~@3 [g2,f3,b3,g4] ~@4 d4@2 ~@4 [f3,g4]@4 [g2,f3,g4]@4 a4 ~@3 [g2,f#4] ~@8 [b3,c4] ~@3 [g2,c4,a4] ~@3 [g2,c4,d#4] ~@3 g1@4 c4 ~@3 [c4,f4,a4] ~@3 d#4 ~@7 c4@2 ~@2 f4@2 ~@2 d#4 ~@3 g1@4 c4@2 ~@2 [a#1,c4,a4] ~@3 [b1,c4,d#4,g4] ~@2, ~@5 d4@2 ~@2 [g2,f3,b3,g4]@3 [g2,f3,b3,g4]@3 g2@5 ~@12 c2@13 ~@12 a#1@2 ~@2 b1@2 ~@2 c2@9 ~@3 c2@2 ~@17, ~@13 d4@13 ~@2 [e4,c5]@7 ~@6 f4@2 ~@3 e4@6 ~@9 c4@4 ~@12 c4@5 ~@14, ~@16 b3@10 ~@3 g4@5 ~@11 g4@9 ~@7 g4@9 ~@3 a4 ~@3 g4@10 ~@9, ~@62 e4@6 ~@10 e4@7 ~@4 f4@2 ~@5]/3", // G7 Fsus2 G7 Gmaj7 Cmaj7 Am7 Cm F …
  AU: "[~ c2@2 ~@2 c2@4 [c4,a4] ~@3 d#4 c2 ~@2 g1@4 g4@2 ~@2 [a#1,a4]@2 ~@2 b1 ~@7 c4@4 c2@3 c2 g4@2 ~@2 [c2,g4]@4 e4@2 ~ e2 f4 ~@3 [b3,g4]@4 ~@4 [b3,g4]@2 ~@3 [g2,f4]@3 d4 ~@3 [b3,d4,g4] ~@7 g2@3 ~ [b3,d4] ~@2, ~@9 f4@2 ~@2 [c4,g4]@6 ~@2 c4 ~@3 c4 ~@3 [c4,e4,g4]@7 ~@5 [c4,a4]@5 ~@3 c4@2 ~@10 d4@2 ~@11 b3 ~@10 [b3,d4,g4]@7 g2@2 ~@2, ~@14 e4@5 ~@14 c2@8 ~@20 [d2,c#4] ~@3 g1@13 ~@3 d2@13 ~@2]/3", // F A#maj7 C5 Em G7 G Bm C5 …
  AV: "~ [b3,g4] d4 ~@2 [b3,c4,g4] ~@3 [a#3,f#4] ~@3 [b3,d4]@3 ~@8 g2@4 [g2,g5]@3 ~, ~ g1@13 ~@2 g1@15 ~, ~@9 g2@4 f4@19, ~@5 g5@2 ~, ~@24 a5@7 ~", // Em Cmaj7 D#m Bm G
  AW: "[g2,c3] c2 e5@2 ~ g5@2 ~ e5@2 ~ a5 ~@2 e5@2 g5@2 d#5@2 e5@3 ~ d#5@2 d5 ~ c5 ~ a4@2, ~ d#5@2 ~@4 d#5@2 ~@4 d#5@2 ~@17", // C5
  AX: "c5@3 ~@2 [g2,f3,f4,a#4] ~@3 [g2,f3,f4,b4] ~@3 [g2,f3,f4,b4] ~@3 f4@4 f4@4 [g2,f4]@4 [g2,a2,f4]@3, ~@17 [g2,f3,b4]@8 [f3,b4]@7", // Gm7 G7 Dm G7 Fdim
  AY: "~ c2 ~@7 a#3 [d4,e4,g4] ~@2 g2@2 ~@3 g1@2 ~@2 g1@3 ~ [a#1,e3,g3,d4] ~@2 b1@2 ~, ~@5 c2@9 ~@11 a#3@2 ~@5", // Em7 Em7b5
  AZ: "~ c2@2 ~@2 c2@4 [g3,e4] [a3,a#3,c4] ~@2 [c2,g3,a#3,c4,e4] ~@3 g1@6 ~@2 [g3,e4] ~@3 [f#3,a#3,d#4] d4 ~, ~@25 a#1@2 ~@2 b1@2 ~", // C Am C7 C D#m
  BA: "~ [g3,a#3] e4 ~@2 c2@4 [g3,a#3] [c4,e4] ~@2 c2 ~@3 g1@8 [g3,a#3,c4,e4] a#1 ~@2 g3 [b1,a#3,c4,e4] ~, ~ [c2,c4]@2 ~@29", // Gm C C7 C
  BB: "~@5 g3 ~@3 [g3,a#3,c4,e4] ~@3 c2 ~@3 [c2,g3,a#3,e4] c4 ~@2 b1@2 ~@2 a1 ~@3 [b3,d4,e4,g4] ~@2, ~ c2@10 ~@18 d2@2 ~", // C7 Em7
  BC: "~ g1@2 ~@2 g1@5 [b3,d4,e4,g4] ~@2 g1@2 ~@2 d2@2 ~@2 d2@4 [b3,d4,g4] ~@3 d2 ~@2", // Em7 G
  BD: "~@9 [b3,d4,g4] ~@3 b3@4 ~@4 b3@3 ~ d4@2 ~@2 g2@2 ~, ~ g1@12 [d4,g4]@8 ~@11, ~@13 d2 ~@3 g1@7 ~ g2 ~@6", // G G5
  BE: "~ [c2,c3,a#3,g4] ~@30, ~ e4@2 ~@29", // C7
  BF: "~ [b3,d4] g2 ~ g2@4 ~ [g2,b3,d4,f4,g4] ~@3 g2 ~@7 b3@3 [g2,b3,g4] [d4,f4] ~@2 g2 ~@3, ~ g1@12 b3@5 ~@14, ~ [f4,g4]@7 ~@5 [d4,f4,g4]@10 ~@9, ~@2 g1 ~", // Bm G7 G Dm Fsus2 G7
  BG: "c2 ~@3 c2@3 ~@2 [a#3,d4,e4,g4] ~@3 c2 ~@6 a#3 ~@4 [a#3,d4,e4,g4] ~@3 [a#3,d4,e4,g4] ~@2, ~@17 g1@6 ~@2 a#1@2 ~@2 b1@2 ~", // Em7b5
  BH: "~ c2@2 ~@2 c2@4 [a#3,d4,g4] ~@3 c2 ~@3 g1@2 ~@2 g1@2 ~@2 [a#1,c#4,f#4]@3 ~ [a#3,d4,e4,g4] ~@2, ~@9 e4@2 ~@14 a#3 ~@3 b1@2 ~", // Gm F# Em7b5
  BI: "~ c2 ~@3 c2@5 [a#3,d4,e4,g4] ~@3 c2 ~@3 g1@7 [a#1,g3,a#3]@2 ~@2 e3 [a1,b1,a#3,d4] ~, ~@25 [e3,d4] ~@3 g3@2 ~", // Em7b5 D# A#maj7 E7
  BJ: "~ c2@2 ~@6 [g3,a#3,c4,e4] ~@3 c2@2 ~@2 [c2,c4,e4]@2 ~@2 [d4,f4] ~@3 [a1,f#4] ~@3 [b3,d4,f4,g4] ~@2, ~@21 b1@2 ~@6 d2@2 ~", // C7 C Dm D G7
  BK: "~ g1@2 ~@2 g1@5 [b3,d4,f4,g4] ~@2 g1@2 ~@3 d2@2 ~ d2@5 [b3,d4,f4,g4] ~@3 [d2,b3,d4,f4,g4] ~", // G7
  BL: "~@2 g1@2 ~@5 [b3,d4,g4] f4 ~@3 b3@3 d2@4 b3@4 d2 d4@2 ~ g2@2 ~, ~@6 g1@8 [f4,g4]@13 ~@5, ~@14 d4@7 ~@11, ~@14 d2 ~@17", // G Fsus2
  BM: "~ [c3,a#3] [c2,e4,g4] ~@29", // C7 C
  BN: "b3 g2@4 [g2,b3]@4 ~ [g2,f4]@3 [g2,b3,f4,g4]@4 ~ [f4,g4]@3 [g2,b3,f4,g4]@4 [g2,b3,f4,f#4,g4]@4 g2 ~@2, [d4,g4]@9 d4@8 ~@8 d4 ~@6, ~ g1@30 ~, ~ f4@8 [b3,g4]@4 ~@4 [g2,b3,d4]@4 ~@11", // G G7 Fsus2 G7 G5 Em G
  BO: "~@2 [b1,c2] ~@7 [e4,g4,a4,c5]@2 ~@2 g2@2 ~@2 g1@4 c4 ~@3 [c4,d4,d#4,a4] ~@3 [b1,c4,e4,g4] ~, ~@3 c2@4 ~@6 a#1 ~@2", // Cmaj7 Am7 Adim Cmaj7
  BP: "~@5 c4 ~@3 d#4 [d4,e4,g#4] ~@3 g4 e4 ~ g1@4 [c4,g4]@3 ~ a#1 ~@3 [b1,c4,d#4,g4] ~@2, ~ c2@8 c4@2 ~@2 c2@2 ~@17, ~@10 a4@2 ~@5 a4 ~@3 e4 ~@10", // E7 C5 Cm
  BQ: "[~ c2@2 ~@2 c2@4 [g3,c4] ~@3 c2@2 [g3,c4,e4] ~ g1@4 [g3,c4] ~@2 a#1 ~@4 b1 ~@7 g3 ~@3 [g3,c4,e4]@4 c2 ~@3 c2 ~@3 c2 ~@3 b1 ~@3 [b3,d4,f4,g4] ~@2, ~@9 g4@49 ~@6, ~@9 e4@2 ~@10 e4@2 ~@6 [g3,c4,e4]@7 ~@13 [g3,c4,e4]@9 ~@6, ~@33 c2@10 ~@18 a1@2 ~]/2", // C5 C C5 C G7 C
  BR: "~ g1@2 ~@7 c4 ~@2 d4@2 ~@2 [b3,f4] ~@3 [b3,d4]@4 g2@4 [d2,b3,f4] ~@2, ~@5 g1@9 ~@3 d2@7 ~@8, ~@9 [b3,f4]@4 ~@19", // Bdim Bm Bdim
  BS: "~ [b3,g4] ~@3 [b3,g4] ~@3 [a#3,f#4] ~@10 [b3,d4,g4]@4 ~ [g2,f4]@2 ~@2 g2@2 ~, ~ g1@13 ~@2 g1@9 ~@7, ~ d4@2 ~@5 g2@5 [b3,d4,f4]@6 ~@13", // Em D#m G G7 Bdim
  BT: "~ [c2,c3,e5,c6] ~@3 c6 ~ g5 e5 ~@4 [d#5,g5] ~@3 [d5,g5]@3 c5 ~@4 a4@4 g4 ~@2, ~@6 a5@2 ~@17 c5 ~@6", // C D# G5
  BU: "~ [f3,d4,g4] ~@3 [g2,f3,b3,d4]@4 [g2,f3,b3,d4,g4]@4 [g2,f3,b3,d4,g4]@3 ~ [b3,d4,g4]@3 [g2,f3,b3,d4,g4]@4 ~ [g2,b3,d4,g4]@4 ~ e4@2, ~@5 g4 ~@10 [g2,f3]@4 ~@4 f3@5 [g2,a#3,d4,g4]@2 ~", // G7 G G7 G G7 Gm
  BV: "~ c2@2 ~@2 c2@4 [a#3,d4,e4,g4] ~@3 c2 ~@3 g1@2 ~@2 g1@2 ~@2 [a#1,a#3] [d4,e4,g4] ~@2 b1@2 ~", // Em7b5 A# Em7
  BW: "~ c2 ~@3 c2@4 [d4,e4,g4]@2 ~@2 [c2,a#3,d4,e4,g4] ~@3 g1@2 ~@2 g1@2 ~@2 [a#1,c#4,f#4]@2 ~@2 [a#3,d4,d#4,g4] ~@2, ~@9 a#3 ~@15 a#3 ~@3 [b1,e4]@2 ~", // Em7 C7 F# D#maj7 E5
  BX: "~ c2@2 ~@2 c2@5 [a#3,c#4,d4,e4,g4] ~@3 c2 ~@6 a#3 ~@3 [a#3,g4] [d4,e4] ~@2 b1@2 ~, ~@18 g1@6 ~ a#1@2 ~@5", // Em7b5 D# Dsus2
  BY: "[~@5 a#3 ~@3 [a#3,d4,e4]@3 ~ g2@2 ~@2 [c2,e4]@3 ~ [e2,f4]@2 ~@2 f#4@2 ~@4 [b3,d4,g4]@2 ~@9 [b3,c4,d4,f4,g4] ~@3 g2@2 ~@5 b3 ~@3 [b3,d4,f4,g4] ~@3 d2@2 ~, ~ c2@8 g4@7 ~ c4 ~@7 f2 ~@3 f#2@3 ~@18 d2@10 ~@4, ~@15 f4 ~@16]/2", // Em7b5 C Fmaj7 G G7
  BZ: "~@5 b3 ~@3 [b3,d4,f4,g4] ~@3 d2 ~@7 b3@2 ~@2 [b3,d4,e4,g4]@3 ~ g2@2 ~, ~ g1@10 ~@6 d2@8 ~@7", // G7 Em7
  CA: "~ a#3 [c2,c3,d4,e4,g4] ~@29", // C
  CB: "~ [g2,f3,b3,d4,f4,g4]@2 ~@3 [f3,d4]@3 [g2,f3,b3,d4,f4,g4]@4 ~ g2@3 [g2,f3,b3,d4,f4,g4]@4 ~ [g2,b3,d4,f4,g4]@3 ~ d4@3 ~ [g2,a#3,e4,g4] ~, ~@3 g2@6 ~@17 [g2,b3,f4,g4]@5 ~, ~@3 [f3,b3,g4]@2 [b3,f4,g4]@4 ~@4 [f3,b3,d4,f4,g4]@4 ~@4 f3@4 f3@5 ~@2, ~@4 d4@2 ~@23 d4@2 ~", // G7 Dm G7 Edim G7
  CC: "~ c2@2 ~@2 c2@4 [a#3,d4,e4,g4] ~@3 d2 c2 ~@2 g1 ~@3 g1@2 ~@2 [a#3,d4,e4,g4,g#4] ~@3 b1 ~@2, ~@25 a#1@2 ~@5", // Em7b5
  CD: "~@2 c2 ~@2 c2@4 [a#3,d4,e4,g4] ~@3 c2 ~@3 g1@2 ~@2 g1@3 ~ [a#1,c#4]@2 ~@2 a#3 [b1,d4,e4,g4] ~, ~@25 [a#3,f#4] ~@6", // Em7b5 A#m Em7 D#m
  CE: "~@2 c2 ~@2 c2@4 [a#3,e4,g4] ~@3 c2 ~@3 g1@4 a#3 ~@4 [a#1,d4,e4] ~@2 b1 ~@2, ~@9 d4@2 ~@14 [a#3,g4]@2 ~@5", // Edim Em7b5 D#
  CF: "~@5 a#3 ~@3 [a#3,d4,e4,g4] ~@3 c2@2 ~@2 g1@2 ~@3 [d4,e4,g4] ~@2 [e4,g4] ~@3 [b3,f4]@2 [d4,g4], ~ c2@10 ~@10 a#3@3 ~@8, ~@11 c2!2 ~ a#1@2", // Em7b5 Em7 Em Bdim G5
  CG: "~ g1@2 ~@2 g1@4 [b3,f4,g4] d4 ~@2 d2 ~@3 d2 ~@3 d2@4 g4 [b3,d4,f4] ~@2 d2 ~@2, ~ a1 ~@30", // G7 Bdim
  CH: "~ g1@2 d#4@2 g1@4 [b3,d4,f4,g4] ~@3 d2@2 ~@6 b3 ~@3 [g2,b3,d4,g4] f4 ~@2 g2 ~@2, ~@17 g1@8 ~@7", // G7 G
  CI: "~ [c2,c3,a#3,d4,e4,g4] ~@30", // C7
  CJ: "~@17 g2@3 ~ f3@4 [g2,f3,a3,b3,d4]@4 g2@2 ~, ~@2 a3 ~, ~@16 [f3,d4]@5 ~@11, ~@17 g1@14 ~, ~@17 b3@8 ~@7", // G7 Dm
  CK: "~ c2@2 ~@2 c2@3 ~@2 [a#3,d4,e4,g4] ~@7 g1 ~@2 g1@2 ~@3 [a#3,d4,e4,g4] ~@2 b1@2 ~, ~@13 g1 ~@2", // Em7b5
  CL: "c2 ~@2 c2@2 ~@4 [a#3,d4,e4,g4] ~@3 c2 ~@3 g1@2 ~ g1@2 ~@4 [a#3,d4,e4,g4] ~ a#1@2 ~@2, ~@7 c2@4 ~@14 g1@2 ~@5", // Em7b5
  CM: "~ [b1,c2] ~@2 c2@5 [a#3,g4] [d4,e4,g#4] ~@2 c2 ~@3 g1@2 ~ g1@2 ~@3 a#3 [d4,e4,g4] ~@2 b1 ~@2, ~@25 a#1@2 ~@5", // Cmaj7 D# E7 Em7
  CN: "~ c2 ~@3 c2@4 [a#3,d4,e4,g4] ~@3 g2 ~@3 [c2,e4]@2 ~@2 c4 [e4,g4] ~@2 [c4,e4,g4] ~@3 [d2,f#4] ~@2, ~@17 [c4,g4] ~@3 c2@2 ~@2 e2@2 ~@5", // Em7b5 C Em C D C5
  CO: "~ [d4,f4,g4]@2 ~@2 b3 ~@4 [b3,c4,d4,f4,g4] ~@10 b3 ~@3 [b3,d4,f4,g4] ~@3 g2@2 ~, ~ g1@13 ~@3 d2@10 ~@5, ~ b3 ~@12 [b3,d4,f4,g4]@7 ~@11", // G7
  CP: "~@5 b3 ~@3 f4 ~@2 g2 ~@4 a1 ~@7 [g2,d4] ~@3 [g2,a2] ~@2, ~ g1@12 ~@3 g1@8 ~@8, ~@9 [b3,g4]@17 ~@6, ~@9 d4@12 ~@11", // G5 Gsus2 Em
  CQ: "~ [c2,c4,d#4,e4,g4] ~@30", // C
  CR: "~@5 [g2,f3,b3,d4,f4,g4]@4 ~ [f4,g4]@3 ~ g4@3 ~ [d4,f4,g4]@3 ~ [d4,f4,g4]@3 [g2,b3,d4,g4]@4 [g2,b3,d4,g4]@3, ~@9 [g2,f3,b3,d4]@4 [g2,f3,b3,d4,f4]@4 [g2,f3,b3]@4 [g2,f3,b3]@4 [f3,f4]@7", // G7 Fsus2 G7 G G7 F
  CS: "~@2 [a#3,d4,e4,g4] ~@3 c2@2 ~@2 [a3,a#3,e4,g4] ~@2 c2 ~@3 g1 ~@3 g1@2 ~@2 [a#3,d4,e4,g4] ~@3 b1 ~@2, ~ c2@2 ~@7 d4@2 ~@13 a#1@2 ~@5", // Em7b5 Edim Em7b5
  CT: "~ c2 ~@3 c2@5 [d4,e4]@2 ~@2 c2 ~@3 g1@2 ~ g1@2 ~@2 [a#1,a#3,d4,g4] [b1,e4] ~@2 b1 ~@2, ~@10 g4 ~@21", // Dsus2 Gm E5
  CU: "~ c2 ~@3 c2@5 [a#3,d4,e4,g4] ~@3 c2 ~@3 g1@2 ~@2 g1@2 ~ [a#1,f#4]@2 ~@2 [b1,g4] [a#3,d4,e4] ~, ~@25 [a#3,c#4] ~@6", // Em7b5 D#m Em Em7b5 A#m
  CV: "[~ c2@2 ~@2 c2@4 [a#3,d4,e4,g4]@4 c2 ~@3 [c2,g4]@3 ~ [e2,e4]@2 ~@2 [f2,f4,g4] ~@3 [f#2,b3]@3 ~ g1@2 ~@2 g1@4 [b3,d4,f4,g4] ~@3 g1@2 ~@3 d2 ~@6 [b3,g4] d4@2 ~@2 d2@2, ~@17 a#3 ~@3 c4 ~@7 [d4,f4,g4]@9 ~@16 d2@4 f4 ~@5]/2", // Em7b5 C5 E Fsus2 B5 G7 Em G7
  CW: "~ g1@2 ~@6 [b3,d4,g4] f4 ~@2 d2@2 ~@2 d2@2 ~@2 d2@2 ~@2 [d2,b3,d4,g4] ~@3 g2@2 ~, ~@3 g1@3 ~@10", // G
  CX: "~ [c2,c3,e4,g4]@2 ~@9 [g#5,c6] a5 g5 ~@2 [d#5,e5,g5,g#5] ~@3 d5@4 c5 ~@3 c5 ~@2, a#3 ~@15, ~ d4 ~@26 a4@4", // C G# Emaj7
  CY: "~ g4@4 e4 ~@2 d#4@2 ~@3 [d4,g4] ~@3 [c3,d3,d4] ~@3 [g2,f3,b3,g4]@4 [g2,f3,b3,g4]@3 ~ [b3,g4]@2 ~, ~@8 g4 ~@19 [g2,f3]@3 ~", // G5 Csus2 G7 Em G7
  CZ: "[~ [c2,a#3,d4,e4,g4] ~@3 c2@2 ~@3 [a#3,d4,e4,g4] ~@2 c2 [a#3,d4,e4,g4] ~@2 g1@2 ~@2 g1@2 ~@2 [a#3,d4,g4] ~@3 b1 ~@3 c2 ~@3 c2@4 [a#3,g4] g#4 ~@3 c2 ~@2 g1@2 ~@2 g1@2 ~@2 [a#3,d4,g4,g#4] ~@3 b1 ~@3 c2@2 ~@2 c2@4 a#3 [d4,g4] ~@2 c2 ~@3 g1@2 ~@2 g1@2 ~@3 d4 ~@2 b1@2 ~@2 c2@2 ~@2 c2@4 [a#3,d4,g4]@3 ~ g2 ~@3 [c2,c4]@3 ~ e2@2 ~@2 [f2,f#4] ~@3 [g2,b3,g4]@2 [d4,f4], ~@25 e4@17 e4@15 e4@17 e4@16 e4@15 e4@8 e4@9 ~@6, ~@25 a#1@2 ~@14 d4@2 ~@14 a#1@2 ~@30 [a#1,a#3,g4]@2 ~@26 f4 ~@10]/4", // C7 Em7b5 Gm D# Gm G5 Gm C …
  DA: "~ g1@2 ~@2 g1@4 [b3,f4,g4] ~@3 [g1,a1] ~@3 d2@2 ~@2 d2@4 [b3,d4,g4]@4 d2 ~@2, ~@9 d4@2 ~@14 f4 ~@6", // G7 Gsus2 G
  DB: "~ g1@2 ~@2 g1 ~@2 g1@2 ~@2 d2@4 ~@5 g2@4 g2@7, ~@3 [d4,g4]@5, ~@12 b3@2 ~@3 d2@15", // G5
  DC: "[c2,c3,e5] ~@4 g#5@2 ~ e5 ~@3 [d#5,g5]@3 ~ d5@4 c5 ~@3 [a4,c5]@4 g4 ~@3, c6@2 ~@3 c6 ~ a5@4 ~@21", // C D# Am
  DD: "[g3 ~@3 a3@2 ~@2 b3 ~@5 c#4 ~@2 a#3@64 ~@15, ~@13 [c1,c2,e3,g3,d4]@64 ~@19, ~@13 [a3,a#3]@2 ~@81]/3", // C A#maj7
})).s("gm_piano").gain(0.36)

// chords · piano · "Rockin Pneumonia, and" · soft notes
const piano_soft = note(`<
  A B C D ~ E ~@2 F G ~ H I J@2 ~@3 K ~ L ~ M ~ N O ~@2 P Q R S ~ T U V W ~@4 X Y ~ Z AA AB AC ~ AD ~ AE@2 ~@2 AF ~@5 AG
  AH AI AJ AK AL AM ~ AN ~ AO AP AQ ~@2 AR ~ AS ~ AT ~@2 AU ~ AV ~@4 AW AX ~ AY AZ BA BB ~@2 BC ~ BD AR L ~@3 BE BF ~@3
  BG BH ~ BI ~@2 BJ BK ~@2 BL@2 ~@3 BM BN ~ BO ~@4
>`.pickRestart({
  A: "~@14 c5 ~ f#5 ~@15", B: "~ g#2 ~@13 c5 ~@16", C: "~@13 d5 ~ c5 ~@9 c#2 g5@5 ~", D: "~@25 c#2 ~@4 a#2@2",
  E: "~@29 b1 ~@2", F: "~@21 g1@9 ~@2", G: "~@19 c4 ~@12", H: "~@13 c5 ~@10 c#2 ~@6 g4", I: "~@15 c5 ~@10 g5@6",
  J: "[~@25 g1 ~ g5@4 g4@2 ~@14 c5 ~@16]/2", K: "~@21 g#1 ~@10", L: "~@25 d4 ~@6", M: "~@21 a5@2 ~@3 g5@3 ~@2 d4",
  N: "~@16 c5 ~@3 d5 ~@6 g5@3 ~@2", O: "g4 g4@2 ~@23 g5@6", P: "~@19 c#4 ~ [e2,f2] ~@10",
  Q: "~@10 d4 ~@9 g#1 ~@4 g#1 ~@6", R: "~@29 g2 ~@2", S: "~ a#1 ~@30", T: "~@13 g5 ~@2", U: "~@24 c#2 ~ g5@2 ~@2 g4 ~",
  V: "~@15 c5 ~@10 g5@2 ~@4", W: "a4 ~@14 c5 ~@10 g5@3 d5 ~@2", X: "~@10 f4 ~@15 d4 ~@5", Y: "~@22 [a3,c4] ~@9",
  Z: "~@14 f#5 ~@10 g5@5 ~@2, ~@24 g2@7 ~", AA: "~@13 g5@3", AB: "~ g#2 ~@17 d5 ~@12", AC: "~@15 d5, ~@29 c5@3",
  AD: "~@9 [f3,b3] ~@22", AE: "[~@6 f4 ~@22 e4@5 ~@8 [d#4,e4] ~@21]/2", AF: "~@10 [c4,c#4] ~@21",
  AG: "~@9 c4 ~@20 e4 ~", AH: "~@21 e4 ~@10", AI: "~@5 [e4,g4]@8 ~@9 e2 ~@9", AJ: "~@2 d4@2 ~@10 b3 ~@17",
  AK: "~@9 c#4 ~@22", AL: "~@22 a5 ~@9", AM: "~@13 d5@3", AN: "~@21 g3 ~@4 c4 ~@5", AO: "~@18 c#4 ~@13",
  AP: "~@10 c4 ~@21", AQ: "~@5 b3 ~@15 c4 ~@3 b3 ~@6", AR: "~@10 e4 ~@21", AS: "~@30 [d3,c4] ~", AT: "~@31 f4",
  AU: "~@21 d4@4 ~ d4@5 ~, ~@18 c#2@13 ~", AV: "~@17 c4 ~@7 a4 ~@6", AW: "~@27 c5@2 ~@3", AX: "~ g2 ~@15 g#4@8 g#4@6 ~",
  AY: "~@30 d4 ~", AZ: "~@11 d4 ~@20", BA: "~@17 g4 ~@14", BB: "~ g1@7 ~@8, ~ g2@2 ~@29", BC: "~@4 f4 ~@27",
  BD: "~@18 a1 ~@13", BE: "~@21 d4@3 ~@8, ~@20 g2@5 ~@7", BF: "~@14 c2 ~@17", BG: "~@26 f4 ~@5", BH: "~@5 f4@8 ~@3",
  BI: "~@15 [c#2,d#2]", BJ: "~@11 e4 ~@14 d4 ~@4 e4", BK: "~@18 [d4,e4] ~@13", BL: "[~@31 c5@3 ~@30]/2",
  BM: "~@12 g4@6 ~@4 d4 ~@9", BN: "~@13 f4@2 ~", BO: "~@4 g5 ~@3",
})).s("gm_piano").gain(0.2)

// chords · piano
const piano_2 = note(`<
  ~@26 A B C D E@2 F@2 ~@50 G H I J K L ~@10 M N@4 O P ~ Q R@3 S T U V@2 W X@2 Y Z AA AB AC ~ AD AE ~ AF ~@5
>`.pickRestart({
  A: "~@10 c6@6 ~@2 c6@2 a5@2 g5@2 e5 ~ d#5 d5@2 c5@2 ~", B: "d5@5 c5@3 ~ [a4,c5] d5@2 [a4,c5] ~@4 a4@3 c5@2 ~@10",
  C: "~@3 a3 ~ c4 ~ d4 ~ d#4@2 e4@2 g4 ~ a4@4 ~ c5@2 ~@3 g4 ~ g#4 ~ a4 c5 ~",
  D: "d5@2 ~@3 d5 ~@3 d5 ~ c5@2 d5 ~ d#5@4 ~@3 e5@10",
  E: "[~@5 e5 ~ d#5@2 e5 ~ a5@3 ~ d#5 ~ e5@2 d#5@2 e5@2 ~@2 g5@2 e5@2 ~ c5@4 ~@3 a4@16 ~@2 a4@2 e5@2 [d5,d#5] ~ d5@2 ~, ~@29 d5@2 ~@33]/2", // D#maj7
  F: "[c5@4 ~@2 a4@9 ~@3 g4 ~ g4 a4 ~ g4 ~ d#5 d5@2 c5 ~ c5@10 ~@24]/2",
  G: "~@5 c5@2 ~@2 d#5@2 ~@2 e5 ~@4 d#5@2 e5@2 g5 ~@3 d#5 ~@2 g5 ~ d#5, ~@14 e5 ~",
  H: "~ e5@2 g5 ~ d#5@2 e5@2 g5 ~ d#5 ~ e5@2 g5 ~ d#5 ~ e5@2 g5 ~ d#5 ~ e5@2 g5 a5@3 ~",
  I: "~@5 c5 ~@2 [d#5,g5] [e5,f5] f5 a5@3 ~@2 d#5 ~ e5@2 c5 ~ [f5,a5]@4 c5 d#5 [e5,g5]@3 ~, ~@4 g5 ~@3", // D# Fmaj7 F Em
  J: "c5@2 [f5,a5]@4 ~ d#5 e5@4 ~ [f5,a5]@3 ~ [e5,g5,a5] ~@3 e5@3 ~ f5 ~@3 [d#5,f#5]@3, ~@6 c5@2 ~@4 c5@2 ~@7 c5 ~@10, ~@7 g5@4 ~@21", // F A7 D#m
  K: "~@2 e5 ~@2 [e5,g5] ~@3 f#5 ~ f5@3 d5 ~@2 g5 ~@4 [b4,f5]@6 ~ d5 ~@2, ~ g5@2 ~@19 e5 ~@9", // Em Bdim
  L: "~ [b4,g5] ~@3 g5 ~@3 f#5 ~@3 [b4,f5]@6 ~@2 g5@3 ~ a5@3 ~@4", // Em Bdim
  M: "~@2 d#5@2 ~ e5 ~@3 [f5,g5] ~@3 c6 ~@3 [f#5,b5,c6] ~ b5 ~ [b5,c6] ~ [g5,c6] ~ [g5,c6] ~ [g5,c6] ~ [g5,c6] ~ [g5,c6]", // Fsus2 B Cmaj7 C5
  N: "[~ [g5,c6] ~@3 [g5,c6] ~@3 [g5,c6] ~@3 [g5,c6] ~@4 [g5,c6] ~@3 [g5,c6] ~@2 f#5@2 g5@2 c6@2 f#5@2 g5@2 c6 ~ f#5@2 g5@2 c6@2 ~@2 g5@2 c6@2 f#5@2 g5 ~ c6@2 ~ g5@3 c6@2 g5@2 f#5@3 g5@3 c6 ~@3 f#5 g5@2 ~ f5 ~@3 e5@3 ~ f5 ~@2 f#5 ~@4 [b4,c5,a5]@3 b4@5 g5@2 ~@2 [b4,f5]@4 d5 ~@3 [b4,f5] ~@3 [b4,f5]@8 d5@3, ~@43 f#5@4 ~@8 f#5@4 ~@14 c6@3 ~@17 g5@7 ~@28]/4", // C5 F Bdim
  O: "~ g5@2 ~@2 [b4,g5]@2 ~@2 f#5@2 ~@3 b4@7 g5@3 ~ a5@3 ~ g5 ~@2, ~ b4 ~@7 b4 ~@4 f5@5 ~@13", P: "~ d#5 ~@30",
  Q: "~@5 c5@2 ~@2 [d#5,g5] ~@2 f5@2 [c5,d5] ~@2 [d#5,g5] ~ e5 c5@2 ~@2 d#5 g5 ~ e5 c5@3 ~, ~@9 g5 ~@3 g5 ~@2", // D# Csus2 D#
  R: "[[d#5,g5] ~ [e5,g5]@2 c5@2 ~@2 [d#5,g5] ~ g5@2 c5@2 ~@2 [d#5,g5] ~ [e5,g5]@2 c5@2 ~@2 d#5 g5 ~ e5 c5@7 ~@2 c5@2 ~@2 [d#5,g5] ~ [e5,g5]@2 c5@2 [d#5,g5] ~ [e5,g5]@2 c5 ~ d#5 g5 g5@2 c5 ~ [d#5,g5] ~ [e5,g5]@2 c5@2 [e5,g5]@4 c5 ~@3 [c5,e5]@3 ~ [d5,f5] ~@3 f#5@2 ~@2 e5 ~@3 [e5,g5] ~@3 [d#5,f#5] ~@2, ~@10 e5 ~@15 g5@2 ~@27 e5 ~@9 d#5 ~@15 d#5 ~@14]/3", // D# Em D# Em D# Em D# Em …
  S: "~ f5@3 d5 f5 ~ [d5,f5] d5 f5 d5 ~ [d5,f5] ~ f5 d5 f5 d5 f5 d5@2 f5@2 ~@3 [f5,d6] ~@3 [f5,d6] ~, ~ d5 ~@30", // Dm
  T: "~@2 [f5,a#5] ~@2 d6 ~@3 b5@4 a5 ~@3 g5 [e5,f5] ~@2 [f5,g5]@4 a5@2 ~@2 g5 ~@2, ~@2 b5@2 ~@5 f5 ~@22", // A#5 Fmaj7 Fsus2
  U: "~ [e5,c6] ~@3 [e5,c6]@4 ~@2 a#5 e5 a5@2 ~@2 [e5,g5] ~@3 [e5,a5]@4 ~@2 [d#5,g5] ~ g5@2 ~, ~@29 d5 ~@2", // C Em A5 D#
  V: "[~ [c5,g5]@2 ~@2 [d5,g5]@4 c5 ~@3 a4@4 g4@2 ~@2 g4@3 ~ a4@3 ~ c5@6 ~@15 [f#5,c6] ~ [g5,c6] g5 c6 [g5,c6] ~ [g5,c6] ~ [g5,c6] ~ [g5,c6] ~ [g5,c6]]/2", // C5 G5 F#dim C5
  W: "~ [g5,c6] ~ [g5,c6] ~ [g5,c6] ~ [g5,c6] ~ [g5,c6] ~ [g5,c6] ~ [g5,c6] ~ [g5,c6] ~ [g5,c6] ~ [g5,c6] a#5 [g5,c6] ~ [g5,c6] ~ [g5,c6] ~ [g5,c6] ~ [g5,c6] ~ [g5,c6]", // C5
  X: "[~ [g5,c6] ~ e5 ~ [f#5,c6] ~ c6 g5 e5 ~ [f#5,c6] ~ g5@2 e5 ~ f#5 c6 g5@2 e5 ~ [f#5,c6] ~ c6@2 e5 ~ f#5@2 [g5,c6]@2 e5@2 ~@2 g5 ~@3 [e5,c6] ~@2 f5 c6 ~@3 [f#5,c6] ~@3 c6@2 ~@2 [g5,c6] ~@2 f#5 c6 ~@2, ~@13 c6 ~@5 c6 ~@5 g5 ~@3 c6 ~@22 g5@2 ~@10]/2", // C5 F#dim C5 C F#dim C5
  Y: "~ [f5,c6]@3 f5 c6 f5 ~ c6 f5 c6 f5 c6 f5 ~ c6 ~@2 c6@2 ~ f5 ~@3 c6 ~@6", // F5
  Z: "~@5 f5 ~@3 [f5,d6] ~@3 [f5,d6] ~@3 [b5,d6]@3 ~ a5@3 g5 ~@4 g5 ~@2, ~@17 [f5,a#5] ~@14", // Dm Bm A#5
  AA: "~ [e5,c6] ~@3 [e5,c6]@5 ~ a#5 e5 a5@2 ~@2 [e5,g5] ~@3 [e5,a5]@4 ~@2 [d#5,g5] ~ [d5,g5] ~@2, ~@13 g#5 ~@18", // C Em A5 D# G5
  AB: "~ [c5,g5] ~@3 d5@2 ~@2 c5 ~@3 a4@3 ~ g4 ~@3 a4@2 ~ g4 ~ d#4@2 d4@2 c4 ~, ~@5 g5 ~@26", // C5
  AC: "~ [g3,a3] ~@3 c4 ~@3 c4 ~@22", // Gsus2
  AD: "~@13 c5@3 g4 c5 ~ g4 ~@6 f#4 e4 ~@2 c4 ~, ~@13 f#4 ~@11 d#4@2 ~@5, ~@26 g4@3 ~@3", AE: "~ a3@3 ~ c4 ~@26",
  AF: "~@5 [b3,g4] ~@3 [a#3,f#4] ~@3 [b3,f4]@14 ~@5", // Em D#m Bdim
})).s("gm_piano").gain(0.36)

// bass · acoustic bass · "Bob Mace"
const bass = note(`<
  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 AA AB AC AD AE AF AG Y AH AI AJ AK AL AM AN AO AP AQ AR AS AT AR
  AU@2 ~ AV@3 AW AX@2 AY AZ BA BB@5 BC BD BE@6 BF@8 BG@7 BH BI@2 BJ@6 BK@2 BL@6 BM@7 BN BO@7 BP BQ@8 BR@6
>`.pickRestart({
  A: "~@4 c3 ~@15 g2@6 ~@2 a#2 ~@3", B: "~ c3 ~@22 g2@3 ~@2 a#2@2 ~", C: "~ c3 ~@22 g2@4 a2 ~@3",
  D: "~ c3 ~@19 g2@5 ~@3 a2 ~@2", E: "~ c3 ~@8 c3 ~@7 b2 ~@13", F: "~ a2@2 ~@9 a2@13 ~@7",
  G: "~ f2@4 ~@12 f2@7 ~@2 f2@5 ~", H: "~@2 e2@14 ~ e2@5 ~@3 g#2@6 ~", I: "~@2 a2@7 ~ a2@6 ~@2 g2@13 ~",
  J: "~ f2@22 ~@2 f2@2 ~@5", K: "~ d2@12 ~@4 g2@15", L: "~ c2 ~@19 g1@6 ~ a1@2 ~@2", M: "~ c2 ~@17 g1@7 ~@2 a1 ~@3",
  N: "c2 ~@20 g1@6 ~@2 a1@2 ~", O: "~ c2 ~@19 g1@7 ~ a1 ~@2", P: "~@2 c2 ~@6 c3@6 ~@2 b2@2 ~@6 b2 ~@3 a2@3",
  Q: "~@9 a1@2 ~ a1@8 ~@5 a1 ~@3 g1 ~@2", R: "~ f1 ~@7 f1@11 ~@5 f1@2 ~@2 f1 ~@2",
  S: "~ e1@14 ~@2 e1@2 ~@2 e1 ~@3 g#1@2 ~@2 g#1 ~@2", T: "~ a1@6 ~@2 a1 ~@7 g1@7 ~ g1 ~@6", U: "~ f1@26 ~@5",
  V: "d1@12 ~@5 g1@15", W: "~ c2@2 ~@22 g1@4 a1 ~@2", X: "~ c2 ~@7 a#1 ~@14 g1@3 ~@2 a1@2 ~",
  Y: "~ c2 ~@23 g1@3 ~ a1@2 ~", Z: "~ c2 ~@23 g1@3 ~ a1 ~@2", AA: "~ c2 ~@7 c2 ~@7 b1@10 ~@3 b1 ~",
  AB: "~ a1@2 ~@6 a1@12 ~@4 a1@2 ~@2 a1 ~@2", AC: "~ f1@12 f1@2 ~@2 f1@12 ~@3",
// … 100 more lines

More by Billy Preston