Strudelify

funky town

Donna Summer

KeyD majorTempo125 bpm
0:00/0:00
// funky town — Donna Summer
// 125 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: Transcription provider: pdmx. https://musescore.com/score/4200481; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 182 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(125/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 · baritone sax · "Sassofono baritono"
const baritone_sax = note(`<
  A@2 B C A@2 B D E@6 ~@16 F@4 G H I J ~@2 K@8 L M N O E@8 F@4 G H P Q P Q R S T U V K@15 W ~ W ~ W ~ W ~ K@6 X Y@2 Z AA
  AB AC AD AE AF AG AH AI AJ AK AI AL AM AN AO AP@3 AQ@2 AR@2 AS AT AU AV AW AX AY@4 AZ@3 BA BB@2 BC BD BE BF BD BG BC
  BH BI@2 BJ BK BL BJ BM@2 BN BO BP BQ BO BR BS BT BU@2 BV BU@2 ~@3 BW BX@2
>`.pickRestart({
  A: "f3@3 ~@3 c4@4 ~@2 g#3@4 f3@3 ~@3 c4@4 ~@2 g#3@4", B: "a#3@3 ~@3 c4@4 ~@2 g#3@4 a#3@3 ~@3 c4@4 ~@2 g#3@4",
  C: "g3@3 ~@9 c3@2 g3@2 g#3@4 c4@4 g3@4 c4@4", D: "g3@3 ~@7 c2@2 e2@2 g2@2 g#2@4 g#2@4 g2@4 g2@4",
  E: "c2@3 ~@5 c2@3 ~@5 c2@3 ~@5 c2@3 ~@5", F: "g2@3 ~@5 g2@3 ~@5 g2@3 ~@5 g2@3 ~@5",
  G: "g2@3 ~@5 g2@3 ~@5 f2@3 ~@5 f2@3 ~@5", H: "e2@3 ~@5 e2@3 ~@5 d2@3 ~@5 d2@3 ~@5", I: "c2", J: "c3",
  K: "c3@6 c3 ~ c3@3 ~@21", L: "c2 ~ c3 ~ c2 ~ c3 ~ g2 ~ c3 ~ g2 ~ c3 ~", M: "g#2 ~ c3 ~ g#2 ~ c3 ~ g2@2 ~@2 d#2@2 ~@2",
  N: "c2 [c#2,d2] d#2 [e2,f2] f#2 [g2,g#2] a2 [a#2,b2] c3@8 g3@8 ~@8", // Dmaj7 Fmaj7 G#maj7 Bmaj7
  O: "g#2@2 ~@2 g#2@2 ~@6 g#2@2 ~@2 g2@5 ~@3 d#2@5 ~@3", P: "c3@4 c3@4 a#2@4 c3@4 ~@4 g2@3 ~@5 f#2@3 ~",
  Q: "~@4 f2@3 ~@5 d2@4 d#2@8 c2@3 ~@5", R: "~@4 c4@2 ~@2 c4@2 ~@2 c4 ~ c4@2 ~@2 c4 ~ c4@2 ~@2 c4@2 ~@6",
  S: "~@4 c4@2 ~@2 c4@2 ~@2 c4 ~ c#4@2 ~@2 c#4 ~ c#4@2 ~@2 c#4@2 ~@6",
  T: "~@4 d4@2 ~@2 d4@2 ~@2 d4 ~ d#4@2 ~@2 d#4 ~ d#4@2 ~@2 d#4@2 ~@2 d#4 ~ d#4 ~",
  U: "e4@2 ~@2 e4@2 ~@2 e4@2 ~@2 f4 ~ f4@2 ~@2 f4 ~ f4@2 ~@2 f4@5 ~@3", V: "c2 ~@3",
  W: "f3 f3@2 f3@2 f3@2 d#3 f3@2 ~@6", X: "c3@5 c3 c3@2 ~@4 c3@5 c3 c3@2 ~@4 c3@4 ~@4",
  Y: "[~@22 e3@3 d#3@3 e3@3 d#3@3 e3@3 d#3@3 e3@2 ~@22]/2", Z: "~@6 e3@3 d#3@3 e3@3 d#3@3 e3@3 d#3@3 e3@2 ~@6",
  AA: "~@23 d#3@3 d3@3 d#3@3", AB: "d3@3 d#3@3 d3@3 d#3@2 ~@21", AC: "~@7 e3@3 d#3@3 e3@3 d#3@3 e3@3 d#3@3 e3@2 ~@5",
  AD: "~@23 g2@2 ~@4 g2@2 ~", AE: "~@15 f2@3 ~@3 f2@3 ~@8", AF: "~@4 c2@3 ~@3 e2@3 ~@3 g2@3 ~@3 a#2@3 ~@3 d3@2 ~@2",
  AG: "~@23 e3@3 d#3@3 e3@3", AH: "d#3@3 e3@3 d#3@3 e3@2 ~@21", AI: "~@8 e3@3 d#3@3 e3@3 d#3@3 e3@3 d#3@3 e3@2 ~@4",
  AJ: "~@24 d#3@3 d3@3 d#3@2", AK: "~ d3@3 d#3@3 d3@3 d#3@2 ~@20", AL: "~@12 g2 ~@2 g2", AM: "~@16 f2@3 ~@3 f2@3 ~@7",
  AN: "~@5 c2@3 ~@3 e2@3 ~@3 g2@3 ~@3 a#2@3 ~@3 d3@2 ~", AO: "~@12 d#2@6 ~ c2@9 c3@4",
  AP: "[~@2 a#2@6 g2@3 a#2@3 g2@6 d#2@15 c2@9 c3@6 a#2@6 g2@3 a#2@3 g2@6 d#2@15 c2@9 c3@4]/3",
  AQ: "[~@2 a#2@6 g2@3 a#2@3 g2@6 d#2@15 c4@3 g3@3 g3@3 d#3@3 d#3@3 a#2@3 c3@3 g2@3 a#3@3 f3@2]/2",
  AR: "[~ g3@3 d#3@3 f3@3 c3@3 c3@6 ~@6 e3@3 d#3@3 e3@3 d#3@3 e3@3 d#3@3 e3@2 ~@19]/2",
  AS: "~@9 e3@3 ~ d#3@3 e3@3 d#3@3 e3@3 d#3@3 e3@2 ~@2", AT: "~@26 d#3@3 d3@3", AU: "d#3@3 d3@3 d#3@3 d3@3 d#3@2 ~@18",
  AV: "~@10 e3@3 d#3@3 e3@3 d#3@3 e3@3 d#3@3 e3@2 ~@2", AW: "~@13 g2 ~@2", AX: "g2@2 ~@16 f2@3 ~@3 f2@3 ~@5",
  AY: "[~@7 c2@3 ~@3 e2@3 ~@3 g2@3 ~@3 a#2@3 ~@3 d3@2 ~@13 d#2@6 c2@9 c3@6 a#2@6 ~ g2@3 a#2@3 g2@6 f#2@15 c2@9 c3@6 a#2@6 g2@3 a#2@3]/4",
  AZ: "[g2@6 c#2@15 c2@9 c3@6 a#2@6 g2@3 a#2@3 g2@6 g#2@15 c2@5 ~@4 c3@6 a#2@6 g2@3 a#2@3]/3",
  BA: "g2@6 d#2@12 ~@3 g#2@3 ~@3 g#2@3 ~@2",
  BB: "[~ g#2@3 ~@3 g#2@3 a#2@3 ~@3 a#2@3 ~@3 a#2@3 a#2@3 ~@3 a#2@3 ~@3 d#3@3 ~@3 d#3@3 ~@3 d#3@3 ~@3 d#3@3 c3@3 ~@3]/2",
  BC: "~ c3@3 ~@3 c3@3 c3@3 ~@3 c3@3 ~@3 g#2@3 ~@3 g#2@3 ~",
  BD: "~@2 g#2@3 ~@3 g#2@3 a#2@3 ~@3 a#2@3 ~@3 a#2@3 a#2@3 ~@3",
  BE: "a#2@3 ~@3 d#2@3 ~@3 d#2@3 ~@3 d#2@3 ~@3 d#2@3 c2@3 ~@2",
  BF: "~ c2@3 ~@3 c2@3 c2@3 ~@3 c2@3 ~@3 g#2@3 ~@3 g#2@3 ~", BG: "a#2@3 ~@3 b2@3 ~@3 b2@3 ~@3 b2@3 ~@3 b2@3 c3@3 ~@2",
  BH: "~@2 g#2@3 ~@3 g#2@3 g2@3 ~@3 g2@3 ~@3 g2@3 ~ g2@3 ~@2",
  BI: "[~ g2@3 ~@3 g2@4 ~@8 f2@4 ~@8 d#2@4 ~@8 c2@4 ~@8 c2@6 ~@3]/2", BJ: "c2@3 d#2@6 c2@6 ~@3 c2@3 d#2@6 c2@5",
  BK: "~@7 c2@6 ~@3 c2@3 d#2@6 c2@6 ~", BL: "~@2 c2@3 d#2@6 c2@6 ~@6 c2@6 ~@3",
  BM: "[~@7 c2@6 ~@3 c2@3 d#2@6 g2 [g#2,a2,a#2] [b2,c3] [c#3,d3,d#3] [e3,f3,f#3] [g3,g#3,a3] [a#3,b3] ~@30 e3@2, ~@31 c4@24 ~@9]/2", // Cmaj7 Bmaj7
  BN: "~ d#3@3 e3@3 d#3@3 e3@3 d#3@3 e3@2 ~@14", BO: "~@14 e3@3 d#3@3 e3@3 d#3@3 e3@3 d#3@3", BP: "e3 ~@14 d#3",
  BQ: "~ d3@3 d#3@3 d3@3 d#3@3 d3@3 d#3@2 ~@14", BR: "e3 ~@14 g2", BS: "~@4 g2@2 ~@16 f2@3 ~@3 f2@3 ~",
  BT: "~@11 c2@3 ~@4 e2@3 ~@3 g2@3 ~@3 a#2@2", BU: "[~@4 d3@2 ~@25 g2@2 ~@4 g2@2 ~@16 f2@3 ~@3 f2@3]/2",
  BV: "~@12 c2@3 ~@3 e2@3 ~@3 g2@3 ~@3 a#2@2",
  BW: "~@4 c2@6 c2 c#2 d2 d#2 e2 f2 f#2 g2 g#2 a2 a#2 b2 c3 c#3 d3 d#3 e3 f3 f#3 g3 g#3 a3",
  BX: "[a#3 b3 c4@42 ~@20]/2",
})).s("gm_baritone_sax").gain(0.4)

// other · trombone
const trombone = note(`<
  ~@11 A ~ B@2 C@2 D@2 E@2 F G C@2 D@2 E@2 H I J@2 K L M ~@4 N O P Q N O P Q ~@3 R@2 S@2 T@2 U@2 H I J@2 K L M V ~@7 W X
  Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM ~ AM ~ AM ~ AM ~ AN AO AP AQ AR AS AT AU AV@2 AW AX ~ AY AZ@2 BA BB@2 BC
  BD@2 BE BF@2 BG ~@5 BH BI BJ BK BL BM BN BO BP BQ ~@23 BR BS@2 BT BU@2 BV BW@2 BX BY BZ CA CB CC@2 CD CE@3
>`.pickRestart({
  A: "c4@3 ~@9 c4@3 ~@17",
  B: "[c4@3 ~@9 c4@3 ~@13 [c3,e3]@8 [c3,e3]@4 [c3,e3]@4 [c3,e3]@4 [e3,g3]@8 [e3,g3]@4 [e3,g3]@4]/2", // C Em
  C: "[[g3,a#3]!2 ~ [e4,g4] ~ [d4,f4] [c4,e4]@10]/2", // Gm Em Dm C
  D: "[[c4,e4]@3 ~@9 [c4,e4]@3 ~@13 [c3,e3]@8 [c3,e3]@4 [c3,e3]@4 [c3,e3]@4 [e3,g3]@4 [e3,g3]@4 [e3,g3]@4 [e3,g3]@4]/2", // C Em
  E: "[[g3,a#3]@2 [g3,a#3] ~ [g3,a#3]@2 [g3,a#3] ~ [e4,g4]@2 [d4,f4]@2 [c4,e4]@20]/2", F: "c4@3 ~@9 c4@3 ~@13 e3@4",
  G: "~ [c3,e3]!3 [e3,g3]@2 [e3,g3]!2", H: "e4@3 ~@9 e4@3 ~@5 e4@8 e4@4", I: "f4!4 e4!4", J: "[d4!4 c4!3 b3@2 ~@7]/2",
  K: "~@28 f4@3 ~", L: "~ f4!2 ~ e4!3 ~", M: "d4!3 ~ c4@2 c4@2", N: "~@6 c4@2 c4@2 c4@2 c4@2 g3 ~",
  O: "~@6 c4@2 c4 ~ d#4@4 ~@2", P: "~@12 a#3@4 a#3@2 ~@2 a#3@4 a#3@2 ~@2 c4@3 ~", Q: "~@6 a#3@2 a#3 ~ d#3@4 ~@2",
  R: "[~@28 c3@7 ~ c3@4 c3@4 c3@4 e3@8 e3@4 e3@4]/2", S: "[g3!2 ~ e4@2 d4 c4@10]/2",
  T: "[c4@3 ~@9 c4@3 ~@13 e3@8 e3@4 e3@4 e3@4 g3@4 g3@4 g3@4 g3@4]/2", U: "[a#3@2 a#3 ~ a#3@2 a#3 ~ g4@2 f4@2 e4@20]/2",
  V: "c4 ~@7", W: "~@12 a#4@4 c5@8 c5@4 g4@3 ~", X: "~@12 g4@4 f4 ~ f4 ~ d#4@4 g4@8", Y: "~@6 g4@2 f#4 g4!3 g4@2 g4@2",
  Z: "~@10 c4 ~ c4 ~ c4 ~ d#4@2 c4@2 c4@4 c4@6 ~@2", AA: "~@10 c4@2 c4@6 c4 ~ c4 ~ c4 ~ c4 ~ c4 ~ g3@4",
  AB: "~@12 c4 ~ c4@2 c4 ~ c4@2 c4@4 d#4@8", AC: "~@12 a#3@2 a#3@4 a#3@2 a#3@2 a#3@2 g#3@2 a3@2 a#3 ~@3",
  AD: "~@12 a#3 ~ a#3@2 a#3 ~ a#3@2 a#3@4 d#3@8", AE: "~@4 c4@2 c4!2 c4@2 c4!2 ~ a#3 g3@2",
  AF: "~@4 c4!4 a#3@2 c4 ~ d#4@2 f4 ~", AG: "~@4 c4@2 c4!2 a#3@2 c4 c4@2 c4 c4@2",
  AH: "~@4 c4 a#3 c4 a#3 c4@2 c4@2 g3@4", AI: "~@4 c4!4 ~ c4!5 g3@2",
  AJ: "~@8 c4@2 c4@2 c4@2 c4@2 c4@4 c4@4 d#4 f4 d#4 f4 d#4 f4 d#4 f4", AK: "~@4 a#3!4 ~ a#3!3 a#3@2 c4@2",
  AL: "~@4 c4!2 b3@2 a#3!2 a3@2 a3!2 g#3@2", AM: "f3 f3@2 f3@2 f3@2 d#3 f3@2 ~@6",
  AN: "~@8 g3@4 a#3@4 a#3@3 ~ g3@4 f3@4 d#3@4", AO: "~@8 g3@4 a#3@2 c4 ~@5 c4@2 ~@2 g3@4 g3@2 ~@2",
  AP: "~@8 g3@4 a#3@4 a#3 ~@3 g3@4 f3@2 g3@2 f3@4", AQ: "~@4 c4!4 d#4 c4 b3@2 c4@4", AR: "~@2 c4!5 g3",
  AS: "~@8 c4@4 c4@4 c4@4 c4@4 d#4@5 ~@3", AT: "~@6 c4@6 ~@6 d#4@6 ~@3 d#4@3 f4@2",
  AU: "~ d#4@3 f4@2 ~ f4@4 ~@2 c4@9 ~@10", AV: "[~@11 c4@6 a#3@3 c4@3 a#3@3 c4@3 e4@6 ~@25 c4 ~@2 c4]/2",
  AW: "~@2 c4 ~@2 g4@3 g4@6 f4@5 ~ d#4@3 ~@9", AX: "~@12 c4 ~@2 c4 ~@2 c4 ~@2 f4@3 f4@3 g4@3 c4@2",
  AY: "~@11 g4@3 g4@6 ~@12", AZ: "[~@3 f4@3 f4@6 ~@9 d#4@3 f4@3 d#4@3 g4@6 ~@28]/2", BA: "~@2 g3@3 g4@3 g4@6 c4@3 ~@15",
  BB: "[~@12 c4@6 a#3@3 ~ c4@3 a#3@3 c4@3 e4@6 ~@24 c4 ~@2]/2", BC: "c4 ~@2 c4 ~@2 g4@3 g4@6 f4@5 ~ d#4@3 ~@8",
  BD: "[~@13 c4 ~@2 c4 ~@2 c4 ~@2 f4@3 f4@3 g4@3 c4@2 ~@31]/2", BE: "~@12 g4@3 g4@6 ~@11",
  BF: "[~@4 f4@3 f4@6 ~@9 d#4@3 f4@3 d#4@3 g4@6 ~@27]/2", BG: "~@3 g4@3 ~@3 f4 ~ g4 f4@3 d#4@3 ~ c4@6 ~@7",
  BH: "~@7 f4@3 f4@6 c4@9 ~@7", BI: "~@14 g4@6 f4@3 d#4@3 d4@3 c4@3", BJ: "a#3@3 c4@6 ~@22 g3",
  BK: "a#3 ~ c4@3 c4@3 f4@3 f4@3 d#4@3 f4@6 d#4@3 ~@6", BL: "~@18 c4@3 a#3@3 a#3@3 c4@3 d#4@2", BM: "~ f4@3 c4@2 ~@26",
  BN: "~@14 g4@3 g4@6 ~@9", BO: "~@6 f4@3 f4@6 ~@9 d#4@3 f4@3 d#4@2", BP: "~ g4@6 ~@25",
  BQ: "~@2 c5@3 ~@3 g4@3 f4@3 g4@6 c4@6 ~@6", BR: "~@8 g3@3 f4@3 f4@6 ~ c4@3 c4@6 ~@2",
  BS: "[~@19 c4@6 a#3@3 c4@3 a#3@3 c4@3 d#4@6 f4@3 ~@18]/2", BT: "~@3 g4@6 ~@3 d4@3 c4@3 a#3@3 c4@9 ~@2",
  BU: "[~@19 c4@3 ~@3 c4 ~@2 f4@3 f4@3 g4@6 c4@2 ~@22]/2", BV: "~@3 g3 ~ a#3 c4@3 c4@3 f4@3 d#4@3 g4@3 g4@6 ~@5",
  BW: "[~@10 f4@3 f4@6 ~@9 d#4@3 f4@3 d#4@3 g4@6 ~@21]/2", BX: "~@19 g4@3 g4@6 ~@4", BY: "~@11 f4@3 f4@6 ~@9 d#4@3",
  BZ: "f4@3 d#4@3 g4@6 ~@20", CA: "~@16 c4@3 g4@3 g4@6 ~@4", CB: "~@8 a#3@3 f4@3 f4@6 ~@9 d#4@3",
  CC: "[f4@3 d#4@3 g4@51 ~@7]/2", CD: "~ d#3@6 ~@9",
  CE: "[~@4 c4@18 a#3@3 c4@3 a#3@3 c4@15 a#3@3 c4@3 a#3@3 c4@21 ~@20]/3",
})).s("gm_trombone").gain(0.45)

// other · trumpet · "Tromba in B♭"
const trumpet = note(`<
  ~@9 A B C B C ~@2 B C ~@2 B C ~@2 B C ~@2 B C ~@2 D E ~@6 F@8 ~@6 B C ~@2 B C ~@2 D E ~@10 G F@14 H I ~ I ~ I ~ J@2
  F@6 K L@2 M N O P Q R S T U V W X V Y Z AA ~@6 AB@2 AC AD AE AF AG AH AI@2 ~@17 AJ@7 AK AL AM AN AL AO AP AQ AR@2 AS
  AR@2 AS AT AU AV@3
>`.pickRestart({
  A: "c5", B: "c5!2 a#4 c5 ~ g4 ~ g4", C: "c5 f5 e5 c5 ~@4", D: "g4!2 f4 g4 ~ d4 ~ d4", E: "g4 c5 b4 g4 ~@4",
  F: "c5@6 c5 ~ c5@3 ~@21", G: "c5 ~@3", H: "c5@6 c5 ~ c5@3 ~@5 f5@16", I: "f5 f5@2 f5@2 f5@2 d#5 f5@2 ~@6",
  J: "[f5 f5@2 f5@2 f5@2 d#5 f5@24]/2", K: "c5@5 c5 c5@2 ~@4 c5@5 c5 c5@2 ~@4 c5@4 ~@4",
  L: "[~@22 a#4@3 a4@3 a#4@3 a4@3 a#4@3 a4@3 a#4@2 ~@22]/2", M: "~@6 a#4@3 a4@3 a#4@3 a4@3 a#4@3 a4@3 a#4@2 ~@6",
  N: "~@23 a4@3 g#4@3 a4@3", O: "g#4@3 a4@3 g#4@3 a4@2 ~@21", P: "~@7 a#4@3 a4@3 a#4@3 a4@3 a#4@3 a4@3 a#4@2 ~@5",
  Q: "~@23 b4@2 ~@4 b4@2 ~", R: "~@15 a4@3 ~@3 a4@3 ~@8", S: "~@4 c4@3 ~@3 e4@3 ~@3 g4@3 ~@3 a#4@3 ~@3 d5@2 ~@2",
  T: "~@23 a#4@3 a4@3 a#4@3", U: "a4@3 a#4@3 a4@3 a#4@2 ~@21", V: "~@8 a#4@3 a4@3 a#4@3 a4@3 a#4@3 a4@3 a#4@2 ~@4",
  W: "~@24 a4@3 g#4@3 a4@2", X: "~ g#4@3 a4@3 g#4@3 a4@2 ~@20", Y: "~@12 b4 ~@2 b4", Z: "~@16 a4@3 ~@3 a4@3 ~@7",
  AA: "~@5 c4@3 ~@3 e4@3 ~@3 g4@3 ~@3 a#4@3 ~@3 d5@2 ~", AB: "[~@25 a#4@3 a4@3 a#4@3 a4@3 a#4@3 a4@3 a#4@2 ~@19]/2",
  AC: "~@9 a#4@3 ~ a4@3 a#4@3 a4@3 a#4@3 a4@3 a#4@2 ~@2", AD: "~@26 a4@3 g#4@3", AE: "a4@3 g#4@3 a4@3 g#4@3 a4@2 ~@18",
  AF: "~@10 a#4@3 a4@3 a#4@3 a4@3 a#4@3 a4@3 a#4@2 ~@2", AG: "~@13 b4 ~@2", AH: "b4@2 ~@16 a4@3 ~@3 a4@3 ~@5",
  AI: "[~@7 c4@3 ~@3 e4@3 ~@3 g4@3 ~@3 a#4@3 ~@3 d5@2 ~@31]/2", AJ: "[~@23 d#5@48 d#5@48 d#5@48 d#5@48 ~@7 a#4@2]/7",
  AK: "~ a4@3 a#4@3 a4@3 a#4@3 a4@3 a#4@2 ~@14", AL: "~@14 a#4@3 a4@3 a#4@3 a4@3 a#4@3 a4@3", AM: "a#4 ~@14 a4",
  AN: "~ g#4@3 a4@3 g#4@3 a4@3 g#4@3 a4@2 ~@14", AO: "a#4 ~@14 b4", AP: "~@4 b4@2 ~@16 a4@3 ~@3 a4@3 ~",
  AQ: "~@11 c4@3 ~@4 e4@3 ~@3 g4@3 ~@3 a#4@2", AR: "[~@4 d5@2 ~@25 b4@2 ~@4 b4@2 ~@16 a4@3 ~@3 a4@3]/2",
  AS: "~@12 c4@3 ~@3 e4@3 ~@3 g4@3 ~@3 a#4@2", AT: "~@4 d5@2 ~@4 c5@3 ~@3 a#4@3 ~@3 g4@3 ~@3 f4@3 ~", AU: "~ c4@6 ~@9",
  AV: "[~@4 c5@12 e5@3 f5@3 c5@18 e5@3 f5@3 c5@30 ~@20]/3",
})).s("gm_trumpet").gain(0.4)

// bass · tuba · "Tuba in B♭"
const bass = note(`<
  ~@8 A@6 ~@15 B C D@3 E F G H I J K@8 A@11 B C D@3 E F ~@4 L@2 M N O K@14 P Q ~ Q ~ Q ~ Q ~ K@6 R S@2 T U V W X Y Z AA
  AB@2 AC AD@2 AE AF AG AH@2 AI AJ AK AL AM AN AO AP AQ AR AS AT AU@2 ~@17 AV AW AX AY AW AZ@2 BA@2 BB BC@2 BD BE BF
  BG@2 BH BG@2 BH BI BJ BK BL@2
>`.pickRestart({
  A: "~@4 c3@3 ~@5 c3@3 ~@5 c3@3 ~@5 c3@3 ~", B: "~@4 c3@3 ~@5 c3@3 ~@5 c3@3 ~ b2@4 a#2@4",
  C: "a2@4 g2@3 ~@5 g2@3 ~@5 g2@3 ~@5 g2@3 ~", D: "~@4 g2@3 ~@5 g2@3 ~@5 g2@3 ~@5 g2@3 ~",
  E: "~@4 g2@3 ~@5 g2@3 ~@5 f2@3 ~@5 f2@3 ~", F: "~@4 e2@3 ~@5 e2@3 ~@5 d2@3 ~@5 d2@3 ~",
  G: "c3@2 c3@2 g2@2 g2@2 a#2@2 a#2@2 b2@2 b2 ~", H: "c3@2 c3@2 g2@2 g2@2 a#2@2 a#2@2 b2@2 ~ b2",
  I: "c3!2 g2!2 a#2!2 b2@2", J: "c3!2 g2!2 a#2@2 b2@2", K: "c3@2 c3@2 g2@2 g2@2 a#2@3 a#2 ~@2 b2@2",
  L: "c2@3 c2@3 c2@3 c2 a#1@2 c2@2 ~@2", M: "c2@3 c2@3 c2@2 c2@3 c2@3 c2@2", N: "c3!6 c3@2", O: "c2@4 ~@6 a#2 ~ f3@4",
  P: "c3!2 g2!2 g#2 ~ g2 ~", Q: "f2 f2@2 f2@2 f2@2 d#2 f2@2 ~@6", R: "c3@3 c3@3 b2@2 ~@4 c3@3 c3@3 b2@2 ~@4 b2@4 ~@4",
  S: "[~@16 c2@6 ~@3 c3@3 ~@3 a#2@3 ~@3 g2@3 c2@6 ~@3 c3@3 ~@3 a#2@3 ~@3 g2@3]/2",
  T: "c2@6 ~@3 c3@3 ~@3 a#2@3 ~@3 g2@3 c2@6 ~@2", U: "~@2 c3@3 ~@3 a#2@3 a2@3 g2@3 f2@6 ~@3 f3@3 ~@3",
  V: "d#3@3 ~@3 c3@3 f2@6 ~@3 f3@3 ~@3 d#3@3 ~@3 c3@2", W: "~ c2@6 ~@3 c3@3 ~@3 a#2@3 ~@3 g2@3 c2@6 ~",
  X: "~@2 c3@3 ~@3 a#2@3 a2@3 g2@3 ~@6 g2@2 ~@4 g2@2 ~", Y: "~@15 f2@3 ~@3 f2@3 ~@8",
  Z: "~@4 c2@3 ~@3 e2@3 ~@3 g2@3 ~@3 a#2@3 ~@3 d3@2 ~@2", AA: "~@17 c2@6 ~@3 c3@3 ~@3",
  AB: "[a#2@3 ~@3 g2@3 c2@6 ~@3 c3@3 ~@4 a#2@3 ~@3 g2@3 c2@6 ~@3 c3@3 ~@3 a#2@3 ~@3 g2@3 c2@6]/2",
  AC: "~@3 c3@3 ~@3 a#2@3 a2@3 g2@3 f2@6 ~@3 f3@3 ~@2",
  AD: "[~ d#3@3 ~@3 c3@3 f2@6 ~@3 f3@3 ~@3 d#3@3 ~@3 c3@3 c2@6 ~@3 c3@3 ~@3 a#2@3 ~@3 g2@3 c2@6]/2",
  AE: "~@3 c3@3 ~@3 a#2@3 a2@3 g2@3 ~@6 g2@2 ~@4 g2@2", AF: "~@16 f2@3 ~@3 f2@3 ~@7",
  AG: "~@5 c2@3 ~@3 e2@3 ~@3 g2@3 ~@3 a#2@3 ~@3 d3@2 ~", AH: "[~@12 d#2@6 ~ c2@36 ~@6 a#2@3]/2",
  AI: "b2@3 c3@3 ~@3 c3@3 ~@20", AJ: "~@13 d#3@3 d3@3 c3@3 ~@3 c3@3 ~@4", AK: "~@29 a#2@3", AL: "b2@3 c3@3 ~@26",
  AM: "~@19 c2@6 ~@3 c3@3 ~", AN: "~@2 a#2@3 ~@3 g2@3 c2@6 ~@3 c3@3 ~@3 a#2@3 ~@3",
  AO: "g2@3 c2@6 ~@4 c3@3 ~@3 a#2@3 ~@3 g2@3 c2@4", AP: "~@5 c3@3 ~@3 a#2@3 a2@3 g2@3 f2@6 ~@3 f3@3",
  AQ: "~@3 d#3@3 ~@3 c3@3 f2@6 ~@3 f3@3 ~@3 d#3@3 ~@2", AR: "~ c3@3 c2@6 ~@3 c3@3 ~@3 a#2@3 ~@3 g2@3 c2@4",
  AS: "~@5 c3@3 ~@3 a#2@3 a2@3 g2@3 ~@6 g2@2 ~@4", AT: "g2@2 ~@16 f2@3 ~@3 f2@3 ~@5",
  AU: "[~@7 c2@3 ~@3 e2@3 ~@3 g2@3 ~@3 a#2@3 ~@3 d3@2 ~@31]/2", AV: "~@23 c2@6 ~@3",
  AW: "c2@3 d#2@6 c2@6 ~@3 c2@3 d#2@6 c2@5", AX: "~ a#1@6 c2@6 ~@3 c2@3 d#2@6 c2@6 ~",
  AY: "~@2 c2@3 d#2@6 c2@6 a#1@6 c2@6 ~@3",
  AZ: "[~ a#1@6 c3@6 c3@6 c3@6 c3@6 c3@3 c3@3 c3@3 c3@3 c3@3 c3@3 c3@3 ~ c3@3 c2@6 ~@2]/2",
  BA: "[~ c3@3 ~@3 a#2@3 ~@3 g2@3 c2@6 ~@3 c3@3 ~@3 a#2@3 ~@3 g2@3 c2@6 ~@3 c3@3 ~@3 a#2@3 ~@3 g2@3]/2",
  BB: "c2@6 ~@3 c3@3 ~@3 a#2@3 a2@3 g2@3 f2@6 ~@2",
  BC: "[~ f3@3 ~@3 d#3@3 ~@3 c3@3 f2@6 ~@3 f3@3 ~@3 d#3@3 ~@3 c3@3 c2@6 ~@3 c3@3 ~@3 a#2@3 ~@3 g2@3]/2",
  BD: "c2@6 ~@3 c3@3 ~@3 a#2@3 a2@3 g2@3 ~@6 g2@2", BE: "~@4 g2@2 ~@16 f2@3 ~@3 f2@3 ~",
  BF: "~@11 c2@3 ~@4 e2@3 ~@3 g2@3 ~@3 a#2@2", BG: "[~@4 d3@2 ~@25 g2@2 ~@4 g2@2 ~@16 f2@3 ~@3 f2@3]/2",
  BH: "~@12 c2@3 ~@3 e2@3 ~@3 g2@3 ~@3 a#2@2", BI: "~@4 d3@2 ~@4 c3@3 ~@3 a#2@3 ~@3 g2@3 ~@3 f2@3 ~", BJ: "~ c2@6 ~@9",
  BK: "~ c2@7", BL: "[~ c3@21 ~@10]/2",
})).s("gm_tuba").gain(0.4)

stack(baritone_sax, trombone, trumpet, bass)

More by Donna Summer