Strudelify
Half a Minute cover art

1990

Half a Minute

Matt Bianco

KeyF majorTempo104 bpm
0:00/0:00
// Half a Minute — Matt Bianco
// 104 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 101 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(104/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(`<
  ~@2 A B C D E F G H G I C J K L C B M N O P Q R K S T U T V C W C B K F K X Y Z AA AB AC AD K AE K F K AF K AG AH AI K
  AJ AK AL M AM AN AO G AP T F AH AQ K AR T AS AT AU K AV K AW AX V AX AY AX AZ BA BB BA BC BD BE BF BG BH@2 ~@7
>`.pickRestart({
  A: "f2@2 ~ f2 c2@2 ~ f2@2 ~@2 c2@2 ~ b1@2", B: "bb1@2 ~ bb1 f2@2 ~ bb1@2 ~@2 db2@3 c2@2",
  C: "f2@2 ~ f2 c2@2 ~ f1 ~@3 c2@3 b1@2", D: "bb1 ~@2 bb1 f2@2 ~ bb1@2 ~@2 d2@3 c2@2",
  E: "f2@2 ~ f2 c2@2 ~ f2@2 ~@2 c2@3 b1@2", F: "bb1@2 ~ bb1 f2@2 ~ bb1@2 ~@2 c2@3 d2@2",
  G: "f2@2 ~ f2 c2@2 ~ f2 ~@3 c2@3 b1@2", H: "bb1@2 ~ bb1 f2@2 ~ bb1@2 ~@2 g2@3 gb2@2",
  I: "bb1 ~@2 bb1 f2@2 ~ bb1 ~@3 db2@3 c2@2", J: "bb1@2 ~ bb1 f2@2 ~ bb1@2 ~@2 d2@3 c2@2",
  K: "f2@2 ~ f2 c2@2 ~ f1@2 ~@2 c2@3 b1@2", L: "bb1 ~@2 bb1 f2@2 ~ bb1 ~@3 d2@3 c2@2",
  M: "eb2@2 ~ eb2 bb1@2 ~ bb1 eb2@2 ~ bb1@3 eb2@2", N: "b1@2 ~ b1 gb1@2 ~ gb1 b1@2 ~ b1 gb1@2 b1 ~",
  O: "e2@2 ~ e2 b1@2 ~ e1@3 ~ b1@3 e1@2", P: "c2@2 ~ c2!3 ~ c2 c2@5 ~@3", Q: "f2@2 ~ f2 c2@2 ~ f2 ~@3 c2@3 b1 ~",
  R: "bb1@2 ~ bb1 f1@2 ~ bb1@2 ~@2 c2@2 ~ d2 ~", S: "bb1 ~@2 bb1 f2@2 ~ bb1 ~ bb1 ~@2 c2@2 d2@2",
  T: "f2 ~@2 f2 c2@2 ~ f1@2 ~@2 c2@3 b1@2", U: "bb1@2 ~ bb1 f2@2 ~ bb1 ~@3 bb1 g2@2 gb2@2",
  V: "bb1@2 ~ bb1 f2@2 ~ bb1 ~@3 c2@3 d2@2", W: "bb1@2 ~ bb1 f2@2 ~ f2 bb1@2 ~ c2@3 b1@2",
  X: "bb1@2 ~ bb1 f2@2 ~ bb1@2 ~@2 f2@3 bb1@2", Y: "eb2 ~@2 eb2 bb1@2 ~ bb1 eb2@2 ~ bb1@2 ~ eb2@2",
  Z: "b1@2 ~ b1 gb1@2 ~ gb1 b1@3 gb1@3 b1 ~", AA: "e2@2 ~ e2 b1@2 ~ e1@3 ~ b1@2 e1 b1 ~",
  AB: "c2 ~@2 c2!2 c2@2 c2 c2@4 ~@4", AC: "f2@2 ~ f2 c2@2 ~ f2 ~@3 c2@2 ~ b1 ~",
  AD: "bb1@2 ~ bb1 f2 ~@2 bb1@2 ~@2 c2@3 d2@2", AE: "bb1@2 ~ bb1 f2@2 ~ bb1@2 ~@2 b1@3 c2@2",
  AF: "bb1@2 ~ bb1 f2@2 ~ bb1@3 ~ b1@2 c2 d2 ~", AG: "bb1@2 ~ bb1 f2@2 ~@2 bb1@2 ~ c2@2 d2 c2@2",
  AH: "f2@2 ~ f2 c2@2 ~ f1@3 ~ c2@3 b1@2", AI: "bb1@2 ~ bb1 f2@2 ~@2 bb1@2 ~ ab2@3 g2@2",
  AJ: "bb1@2 ~ bb1 f2@2 ~ bb1@3 ~ ab2@3 g2@2", AK: "f2 ~@2 f2 c2@2 ~ f1@3 ~ f2@3 c2 ~",
  AL: "bb1@2 ~ bb1 f2@2 ~ bb1@4 c2@3 bb1@2", AM: "b1@2 ~ b1 gb1@2 ~ gb1 b1@3 gb1@3 b1@2",
  AN: "e2@2 ~ b1@2 ~ b1 ~ e1@3 b1@2 e1 b1@2", AO: "c2@2 ~ c2!3 ~ c2 c2@4 ~@4",
  AP: "bb1@2 ~ bb1 f2@2 ~ bb1 ~@3 c2@3 bb1@2", AQ: "bb1@2 ~ bb1 f2@2 ~ bb1 ~@3 d2@3 c2@2",
  AR: "bb1@2 ~ bb1 f2@2 ~ bb1@3 ~ c2@2 d2 ab2 g2", AS: "bb1@2 ~ bb1 f2@2 ~ bb1 ~@3 c2@2 ~ c2@2",
  AT: "f2@2 ~ f2 c2@2 ~ f1@2 ~@3 c2@2 b1@2", AU: "bb1@2 ~ bb1 f2@2 ~ bb1@2 ~@2 ab2@3 g2@2",
  AV: "bb1@2 ~ bb1 f2@2 ~ bb1 ~@3 c2@3 d2 ~", AW: "bb1@2 ~ bb1 f2@3 bb1@2 ~@2 bb1 c2 bb1 d2@2",
  AX: "f2@2 ~ f2 c2@3 f1@2 ~@2 c2@3 b1@2", AY: "bb1@2 ~ bb1 f2@2 ~ bb1 ~@4 c2@2 bb1@2",
  AZ: "bb1@2 ~ bb1 f2@3 bb1 ~@3 ab2@3 g2@2", BA: "f2@2 ~ f2 c2@3 f1 ~@3 c2@3 b1@2",
  BB: "bb1 ~@2 bb1 f2@2 ~ bb1 ~@3 bb1 c2 bb1 d2@2", BC: "bb1 ~@2 bb1 f2@2 ~ bb1 ~@4 c2@2 d2@2",
  BD: "f2 ~@2 f2 c2@3 f1 ~@3 c2@3 b1@2", BE: "bb1 ~@2 bb1 f2@3 bb1 ~@4 db2@2 c2@2",
  BF: "f2@2 ~ f2 c2@3 f1 ~@4 c2@2 b1@2", BG: "bb1 ~@2 bb1 f2@3 bb1 ~@4 c2@2 d2@2",
  BH: "[f2@2 ~ f2 c2@3 f1@2 ~@3 f1 e1 d1 f1@13 ~@4]/2",
})).s("gm_fretless_bass").gain(0.57)

// chords · epiano1 · "E.PIANO"
const epiano1 = note(`<
  ~@2 A B C D E F G H I J K L M N O P Q R S T E U V W X Y C Z AA AB AC AD AE AF AG@2 AH AI AJ AK A AL AM AN A AO C AP AQ
  AR AS AT AU AV AW@2 AX AY AZ BA A BB BC BD A BD C BE E BD C BF E BD BC BG BH BI BJ BK BL BK BM BN BO BP BM BQ BR BQ
  BS@2 ~@7
>`.pickRestart({
  A: "[a4,c5,e5] ~@2 [a4,c5,f5] [a4,c5,e5] [a4,c5,f5] ~ [a4,c5,e5] ~ [f4,a4,c5]@4 ~@3", // Am F Am F Am F
  B: "~@7 f4@7 ~@2, ~@3 f3@11 ~@2, ~@2 a3@5 ~, ~@5 bb3@9 ~@2, ~@3 d4@4 ~",
  C: "[a4,c5,e5] ~ [a4,c5,f5] ~ [a4,c5,e5] [a4,c5,f5] ~ [a4,c5,e5] ~ [f4,a4,c5]@5 ~@2", // Am F Am F Am F
  D: "~@2 [a3,bb3,d4] f3 [a3,bb3,d4]!2 ~ [a3,bb3,d4]@7 ~@2, ~@3 f3@4 ~", // Bbmaj7
  E: "[a4,c5,e5] ~@2 [a4,c5,f5] [a4,c5,e5] [a4,c5,f5] ~ [a4,c5,e5] ~ [f4,a4,c5]@5 ~@2", // Am F Am F Am F
  F: "~@3 f3 [a3,bb3,d4]!2 ~ [a3,bb3,d4]@7 ~@2, ~@3 f3@4 ~", // Bbmaj7
  G: "[a4,c5,e5] ~ [a4,c5,f5] ~ [a4,c5,e5] [a4,c5,f5] ~ [a4,c5,e5] ~ [f4,a4,c5]@6 ~", // Am F Am F Am F
  H: "~@2 [a3,bb3,d4,f4] f3 [a3,bb3,d4,f4]!2 ~ [a3,bb3,d4,f4]@6 ~@3, ~@3 f3@4 ~", // Bbmaj7
  I: "f4@2 ~@2 a3@3 ~, f3@15 ~, [a3,c4]@3 c4@4 ~, ~@2 e4@5 ~", // Am
  J: "~@2 [f3,ab3,bb3,d4] ~@2 [f3,ab3,bb3,d4] ~@2 [f3,ab3,bb3,d4]@5 ~@3", // Bb7
  K: "~@3 a3@8 [f3,a3,c4,e4]@3 ~@2, [f3,g4]@11 ~@5, ~ e4@10 ~@5, ~@2 c4@9 ~@5", // Fmaj7 Fsus2
  L: "~@2 [f3,ab3,bb3,d4] ~@2 [f3,ab3,bb3,d4]@9 ~@2", M: "f4@2 ~@4 g4@7 ~@3, [f3,a3,c4]@13 ~@3, ~ e4@6 ~",
  N: "[ab3,bb3,d4]!2 ~ [ab3,bb3,d4]@9 ~@4, ~ f3@6 ~", // Bb7
  O: "~@5 c4@2 a3, f3@15 ~, ~ a3@12 ~@3, ~ c4@2 e4@4 ~, ~@3 g4@10 ~@3", P: "[f3,ab3,bb3,d4]@3 ~",
  Q: "[g3,bb3,c4,eb4,g4]@15 ~", R: "[gb3,b3,eb4,gb4]@7 ~",
  S: "~@4 ab4@9 ~@3, e3@13 ~@3, ~ ab3@12 ~@3, ~ b3@6 ~, ~@3 eb4@10 ~@3",
  T: "[g3,bb3,d4,f4] ~@2 [g3,bb3,d4,f4]!2 [g3,bb3,d4,f4]@2 ~ [g3,c4,e4]@6 ~@2", // Gm7 C
  U: "~ [ab3,c4,db4,f4]@6 ~ [d4,f4]@4 [c4,e4]@3 ~, ~@8 [g3,bb3]@7 ~", // Dbmaj7 Dm C Gm
  V: "[a4,c5,e5] ~ [a4,c5,f5] ~ [a4,c5,e5] [a4,c5,f5] ~ [a4,c5,e5] ~ [f4,a4,c5]@7", // Am F Am F Am F
  W: "[ab3,c4,db4,f4]@4 [d4,f4]@2 [c4,e4] ~, ~@8 [g3,bb3]@7 ~", // Dbmaj7 Dm C Gm
  X: "[a4,c5,e5] ~@2 [a4,c5,f5] [a4,c5,e5] [a4,c5,f5] ~ [a4,c5,e5] ~ [f4,a4,c5]@7", // Am F Am F Am F
  Y: "[ab3,c4,db4,f4]@7 ~ [bb3,d4,f4]@4 [bb3,c4,e4]@2 ~@2, ~@4 g3@3 ~", // Dbmaj7 Bb C7
  Z: "~ [ab3,c4,db4,f4] ~@2 [ab3,c4,db4,f4]@3 ~ [bb3,d4,f4]@4 [bb3,c4,e4]@3 ~, ~@8 g3@7 ~", // Dbmaj7 Bb C7
  AA: "~@3 g4@5 ~@3 c4@3 a3@2, f3@7 ~, a3@3 ~, ~ c4@6 ~@9, ~@2 e4@5 ~ e4@6 ~@2",
  AB: "f3@2 [ab3,bb3,d4] ~ f3 bb3 ~ f3@7 ~@2, ~@5 [ab3,d4]@8 ~@3, ~@6 bb3@7 ~@3", // Bb7 Abdim
  AC: "~@3 g4@8 ~ [a3,c4,e4]@3 ~, [f3,a3,c4,e4]@11 f3@5", // Am Fmaj7
  AD: "~@2 f3@6 ~ bb2 [f3,ab3,bb3,d4]!2 ~ bb2 [f3,ab3,bb3,d4] ~, [ab3,bb3,d4]@9 ~@7", // Bb7
  AE: "~@3 g4@4 ~@4 c4@3 ~@2, [f3,a3]@15 ~, [c4,e4]@4 e4@3 ~", // F C
  AF: "[f3,ab3,bb3,d4]@2 ~ [f3,ab3,bb3,d4]@5 ~ [f3,ab3,bb3,d4] ~@2 [f3,ab3,bb3,d4] ~@3", // Bb7
  AG: "[[f3,a3,c4,e4] [c4,e4]@8 ~@3 a3@2 ~@2 [ab3,bb3,d4]@8 ~ [f3,ab3,bb3,d4] ~@2 [f3,ab3,bb3,d4] ~@3, ~ [f3,a3]@10 c4@3 f3@10 ~@8, ~@9 g4@5 ~@18, ~@5 e4@2 ~@9]/2", // Fmaj7 C Bb7 F
  AH: "[c3,g3,bb3,c4,eb4]@11 ~ [g3,bb3,c4,eb4]@3 ~, ~@11 c3@3 ~@2", // Cm7
  AI: "gb3@3 ~@2 b3@3, [b3,eb4] gb4, ~@7 gb3@8 ~, ~@9 eb4@7", // B
  AJ: "~@5 ab4@9 ~@2, ~ e3@13 ~@2, ~ ab3@6 ~, ~@3 b3@11 ~@2, ~@2 eb4@5 ~",
  AK: "[g3,bb3,d4,f4] ~@2 [g3,bb3,d4,f4]!2 [d4,f4]@3 [c4,e4]@5 ~@3, ~@5 [g3,bb3]@7 ~@4, ~@8 f4 ~@7", // Gm7 Dm C Gm
  AL: "~ [ab3,c4,db4,f4] ~@2 [ab3,c4,db4,f4]@3 ~ [d4,f4]@4 [c4,e4]@2 ~@2, ~@4 [g3,bb3]@3 ~", // Dbmaj7 Dm C Gm
  AM: "[a4,c5,e5] ~ [a4,c5,f5] ~ [a4,c5,e5] [a4,c5,f5] ~ [a4,c5,e5] ~ [f4,a4,c5]@3 ~@4", // Am F Am F Am F
  AN: "~@2 [ab3,b3,c4,db4,f4] ~@2 [ab3,c4,db4,f4] ~@2 [g3,bb3,d4,f4]@4 [g3,bb3,c4,e4]@2 ~@2", // Db7 Dbmaj7 Gm7 C7
  AO: "[ab3,c4,db4,f4]!2 ~ [ab3,c4,db4,f4] ~ [ab3,c4,db4,f4] ~@2 [g3,bb3,d4,f4]!2 ~@2 [g3,bb3,c4,e4]@2 ~@2", // Dbmaj7 Gm7 C7
  AP: "~ [ab3,c4,db4,f4] ~@2 [ab3,c4,db4,f4]@3 ~ [bb3,d4,f4]@3 ~ [bb3,c4,e4]@2 ~@2, ~@4 g3@3 ~", // Dbmaj7 Bb C7
  AQ: "[f3,a3,c4,f4]@11 f3@5", AR: "[ab3,bb3,d4,f4]@8 ~ [ab3,bb3,d4,f4] ~@2 [ab3,bb3,d4,f4]@3 ~",
  AS: "~@3 e4@10 ~@3, f3@13 ~@3, ~ a3@12 ~@3, ~@2 c4@11 ~@3",
  AT: "[f3,ab3,bb3,d4,f4]@9 [ab3,bb3,d4,f4] ~@2 [ab3,bb3,d4,f4]@2 ~@2, ~@11 f3@3 ~@2", AU: "[f3,a3,c4,f4]@7 ~",
  AV: "[ab3,bb3,d4,f4]@9 [ab3,bb3,d4,f4] ~@2 [ab3,bb3,d4,f4]@3 ~", // Bb7
  AW: "[[f3,a3,c4]@13 ~ [a3,c4] ~ [ab3,bb3]@7 [ab3,bb3,f4] ~ f3 [ab3,bb3,f4]@4 ~@2, ~@13 f3@10 ~@9]/2", // F Am Absus2 Bb7
  AX: "[bb3,c4,eb4]@9 ~@3 eb4@3 ~, g3@8 ~ g3@7, ~@10 bb3@5 ~, ~@11 c4@4 ~", // Cm7
  AY: "~@3 gb3@4 ~, [b3,eb4,gb4]@15 ~, ~@3 ab3@11 ~@2", // B
  AZ: "[ab3,b3,eb4]@9 ~@3 ab4 ~ ab4 ~, e3@15 ~, ab4@11 eb4@3 ~@2, ~@9 ab3@5 ~@2, ~@5 b3@2 ~", // Abm
  BA: "[g3,bb3,d4,f4] ~@2 [g3,bb3,d4,f4]!2 [g3,bb3,d4,f4]@3 [g3,c4,e4]@4 ~@4", // Gm7 C
  BB: "[ab3,c4,db4,f4] ~ [ab3,c4,db4,f4]@2 ~ [ab3,c4,f4]@2 ~ [d4,f4]@4 e4@2 ~@2, ~@5 db4 ~@2 [g3,bb3]@6 ~@2, ~@12 c4 ~@3", // Dbmaj7 Fm Dm Gm
  BC: "[a4,c5,e5] ~ [a4,c5,f5] ~ [a4,c5,e5] [a4,c5,f5] ~ [a4,c5,e5] ~ [f4,a4,c5]@4 ~@3", // Am F Am F Am F
  BD: "[ab3,c4,db4,f4]@7 ~ [d4,f4]@4 [c4,e4]@2 ~@2, ~@4 [g3,bb3]@3 ~", // Dbmaj7 Dm C Gm
  BE: "[ab3,c4,f4]@6 db4 ~ [d4,f4]@4 [c4,e4]@2 ~@2, db4@5 ~@3 [g3,bb3]@6 ~@2", // Fm Dm C Gm
  BF: "[ab3,c4]@4 d4@2 [c4,e4] ~, f4@11 ~@5, db4@3 ~ [g3,bb3]@3 ~", // Ab C Gm
  BG: "~ [ab3,c4,db4,f4] ~@2 [ab3,c4,db4,f4]@3 ~ [bb3,d4,f4]@4 [bb3,c4,e4]@2 ~@2, ~@4 g3@3 ~", // Dbmaj7 Bb C7
  BH: "~@3 [e4,g4]@12 ~, f3@7 ~, ~ a3@14 ~, ~@2 c4@13 ~", BI: "[ab3,c4,eb4,g4]@6 ~ [g3,bb3,d4,f4]@7 ~@2",
  BJ: "[f3,a3,c4,e4,g4]@8 ~ [f3,a3,c4,e4,g4] ~@2 [f3,a3,c4,e4,g4]@3 ~", BK: "[ab3,c4,eb4,g4]@7 [g3,bb3,d4,f4]@6 ~@3",
  BL: "[f3,a3,c4,e4,g4]@9 [a3,c4,e4] ~ f3 [a3,c4,e4,g4]@2 f3 ~", BM: "[f3,a3,c4,e4,g4]@3 ~",
  BN: "[ab3,c4,eb4,g4]@7 [g3,bb3,d4,f4]@7 ~@2", BO: "[f3,c4,e4,g4]@12 ~ [f3,a3,c4,e4,g4] ~@2",
  BP: "ab3!2 [c4,eb4,g4] ~ ab3 [c4,eb4,g4] ~ [g3,bb3,d4,f4]@6 ~@3", BQ: "[ab3,c4,eb4,g4]@6 ~ [g3,bb3,d4,f4]@6 ~@3",
  BR: "[f3,a3,c4,e4,g4]@13 ~@3", // Fmaj7
  BS: "[[a4,c5,f5] ~@2 [a4,c5,f5] [a4,c5,e5] [a4,c5,f5] ~ [a4,c5,e5] ~ [f4,a4,c5]@3 ~@3 [a3,c4,e4,g4,b4]@12 ~@5]/2", // F Am F Am F Am7
})).s("gm_epiano1").gain(0.29).pan(0.8)

// other · tenor sax
const tenor_sax = note(`<
  ~@23 A B ~@2 C D ~@14 A E ~@2 A F ~@14 G H ~@2 G B I J K L M@3 N O ~@6 P@2 Q@2 ~ R S@2 T@2 ~@7
>`.pickRestart({
  A: "~@6 c4@2 bb3@2 ~ bb3@3 c4@2, ~@6 bb3 ~@9", B: "a3@5 ~@3", C: "~@6 c4@2 bb3@3 bb3@3 c4@2, ~@6 bb3 ~@9",
  D: "a3@3 ~", E: "a3 ~", F: "a3@13 ~@3", G: "~@5 bb3 c4@2 bb3@2 ~ bb3@3 c4@2", H: "a3@9 ~@7",
  I: "eb4 [eb4,f4] eb4 db4 c4 [ab3,a3] g3 f3 ~ e4 ~ e4!2 f4 g4 ~", // Ebsus2 Amaj7
  J: "[gb4,g4] ~ f4 ~ e4@2 f4 g4 ~ f4 ~ e4 c4 a3 g3 f3", K: "~ [c4,db4] c4 bb3 ab3 g3 f3 g3 bb3@2 ~ e4@4 ~",
  L: "f3 e4@7 ~ d4 c4 a3 ab3 g3 f3 eb3",
  M: "[f3 g3 ab3 bb3 ab3 g3@2 ~ ab4 g4@2 ab4 g4@2 ab4 g4@4 a3@7 [a3,e4] c4@2 g4 e4@4 ~@5 eb4 db4 c4 bb3 ab3 g3 ab3 bb3 c4, ~@19 g4 ~@28]/3", // A5
  N: "a3 bb3 [bb3,b3] c4 ~ a3 bb3 b3 c4 f3 ~ ab3 g3 f3 ~@2", // Bmaj7
  O: "~ c3 db3 eb3 f3 eb3 db3 c3 bb2 c3 db3 eb3 f3 [f3,g3] ab3 ~", // Fsus2
  P: "[~@10 a3 bb3 c4 d4@2 c4@7 bb3 ab3@3 g3 f3@3 eb3 f3]/2",
  Q: "[~@10 a3 bb3 c4 d4 ~ c4@5 ~ c4 ~@5 c4 bb3 ab3 g3 f3]/2", R: "~@5 db4 [c4,db4] bb3 ab3 g3 f3 e3 d3 c3 d3 e3",
  S: "[f3 ~@9 a3 bb3 c4 d4 ~ c4@2 bb3@4 ab3@3 ~ g3@2 ~ f3 ~ e3 ~]/2", T: "[f3 ~@11 a3 bb3 c4 e4@9 ~@8]/2",
})).s("gm_tenor_sax").gain(0.61).pan(0.6)

// chords · piano · "A.PIANO"
const piano = note(`<
  ~@2 A ~ B ~ A ~ B ~@3 C D ~@2 E F G H I J K ~ B ~ A ~ B ~@2 L M N O P Q@2 R S T U V ~ B ~ V ~ W ~ X Y Z AA AB AC AD AE
  AF AG AH AI AJ AK AL AM AJ AN AL AO AJ AP AQ AR AJ AS AQ AT AU AV AU AW AU AW AU AW AU AW AU AW AU AX AY@2 ~@7
>`.pickRestart({
  A: "[a4,c5,e5] ~@2 [a4,c5,f5] [a4,c5,e5] [a4,c5,f5] ~ [a4,c5,e5] ~ [f4,a4,c5]@5 ~@2", // Am F Am F Am F
  B: "[a4,c5,e5] ~ [a4,c5,f5] ~ [a4,c5,e5] [a4,c5,f5] ~ [a4,c5,e5] ~ [f4,a4,c5]@6 ~", C: "~@10 ab3 a3 c4 d4 e4!2",
  D: "~ e4 ~ e4 ~ d4 ~ c4 a3 ab3 g3 f3 d3 c3 ~@2", E: "~@5 eb4 e4 g4 e4 d4 c4 a3 c4 e4 ~@2",
  F: "~@3 ab3 g3 f3 ab3 ~@4 f3 ~ d3 ~@2",
  G: "c3 ~ [g3,bb3,c4,eb4] ~ c3 [g3,bb3,c4,eb4] ~ c3 [g3,bb3,c4,eb4] ~ c3 [g3,bb3,c4,eb4] ~ c3 [g3,bb3,c4,eb4] ~", // Cm7
  H: "~@2 [gb3,b3,eb4] ~@2 [gb3,b3,eb4] ~ eb3 [gb3,b3,eb4]!2 eb3 [gb3,b3,eb4] ~ eb3 [gb3,b3,eb4] ~", // B
  I: "~@2 [e3,ab3,b3,eb4,ab4] ~@2 [e3,ab3,b3,eb4,ab4] ~ [e3,ab3,b3] [eb4,ab4] [e3,ab3,b3] [eb4,ab4] [e3,ab3,b3,eb4,ab4] ~@2 [eb4,ab4] ~, ~@13 [e3,ab3,b3]@2 ~", // Emaj7 E Ab5 E Ab5 Emaj7 Ab5 E
  J: "[g3,bb3,d4,f4] ~@2 [g3,bb3,d4,f4]!3 ~ [g3,bb3,d4,f4] [g3,bb3,c4,e4]@7 ~", // Gm7 C7
  K: "[a4,c5,e5] ~@2 [a4,c5,f5] [a4,c5,e5] [a4,c5,f5] ~ [a4,c5,e5] ~ [f4,a4,c5]@7", L: "~@9 c4 d4 f4 ~ g4 ~ f4",
  M: "g4 ~ a4 ~@4 c4@4 ~@5, ~@3 a4@8 ~@5, ~@5 e4@6 ~@5", N: "~ ab4 g4 f4 d4 c4 ab3 ~@4 f3 g3 ab3 g3 f3",
  O: "g3 f3 a3 c4 ~ e4@5 ~ a3 c4 e4 g4@2", P: "f4 d4 ~ d4@6 ab4 g4 f4 d4 c4 d4 c4",
  Q: "[d4 c4 ~ c4@7 ~@2 a3 g3 f3 g3@2 f3@8 ~@7]/2",
  R: "~@2 [g3,bb3,eb4] c3 ~ [g3,bb3,eb4] ~ c3 [g3,bb3,c4,eb4] ~ c3 [g3,bb3,c4,eb4]@2 c3 [g3,c4,eb4] ~, ~@7 bb3", // Eb Cm7 Cm
  S: "~@2 [gb3,b3]@2 ~ [gb3,b3,eb4] ~@2 [gb3,b3,eb4]@6 ~@2, eb3@5 ~@2 eb3@7 ~@2, ~@2 eb4 ~@13", // B5 B
  T: "~@2 [b3,eb4,ab4] [e3,ab3] [b3,eb4,ab4]!2 ~@7 ab4 ~@2, ~@6 [e3,ab3]@2 ~ e3@5 ~@2, ~@7 [b3,eb4,ab4]@3 ab3@4 ~@2, ~@11 b3@3 ~@2, ~@6 eb4 ~", // Abm E Abm E Abm
  U: "[g3,bb3,d4,f4] ~@2 [g3,bb3,d4,f4]!3 ~ [g3,bb3,d4,f4] [g3,c4,e4]@6 ~@2", // Gm7 C
  V: "[a4,c5,e5] ~@2 [a4,c5,f5] [a4,c5,e5] [a4,c5,f5] ~ [a4,c5,e5] ~ [f4,a4,c5]@6 ~", // Am F Am F Am F
  W: "[a4,c5,e5] ~ [a4,c5,f5] ~ [a4,c5,e5] [a4,c5,f5] ~ [a4,c5,e5] ~ [f4,a4,c5]@7", // Am F Am F Am F
  X: "f3@2 a3 e3 ~ a3 ~ d3 ~ a3 ~ c3@2 d3 eb3 e3", Y: "f3 ~ ab3 eb3 ~ ab3 ~ d3 ~ ab3 ~ c3 ~ a3 g3 f3",
  Z: "a3 c4 ~@2 d3 c3 d3 c3 ~ d3 ~ f3@3 ~ d3", AA: "c3 d3 ~ c3 ~ d3 ~ ab3@7 ~@2",
  AB: "~@4 d4 c4 d4 c4 ~ d4 ~ f4@3 ~ d4", AC: "c4 ~ d4 c4 ~ d4 ~ f3@3 ~ [ab3,bb3] g3@2 f3 ~, ~@7 ab3 ~@8",
  AD: "f3@2 [a3,c4] e3@2 [a3,c4] ~ d3@2 [a3,c4] ~ c3@2 [c3,d3] eb3 e3", // Am Csus2
  AE: "f3@2 [ab3,c4] eb3@2 [ab3,c4] ~ c3@4 eb3 f3 gb3 g3 [a3,bb3]", // Ab Bbmaj7
  AF: "[g3,bb3,c4,eb4]@2 ~ [g3,bb3,c4,eb4]@8 ~@3 eb4@2, ~@11 eb3@2 g3@2 ~, ~@12 f3@2 bb3 ~", // Cm7
  AG: "[gb3,b3,eb4]@9 eb3 [gb3,b3,eb4] [gb3,b3,eb4]@2 ~ [gb3,b3,eb4] ~, ~@13 eb3@2 ~", // B
  AH: "~@10 b3 ~ b3@2 ab3 ~, ~@3 e3@9 ~@4, ~@4 ab3@3 ab4@6 ~@3, ~@5 b3@5 ~@6, ~@3 eb4@2 eb4@2 ~",
  AI: "[g3,bb3,d4,f4] ~ [g3,bb3,d4] [g3,bb3,d4,f4] ~ [g3,bb3,d4,f4] ~ g3 [g3,c4,e4]@6 ~@2", // Gm7 Gm Gm7 C
  AJ: "[a4,c5,e5] ~@2 [a4,c5,f5] [a4,c5,e5] [a4,c5,f5] ~ [a4,c5,e5] ~ [f4,a4,c5]@4 ~@3", // Am F Am F Am F
  AK: "~ [ab3,c4,db4,f4] ~@2 [ab3,c4,db4,f4]@3 ~ [g3,bb3,d4,f4]@3 ~ [bb3,c4,e4]@2 ~@2, ~@11 g3@3 ~@2", // Dbmaj7 Gm7 C7
  AL: "[a4,c5,e5] ~ [a4,c5,f5] ~ [a4,c5,e5] [a4,c5,f5] ~ [a4,c5,e5] ~ [f4,a4,c5]@4 ~@3", // Am F Am F Am F
  AM: "~ [ab3,c4,db4,f4] ~ ab3 db4 ~ ab3@3 ~@3 d4 f4 e4 c4, ~@4 [c4,f4]@5 g3@6 ~, ~@10 bb3@5 ~, ~@11 c4@2 ~@3", // Dbmaj7 F5
  AN: "[c4,db4,f4]!2 ~ [c4,db4,f4]@4 ~ [g3,bb3,d4,f4]@3 ~ [bb3,c4,e4] ~@3, ~@2 ab3@5 ~@4 g3@3 ~@2", // Dbmaj7 Gm7 C7
  AO: "~ db4 ~ c4@2 db4 ~@2 [bb3,d4,f4] [bb3,d4,f4]@2 ~ [bb3,c4,e4] ~@3, f4@7 ~@9, ~@2 ab3@4 ~ g3@3 ~ g3@3 ~@2", // Bb C7
  AP: "[ab3,c4,db4,f4] ~@2 [ab3,f4]@5 ~@3 f4 [c4,e4]@2 ~@2, ~@3 [c4,db4]@2 ~@3 g3@6 ~@2, ~@9 bb3@5 ~@2, ~@5 d4 ~@2", // Dbmaj7 Db C Dbmaj7
  AQ: "[a4,c5,e5] ~ [a4,c5,f5] ~ [a4,c5,e5] [a4,c5,f5] ~ [a4,c5,e5] ~ [f4,a4,c5]@3 ~@4", // Am F Am F Am F
  AR: "~ [ab3,c4,db4,f4] ~@2 [ab3,c4,db4,f4] ~@3 [g3,bb3,d4,f4]!2 ~@2 [bb3,c4,e4] ~@3, ~@6 g3 ~", // Dbmaj7 Gm7 C7
  AS: "[c4,db4,f4]!2 ~ [c4,db4,f4]@5 ~@2 c4 d4 f4 e4 c4 ~, ~@2 ab3@5 ~ g3@6 ~@2, ~@9 bb3@4 ~@3", // Dbmaj7
  AT: "[ab3,c4,db4,f4]@6 ~@2 [g3,bb3,d4,f4]@3 ~ [g3,bb3,c4] ~@3, ~@6 e4 ~", // Dbmaj7 Gm7 C7
  AU: "[a2,c3,e3,g3]!2 ~ [a2,c3,e3,g3]!3 ~ [a2,c3,e3,g3]!3 ~ [a2,c3,e3,g3]!3 ~ [a2,c3,e3,g3]", // Am7
  AV: "[ab2,c3,eb3,g3]!2 ~ [ab2,c3,eb3,g3]!3 ~ [g2,bb2,d3,f3] ~ [g2,bb2,d3,f3] ~ [g2,bb2,d3,f3]!3 ~ [a2,c3,e3,gb3,g3]", // Abmaj7 Gm7 Am7
  AW: "[ab2,c3,eb3,g3]!2 ~ [ab2,c3,eb3,g3]!3 ~ [g2,bb2,d3,f3] ~ [g2,bb2,d3,f3] ~ [g2,bb2,d3,f3]!3 ~ [a2,c3,e3,g3]", // Abmaj7 Gm7 Am7
  AX: "[ab2,c3,eb3,g3]!2 ~ [ab2,c3,eb3,g3]!3 ~ [g2,bb2,d3,f3] ~ [g2,bb2,d3,f3] ~ [g2,bb2,d3,f3]!3 ~@2", // Abmaj7 Gm7
  AY: "[[a4,c5,e5] ~@2 [a4,c5,f5] [a4,c5,e5] [a4,c5,f5] ~@7 c5 e5 [c5,e5,g5,b5]@12 ~@5, ~@6 a4 ~@9]/2", // Am F Am F Cmaj7
})).s("gm_piano").gain(0.36).pan(0.6)

// chords · acoustic guitar nylon · "A.GUITAR"
const acoustic_guitar_nylon = note(`<
  A B C D E D F D G D H I J K L I M N O P Q R M S T U V W X Y Z AA AB AC T AD AE AF AG AH AI AJ M AK AL AM AN AO AP U AQ
  I AR AS AT N AU AV AW AX AY AZ M BA M BB AP BC BD BE BF BG BH BI BJ BK BL BM BN BO BN BP BN BQ BN BP BR BS BN BT BU BV
  BW@2 ~@7
>`.pickRestart({
  A: "[f2,a3,c4,e4,g4] ~ [a3,c4,e4,g4]!2 [c2,a3,c4,e4,g4] [a3,c4,e4,g4] ~ [f2,a3,c4,e4,g4] ~ [a3,c4,e4,g4] ~ [a3,c4,e4,g4]@2 ~ [a3,c4,e4,g4] ~, ~@11 c2@3 ~@2", // Fmaj7 Am7 Fmaj7 Am7
  B: "[f2,a3,c4,e4,g4] ~ [a3,c4,e4,g4]!2 [c2,a3,c4,e4,g4] [a3,c4,e4,g4] ~ [f2,a3,c4,e4,g4] ~ [a3,c4,e4,g4] ~@2 c2@2 [a3,c4,e4,g4] ~, ~@11 [a3,c4,e4,g4]@2 ~@3", // Fmaj7 Am7 Fmaj7 Am7
  C: "~@2 [f3,a3,c4,e4] ~@2 [f3,a3,c4,e4] ~@2 [f3,a3,c4,e4] ~@2 [f3,a3,c4,e4]@2 ~ [f3,a3,c4,e4] ~", // Fmaj7
  D: "~@2 [f3,a3,bb3,d4] ~@2 [f3,a3,bb3,d4] ~@2 [f3,a3,bb3,d4] ~@2 [f3,a3,bb3,d4]@2 ~ [f3,a3,bb3,d4] ~", // Bbmaj7
  E: "~@2 [f3,a3,c4,e4] ~@2 [f3,a3,c4,e4] ~@2 [f3,a3,c4] ~@2 [f3,a3,c4,e4]@2 ~ [f3,a3,c4] ~", // Fmaj7 F Fmaj7 F
  F: "~@2 [a3,c4,f4] ~ [a3,c4,e4] [a3,c4,f4] ~@3 [a3,c4,f4] ~@2 [a3,c4,f4] ~ [a3,c4,f4] ~", // F Am F
  G: "~ [a3,c4,f4] ~@3 [a3,c4,f4] ~@2 [a3,c4,f4] ~@2 [a3,c4,f4] ~ [a3,c4,f4]@3", // F
  H: "~@2 [a3,c4,f4] ~@2 [a3,c4,f4] ~@2 [a3,c4,f4] ~@2 [a3,c4,f4] ~ [a3,c4,f4]@2 ~", // F
  I: "~@2 [ab3,bb3,d4,f4] ~@2 [ab3,bb3,d4,f4] ~@2 [ab3,bb3,d4,f4] ~@2 [ab3,bb3,d4,f4]@2 ~ [ab3,bb3,d4,f4] ~", // Bb7
  J: "~@2 [a3,c4,f4] ~@2 [a3,c4,f4] ~@2 [a3,c4,f4] ~@2 [a3,c4,e4,g4]@2 ~ [a3,c4,e4] ~", // F Am7 Am
  K: "~@2 [f3,ab3,bb3,d4] ~@2 [f3,ab3,bb3,d4] ~@2 [f3,ab3,bb3,d4] ~@2 [f3,ab3,bb3,d4]@2 ~ [f3,ab3,bb3,d4] ~", // Bb7
  L: "~@2 [a3,c4,f4] ~@2 [a3,c4,f4] ~@2 [a3,c4,e4,f4] ~@2 [a3,c4,e4,f4] ~@2 [a3,c4,e4,f4] ~", // F Fmaj7
// … 106 more lines

More by Matt Bianco