Strudelify

Tico Tico No Fuba

Zequinha Abreu

KeyG minorTempo216 bpm
0:00/0:00
// Tico Tico No Fuba — Zequinha Abreu
// 216 bpm, 4/4, key G minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 120 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(216/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 · acoustic bass · "Jazz Bass"
const bass = note(`<
  A B C D E F G H I J K L M N G J I H G O P Q R S T U V W S X Y S Z AA AB AC AD AE AF AG@2 J AH N H N AI AJ I E N AK@2
  AL AM@3 AN Y AO AP AN AQ AR AS AT AU AV AW AX AY AZ BA BB BA BC BD BE BF BG BH BI BJ BK E F G H I J K L M N G J I H G
  O P Q R S T U V W S X Y S BL BM BN BO A B C BP
>`.pickRestart({
  A: "eb2 ~@7 e2 ~@7", B: "f2 ~@7 g2 ~@7", C: "c2 f1", D: "bb1@2 ~@4 d2 ~@9", E: "g2@3 d3 d3@3 g2",
  F: "d2@6 a2 ~ a2@6 db2 ~", G: "d2@5 ~ d2 ~ d2@6 d2 ~", H: "g2@5 ~ g2 ~ g2@6 g2 ~", I: "c2@5 ~ c2 ~ c2@6 c2 ~",
  J: "g2@5 ~ g2@2 d3@6 g2 ~", K: "a1@3 e2 e2@3 a1", L: "d2@4 ~@2 d2@2 a2@6 d2 ~", M: "g2@4 ~@2 g2@2 d3@6 g2 ~",
  N: "d2@5 ~ d2@2 a2@6 d2 ~", O: "g2 ~@5 g2 ~@9", P: "bb1@6 f2 ~ f2@6 e2 ~", Q: "f2@5 ~ f2@2 c3@6 f2 ~",
  R: "f2@3 c3 c3@3 f2", S: "bb1@5 ~ bb1 ~ bb1@6 bb1 ~", T: "bb1@5 ~ bb1@2 bb1@4 db2@4", U: "c2@5 ~ c2@2 f2@6 gb2@2",
  V: "f2@4 c3@2 c2 ~ f2@5 ~ f2@2", W: "bb1@6 c2@2 b1@5 ~ b1@2", X: "f2@4 ~@2 f2@2 c3@6 f2 ~",
  Y: "f2@5 ~ f2 ~ f2@6 f2 ~", Z: "eb2@5 ~ eb2@2 e2@5 ~ e2@2", AA: "f2@5 ~ f2@2 g2@5 ~ g2@2", AB: "c2@3 gb2 f2@3 b1",
  AC: "bb1 ~@15", AD: "~@6 g1@9 ~", AE: "~@6 a1@9 ~", AF: "d2 ~@15", AG: "[gb1@8 gb1@2 gb1 ~@3 c2@8 g2 ~ g2@6 gb2 ~]/2",
  AH: "a1@5 ~ a1@2 e2@6 a1 ~", AI: "a1@6 eb2@2 d2@5 ~ d2@2", AJ: "g2@3 ab2 g2@3 db2",
  AK: "[g1@5 ~ g2@2 c2@2 f2 ~@3 bb1@7 ~ f2@2 bb1@3 ~ b1@3 ~]/2", AL: "c2@6 c2@2 f1@3 ~ f2@3 ~",
  AM: "[c2@6 f2@2 ~@2 b1@2 ~@2 bb1@8 f2@2 ~@4 bb1@10 eb2@2 d2@5 ~ d2@2]/3", AN: "c2@3 g2 g2@3 c2",
  AO: "bb1@6 f2 ~ f2@6 a1 ~", AP: "bb1@5 ~ bb1@2 b1@5 ~ b1@2", AQ: "f2@5 ~ f2@2 f2@6 b1@2",
  AR: "bb1@5 ~ bb1@2 bb1@5 ~ bb1@2", AS: "eb2@6 f2@2 e2@4 bb2@2 bb1 ~", AT: "f2@3 ab2 g2@3 db2",
  AU: "c2@5 ~ c2@2 f2@4 c3@2 c2 ~", AV: "bb2@5 ~ f2@2 bb1@2 ~@2 d2 ~@3", AW: "g2 g2@3 g2@3 g2", AX: "gb2 g2@3 g2@3 ab2",
  AY: "g2@2 g2@6 g2@4 d3@2 d2 ~", AZ: "d2@2 d2@6 d2@5 ~ d2@2", BA: "a1@2 d2@6 d2@5 ~ d2@2", BB: "a1 d2@3 d2@3 bb1",
  BC: "g2 g2@3 g2@3 ab2", BD: "g2@2 g2@6 g2@5 ~ g2@2", BE: "g2 g2@3 g2@3 f2", BF: "e2@6 b2 ~ b2@6 ab1 ~",
  BG: "a1@6 e2 ~ e2@6 db2 ~", BH: "c2@3 d2 db2@3 ab2", BI: "d2@6 f2@2 e2@5 ~ e2@2", BJ: "a1@4 e2@2 e1 ~ d2@5 ~ d2@2",
  BK: "g1 ~@5 g2 ~@9", BL: "eb2@5 ~ eb2@2 e2@6 b1@2", BM: "f2@6 ab2@2 g2@5 ~ g2@2", BN: "c2@4 g2@2 g1 ~ f2@5 ~ f2@2",
  BO: "bb1@3 f2 f2@3 bb1", BP: "bb1@2 ~@4 bb1 ~@9",
})).s("gm_acoustic_bass").gain(0.23).pan(0.3)

// chords · piano
const piano = note(`<
  A B C D E F@2 G H E I J K L J M N K L O P Q R P S T U V W X R Y Z AA AB AC AD AE AF AG@2 AH AI AJ AH AK AL AM AN AH AO
  AP@2 AQ AR@3 AS Q Y AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR F@2 G H BR I J K L J M
  N K L O P Q R P BS T U BT BU X R Y BV BW BX Y A B C BY
>`.pickRestart({
  A: "[eb2,g3,c4,eb4] ~@7 [e2,g3,db4,e4] ~@7", B: "[f2,bb3,d4,f4] ~@7 [g2,d3,b3,f4] ~@7",
  C: "[c3,bb3,eb4,g4] [f2,a3,eb4,f4]", D: "[bb2,g3,d4,bb4]@2 ~@4 [d2,gb3,c4,f4] ~@9", E: "[bb3,d4,g4]@7 ~, c-1 ~@3",
  F: "[gb3,c4,d4,a4]@7 ~", G: "~@6 d5@3 ~ [e4,d5]@2 ~@4, bb3@8 ~@2 [bb3,g4] ~@5, ~@2 e4@7 ~@7, ~ g4 ~@2",
  H: "~@6 c5@3 ~ [eb4,c5]@2 ~@4, g3@8 ~@2 [g3,g4] ~@5, ~@2 eb4@7 ~@7, ~ g4 ~@2", I: "[g3,db4,f4,bb4]@7 ~",
  J: "[c4,gb4,a4,d5]@7 ~", K: "[g3,bb3,d4,g4]@7 ~", L: "[gb3,c4,e4,b4]@7 ~", M: "[e3,g3,bb3,d4]@7 ~",
  N: "[c4,eb4,g4,c5]@7 ~", O: "[g2,bb3,e4,g4,d5] ~@5 [g2,bb3,e4,g4,d5] ~@9", P: "[bb3,d4,f4,bb4]@7 ~",
  Q: "[eb4,a4,c5,g5]@7 ~", R: "[a3,b3,eb4,g4,d5]@7 ~",
  S: "[bb3,d4,f4]@3 ~ [c-1,bb3,d4,f4]@2 [bb3,e4,g4,db5]@2, c-1 ~@3", T: "[bb3,eb4,g4,d5]@3 ~ [a3,eb4,g4,c5]@3 ~",
  U: "[a3,d4,eb4,g4]@6 ~@4 [a3,b3,eb4,g4,d5]@5 ~", V: "~@2 [c-1,d4,f4,bb4]@5 ~ [a3,db4,eb4,ab4]@6 ~@2",
  W: "[d4,f4,bb4]@7 ~, c-1 ~@3", X: "[a3,d4,eb4,g4]@7 ~",
  Y: "~@6 bb4@3 ~ [d4,bb4]@2 ~@4, f3@8 ~@2 [f3,f4] ~@5, ~@2 d4@7 ~@7, ~ f4 ~@2", // Gm F
  Z: "~@2 [g3,c4,eb4,bb4]@5 ~ [g3,db4,e4,bb4]@6 ~@2", AA: "~@2 [c-1,bb3,d4,f4]@5 ~ [b3,f4,a4,e5]@6 ~@2",
  AB: "~@2 [bb3,eb4,g4,c5]@5 ~ [a3,d4,eb4,g4]@6 ~@2", AC: "[bb2,g3,d4,bb4] ~@15, c-1 ~@3", AD: "~@6 [g2,e3,bb3,d4]@9 ~",
  AE: "~@6 [a2,gb3,c4,e4]@9 ~", AF: "[d2,gb3,c4,eb4] ~@15",
  AG: "[[g2,e3,bb3,d4]@8 [g2,e3,bb3,d4]@2 [g2,e3,bb3,d4] ~@3 [c3,g3,a3,eb4]@17 ~]/2", AH: "[e3,bb3,d4,g4]@7 ~",
  AI: "[g3,bb3,db4,e4]@7 ~", AJ: "[gb3,b3,c4,e4]@7 ~", AK: "[c4,gb4,a4,eb5]@7 ~",
  AL: "[g3,a3,c4,eb4]@3 ~ [gb3,a3,c4,eb4]@3 ~", AM: "~@2 [f3,a3,bb3,d4]@5 ~@3 [e3,bb3,d4,g4]@5 ~",
  AN: "[a3,eb4,g4,c5]@7 ~", AO: "~@6 d5@3 ~ [gb4,d5]@2 ~@4, c4@8 ~@2 [c4,a4] ~@5, ~@2 gb4@7 ~@7, ~ a4 ~@2",
  AP: "[[e3,bb3,d4,g4]@6 ~@2 [c3,eb3,bb3,d4,g4]@2 [f2,eb3,a3,db4,g4] ~@3 [d3,a3,c4,f4]@2 ~@2 [a3,c4,d4,f4]@2 ~@2 f3@2 bb2@3 ~ [b2,a3,d4,gb4,b4]@4, ~@7 bb2@3 [bb3,d4,f4]@3 ~@3, ~@5 c-1 ~@2]/2", // Em7b5 Cm7 Faug Dm7 Bm7 Bb
  AQ: "[c3,bb3,c4,eb4,g4]@6 [c3,bb3,c4,eb4,g4]@2 f2@3 ~ f3@3 ~", // Cm7
  AR: "[[c3,f4]@6 [f3,a3,eb4,f4] ~@3 [b2,gb3,a3,eb4,gb4]@2 ~@2 [bb2,g3,bb3,d4,g4]@8 [f2,eb3,a3,db4,g4]@2 ~@4 [g3,c4,f4,bb4]@12 ~@2 [f3,c4,e4,a4]@5 ~, ~@3 f2 ~@10 bb2@5 ~@5]/3", // F5 F7 B7 Gm Faug Gm7 Fmaj7
  AS: "[eb3,g3,bb3,d4]@7 ~", AT: "[a3,c4,d4,f4]@3 ~ [ab3,d4,f4,b4]@3 ~", AU: "[bb3,d4,eb4,g4]@7 ~",
  AV: "~@2 [a3,eb4,g4,c5]@5 ~ [a3,b3,eb4,g4,d5]@6 ~@2", AW: "[bb3,d4,f4]@6 ~@4 [ab3,d4,g4,c5]@5 ~, c-1 ~@3",
  AX: "[g3,c4,f4,bb4]@6 ~@4 [g3,bb3,db4,e4]@5 ~", AY: "[d4,f4,bb4]@6 ~@4 [f3,b3,d4,a4]@5 ~, c-1 ~@3",
  AZ: "[eb3,g3,bb3,d4]@3 ~ [eb3,a3,db4,gb4]@3 ~", BA: "~@2 [c-1,d4,f4,bb4]@5 ~@5 d2 ~@3",
  BB: "[g3,b3,d4]@2 ~@4 [gb3,a3,b3,d4]@2 ~@2 [gb3,b3,d4,a4]@5 ~, c-1 ~@3", // G Bm7
  BC: "[bb3,db4,gb4] ~@2 [c-1,b3,d4,g4] [b3,d4,g4]@3 ~, c-1 ~ c-1 ~", // Gb G
  BD: "[e3,b3,d4,g4] [b3,d4,g4]@3 [g3,b3,d4]@3 ~, ~ c-1@2 ~ c-1@2 ~@2", // Em7 G
  BE: "[gb3,c4,e4,b4] ~@2 [gb3,c4,e4,a4] [gb3,c4,d4,a4]@3 ~", BF: "[g3,c4,e4,a4] [gb3,a3,c4,d4]@3 [gb3,c4,e4,b4]@3 ~",
  BG: "~@2 [gb3,a3,d4]@6 ~@2 [gb3,c4,e4,a4]@5 ~, ~@2 c4 ~@13", // D Gbm7b5
  BH: "[g3,c4,e4,b4]@2 [gb3,ab3,c4,e4,b4]@6 ~@2 [gb3,c4,e4,b4]@5 ~", BI: "~@3 [c-1,g3,b3,d4] [b3,d4,g4]@3 ~, ~ c-1",
  BJ: "~@3 [gb3,a3,b3,d4] [gb3,b3,d4,a4]@3 ~", BK: "[e3,b3,d4,g4]@2 [g3,b3,d4]@6 ~@2 [c-1,g3,b3,d4]@5 ~, ~ c-1@2 ~@5",
  BL: "~@6 b4@3 ~ [d4,b4]@2 ~@4, ab3@8 ~@2 [ab3,e4] ~@5, ~@2 d4@7 ~@7, ~ e4 ~@2", // G Dbm
  BM: "~@6 a4@3 ~ [c4,a4]@2 ~@4, gb3@8 ~@2 [gb3,e4] ~@5, ~@2 c4@7 ~@7, ~ e4 ~@2", // F Gb7
  BN: "[a3,c4,e4,g4]@6 ~@4 [bb3,db4,e4,g4]@5 ~", BO: "~@2 [c-1,b3,g4,d5]@5 ~ [ab3,d4,f4,c5]@6 ~@2",
  BP: "~@2 [g3,c4,e4,a4]@5 ~ [gb3,c4,d4,a4]@6 ~@2", BQ: "[g2,b3,e4,g4] ~ c-1@4 [g2,b3,e4,g4] ~@9",
  BR: "[bb3,d4,g4]@7 ~", BS: "[bb3,d4,f4]@3 ~ [bb3,d4,f4]@2 [bb3,e4,g4,db5]@2",
  BT: "~@2 [d4,f4,bb4]@5 ~ [a3,db4,eb4,ab4]@6 ~@2", BU: "[d4,f4,bb4]@7 ~",
  BV: "[g3,c4,eb4,bb4]@3 ~ [g3,bb3,db4,e4]@3 ~", BW: "[d4,f4,bb4]@3 ~ [f3,a3,b3,e4]@3 ~, c-1 ~@3",
  BX: "[eb3,bb3,c4,g4]@6 ~@4 [eb3,a3,c4,f4]@5 ~", BY: "[bb2,g3,d4,bb4]@2 ~@4 [bb1,g2,d4,f4] ~@9, c-1 ~@3",
})).s("gm_piano").gain(0.16).pan(0.3)

// chords · acoustic guitar nylon · "Classic G"
const acoustic_guitar_nylon = note(`<
  A B C D E F G H I E J K E F G L M E N O P Q R S T U V W X R@2 S Y Z AA AB AC AD AE AF@2 AG AH F AG AI AJ AK AL AG G
  AM@2 AN AO@3 AP R X AQ AP AR AS AT Z AA AU AV AW AX AY AZ@3 AX AV BA BB BC BD BE BF BG E F G H I E J K E F G L M E N O
  P Q R S T U V W X R@2 S BH BI BJ S A B C BK
>`.pickRestart({
  A: "[eb2,g3,c4,eb4] ~@7 [e2,g3,db4,e4] ~@7", B: "[f2,bb3,d4,f4] ~@7 [g2,d3,b3,f4] ~@7",
  C: "[c3,bb3,eb4,g4] [f2,a3,eb4,f4]", D: "[bb2,g3,d4,bb4]@2 ~@4 [d2,gb3,c4,f4] ~@9",
  E: "~@2 [bb3,g4]@5 ~ [bb3,g4]@2 ~@2 [bb3,g4]@2 ~@2", F: "~@2 gb4 a4@2 gb4 ~ c4, ~@2 c4@9 ~ d4@4",
  G: "[c4,gb4] ~ [c4,gb4] ~@2 [c4,gb4] ~@2", H: "~@2 e4 g4@2 e4 ~ bb3, ~@2 bb3@9 ~ d4@4",
  I: "~@2 [g3,eb4]@5 ~ [g3,eb4]@2 ~@2 [g3,eb4]@2 ~@2", J: "~@2 [g3,db4]@5 ~ [g3,db4]@2 ~@2 [g3,db4]@2 ~@2",
  K: "[a3,c4,gb4]", L: "[bb3,e4] ~ [bb3,e4] ~@2 [bb3,e4] ~@2", M: "[g3,eb4] ~ [g3,eb4] ~@2 [g3,eb4] ~@2",
  N: "~@2 [c4,gb4]@5 ~ [c4,gb4]@2 ~@2 [c4,gb4]@2 ~@2", O: "[bb3,e4,g4,d5] ~@5 [bb3,e4,g4,d5] ~@9",
  P: "[f3,d4] ~ [f3,d4] ~@2 [f3,d4] ~@2", Q: "~@2 eb4 g4@2 eb4 ~ a3, ~@2 a3@9 ~ c4@4",
  R: "[a3,eb4] ~ [a3,eb4] ~@2 [a3,eb4] ~@2", S: "~@2 d4 f4@2 d4 ~ f3, ~@2 f3@9 ~ bb3@4",
  T: "[f3,d4]@2 ~@2 [f3,d4]@2 ~@2 [f3,d4]@3 ~ [bb3,e4]@3 ~", // Dm Bbdim
  U: "[bb3,eb4]@2 c3@2 [bb3,eb4]@3 ~ [a3,eb4]@2 f2@2 [a3,eb4]@3 ~", // Eb5 Adim
  V: "[a3,eb4]@2 f2@2 [a3,eb4]@3 ~ [a3,eb4]@2 f2@2 [a3,eb4]@3 ~", // Adim
  W: "[f3,d4]@2 bb2@2 [f3,d4]@3 ~ [a3,eb4]@2 b2@2 [a3,eb4]@3 ~", X: "~@2 [f3,d4]@5 ~ [f3,d4]@2 ~@2 [f3,d4]@2 ~@2",
  Y: "~@2 [g3,c4]@6 [g3,db4]@2 e2@2 [g3,db4]@3 ~", Z: "~@2 [f3,d4]@6 [b3,f4]@2 g2@2 [b3,f4]@3 ~",
  AA: "~ [bb3,eb4]@3 ~ [a3,eb4]@3", AB: "[bb2,g3,d4,bb4] ~@15", AC: "~@6 [g2,e3,bb3,d4]@9 ~",
  AD: "~@6 [a2,gb3,c4,e4]@9 ~", AE: "[d2,gb3,c4,eb4] ~@15",
  AF: "[[g2,e3,bb3,d4]@8 [g2,e3,bb3,d4]@2 [g2,e3,bb3,d4] ~@3 [c3,g3,a3,eb4]@6 [a3,eb4]@2 ~@4 [a3,eb4]@2 ~@4]/2", // Em7b5 Am7b5 Adim
  AG: "~@2 [bb3,e4]@5 ~ [bb3,e4]@2 ~@2 [bb3,e4]@2 ~@2", AH: "[g3,db4] ~ [g3,db4] ~@2 [g3,db4] ~@2",
  AI: "~@2 gb4 a4@2 gb4 ~ c4, ~@2 c4@9 ~ eb4@4", AJ: "~ [g3,c4]@3 ~ [c4,gb4]@3", AK: "~ [bb3,f4]@3 ~ [bb3,e4]@3",
  AL: "~@2 [a3,eb4]@5 ~ [a3,eb4]@2 ~@2 [a3,eb4]@2 ~@2", // Adim
  AM: "[[e3,bb3,d4,g4]@6 ~@2 [c3,eb3,bb3,d4,g4]@2 [f2,eb3,a3,db4,g4] ~@3 [d3,a3,c4,f4]@2 ~@2 [a3,c4,d4,f4]@2 ~@2 f3@2 bb2@3 ~ [b2,a3,d4,gb4,b4]@4, ~@7 bb2@3 [bb3,d4,f4]@3 ~@3]/2", // Em7b5 Cm7 Faug Dm7 Bm7 Bb
  AN: "[c3,bb3,c4,eb4,g4]@6 [bb3,c4,eb4,g4]@2 ~@4 f3@3 ~", // Cm7
  AO: "[[c3,f4]@6 [f2,f3,a3,eb4,f4] ~@3 [b2,gb3,a3,eb4,gb4]@2 ~@2 [bb2,g3,bb3,d4,g4]@8 [f2,eb3,a3,db4,g4]@2 ~@4 [g3,c4,f4,bb4]@12 ~@2 [c4,f4]@6, ~@14 bb2@5 ~@5]/3", // F5 F7 B7 Gm Faug Gm7 F5
  AP: "[bb3,eb4] ~ [bb3,eb4] ~@2 [bb3,eb4] ~@2", AQ: "~ [a3,d4]@3 ~ [ab3,d4]@3",
  AR: "[a3,eb4]@2 f2@2 [a3,eb4]@3 ~@3 [a3,eb4]@6", AS: "[f3,d4]@2 bb2@2 [f3,d4]@3 ~@3 [ab3,d4]@6",
  AT: "[g3,c4] ~ [g3,c4] ~@2 [g3,db4]@3", AU: "[f3,bb3,f4]@8 [f3,d4]@3 ~ d3 ~@3",
  AV: "[b3,g4]@2 [b3,gb4]@5 ~@3 [b3,gb4]@6", AW: "[bb3,gb4]@2 [b3,g4]@5 ~@3 [b3,g4]@6",
  AX: "[b3,e4]@2 [b3,g4]@5 ~ [b3,g4]@2 g2@2 [b3,g4]@3 ~", AY: "[c4,gb4]@2 [c4,gb4]@5 ~@3 [c4,gb4]@6",
  AZ: "[g3,c4]@2 [c4,gb4]@5 ~ [c4,gb4]@2 d3@2 [c4,gb4]@3 ~", BA: "[b3,e4]@2 [b3,g4]@5 ~@3 [b3,g4]@6",
  BB: "~@2 [ab3,d4]@5 ~ [ab3,d4]@2 ~@2 [ab3,d4]@2 ~@2", BC: "[gb3,c4] ~ [gb3,c4] ~@2 [gb3,c4] ~@2",
  BD: "[a3,e4] ~ [a3,e4] ~@2 [bb3,e4]@3", BE: "[b3,g4]@2 d2@2 [b3,g4]@3 ~ [ab3,d4]@2 e2@2 [ab3,d4]@3 ~",
  BF: "[g3,c4]@2 a2@2 [g3,c4]@3 ~@3 [c4,gb4]@6", BG: "[g2,b3,e4,g4] ~@5 [g2,b3,e4,g4] ~@9",
  BH: "~ [g3,c4]@3 ~ [g3,db4]@3", BI: "~ [f3,d4]@3 ~ [b3,f4]@3", BJ: "[bb3,eb4] ~ [bb3,eb4] ~@2 [a3,eb4]@3",
  BK: "[bb2,g3,d4,bb4]@2 ~@4 [bb1,g2,d4,f4] ~@9", // Gm Gm7
})).s("gm_acoustic_guitar_nylon").gain(0.12).pan(0.3)

// other · alto sax
const alto_sax = note(`<
  A B C D E F G H I J K L E F G H I J M N O P Q R S T U V W X Y Z A B C D AA AB AC AD@2 ~@10 AE AF AG AH@2 ~@12 AI@3 AJ
  AK AJ AK AL AM AN AO AP AQ AR AS AT E F G H I J K L E F G H I J M N O P Q R S T U V W X Y Z A B C AU A B C AV
>`.pickRestart({
  A: "g4 gb4 g4 a4 c5 bb4 a4 bb4", B: "d5 f4 bb4 d5 f5 e5 eb5 d5", C: "c5 bb4 a4 g4 f4 eb4 d4 c4",
  D: "bb3 ~@4 d4 db4 d4", E: "eb4@2 d4 ~@3 g4 ~@3 d4@2 db4@2 d4@2", F: "eb4@2 d4 ~@3 gb4 ~@3 d4@2 db4@2 d4@2",
  G: "eb4 d4 c5 a4 gb4 f4 c4 b3", H: "bb3@4 ~ g4 gb4 f4", I: "eb4@2 g4 ~@3 c5 ~@3 bb4@2 g4@2 eb4@2",
  J: "d4@2 g4 ~@3 bb4 ~@3 bb4@2 a4@2 ab4@2", K: "a4 a3 db4 e4 g4 bb4 a4 g4", L: "gb4@4 ~ d4 db4 d4",
  M: "a4 d4 gb4 a4 d5 c5 bb4 a4", N: "g4 ~@4 a4 g4 gb4", O: "f4@2 bb3@2 d4@2 f4@2 bb3@2 d4@2 f4@2 gb4 ~",
  P: "g4 ~@3 eb4 ~@5 a4@2 g4@2 gb4@2", Q: "f4@2 a3@2 c4@2 f4@2 a3@2 c4@2 eb4@2 f4 ~",
  R: "g4 ~@3 f4 ~@5 bb4@2 bb4@2 bb4@2", S: "bb4 a4!3 ~ g4!3", T: "g4 eb4!3 ~ a4!3", U: "a4 f4!2 a4 g4 eb4!2 g4",
  V: "f4@4 ~ a4 g4 gb4", W: "f4 bb3 d4 f4 bb3 d4 f4 gb4", X: "g4 ~ eb4 ~@2 a4 g4 gb4", Y: "f4 a3 c4 f4 a3 c4 eb4 f4",
  Z: "g4 ~ f4 ~@2 bb4 a4 ab4", AA: "eb4@2 d4 ~@3 g4@9 ~", AB: "eb4@2 d4 ~@3 a4@9 ~", AC: "eb4 d4 gb4 a4 c5 eb5 d5 c5",
  AD: "[bb4@2 g4@2 bb4@2 d5@2 bb4@2 bb4 ~@3 a4@17 ~]/2", AE: "~@2 bb4@2 bb4@2 bb4@2 bb4@2 a4 ~@3 a4@2",
  AF: "~@2 a4@2 f4@2 f4@2 g4 ~@3 a4 ~@3", AG: "bb4@3 bb4 ~ a4 g4 gb4", AH: "[f4@3 f4 ~ gb4 ~ g4@4 g4 ~@4]/2",
  AI: "~ g3 b3 ~@2 g3 b3 e4", AJ: "~ a3 c4 ~@2 c4 d4 e4", AK: "~ c4 d4 ~@2 c4 d4 e4", AL: "~ g3 b3 ~@2 g3 b3 d4",
  AM: "g4 ~@15", AN: "~@5 g4 b4 d5", AO: "e5 d5 b4 ab4 e5 d5 b4 ab4", AP: "a4@2 ab4@2 a4@2 b4@2 c5 ~@7",
  AQ: "c4 b3 c4 d4 e4 gb4 g4 a4", AR: "b4 c5 db5 d5 e5 d5 c5 b4", AS: "a4 g4 gb4 e4 d4 c4 b3 a3",
  AT: "g3 ~@4 d4 db4 d4", AU: "bb3 ~@4 bb4 a4 ab4", AV: "bb3@2 ~@4 bb4 ~@9",
})).s("gm_alto_sax").gain(0.3).pan(0.6)

// other · alto sax
const alto_sax_2 = note(`<
  ~@23 A B C D E ~@8 F G ~ H@2 ~@10 I J K L@3 ~@3 M N O P@2 ~@12 Q R S ~@23 A B C D E ~@11 T
>`.pickRestart({
  A: "~@5 g4!3", B: "g4 f4!3 ~ e4!3", C: "eb4 c4!3 ~ f4!3", D: "f4 eb4!2 f4 eb4 c4!2 eb4", E: "d4 ~", F: "~@6 e4@9 ~",
  G: "~@6 gb4@9 ~", H: "[~@8 g4@2 g4 ~@3 g4@17 ~]/2", I: "~@2 e4@2 e4@2 e4@2 eb4@2 eb4 ~@3 d4@2",
  J: "~@2 d4@2 bb3@2 bb3@2 d4 ~@3 d4 ~@3", K: "eb4@3 eb4 ~@4", L: "[~@3 eb4 ~ eb4 ~ f4@4 eb4 ~@2 g4@6 ~@4]/3",
  M: "d4 ~@7", N: "~@5 eb4@3", O: "eb4 ~@7", P: "[~@8 d4@2 ~@4 f4@9 ~@9]/2", Q: "~@5 e4 g4 b4",
  R: "d5 b4 ab4 e4 d5 b4 ab4 e4", S: "gb4@2 f4@2 gb4@2 ab4@2 a4 ~@7", T: "~@6 g4 ~@9",
})).s("gm_alto_sax").gain(0.3).pan(0.7)

// other · tenor sax
const tenor_sax = note(`<
  A B C D E F G H I J K L E F G H I J M N O P Q R S T U V W X Y Z A B C D AA AB AC AD ~@13 AE AF@3 ~@3 AG AH AG AI@2 ~@3
  AJ@3 AK AL AK AL AM AN AO AP AQ AR AS AT AU E F G H I J K L E F G H I J M N O P Q R S T U V W X Y Z A B C AV A B C AW
>`.pickRestart({
  A: "g3 gb3 g3 a3 c4 bb3 a3 bb3", B: "d4 f3 bb3 d4 f4 e4 eb4 d4", C: "c4 bb3 a3 g3 f3 eb3 d3 c3",
  D: "bb2 ~@4 d3 db3 d3", E: "eb3@2 d3 ~@3 g3 ~@3 d3@2 db3@2 d3@2", F: "eb3@2 d3 ~@3 gb3 ~@3 d3@2 db3@2 d3@2",
  G: "eb3 d3 c4 a3 gb3 f3 c3 b2", H: "bb2@4 ~ g3 gb3 f3", I: "eb3@2 g3 ~@3 c4 ~@3 bb3@2 g3@2 eb3@2",
  J: "d3@2 g3 ~@3 bb3 ~@3 bb3@2 a3@2 ab3@2", K: "a3 a2 db3 e3 g3 bb3 a3 g3", L: "gb3@4 ~ d3 db3 d3",
  M: "a3 d3 gb3 a3 d4 c4 bb3 a3", N: "g3 ~@4 a3 g3 gb3", O: "f3@2 bb2@2 d3@2 f3@2 bb2@2 d3@2 f3@2 gb3 ~",
  P: "g3 ~@3 eb3 ~@5 a3@2 g3@2 gb3@2", Q: "f3@2 a2@2 c3@2 f3@2 a2@2 c3@2 eb3@2 f3 ~", R: "g3 ~@3 f3 ~@5 f4@2 f4@2 f4@2",
  S: "f4 d4!3 ~ db4!3", T: "c4 bb3!3 ~ eb4!3", U: "eb4 c4!2 eb4 c4 a3!2 c4", V: "bb3@4 ~ a3 g3 gb3",
  W: "f3 bb2 d3 f3 bb2 d3 f3 gb3", X: "g3 ~ eb3 ~@2 a3 g3 gb3", Y: "f3 a2 c3 f3 a2 c3 eb3 f3",
  Z: "g3 ~ f3 ~@2 bb3 a3 ab3", AA: "eb3@2 d3 ~@3 d4@9 ~", AB: "eb3@2 d3 ~@3 e4@9 ~", AC: "eb3 d3 gb3 a3 c4 eb4 d4 c4",
  AD: "bb3@2 g3@2 bb3@2 d4@2 e4@2 e4 ~@3 eb4 ~", AE: "~@5 a3 g3 gb3", AF: "[f3@3 c4 ~ db4 ~ d4@4 db4 ~@2 d4@6 ~@4]/3",
  AG: "a3 ~@7", AH: "~@5 bb3@3", AI: "[~@8 ab3@2 ~@4 g3@9 ~@9]/2", AJ: "~ g3 b3 ~@2 g3 b3 e4",
  AK: "~ a3 c4 ~@2 c4 d4 e4", AL: "~ c4 d4 ~@2 c4 d4 e4", AM: "~ g3 b3 ~@2 g3 b3 d4", AN: "g4 ~@15", AO: "~@5 d4 e4 g4",
  AP: "b4 ab4 e4 d4 b4 ab4 e4 d4", AQ: "e4@2 d4@2 e4@2 f4@2 gb4 ~@7", AR: "c3 b2 c3 d3 e3 gb3 g3 a3",
  AS: "b3 c4 db4 d4 e4 d4 c4 b3", AT: "a3 g3 gb3 e3 d3 c4 b3 a3", AU: "g3 ~@4 d3 db3 d3", AV: "bb2 ~@4 bb3 a3 ab3",
  AW: "bb2@2 ~@4 d4 ~@9",
})).s("gm_tenor_sax").gain(0.3)

// other · tenor sax
const tenor_sax_2 = note(`<
  ~@23 A B C D E ~@8 F G ~ H@2 ~@10 I J K L@3 ~@3 M N O P@2 ~@12 Q R S ~@23 A B C D E ~@11 T
>`.pickRestart({
  A: "~@5 d4!3", B: "d4 bb3!3 ~ bb3!3", C: "bb3 g3!3 ~ c4!3", D: "c4 a3!2 c4 a3 g3!2 a3", E: "g3 ~", F: "~@6 bb3@9 ~",
  G: "~@6 c4@9 ~", H: "[~@8 d4@2 d4 ~@3 c4@17 ~]/2", I: "~@2 d4@2 d4@2 d4@2 d4@2 db4 ~@3 c4@2",
  J: "~@2 c4@2 g3@2 g3@2 f3 ~@3 gb3 ~@3", K: "g3@3 g3 ~@4", L: "[~@3 a3 ~ a3 ~ bb3@4 a3 ~@2 f3@6 ~@4]/3", M: "f3 ~@7",
  N: "~@5 g3@3", O: "g3 ~@7", P: "[~@8 c4@2 ~@4 c4@9 ~@9]/2", Q: "~@5 b3 d4 e4", R: "ab4 e4 d4 b3 ab4 e4 d4 b3",
  S: "c4@2 b3@2 c4@2 d4@2 e4 ~@7", T: "~@6 f3 ~@9",
})).s("gm_tenor_sax").gain(0.3).pan(0.4)

// other · trumpet · "Trumpet 1"
const trumpet = note(`<
  A B C D ~@7 E F@2 ~ G ~@3 H ~ I ~ J ~@3 K ~ L ~ M A B C N O P ~ Q@2 ~@3 R@2 ~@5 S T U V@3 ~@3 W X Y Z@2 ~@3 AA AB@3 AA
  AB@3 AC AD AE AF@2 ~@2 H ~@7 E F@2 ~ G ~@3 H ~ I ~ J ~@3 K ~ L ~ M ~@4 A B C D
>`.pickRestart({
  A: "eb5 ~@7 e5 ~@7", B: "f5 ~@7 f5 ~@7", C: "c5 d5 eb5 e5 f5 gb5 g5 a5", D: "bb5@2 ~@4 bb5 ~@9",
  E: "~@2 d5 ~@3 d5 ~ d5 ~@7", F: "~@6 d5 ~@9", G: "~@2 d5 ~@3 g5@5 ~@5", H: "~@6 g5 ~@9", I: "~@8 eb5 ~@7",
// … 205 more lines