Strudelify

Stal

C418

KeyA majorTempo105 bpm
0:00/0:00
// Stal — C418
// 105 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 1 "Tenor Saxophone" named as a reed, played on tenor sax (its violin patch is not one); ch 5 "Baritone Saxophone" named as a reed, played on baritone sax (its electric guitar jazz patch is not one); ch 6 "B♭ Trumpet" named as a brass, played on trumpet (its electric guitar muted patch is not one); ch 11 "B♭ Trumpet 2" named as a brass, played on trumpet (its contrabass patch is not one); ch 13 "Marimba (Grand Staff)" named as a mallet, played on marimba (its tremolo strings patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/5839307; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 64 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(105/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.

// chords · trombone · "Alto Saxophone"
const trombone = note(`<
  A B C D E F G@2 H I J@2 K L@3 M N O P Q N O P R S T U@2 ~ V W X ~@4 Y Z AA AB AC AD AE AF AG AH AI@2 AJ AK AL ~ AM AN
  AO AP AM AN AO AQ AR@2 AS
>`.pickRestart({
  A: "d4@16 ~@13 d4@3", B: "f3@8 d3@16 ~@5 d3@3", C: "d4@16 ~@13 f4@3", D: "d3@8 f3@16 ~@5 f4@3", E: "d4@13 f4@16 d4@3",
  F: "f3@8 ~@8 e4@4 ~@4 f4@4 ~ [d3,d4]@3, d4 ~, ~ d3@2 ~", // D
  G: "[~@13 c4@16 f4@3 d3@8 f3@16 ~@5 f3@3, d4@16 ~@13 d4@8 ~@27]/2", H: "d5@5 a4@3 ~@21 d4@3, d4 ~",
  I: "[f3,d4]@8 g4@8 f4@8 e4@5 [d3,d4]@3, ~ d3@2 ~", J: "[~@13 c4@16 f4@3 d3@8 f3@16 ~@5 f3@3, d4@16 ~@13 a3@8 ~@27]/2",
  K: "~@8 c5@8 a4@5 g4@4 ~@4 [d4,f4]@3, d4 ~", // Dm
  L: "[f3@8 ~@8 e4@8 f4@5 d3@3 ~@13 c5@16 f4@3 d3@8 f3@16 ~@5 f3@3, d4@16 ~@13 d5@16 ~@51, ~@8 d3@16 ~@8 d4@16 ~@13 g4@8 ~@27]/3",
  M: "d3@8 c4@13 a3@3 g3@2 ~@3 f3@3", N: "d3@29 a3@3, a4", O: "f3@8 a3@21 f3@3, a4", P: "g3 a2, g4",
  Q: "c3@16 a#2@13 a2@3, c4", R: "c3@16 a#2@13 c3@3, c4", S: "[d3,d4] ~@7", T: "f3@8 a3@16 ~@5 [c3,c4]@3, a4@3 ~",
  U: "[g3@16 a2@13 ~@19 a#2@13 d3@2 ~, g4 c4, ~@29 c3@19 ~@16]/2", V: "f3@5 c4@24 c3@3, c5", W: "g3@16 a2@13 c3@3, c5",
  X: "c3 a#2, c4", Y: "c#4 ~ f#3@2 a3@2 [c4,f#4]@2, d3 ~@3, ~@5 f#4@7 ~@4 a4@4 ~@12",
  Z: "[d4,f#4] [a3,c4,f#4] a3 [f#3,a3,f#4], ~@4 f#4 ~@3", // D F#dim F#m
  AA: "f4 ~@3 c3@2 [e3,a3,f4]@2, f2 a2 ~@2, ~@5 [a3,f4]@7 ~ [a3,f4]@7 ~@12", // Fmaj7 Dm
  AB: "c#4@4 ~@9 g3@3 g3@8 [g3,a#3,e4]@8, c#3 e3 ~@2, ~@5 [g3,e4]@7 ~ e4@7 ~@12", // Edim C
  AC: "c#4@4 ~ [a3,f#4]@7 ~ a3@3 [a3,f#4]@4 ~@9 f#3@3, d3@13 ~@3 d3@13 ~@3, ~@3 [a3,f#4]", // D
  AD: "f#4@8 [a3,f#4]@4 ~@4 [a3,f#4]@4 ~@9 a2@3, d3@16 f#3@13 ~@3, ~@3 [a3,f#4]", // D
  AE: "[a3,f4]@5 [a3,f4]@7 ~@17 c3@3, ~@13 [a3,f4]@7 ~@4 [a3,f4]@8, ~@16 a#3@13 ~@3", // Dm
  AF: "c#4@4 ~ [g3,e4]@7 ~@4 c3@8 [a#2,e4]@5 [a2,c#5]@3, c#3 ~, ~@13 [g3,e4]@7 ~@12", // C A#dim A C
  AG: "d3@13 a3@3 ~@8 c#5 ~@4 f#3@3, d5@24 ~ c5@7, ~@16 d3@13 ~@3",
  AH: "a4@13 ~@16 a2@3, d3@16 f#3@13 ~@3, ~@13 f#4@11 g4@8",
  AI: "[a4@8 a#4@5 ~@11 c4@5 c3@3 ~@16 c3@8 [a#2,g#4]@5 [a2,a4]@3, a3@16 a#3@13 ~@3 c#3@16 ~@16, ~@13 a4@11 ~@5 f4@11 g4@16 ~@8]/2", // A#7 A
  AJ: "d3@8 f#3@8 a3@8 c#5 c5@7, d5@3 c4", AK: "d4 ~ a3 [f#3,d4], a4@13 f#4@11 ~@8, ~ c4 ~@2", AL: "f2 a2 c3 e3",
  AM: "d3@29 a3@3", AN: "f3@8 a3@21 f3@3", AO: "g3 a2", AP: "c3@16 a#2@13 a2@3", AQ: "c3@16 a#2@13 c3@3",
  AR: "[d3@7 a3]/2", AS: "d3",
})).s("gm_trombone").gain(0.25)

// other · clarinet · "Alto Saxophone 2"
const clarinet = note(`<
  ~@4 A B@3 C D@3 E F@3 ~ G H I J K L M J N ~@11 O P Q R O P Q S T U V@2 T ~@3 G H I J K W I X@2 ~@2
>`.pickRestart({
  A: "d4 ~@3", B: "[d4@16 e4@4 ~@4 f4@4 ~ d4@16 c4@16 d4@8 ~@27]/3", C: "d4@5 a4@3 ~@13 b4@3 d5@5 e5@3",
  D: "[d4@8 ~@8 f4@8 [e4,e5]@5 [d4,f5]@16 [c4,d5]@16 c5@16 a4@19, g5@13 f5@11 ~@72, ~@8 g4@8 ~@45 a3@8 ~@27]/3", // E Dm Csus2
  E: "d4@8 c5@8 a4@5 [g4,b4]@3 d5@5 [f4,e5]@3", F: "[d4@16 e4@8 f4@5 a4@16 c5@16 f4@8 ~@27, g5@13 ~@83]/3",
  G: "d5@5 ~@11 a4@4 ~@12", H: "c5@8 a4@5 a#4@3 f4@4 ~@4 f4@4 ~@4", I: "g4@8 b4@5 g4@3 ~@8 g4@8",
  J: "c5@8 a4@2 ~@3 a#4@3 a4@5 g4@3 f4@4 ~@4", K: "d5@5 ~@11 a4@4 ~@4 g4@8",
  L: "c5@8 ~@5 a#4@3 f4@5 c5@3 f4@5 c5@3, ~ a4@3", M: "~@8 b4@5 g4@3 ~@8 g4@8, g4@13 ~@19", N: "f4 ~@7",
  O: "~@16 d5@5 e5@5 ~ c5@2 d5@3", P: "a4@16 ~@5 b4@3 c5@3 e5@2 g5@3", Q: "~ a4 c5 f5",
  R: "~@8 [a#4,a#5]@8 [c#5,c#6]@5 ~@3 [a#4,a#5]@5 [c#5,c#6]@3", S: "~@8 a#5@8 c#6@5 a#5@3 ~@5 c#6@3",
  T: "[a4,d5]@24 c#5 c5@7", U: "a4@13 f#4@11 g4@8", V: "[a4@8 a#4@5 a4@11 c4@5 f4@11 g4@16 g#4@5 a4@3]/2",
  W: "c5@8 a4@5 a#4@3 f4@5 c5@3 f4@5 c5@3", X: "[c5@8 a4@2 ~@3 a#4@3 a4@5 g4@32 ~@11]/2",
})).s("gm_clarinet").gain(0.4)

// other · clarinet · "Alto Saxophone 2" · soft notes
const clarinet_soft = note(`<
  ~@17 A B C D E F G H I J K@2 ~ L M@2 ~@4 N O P N@2 O P Q ~@5 R ~@2 S ~@3 S ~@6
>`.pickRestart({
  A: "~@8 f4@5 ~@8 f4@3 ~@8, d4", B: "f4 ~", C: "a3", D: "c4@16 a#3@13 a3@3", E: "~@8 f4@5 ~@8 f4@3 ~@8, b3",
  F: "f4 ~@3", G: "~ a3", H: "c4@16 a#3@13 c4@3", I: "d4 ~@7", J: "f4@8 a4@16 ~@5 c4@3",
  K: "[g4@16 a3@13 c4@19 a#3@13 d4@2 ~]/2", L: "f4@5 c5@24 c4@3", M: "[g4@16 a3@13 c4@19 a#3@16]/2",
  N: "c#4@4 c#4 ~ c#4@2", O: "c#4@16 c#4@4 ~ c#4@3 ~@5 c#4@3", P: "c4@4 c4 ~ c4@2", Q: "c#4@16 c#4@5 ~@3 c#4@8",
  R: "a4@13 f#4@11 d4@8", S: "~@8 f4@5 ~@8 f4@3 ~@8",
})).s("gm_clarinet").gain(0.2)

// chords · tenor sax · "Tenor Saxophone"
const tenor_sax = note(`<
  A@3 B C D@3 E F@3 G H@3 I J K L@2 M N O@2 P@2 Q@2 R@2 S@2 T U V@2 W@2 X Y Z AA AB AC Z AA AD AC Z AA AB AE AF AG AH@2
  AF AG AH@2 AI AJ AK
>`.pickRestart({
  A: "b1@8 d2@8 ~@5 b1@3 d2@8", B: "b1@8 e2@8 ~@5 [b1,e2]@3 e2@5 e2@3", C: "[b1,d3]@8 d2@8 ~@5 b1@3 d2@8",
  D: "[b1@8 d2@8 e3@4 ~ b1@3 f3@4 ~@4 b1@8 ~@13 b1@3 ~@8 b1@8 d2@8 e2@5 b1@3 e2@5 e2@3, d3@2 ~ d2 ~ d2 ~ d2 ~@4, ~@29 d3@16 c3@16 d3@8 ~@27]/3",
  E: "d3@5 a3@3 d2@5 e2@3 e2@5 [b1,b3]@3 [d2,d4]@5 [e2,e4]@3, [b1,e2] ~@3", // B D E E5
  F: "[[b1,e2,d3]@8 d2@5 e2@3 e2@5 b1@3 [d2,e3,e4]@5 e2@3 [b1,e2]@8 d2@5 e2@3 e2@5 b1@3 d2@5 e2@3 [b1,e2]@8 d2@5 e2@3 e2@5 b1@3 d2@5 e2@3, g4@12 ~ f4@11 ~@37 c4@15 ~ a3@18 ~, ~@8 g3@8 f3@8 ~@5 [d3,f4]@16 [c3,d4]@16 a2@8 ~@27]/3", // E7 Dsus2 E5 Dm Csus2
  G: "[b1,e2,d3]@8 d2@5 e2@3 [e2,a3]@5 [b1,g3,b3]@3 [d2,d4]@5 [e2,f3,e4]@3, ~ c4 ~@2", // E7 A5 Em D Fmaj7
  H: "[[b1,e2]@8 d2@5 e2@3 e2@5 b1@3 [d2,f3]@5 e2@3 [b1,e2]@8 d2@5 e2@3 e2@5 b1@3 d2@5 e2@3 [b1,e2]@8 d2@5 e2@3 e2@5 b1@3 d2@5 e2@3, d3@16 e3@8 ~@37 d4@8 ~@27, g4@12 ~ [f4,a4,c5,e5]@15 ~ [d4,f4,a4,c5]@16 [c4,e4]@16 c4@15 ~ a3@18 ~]/3", // E5 Dm E5 Fmaj7 Dm7 C
  I: "a3@3 c4@2 g5@3 d2@5 e2@3 ~@16, [b1,e2]@8 g5@23 ~, ~@5 [d4,e4,g4,c5]@25 ~@2", // E5 C
  J: "[c2,d6]@5 f#2@3 d2@5 [e2,f4,a4]@3 [e2,f#2,g4,b4,a5]@5 c2@3 d2@5 [e2,f#2]@3, [f4,a4] ~@2 [f4,a4]", // Csus2 Fmaj7 Em Esus2 F
  K: "c2@5 f#2@3 [d2,a5]@5 [e2,a#5]@3 [e2,f#2,f5]@5 c2@3 [d2,f5]@5 [e2,f#2,a4,c5]@3, [e4,a4,c5,c6]@2 [c4,f4,a4]@5 ~", // D5 Edim Dm F#m7b5 Am F
  L: "[c2@5 f#2@3 [d2,b5]@5 [e2,g4,b4,g5]@3 [e2,f#2,e4,g4]@5 c2@3 d2@5 [e2,f#2]@3 c2@5 f#2@3 d2@5 [e2,a#3,a#5]@3 [e2,f#2,a5]@5 [c2,g5]@3 [d2,f5]@5 [e2,f#2]@3, g4@12 ~@9 [c4,e4]@8 [a#3,d4,g4,a#4]@15 ~ [d4,f4,a4]@11 [g4,a#4]@8, g5@4 ~@8 g5@4 c6@4 a5 ~@11]/2", // G Em Esus2 Edim F#m7 C5 Dm Esus2 …
  M: "[c2,d6]@5 f#2@3 d2@5 [e2,f4,a4]@3 [e2,f#2,g4,b4,a5]@5 c2@3 [d2,a4]@5 [e2,f#2]@3, [f4,a4] ~@2 [f4,g5]", // Csus2 Fmaj7 Em D5 Esus2 F Fsus2
  N: "c2@5 f#2@3 [d2,a5]@5 [e2,a#5]@3 [e2,f#2,f5]@5 [c2,c6]@3 [d2,f5]@5 [e2,f#2,a4,c5,c6]@3, [e4,a4,c5,c6]@2 [c4,f4,a4]@5 ~", // D5 Edim C Dm F#m7b5 Am F
  O: "[c2@5 f#2@3 [d2,b5]@5 [e2,g4,b4,g5]@3 [e2,f#2,e4,g4]@5 c2@3 d2@5 [e2,f#2]@3 c2@5 f#2@3 d2@5 [e2,a#3,a#5]@3 [e2,f#2,a5]@5 [c2,g5]@3 [d2,f5]@5 [e2,f#2]@3, g4@13 ~@8 [c4,e4]@8 [a#3,d4,g4,a#4]@15 ~ [d4,f4,a4]@11 [g4,a#4]@8, g5@4 ~@8 g5@4 c6@4 a5 ~@11]/2", // G Em Esus2 Edim F#m7 C5 Dm Esus2 …
  P: "[c2@8 ~@5 [e4,f4]@2 ~ e2@5 c2@3 [d2,f4,a4]@5 [e2,f#2]@3 [c2,e2]@5 [e2,f#2]@3 d2@5 e2@3 [e2,f#2]@5 c2@3 d2@5 [e2,f#2,e4,a4,c5]@3, [a3,d4,f4,a4]@12 ~@4 [f4,a4]@8 ~@5 [e4,a4,c5]@8 [e4,a4]@23 ~@4, f5@4 ~@4 d2@8 ~@5 a1@11 ~@32]/2", // Fmaj7 Dm Esus2 C Esus2 F#m7b5 Dm F …
  Q: "[[c2,e2]@5 [e2,f#2]@3 d2@5 e2@3 [e2,f#2,g4,c5]@5 c2@3 d2@5 [e2,f#2]@3 [c2,e2]@5 [e2,f#2]@3 d2@5 e2@3 [e2,f#2]@5 c2@3 [d2,f4,c5]@5 [e2,f#2,d5]@3, g4@16 ~@5 [e3,e4,g4,e5]@8 [c3,e4,g4,c5]@15 ~ [a3,c4,f4,a4]@11 ~@8, [e4,b4] e5 ~@6]/2", // C Esus2 C Esus2 C Esus2 Dm7 D …
  R: "[~@8 d2@5 [b1,f4]@3 e2@5 b1@3 [d2,a4]@5 e2@3 [b1,e2]@5 [e2,f#2]@3 d2@5 e2@3 [e2,f#2]@5 b1@3 d2@5 [e2,f#2,e4,a4,c5]@3, ~@16 a4@8 ~@5 [e4,a4,e5]@8 [f4,c5]@18 ~@9, ~@21 c2@11 ~@32]/2", // Bdim D5 E5 Esus2 F#m7b5 A5 F5
  S: "[[b1,e2]@5 [e2,f#2]@3 d2@5 e2@3 [e2,f#2,c5,e5]@5 [b1,c5,g5]@3 d2@5 [e2,f#2,c4]@3 [b1,e2]@5 [e2,f#2]@3 d2@5 [e2,a#3]@3 [e2,f#2]@5 b1@3 d2@5 [e2,f#2]@3, g4@16 ~@13 [e4,g4,c5]@11 ~@5 a#4@8 ~@3 [c4,f4,c5]@8, [e4,d5] g5 ~@6]/2", // E5 Esus2 F#m7b5 Cmaj7 F#m7b5 E5 Esus2 Edim …
  T: "[b1,e2]@5 e2@3 d2@5 e2@3 e2@5 b1@3 d2@5 e2@3, [a3,d4,f4,a4]@15 ~, d2 ~@3", // E5 Dm
  U: "~@5 e2@3 d2@5 e2@3 e2@5 b1@3 d2@5 e2@3, [b1,e2]@5 ~@27, ~ a4@14 ~", // E5
  V: "[[c2,e2]@5 e2@3 d2@5 e2@3 e2@5 c2@3 ~@5 c5@8 a#4@11 g4@15 ~, g4@12 ~ a#4@15 ~@36, ~@3 d2 ~@4]/2", // C
  W: "[~@7 e2, d2@61 ~@3]/2", X: "b1@5 [b1,e2]@3 d2@5 [e2,f#2]@3 [b1,e2]@5 [b1,f#2]@3 d2@5 e2@3, a2@15 ~",
  Y: "[b1,e2,f#2]@5 [b1,e2]@3 d2@5 [e2,f#2]@3 [b1,e2]@5 [b1,f#2]@3 d2@5 e2@3, g2@23 ~@9", // Bsus4 E5 Esus2 E5 B5
  Z: "[b1,e2,f#2]@5 [b1,e2]@3 d2@5 [e2,f#2]@3 [b1,e2]@5 [b1,f#2]@3 d2@5 [e2,f5]@3, [a4,d5]@27 ~@5, d4 ~", // Bsus4 E5 Esus2 E5 B5 Fmaj7 D5
  AA: "[b1,e2,f#2]@5 [b1,e2]@3 d2@5 [e2,f#2]@3 [b1,e2]@5 [b1,f#2]@3 d2@5 e2@3, e5@15 ~", // Bsus4 E5 Esus2 E5 B5
  AB: "[b1,e2,f#2]@5 [b1,e2]@3 d2@5 [e2,f#2]@3 [b1,e2]@5 [b1,f#2]@3 d2@5 [e2,c5]@3, a4@27 ~@5, [c4,f4] ~, a3 ~@3", // Bsus4 E5 Esus2 E5 B5 C F5
  AC: "[b1,e2,f#2]@5 [b1,e2]@3 d2@5 [e2,f#2,c#4]@3 [b1,e2]@5 [b1,f#2]@3 d2@5 e2@3, [c#4,g#4]@13 g4@18 ~", // Bsus4 E5 F#7 E5 B5 C#5
  AD: "[b1,e2,f#2]@5 [b1,e2]@3 d2@5 [e2,f#2]@3 [b1,e2]@5 [b1,f#2]@3 d2@5 [e2,c5]@3, a4@27 ~@5, f4@3 ~, c4 ~, a3 ~@3", // Bsus4 E5 Esus2 E5 B5 C
  AE: "f#2 ~ f#2!2, [g#3,c#4,g#4]@15 ~", // C#5
  AF: "c2@5 f#2@3 d2@5 [d2,f4,a4]@3 [d2,f#2,g4,b4]@5 c2@3 d2@5 [d2,f#2]@3, [f4,a4] ~@2 [f4,a4]", // Dm Gmaj7 D F
  AG: "c2@5 f#2@3 d2@5 d2@3 [d2,f#2]@5 c2@3 d2@5 [d2,f#2,a4,c5]@3, [e4,a4,c5]@2 [c4,f4,a4]@5 ~", // D D7 Am F
  AH: "[c2@5 f#2@3 d2@5 [d2,g4,b4]@3 [d2,f#2,e4,g4]@5 c2@3 d2@5 [d2,f#2]@3 c2@5 f#2@3 d2@5 d2@3 [d2,f#2]@5 c2@3 d2@5 [d2,f#2]@3, g4@12 ~@9 [c4,e4]@8 [a#3,d4,g4,a#4]@15 ~ [a#3,d4,f4,a4]@11 [g4,a#4]@8]/2", // G Em7 D C Gm A#maj7 Gm
  AI: "[b1,e2]@5 e2@3 d2@5 e2@3 e2@5 b1@3 d2@5 e2@3, [d4,f4,a4]@15 ~", // E5 Dm
  AJ: "[b1,e2]@5 e2@3 d2@5 e2@3 e2@5 b1@3 d2@5 e2@3", AK: "[b1,e2]@5 e2@3 d2@5 e2@3 ~@5 b1@3 c#3@8, ~@2 e2 ~",
})).s("gm_tenor_sax").gain(0.19)

// chords · tenor sax · "Tenor Saxophone" · soft notes
const tenor_sax_soft = note(`<
  ~@17 A B C D E F G H ~ I J@2 ~ K L M ~@4 N O P Q N O R S T U V S N W X ~@12
>`.pickRestart({
  A: "~@8 f5@5 ~@8 f5@3 ~@8, d3", B: "f3", C: "g3", D: "c4@16 a#3@13 a3@3", E: "~@8 f5@5 ~@8 f5@3 ~@5 a4@3, d4@29 ~@3",
  F: "f4 ~@3", G: "~ a3", H: "c4@16 a#3@13 c4@3", I: "f3@8 a3@16 ~@5 c4@3", J: "[~@16 a3@13 c4@16 ~@3 a#3@13 d4@2 ~]/2",
  K: "f3@5 c4@24 c4@3", L: "~@16 a3@13 ~@3", M: "c4 a#3",
  N: "[a3,c#4,f#4]@16 [a3,c#4,d4,f#4]@5 ~@6 c4@2 d4@3, ~@21 e4@5 ~@6, ~@3 [a3,c#4,f#4]", // F#m Dmaj7 F#m
  O: "[a3,c#4,f#4]@16 [a3,c#4,f#4]@4 ~ [a3,b3,c#4,f#4]@3 c4@3 e4@2 [a3,c#4,f#4,g4]@3", // F#m
  P: "a3@2 a3@2 [a3,f4] ~ [a3,c4,f4]@2, [c4,f4]@2 c4 ~", // Dm F F5
  Q: "~@8 a#4@8 [g3,c#4,e4,c#5]@5 ~@3 a#4@5 c#5@3, [g3,c#4,e4]@2 ~ [g3,c#4,e4]", // C#dim
  R: "~@2 a3@2 [a3,f4] ~ [a3,c4,f4]@2, ~@2 c4 ~", // Dm F
  S: "~@8 a#4@8 [g3,c#4,e4,c#5]@5 a#4@3 ~@5 c#5@3, [g3,e4]@2 ~ [g3,c#4,e4]", // C#dim C C#dim
  T: "[g3,c#4,e4]@16 [g3,c#4,d4,e4]@5 e4@3 ~@3 c4@2 d4@3, ~@3 [g3,c#4,e4]", // C#dim
  U: "[a3,c#4,f#4]@16 [a3,c#4,f#4]@4 ~ b3@3 c4@3 e4@2 g4@3, ~@3 [a3,c#4,f#4]", // F#m
  V: "~@8 a3@8 [a3,c#4,f#4]@4 ~ [a3,c#4,f#4]@3 ~@5 [a3,c#4,f#4]@3, [c#4,f#4]@2 c4 f4", // F#m F#5
  W: "[a3,c4,f4]@16 [a3,c4,f4]@4 ~ b3@3 ~@3 e4@2 g4@3, ~@3 [a3,c4,f4]", // F
  X: "~@8 a3@8 [f3,a3,c4,f4]@5 [f3,a3,c4,f4]@3 f4@5 [f3,a3,c4,f4]@3, f3 ~", // F
})).s("gm_tenor_sax").gain(0.12)

// other · baritone sax · "Baritone Saxophone"
const baritone_sax = note(`<
  A B C D E B C F A B C F A B C F G H I J K H I J L M N O@2 ~ P Q R ~@4 S T U V W X Y Z W X Y Z S T U ~ AA I J K H I J L
  AB@2 AC
>`.pickRestart({
  A: "d3@16 ~@13 d3@3", B: "f2@8 d2@16 ~@5 d2@3", C: "d3@16 ~@13 f3@3", D: "d2@8 f2@16 ~@5 f3@3", E: "d3@13 f3@16 d3@3",
  F: "d2@8 f2@16 ~@5 f2@3", G: "d3@8 c4@13 a3@3 g3@2 ~@3 f3@3", H: "d3@29 a3@3", I: "f3@8 a3@21 f3@3", J: "g3 a2",
  K: "c3@16 a#2@13 a2@3", L: "c3@16 a#2@13 c3@3", M: "d3 ~@7", N: "f3@8 a3@16 ~@5 c3@3",
  O: "[g3@16 a2@13 c3@19 a#2@13 d3@2 ~]/2", P: "f3@5 c4@24 c3@3", Q: "g3@16 a2@13 c3@3", R: "c3 a#2", S: "d3 f#3 a3 c4",
  T: "d4 c4 a3 f#3", U: "f2 a2 c3 e3", V: "c#3 e3 g3 a#3", W: "d3@13 a3@3 d3@13 f#3@3", X: "d3@16 f#3@13 a2@3",
  Y: "a3@16 a#3@13 c3@3", Z: "c#3@16 c3@8 a#2@5 a2@3", AA: "d2@29 a2@3", AB: "[d3@7 a2]/2", AC: "d2",
})).s("gm_baritone_sax").gain(0.25)

// other · trumpet · "B♭ Trumpet 2"
const trumpet = note(`<
  ~@8 A B@3 A C@3 D E F G@2 H F G@2 I@2 J@2 K@2 L@2 ~@4 M N O P M N O Q R S T@2 U V ~@13
>`.pickRestart({
  A: "~@21 f#4@3 a4@5 b4@3", B: "[d5@13 c5@11 b4@5 c5@16 a4@16 g4@16 e4@19]/3",
  C: "[g4@13 c5@16 a4@16 e4@16 c4@16 a3@19]/3", D: "~@5 c5@27", E: "f4@8 ~@5 f4@3 g4@5 ~@3 f4@8", F: "a4@8 f4@21 a4@3",
  G: "[g4@13 g4@3 e4@5 c4@8 g4@16 f4@11 g4@8]/2", H: "f4@8 ~@5 f4@3 g4@5 ~@11",
  I: "[f4@13 e4@2 ~ f4@8 f4@5 a4@8 e4@24 a4@3]/2", J: "[g4@8 e5@8 g4@5 g4@8 g4@16 f4@11 f4@5 d5@2 ~]/2",
  K: "[~@13 f4@2 ~ a4@8 a4@5 a4@8 f4@19 ~@5 a4@3]/2", L: "[g4@8 g5@8 c5@5 c5@3 ~@5 g4@11 ~@5 a#3@8 ~@3 f4@8]/2",
  M: "~@16 d4@5 e4@5 ~ c4@2 d4@3", N: "a3@16 ~@5 b3@3 c4@3 e4@2 g4@3", O: "~ a3 c4 f4",
  P: "~@8 [a#4,a#5]@8 [c#5,c#6]@5 ~@3 [a#4,a#5]@5 [c#5,c#6]@3", Q: "~@8 a#4@8 c#5@5 a#4@3 ~@5 c#5@3",
  R: "d4@24 c#4 c4@7", S: "a4@13 f#4@11 g4@8", T: "[a4@8 a#4@5 a4@11 c4@5 f5@11 g4@16 g#4@5 a4@3]/2",
  U: "d5@24 c#5 c5@7", V: "a4@13 f#4@11 d4@8",
})).s("gm_trumpet").gain(0.25)

// other · distortion guitar · "Lead Guitar"
const distortion_guitar = note("<~@37 A B C D A B C E A B C E A B C ~@12>".pickRestart({
  A: "~@16 d4@5 e4@5 ~ c4@2 d4@3", B: "a3@16 ~@5 b3@3 c4@3 e4@2 g4@3", C: "~ a3 c4 f4",
  D: "~@8 a#4@8 c#5@5 ~@3 a#4@5 c#5@3", E: "~@8 a#4@8 c#5@5 a#4@3 ~@5 c#5@3",
})).s("gm_distortion_guitar").gain(0.3)

// chords · marimba · "Marimba (Grand Staff)"
const marimba = note(`<
  A B C D E B C F G H@3 I J@3 K L M N@2 L M O@2 P@2 Q@2 R@2 S@2 T U@3 ~@4 V W X Y V W X Y V W X Z AA AB AC@2 AA AB AC@2
  T ~@2
>`.pickRestart({
  A: "d3@16 ~@13 d3@3", B: "f3@8 d3@16 ~@5 d3@3", C: "d3@16 ~@13 f3@3", D: "d3@8 f3@16 ~@5 f4@3", E: "d3@13 f3@16 d3@3",
  F: "d3@8 f3@16 ~@5 f3@3", G: "d4@16 ~@5 b3@3 d4@5 [d4,e4]@3",
  H: "[f3@8 ~@5 f4@11 e4@5 d3@3 ~@13 d4@16 f3@3 d3@8 ~@21 f3@3, g4@13 ~@16 f4@16 ~@16 c4@16 a3@19, ~ d3@2 ~ d3@2 ~@3 f3@2 ~]/3",
  I: "d3@16 ~@5 b3@3 d4@5 [d3,e4]@3", // Dsus2
  J: "[f3@8 ~@5 [a4,c5,e5]@16 d3@3 ~@13 e4@16 f3@3 d3@8 ~@21 f3@3, g4@13 ~@16 [f4,a4,c5]@16 ~@16 c4@16 a3@19, ~ d3@2 ~ d3@2 ~@3 f3@2 ~]/3", // Am F
  K: "~@5 g5@3 c4@13 a3@3 g3@2 ~@3 f3@3, d3 g5@3, ~@5 [g4,c5]@27", // C5
  L: "[f4,a4]@8 ~@5 [f4,a4]@3 [g4,b4]@5 ~@8 a3@3, d3@29 ~@3, ~@3 [f4,a4]", // F G F
  M: "[f3,e4,a4,c5]@8 [a3,c4,f4,a4]@21 [f3,a4,c5]@3", // Fmaj7 F
  N: "[g4@13 [g4,b4]@3 [e4,g4]@5 [c4,e4]@8 ~@32 a2@3, g3@16 a2@16 c3@16 a#2@13 ~@3, ~@29 [d4,g4,a#4]@16 [d4,f4,a4]@11 [g4,a#4]@8]/2", // G Em C Gm Dm Gm
  O: "[g4@13 [g4,b4]@3 [e4,g4]@5 [c4,e4]@8 ~@32 c3@3, g3@16 a2@16 c3@16 a#2@13 ~@3, ~@29 [d4,g4,a#4]@16 [d4,f4,a4]@11 [g4,a#4]@8]/2", // G Em C Gm Dm Gm
  P: "[[d4,f4,a4]@13 [e4,f4]@2 ~ [f4,a4]@8 [f4,a4]@5 ~@11 a3@16 ~@5 [c3,e4,a4,c5]@3, d3@4 ~@25 [e4,a4,c5]@8 [e4,a4]@24 ~@3, ~@4 f3 ~@3]/2", // Dm Fmaj7 F Am A5
  Q: "[[e4,g4,b4]@8 e5@8 [g4,c5]@5 [e4,g4,e5]@8 [e4,g4,c5]@16 ~@11 [f4,c5]@5 [d4,d5]@2 ~, g3@16 a2@13 c3@19 a#3@13 ~@3, ~@45 [c4,f4,a4]@11 ~@8]/2", // Em C5 Em C F5 D F
  R: "[~@13 f4@2 ~ a4@8 a4@5 ~@3 f3@5 [f4,c5]@19 ~@5 [c3,e4,a4,c5]@3, ~@29 [e4,a4,e5]@8 c4@24 ~@3]/2", // F5 Am A5
  S: "[[e4,g4,d5]@8 g5@8 [c5,e5]@5 [c5,g5]@3 ~@5 c3@3 ~@24 [c4,f4,c5]@8, g3@16 a2@13 [e4,g4,c5]@11 ~@5 [a#3,a#4]@8 ~@11, ~@2 c3 a#2]/2", // Em7 C C5 F5 C A#
  T: "[d4,f4,a4]", U: "[~@2 a4@30 g4@13 a#4@16 c5@8 a#4@11 g4@16, d3]/3", V: "[d4,a4,d5]@29 f5@3", W: "e5",
  X: "[a3,c4,f4,a4]@29 c5@3", Y: "[c#4,g#4]@13 [c#4,g4]@19", Z: "[g#3,c#4,g#4]",
  AA: "[f4,a4]@8 ~@5 [f4,a4]@3 [g4,b4]@5 ~@3 [f4,a4]@8", AB: "[e4,a4,c5]@8 [c4,f4,a4]@21 [a4,c5]@3",
  AC: "[g4@13 [g4,b4]@3 [e4,g4]@5 [c4,e4]@8 [a#3,d4,g4,a#4]@16 [a#3,d4,f4,a4]@11 [g4,a#4]@8]/2", // G Em C Gm A#maj7 Gm
})).s("gm_marimba").gain(0.25)

// bass · acoustic bass · "Double Bass"
const bass = note(`<
  A B C D E B C F A B C F A B C F G H I J K H I J L M N O@2 ~ P Q@2 ~@4 R S T U V W X Y ~@19
>`.pickRestart({
  A: "d2@16 ~@13 d2@3", B: "f1@8 d1@16 ~@5 d1@3", C: "d2@16 ~@13 f2@3", D: "d1@8 f1@16 ~@5 f2@3", E: "d2@13 f2@16 d2@3",
  F: "d1@8 f1@16 ~@5 f1@3", G: "d2@8 c3@13 a2@3 g2@2 ~@3 f2@3", H: "d2@29 a2@3", I: "f2@8 a2@21 f2@3", J: "g2 a1",
  K: "c2@16 a#1@13 a1@3", L: "c2@16 a#1@13 c2@3", M: "d2 ~@7", N: "f2@8 a2@16 ~@5 c2@3",
  O: "[g2@16 a1@13 c2@19 a#1@13 d2@2 ~]/2", P: "f2@5 c3@24 c2@3", Q: "[g2@16 a1@13 c2@19 a#1@16]/2", R: "d2 f#2 a2 c3",
  S: "d3 c3 a2 f#2", T: "f1 a1 c2 e2", U: "c#2 e2 g2 a#2", V: "d2@13 a2@3 d2@13 f#2@3", W: "d2@16 f#2@13 a1@3",
  X: "a2@16 a#2@13 c2@3", Y: "c#2@16 c2@8 a#1@5 a1@3",
})).s("gm_acoustic_bass").gain(0.45)

// bass · acoustic bass · "Double Bass" · soft notes
// … 10 more lines

More by C418