Strudelify

mars the bringer of war

Gustav Holst

KeyC minorTempo144 bpm
0:00/0:00
// mars the bringer of war — Gustav Holst
// 144 bpm, 5/4, key C minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (5/4 at bar 1, 2/4 at bar 93, 5/2 at bar 93, 5/4 at bar 119, ...) are rendered on a constant 5/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5876895; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 195 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(144/5)

// Notation: c3@3 lasts 3 steps · ~ is a rest · "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 · trombone · "Trombone 1"
const trombone = note(`<
  ~@13 A@3 ~@6 B C D@4 E@4 F G@2 H@2 I@2 J@3 ~@2 K@2 ~@3 L@2 ~@2 M N ~@2 O@2 ~@2 P@2 Q@2 ~@6 R ~ S T U V ~@2 W X W Y ~ Z
  AA@2 AB AC@2 AD@2 AE ~@22 AF AG ~@4 AH@5 AI@6 AJ@3 ~@3 AK AL@3 AM ~@2 AN AO@6 ~@4 AP@3 AQ ~ AR@2 AS AT@2 ~ AU@2 AV ~
  AW@3 ~ AX@4 AY@3 ~@3 AZ BA BB BC BD BE BF@2 BG@2
>`.pickRestart({
  A: "[ab4@53 ~@19]/3", B: "~@7 bb4@5", C: "a4@7 ~@5", D: "g2 ~ g2!2 ~ g2@3 ~@2 g2@3 ~ g2@2 ~ g2@2 g2@3 ~@2",
  E: "[b3@19 ~@5]/2", F: "b3@7 ~@5", G: "gb4@19 ~@4 gb4", H: "[gb4@14 ~@4 gb4 gb4@10 ~@3 gb4 ~ gb4@5 ~@8 eb4]/2",
  I: "[gb4@8 eb4 ~ gb4@8 eb4 gb4@8 ~ eb4 gb4@8 eb4 gb4@8 ~ gb4]/2", J: "f4/3",
  K: "[ab4@7 g4@2 ~ gb4@7 g4@2 ab4@7 bb4@2 ~ c5@7 d5@2 eb5@7 ~ d5@2]/2",
  L: "[ab3@7 g3@2 ~ gb3@7 g3@2 ab3@7 bb3@2 ~ c4@7 d4@2 eb4@7 ~ d4@2]/2", M: "g4@7 gb4@2 ~ g4@7 e4@2 gb4@2 ~@3",
  N: "a4@7 ab4@2 ~ a4@7 gb4@2 ab4@2 ~@3", O: "[gb4@7 g4@2 ~ ab4@7 bb4@2 c5@7 d5@2 ~ eb5@7 d5@2 bb4@7 ~ a4@2]/2",
  P: "b3@7 bb3@2 ~ b3@2 c4@2 db4@7 ~ c4@2", Q: "[b3@7 bb3@2 ~ b3@7 c4@2 db4@7 eb4@2 ~ f4@7 g4@2 ab4@7 ~ g4@2]/2",
  R: "b3@2 ~@3 b3@2 ~@3 d4@2 ~@2 b3@2 ~@3 b3@2 ~@3", S: "~@19 bb3@2 ~ f4@2, ~@21 d4@2 ~",
  T: "ab4@5 ab4@5 ab4@4 ab4@2 g4@2 ab4 ab4@2 ~ ab4@2, ~@21 g4@2 ~", U: "b4@10 ab4@3 ab4 b4@10", V: "db5@10 e5@5 ~@9",
  W: "f4@10 c4@3 c4 f4@10", X: "g4", Y: "a4", Z: "c4@5 c4@5 c4@4 c4@2 b3@2 c4 c4@2 ~ c4@2, ~@21 b3@2 ~",
  AA: "eb4@10 c4@3 c4 eb4@5 c4@5", AB: "e4@10 c4@3 c4 e4@5 c4@5", AC: "f4@10 c4@3 c4 f4@5 c4@5",
  AD: "a4@10 e4@3 e4 a4@5 e4@5", AE: "b4@10 b4 ~@13", AF: "~@14 ab4@7 ~ a4@2", AG: "c5@7 b4@2 ~ bb4@7 b4@2 ~@5",
  AH: "[~@19 g3@38 ~ d4@9 db4@53]/5", AI: "[~@19 g3@38 ~ d4@9 db4@14 ~ ab3@9 g3@14 ~ d4@9 db4@14 ~ ab3@9 g3@5]/6",
  AJ: "[~@10 d4@9 db4@48 ~@5]/3", AK: "~@19 g3 ~ g3!2 ~", AL: "g3@3 ~@2 g3@3 ~@2 g3@2 g3@2 g3@3 ~@2 g3 ~ g3!2 ~",
  AM: "g3@3 ~@2 g3@3 ~@2 g3@2 g3@2 g3@3 ~@7", AN: "~@19 g3@5",
  AO: "[g3@5 g3@5 ~ gb3@2 g3 g3@2 gb3@2 ~ bb3@10 g3@2 ~ g3 ~ bb3@4 g3@5 bb3@10 g3@2 ~ g3 ~ bb3@4 g3@5 b3@10 g3@2 ~ g3 ~ b3@4 g3@5 c4@10 g3@2 ~ g3 ~ c4@4 g3@5 c4@10 g3@2 ~ g3 ~ c4@4 g3@5 c4@2 ~@3, ~@5 g3 ~@3 g3 ~@62]/6",
  AP: "[~@19 d5@7 db5@2 ~ d5@7 b4@2 db5@2 ~@3 d5@7 db5@2 ~ d5@7 b4@2 bb4@7 ~ b4@2]/3",
  AQ: "gb4@7 g4@2 ~ db4@7 d4@2 ~@5", AR: "[~@19 ab3@7 g3@2 ~ gb3@7 g3@2 ab3@7 ~ bb3@2]/2",
  AS: "c4@7 d4@2 ~ eb4@7 d4@2 ~@5", AT: "[~@19 a4@7 ab4@2 ~ a4@7 gb4@2 g4@2 ~@8]/2",
  AU: "[~@19 db4@7 d4@2 ~ eb4@7 f4@2 g4@7 ~ a4@2]/2", AV: "bb4@7 a4@2 ~ f4@7 e4@2 ~@5",
  AW: "[~@19 gb4@7 f4@2 ~ gb4@2 g4@2 ~ ab4@7 g4@2 gb4@7 f4@2 ~ gb4@2 g4@2 ~ ab4@7 g4@2 ~@5]/3", AX: "[~@19 g4@77]/4",
  AY: "[f4@10 b3@9 g4@38 ~ f4@10 ~@4]/3", AZ: "g4@3 g4@3 g4@3 ~ g4@10 ~@4", BA: "~@14 g4@5 g4@5", BB: "g4@10 ~@9 g4@5",
  BC: "g4@5 g4@9 g4@3 ~ g4@3 g4@3", BD: "g4@5 ~@7", BE: "~@5 g4@9 g4@10", BF: "[~@19 g4@10 g4@9 g4@10]/2",
  BG: "[~@10 g3@29 ~@9]/2",
})).s("gm_trombone").gain(0.45)

// other · trombone · "Trombone 1" · soft notes
const trombone_soft = note("<A@2 ~@106 B@2 C ~ B@2 D@2 ~@67 E@2 ~@10>".pickRestart({
  A: "g3 ~ g3!2 ~ g3@3 ~@2 g3@3 ~ g3@2 ~ g3@2 g3@3 ~@2", B: "[~@19 c4@7 b3@2 ~ bb3@7 b3@2 c4@7 ~ d4@2]/2",
  C: "eb4@7 e4@2 ~ f4@7 e4@2 ~@5", D: "[f4@7 e4@2 ~ eb4@7 e4@2 ab4@7 g4@2 ~ gb4@7 g4@2 ~@10]/2", E: "[~@19 gb4@29]/2",
})).s("gm_trombone").gain(0.2)

// other · trombone · "Trombone 2"
const trombone_2 = note(`<
  ~@20 A B C D E ~@2 F G F G F H G ~@2 I J@2 K@3 ~@2 L@2 ~@3 M@2 ~@2 N O ~@2 P@2 ~@2 Q@2 R@2 ~@2 S T U S V U S ~@2 W ~@2
  X ~ X ~@8 Y@2 Z AA AB AA AB AA AB AA AB AA AB AA AB AA AB AA AC AD AE ~ AF AD AE ~@2 AG ~@3 AH@5 AI@6 AJ@3 AK@5 ~@2 AL
  ~@8 AM@2 AN AM@2 AN ~@2 AO@2 AP ~ AQ@2 AR@2 AS ~ AT@2 AU ~ AV@2 AW ~@5 AX@3 AY AZ BA BB BC BD BE BF@2 BG@2
>`.pickRestart({
  A: "db3@7 bb3@5", B: "a3@7 e4@5", C: "db4@7 f4@5", D: "e4@7 e4@5", E: "eb4@19 ~@5", F: "~@7 db5@5", G: "b4 ~@11",
  H: "b4 ~@6 db5@5", I: "~@7 gb4@5", J: "gb4/2", K: "db4/3",
  L: "[f4@7 e4@2 ~ eb4@7 e4@2 f4@7 g4@2 ~ a4@7 b4@2 c5@7 ~ b4@2]/2",
  M: "[f3@7 e3@2 ~ eb3@7 e3@2 f3@7 g3@2 ~ a3@7 b3@2 c4@7 ~ b3@2]/2", N: "e4@7 eb4@2 ~ e4@7 db4@2 eb4@2 ~@3",
  O: "gb4@7 f4@2 ~ gb4@7 eb4@2 f4@2 ~@3", P: "[eb4@7 e4@2 ~ f4@7 g4@2 a4@7 b4@2 ~ c5@7 b4@2 g4@7 ~ gb4@2]/2",
  Q: "ab3@7 g3@2 ~ ab3@2 a3@2 bb3@7 ~ a3@2", R: "[ab3@7 g3@2 ~ ab3@7 a3@2 bb3@7 c4@2 ~ db4@7 eb4@2 db4@7 ~ c4@2]/2",
  S: "bb3@2 ~@3 bb3@2 ~@3 bb3@2 ~@2 bb3@2 ~@3 bb3@2 ~@3", T: "b3@2 ~@3 b3@2 ~@3 bb3@2 ~@2 b3@2 ~@3 b3@2 ~@3",
  U: "b3@2 ~@3 b3@2 ~@3 b3@2 ~@2 b3@2 ~@3 b3@2 ~@3", V: "ab3@2 ~@3 ab3@2 ~@3 bb3@2 ~@2 ab3@2 ~@3 ab3@2 ~@3",
  W: "ab4@2 ~@2 ab4 ~ gb4@2 ab4@2 ~ ab4@2 ~ eb4@10, ~@5 ab4@2 ~@3 b4@2 ~ e4@2 ~@9", X: "eb4@10 eb4@3 eb4 eb4@10",
  Y: "e4@10 e4@3 e4 e4@5 e4@5", Z: "gb4@10 a4 ~@3 a3@5 ab3 ~ ab3!2 ~", AA: "ab3 ~@11",
  AB: "ab3 ~ ab3 ~@2 ab3@2 ~@12 ab3 ~ ab3!2 ~", AC: "ab3 ~ ab3 ~@2 ab3@2 ~@12 b3 ~ b3!2 ~", AD: "b3 ~@11",
  AE: "b3 ~ b3 ~@2 b3@2 ~@17", AF: "~@19 b3 ~ b3!2 ~", AG: "~@14 g4@7 ~ f4@2", AH: "[~@19 g3@38 ~ d4@9 db4@53]/5",
  AI: "[~@19 g3@38 ~ d4@9 db4@14 ~ ab3@9 g3@14 ~ d4@9 db4@14 ~ ab3@9 g3@5]/6", AJ: "[~@10 d4@9 db4@48 ~@5]/3",
  AK: "[~@10 f3@9 e3@14 ~ a3@9 ab3@14 ~ f4@9 e4@14 ~ db4@9 c4@14 ~@15]/5", AL: "~@10 db4@9 b3@2 ~@3",
  AM: "[~@19 eb4@7 d4@2 ~ db4@7 d4@2 eb4@7 ~ f4@2]/2", AN: "g4@7 a4@2 ~ bb4@7 a4@2 ~@5",
  AO: "[~@19 ab3@7 g3@2 ~ gb3@7 g3@2 ab3@7 ~ bb3@2]/2", AP: "c4@7 d4@2 ~ eb4@7 d4@2 ~@5",
  AQ: "[~@19 g4@7 gb4@2 ~ g4@7 e4@2 gb4@2 ~@8]/2", AR: "[~@19 db5@7 c5@2 ~ db5@7 b4@2 c5@7 ~ a4@2]/2",
  AS: "bb4@7 g4@2 ~ ab4@9 gb4@2 ~@3", AT: "[~@19 eb4@7 e4@2 ~ f4@7 g4@2 a4@7 ~ b4@2]/2",
  AU: "c5@7 b4@2 ~ ab4@7 g4@2 ~@5", AV: "[~@19 gb4@7 f4@2 ~ gb4@7 g4@2 ab4@7 ~ bb4@2]/2",
  AW: "c5@7 d5@2 ~ eb5@7 d5@2 ~@5", AX: "[~@19 g4@38 ~ f4@10 ~@4]/3",
  AY: "eb4 e4 eb4 ~ db4 b3 ~@8 b3 ~ g4 gb4 e4 eb4 ~@4", AZ: "g4@3 g4@3 g4@3 ~ g4@10 ~@4", BA: "~@14 g4@5 g4@5",
  BB: "g4@10 ~@9 g4@5", BC: "g4@5 g4@9 g4@3 ~ g4@3 g4@3", BD: "g4@5 ~@7", BE: "~@5 g4@9 g4@10",
  BF: "[~@19 g4@10 g4@9 g4@10]/2", BG: "[~@10 g3@29 ~@9]/2",
})).s("gm_trombone").gain(0.45)

// other · trombone · "Trombone 2" · soft notes
const trombone_soft_2 = note("<~@2 A@2 ~@4 A@2 ~@2 A@4 ~@94 B@2 C ~@3 D@2 ~@77>".pickRestart({
  A: "g3 ~ g3!2 ~ g3@3 ~@2 g3@3 ~ g3@2 ~ g3@2 g3@3 ~@2", B: "[~@19 c4@7 b3@2 ~ bb3@7 b3@2 c4@7 ~ d4@2]/2",
  C: "e4@7 gb4@2 ~ ab4@7 g4@2 ~@5", D: "[~@19 e4@7 d4@2 ~ db4@7 d4@2 ~@10]/2",
})).s("gm_trombone").gain(0.2)

// other · trombone · "Trombone 3"
const trombone_3 = note(`<
  ~@20 A B C D E ~@2 F G F G F H G ~@2 I J@2 K@3 ~@2 L@2 ~@3 M@2 ~@2 N O ~@2 P@2 ~@2 Q@2 R@2 ~@2 S@2 T S@2 T@2 U ~ V ~ W
  ~@3 X ~@7 Y@2 Z ~@22 AA AB ~ AC AD@2 AE ~@12 AF@8 AG AH@2 ~@6 AI@2 AJ AI@2 AJ ~@2 AK@2 AL ~ AM@2 AN@2 AO ~ AP@2 AQ ~
  AR@2 AS ~@5 AT@3 AU AV AW AX AY AZ BA BB@2 BC@2
>`.pickRestart({
  A: "ab2@7 f3@5", B: "e3@7 a3@5", C: "ab3@7 db4@5", D: "db4@7 db4@5", E: "c4@19 ~@5", F: "~@7 ab4@5", G: "gb4 ~@11",
  H: "gb4 ~@6 ab4@5", I: "~@7 eb4@5", J: "eb4/2", K: "ab3/3",
  L: "[db4@7 c4@2 ~ b3@7 c4@2 db4@7 eb4@2 ~ f4@7 g4@2 ab4@7 ~ g4@2]/2",
  M: "[db3@7 c3@2 ~ b2@7 c3@2 db3@7 eb3@2 ~ f3@7 g3@2 ab3@7 ~ g3@2]/2", N: "c4@7 b3@2 ~ c4@7 a3@2 b3@2 ~@3",
  O: "d4@7 db4@2 ~ d4@7 b3@2 db4@2 ~@3", P: "[b3@7 c4@2 ~ db4@7 eb4@2 f4@7 g4@2 ~ ab4@7 g4@2 eb4@7 ~ d4@2]/2",
  Q: "e3@7 eb3@2 ~ e3@2 f3@2 gb3@7 ~ f3@2", R: "[e3@7 eb3@2 ~ e3@7 f3@2 gb3@7 ab3@2 ~ bb3@7 c4@2 ab3@7 ~ g3@2]/2",
  S: "eb3@2 ~@3 eb3@2 ~@3 eb3@2 ~@2 eb3@2 ~@3 eb3@2 ~@3", T: "d3@2 ~@3 d3@2 ~@3 d3@2 ~@2 d3@2 ~@3 d3@2 ~@3",
  U: "db4@2 ~@3 db4@2 ~@3 db4@2 ~@2 db4@2 ~@3 db4@2 ~@3",
  V: "e4@2 ~@2 e4 ~ b3@2 e4@2 ~ e4@2 b3 b3@10, ~@5 e4@2 ~@3 ab4@2 ~@12",
  W: "~@2 a2@2 ~ c3@2 eb3@2 ~ g3@2 b3@2 d4@2 ~ f4@2 a4@2 ~ c5@2",
  X: "~@14 bb4@2 a4@2 ~ d5@2 ~ d5@2, ~@18 bb4@2 ~ db5@2 ~", Y: "gb3@10 c4@3 c4 c4@5 c4@5", Z: "e4@10 e4 ~@3 e3@5 ~@5",
  AA: "~@12 d4@2 eb4@7 ~ e4@2", AB: "g4@7 gb4@2 ~ f4@7 gb4@2 ~@5", AC: "~@19 g4 ~ g4!2 ~",
  AD: "g4@3 ~@2 g4@3 ~@2 g4@2 g4@2 g4@3 ~@2 g4 ~ g4!2 ~", AE: "g4@3 ~@2 g4@3 ~@2 g4@2 g4@2 g4@3 ~@7",
  AF: "[~@19 db3@14 ~ bb3@9 a3@14 ~ e4@9 db4@14 ~ bb4@9 a4@14 ~ e4@9 eb3@14 ~ c4@9 bb3@14 ~ f4@9 eb4@14 ~ c5@9 bb4@5]/8",
  AG: "~@19 g3@5", AH: "[g3@5 g3@5 ~ gb3@2 g3 g3@2 gb3@2 ~ bb3@10 g3@2 ~ g3 ~ ab4@9 g4@2 ~@3, ~@5 g3 ~@3 g3 ~@14]/2",
  AI: "[~@19 c4@7 b3@2 ~ bb3@7 b3@2 c4@7 ~ d4@2]/2", AJ: "e4@7 gb4@2 ~ g4@7 gb4@2 ~@5",
  AK: "[~@19 f3@7 e3@2 ~ eb3@7 e3@2 f3@7 ~ g3@2]/2", AL: "a3@7 b3@2 ~ c4@7 b3@2 ~@5",
  AM: "[~@19 e4@7 eb4@2 ~ e4@7 db4@2 eb4@2 ~@8]/2", AN: "[~@19 bb4@7 a4@2 ~ bb4@7 ab4@2 a4@7 ~ gb4@2]/2",
  AO: "g4@7 e4@2 ~ eb4@7 d4@2 ~@5", AP: "[~@19 c4@7 db4@2 ~ d4@7 e4@2 gb4@7 ~ ab4@2]/2",
  AQ: "a4@7 ab4@2 ~ f4@7 e4@2 ~@5", AR: "[~@19 eb4@7 d4@2 ~ eb4@7 e4@2 f4@7 ~ g4@2]/2",
  AS: "a4@7 b4@2 ~ ab4@7 g4@2 ~@5", AT: "[~@19 db4@38 ~ db4@10 ~@4]/3", AU: "~@10 eb4 e4 eb4 db4 ~@5 eb4 c4 ~ b3 a3",
  AV: "ab3@3 ab3@3 ab3@3 ~ ab3@10 ~@4", AW: "~@14 ab3@5 ab3@5", AX: "ab3@10 ~@9 ab3@5",
  AY: "ab3@5 ab3@9 ab3@3 ~ ab3@3 ab3@3", AZ: "ab3@5 ~@7", BA: "~@5 ab3@9 ab3@10", BB: "[~@19 ab3@10 ab3@9 ab3@10]/2",
  BC: "[~@10 c3@29 ~@9]/2",
})).s("gm_trombone").gain(0.45)

// other · trombone · "Trombone 3" · soft notes
const trombone_soft_3 = note("<A@2 ~@2 B@2 ~@2 A@2 ~@2 A@4 ~@76 C@8 ~@10 D@2 E ~ F@2 ~@79>".pickRestart({
  A: "g2 ~ g2!2 ~ g2@3 ~@2 g2@3 ~ g2@2 ~ g2@2 g2@3 ~@2", B: "g3 ~ g3!2 ~ g3@3 ~@2 g3@3 ~ g3@2 ~ g3@2 g3@3 ~@2",
  C: "[~@19 ab3@96 ab3@77]/8", D: "[~@19 g3@7 gb3@2 ~ f3@7 gb3@2 g3@7 ~ a3@2]/2", E: "b3@7 db4@2 ~ eb4@7 d4@2 ~@5",
  F: "[~@19 eb4@7 d4@2 ~ db4@7 ~@12]/2",
})).s("gm_trombone").gain(0.2)

// other · trombone · "Trombone 4"
const trombone_4 = note(`<
  ~@13 A@3 ~@4 B C D E F ~@2 G H G H G I H ~@2 J K@2 ~@3 L@2 ~@2 M N@2 ~@2 L@2 ~@2 O@2 ~@2 P@2 ~@4 Q@2 ~@2 R@2 ~ S T U
  ~@2 V ~ W X W X Y@3 Z@4 AA@2 AB ~@21 AC AD AE@2 AF AG@15 AH ~@4 AI@4 AJ@2 AK@2 AL AM@3 AN ~ AO AN ~ AP@3 AQ ~ AR@2 AS
  AT@2 ~ AU@2 AV ~ AW@3 ~ AX@7 ~@3 AY AZ BA BB BC BD BE@2 BF@2
>`.pickRestart({
  A: "[db4@53 ~@19]/3", B: "f2@7 bb2@5", C: "db3@7 e3@5", D: "f3@7 bb3@5", E: "a3@7 a3@5", F: "ab3@19 ~@5",
  G: "~@7 f4@5", H: "eb4 ~@11", I: "eb4 ~@6 f4@5", J: "~@7 b3@5", K: "b3/2",
  L: "[ab3@7 g3@2 ~ gb3@7 g3@2 ab3@7 bb3@2 ~ c4@7 d4@2 eb4@7 ~ d4@2]/2", M: "g4@7 gb4@2 ~ g4@7 e4@2 gb4@2 ~@3",
  N: "[g4@7 gb4@2 ~ g4@7 e4@2 eb4@7 e4@2 ~ b3@7 c4@2 gb3@7 ~ g3@2]/2",
  O: "[db5@7 c5@2 ~ db5@7 b4@2 c5@7 a4@2 ~ bb4@7 g4@2 ab4@7 ~ g4@2]/2",
  P: "[ab3@7 a3@2 ~ bb3@7 b3@2 d4@7 e4@2 ~ f4@7 e4@2 db4@7 ~ b3@2]/2",
  Q: "bb3@2 ~@3 bb3@2 ~@3 bb3@2 ~@2 bb3@2 ~@3 bb3@2 ~@3",
  R: "[b3@2 ~@2 b3 ~ bb3@2 b3@2 ~ b3@2 ~ d3@12 ~@22, ~@5 b3@2 ~@3 d4@2 ~ g3@2 ~@33]/2",
  S: "b3@2 ~@2 b3 ~ bb3@2 b3@2 ~ b3@2 ~ d3@10, ~@5 b3@2 ~@3 d4@2 ~ g3@2 ~@9",
  T: "d4@2 ~@2 d4 ~ db4@2 d4@2 ~ d4@2 ~ f3@10, ~@5 d4@2 ~@3 f4@2 ~ bb3@2 ~@9",
  U: "e3@2 ~@3 e3@2 ~@3 e3@2 ~@2 e3@2 ~@3 e3@2 ~@3",
  V: "ab3@2 ~@2 ab3 ~ gb3@2 ab3@2 ~ bb3@2 ~ e4@6 ~@2 ab3@2, ~@5 ab3@2 ~@3 b3@2 ~ b3@2 ~@6 b3@2 ~",
  W: "c4@10 c4@3 c4 c4@10", X: "bb3", Y: "ab3@2 ~@3 ab3@2 ~@3 ab3@2 ~@2 ab3@2 ~@3 ab3@2 ~@3",
  Z: "c4@2 ~@3 c4@2 ~@3 c4@2 ~@2 c4@2 ~@3 c4@2 ~@3", AA: "~@7 bb3 ~@2 a3 ~ ab3 ~ ab3 ~@9", AB: "c4@10 c4 ~@3 c3@5 ~@5",
  AC: "~@19 b3 ~ b3!2 ~", AD: "b3 ~@11", AE: "[b3 ~ b3 ~@2 b3@2 ~@12 a3@29]/2", AF: "f4@10 a4@9 g3 ~ g3!2 ~",
  AG: "g3@3 ~@2 g3@3 ~@2 g3@2 g3@2 g3@3 ~@2 g3 ~ g3!2 ~", AH: "g3@3 ~@2 g3@3 ~@2 g3@2 g3@2 g3@3 ~@7",
  AI: "[~@10 ab3@9 f3@14 ~ db4@9 c4@14 ~ ab4@9 f4@14 ~@10 g3@5]/4",
  AJ: "[g3@5 g3@5 ~ gb3@2 g3 g3@2 gb3@2 ~ bb3@10 g3@2 ~ g3 ~ f4@9 eb4@2 ~@3, ~@5 g3 ~@3 g3 ~@14]/2",
  AK: "eb4@3 ~@2 eb4@3 ~@2 eb4@3 ~ eb4@3 ~@2 eb4@2 ~@3", AL: "eb4@3 ~@2 eb4@3 ~@2 eb4@3 ~ eb4@3 ~@2 g4@2 ~@3",
  AM: "g4@3 ~@2 g4@3 ~@2 g4@3 ~ g4@3 ~@2 g4@2 ~@3", AN: "g4@3 ~@2 g4@3 ~@2 g4@3 ~ g4@3 ~@7", AO: "~@19 g4@2 ~@3",
  AP: "[~@19 b4@7 bb4@2 ~ b4@7 ab4@2 bb4@2 ~@3 b4@7 bb4@2 ~ b4@7 g4@2 gb4@7 ~ g4@2]/3",
  AQ: "eb4@7 d4@2 ~ a3@7 b3@2 ~@5", AR: "[~@19 f3@7 e3@2 ~ eb3@7 e3@2 f3@7 ~ g3@2]/2", AS: "a3@7 b3@2 ~ c4@7 b3@2 ~@5",
  AT: "[~@19 gb4@7 f4@2 ~ gb4@7 eb4@2 e4@2 ~@8]/2", AU: "[~@19 bb3@7 b3@2 ~ c4@7 d4@2 e4@7 ~ gb4@2]/2",
  AV: "g4@7 gb4@2 ~ d4@7 db4@2 ~@5",
  AW: "[~@19 eb4@7 d4@2 ~ eb4@2 e4@2 ~ f4@7 e4@2 eb4@7 d4@2 ~ eb4@2 e4@2 ~ f4@7 e4@2 ~@5]/3",
  AX: "[~@19 db4@86 ~ gb3@9 db4@38 ~ db4@10 ~@4]/7", AY: "db4@3 db4@3 db4@3 ~ db4@10 ~@4", AZ: "~@14 db4@5 db4@5",
  BA: "db4@10 ~@9 db4@5", BB: "db4@5 db4@9 db4@3 ~ db4@3 db4@3", BC: "db4@5 ~@7", BD: "~@5 db4@9 db4@10",
  BE: "[~@19 db4@10 db4@9 db4@10]/2", BF: "[~@10 g2@29 ~@9]/2",
})).s("gm_trombone").gain(0.45)

// other · trombone · "Trombone 4" · soft notes
const trombone_soft_4 = note(`<
  ~@2 A@2 ~@2 B@2 ~@2 B@2 C ~@3 A@2 ~@80 D@2 E ~@7 F@2 G ~ F@2 H ~@68 I@2 ~@10
>`.pickRestart({
  A: "g2 ~ g2!2 ~ g2@3 ~@2 g2@3 ~ g2@2 ~ g2@2 g2@3 ~@2", B: "g3 ~ g3!2 ~ g3@3 ~@2 g3@3 ~ g3@2 ~ g3@2 g3@3 ~@2",
  C: "~@7 d4@5", D: "[~@19 f3@7 e3@2 ~ eb3@7 e3@2 f3@7 ~ gb3@2]/2", E: "a3@7 ab3@2 ~ g3@7 ab3@2 ~@5",
  F: "[~@19 g3@7 gb3@2 ~ f3@7 gb3@2 g3@7 ~ a3@2]/2", G: "bb3@7 b3@2 ~ c4@7 b3@2 ~@5", H: "c4@7 b3@2 ~ bb3@7 b3@2 ~@5",
  I: "[~@19 eb4@29]/2",
})).s("gm_trombone").gain(0.2)

// other · trombone · "Trombone 6"
const trombone_5 = note(`<
  ~@9 A B C D E@3 F@2 ~@5 G H I J K L@4 M N@2 O P Q R ~@3 S@2 ~@2 T U@2 ~@2 S@2 ~@2 V@2 ~@2 W@2 ~@3 X ~@12 Y Z ~ AA ~ AB
  AC AD AE AF AG AH@2 AI@2 AJ ~@11 AK@5 ~ AL AM AN ~@3 AO@2 AP ~@2 AQ@5 AR@6 AS@3 AT@7 AU ~ AV AW@2 AX AY AZ BA BB ~ BC
  BD ~@4 BE@2 BF ~ BG@2 BH@2 BI ~ BJ@2 BK ~ BL@2 BM ~@5 BN@3 BO BP BQ BR BS BT BU BV@2 BW@2
>`.pickRestart({
  A: "~@7 eb3@5", B: "d3@7 g3@5", C: "g3@7 eb3@5", D: "g3@7 d3@5", E: "[f3@53 ~@19]/3", F: "[db3@19 bb3@5]/2",
  G: "~@14 g2@2 ~ g2@2 g2@3 ~@2", H: "~@7 ab3@5", I: "f3@7 db4@5", J: "c4@7 ab3@5", K: "bb3@7 ~@5", L: "[eb3@19 ~@5]/2",
  M: "eb3@7 ~@5", N: "~@13 g3 g4@10", O: "~@8 g3 ~ g4@14", P: "~@4 g3 g4@8 g3 g4@10", Q: "~@4 g3 g4@8 g3 g4@8 ~ g3",
  R: "g4@8 g3 ~ g4@8 g3 g4@5", S: "[db3@7 c3@2 ~ b2@7 c3@2 db3@7 eb3@2 ~ f3@7 g3@2 ab3@7 ~ g3@2]/2",
  T: "c4@7 b3@2 ~ c4@7 a3@2 b3@2 ~@3", U: "[c4@7 b3@2 ~ c4@7 a3@2 ab3@7 g3@2 ~ e3@7 eb3@2 b2@7 ~ c3@2]/2",
  V: "[gb4@7 f4@2 ~ gb4@7 e4@2 f4@7 d4@2 ~ eb4@7 c4@2 db4@7 ~ c4@2]/2",
  W: "[db3@7 d3@2 ~ eb3@7 f3@2 g3@7 a3@2 ~ bb3@7 a3@2 gb3@7 ~ f3@2]/2", X: "~@7 c3@5", Y: "e3", Z: "eb3",
  AA: "d4@2 ~@2 d4 ~ db4@2 d4@2 ~ e4@2 ~ bb4@6 ~@2 d4@2, ~@5 d4@2 ~@3 f4@2 ~ f4@2 ~@6 f4@2 ~",
  AB: "d4@2 ~@2 d4 ~ db4@2 d4@2 ~ e4@2 f4@2 ~@9, ~@5 d4@2 ~@3 f4@2 ~@12",
  AC: "c4@5 c4@5 c4@4 c4@2 b3@2 c4 c4@2 ~ c4@2, ~@21 b3@2 ~", AD: "eb4@10 c4@3 c4 eb4@10",
  AE: "c4@4 c4 eb4@9 c4@4 c4 eb4@5", AF: "c4@4 c4 e4@9 c4@4 c4 e4@5", AG: "c4@4 c4 f4@9 c4@4 c4 f4@5",
  AH: "c4@4 c4 gb4@9 c4@4 c4 gb4@5", AI: "c4@4 c4 ab4@19", AJ: "gb2 ab2 a2 ~ db3 ~@9 gb2@5 ~@5",
  AK: "[~@19 ab3@96 ~@5]/5", AL: "~@19 b3 ~ b3!2 ~", AM: "b3 ~@11", AN: "b3 ~ b3 ~@2 b3@2 ~@17",
  AO: "[~@19 e3@7 d3@2 ~ db3@7 d3@2 g3@7 ~ f3@2]/2", AP: "c4@7 b3@2 ~ e4@7 d4@2 ~@5",
  AQ: "[~@19 g2@38 ~ d3@9 db3@53]/5", AR: "[~@19 g2@38 ~ d3@9 db3@14 ~ ab2@9 g2@14 ~ d3@9 db3@14 ~ ab2@9 g2@5]/6",
  AS: "[~@10 d3@9 db3@48 g2 ~ g2!2 ~]/3", AT: "g2@3 ~@2 g2@3 ~@2 g2@2 g2@2 g2@3 ~@2 g2 ~ g2!2 ~",
  AU: "g2@3 ~@2 g2@3 ~@2 g2@2 g2@2 g2@3 ~@7", AV: "~@19 g3@5",
  AW: "[g3@5 g3@5 ~ gb3@2 g3 g3@2 gb3@2 ~ bb3@10 g3@2 ~ g3 ~ bb3@4 g3@5 g3@2 ~@2 g3, ~@5 g3 ~@3 g3 ~@14]/2",
  AX: "bb3@10 g3@2 ~ g3 bb3@5 g3@2 ~@2 g3", AY: "b3@10 g3@2 ~ g3 b3@5 g3@2 ~@2 g3",
  AZ: "c4@10 g3@2 ~ g3 c4@5 g3@2 ~@2 g3", BA: "db4@10 g3@2 ~ g3 db4@5 g3@2 ~@2 g3",
  BB: "db4@10 g3@2 ~ g3 db4@5 c4@2 ~@3", BC: "~@19 g3@2 ~@2 g3", BD: "db4@10 g3@2 ~ g3 db4@5 ~@5",
  BE: "[~@19 db3@7 c3@2 ~ b2@7 c3@2 db3@7 ~ eb3@2]/2", BF: "f3@7 g3@2 ~ ab3@7 g3@2 ~@5",
// … 89 more lines

More by Gustav Holst