Strudelify

Sweet Sixteen

B.B. King

KeyD majorTempo56 bpm
0:00/0:00
// Sweet Sixteen — B.B. King
// 56 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 6 "OVERDRIVE" overdriven guitar (copy of ch 1 "JAZZ GTR" electric guitar jazz); ch 8 "JAZZ GTR" electric guitar jazz (copy of ch 1 "JAZZ GTR" electric guitar jazz, 0.208 beats late); ch 9 "JAZZ GTR" electric guitar jazz (copy of ch 1 "JAZZ GTR" electric guitar jazz, 0.427 beats late)
// note: Full arrangement: all 91 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(56/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.

// other · electric guitar jazz · "JAZZ GTR"
const electric_guitar_jazz = note("<A B C@2 D E F G H@2 I@2 J K L@2 M N O@2 P Q R S T ~@66>".pickRestart({
  A: "~@39 a3@2 ~ b3@2 d4@3 ~", B: "e4@2 ~@3 d4@3 d4@23 ~@17",
  C: "[~@10 f4@2 g4@2 g4@3 ~ c5@2 ~ g4@2 ~ g4@3 ~@7 a3@2 c4@2 c#4@2 f4@2 g4 ~ a4 ~@2 f4@3 ~@33 f4 a4@3 ~@2 c5@7]/2",
  D: "~@3 c#5@2 ~ a4@2 ~ g4@2 f4@2 ~@35", E: "~@8 g#4@6 g4@2 f4@3 d4@2 ~ d4@3 ~@23",
  F: "~@7 d4 [a4,d5]@2 c#5 ~ c5@3 ~ g4@2 ~ g4@2 ~ f4@2 ~@10 c4@2 d4@2 f4@2 g4@2 a4 ~ f4@4", // D5
  G: "~@22 a3@2 c4 ~ d4@2 ~ f4@2 g4@2 a4@2 f4@2 ~ f#4@2 ~ g4@2 g4@2 ~ f#4@2",
  H: "[~@32 c5@21 ~@2 c5@2 ~@3 g4@6 ~ g#4@2 ~ f4@2 d4@2 ~@22]/2",
  I: "[~@4 [d3,f#3] [g4,c5,c#5] ~@3 c5@2 ~ g4@2 ~@3 g4@2 f4@3 d4@2 ~ d4@5 ~@3 a3@2 c4@2 ~ d4@2 f4 ~ g4 ~ a4@2 f4@7 ~@13 a3@2 c4@2 d4@2 f4@2 d4@2 f4 ~ f#4 ~ a4 ~ b4@2 d5@2 ~ e5@4 d#5 d5 ~ b4 d5]/2", // D C
  J: "~ e5 d5@2 b4@2 d5@2 ~ a4@6 ~@33", K: "~@12 a4@3 ~ b4@2 ~ d5@2 ~@3 e5@3 ~@3 d5@2 ~@3 d5@2 ~@2 d5 d5@8",
  L: "[~@31 d5@3 ~@4 f5@4 f#5@2 ~@2 g5@5 ~@3 g#5@9 ~@9 f5@2 ~ d5 d5@7 ~ b4@2 d5 ~ f5@3 ~ f5@3 ~]/2",
  M: "f#5 g#5@2 [f5,g5] ~ d5@3 ~ [c5,c#5] ~@2 c#5@5 ~ a4 ~ g4@2 f4 ~@3 d4@2 ~@2 f4@4 a4 ~ [f4,b4]@6 ~ [f4,b4]@5", // Fsus2 C#maj7 Fdim
  N: "~ b4@5 f4 e4 ~@20 f4@2 ~ g4 f4@2 ~ d4 d4@5 ~@2 d4@5, f4@5 ~@43",
  O: "[~@12 a3@2 b3 ~ d4@2 ~@2 g4@3 f4 ~ g4@2 g4@2 f4@3 ~@2 d4@2 ~@2 a3 c4@4 ~ a3 g3 ~@10 [b3,e4] ~@20 b3@2 d4@2 e4@4 f#4@2 g4@2 ~ g4@2 ~ f#4@2 ~, ~@47 f3@13 ~@36]/2", // E5
  P: "~@32 c5@5 ~@11", Q: "~@12 g#4@4 ~@3 g4@4 d4@2 d4@9 ~@14",
  R: "~@4 a3@2 ~ b3 d4@2 ~ e4@4 d4 ~ e4@2 b3 ~@3 d4@3 ~ b3@2 d4@2 ~ e4@3 d5@2 ~ b4@2 e4@8",
  S: "~ d4 ~ d4@3 ~@3 f4@4 [a4,d5]@3 ~@3 c#5@4 ~ a4 ~ g4@3 ~ f4 d4@3 f4@4 a4 f4@9", // D5
  T: "a4@7 ~@5 a4@2 f#4 ~@2 d4@2 a3@6 ~@3 a4 a#4@2 ~@17, ~@28 d5@17 ~@3",
})).s("gm_electric_guitar_jazz").gain(0.44)

// other · electric guitar jazz · "JAZZ GTR" · soft notes
const electric_guitar_jazz_2 = note("<~@2 A B C D E F G H ~ I ~@4 J K L ~ M ~ N ~ O ~@66>".pickRestart({
  A: "~@7 d4@2 ~@20 f4@2 d4@4 ~@13", B: "~ d4@2 ~@9", C: "~@14 d4@2 ~ d4@3 ~@28", D: "~@26 a3@5 ~@17",
  E: "~@24 d4@5 ~@2 a3@2 ~@15", F: "~ a3@10 ~@37", G: "~ d4@2 ~ a3@3 ~ a3@6 ~@34", H: "~@27 d4@10 ~@11",
  I: "~@8 g3 ~@15", J: "~@9 [a#4,b4] [f4,f#4,g4,g#4,a4] a#3 ~@12 d4@2 ~@22", K: "~@8 d#4 [c4,d4] ~@17 d4 ~@13 d4 ~@6",
  L: "~@18 b3 ~@29", M: "d4 ~ a3@3 a3@6 ~@37", N: "~@21 d4@2 ~@25", O: "~@30 b4@13 ~@5",
})).s("gm_electric_guitar_jazz").gain(0.22)

// bass · fretless bass · "FRETLESS"
const bass = note(`<
  ~ A B C D E F G H I J K L M N O P Q R S H T U V W X Y Z AA AB Y AC AD AE AF AG AH X Y AI AJ AK AL AM AN AO AP AQ AR AS
  AT AU AV E AW G AX AY AZ BA BB BC BD BE BF BG BH AU BI BJ BK BA BL BM BN BO BP BQ BR BS BT BU BV BW@3 ~@2 BX BY@2
>`.pickRestart({
  A: "d2@19 ~ d2@2 ~@2 d2@11 ~ g#2@12", B: "g2@8 ~ b2 c3 d3", C: "d2@12 c2@12 b1@11 ~ a1@12",
  D: "d2@11 ~ a2@12 d2@11 ~ g#2@12", E: "g2 g#2", F: "g2@24 f2@11 ~ e2@12", G: "d2@6 c2@6 b1@5 ~ a1@2 b1@2 c#2@2",
  H: "d2@3 a2@3 d2@3 f#2 g2 g#2", I: "a2@11 ~ a2@11 ~ a2@10 ~@2 a2@8 g#2@4", J: "g2@20 ~@4 g2@11 ~ a1@4 b1@4 c#2@4",
  K: "d2@12 f#2@10 ~@2 g2@11 ~ g#2@11 ~", L: "a2@11 ~ a2@11 ~ a2@12 a1@4 b1@4 c#2@4", M: "d2@10 ~@2 d2@5 ~ d2 ~ g#2@4",
  N: "g2@22 ~@2 g2@16 a1@4 e2@3 ~", O: "d2@9 ~@3 d2@11 ~ d#2@10 ~@2 d#2@11 ~", P: "d2@20 ~@4 g#1@10 ~@2 g#1@11 ~",
  Q: "g1@5 ~@7 g1@12 g#1@10 ~@2 g#1@11 ~", R: "g1@12 f2@10 ~@2 e2@12 d#2@11 ~",
  S: "d2@12 c2@11 ~ b1@10 ~@2 a1@4 b1@4 c#2@4", T: "a2@23 ~ a2@11 ~ a2@6 ~@2 g#2@4",
  U: "g2@11 ~ g2@10 ~@2 g2@11 ~ a1@4 b1@4 e2@4", V: "d2@22 f#2@2 g2@11 ~ g#2@11 ~",
  W: "a2@11 ~ a2@12 a1@8 ~@4 a1@4 b1@3 ~ c#2@4", X: "d2@11 ~ d2@5 ~ d2 ~ g#2@4", Y: "g2 f2 e2 d#2",
  Z: "d2@12 c2@12 b1@11 ~ a1@10 ~@2", AA: "d2@11 ~ d2@6 g#2@6", AB: "g2@12 f2@12 e2@12 d2@4 f2@3 ~ f#2@4",
  AC: "d2@12 c2@12 b1@12 a1@4 b1@3 ~ c#2@4", AD: "d2@3 c2@3 d2@3 f#2 g2 g#2", AE: "a2@20 ~@4 a2@15 ~ a2@4 g#2@4",
  AF: "g2@9 ~@3 g2@7 ~ d2@4 g2@12 a1@4 e2@2 ~@2 e2@4", AG: "d2@12 f#2@11 ~ g2@11 ~ g#2@12",
  AH: "a2@16 a1 ~@3 a1@3 ~ a1@3 ~ a1@2 ~@2 a1@5 ~@3 a1@4 c#2@3 ~", AI: "d2@11 ~ c2@10 ~@2 b1@11 ~ a1@4 b1@4 c#2@4",
  AJ: "d2@6 a1@6 d2@6 g#2@5 ~", AK: "g2@11 ~ g#2@11 ~", AL: "g2@5 ~ g2@5 ~ g2@6 a1@2 e2 ~ e2@2",
  AM: "d2@12 c2@12 b1@11 ~ a1@4 b1@4 c#2@4", AN: "d2@18 ~@2 d2 ~@3 d2@9 ~@3 d2@4 g2@4 g#2@4",
  AO: "a2@23 ~ a2@10 ~@2 a2@8 g#2@4", AP: "g2@10 ~@2 g2@11 ~ g2@10 ~@2 g2@12", AQ: "d2@19 ~ d2@3 ~ g2@12 g#2@10 ~@2",
  AR: "a2@8 a1@2 ~@2 a1@3 ~ a1 ~@3 a1@2 ~@2 a1@3 ~ a1@2 ~@2 a1@2 ~@2 a1@3 ~ a1@2 ~@2 a1@3 ~",
  AS: "d2@27 ~@5 d2 ~@3 g#2@12", AT: "g2@11 ~ g2@10 ~@2", AU: "d2@3 c2@3 b1@3 a1 b1 c#2", AV: "d2@12 g#2@11 ~",
  AW: "g2@11 ~ g2@12", AX: "d2@6 c2@6 d2@5 ~ d2@2 g2@2 g#2@2", AY: "a2@19 ~ e2@4 a2@12 e2@4 a2@4 g#2@4",
  AZ: "g2@11 ~ g2@10 ~@2 g2@10 ~@2 g2@12", BA: "d2 f#2 g2 g#2",
  BB: "a2@4 a1 ~@3 a1@2 ~@2 a1@3 ~ a1@2 ~@2 a1@2 ~@2 a1@3 ~ a1@2 ~@2 a1@2 ~@2 a1@3 ~ a1@2 ~@2 a1@3 ~",
  BC: "d2@22 ~@2 d2@11 ~ d2@2 ~@2 g#2@8", BD: "g2@11 ~ g2@6 ~@2 d2 ~@3 g2@10 ~@2 g2@11 ~",
  BE: "d2@9 ~@3 d2@11 ~ a1@12 c#2@12", BF: "d2@10 ~@2 d2@12 g#2@9 ~@3 g#2@11 ~",
  BG: "g2@19 ~ g2@2 ~@2 g#2@19 ~ g#2@2 ~@2", BH: "g2@12 f2@12 e2@12 d#2@11 ~", BI: "d2@3 b1@3 d2@3 f#2 g2 g#2",
  BJ: "a2@21 ~@3 a2@12 d2@4 g#2@8", BK: "g2@11 ~ g2@10 ~@2 g2@10 ~@2 g2@11 ~",
  BL: "a2@4 a1@2 ~@2 a1@2 ~@2 a1@3 ~ a1@2 ~@2 a1 ~@3 a1@3 ~ a1@2 ~@2 a1 ~@3 a1@2 ~@2 a1@2 ~@2 a1@2 ~@2",
  BM: "~@8 d2@2 ~@2 d2@8 b1@4 d2@8 b1@4 d2@7 ~ f#2@4", BN: "g2@3 f2@3 e2@3 a1 b1 c#2",
  BO: "d2@6 ~@2 d2 ~@3 d2@8 b1@4 d2@6 ~@2 d2 ~@3 b1@4 c2@3 ~ c#2@4",
  BP: "d2@6 ~@2 d2 ~@3 d2@8 b1@4 d2@6 ~@2 d2 ~@3 g#2@11 ~",
  BQ: "g2@7 ~ g2@4 f2@6 ~@2 f2@4 e2@5 ~@3 e2@4 d2@4 f2@4 f#2@4",
  BR: "g2@7 ~ g2@4 f2@6 ~@2 f2@4 e2@5 ~@3 e2@4 d#2@6 ~@2 d#2@4",
  BS: "d2@7 ~ d2@4 c2@6 ~@2 c2@4 b1@5 ~@3 b1@4 a1@4 b1@4 c#2@4", BT: "d2@3 ~ d2@2 c2@3 ~ c2@2 b1@6 f#2@2 g2@2 g#2@2",
  BU: "a2@4 e2@3 ~ a2@2 ~@2 a2@7 ~ e2@4 a2@12 d2@4 e2@4 f#2@4", BV: "g2@5 ~@19", BW: "g2@11 ~@37",
  BX: "~@7 d2 ~@3 d2@7 ~ b1@4 d2@7 ~ b1@4 d2@7 ~ d2@3 ~@2", BY: "[~@7 d2@2 ~@3 d2@6 ~ b1@4 d2@46 ~@27]/2",
})).s("gm_fretless_bass").gain(0.38)

// chords · rock organ · "ORGAN 3"
const rock_organ = note(`<
  ~ A B C@2 D E F@2 G H I J K L M N O P Q@2 R S T U V W X Y Z AA AB@2 AC AD AE AF AG AH AI AJ AK@3 AL AM AN AO AP AQ AR
  AS@2 AT AU AV@3 AW@2 AX@2 AY AZ BA BB BC BD@2 BE BF BG BH BI BJ BK BL BM@2 BN@2 BO BP BQ BR BS ~@2 BT BU@2
>`.pickRestart({
  A: "c4@37 ~@3 [c4,d#4]@7 ~", B: "d4", C: "[a4@7 [d#4,c5]]/2", D: "[d4,f4,b4] [d#4,f#4,c5]", E: "b4",
  F: "[a4@4 ~@3 a4, f#4, c4@3 d4, ~@12 c5@11 ~]/2", G: "[e4,g4]@11 [d#4,f#4,c5]", H: "[d4,b4]@47 ~",
  I: "[c4,f#4]@3 ~ f#4@2 ~@3 [f4,g#4]@3, a4 b4, ~ d4@2 ~", // Cdim Fm
  J: "~@8 g4@10 ~@2 [g4,a4,c#5]@8 [g4,a4,c#5]@7 ~ [g4,a4,c#5]@12, c#5@19 ~@29", // A7
  K: "[d4,f#4,a4,c5]@9 ~ [f#4,a#4,c5,d#5]@2", L: "[f4,a4,b4,d5]@37 ~@3 [f4,a4,b4,d5]@3 ~@5",
  M: "[d4,f#4,a4,c5]@6 ~@2 [d4,f#4,a4,c5]@4 ~@4 [d4,f#4,a4,c5]@7 ~ [d#4,g4,a#4,c#5]@6 ~@2 [d#4,g4,a#4,c#5]@3 ~@5 [g4,a#4,c#5,d#5]@8", // D7 D#7
  N: "[f#4,a4,c5,d5]@3 ~ [f#4,c5,d5]@2 ~@6 [f#4,a4,d5]@4 [f#4,c5,d5] ~@11 [f#4,a#4,c5,d#5]@7 ~ [f#4,a#4,c5,d#5,f#5]@7 ~ [f#4,a#4,c5,d#5,f#5]@3 ~, ~@4 c5 ~@11", // D7 D D7 Cm7b5
  O: "[g4,b4,d5,f5]@3 ~@9 [g4,d5,f5]@2 ~@6 [g4,b4,d5,f5,g5]@3 ~@5 [g#4,c5]@6 ~@2 [g#4,c5,d#5,f#5]@6 ~@2 [g#4,c5,d#5,f#5]@3 ~", // G7 G# G#7
  P: "[g4,b4,d5,f5,g5]@3 ~@5 [g4,b4,d5,f5,g5]@19 ~ [g4,b4,d5,g5] ~@7 [g4,d5,g5]@7 ~ [f#5,g5]@3 ~, ~@36 f#5 ~@7 g4 ~@3", // G7 G G5 Gmaj7
  Q: "[[f#4,a4,f#5]@12 e5@12 ~@3 a#4 [f#4,b4]@7 ~ [f#4,c5]@12 [d4,f#4,d5]@28 [f#4,c5,f#5] ~@7 [f#4,c5,f#5,a5]@4 ~@4 [f#4,c5,f#5,a5]@4, c5@24 ~@4 d4@19 ~@49, ~@12 d#5 ~@23 a4@41 ~@19]/2", // F#m B5 F#dim D F#dim
  R: "[a4,c#5,e5,g5]@39 ~ [a4,c#5,e5,g5,a5]@4 [g#4,c5,d#5,f#5,g#5]@3 ~", // A7 G#7
  S: "[g4,b4,d5,f5,g5]@7 ~@21 [g4,d5,g5]@4 [g4,b4,f5]@4 [g4,b4,f5]@4 [g4,a#4,d5]@8", // G7 G5 G7 Gm
  T: "[d4,f#4,a4,c5]@15 ~ [d4,f#4,a4,c5]@7 ~ [g4,b4,d5]@12 [g#4,b4,d5,f5]@11 ~, b4 ~@47", // D7 G G#dim
  U: "[a4,e5,g5]@36 [g4,c#5,e5,f#5,a5]@6 [e2,f2] b2 [c3,e3] [f3,g3] [a3,b3] ~, ~@21 [g2,a2] d3 c4", // A7 F#m7 Fmaj7 C Fsus2 Asus2 Gsus2
  V: "[c4,f#4]@35 ~@5 [f#4,a#4]@8", W: "[a4,d5]@27 ~ f4 ~@19", X: "~@2 [b4,e5] a4 c5 [a4,d5], d4@23 ~",
  Y: "[d4,b4,c5,e5]@7 ~ [d4,a4,d5]@8 [d4,b4,c5,e5]@8 [d4,f#4,a4,d5]@13 ~@3 [f#4,a#4,c5,d#5]@8", // Cmaj7 D5 Cmaj7 D Cm7b5
  Z: "[f4,g4,b4] ~@7 [a4,b4]@27 ~@5 [f4,b4,d5] ~@3 [f#4,a#4,c5,d#5]@4", // G7 Asus2 Bdim Cm7b5
  AA: "f4@2 ~@6 f4@19 ~ [f4,b4] ~@7 [f4,a4,b4,d5]@6 ~@2 [f#4,a#4,c5,d#5]@4, b4 ~@47", // Fdim Bm7b5 Cm7b5
  AB: "[d4 ~@7 [d4,f#4,c5]@20 [f#4,c5] ~@7 f#4@7 ~ f#4@19 ~ f#4 ~@7 d4@7 ~ f#4 ~@7 [f#4,c5] ~@7, ~@36 [d4,c5,d5]@29 ~@31]/2", // D7 F#dim D7
  AC: "~@4 [g4,a4] ~@7 [g4,a4,c#5,g5]@6 ~@2 a4@19 ~ [g4,a4,c#5,e5]@4 [f#4,g#4,c5,d#5]@4, ~@4 e5@2 ~@6 e5@27 ~@9", // Gsus2 A7 G#7
  AD: "[f4,g4,d5]@26 ~@2 [g4,b4,d5] ~@11 [b4,f5]@3 ~ [b4,f5]@4, ~@40 [f4,g4]@7 ~, ~@40 d5 ~@3 d5@2 ~@2", // G7 G Bdim Fsus2
  AE: "f#4@15 ~ [f#4,d5,f#5]@8 g5@4 [g4,b4,d5]@7 ~ [g#4,b4,f5]@4 [g#4,b4,d5]@7 ~, ~@4 a4 ~@7", // D G Fdim G#dim
  AF: "[a4,e5,g5]@3 ~ a4@11 ~ [g4,a4,c#5,e5] ~@7 [g4,a4,e5]@3 ~ [g4,a4,c#5,e5]@3 ~ [g4,a4,c#5,e5]@3 ~ [g4,a4,c#5,e5]@3 ~ [g4,a4,c#5,e5]@3 ~ [g4,a4,c#5,e5]@3 ~, c#5@5 ~@11", // A7
  AG: "[c5,d5,f#5,a5]@3 ~@9 [c5,d5,f#5,a5]@6 ~@2 a5 ~@19 [a4,d5,f#5]@3 ~ [a#4,c5,d#5]@3 ~, ~@40 c5 ~@7", // D7 D Cm7
  AH: "[b4,d5,f5]@12 ~@8 b4@18 ~@2 [f4,a4,b4,d5]@7 ~, g4@5 ~@7, ~@6 [f4,a4,d5]@13 ~@5", // Bdim Bm7b5 Dm
  AI: "f#4 ~@7 [f#4,a4,c5]@19 ~ [f#4,d5] ~@3 [f#4,c5,d5]@4 [f#4,c5]@4 a4 ~@3 f#4 ~@3, ~@12 a4 ~@3", // F#dim D D7 F#dim
  AJ: "[f#4,a4,d5]@4 [a4,c5] ~@3 f#4 ~@3 [f#4,a4,c5,d5]@15 ~ [f#4,a4,c5,d5,a5] ~@7 [c5,d5,f#5,a5]@2 ~@2 [g#4,c5,d#5,f#5]@3 ~ [g#4,c5,d#5,f#5]@3 ~, c5@3 ~@33 [f#4,a4] ~@11", // D Am D7 G#7 F#m
  AK: "[[g4,b4,d5,f5]@12 [g4,b4,d5,f5,g5] ~@7 [g4,d5,f5,g5] ~@3 [b4,d5,f5,g5] ~@7 [g4,b4,d5,f5,g5] ~@3 [g#4,c5,d#5,f#5]@4 [g#4,c5,d#5,f#5]@4 [b4,d5,f5]@21 ~@3 [b4,d5,f5]@6 ~@2 [b4,d5,f5] ~@3 [b4,d5,f5]@6 ~@2 [b4,d5,f5] ~@3 [b4,f5]@3 ~ [f#4,a4,c5,f#5]@34 ~@2 [f#4,a4,c5,d5,f#5,a5] ~@7 [f#4,a4,c5,d5,f#5,a5]@4, ~@24 g4@2 ~@18 g4@17 ~@7 g4 ~@11 g4 ~@11 d5@36 ~@16, ~@92 g4 ~@51]/3", // G7 G#7 Bdim F#dim D7
  AL: "[f#4,a4,d5]@15 ~ [f#4,a4,e5]@3 d#5 [f#4,a4,e5]@3 ~ [f#4,a4,c5,d5]@11 [d4,f4,g4,a4] [c4,d4,e4] [c3,a3,b3,c4] ~@8 [g5,a5] [b5,c6], c5@23 ~@13 [e3,f3]@3 [a3,b3]@2 [d4,e4]@2 a4@2 [e5,f5]@2 ~, ~@16 d#5 ~@19 d3@2 g3@2 c4@2 [f4,g4]@2 d5@2 ~@2", // D F#m7 D7 Dm C F Gsus2 Cmaj7 …
  AM: "[g5,a5,c#6,e6]@43 ~ [d#5,f#5,g#5,c6]@4", // A7 G#7
  AN: "[d5,f5,g5,b5]@19 ~ [d5,f5,g5,b5]@8 [d5,b5]@7 ~ [d5,f5,b5]@6 ~@2 [f5,g5] ~@3, ~@14 g5@7 ~@3", // G7 G Bdim Fsus2
  AO: "[a4,c5,f#5]@6 ~@2 [a4,c5,d5,f#5]@4 [a4,d5]@7 ~ [f#4,a4]@4 [g4,b4]@7 ~ [g4,b4]@4 [g#4,b4,f5]@7 ~ [g#4,b4,d5,f5]@4, ~@20 d5@11 ~ d5@11 ~@5", // F#dim D7 D5 F#m G Fdim G#dim
  AP: "[a4,c#5,e5,g5]@15 ~ [a4,c#5,e5,g5]@2 ~@6 [a4,c#5,e5,g5]@3 ~@5 [a4,c#5,e5,g5]@3 ~ [a4,e5,g5]@4 [a2,b2,a4] ~ e3 [f3,g3] [a3,b3,c4] [d4,e4,f4] [g4,a4,b4] c5, ~@36 c#5@3 ~ c3@2 ~@6, ~@41 d3@2 ~@5", // A7 Asus2 Fsus2 Am Dm G
  AQ: "[d5,f#5,a5,c6]@9 ~ [c5,d#5,f#5]@2", AR: "[b4,d5,f5]@37 ~@3 [b4,d5,f5,g5] ~@7",
  AS: "[[c5,d5,f#5,a5]@15 ~ [c5,d5,f#5,a5] ~@7 [c5,d5,f#5,a5]@9 ~@3 a4@4 [c5,d5,f#5,a5]@14 ~@2 [e5,f#5,b5]@3 ~ [e5,a5] ~@7 [a4,c5,e5,f#5,b5]@3 ~ [g#4,c5,d#5,f#5,g#5]@4 ~@4 [g#4,c5,f#5,g#5]@4 [g#4,c5,d#5,f#5]@11 ~, ~@28 c5@2 ~@10 d#5 ~@7]/2", // D7 Esus2 A5 F#m7b5 G#7
  AT: "[g4,b4,d5,f5]@16 [g4,d5,g5] ~@11 [g#4,c5,d#5,f#5]@7 ~ [g#4,c5,d#5,f#5]@7 ~ [g#4,c5,d#5,f#5]@3 ~", // G7 G5 G#7
  AU: "[g4,b4,d5,f5]@20 [g4,b4,d5,g5] ~@7 [g4,b4,d5,f5,g5]@7 ~ [g4,b4,d5,f5,g5]@7 ~ [g4,b4,d5,f5,g5]@4", // G7 G G7
  AV: "[[a4,c5,d5,f#5,a5]@11 ~ [a4,c5,d5,f#5]@11 ~ [a4,c5,d5,f#5,a5]@3 ~ [a4,c5,d5,f#5,a5]@3 ~ [a4,c5,d5,f#5,a5]@4 ~@4 [a4,d5,f#5]@3 ~ [a4,c5,d5,f#5,a5]@10 ~@9 g#5 [d5,a5,d6]@3 ~ [d5,a5,d6]@3 ~ [d5,f#5,b5,d6]@11 ~ [d5,f#5,c6]@12 [e5,g5,c#6]@26 ~@2 [e5,g5,a5,c#6] ~@7 [e5,g5,a5,c#6]@6 ~@2 [d#5,f#5,g#5,c6]@3 ~, ~@67 g#5@2 ~@15 a5@38 ~@22]/3", // D7 D D7 D5 Bm D7 C#dim A7 …
  AW: "[[d5,f5,g5,b5]@27 ~ [d5,f5,g5,b5] ~@6 f#5 [d5,g5]@4 [b4,f5]@7 ~ [f#4,a4,c5]@15 ~ [f#4,a4,d5,f#5]@8 [g4,b4,d5,g5]@12 [g#4,b4,d5,f5]@12, ~@40 d5@23 ~@33]/2", // G7 G5 Bdim F#dim D G G#dim
  AX: "[[a4,c#5,g5]@11 ~@9 a4@2 ~@2 [a4,c#5,e5,g5]@3 ~ [a4,c#5,e5,g5]@3 ~ [a4,c#5,e5,g5]@2 ~@2 [e5,g5] [e4,b4] [a3,b3,c4,d4,g4,a4] [f#3,g3] ~ a3 [b3,c4,d4] [e4,f4,g4] [a4,b4] e5 [f5,g5,a5] b5 [c6,d6,f#6]@11 ~ [c6,f#6]@12 [a5,d6]@12 [f#5,c6]@3 ~ [f#5,a#5]@8, ~@36 [a4,c#5]@2 ~ e3@2 ~@3 c5@2 ~@50, ~@45 d5@2 a6@11 ~@38]/2", // A7 Em E5 G Gmaj7 Bm Em Asus2 …
  AY: "[a5,b5] a5 ~ [a5,d6], ~@12 [g4,d5]@35 ~, ~@6 f5@11 ~ f5@4 ~@2, ~@24 b5@19 ~@5", // Asus2 D5 G5
  AZ: "[d5,f#5,c6]@35 ~ [c5,d5,f#5,a5,c6]@12", // D7
  BA: "[c5,d5,f#5,a5]@5 ~ [c5,d5]@4 [c5,d5] ~ [f#5,a5]@6 [f#5,a5] ~@3 [c5,d5] ~ [c5,d5,f#5,a5]@6 [f#5,a5] ~@3 [c5,d5] ~ [d#5,f#5]@3 ~ [c5,d#5,f#5]@8, ~@6 [f#5,a5] ~@41", // D7 Csus2 F#m Csus2 D7 F#m Csus2 D#m …
  BB: "[b4,d5,f5]@23 ~@5 [g#4,c5,d#5,f#5]@5 ~@3 [g#4,c5,d#5,f#5]@7 ~ [g#4,c5,d#5,f#5]@4, g4@5 ~@19", // Bdim G#7
  BC: "[g4,b4,d5,f5]@12 [b4,d5,f5]@5 ~ [b4,d5,f5] ~@3 g4 ~ [b4,d5,f5]@4 [g4,a4] ~ [b4,d5,f5,g5]@4 g4 ~ [b4,d5,f5,g5]@3 ~ [d5,f5,g5,b5]@4 [d5,f5,g5,b5]@3 ~, ~@6 g4@3 ~@11 a5 ~@3", // G7 Bdim Gsus2 G7
  BD: "[f#5@12 [c5,d5]@2 ~@6 [c5,e5,f#5]@2 ~@4 [a4,c5,e5,f#5] ~@5 [a4,c5,e5,f#5]@5 ~ [a4,c5,e5,f#5] ~@3 a4 ~ [a4,c5,e5,f#5]@3 ~ [a4,c5,d5,f#5]@5 ~ [a4,c5,d5,f#5] ~@3 a4 ~ [a4,c5,e5,f#5]@6 [a4,c5,e5,f#5] ~@3 a4 ~ [c5,d5,f#5]@3 ~ [a4,c5,d5,f#5]@7 ~ [a4,e5,f#5,b5]@4 [a4,e5,f#5,a5]@3 ~ [a4,e5,f#5,a5]@4, a5@33 a5@8 ~@7, c5@10 ~@10 a4 ~@75, d5 ~@83 c5@7 ~ c5@2 ~@2]/2", // Csus2 F#m7b5 D7 F#m7b5 D7 Asus2 F#m7
  BE: "[a4,c#5,e5,g5,a5]@23 ~ [a4,g5,a5,c#6]@11 ~ [a4,c#5,e5,g5,a5]@3 ~ [a4,c#5,e5,g5,a5]@4 [g#4,c5,d#5,f#5,g#5]@4", // A7 G#7
  BF: "[g4,b4,d5,f5,g5]@23 ~ [g4,b4,d5,f5,g5]@6 ~@6 [g4,b4,d5]@7 ~ [g4,d5,f5]@4, ~@18 g5@4 b4 ~", // G7 G G7
  BG: "[a4,c5,d5,f#5,a5]@7 ~ [a4,c5,d5,f#5,a5]@7 ~ [f#4,a4,d5,f#5]@7 ~ [g4,b4,d5,g5]@7 ~ [g4,b4,d5,g5]@4 [g#4,b4,d5,f5]@7 ~ [g#4,b4,f5]@4, ~@22 d5 ~", // D7 D G G#dim Fdim
  BH: "[a4,c#5,e5,g5]@3 ~ [e5,g5] ~@7 [a4,c#5,e5]@3 ~@5 a4@2 ~@2 [a4,c#5,e5,g5]@3 ~ e5@3 ~ [a4,c#5,e5,g5]@3 ~ [a4,c#5,e5,g5]@3 ~ [a4,c#5,e5,g5]@3 ~ [a4,c#5,e5,g5]@4, ~@12 g5@6 ~@10 a4 ~@19", // A7 Em A A7
  BI: "~@8 a#5 ~@3 [f#5,b5,d6]@6 ~@2 [f#5,b5]@3 ~ [a5,b5,d6]@5 f5 [d5,e5] [b4,c5] [f4,g4,a4] [d4,e4] c4 ~ [f#4,c5] ~@3 [d4,f#4,c5]@7 ~, [d4,f#4,c5]@5 ~@3, ~@12 a#5 ~@11 f#5@3 ~@21", // Bm B5 Bm7 Dsus2 Cmaj7 F Dsus2 F#dim …
  BJ: "~@7 a#5 [f5,b5,d6]@2 ~ a#5 [f5,b5,d6]@7 ~ [f5,a5,b5]@3 ~ [f5,a5,b5,d6]@5 e5 [c5,d5] [a4,b4] [f4,g4] [c4,d4,e4] [a3,b3] ~ [d4,f4,g4,b4]@3 ~ [d4,f4,g4,b4]@7 ~, [d4,f4,g4,b4]@31 ~@17", // Bdim Bm7b5 Csus2 Asus2 Fsus2 C Asus2 G7
  BK: "~@8 [f#5,a5,b5,d6]@2 ~@2 [f#5,a5,b5,d6]@6 ~@2 [f#5,a5,b5]@3 ~ [f#5,a5,b5,d6]@3 g5 f5 [d5,e5] [b4,c5] [f4,g4,a4] [d4,e4] [b3,c4] ~@2 [d4,c5]@4 [d4,f#4]@3 ~ [d4,f#4,a4]@3 ~, [d4,c5]@5 ~@3, f#4@15 ~@20 f#4@3 ~@10", // Bm7 B7 Bm7 Dsus2 Cmaj7 F Dsus2 Cmaj7 …
  BL: "~@7 a#5 [b5,d6]@2 ~@2 [f#5,b5,d6]@6 ~@2 [a4,f#5,a5,d6]@3 ~ [f#5,a5,b5,d6]@4 [d4,f#4,c5]@3 ~ [d4,f#4,c5]@2 ~@2 [d4,f#4] ~@3 [f#4,a#4,c5]@7 ~, d4@11 ~@13, [f#4,c5]@11 ~ [f#4,c5]@8 ~@16 c5@2 ~@10", // Bm D Bm7 D7 D Cm7b5 F#dim
  BM: "[~@7 a#5 [f5,b5,d6]@2 ~@2 f5@4 ~@4 [f5,a5]@3 a#5 ~@3 [a4,b4]@2 ~ [c5,d5,e5] [a4,b4] [f4,g4] [c4,d4,e4] ~@2 [f4,a4,b4,d5]@6 ~@9 a#5 [b5,d6]@4 ~@3 a#5 ~@4 [a4,b4,d5] ~@3 [a5,d6]@3 a#5 [f4,a4,b4,d5,b5,d6]@6 [d5,e5] [b4,c5] [f4,g4,a4] [c4,d4,e4] ~@2 [a4,b4,d5]@7 ~ [f4,a4,b4,d5]@3 ~, [f4,a4]@26 ~@18 f4@20 ~@19 f4@7 ~@6, [b4,d5]@12 [b5,d6]@10 ~@2 [f5,b5,d6]@6 ~@22 f5 ~@7 [f5,b5,d6]@7 ~ f5@10 ~@18, ~@12 a#5 ~@3 [b4,d5]@11 d5 ~@16 [a4,b4,d5]@11 ~ [a4,b4,d5]@7 ~@33]/2", // Bdim F Asus2 C Asus2 Fsus2 C Bm7b5 …
  BN: "[[f#4,c5]@6 ~ a#5 [f#4,b5,d6]@2 ~ a#5 ~@4 a5@2 ~@2 [d4,f#4,f#5,a5,d6]@4 [c5,f#5]@4 g5 [e5,f5] [c5,d5] [g4,a4,b4] [e4,f4] [c4,d4] ~@2 [d4,f#4,c5]@6 ~@2 [f#4,a4]@4 [f#4,c5]@8 [f#5,b5,d6]@3 ~@5 a4@3 ~ [f#4,a5,b5]@3 ~ [d4,f#4,a5,b5,d6]@6 f5 [c5,d5,e5] [a4,b4] [e4,f4,g4] d4 ~ d4 ~@3 [d4,f#4,c5]@4 c5@3 ~, d4@7 ~@5 [d4,f#4,c5,f#5,b5,d6]@7 ~ c5@2 ~@2 [d4,f#4,a5,b5,d6]@7 ~@13 d4@12 [a4,a5] ~@3 [d4,f#4,c5,f#5,a5,b5,d6]@7 ~@5 [c5,f#5]@4 ~@20]/2", // F#dim Bm D Cdim Fmaj7 Csus2 G Fmaj7 …
  BO: "[g4,a4,c#5]@9 ~@3 [g5,a5,c#6,e6]@7 ~ [g5,a5,c#6]@2 ~@2 [g4,a4,c#5,g5,a5,c#6,e6]@5 f5 [d5,e5] [b4,c5] [f4,g4,a4] [c4,d4,e4] ~@6 [g4,a4,c#5,e5,e6]@4 [g5,a5,c#6]@3 ~, ~@20 [a4,c#5] ~@19 [g5,a5]@3 ~@5", // A7 Dsus2 Cmaj7 F C A7 A Gsus2
  BP: "[f4,a4,b4,d5,f5,a5,b5,d6] ~@7", BQ: "[f4,b4,f5,a5,b5,d6] ~@5", BR: "[f4,b4,f5,a5,b5,d6]@7 ~@41",
  BS: "[f4,b4,f5,a5,b5,d6]@5 e5 d5 c5 b4 a4 g4 [e4,f4] d4 c4 b3 a3 g3 [e3,f3] d3 c3 b2 [g2,a2] f2 e2 ~@24", // Bm7b5 Fmaj7 Gsus2
  BT: "~@7 a#5 [d5,d6]@2 ~@2 [d5,f#5,a5,b5,d6]@6 ~@2 [d5,a5,b5]@2 ~@2 [d5,f#5,a5,b5,d6]@5 ~@2 a#5 [d5,b5] ~@2 a#5 [d5,f#5,b5,d6]@7 ~ [d5,f#5,a5,b5]@2 ~@2, ~@8 b5 ~@39", // D Bm7 G Bm Bm7
  BU: "[~@7 a#5 [f#5,d6]@2 ~ a#5 [d5,f#5,b5,d6]@8 [d5,f#5] ~@2 c#6 ~@4 d5@54 ~@14, ~@8 [d5,b5] ~@11 a5@2 ~@2 [c6,d6]@58 ~@14, ~@8 f6 ~@23, ~@25 f#6@55 ~@16]/2", // D Bm D G Csus2
})).s("gm_rock_organ").gain(0.22).pan(0.4)

// chords · rock organ · "ORGAN 3" · soft notes
const rock_organ_soft = note(`<
  ~ A B C@2 ~ D ~@2 E F G H ~@3 I J K L ~ M ~@2 N O P Q R S T U@2 V W X Y Z ~ AA AB AC ~@2 AD ~@2 AE AF ~@2 AG AH AI AJ
  AK AL ~@3 AM ~ AN ~ AO AP ~@3 AQ ~@2 AR AS ~ AT AU AV AW AX AY AZ ~@6 BA ~@2
>`.pickRestart({
  A: "[f#4,a4]@38 ~@2 f#4@7 ~", B: "[b3,f4]", C: "[[c4,f#4]@7 f#4]/2", D: "[d4,f4]", E: "c#5@11 ~", F: "f4@47 ~",
  G: "~@2 g4 ~", H: "a4@3 ~@5, g4@7 ~@41", I: "~@2 a4 ~@21", J: "~@6 [b4,g5] ~@7 [d#5,f#5]@3 ~@7", K: "~@22 d5 ~",
  L: "~@12 [f#4,a4]@13 ~@23", M: "a5@19 ~@5", N: "c#5@35 ~@13", O: "~@40 d#5@7 ~",
  P: "f4@27 ~ [a4,d5] ~@7 [f4,a4,d5]@12", Q: "c5@24 d5@7 ~ [b4,e5]@8 ~@8, f#4@23 ~, a4 ~@2",
  R: "f#4@7 ~ f#4@7 ~ f#4@7 ~@25", S: "[a4,d5] ~@7 [f4,d5]@27 ~@5 a4 ~@7",
  T: "d5@2 ~@6 [a4,b4,d5]@19 ~ [a4,d5] ~@19, a4 ~@47", // Bm7 D5
  U: "[[f#4,a4,d5] ~@7 [a4,d5]@19 ~ [a4,d5] ~@7 a4@27 ~ [a4,c5,d5] ~@7 [f#4,a4,c5,d5]@6 ~@2 [a4,c5,d5] ~@7 [a4,d5] ~@7]/2", // D D5 D7 D5
  V: "~@4 c#5 ~@15 [g4,c#5]@19 ~@9", W: "b4@13 ~@11", X: "[a4,d5]@14 ~@10 [g4,b4]@3 ~@21",
  Y: "~@4 e5@11 ~@9 c#5@3 ~@21", Z: "~@20 [c5,d5,f#5] ~@23 f#5@3 ~", AA: "[a4,c5] ~@31 a4@3 ~@5 c5 ~@7",
  AB: "~@28 f#5 ~@19", AC: "~@20 b4 ~@27", AD: "f#5@15 ~@19 b4 ~@3 d4 ~@5 c5@2 ~@2, ~@43 b4@2 ~@3", AE: "d5 ~@7",
  AF: "~@20 [c#5,g5] ~@3", AG: "~@32 [c5,f#5] ~@15", AH: "~@12 f#5 ~@35", AI: "~@16 [b4,f5] ~@31", AJ: "~@20 f5 ~@27",
  AK: "~@40 [c5,a5]@3 ~@5", AL: "~@4 [c5,d5,f#5,a5]@3 ~ [c5,d5,f#5] ~@39, ~@4 a4 ~@19",
  AM: "e5@11 ~ [a4,c#5,e5,g5]@3 ~ [a4,c#5,e5,g5]@3 ~ [c#5,e5,g5]@2 ~@19 g3 ~@6", AN: "f5@11 ~@37",
  AO: "~@4 [c5,d5]@3 ~@9", AP: "~@10 g4@13 ~@25", AQ: "~@12 e5@5 ~@7",
  AR: "~@16 [c#5,e5]@3 ~ [c#5,e5]@3 ~@5 [c#5,g5]@2 ~@18", AS: "~@8 [f#5,b5,d6] ~@20 g5 ~@18",
  AT: "~@16 f#4@14 ~@10 c5@3 ~@5", AU: "~@4 f#5 ~@19", AV: "~@9 f4 ~@6", AW: "~@8 f5@3 ~@37", AX: "~@40 a4 ~@7",
  AY: "~@20 [d4,f#5]@2 ~@7 g5 ~@18", AZ: "~@16 a4 ~@3 g4 ~@7 g5 ~@19", BA: "~@4 f#5 ~@5 f#5 ~@5 d6 ~@7, ~@32 f#5 ~@15",
})).s("gm_rock_organ").gain(0.11).pan(0.4)

// other · alto sax
const alto_sax = note(`<
  ~@26 A@2 B C D@2 E F@2 G H@2 I J@2 K@2 L M N@2 O P Q@2 R S ~ T ~ U V W X Y@2 Z ~ AA AB@2 AC@3 AD AE AF AG AH AG AI AJ
  AH AK AL AM AN ~@5 AO AP AQ
>`.pickRestart({
  A: "[~@33 b3 ~@2 d4@3 ~@3 d4@10 ~@44]/2", B: "~@21 b3 ~ d4 ~@2 e4@2 d4@7 ~@2 a#3@4 d4 ~@2 b3@4",
  C: "b3@4 b3@2 ~ g#3@2 g3 ~@3 g3@6 ~@29", D: "[~@12 f3@2 g3 ~@2 a3@19 c4@2 ~@2 d4@5 ~@2 f4@4 a4 ~ f4@5 ~@38]/2",
  E: "~@10 a3 b3 ~ d4 ~ c#4@4 a3 b3 ~ a#3 ~",
  F: "[a#3@2 ~@2 a3@11 ~@22 c4@5 ~@5 c4@2 ~ c#4@2 ~@2 d4@6 ~@2 c4 ~@2 g3@4 f3 ~ g3@5 ~ f3 ~ g3@2 a3 ~@14]/2",
  G: "~@11 a3",
  H: "[d4@2 ~@2 d4@2 ~@2 d4@2 ~@2 d4@2 b3 ~ d4 ~ f4@5 ~@12 b4@4 ~ a4 ~ g4@2 a4 ~ f4@5 d4 ~ b3 ~@34 b4@8]/2",
  I: "~@3 a4@2 ~@2 b4@2 ~ a4@2 ~ g4@2 f4@3 d4 ~ b3@2 ~@26",
  J: "[~@47 d5@12 ~ b4@2 d5@2 b4@6 ~ a4@2 b4 ~ a4@7 ~@2 e4@2 a4 ~ e4@5 ~@3]/2",
  K: "[~@28 g4 ~@2 g4@2 ~@2 g4@2 ~ a4@3 ~ d5@2 ~@2 g4@14 ~@2 e4@4 d4 ~ e4 ~@4 d4@7 ~@16]/2", L: "~@37 b4@11",
  M: "~@4 a4@2 ~@3 b4@2 ~ b4@2 a4@2 ~ g4@2 ~ f4@3 d4 ~ c4 ~@3 f4 ~ c4 ~@2 d4@8 ~@6",
  N: "[~@4 c4@25 d4 ~ e4@2 ~@4 g#4@3 ~@3 g4@3 ~ g#4@2 ~@2 g4@16 ~ f4 g4 ~@2 g#4@2 ~@2 f4@2 ~@18]/2",
  O: "~@44 d4@2 f4 ~",
  P: "g#4@2 a4@4 g4 ~@3 d4 ~ g#4@2 a4@3 ~ g4 ~@5 g#4@2 a4@3 ~ g4@2 f4 ~ d4 ~ b3@2 d4 b3@2 ~@3 a3@3 d4",
  Q: "[d4@12 ~@35 c#4@14 ~@4 c4@2 b3 ~@3 d3@2 e3@2 ~@21]/2", R: "~@13 f3@3",
  S: "~@2 d4@2 ~ f#3@2 ~ f3@2 ~@3 d4@2 ~ e3 ~@6 d3@2 d4@2 ~ c3 ~@2 c#3 ~@3 d3@10 ~@3",
  T: "~@3 e4@4 ~@3 e4 ~@3 e4@4 ~@2 e4@2 ~@2 d4 ~ d4@2 ~@2 b3@4 ~@14",
  U: "~ b4@12 ~@3 a4@2 ~@2 b4 ~@2 c5@2 ~ d5@2 c5 ~@2 b4@2 ~ a4@9 ~@5", V: "~@2 f4@2 g4 ~@2 a4@4 g4 ~ f4 ~@3 d4@9 ~@22",
  W: "~@3 g4@10 f4@4 d4 c4 ~@3 g3@4 ~ g3@2 ~ d3@2 f3@3 ~@13", X: "~@40 e3@2 ~ a3@3 d4@2",
  Y: "[~ d4@9 ~@4 d4 ~@3 f4@5 a4@2 b4 d5 ~ b4@3 a4 ~ f4@3 d4 ~ b3@3 ~ g#3@2 ~ a#3 d4 d4@11 ~@38]/2",
  Z: "~@7 g4@25 ~ f4@4 e4@4 d4@7",
  AA: "g4@3 f4 g4@2 ~@2 g4@2 f4 ~ g4@3 ~ g4@2 ~ f4 g4@2 f4 ~ a4@2 ~ d5@6 ~ e5@3 ~@2 a4@2 ~ g4 ~ f4@2 d4 ~, ~@19 b4 ~@4",
  AB: "[~ a3@2 d4@10 ~@34 g#4@2 ~@2 g#4@9 f4 ~ g4 a4 ~@2 d4@7 b3 ~@22]/2",
// … 113 more lines

More by B.B. King