Strudelify
Hey Nineteen cover art

Gaucho

Hey Nineteen

Steely Dan

KeyA majorTempo120 bpm
0:00/0:00
// Hey Nineteen — Steely Dan
// 120 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 6/4 at bar 9, 4/4 at bar 10, 6/4 at bar 32, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 11 "FLUTE" flute (copy of ch 1 "FR.HORN" french horn); ch 12 "SYNBRASS 1" synth brass 1 (copy of ch 3 "CLARINET" clarinet); ch 5 "STR/HARMON" synth strings 1 (copy of ch 7 "STR/HARMON" synth strings 1); ch 5 "STR/HARMON" harmonica (copy of ch 7 "STR/HARMON" harmonica); ch 8 "A.PIANO 1" piano (copy of ch 6 "A.PIANO 2" piano)
// note: Full arrangement: all 193 bars on a 16-step grid, each part at one level. 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.

// bass · fretless bass · "FRETLESS"
const bass = note(`<
  ~ A B A C D E F G H I H J H K L K H I H M H N O P Q R S R T U V W X W Y W Z W AA W X W AB AC AD AE AF AG AH AG AI AJ
  AK AL AM AN AO AP AQ AR AS AT AU H I H AV H AW L AX H I H J H I H AX AY AZ H BA BB BC BD BE AY AZ H BA BB BC BD BE H
  AZ H BA BD BF O P Q R S R T U V W X W BG W BH W BI W X W BG W BH W BI W X BJ BK W BL W BM BN BM BJ BK W BL W BM BN BM
  W BK W BL BO BP AE AF AG AH AG AI AJ AK AL BQ H I H BR BS BT BU BV H I H BR BS BT BU BV H I H BR BS BT BU BV H I H BR
  BS BT BU BW
>`.pickRestart({
  A: "f#2 ~@7 a2 ~ a2@3 ~ f#2 ~", B: "b2@5 ~@3 g#2 ~ b2 ~ c#3 ~ f#3 ~", C: "b2@4 ~@2 g#2 ~ g#2 ~ b2 ~@3 c#3 ~",
  D: "a2@5 ~@3 a2 ~ a2 ~ c#3 ~ a2 ~", E: "d3@5 ~@3 g2 ~ g2@3 ~ d3 ~", F: "f#2@5 ~@3 c#3 ~ c#3@3 ~ c#3 ~",
  G: "a2@4 ~@2 a2 ~ d3 ~@7", H: "f#2 ~ f#2 ~@3 f#2 ~ g2 ~@7", I: "a2 ~ a2 ~@3 c#3 ~ d3 ~@7",
  J: "d3 ~ d3 ~ b2 ~ a2 ~ d3 ~@7", K: "a2 ~ a2 ~ b2 ~ a2 ~ d3 ~@7", L: "f#2 ~ f#2 ~@3 f#2 ~ g2 ~@3 g2@3 ~",
  M: "a2 ~ a2 ~ d3 ~ d3 ~@9", N: "a2 ~ a2 ~@3 a#2 ~ b2@4 ~@2 b2 ~", O: "c#3@4 ~@2 c#3 ~ g2@4 ~@2 g2 ~",
  P: "c#3@4 ~@2 c#3 ~ f#2@3 ~@5", Q: "a2 ~ a2@3 ~ f#2 ~ b2@3 ~@3 f#2 ~", R: "g#2 ~ b2 ~ c#3 ~ f#3 ~ f#2@3 ~@5",
  S: "a2 ~ a2@3 ~ f#2 ~ b2@3 ~@3 b2 ~", T: "a2 ~ a2 ~ c#3 ~ a2 ~ d3@4 ~@2 d3 ~", U: "g2 ~ g2 ~ d3 ~ g2 ~ f#2@5 ~@3",
  V: "c#3@7 ~ a2@3 ~ c#3 ~ a2 ~", W: "d3 ~@7 f#2 ~ f#2 ~@3 f#2 ~", X: "g2 ~@7 a2 ~ a2 ~@3 c#3 ~",
  Y: "g2 ~@7 d3 ~ d3 ~ b2 ~ a2 ~", Z: "g2 ~@7 a2 ~ a2 ~ b2 ~ a2 ~", AA: "g2 ~@3 g2@3 ~ a2 ~ a2 ~ b2 ~ a2 ~",
  AB: "g2 ~@7 a2 ~ a2 ~ d3 ~ d3 ~", AC: "~@8 f#2 ~ f#2 ~@3 f#2 ~", AD: "g2 ~@7 a2 ~ a2 ~@3 a#2 ~",
  AE: "b2@4 ~@2 b2 ~ c#3@4 ~@2 c#3 ~", AF: "g2@4 ~@2 g2 ~ c#3@4 ~@2 c#3 ~", AG: "f#2@3 ~@5 a2 ~ a2@3 ~ f#2 ~",
  AH: "b2@3 ~@3 f#2 ~ g#2 ~ b2 ~ c#3 ~ f#3 ~", AI: "b2@3 ~@3 b2 ~ g#2 ~ b2 ~ c#3 ~ f#3 ~",
  AJ: "f#2@3 ~@5 a2 ~ a2 ~ c#3 ~ a2 ~", AK: "d3@4 ~@2 d3 ~ g2 ~ g2 ~ d3 ~ g2 ~", AL: "f#2@5 ~@3 c#3@7 ~",
  AM: "a2@3 ~ c#3 ~ a2 ~ e3@4 ~@2 e3 ~", AN: "b2 ~ b2@3 ~ b2 ~ e3@4 ~@2 b2 ~", AO: "e3 ~@3 e3@3 ~ c3@5 ~@3",
  AP: "g2 ~ g2 ~ a#2@3 ~ c3@4 ~@2 g2 ~", AQ: "c3@3 ~ f2@3 ~ a#2@5 ~@3", AR: "f3 ~ f3@3 ~ a#3 ~ a#2@5 ~@3",
  AS: "f3 ~ a#3@3 ~ a3 ~ a2@5 ~@3", AT: "e3 ~ e3@3 ~ a3 ~ a2@5 ~@3", AU: "e3 ~ a3@5 ~ d3 ~@7",
  AV: "~@2 c#3 ~ a2 ~ d3 ~ d3 ~@7", AW: "a2 ~ a2 ~@3 e3 ~ d3 ~@7", AX: "a2 ~ a2 ~ c3 ~ c#3 ~ d3 ~@7",
  AY: "f#2@3 ~ f#2@3 ~ g2 ~@7", AZ: "a2 ~ a2 ~ c#3@3 ~ d3 ~@7", BA: "c#3@3 ~ b2 ~ a2 ~ d3 ~@7",
  BB: "f#2 ~ f#2 ~@3 f#2 ~ g2@5 ~@3", BC: "a2 ~ a2@3 ~ c#3 ~ d3@5 ~@3", BD: "f#2 ~ f#2@3 ~ f#2 ~ g2@5 ~@3",
  BE: "a2 ~ a2@3 ~ c#3 ~ d3 ~@7", BF: "a2 ~ a2@3 ~ a2 ~ b2@4 ~@2 b2 ~", BG: "g2 ~@7 d3 ~ d3 ~@3 a2 ~",
  BH: "g2 ~@5 b2 ~ a2@3 ~ c#3@3 ~", BI: "g2 ~ d3 ~ g3@3 ~ a3@3 ~ a2@3 ~", BJ: "d3 ~@7 f#2@3 ~ f#2@3 ~",
  BK: "g2 ~@7 a2 ~ a2 ~ c#3@3 ~", BL: "g2 ~@7 c#3@3 ~ b2 ~ a2 ~", BM: "g2@5 ~@3 a2 ~ a2@3 ~ c#3 ~",
  BN: "d3@5 ~@3 f#2 ~ f#2@3 ~ f#2 ~", BO: "d3 ~@7 f#2 ~ f#2@3 ~ f#2 ~", BP: "g2@5 ~@3 a2 ~ a2@3 ~ a2 ~",
  BQ: "a2@3 ~ c#3 ~ a2 ~ d3 ~@7", BR: "d3 ~ d3 ~@3 a2 ~ d3 ~@7", BS: "f#2 ~ f#2 ~@3 f#2 ~ g2 ~@5 b2 ~",
  BT: "a2@3 ~ c#3@3 ~ d3 ~@7", BU: "f#2 ~ f#2 ~@3 f#2 ~ g2 ~ d3 ~ g3@3 ~", BV: "a3@3 ~ a2@3 ~ d3 ~@7",
  BW: "a3@3 ~ a2@3 ~@9",
})).s("gm_fretless_bass").gain(0.24).pan(1)

// chords · clarinet
const clarinet = note(`<
  ~@25 A B A C ~@19 D@2 E@2 ~@28 F G F H I J@2 ~ F G F H I J@2 ~ F G F K I J@2 ~ A L A M ~@21 N@2 O@2 P@3 ~ N@2 O@2 P@3
  ~ N@2 Q@2 P@3 ~ R@2 S@2 ~@36
>`.pickRestart({
  A: "~@4 [e4,g#4,b4] ~ [f#4,a4,c#5]@5 ~ [e4,g#4,b4]@3 ~", // E F#m E
  B: "[b3,e4,g#4] ~ [b3,e4,g#4] ~ [b3,e4,g#4] ~ [c#4,f#4,a4]@3 ~ [c#4,f#4,a4] ~@5", // E F#m
  C: "[b3,e4,g#4]@3 ~ [b3,e4,g#4] ~ [c#4,e4,a4]@3 ~@7", // E A
  D: "[~@12 [e4,g#4,b4] ~ [f#4,a4,c#5]@5 ~ [e4,g#4,b4]@3 ~ [b3,e4,g#4] ~ [b3,e4,g#4] ~ [b3,e4,g#4] ~ [c#4,f#4,a4]@2]/2", // E F#m E F#m
  E: "[~@2 [c#4,f#4,a4] ~@9 [e4,g#4,b4] ~ [f#4,a4,c#5]@5 ~ [e4,g#4,b4]@3 ~ [b3,e4,g#4]@3 ~ [b3,e4,g#4] ~ [c#4,e4,a4]@2]/2", // F#m E F#m E A
  F: "~@4 [a3,d4,f#4] ~ [b3,e4,g4]@5 ~ [a3,d4,f#4]@3 ~", G: "[g3,c#4,e4]@5 ~@11",
  H: "[a3,c#4,e4]@3 ~ [g3,b3,d4] ~ [f#3,a3,c#4] ~@9", // A G F#m
  I: "[d4,f#4,a4] ~@3 [a3,d4,f#4] ~ [b3,e4,g4]@5 ~ [a3,d4,f#4] ~ [g3,c#4,e4]@2", // D Em D C#dim
  J: "[~@2 [g3,c#4,e4] ~ [g3,c#4,e4] ~ [f#3,a3,d4]@13 ~@13]/2", K: "[g3,c#4,e4]@3 ~ [g3,b3,d4] ~ [f#3,a3,c#4] ~@9",
  L: "[b3,e4,g#4]@3 ~ [b3,e4,g#4] ~ [c#4,f#4,a4]@3 ~ [c#4,f#4,a4] ~@5", // E F#m
  M: "[b3,e4,g#4]@3 ~ [b3,e4,g#4] ~ [c#4,f#4,a4]@3 ~@7", // E F#m
  N: "[~@12 [a3,d4,f#4] ~ [b3,e4,g4]@5 ~ [a3,d4,f#4]@3 ~ [g3,c#4,e4]@5 ~@3]/2", // D Em D C#dim
  O: "[~@12 [a3,d4,f#4] ~ [b3,e4,g4]@5 ~ [a3,d4,f#4]@3 ~ [a3,c#4,e4]@3 ~ [g3,b3,d4] ~ [f#3,a3,c#4] ~]/2", // D Em D A G F#m
  P: "[~@8 [d4,f#4,a4] ~@3 [a3,d4,f#4] ~ [b3,e4,g4]@5 ~ [a3,d4,f#4] ~ [g3,c#4,e4]@3 ~ [g3,c#4,e4] ~ [g3,c#4,e4] ~ [f#3,a3,d4]@13 ~@5]/3", // D Em D C#dim D
  Q: "[~@12 [a3,d4,f#4] ~ [b3,e4,g4]@5 ~ [a3,d4,f#4]@3 ~ [g3,c#4,e4]@3 ~ [g3,b3,d4] ~ [f#3,a3,c#4] ~]/2", // D Em D C#dim G F#m
  R: "[~@12 [e4,g#4,b4] ~ [f#4,a4,c#5]@5 ~ [e4,g#4,b4]@3 ~ [b3,e4,g#4]@3 ~ [b3,e4,g#4] ~ [c#4,f#4,a4]@2]/2", // E F#m E F#m
  S: "[~@2 [c#4,f#4,a4] ~@9 [e4,g#4,b4] ~ [f#4,a4,c#5]@5 ~ [e4,g#4,b4]@3 ~ [b3,e4,g#4]@3 ~ [b3,e4,g#4] ~ [c#4,f#4,a4]@2]/2", // F#m E F#m E F#m
})).s("gm_clarinet").gain(0.24).pan(0.6)

// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note(`<
  A B C D E@2 ~ F G H I@2 J K L@2 M N O@2 P ~ Q R S ~@3 T U V W X Y Z ~ AA AB AC AD AE AF AG AH AI ~ AJ AK ~@3 AL AM AN
  F AO ~@137
>`.pickRestart({
  A: "~@2 c#4@12 b3 a3", B: "c#4 ~@15", C: "~@2 c#5@4 b4 a4 c#5 ~@3 a4 ~@3",
  D: "b4@2 a4 ~ f#4 ~ f#4@3 ~ e4 ~ b3 ~ a3 ~", E: "[b3@2 c#4 ~ f#4 ~ c#4 ~ b3@3 ~ a3 ~ f#3@13 ~@5]/2",
  F: "~@4 [e3,a3,c#4]@3 ~ [e3,g#3,b3]@7 ~", G: "[e3,g3,a3]@5 ~@11", H: "~@4 [f#3,a3,d4] ~@3 [b3,d4]@3 ~ g4@3 ~",
  I: "[[g3,c#4,e4]@3 ~ [b3,d4,g4]@3 ~ [a3,d4,f#4]@11 ~@13]/2", J: "~@12 [d3,f#3,a3]@3 ~",
  K: "~@4 [f#3,a3,c#4,e4]@3 ~@5 [g3,b3,d4]@3 ~", // F#m7 G
  L: "[[c#4,e4]@3 ~ g4@3 ~ f#3 ~ a3 ~ b3 ~ [d4,f#4]@7 ~@7 [a3,c4,f4]@3 ~]/2", // C#m D F
  M: "[b3,d4,g4]@4 ~@2 f#4 ~ e4 ~ d4 ~ b3 ~ a3 ~", N: "e3@5 ~@7 [g3,b3,d4]@3 ~",
  O: "[[g3,e4]@3 ~ g4@3 ~ f#4 ~ a4 ~ d4@9 ~@3 [g3,b3]@3 ~ d4 ~@3]/2", P: "[a3,c#4]@3 ~ e4 ~@3 [f#3,a3,d4] ~@7",
  Q: "~@8 [a3,d4,f#4]@5 ~@3", R: "[b3,e4,g#4]@5 ~@3 [d4,f#4,b4]@5 ~@3", S: "[b3,e4,a4]@5 ~@11",
  T: "g#3 ~ b3 ~ c4 ~ c#4 ~ f#3 ~@7", U: "[g#4,b4,e5]@5 ~@3 [e4,a4,c#5]@5 ~@3",
  V: "[b3,e4,f4,a4]@5 ~@7 [e3,a3,c#4]@3 ~", W: "[e3,g#3,b3]@7 ~@5 [c4,e4]@2 [c#4,f4] ~", X: "~@12 [f#3,a3,d4] ~@3",
  Y: "[b3,d4]@3 ~ g4@3 ~ [g3,c#4,e4]@3 ~ [b3,d4,g4]@3 ~", Z: "[a3,d4,f#4]@11 ~@5",
  AA: "~@4 [d3,f#3,a3]@3 ~@5 [f#3,a3,c#4,e4]@3 ~", AB: "~@4 [g3,b3,d4]@3 ~ [c#4,e4]@3 ~ g4@3 ~",
  AC: "f#3 ~ a3 ~ b3 ~ [d4,f#4]@7 ~@3", AD: "~@4 [a3,c4,f4]@3 ~ [b3,d4,g4]@4 ~@2 f#4 ~",
  AE: "e4 ~ d4 ~ b3 ~ a3 ~ e3@5 ~@3", AF: "~@4 [g3,b3,d4]@3 ~ [g3,e4]@3 ~ g4@3 ~", AG: "f#4 ~ a4 ~ d4@9 ~@3",
  AH: "[g3,b3]@3 ~ d4 ~@3 [a3,c#4]@3 ~ e4 ~@3", AI: "[f#3,a3,d4] ~@15", AJ: "[a3,d4,f#4]@5 ~@3 [b3,e4,g#4]@5 ~@3",
  AK: "[d4,f#4,b4]@5 ~@3 [b3,e4,a4]@5 ~@3", AL: "~@8 g#3 ~ b3 ~ c4 ~ c#4 ~", AM: "f#3 ~@7 [g#4,b4,e5]@5 ~@3",
  AN: "[e4,a4,c#5]@5 ~@3 [b3,e4,f4,a4]@5 ~@3", AO: "~@4 [c4,e4]@2 [c#4,f4] ~@9",
})).s("gm_electric_guitar_clean").gain(0.24).pan(0.7)

// other · overdriven guitar · "CLEAN GTR"
const overdriven_guitar = note("<~@57 A B C@2 D@2 ~@130>".pickRestart({
  A: "~@11 a4 c5 ~ a#4 ~", B: "a#4@3 ~ g4 ~ a#4 ~ a#4 ~ c5 ~ g4@3 ~", C: "[f4@3 ~ g4@3 ~ f4@11 ~@13]/2",
  D: "[~@10 b5 ~ d6 ~ f#6@13 ~@5]/2",
})).s("gm_overdriven_guitar").gain(0.28).pan(0.7)

// chords · electric guitar jazz · "CLEAN GTR"
const electric_guitar_jazz = note(`<
  ~@62 A B C D ~ E@2 F@2 G H I@2 J@2 K L M ~@7 N@2 O P@2 Q R@4 S@3 Q T U V@2 W X Y Z AA AB AC AD AE AF AC AD AF AG AC AD
  AF AH AC AD AF AH AC AD ~@8 AI@2 AJ@2 AK AL AM@2 AN@4 AK AL AO@2 AP AQ AR AQ AS AT AU AV AW AX AY AZ AW BA BB BC AW BA
  BD BE AW BA BD BE AW BF BG@2 AW BA BH BI AW BA BD BE AW BA BD BJ
>`.pickRestart({
  A: "~@12 e5 ~ d5 ~", B: "[c4,e4,g4]@2 [d4,f#4,b4] ~ d5 ~@3 f#4 ~ a4 ~@5", C: "~@8 [g3,b3]@3 ~ d4 ~@3",
  D: "[a3,c#4]@3 ~ e4 ~@3 [f#3,a3,d4]@3 ~@5", E: "[[c#4,e4]@3 ~ g4@3 ~ f#3 ~ a3 ~ b3 ~ [d4,f#4]@7 ~@11]/2",
  F: "[[c#4,e4]@3 ~ g4@3 ~ f#4 ~ a4 ~ d4@9 ~@7 [a3,c4,f4]@3 ~]/2", G: "[b3,d4,g4]@4 ~@2 f#4 ~ e4 ~ d4 ~ b3 ~ a3 ~",
  H: "e3@5 ~@3 [b3,d4]@3 ~ g4@3 ~", I: "[[g3,c#4,e4]@3 ~ [b3,d4,g4]@3 ~ [a3,d4,f#4]@11 ~@13]/2",
  J: "[[c#4,e4]@3 ~ g4@3 ~ [a3,d4,f#4]@11 ~@5 [g3,b3]@3 ~ d4 ~@3]/2", K: "[a3,c#4]@3 ~ e4 ~@3 [f#3,a3,d4] ~@7",
  L: "~@8 e4 ~@7", M: "f#4 ~ f#4 ~@3 f#4 ~@9", N: "[~@8 a4@21 ~@3]/2", O: "e4@3 ~ a4@3 ~ g4@3 ~ f#4 ~ a3@2",
  P: "[~@2 b3 [b3,c#4] a3@15 ~@5 f#4@5 ~@3]/2", Q: "e4@5 ~@3 d4@5 ~@3",
  R: "[e4@5 ~@7 f#4 ~ f#4@5 ~ e4 ~ e4@5 ~ d4 ~ c#4@5 ~ e4@3 ~ a4@21 ~@3]/4", S: "[c#5@3 ~ e5 ~ a4@29 ~@5 f#4@5 ~@3]/3",
  T: "e4@5 ~@7 b3 ~ d4 ~", U: "f#4 ~ f4 ~ e4@9 ~@3",
  V: "[c#5 ~ c5 ~ b4@3 ~ a4@11 ~@5 [a3,b3,d4,f#4]@3 ~ [a3,b3,d4,f#4]@3 ~]/2", // Bm7
  W: "[g#3,b3,c#4,e4]@3 ~ [g#3,b3,c#4,e4]@3 ~ [f#3,a3,c#4,e4]@3 ~ [f#3,a3,c#4,e4]@3 ~", // C#m7 F#m7
  X: "[e3,a3,c#4]@3 ~ [e3,a3,c#4]@3 ~ [a3,b3,d4,f#4]@3 ~ [a3,b3,d4,f#4]@3 ~", // A Bm7
  Y: "[g#3,b3,c#4,e4]@3 ~ [g#3,b3,c#4,e4]@3 ~@9", Z: "[g#4,b4,e5]@5 ~@3 [e4,a4,c#5]@5 ~@3",
  AA: "[b3,e4,f#4,a4]@5 ~@7 [c#4,e4,a4]@3 ~", AB: "[b3,e4,g#4]@7 ~ [g3,c4,e4]@5 ~@3",
  AC: "[d4,f#4] ~@5 [d4,f#4] ~@3 d4 ~ b3 ~ a3 ~", AD: "[d4,f#4] ~@11 [d4,g4]@3 ~",
  AE: "[b3,d4,g4]@3 ~ [b3,d4,g4]@3 ~ [g3,a3,c#4,e4]@3 ~ [g3,a3,c#4,e4]@3 ~", // G A7
  AF: "[a3,d4,f#4]@3 ~ [a3,d4,f#4]@3 ~ [f#3,a3,c#4,e4]@3 ~ [f#3,a3,c#4,e4]@3 ~", // D F#m7
  AG: "[a3,c4,f4]@3 ~ [f3,a3,c4]@3 ~ [b3,d4,g4]@3 ~ [b3,d4,g4]@3 ~", // F G
  AH: "[g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [g3,a3,c#4,e4]@3 ~ [g3,a3,c#4,e4]@3 ~", AI: "[a4@21 ~@3 e4@3 ~ a4@3 ~]/2",
  AJ: "[g4@3 ~ f#4 ~ a3@3 ~ b3 [b3,c#4] a3@15 ~@5]/2", AK: "f#4@5 ~@3 e4@5 ~@3", AL: "d4@5 ~@3 e4@5 ~@3",
  AM: "[~@4 f#4 ~ f#4@5 ~ e4 ~ e4@5 ~ d4 ~ c#4@5 ~ e4@3 ~]/2", AN: "[a4@21 ~@3 c#5@3 ~ e5 ~ a4@29 ~@5]/4",
  AO: "[~@4 b3 ~ d4 ~ f#4 ~ f4 ~ e4@9 ~@3 c#5 ~ c5 ~ b4@3 ~]/2", AP: "a4@11 ~@5",
  AQ: "[a3,b3,d4,f#4]@3 ~ [a3,b3,d4,f#4]@3 ~ [g#3,b3,c#4,e4]@3 ~ [g#3,b3,c#4,e4]@3 ~", // Bm7 C#m7
  AR: "[f#3,a3,c#4,e4]@3 ~ [f#3,a3,c#4,e4]@3 ~ [e3,a3,c#4]@3 ~ [e3,a3,c#4]@3 ~", AS: "~@8 [g#4,b4,e5]@5 ~@3",
  AT: "[e4,a4,c#5]@5 ~@3 [b3,e4,f#4,a4]@5 ~@3", AU: "~@4 [c#4,e4,a4]@3 ~ [b3,e4,g#4]@7 ~",
  AV: "[g3,c4,e4]@5 ~@3 [d4,f#4] ~@5 [d4,f#4] ~", AW: "~@2 d4 ~ b3 ~ a3 ~ [d4,f#4] ~@7",
  AX: "~@4 [d4,g4]@3 ~ [b3,d4,g4]@3 ~ [b3,d4,g4]@3 ~", // G5 G
  AY: "[g3,a3,c#4,e4]@3 ~ [g3,a3,c#4,e4]@3 ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4]@3 ~", // A7 D
  AZ: "[f#3,a3,c#4,e4]@3 ~ [f#3,a3,c#4,e4]@3 ~ [d4,f#4] ~@5 [d4,f#4] ~", // F#m7 D
  BA: "~@4 [d4,g4]@3 ~ [a3,d4,f#4]@3 ~ [a3,d4,f#4]@3 ~", // G5 D
  BB: "[f#3,a3,c#4,e4]@3 ~ [f#3,a3,c#4,e4]@3 ~ [a3,c4,f4]@3 ~ [f3,a3,c4]@3 ~", // F#m7 F
  BC: "[b3,d4,g4]@3 ~ [b3,d4,g4]@3 ~ [d4,f#4] ~@5 [d4,f#4] ~", // G D
  BD: "[f#3,a3,c#4,e4]@3 ~ [f#3,a3,c#4,e4]@3 ~ [g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~", // F#m7 G
  BE: "[g3,a3,c#4,e4]@3 ~ [g3,a3,c#4,e4]@3 ~ [d4,f#4] ~@5 [d4,f#4] ~", BF: "~@4 [d4,g4]@3 ~@9",
  BG: "[[c#4,e4]@3 ~ g4@3 ~ f#3 ~ a3 ~ b3 ~ f#4@7 ~@3 [d4,f#4] ~@5 [d4,f#4] ~]/2", // C#m D
  BH: "[f#3,a3,c#4,e4]@3 ~ [f#3,a3,c#4,e4]@3 ~ [a3,c#4,f#4]@3 ~ [f3,a3,c4]@3 ~", // F#m7 F#m F
  BI: "[b3,d4,g4]@3 ~ [b3,d4,f#4]@3 ~ [d4,f#4] ~@5 [d4,f#4] ~", BJ: "[g3,a3,c#4,e4]@3 ~ [g3,a3,c#4,e4]@3 ~@9",
})).s("gm_electric_guitar_jazz").gain(0.24).pan(0.7)

// chords · piano · "A.PIANO 2"
const piano = note(`<
  A B@4 C D E F ~ G ~ H ~ I J K ~ L ~ M N O P Q R S R T U V W X ~ X Y ~ Z AA AB ~ Z X Y AC Z AD AE B@4 C D E AF AG AH
  AI@2 AJ AK AL@2 ~ L ~ H ~ L J K ~ L ~ H ~ L ~ AM AN AO AN AP AQ AR AS AT AN AO AN AP AQ AR AS AT AN AM AN AP AQ AU P
  AV R S R T U V W X Z X Y ~ Z X AB X Z X Y ~ Z X Z AW AX AY@2 AZ@2 BA@3 BB AY@2 AZ@2 BA@3 BB BC@2 AZ@2 BD@3 BE B@4 C D
  E F ~ L ~ H ~ L J BF ~ L ~ H ~ L ~ L BG L BH BI BJ BK BL BM BN L BO BP BQ L BR BS
>`.pickRestart({
  A: "c#4 ~@15", B: "[~@4 [a4,c#5,e5] ~@7 [e4,g#4,b4] ~ [d4,f#4,a4]@7 ~@3 [b3,e4,g#4]@5 ~@3]/2",
  C: "~@4 [e4,a4,c#5]@3 ~ [e4,g#4,b4]@5 ~@3", D: "[c#4,f#4,a4]@5 ~@3 [f3,a3,b3,e4]@5 ~@3",
  E: "~@4 [c#4,e4,a4]@3 ~ [b3,e4,g#4]@7 ~", F: "[g3,c4,e4]@5 ~@6 f4 [f#4,a4,d5] ~@3", G: "~@11 f4 [f#4,a4,d5] ~@3",
  H: "c#5@3 ~ a4@3 ~@9", I: "[a3,c#4,e4]@5 ~@7 d4 ~@3", J: "~@12 [f3,a3,c4]@3 ~", K: "[g3,b3,d4]@5 ~@11",
  L: "[a3,c#4,e4]@5 ~@6 f4 [f#4,a4,d5] ~@3", M: "c#5@3 ~ a4@3 ~@4 f4 [f#4,a4,d5] ~@3", N: "~@2 f4 ~@13",
  O: "[a3,c#4,e4]@5 ~@3 [a3,c#4,e4]@5 ~@3", P: "[b3,e4,g#4]@5 ~@3 [d4,f#4,b4]@5 ~@3",
  Q: "[b3,e4,a4]@5 ~@7 [a4,c#5,e5] ~@3", R: "~@4 [e4,g#4,b4] ~ [d4,f#4,a4]@7 ~@3",
  S: "[b3,e4,g#4]@5 ~@7 [a4,c#5,e5] ~@3", T: "[b3,e4,g#4]@5 ~@7 [e4,a4,c#5]@3 ~",
  U: "[e4,g#4,b4]@5 ~@3 [c#4,f#4,a4]@5 ~@3", V: "[f3,a3,b3,e4]@5 ~@7 [c#4,e4,a4]@3 ~",
  W: "[b3,e4,g#4]@7 ~ [g3,c4,e4]@5 ~@3", X: "~@3 f4 [f#4,a4,d5] ~@11", Y: "~@8 c#5@3 ~ a4@3 ~",
  Z: "~@8 [a3,c#4,e4]@5 ~@3", AA: "~@4 d4 ~@11", AB: "~@4 [f3,a3,c4]@3 ~ [g3,b3,d4]@5 ~@3",
  AC: "~@3 f4 [f#4,a4,d5] ~@5 f4 ~@5", AD: "[a3,c#4,e4]@5 ~@3 [b3,e4,g#4]@5 ~@3",
  AE: "[d4,f#4,b4]@5 ~@3 [b3,e4,a4]@5 ~@3", AF: "[g3,c4,e4]@5 ~@11",
  AG: "[b3,e4,g4] ~ [b3,e4,g4] ~ [a3,d4,f#4] ~ [b3,e4,g4]@3 ~ [b3,e4,g4]@3 ~ [a3,d4,f#4] ~", // Em D Em D
  AH: "[b3,e4,g4]@3 ~ [a3,d4,f#4]@3 ~ [a#3,d#4,g4]@5 ~@3", AI: "[~@2 g4@3 ~ d5@3 ~ c5@3 ~ g5@7 ~@11]/2",
  AJ: "[c4,f4,a4] ~ [c4,f4,a4] ~ [a#3,d#4]@2 [c4,f4,a4]@3 ~ [c4,f4,a4]@3 ~ [a#3,d#4,g4] ~, ~@4 g4 ~@11", // F D#5 F D#
  AK: "[c4,f4,a4]@3 ~ [a#3,d#4,g4]@3 ~ [g3,b3,d4,f#4]@5 ~@3", AL: "[~@2 a4@3 ~ a5@3 ~ a6@11 ~@11]/2",
  AM: "[a3,c#4,e4]@5 ~@7 [d4,f#4,a4] ~@3", AN: "~@4 [a3,d4,f#4] ~ [b3,e4,g4]@5 ~ [a3,d4,f#4]@3 ~",
  AO: "[g3,c#4,e4]@5 ~@7 [d4,f#4,a4] ~@3", AP: "[a3,c#4,e4]@3 ~ [g3,b3,d4] ~ [f#3,a3,c#4] ~@5 [d4,f#4,a4] ~@3",
  AQ: "~@4 [a3,d4,f#4] ~ [b3,e4,g4]@5 ~ [a3,d4,f#4] ~ [g3,c#4,e4]@2", // D Em D C#dim
  AR: "~@2 [g3,c#4,e4] ~ [g3,c#4,e4] ~ [f#3,a3,d4]@7 ~@3", AS: "[f#3,a3,d4] [g3,b3,e4]",
  AT: "[g3,c#4,e4]@8 ~@4 [d4,f#4,a4] ~@3", AU: "~@2 [g3,c#4,e4] ~ [a3,c#4,e4] ~ [f#3,a3,d4]@7 ~@3",
  AV: "[b3,f4,c#5]@5 ~@7 [a4,c#5,e5] ~@3", AW: "~@3 f4 [f#4,a4,d5] ~@3 [a4,c#5] ~@2 a4 f#4 ~@2 e5",
  AX: "[b4,d5,g5] ~@7 [a3,c#4,e4]@5 ~@3", // G A
  AY: "[~@4 [d4,f#4,a4] ~@7 [a3,d4,f#4] ~ [b3,e4,g4]@5 ~ [a3,d4,f#4]@3 ~ [g3,c#4,e4]@5 ~@3]/2", // D Em D C#dim
  AZ: "[~@4 [d4,f#4,a4] ~@7 [a3,d4,f#4] ~ [b3,e4,g4]@5 ~ [a3,d4,f#4]@3 ~ [a3,c#4,e4]@3 ~ [g3,b3,d4] ~ [f#3,a3,c#4] ~]/2", // D Em D A G F#m
  BA: "[~@4 [d4,f#4,a4] ~@7 [a3,d4,f#4] ~ [b3,e4,g4]@5 ~ [a3,d4,f#4] ~ [g3,c#4,e4]@3 ~ [g3,c#4,e4] ~ [g3,c#4,e4] ~ [f#3,a3,d4]@7 ~@3 [f#3,a3,d4]@8]/3", // D Em D C#dim D
  BB: "[g3,b3,e4] [g3,c#4,e4]", // Em C#dim
  BC: "[~@4 [d4,f#4,a4] ~@7 [a3,d4,f#4] ~ [b3,e4,g4]@5 ~ [a3,d4,f#4]@3 ~ [a3,c#4,e4]@5 ~@3]/2", // D Em D A
  BD: "[~@4 [d4,f#4,a4] ~@7 [a3,d4,f#4] ~ [b3,e4,g4]@5 ~ [a3,d4,f#4] ~ [g3,c#4,e4]@3 ~ [g3,c#4,e4] ~ [a3,c#4,e4] ~ [f#3,a3,d4]@7 ~@3 [b3,e4,g#4]@5 ~@3]/3", // D Em D C#dim A D E
  BE: "[d4,f#4,b4]@5 ~@3 [b3,f4,c#5]@5 ~@3", BF: "[g3,b3,d4]@5 ~@6 f4 [f#4,a4,d5] ~@3",
  BG: "[a4,c#5] ~@2 a4 f#4 ~@2 e5 [b4,d5,g5] ~@7", BH: "[a4,c#5,e5]@3 ~@5 f#5@3 ~ d5@4",
  BI: "c#5@3 ~ a4@3 ~ f#5 ~ d5 ~ a4 ~ d5 ~", BJ: "e5 ~ c#5 ~ a4 ~ c#5 ~ [b4,d5,g5]@5 ~@3",
  BK: "[a3,c#4,e4]@5 ~@6 f4 [f#4,a4,d5] ~ [f#4,a4,d5] ~", BL: "e5 c#5 a4 e5 c#5 a4 f#4 e5 ~@4 [f3,a3,c4]@3 ~",
  BM: "[g3,b3,d4]@5 ~@6 f4 [f#4,a4,d5] ~@2 f#4", BN: "[a4,c#5,e5]@5 ~@3 d5@2 b4 ~ g4 ~@3",
  BO: "e5 [a4,c#5] f#4 [a4,c#5] [f#4,a4,c#5,e5] ~@3 [b4,d5,g5]@5 ~@3", // A F#m7 G
  BP: "[c#5,e5]@3 ~ [a4,c#5]@3 ~@4 g4 [a4,d5,f#5] ~@3", BQ: "f#4@2 ~ a4 c#5@2 ~ e5 d5 ~ b4 ~ g4 f#4 [g4,b4,d5] ~",
  BR: "f5@2 d5 ~@5 d5 g5 b4 d5 [b4,d5,g5] ~@3", BS: "[a3,c#4,e4]@5 ~@11",
})).s("gm_piano").gain(0.35).pan(0.8)

// chords · synth strings 1 · "STR/HARMON"
const synth_strings_1 = note("<~@56 A B@2 ~ C D@2 ~@24 E@2 F G@2 H I@4 J@3 H K L M ~@89>".pickRestart({
  A: "[b4,e5,g5] ~ [b4,e5,g5] ~ [a4,d5,f#5] ~ [b4,e5,g5]@3 ~ [b4,e5,g5]@3 ~ [a4,d5,f#5] ~", // Em D Em D
  B: "[[b4,e5,g5]@3 ~ [a4,d5,f#5]@3 ~ [a#4,d#5,g5]@11 ~@13]/2", // Em D D#
  C: "[c5,f5,a5] ~ [c5,f5,a5] ~ [a#4,d#5,g5] ~ [c5,f5,a5]@3 ~ [c5,f5,a5]@3 ~ [a#4,d#5,g5] ~", // F D# F D#
// … 165 more lines

More by Steely Dan